ath79: convert Atheros DB120 WiFis to nvmem-cells
authorNick Hainke <vincent@systemli.org>
Thu, 15 Dec 2022 08:29:57 +0000 (09:29 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Thu, 15 Dec 2022 14:08:09 +0000 (15:08 +0100)
Pull the calibration data from the nvmem subsystem. This allows us to
move userspace caldata extraction into the device-tree definition.

Signed-off-by: Nick Hainke <vincent@systemli.org>
(merged art-node back into partition-node)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/ath79/dts/ar9344_atheros_db120.dts
target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom

index f0173ebdc798521a8bd2aa6a70f5aa96b72f3936..8811d4f4576baa7a0ac5774fba110773ec50b59e 100644 (file)
                                reg = <0x7e0000 0x010000>;
                        };
 
-                       art: partition@7f0000 {
+                       partition@7f0000 {
                                label = "art";
                                reg = <0x7f0000 0x010000>;
                                read-only;
+
+                               compatible = "nvmem-cells";
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+
+                               macaddr_art_0: macaddr@0 {
+                                       reg = <0x0 0x6>;
+                               };
+
+                               macaddr_art_6: macaddr@6 {
+                                       reg = <0x6 0x6>;
+                               };
+
+                               calibration_art_1000: calibration@1000 {
+                                       reg = <0x1000 0x440>;
+                               };
+
+                               calibration_art_5000: calibration@5000 {
+                                       reg = <0x5000 0x440>;
+                               };
                        };
                };
        };
        ath9k: wifi@0,0 {
                compatible = "pci168c,0030";
                reg = <0x0000 0 0 0 0>;
-               qca,no-eeprom;
+               nvmem-cells = <&calibration_art_5000>;
+               nvmem-cell-names = "calibration";
                ieee80211-freq-limit = <4900000 5990000>;
                #gpio-cells = <2>;
                gpio-controller;
 &wmac {
        status = "okay";
 
-       mtd-cal-data = <&art 0x1000>;
+       nvmem-cells = <&calibration_art_1000>;
+       nvmem-cell-names = "calibration";
 };
 
 &usb {
 &usb_phy {
        status = "okay";
 };
-
-&art {
-       compatible = "nvmem-cells";
-       #address-cells = <1>;
-       #size-cells = <1>;
-
-       macaddr_art_0: macaddr@0 {
-               reg = <0x0 0x6>;
-       };
-
-       macaddr_art_6: macaddr@6 {
-               reg = <0x6 0x6>;
-       };
-};
index 52f015ed5fd9e14be1c6349287f45f192b36d1b3..0001fa159070d0be53739351729b0cdcdb536ce5 100644 (file)
@@ -83,7 +83,6 @@ case "$FIRMWARE" in
        ;;
 "ath9k-eeprom-pci-0000:00:00.0.bin")
        case $board in
-       atheros,db120|\
        engenius,eap600|\
        engenius,ecb600|\
        mercury,mw4530r-v1|\