ath79: convert TP-Link Archer C7v1/2 Wifis to nvmem-cells

For v2, both ath9k (2.4GHz Wifi) and ath10k (5 GHz) driver now
pull the (pre-)calibration data from the nvmem subsystem. v1
is slightly different as only the ath9k Wifi is supported.

This allows us to move the userspace caldata extraction
and mac-address patching for the 5GHZ ath10k supported
wifi into the device-tree definition of the device.

ath9k's nodes are also changed over to use nvmem-cells
over OpenWrt's custom mtd-cal-data property.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This commit is contained in:
Christian Lamparter 2021-10-16 21:28:52 +02:00
parent 49d400191d
commit 297bceeecf
3 changed files with 38 additions and 10 deletions

View File

@ -41,10 +41,18 @@
reg = <0x020000 0x7d0000>; reg = <0x020000 0x7d0000>;
}; };
art: partition@7f0000 { partition@7f0000 {
label = "art"; label = "art";
reg = <0x7f0000 0x010000>; reg = <0x7f0000 0x010000>;
read-only; read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
calibration_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
}; };
}; };
@ -60,10 +68,8 @@
}; };
&wmac { &wmac {
mtd-cal-data = <&art 0x1000>; nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
nvmem-cells = <&macaddr_uboot_1fc00>;
nvmem-cell-names = "mac-address";
}; };
&uboot { &uboot {

View File

@ -45,6 +45,18 @@
label = "art"; label = "art";
reg = <0xff0000 0x010000>; reg = <0xff0000 0x010000>;
read-only; read-only;
compatible = "nvmem-cells";
#address-cells = <1>;
#size-cells = <1>;
calibration_art_1000: calibration@1000 {
reg = <0x1000 0x440>;
};
calibration_art_5000: calibration@5000 {
reg = <0x5000 0x844>;
};
}; };
}; };
@ -59,11 +71,22 @@
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
}; };
&wmac { &pcie1 {
mtd-cal-data = <&art 0x1000>; status = "okay";
nvmem-cells = <&macaddr_uboot_1fc00>; wifi@0,0 {
nvmem-cell-names = "mac-address"; compatible = "qcom,ath10k";
reg = <0 0 0 0 0>;
mac-address-increment = <(-1)>;
nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_5000>;
nvmem-cell-names = "mac-address", "calibration";
};
};
&wmac {
nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_1000>;
nvmem-cell-names = "mac-address", "calibration";
}; };
&uboot { &uboot {

View File

@ -126,7 +126,6 @@ case "$FIRMWARE" in
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1) ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
;; ;;
tplink,archer-c5-v1|\ tplink,archer-c5-v1|\
tplink,archer-c7-v2|\
tplink,tl-wdr7500-v3) tplink,tl-wdr7500-v3)
caldata_extract "art" 0x5000 0x844 caldata_extract "art" 0x5000 0x844
ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1) ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1)