ath79: Convert calibration data to nvmem
authorJan Forman <jforman@tuta.io>
Mon, 31 Oct 2022 21:15:56 +0000 (22:15 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 20 May 2023 11:43:09 +0000 (13:43 +0200)
For D-link DIR-859 and DIR-869
Replace the mtd-cal-data by an nvmem-cell.
Add the PCIe node for the ath10k radio to the devicetree.
Thanks to DragonBlue for this patch

Signed-off-by: Jan Forman <jforman@tuta.io>
target/linux/ath79/dts/qca9563_dlink_dir-8x9-a1.dtsi
target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom
target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata

index 65948ecb22292d1be5b605cd69c4695775825ba7..556ba604a6b1de19d9bc8181c8ef57ed223f8e0c 100644 (file)
 
 &pcie {
        status = "okay";
+
+       wifi@0,0 {
+               compatible = "qcom,ath10k";
+               reg = <0x0000 0 0 0 0>;
+
+               nvmem-cells = <&calibration_ath10k>, <&macaddr_devdata_94>;
+               nvmem-cell-names = "calibration", "mac-address-ascii";
+       };
 };
 
 &spi {
                                label = "devdata";
                                reg = <0x050000 0x10000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               macaddr_devdata_94: macaddr@94 {
+                                       reg = <0x94 0x11>;
+                               };
+
+                               macaddr_devdata_b0: macaddr@b0 {
+                                       reg = <0xb0 0x11>;
+                               };
                        };
 
                        partition@60000 {
                                reg = <0x070000 0xf80000>;
                        };
 
-                       art: partition@ff0000 {
+                       partition@ff0000 {
                                label = "art";
                                reg = <0xff0000 0x010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               calibration_ath9k: calibration@1000 {
+                                       reg = <0x1000 0x440>;
+                               };
+
+                               calibration_ath10k: calibration@5000 {
+                                       reg = <0x5000 0x844>;
+                               };      
                        };
                };
        };
 &wmac {
        status = "okay";
 
-       qca,no-eeprom;
+       nvmem-cells = <&calibration_ath9k>, <&macaddr_devdata_b0>;
+       nvmem-cell-names = "calibration", "mac-address-ascii";
 };
index 022f5e2947774254230270edc996a0c750f25979..a57479b87cf9ef605ff3148fb1f668a905cb2305 100644 (file)
@@ -30,7 +30,6 @@ case "$FIRMWARE" in
        dlink,dir-842-c1|\
        dlink,dir-842-c2|\
        dlink,dir-842-c3|\
-       dlink,dir-859-a1|\
        nec,wf1200cr|\
        nec,wg1200cr|\
        wd,mynet-n600|\
index 4db311fde0abb4f5426a9c1ad194809d5dbf374c..f0a3755de910609c3adedbf11679c0fc3105ced2 100644 (file)
@@ -68,10 +68,6 @@ case "$FIRMWARE" in
                caldata_extract "art" 0x5000 0x844
                ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary art 0x0) -1)
                ;;
-       dlink,dir-859-a1)
-               caldata_extract "art" 0x5000 0x844
-               ath10k_patch_mac $(mtd_get_mac_ascii devdata "wlan5mac")
-               ;;
        engenius,ecb1200|\
        engenius,ecb1750)
                caldata_extract "art" 0x5000 0x844