[openwrt/openwrt] ath79: nbg6x16: use nvmem

LEDE Commits lede-commits at lists.infradead.org
Sun Dec 22 14:40:43 PST 2024


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

commit 91966bee336749780317927a633be7e010f69d97
Author: Rosen Penev <rosenp at gmail.com>
AuthorDate: Sat Jun 15 14:23:02 2024 -0700

    ath79: nbg6x16: use nvmem
    
    Userspace handling is deprecated.
    
    Signed-off-by: Rosen Penev <rosenp at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/16291
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts    | 10 ++++++++--
 target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts    | 10 ++++++++--
 target/linux/ath79/dts/qca955x_zyxel_nbg6x16.dtsi   | 10 ++++++++--
 .../ath79/generic/base-files/etc/board.d/02_network |  3 ---
 .../etc/hotplug.d/ieee80211/10_fix_wifi_mac         |  8 +-------
 .../base-files/lib/preinit/10_fix_eth_mac.sh        |  5 -----
 .../etc/hotplug.d/ieee80211/10-fix-wifi-mac         | 21 ---------------------
 .../nand/base-files/lib/preinit/10_fix_eth_mac.sh   | 15 ---------------
 target/linux/ath79/nand/config-default              |  1 +
 9 files changed, 26 insertions(+), 57 deletions(-)

diff --git a/target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts b/target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts
index 828096f8f6..1c4e9efca0 100644
--- a/target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts
+++ b/target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts
@@ -9,6 +9,7 @@
 	model = "Zyxel NBG6616";
 
 	aliases {
+		label-mac-device = &wmac;
 		led-boot = &led_power;
 		led-failsafe = &led_power;
 		led-running = &led_power;
@@ -82,8 +83,13 @@
 			};
 
 			partition at 30000 {
+				compatible = "u-boot,env";
 				label = "u-boot-env";
 				reg = <0x030000 0x010000>;
+
+				macaddr_uboot_ethaddr: ethaddr {
+					#nvmem-cell-cells = <1>;
+				};
 			};
 
 			partition at 40000 {
@@ -136,7 +142,7 @@
 	wifi at 0,0 {
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
-		nvmem-cells = <&cal_art_5000>;
-		nvmem-cell-names = "calibration";
+		nvmem-cells = <&cal_art_5000>, <&macaddr_uboot_ethaddr 1>;
+		nvmem-cell-names = "calibration", "mac-address";
 	};
 };
diff --git a/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts b/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts
index 463553fe27..67d2f77d38 100644
--- a/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts
+++ b/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts
@@ -9,6 +9,7 @@
 	model = "Zyxel NBG6716";
 
 	aliases {
+		label-mac-device = &wmac;
 		led-boot = &led_power;
 		led-failsafe = &led_power;
 		led-running = &led_power;
@@ -103,8 +104,13 @@
 			};
 
 			partition at 40000 {
+				compatible = "u-boot,env";
 				label = "u-boot-env";
 				reg = <0x040000 0x010000>;
+
+				macaddr_uboot_ethaddr: ethaddr {
+					#nvmem-cell-cells = <1>;
+				};
 			};
 
 			partition at 50000 {
@@ -185,8 +191,8 @@
 	wifi at 0,0 {
 		compatible = "qcom,ath10k";
 		reg = <0 0 0 0 0>;
-		nvmem-cells = <&cal_art_5000>;
-		nvmem-cell-names = "calibration";
+		nvmem-cells = <&cal_art_5000>, <&macaddr_uboot_ethaddr 1>;
+		nvmem-cell-names = "calibration", "mac-address";
 		qcom,ath10k-calibration-variant = "ZyXEL-NBG6716";
 	};
 };
diff --git a/target/linux/ath79/dts/qca955x_zyxel_nbg6x16.dtsi b/target/linux/ath79/dts/qca955x_zyxel_nbg6x16.dtsi
index 3cbb305aad..99f61afbc0 100644
--- a/target/linux/ath79/dts/qca955x_zyxel_nbg6x16.dtsi
+++ b/target/linux/ath79/dts/qca955x_zyxel_nbg6x16.dtsi
@@ -82,6 +82,9 @@
 	pll-data = <0xa6000000 0x00000101 0x00001616>;
 	phy-handle = <&phy17>;
 
