aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79
diff options
context:
space:
mode:
authorNick Hainke <vincent@systemli.org>2022-12-15 09:44:55 +0100
committerChristian Lamparter <chunkeey@gmail.com>2022-12-15 15:08:09 +0100
commit4845b60525e158f72da56a7468dda9243820c5ea (patch)
tree17f5a64532b4dbd72a03f61b93fc654b233adca5 /target/linux/ath79
parent21495c92dc176a4615e4ecb7a627fdcb31c3aec5 (diff)
downloadupstream-4845b60525e158f72da56a7468dda9243820c5ea.tar.gz
upstream-4845b60525e158f72da56a7468dda9243820c5ea.tar.bz2
upstream-4845b60525e158f72da56a7468dda9243820c5ea.zip
ath79: convert boards based on senao_ap-dual.dtsi WiFis to nvmem-cells
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>
Diffstat (limited to 'target/linux/ath79')
-rw-r--r--target/linux/ath79/dts/ar9344_engenius_eap600.dts16
-rw-r--r--target/linux/ath79/dts/ar9344_engenius_ecb600.dts16
-rw-r--r--target/linux/ath79/dts/ar9344_senao_ap-dual.dtsi3
-rw-r--r--target/linux/ath79/dts/ar9344_watchguard_ap100.dts17
-rw-r--r--target/linux/ath79/dts/ar9344_watchguard_ap200.dts16
-rw-r--r--target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/10-ath9k-eeprom4
6 files changed, 51 insertions, 21 deletions
diff --git a/target/linux/ath79/dts/ar9344_engenius_eap600.dts b/target/linux/ath79/dts/ar9344_engenius_eap600.dts
index 50e0674be4..618660802c 100644
--- a/target/linux/ath79/dts/ar9344_engenius_eap600.dts
+++ b/target/linux/ath79/dts/ar9344_engenius_eap600.dts
@@ -36,14 +36,14 @@
&pcie {
wifi@0,0,0 {
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
+ nvmem-cell-names = "mac-address", "calibration";
};
};
&wmac {
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
+ nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-1)>;
};
@@ -55,4 +55,12 @@
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
+
+ calibration_art_1000: calibration@1000 {
+ reg = <0x1000 0x440>;
+ };
+
+ calibration_art_5000: calibration@5000 {
+ reg = <0x5000 0x440>;
+ };
};
diff --git a/target/linux/ath79/dts/ar9344_engenius_ecb600.dts b/target/linux/ath79/dts/ar9344_engenius_ecb600.dts
index ad32dc9e39..5f6ffb130d 100644
--- a/target/linux/ath79/dts/ar9344_engenius_ecb600.dts
+++ b/target/linux/ath79/dts/ar9344_engenius_ecb600.dts
@@ -30,15 +30,15 @@
&pcie {
wifi@0,0,0 {
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
+ nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-2)>;
};
};
&wmac {
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
+ nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-1)>;
};
@@ -50,4 +50,12 @@
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
+
+ calibration_art_1000: calibration@1000 {
+ reg = <0x1000 0x440>;
+ };
+
+ calibration_art_5000: calibration@5000 {
+ reg = <0x5000 0x440>;
+ };
};
diff --git a/target/linux/ath79/dts/ar9344_senao_ap-dual.dtsi b/target/linux/ath79/dts/ar9344_senao_ap-dual.dtsi
index c963138f6a..c0e95065d5 100644
--- a/target/linux/ath79/dts/ar9344_senao_ap-dual.dtsi
+++ b/target/linux/ath79/dts/ar9344_senao_ap-dual.dtsi
@@ -63,7 +63,6 @@
compatible = "pci168c,0030";
reg = <0x0 0 0 0 0>;
ieee80211-freq-limit = <2402000 2482000>;
- qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
@@ -73,6 +72,4 @@
status = "okay";
ieee80211-freq-limit = <4900000 5990000>;
-
- mtd-cal-data = <&art 0x1000>;
};
diff --git a/target/linux/ath79/dts/ar9344_watchguard_ap100.dts b/target/linux/ath79/dts/ar9344_watchguard_ap100.dts
index d2ebe14979..3cd3fb70e6 100644
--- a/target/linux/ath79/dts/ar9344_watchguard_ap100.dts
+++ b/target/linux/ath79/dts/ar9344_watchguard_ap100.dts
@@ -63,13 +63,18 @@
&pcie {
status = "disabled";
+
+ wifi@0,0,0 {
+ nvmem-cells = <&calibration_art_5000>;
+ nvmem-cell-names = "calibration";
+ };
};
&wmac {
/delete-property/ qca,disable-2ghz;
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
+ nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-2)>;
};
@@ -81,4 +86,12 @@
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
+
+ calibration_art_1000: calibration@1000 {
+ reg = <0x1000 0x440>;
+ };
+
+ calibration_art_5000: calibration@5000 {
+ reg = <0x5000 0x440>;
+ };
};
diff --git a/target/linux/ath79/dts/ar9344_watchguard_ap200.dts b/target/linux/ath79/dts/ar9344_watchguard_ap200.dts
index 0cd966476c..88c7637fc9 100644
--- a/target/linux/ath79/dts/ar9344_watchguard_ap200.dts
+++ b/target/linux/ath79/dts/ar9344_watchguard_ap200.dts
@@ -63,15 +63,15 @@
&pcie {
wifi@0,0,0 {
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
+ nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-1)>;
};
};
&wmac {
- nvmem-cells = <&macaddr_art_0>;
- nvmem-cell-names = "mac-address";
+ nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
+ nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-2)>;
};
@@ -83,4 +83,12 @@
macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>;
};
+
+ calibration_art_1000: calibration@1000 {
+ reg = <0x1000 0x440>;
+ };
+
+ calibration_art_5000: calibration@5000 {
+ reg = <0x5000 0x440>;
+ };
};
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 0001fa1590..9ded116e9d 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,13 +83,9 @@ case "$FIRMWARE" in
;;
"ath9k-eeprom-pci-0000:00:00.0.bin")
case $board in
- engenius,eap600|\
- engenius,ecb600|\
mercury,mw4530r-v1|\
ocedo,raccoon|\
ubnt,unifi-ap-pro|\
- watchguard,ap100|\
- watchguard,ap200|\
winchannel,wb2000)
caldata_extract "art" 0x5000 0x440
;;