[openwrt/openwrt] ath79: convert Winchannel WB2000 WiFis to nvmem-cells

LEDE Commits lede-commits at lists.infradead.org
Thu Dec 15 06:46:54 PST 2022


chunkeey pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/08c114ee16ae5aa3c07241c36e6f76cc7abcd137

commit 08c114ee16ae5aa3c07241c36e6f76cc7abcd137
Author: Nick Hainke <vincent at systemli.org>
AuthorDate: Thu Dec 15 10:08:39 2022 +0100

    ath79: convert Winchannel WB2000 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 at systemli.org>
    (removed mtd-cal-data property, merged art + addr nodes back into
    partition)
    Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
---
 .../linux/ath79/dts/ar9344_winchannel_wb2000.dts   | 43 +++++++++++++---------
 .../etc/hotplug.d/firmware/10-ath9k-eeprom         |  3 --
 2 files changed, 26 insertions(+), 20 deletions(-)

diff --git a/target/linux/ath79/dts/ar9344_winchannel_wb2000.dts b/target/linux/ath79/dts/ar9344_winchannel_wb2000.dts
index cb59559426..cbde191ac7 100644
--- a/target/linux/ath79/dts/ar9344_winchannel_wb2000.dts
+++ b/target/linux/ath79/dts/ar9344_winchannel_wb2000.dts
@@ -119,16 +119,36 @@
 				read-only;
 			};
 
-			art: partition at fe0000 {
+			partition at fe0000 {
 				label = "art";
 				reg = <0xfe0000 0x10000>;
 				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 0x440>;
+				};
 			};
 
-			addr: partition at ff0000 {
+			partition at ff0000 {
 				label = "addr";
 				reg = <0xff0000 0x10000>;
 				read-only;
+
+				compatible = "nvmem-cells";
+				#address-cells = <1>;
+				#size-cells = <1>;
+
+				macaddr_addr_0: macaddr at 0 {
+					reg = <0x0 0x6>;
+				};
 			};
 		};
 	};
@@ -140,9 +160,8 @@
 	ath9k: wifi at 0,0 {
 		compatible = "pci168c,0030";
 		reg = <0x0000 0 0 0 0>;
-		qca,no-eeprom;
-		nvmem-cells = <&macaddr_addr_0>;
-		nvmem-cell-names = "mac-address";
+		nvmem-cells = <&macaddr_addr_0>, <&calibration_art_5000>;
+		nvmem-cell-names = "mac-address", "calibration";
 		mac-address-increment = <0x10>;
 		#gpio-cells = <2>;
 		gpio-controller;
@@ -160,9 +179,8 @@
 &wmac {
 	status = "okay";
 
-	mtd-cal-data = <&art 0x1000>;
-	nvmem-cells = <&macaddr_addr_0>;
-	nvmem-cell-names = "mac-address";
+	nvmem-cells = <&macaddr_addr_0>, <&calibration_art_1000>;
+	nvmem-cell-names = "mac-address", "calibration";
 };
 
 &mdio0 {
@@ -193,12 +211,3 @@
 	};
 };
 
-&addr {
-	compatible = "nvmem-cells";
-	#address-cells = <1>;
-	#size-cells = <1>;
-
-	macaddr_addr_0: macaddr at 0 {
-		reg = <0x0 0x6>;
-	};
-};
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 a91885c3fe..9640baac17 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,9 +83,6 @@ case "$FIRMWARE" in
 	;;
 "ath9k-eeprom-pci-0000:00:00.0.bin")
 	case $board in
-	winchannel,wb2000)
-		caldata_extract "art" 0x5000 0x440
-		;;
 	avm,fritz300e)
 		caldata_extract_reverse "urloader" 0x1541 0x440
 		;;




More information about the lede-commits mailing list