[openwrt/openwrt] ath79: enterasys,ws-ap3705i: use nvmem

LEDE Commits lede-commits at lists.infradead.org
Wed Oct 22 15:05:37 PDT 2025


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/a10e957c56b8eb1085f590aff261e8cb075bc23e

commit a10e957c56b8eb1085f590aff261e8cb075bc23e
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Sat Feb 17 20:58:33 2024 -0800

    ath79: enterasys,ws-ap3705i: use nvmem
    
    Userspace handling is deprecated.
    
    Use ath9k LED binding to avoid generic LED usage.
    
    Signed-off-by: Rosen Penev <rosenp at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/16286
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 .../ath79/dts/ar9344_enterasys_ws-ap3705i.dts      | 58 ++++++++++++++--------
 .../generic/base-files/etc/board.d/02_network      |  3 --
 .../etc/hotplug.d/firmware/10-ath9k-eeprom         |  8 ---
 .../etc/hotplug.d/ieee80211/10_fix_wifi_mac        |  6 +++
 .../base-files/lib/preinit/10_fix_eth_mac.sh       |  3 --
 5 files changed, 43 insertions(+), 35 deletions(-)

diff --git a/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts b/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts
index 0605baa58e..27dfff72de 100644
--- a/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts
+++ b/target/linux/ath79/dts/ar9344_enterasys_ws-ap3705i.dts
@@ -68,22 +68,6 @@
 			color = <LED_COLOR_ID_GREEN>;
 			gpios = <&gpio 20 GPIO_ACTIVE_HIGH>;
 		};
-
-		radio2 {
-			label = "green:radio2";
-			gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy0tpt";
-		};
-	};
-
-	ath9k-leds {
-		compatible = "gpio-leds";
-
-		radio1 {
-			label = "green:radio1";
-			gpios = <&ath9k 0 GPIO_ACTIVE_LOW>;
-			linux,default-trigger = "phy1tpt";
-		};
 	};
 
 	keys {
@@ -113,7 +97,14 @@
 
 &wmac {
 	status = "okay";
-	qca,no-eeprom;
+
+	nvmem-cells = <&cal_art_1000>;
+	nvmem-cell-names = "calibration";
+
+	led {
+		led-sources = <11>;
+		led-active-low;
+	};
 };
 
 &spi {
@@ -136,9 +127,13 @@
 			};
 
 			partition at 80000 {
+				compatible = "u-boot,env";
 				label = "u-boot-env0";
 				reg = <0x80000 0x10000>;
 				read-only;
+
+				macaddr_uboot_ethaddr: ethaddr {
+				};
 			};
 
 			partition at 90000 {
@@ -157,6 +152,20 @@
 				label = "calibrate";
 				reg = <0x120000 0x10000>;
 				read-only;
+
+				nvmem-layout {
+					compatible = "fixed-layout";
+					#address-cells = <1>;
+					#size-cells = <1>;
+
+					cal_art_1000: calibration at 1000 {
+						reg = <0x1000 0x440>;
+					};
+
+					cal_art_5000: calibration at 5000 {
+						reg = <0x5000 0x440>;
+					};
+				};
 			};
 
 			partition at 130000 {
@@ -193,12 +202,16 @@
 &pcie {
 	status = "okay";
 
-	ath9k: wifi at 0,0 {
+	wifi at 0,0 {
 		compatible = "pci168c,0033";
 		reg = <0x0000 0 0 0 0>;
-		qca,no-eeprom;
-		#gpio-cells = <2>;
-		gpio-controller;
+		nvmem-cells = <&cal_art_5000>;
+		nvmem-cell-names = "calibration";
+
+		led {
+			led-sources = <0>;
+			led-active-low;
+		};
 	};
 };
 
@@ -218,6 +231,9 @@
 	phy-mode = "rgmii";
 	phy-handle = <&phy0>;
 
+	nvmem-cells = <&macaddr_uboot_ethaddr>;
+	nvmem-cell-names = "mac-address";
+
 	gmac-config {
 		device = <&gmac>;
 		rgmii-gmac0 = <1>;
diff --git a/target/linux/ath79/generic/base-files/etc/board.d/02_network b/target/linux/ath79/generic/base-files/etc/board.d/02_network
index d1ba702340..48787f0f9b 100644
--- a/target/linux/ath79/generic/base-files/etc/board.d/02_network
+++ b/target/linux/ath79/generic/base-files/etc/board.d/02_network
@@ -746,9 +746,6 @@ ath79_setup_macs()
 		ucidef_set_interface "eth0" ifname "eth0" protocol "none" macaddr "$lan_mac"
 		ucidef_set_interface "eth1" ifname "eth1" protocol "none" macaddr "$eth1_mac"
 		;;
-	enterasys,ws-ap3705i)
-		label_mac=$(mtd_get_mac_ascii u-boot-env0 ethaddr)
-		;;
 	hak5,lan-turtle|\
 	hak5,packet-squirrel)
 		label_mac=$(mtd_get_mac_binary u-boot 0x1fc00)
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 11c916427d..d6ae5b1aa1 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
@@ -20,10 +20,6 @@ case "$FIRMWARE" in
 		caldata_extract "art" 0x1000 0x440
 		ath9k_patch_mac $(macaddr_add $(mtd_get_mac_ascii u-boot-env athaddr) 1)
 		;;
-	enterasys,ws-ap3705i)
-		caldata_extract "calibrate" 0x1000 0x440
-		ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR1)
-		;;
 	extreme-networks,ws-ap3805i)
 		caldata_extract "art" 0x1000 0x440
 		ath9k_patch_mac $(mtd_get_mac_ascii cfg1 RADIOADDR1)
