lantiq: use nvmem for tplink tdw89x0
authorRosen Penev <rosenp@gmail.com>
Mon, 16 Dec 2024 23:19:35 +0000 (15:19 -0800)
committerRobert Marko <robimarko@gmail.com>
Fri, 27 Dec 2024 10:20:19 +0000 (11:20 +0100)
These two devices use different wifi chips and as a result, different
calibration sizes. Move the differences out of dtsi.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16555
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8970.dts
target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw8980.dts
target/linux/lantiq/files/arch/mips/boot/dts/lantiq/vr9_tplink_tdw89x0.dtsi
target/linux/lantiq/xrx200_legacy/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom [deleted file]

index 1ac6440744306fffbb572955d53e5f30e7d8d9f9..4bd70b528ca3bf186b9ce1d3867a54b324c336d6 100644 (file)
@@ -4,3 +4,15 @@
        compatible = "tplink,tdw8970", "tplink,tdw89x0", "lantiq,xway", "lantiq,vr9";
        model = "TP-LINK TD-W8970";
 };
+
+&boardconfig {
+       cal_boardconfig_21000: calibration@21000 {
+               reg = <0x21000 0x440>;
+       };
+};
+
+&ath9k {
+       compatible = "pci168c,0030";
+       nvmem-cells = <&macaddr_ath9k_cal_f100 2>, <&cal_boardconfig_21000>;
+       nvmem-cell-names = "mac-address", "calibration";
+};
index 8221e0d5c5200fce12909f3dc9cbb095421a91dc..a3fd6423364be509d30925fc72477f26eae756ca 100644 (file)
 
        reset-gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
 };
+
+&boardconfig {
+       cal_boardconfig_21000: calibration@21000 {
+               reg = <0x21000 0x3d8>;
+       };
+};
+
+&ath9k {
+       compatible = "pci168c,002e";
+       nvmem-cells = <&macaddr_ath9k_cal_f100 2>, <&cal_boardconfig_21000>;
+       nvmem-cell-names = "mac-address", "calibration";
+};
index c3e69f18fa209de568265f446ac8c5034b44ac4c..be9c8063b452d848daadbe81e00cae02e7161f15 100644 (file)
                #address-cells = <3>;
                device_type = "pci";
 
-               ath9k: wifi@168c,002e {
-                       compatible = "pci168c,002e";
+               ath9k: wifi@0,0 {
                        reg = <0 0 0 0 0>;
                        #gpio-cells = <2>;
                        gpio-controller;
-                       qca,no-eeprom;
                        ieee80211-freq-limit = <2402000 2482000>;
-                       nvmem-cells = <&macaddr_ath9k_cal_f100 2>;
-                       nvmem-cell-names = "mac-address";
                };
        };
 };
                                read-only;
                        };
 
-                       ath9k_cal: partition@7d0000 {
+                       partition@7d0000 {
                                reg = <0x7d0000 0x30000>;
                                label = "boardconfig";
                                read-only;
 
-                               nvmem-layout {
+                               boardconfig: nvmem-layout {
                                        compatible = "fixed-layout";
                                        #address-cells = <1>;
                                        #size-cells = <1>;
diff --git a/target/linux/lantiq/xrx200_legacy/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom b/target/linux/lantiq/xrx200_legacy/base-files/etc/hotplug.d/firmware/12-ath9k-eeprom
deleted file mode 100644 (file)
index c10065d..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-
-[ -e /lib/firmware/$FIRMWARE ] && exit 0
-
-. /lib/functions/caldata.sh
-
-case "$FIRMWARE" in
-       "ath9k-eeprom-pci-0000:00:0e.0.bin" | \
-       "ath9k-eeprom-pci-0000:01:00.0.bin" | \
-       "ath9k-eeprom-pci-0000:02:00.0.bin")
-               board=$(board_name)
-
-               case "$board" in
-                       tplink,tdw8970|\
-                       tplink,tdw8980)
-                               caldata_extract "boardconfig" 0x21000 0x1000
-                               ;;
-                       *)
-                               caldata_die "board $board is not supported yet"
-                               ;;
-               esac
-               ;;
-esac