ath79: nbg6x16: use nvmem
authorRosen Penev <rosenp@gmail.com>
Sat, 15 Jun 2024 21:23:02 +0000 (14:23 -0700)
committerHauke Mehrtens <hauke@hauke-m.de>
Sun, 22 Dec 2024 22:36:41 +0000 (23:36 +0100)
Userspace handling is deprecated.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/16291
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
target/linux/ath79/dts/qca9557_zyxel_nbg6616.dts
target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts
target/linux/ath79/dts/qca955x_zyxel_nbg6x16.dtsi
target/linux/ath79/generic/base-files/etc/board.d/02_network
target/linux/ath79/generic/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac
target/linux/ath79/generic/base-files/lib/preinit/10_fix_eth_mac.sh
target/linux/ath79/nand/base-files/etc/hotplug.d/ieee80211/10-fix-wifi-mac [deleted file]
target/linux/ath79/nand/base-files/lib/preinit/10_fix_eth_mac.sh [deleted file]
target/linux/ath79/nand/config-default

index 828096f8f6c9fbc1df09b3be204fe5f2c7255bd3..1c4e9efca0278f45fc34c8e75f1929c13287897b 100644 (file)
@@ -9,6 +9,7 @@
        model = "Zyxel NBG6616";
 
        aliases {
+               label-mac-device = &wmac;
                led-boot = &led_power;
                led-failsafe = &led_power;
                led-running = &led_power;
                        };
 
                        partition@30000 {
+                               compatible = "u-boot,env";
                                label = "u-boot-env";
                                reg = <0x030000 0x010000>;
+
+                               macaddr_uboot_ethaddr: ethaddr {
+                                       #nvmem-cell-cells = <1>;
+                               };
                        };
 
                        partition@40000 {
        wifi@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";
        };
 };
index 463553fe27cb9eed2bf6dd2d5e83808ac976b094..67d2f77d381b7507a72c8005521ff3a2765a9507 100644 (file)
@@ -9,6 +9,7 @@
        model = "Zyxel NBG6716";
 
        aliases {
+               label-mac-device = &wmac;
                led-boot = &led_power;
                led-failsafe = &led_power;
                led-running = &led_power;
                        };
 
                        partition@40000 {
+                               compatible = "u-boot,env";
                                label = "u-boot-env";
                                reg = <0x040000 0x010000>;
+
+                               macaddr_uboot_ethaddr: ethaddr {
+                                       #nvmem-cell-cells = <1>;
+                               };
                        };
 
                        partition@50000 {
        wifi@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";
        };
 };
index 3cbb305aadb4e395001ec4c4dc9794cd58de1988..99f61afbc0407818c1d5f8fd7b9c5148626ad574 100644 (file)
@@ -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;
 &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 {
index 42910d436eef81cd27d5101483c9ec6cc2b1a909..ad0365a4651cd44b49fec71e962469016e39caf2 100644 (file)
@@ -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
index b10599cc1549708636223d5d2facd6e3a511558a..4dfc67e280cd25957a90f954e9f8ee2c03e3abfc 100644 (file)
@@ -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
index 76f4b93a3560f26ea70d8d54c7c7cf3aee001c28..41aa43e986918ae89562b24e055dd5bf0a6d6780 100644 (file)
@@ -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 (file)
index 989791b..0000000
+++ /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 (file)
index 4e50149..0000000
+++ /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
index 71ce1caad7d400078ef811a641ff23fa588fad00..bbe9673d7078a3d037cdfc1b0e309495a9fd59ff 100644 (file)
@@ -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