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

LEDE Commits lede-commits at lists.infradead.org
Sat Nov 27 16:14:25 PST 2021


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/297bceeecf29e9bfedba0b26c9d0a2cefeda2add

commit 297bceeecf29e9bfedba0b26c9d0a2cefeda2add
Author: Christian Lamparter <chunkeey at gmail.com>
AuthorDate: Sat Oct 16 21:28:52 2021 +0200

    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 at gmail.com>
---
 .../ath79/dts/qca9558_tplink_archer-c7-v1.dts      | 16 +++++++----
 .../ath79/dts/qca9558_tplink_archer-c7-v2.dts      | 31 +++++++++++++++++++---
 .../etc/hotplug.d/firmware/11-ath10k-caldata       |  1 -
 3 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
index dfa64d6ca3..e520a83d40 100644
--- a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
+++ b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v1.dts
@@ -41,10 +41,18 @@
 		reg = <0x020000 0x7d0000>;
 	};
 
-	art: partition at 7f0000 {
+	partition at 7f0000 {
 		label = "art";
 		reg = <0x7f0000 0x010000>;
 		read-only;
+
+		compatible = "nvmem-cells";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		calibration_art_1000: calibration at 1000 {
+			reg = <0x1000 0x440>;
+		};
 	};
 };
 
@@ -60,10 +68,8 @@
 };
 
 &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 {
diff --git a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts
index 9e959a276a..b7ac902003 100644
--- a/target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts
+++ b/target/linux/ath79/dts/qca9558_tplink_archer-c7-v2.dts
@@ -45,6 +45,18 @@
 		label = "art";
 		reg = <0xff0000 0x010000>;
 		read-only;
+
+		compatible = "nvmem-cells";
+		#address-cells = <1>;
+		#size-cells = <1>;
+
+		calibration_art_1000: calibration at 1000 {
+			reg = <0x1000 0x440>;
+		};
+
+		calibration_art_5000: calibration at 5000 {
+			reg = <0x5000 0x844>;
+		};
 	};
 };
 
@@ -59,11 +71,22 @@
 	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 at 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 {
diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
index 7f8c1b1143..1d02da8639 100644
--- a/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
+++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/firmware/11-ath10k-caldata
@@ -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)



More information about the lede-commits mailing list