[openwrt/openwrt] ath79: engenius,eXXX: use nvmem

LEDE Commits lede-commits at lists.infradead.org
Fri Oct 24 02:55:05 PDT 2025


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/d6d90566d1cd1cd6b7971064750b7ed05b8b524b

commit d6d90566d1cd1cd6b7971064750b7ed05b8b524b
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Fri Jun 14 11:30:31 2024 -0700

    ath79: engenius,eXXX: use nvmem
    
    Userspace handling is deprecated.
    
    Move calibration for pcie node out of dtsi. calibration size for ath10k
    and ath9k differs.
    
    Signed-off-by: Rosen Penev <rosenp at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/16231
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 .../linux/ath79/dts/qca9557_engenius_esr1200.dts   | 18 +++++++++++++-----
 .../linux/ath79/dts/qca9558_engenius_epg5000.dts   | 18 +++++++++++++-----
 .../linux/ath79/dts/qca9558_engenius_esr1750.dts   | 18 +++++++++++++-----
 target/linux/ath79/dts/qca9558_engenius_esr900.dts | 22 ++++++++++++----------
 .../linux/ath79/dts/qca955x_senao_router-dual.dtsi | 22 +++++++++++++++-------
 .../generic/base-files/etc/board.d/02_network      |  1 -
 .../etc/hotplug.d/ieee80211/10_fix_wifi_mac        |  6 ------
 .../base-files/lib/preinit/10_fix_eth_mac.sh       |  6 ------
 8 files changed, 66 insertions(+), 45 deletions(-)

diff --git a/target/linux/ath79/dts/qca9557_engenius_esr1200.dts b/target/linux/ath79/dts/qca9557_engenius_esr1200.dts
index fd805fa13f..5faf3277fa 100644
--- a/target/linux/ath79/dts/qca9557_engenius_esr1200.dts
+++ b/target/linux/ath79/dts/qca9557_engenius_esr1200.dts
@@ -73,12 +73,20 @@
 	status = "okay";
 };
 
