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>
This commit is contained in:
Nick Hainke 2022-12-15 09:44:55 +01:00 committed by Christian Lamparter
parent 21495c92dc
commit 4845b60525
6 changed files with 51 additions and 21 deletions

View file

@ -36,14 +36,14 @@
&pcie { &pcie {
wifi@0,0,0 { wifi@0,0,0 {
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address", "calibration";
}; };
}; };
&wmac { &wmac {
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-1)>; mac-address-increment = <(-1)>;
}; };
@ -55,4 +55,12 @@
macaddr_art_0: macaddr@0 { macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>; reg = <0x0 0x6>;
}; };
calibration_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
calibration_art_5000: calibration@5000 {
reg = <0x5000 0x440>;
};
}; };

View file

@ -30,15 +30,15 @@
&pcie { &pcie {
wifi@0,0,0 { wifi@0,0,0 {
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-2)>; mac-address-increment = <(-2)>;
}; };
}; };
&wmac { &wmac {
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-1)>; mac-address-increment = <(-1)>;
}; };
@ -50,4 +50,12 @@
macaddr_art_0: macaddr@0 { macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>; reg = <0x0 0x6>;
}; };
calibration_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
calibration_art_5000: calibration@5000 {
reg = <0x5000 0x440>;
};
}; };

View file

@ -63,7 +63,6 @@
compatible = "pci168c,0030"; compatible = "pci168c,0030";
reg = <0x0 0 0 0 0>; reg = <0x0 0 0 0 0>;
ieee80211-freq-limit = <2402000 2482000>; ieee80211-freq-limit = <2402000 2482000>;
qca,no-eeprom;
#gpio-cells = <2>; #gpio-cells = <2>;
gpio-controller; gpio-controller;
}; };
@ -73,6 +72,4 @@
status = "okay"; status = "okay";
ieee80211-freq-limit = <4900000 5990000>; ieee80211-freq-limit = <4900000 5990000>;
mtd-cal-data = <&art 0x1000>;
}; };

View file

@ -63,13 +63,18 @@
&pcie { &pcie {
status = "disabled"; status = "disabled";
wifi@0,0,0 {
nvmem-cells = <&calibration_art_5000>;
nvmem-cell-names = "calibration";
};
}; };
&wmac { &wmac {
/delete-property/ qca,disable-2ghz; /delete-property/ qca,disable-2ghz;
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-2)>; mac-address-increment = <(-2)>;
}; };
@ -81,4 +86,12 @@
macaddr_art_0: macaddr@0 { macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>; reg = <0x0 0x6>;
}; };
calibration_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
calibration_art_5000: calibration@5000 {
reg = <0x5000 0x440>;
};
}; };

View file

@ -63,15 +63,15 @@
&pcie { &pcie {
wifi@0,0,0 { wifi@0,0,0 {
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0>, <&calibration_art_5000>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-1)>; mac-address-increment = <(-1)>;
}; };
}; };
&wmac { &wmac {
nvmem-cells = <&macaddr_art_0>; nvmem-cells = <&macaddr_art_0>, <&calibration_art_1000>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address", "calibration";
mac-address-increment = <(-2)>; mac-address-increment = <(-2)>;
}; };
@ -83,4 +83,12 @@
macaddr_art_0: macaddr@0 { macaddr_art_0: macaddr@0 {
reg = <0x0 0x6>; reg = <0x0 0x6>;
}; };
calibration_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
calibration_art_5000: calibration@5000 {
reg = <0x5000 0x440>;
};
}; };

View file

@ -83,13 +83,9 @@ case "$FIRMWARE" in
;; ;;
"ath9k-eeprom-pci-0000:00:00.0.bin") "ath9k-eeprom-pci-0000:00:00.0.bin")
case $board in case $board in
engenius,eap600|\
engenius,ecb600|\
mercury,mw4530r-v1|\ mercury,mw4530r-v1|\
ocedo,raccoon|\ ocedo,raccoon|\
ubnt,unifi-ap-pro|\ ubnt,unifi-ap-pro|\
watchguard,ap100|\
watchguard,ap200|\
winchannel,wb2000) winchannel,wb2000)
caldata_extract "art" 0x5000 0x440 caldata_extract "art" 0x5000 0x440
;; ;;