lantiq: use nvmem for tplink tdw89x0

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>
This commit is contained in:
Rosen Penev 2024-12-16 15:19:35 -08:00
parent 1f4ad1ef7f
commit 0c573b630e
4 changed files with 27 additions and 30 deletions

View 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";
};

View File

@ -27,3 +27,15 @@
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";
};

View File

@ -200,15 +200,11 @@
#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";
};
};
};
@ -244,12 +240,12 @@
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>;

View File

@ -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