+&nvmem {
+	calibration_art_5000: calibration at 5000 {
+		reg = <0x5000 0x844>;
+	};
+};
+
 &wmac {
-	nvmem-cells = <&calibration_art_1000>;
-	nvmem-cell-names = "calibration";
+	nvmem-cells = <&calibration_art_1000>, <&macaddr_uboot_eth 1>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
 
-&ath10k_0 {
-	nvmem-cells = <&calibration_art_5000>;
-	nvmem-cell-names = "calibration";
+&wifi0 {
+	compatible = "qcom,ath10k";
+
+	nvmem-cells = <&calibration_art_5000>, <&macaddr_uboot_eth 0>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
diff --git a/target/linux/ath79/dts/qca9558_engenius_epg5000.dts b/target/linux/ath79/dts/qca9558_engenius_epg5000.dts
index 52708f3c6b..560436b0df 100644
--- a/target/linux/ath79/dts/qca9558_engenius_epg5000.dts
+++ b/target/linux/ath79/dts/qca9558_engenius_epg5000.dts
@@ -73,12 +73,20 @@
 	status = "okay";
 };
 
+&nvmem {
+	calibration_art_5000: calibration at 5000 {
+		reg = <0x5000 0x844>;
+	};
+};
+
 &wmac {
-	nvmem-cells = <&calibration_art_1000>;
-	nvmem-cell-names = "calibration";
+	nvmem-cells = <&calibration_art_1000>, <&macaddr_uboot_eth 1>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
 
-&ath10k_0 {
-	nvmem-cells = <&calibration_art_5000>;
-	nvmem-cell-names = "calibration";
+&wifi0 {
+	compatible = "qcom,ath10k";
+
+	nvmem-cells = <&calibration_art_5000>, <&macaddr_uboot_eth 0>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
diff --git a/target/linux/ath79/dts/qca9558_engenius_esr1750.dts b/target/linux/ath79/dts/qca9558_engenius_esr1750.dts
index 0aae9b5187..52075d2481 100644
--- a/target/linux/ath79/dts/qca9558_engenius_esr1750.dts
+++ b/target/linux/ath79/dts/qca9558_engenius_esr1750.dts
@@ -73,12 +73,20 @@
 	status = "okay";
 };
 
+&nvmem {
+	calibration_art_5000: calibration at 5000 {
+		reg = <0x5000 0x844>;
+	};
+};
+
 &wmac {
-	nvmem-cells = <&calibration_art_1000>;
-	nvmem-cell-names = "calibration";
+	nvmem-cells = <&calibration_art_1000>, <&macaddr_uboot_eth 1>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
 
-&ath10k_0 {
-	nvmem-cells = <&calibration_art_5000>;
-	nvmem-cell-names = "calibration";
+&wifi0 {
+	compatible = "qcom,ath10k";
+
+	nvmem-cells = <&calibration_art_5000>, <&macaddr_uboot_eth 0>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
diff --git a/target/linux/ath79/dts/qca9558_engenius_esr900.dts b/target/linux/ath79/dts/qca9558_engenius_esr900.dts
index 39a0790f12..9ceacb0199 100644
--- a/target/linux/ath79/dts/qca9558_engenius_esr900.dts
+++ b/target/linux/ath79/dts/qca9558_engenius_esr900.dts
@@ -73,18 +73,20 @@
 	status = "okay";
 };
 
+&nvmem {
+	calibration_art_5000: calibration at 5000 {
+		reg = <0x5000 0x440>;
+	};
+};
+
 &wmac {
-	nvmem-cells = <&calibration_art_1000>;
-	nvmem-cell-names = "calibration";
+	nvmem-cells = <&calibration_art_1000>, <&macaddr_uboot_eth 0>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
 
-&pcie0 {
-	status = "okay";
+&wifi0 {
+	compatible = "pci168c,0033";
 
-	wifi at 0,0 {
-		compatible = "pci168c,0033";
-		reg = <0x0000 0 0 0 0>;
-		nvmem-cells = <&calibration_art_5000>;
-		nvmem-cell-names = "calibration";
-	};
+	nvmem-cells = <&calibration_art_5000>, <&macaddr_uboot_eth 1>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
diff --git a/target/linux/ath79/dts/qca955x_senao_router-dual.dtsi b/target/linux/ath79/dts/qca955x_senao_router-dual.dtsi
index ece2f5d6fb..b8680772ce 100644
--- a/target/linux/ath79/dts/qca955x_senao_router-dual.dtsi
+++ b/target/linux/ath79/dts/qca955x_senao_router-dual.dtsi
@@ -30,6 +30,9 @@
 
 	phy-handle = <&phy0>;
 	pll-data = <0xa6000000 0x00000101 0x00001616>;
+
+	nvmem-cells = <&macaddr_uboot_eth 0>;
+	nvmem-cell-names = "mac-address";
 };
 
 &mdio0 {
@@ -43,8 +46,7 @@
 &pcie0 {
 	status = "okay";
 
-	ath10k_0: wifi at 0,0 {
-		compatible = "qcom,ath10k";
+	wifi0: wifi at 0,0 {
 		reg = <0x0000 0 0 0 0>;
 	};
 };
@@ -72,6 +74,16 @@
 				label = "u-boot-env";
 				reg = <0x030000 0x010000>;
 				read-only;
+
+				nvmem-layout {
+					compatible = "u-boot,env";
+					#address-cells = <1>;
+					#size-cells = <1>;
+
+					macaddr_uboot_eth: ethaddr {
+						#nvmem-cell-cells = <1>;
+					};
+				};
 			};
 
 			partition at 40000 {
@@ -103,7 +115,7 @@
 				reg = <0xff0000 0x010000>;
 				read-only;
 
-				nvmem-layout {
+				nvmem: nvmem-layout {
 					compatible = "fixed-layout";
 					#address-cells = <1>;
 					#size-cells = <1>;
@@ -111,10 +123,6 @@
 					calibration_art_1000: calibration at 1000 {
 						reg = <0x1000 0x440>;
 					};
-
-					calibration_art_5000: calibration at 5000 {
-						reg = <0x5000 0x844>;
-					};
 				};
 			};
 		};
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 48787f0f9b..f01da50c08 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
@@ -737,7 +737,6 @@ ath79_setup_macs()
 	engenius,esr1200|\
 	engenius,esr1750|\
 	engenius,esr900)
-		lan_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
 		wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr)
 		;;
 	engenius,ews511ap)
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 ed8cc44783..291241b6ee 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
@@ -52,12 +52,6 @@ case "$board" in
 		[ "$PHYNBR" -eq 0 ] && \
 			mtd_get_mac_ascii u-boot-env athaddr > /sys${DEVPATH}/macaddress
 		;;
-	engenius,epg5000|\
-	engenius,esr1200|\
-	engenius,esr1750|\
-	engenius,esr900)
-		macaddr_add "$(mtd_get_mac_ascii u-boot-env ethaddr)" "$PHYNBR" > /sys${DEVPATH}/macaddress
-		;;
 	engenius,ews511ap)
 		[ "$PHYNBR" -eq 0 ] && \
 		macaddr_add $(cat /sys/class/net/eth0/address) 1 > /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 4b6cb7b6ed..1126a1eefc 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
@@ -12,12 +12,6 @@ preinit_set_mac_address() {
 		ip link set dev eth0 address $(mtd_get_mac_ascii bdcfg "lanmac")
 		ip link set dev eth1 address $(mtd_get_mac_ascii bdcfg "wanmac")
 		;;
-	engenius,epg5000|\
-	engenius,esr1200|\
-	engenius,esr1750|\
-	engenius,esr900)
-		ip link set dev eth0 address $(mtd_get_mac_ascii u-boot-env ethaddr)
-		;;
 	siemens,ws-ap3610)
 		ip link set dev eth0 address $(mtd_get_mac_ascii cfg1 ethaddr)
 		;;




More information about the lede-commits mailing list