From 5c76e63f198610d975c40a1af33d4f41e09481f7 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sat, 14 Dec 2024 17:07:36 -0800 Subject: [PATCH] ath79: use nvmem for wrong 3e0 cal size These three devices use AR9287 chips, which have a calibration size of 3d8. Signed-off-by: Rosen Penev Link: https://github.com/openwrt/openwrt/pull/17278 Signed-off-by: Hauke Mehrtens --- .../ath79/dts/ar7241_netgear_wnr2200-16m.dts | 8 ++++++-- .../linux/ath79/dts/ar7241_netgear_wnr2200-8m.dts | 8 ++++++-- .../linux/ath79/dts/ar7241_netgear_wnr2200.dtsi | 1 - .../ath79/dts/ar7241_tplink_tl-wr842n-v1.dts | 15 ++++++++++++--- .../etc/hotplug.d/firmware/10-ath9k-eeprom | 5 ----- 5 files changed, 24 insertions(+), 13 deletions(-) diff --git a/target/linux/ath79/dts/ar7241_netgear_wnr2200-16m.dts b/target/linux/ath79/dts/ar7241_netgear_wnr2200-16m.dts index aa734966d50..95766664862 100644 --- a/target/linux/ath79/dts/ar7241_netgear_wnr2200-16m.dts +++ b/target/linux/ath79/dts/ar7241_netgear_wnr2200-16m.dts @@ -50,6 +50,10 @@ macaddr_art_6: macaddr@6 { reg = <0x6 0x6>; }; + + cal_art_1000: calibration@1000 { + reg = <0x1000 0x3d8>; + }; }; }; }; @@ -65,6 +69,6 @@ }; &ath9k { - nvmem-cells = <&macaddr_art_0 1>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_art_0 1>, <&cal_art_1000>; + nvmem-cell-names = "mac-address", "calibration"; }; diff --git a/target/linux/ath79/dts/ar7241_netgear_wnr2200-8m.dts b/target/linux/ath79/dts/ar7241_netgear_wnr2200-8m.dts index 27c31c3c123..62ee49e9d0b 100644 --- a/target/linux/ath79/dts/ar7241_netgear_wnr2200-8m.dts +++ b/target/linux/ath79/dts/ar7241_netgear_wnr2200-8m.dts @@ -50,6 +50,10 @@ macaddr_art_6: macaddr@6 { reg = <0x6 0x6>; }; + + cal_art_1000: calibration@1000 { + reg = <0x1000 0x3d8>; + }; }; }; }; @@ -65,6 +69,6 @@ }; &ath9k { - nvmem-cells = <&macaddr_art_0 1>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_art_0 1>, <&cal_art_1000>; + nvmem-cell-names = "mac-address", "calibration"; }; diff --git a/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi b/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi index 2c1dd064fec..8dcb8f852c4 100644 --- a/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi +++ b/target/linux/ath79/dts/ar7241_netgear_wnr2200.dtsi @@ -173,7 +173,6 @@ ath9k: wifi@0,0 { compatible = "pci168c,002e"; reg = <0x0000 0 0 0 0>; - qca,no-eeprom; #gpio-cells = <2>; gpio-controller; diff --git a/target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts b/target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts index b0edbf4d06f..83690106887 100644 --- a/target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts +++ b/target/linux/ath79/dts/ar7241_tplink_tl-wr842n-v1.dts @@ -128,6 +128,16 @@ reg = <0x7f0000 0x10000>; label = "art"; read-only; + + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + cal_art_1000: calibration@1000 { + reg = <0x1000 0x3d8>; + }; + }; }; }; }; @@ -141,9 +151,8 @@ reg = <0x0000 0 0 0 0>; #gpio-cells = <2>; gpio-controller; - qca,no-eeprom; - nvmem-cells = <&macaddr_uboot_1fc00 0>; - nvmem-cell-names = "mac-address"; + nvmem-cells = <&macaddr_uboot_1fc00 0>, <&cal_art_1000>; + nvmem-cell-names = "mac-address", "calibration"; }; }; diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom index 675522823f6..89cb3df6f21 100644 --- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom +++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom @@ -83,11 +83,6 @@ case "$FIRMWARE" in meraki,mr12) caldata_extract "art" 0x11000 0xeb8 ;; - netgear,wnr2200-8m|\ - netgear,wnr2200-16m|\ - tplink,tl-wr842n-v1) - caldata_extract "art" 0x1000 0x3e0 - ;; ubnt,powerbridge-m|\ ubnt,rocket-m) caldata_extract "art" 0x1000 0x1000