@@ -47,10 +43,6 @@ case "$FIRMWARE" in
 	avm,fritz300e)
 		caldata_extract_reverse "urloader" 0x1541 0x440
 		;;
-	enterasys,ws-ap3705i)
-		caldata_extract "calibrate" 0x5000 0x440
-		ath9k_patch_mac $(mtd_get_mac_ascii u-boot-env0 RADIOADDR0)
-		;;
 	meraki,mr12)
 		caldata_extract "art" 0x11000 0xeb8
 		;;
diff --git a/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
index f30cc43816..dcebc16679 100644
--- a/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
+++ b/target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
@@ -62,6 +62,12 @@ case "$board" in
 		[ "$PHYNBR" -eq 0 ] && \
 		macaddr_add $(cat /sys/class/net/eth0/address) 1 > /sys${DEVPATH}/macaddress
 		;;
+	enterasys,ws-ap3705i)
+		[ "$PHYNBR" -eq 0 ] && \
+			mtd_get_mac_ascii u-boot-env0 RADIOADDR1 > /sys${DEVPATH}/macaddress
+		[ "$PHYNBR" -eq 1 ] && \
+			mtd_get_mac_ascii u-boot-env0 RADIOADDR0 > /sys${DEVPATH}/macaddress
+		;;
 	extreme-networks,ws-ap3805i)
 		[ "$PHYNBR" -eq 0 ] && \
 		mtd_get_mac_ascii cfg1 RADIOADDR0 > /sys${DEVPATH}/macaddress
diff --git a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh
index 41aa43e986..2d68e02eaf 100644
--- a/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh
+++ b/target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh
@@ -18,9 +18,6 @@ preinit_set_mac_address() {
 	engenius,esr900)
 		ip link set dev eth0 address $(mtd_get_mac_ascii u-boot-env ethaddr)
 		;;
-	enterasys,ws-ap3705i)
-		ip link set dev eth0 address $(mtd_get_mac_ascii u-boot-env0 ethaddr)
-		;;
 	extreme-networks,ws-ap3805i|\
 	siemens,ws-ap3610)
 		ip link set dev eth0 address $(mtd_get_mac_ascii cfg1 ethaddr)




More information about the lede-commits mailing list