ath79: convert TP-Link Archer C7v1/2 Wifis to nvmem-cells
authorChristian Lamparter <chunkeey@gmail.com>
Sat, 16 Oct 2021 19:28:52 +0000 (21:28 +0200)
committerChristian Lamparter <chunkeey@gmail.com>
Sun, 28 Nov 2021 00:13:08 +0000 (01:13 +0100)
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>
target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts
target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata

index dfa64d6ca3d2f6c9f31731558e895da3e387da79..e520a83d405a71a568b035866e2b5b1f114d8efb 100644 (file)
                reg = <0x020000 0x7d0000>;
        };
 
-       art: partition@7f0000 {
+       partition@7f0000 {
                label = "art";
                reg = <0x7f0000 0x010000>;
                read-only;
+
+               compatible = "nvmem-cells";
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               calibration_art_1000: calibration@1000 {
+                       reg = <0x1000 0x440>;
+               };
        };
 };
 
 };
 
 &wmac {
-       mtd-cal-data = <&art 0x1000>;
-
-       nvmem-cells = <&macaddr_uboot_1fc00>;
-       nvmem-cell-names = "mac-address";
+       nvmem-cells = <&macaddr_uboot_1fc00>, <&calibration_art_1000>;
+       nvmem-cell-names = "mac-address", "calibration";
 };
 
 &uboot {
index 9e959a276afa66d0aa43739353cbfba7aa8ce941..b7ac902003cacb587ee8fdecaf766d9a31f99232 100644 (file)
                label = "art";
                reg = <0xff0000 0x010000>;
                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>;
+               };
        };
 };
 
        nvmem-cell-names = "mac-address";
 };
 
-&wmac {
-       mtd-cal-data = <&art 0x1000>;
+&pcie1 {
+       status = "okay";
 
-       nvmem-cells = <&macaddr_uboot_1fc00>;
-       nvmem-cell-names = "mac-address";
+       wifi@0,0 {
+               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 {
index 7f8c1b11431054bfd60e0fe0c951ba60ef2d5872..1d02da863991e7356ea20ad034d6384ae6cb13f9 100644 (file)
@@ -126,7 +126,6 @@ case "$FIRMWARE" in
                ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary info 0x8) -1)
                ;;
        tplink,archer-c5-v1|\
-       tplink,archer-c7-v2|\
        tplink,tl-wdr7500-v3)
                caldata_extract "art" 0x5000 0x844
                ath10k_patch_mac $(macaddr_add $(mtd_get_mac_binary u-boot 0x1fc00) -1)