+	nvmem-cells = <&macaddr_uboot_ethaddr 2>;
+	nvmem-cell-names = "mac-address";
+
 	fixed-link {
 		speed = <1000>;
 		full-duplex;
@@ -94,6 +97,9 @@
 	pll-data = <0x03000101 0x00000101 0x00001616>;
 	phy-handle = <&phy1>;
 
+	nvmem-cells = <&macaddr_uboot_ethaddr 3>;
+	nvmem-cell-names = "mac-address";
+
 	fixed-link {
 		speed = <1000>;
 		full-duplex;
@@ -103,8 +109,8 @@
 &wmac {
 	status = "okay";
 
-	nvmem-cells = <&cal_art_1000>;
-	nvmem-cell-names = "calibration";
+	nvmem-cells = <&cal_art_1000>, <&macaddr_uboot_ethaddr 0>;
+	nvmem-cell-names = "calibration", "mac-address";
 };
 
 &usb_phy0 {
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 42910d436e..ad0365a465 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
@@ -861,9 +861,6 @@ ath79_setup_macs()
 	xiaomi,aiot-ac2350)
 		lan_mac=$(mtd_get_mac_binary art 0x1002)
 		;;
-	zyxel,nbg6616)
-		label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr)
-		;;
 	esac
 
 	[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
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 b10599cc15..4dfc67e280 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
@@ -75,8 +75,7 @@ case "$board" in
 	iodata,wn-ac1600dgr|\
 	iodata,wn-ac1600dgr2|\
 	sitecom,wlr-7100|\
-	sitecom,wlr-8100|\
-	zyxel,nbg6616)
+	sitecom,wlr-8100)
 		# There is no eeprom data for 5 GHz wlan in "art" partition
 		# which would allow to patch the macaddress
 		[ "$PHYNBR" -eq 0 ] && \
@@ -121,11 +120,6 @@ case "$board" in
 		[ "$PHYNBR" -eq 0 ] && \
 			macaddr_add "$(mtd_get_mac_text mac 0x18)" 1 > /sys${DEVPATH}/macaddress
 		;;
-	zyxel,nbg6616)
-		# Set mac address for 2.4g device
-		[ "$PHYNBR" -eq 1 ] && \
-			mtd_get_mac_ascii u-boot-env ethaddr > /sys${DEVPATH}/macaddress
-		;;
 	zyxel,nwa1123-ac)
 		[ "$PHYNBR" -eq 0 ] && \
 			mtd_get_mac_text mib0 0x66 > /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 76f4b93a35..41aa43e986 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
@@ -32,11 +32,6 @@ preinit_set_mac_address() {
 		base_mac=$(mtd_get_mac_encrypted_deco $(find_mtd_part config))
 		ip link set dev eth0 address $base_mac
 		;;
-	zyxel,nbg6616)
-		ethaddr=$(mtd_get_mac_ascii u-boot-env ethaddr)
-		ip link set dev eth0 address $(macaddr_add $ethaddr 2)
-		ip link set dev eth1 address $(macaddr_add $ethaddr 3)
-		;;
 	esac
 }
 
diff --git a/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac b/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac
deleted file mode 100644
index 989791b64f..0000000000
--- a/target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac
+++ /dev/null
@@ -1,21 +0,0 @@
-[ "$ACTION" = "add" ] || exit 0
-
-PHYNBR=${DEVPATH##*/phy}
-
-[ -n $PHYNBR ] || exit 0
-
-. /lib/functions.sh
-. /lib/functions/system.sh
-
-board=$(board_name)
-
-case $board in
-	zyxel,emg2926-q10a|\
-	zyxel,nbg6716)
-		ethaddr=$(mtd_get_mac_ascii u-boot-env ethaddr)
-		[ "$PHYNBR" -eq 0 ] && \
-			macaddr_add $ethaddr 1 > /sys${DEVPATH}/macaddress
-		[ "$PHYNBR" -eq 1 ] && \
-			echo -n $ethaddr > /sys${DEVPATH}/macaddress
-		;;
-esac
diff --git a/target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh b/target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh
deleted file mode 100644
index 4e501496be..0000000000
--- a/target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-. /lib/functions.sh
-. /lib/functions/system.sh
-
-preinit_set_mac_address() {
-	case $(board_name) in
-	zyxel,emg2926-q10a|\
-	zyxel,nbg6716)
-		ethaddr=$(mtd_get_mac_ascii u-boot-env ethaddr)
-		ip link set dev eth0 address $(macaddr_add $ethaddr 2)
-		ip link set dev eth1 address $(macaddr_add $ethaddr 3)
-		;;
-	esac
-}
-
-boot_hook_add preinit_main preinit_set_mac_address
diff --git a/target/linux/ath79/nand/config-default b/target/linux/ath79/nand/config-default
index 71ce1caad7..bbe9673d70 100644
--- a/target/linux/ath79/nand/config-default
+++ b/target/linux/ath79/nand/config-default
@@ -17,6 +17,7 @@ CONFIG_MTD_UBI=y
 CONFIG_MTD_UBI_BEB_LIMIT=20
 CONFIG_MTD_UBI_BLOCK=y
 CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_NVMEM_U_BOOT_ENV=y
 # CONFIG_PCI_AR71XX is not set
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_GPIO_RESTART=y




More information about the lede-commits mailing list