[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