ath79: improve support for Dongwon T&I DW02-412H
authorSungbo Eo <mans0n@gorani.run>
Mon, 31 Jan 2022 04:21:47 +0000 (13:21 +0900)
committerSungbo Eo <mans0n@gorani.run>
Tue, 1 Feb 2022 05:54:16 +0000 (14:54 +0900)
* Move &nand node to DTSI
* Utilize nvmem for fetching caldata
* Rename build recipe, clean before build
* Simplify KERNEL definition

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
target/linux/ath79/dts/qca9557_dongwon_dw02-412h-128m.dts
target/linux/ath79/dts/qca9557_dongwon_dw02-412h-64m.dts
target/linux/ath79/dts/qca9557_dongwon_dw02-412h.dtsi
target/linux/ath79/image/nand.mk
target/linux/ath79/nand/base-files/etc/hotplug.d/firmware/11-ath10k-caldata

index 2308d82af91924bff300020e0cc51aa0f4dee0f7..199529e70902f0d625079ae288471a0987589277 100644 (file)
@@ -7,28 +7,6 @@
        compatible = "dongwon,dw02-412h-128m", "qca,qca9557";
 };
 
-&nand {
-       status = "okay";
-
-       partitions {
-               compatible = "fixed-partitions";
-               #address-cells = <1>;
-               #size-cells = <1>;
-
-               partition@0 {
-                       label = "current";
-                       reg = <0x0 0x1000000>;
-                       read-only;
-               };
-
-               partition@1000000 {
-                       label = "kernel";
-                       reg = <0x1000000 0x800000>;
-               };
-
-               partition@1800000 {
-                       label = "ubi";
-                       reg = <0x1800000 0x6800000>;
-               };
-       };
+&ubi {
+       reg = <0x1800000 0x6800000>;
 };
index 2420dc11a9c2ae015b361711639bbd5dfacc8cb4..15d3d677a9a739d291a936a538955818e9a8e8e8 100644 (file)
@@ -7,28 +7,6 @@
        compatible = "dongwon,dw02-412h-64m", "qca,qca9557";
 };
 
-&nand {
-       status = "okay";
-
-       partitions {
-               compatible = "fixed-partitions";
-               #address-cells = <1>;
-               #size-cells = <1>;
-
-               partition@0 {
-                       label = "current";
-                       reg = <0x0 0x1000000>;
-                       read-only;
-               };
-
-               partition@1000000 {
-                       label = "kernel";
-                       reg = <0x1000000 0x800000>;
-               };
-
-               partition@1800000 {
-                       label = "ubi";
-                       reg = <0x1800000 0x2800000>;
-               };
-       };
+&ubi {
+       reg = <0x1800000 0x2800000>;
 };
index fd56983432df80a6a1f206f984f9044bf7d7a4f1..498499c14660651caed2b1dfac0f3a4144c5c5a1 100644 (file)
                                read-only;
                        };
 
-                       art: partition@1f0000 {
+                       partition@1f0000 {
                                label = "art";
                                reg = <0x1f0000 0x010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               macaddr_art_0: macaddr@0 {
+                                       reg = <0x0 0x6>;
+                               };
+
+                               cal_art_1000: cal@1000 {
+                                       reg = <0x1000 0x440>;
+                               };
+
+                               cal_art_5000: cal@5000 {
+                                       reg = <0x5000 0x844>;
+                               };
                        };
                };
        };
 };
 
+&nand {
+       status = "okay";
+
+       partitions {
+               compatible = "fixed-partitions";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               partition@0 {
+                       label = "current";
+                       reg = <0x0 0x1000000>;
+                       read-only;
+               };
+
+               partition@1000000 {
+                       label = "kernel";
+                       reg = <0x1000000 0x800000>;
+               };
+
+               ubi: partition@1800000 {
+                       label = "ubi";
+               };
+       };
+};
+
 &pcie0 {
        status = "okay";
 
        wifi@0,0 {
                compatible = "qcom,ath10k";
                reg = <0 0 0 0 0>;
+
+               nvmem-cells = <&macaddr_art_0>, <&cal_art_5000>;
+               nvmem-cell-names = "mac-address", "calibration";
+               mac-address-increment = <4>;
        };
 };
 
 &wmac {
        status = "okay";
 
-       mtd-cal-data = <&art 0x1000>;
-       nvmem-cells = <&macaddr_art_0>;
-       nvmem-cell-names = "mac-address";
+       nvmem-cells = <&macaddr_art_0>, <&cal_art_1000>;
+       nvmem-cell-names = "mac-address", "calibration";
        mac-address-increment = <3>;
 };
 
                        0x54 0x00000000 /* LED Control Register 1 */
                        0x58 0x00000000 /* LED Control Register 2 */
                        0x5c 0x0030c300 /* LED Control Register 3 */
-                       0x7c 0x0000007e /* PORT0_STATUS */
-                       >;
+                       0x7c 0x0000007e /* PORT0_STATUS */
+               >;
        };
 };
 
                rgmii-enabled = <1>;
        };
 };
-
-&art {
-       compatible = "nvmem-cells";
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       macaddr_art_0: macaddr@0 {
-               reg = <0x0 0x6>;
-       };
-};
index b8006c6d0cb9cc77566be085503015ba62bb7567..1e1152551b9c73dea4c48b032d3ab90f37345f07 100644 (file)
@@ -1,7 +1,7 @@
-define Build/dw-headers
-       head -c 4 $@ >> $@.tmp && \
-       head -c 8 /dev/zero >> $@.tmp && \
-       tail -c +9 $@ >> $@.tmp && \
+define Build/dongwon-header
+       head -c 4 $@ > $@.tmp
+       head -c 8 /dev/zero >> $@.tmp
+       tail -c +9 $@ >> $@.tmp
        ( \
                header_crc="$$(head -c 68 $@.tmp | gzip -c | \
                        tail -c 8 | od -An -N4 -tx4 --endian little | tr -d ' \n')"; \
@@ -99,8 +99,8 @@ define Device/dongwon_dw02-412h
   KERNEL_SIZE := 8192k
   BLOCKSIZE := 128k
   PAGESIZE := 2048
-  KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | dw-headers
-  KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma | dw-headers
+  KERNEL := $$(KERNEL) | dongwon-header
+  KERNEL_INITRAMFS := $$(KERNEL)
   UBINIZE_OPTS := -E 5
   IMAGES += factory.img
   IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | \
index 03e225ddde314cf327f2f1b28a0dca2312c8a578..d47e2968535788939de9606637d9e732a870ab79 100644 (file)
@@ -13,11 +13,6 @@ case "$FIRMWARE" in
                caldata_extract "art" 0x5000 0x844
                ath10k_patch_mac $(mtd_get_mac_binary art 0x12)
                ;;
-       dongwon,dw02-412h-64m|\
-       dongwon,dw02-412h-128m)
-               caldata_extract "art" 0x5000 0x844
-               ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) 4)
-               ;;
        glinet,gl-ar750s-nor|\
        glinet,gl-ar750s-nor-nand)
                caldata_extract "art" 0x5000 0x844