ath79: convert OCEDO Raccoon WiFis to nvmem-cells
authorNick Hainke <vincent@systemli.org>
Thu, 15 Dec 2022 08:54:57 +0000 (09:54 +0100)
committerChristian Lamparter <chunkeey@gmail.com>
Thu, 15 Dec 2022 14:45:47 +0000 (15:45 +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 into partition node, removed stale uboot label)
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/ath79/dts/ar9344_ocedo_raccoon.dts
target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom

index 8ac035f125873283cedccca2098179f7d74766e0..8678315a44ac922dd92a04a689a9f55be522861d 100644 (file)
@@ -79,7 +79,7 @@
                        #address-cells = <1>;
                        #size-cells = <1>;
 
-                       uboot: partition@0 {
+                       partition@0 {
                                label = "u-boot";
                                reg = <0x000000 0x040000>;
                                read-only;
                                read-only;
                        };
 
-                       art: partition@ff0000 {
+                       partition@ff0000 {
                                label = "art";
                                reg = <0xff0000 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>;
+                               };
+
+                               macaddr_art_c: macaddr@c {
+                                       reg = <0xc 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>;
-               nvmem-cells = <&macaddr_art_c>;
-               nvmem-cell-names = "mac-address";
-               qca,no-eeprom;
+               nvmem-cells = <&macaddr_art_c>, <&calibration_art_5000>;
+               nvmem-cell-names = "mac-address", "calibration";
                #gpio-cells = <2>;
                gpio-controller;
        };
 &wmac {
        status = "okay";
 
-       mtd-cal-data = <&art 0x1000>;
-       nvmem-cells = <&macaddr_art_6>;
-       nvmem-cell-names = "mac-address";
+       nvmem-cells = <&macaddr_art_6>, <&calibration_art_1000>;
+       nvmem-cell-names = "mac-address", "calibration";
 };
 
 &mdio0 {
                txd-delay = <0>;
        };
 };
-
-&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>;
-       };
-
-       macaddr_art_c: macaddr@c {
-               reg = <0xc 0x6>;
-       };
-};
index 78d6f03876a781eebb24e693035a189b5542ffcb..825e4ff99ce213d13900509a1cf79c75b49cafce 100644 (file)
@@ -83,7 +83,6 @@ case "$FIRMWARE" in
        ;;
 "ath9k-eeprom-pci-0000:00:00.0.bin")
        case $board in
-       ocedo,raccoon|\
        ubnt,unifi-ap-pro|\
        winchannel,wb2000)
                caldata_extract "art" 0x5000 0x440