From 31c15813f9d273cf7c5683132baa12a6d728f3c8 Mon Sep 17 00:00:00 2001 From: Chukun Pan Date: Wed, 19 Oct 2022 23:16:30 +0800 Subject: [PATCH] ramips: MSG1500 X.00: switch to mac-address-ascii dts The Config partition of some machines is special, and the openwrt script cannot read the protest_lan_mac correctly. This problem can be solved by reading the mac address (ascii) in dts. Signed-off-by: Chukun Pan --- .../dts/mt7621_raisecom_msg1500-x-00.dts | 39 ++++++++++++++----- .../mt7621/base-files/etc/board.d/02_network | 5 --- .../etc/hotplug.d/ieee80211/10_fix_wifi_mac | 3 +- 3 files changed, 30 insertions(+), 17 deletions(-) diff --git a/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts b/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts index 3c5f1e520c79..5d713c00987f 100644 --- a/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts +++ b/target/linux/ramips/dts/mt7621_raisecom_msg1500-x-00.dts @@ -13,6 +13,7 @@ led-boot = &led_usb; led-failsafe = &led_usb; led-upgrade = &led_usb; + label-mac-device = &gmac0; }; leds { @@ -79,12 +80,32 @@ label = "Config"; reg = <0x80000 0x80000>; read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_config_8014: macaddr@8014 { + reg = <0x8014 0x11>; + }; + + macaddr_config_8036: macaddr@8036 { + reg = <0x8036 0x11>; + }; }; factory: partition@100000 { label = "Factory"; reg = <0x100000 0x40000>; read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_4: macaddr@4 { + reg = <0x4 0x6>; + }; }; partition@140000 { @@ -115,10 +136,18 @@ }; }; +&gmac0 { + nvmem-cells = <&macaddr_config_8014>; + nvmem-cell-names = "mac-address-ascii"; +}; + &gmac1 { status = "okay"; label = "wan"; phy-handle = <ðphy4>; + + nvmem-cells = <&macaddr_config_8036>; + nvmem-cell-names = "mac-address-ascii"; }; &mdio { @@ -157,13 +186,3 @@ function = "gpio"; }; }; - -&factory { - compatible = "nvmem-cells"; - #address-cells = <1>; - #size-cells = <1>; - - macaddr_factory_4: macaddr@4 { - reg = <0x4 0x6>; - }; -}; diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 3a864f6f04d6..e357b47a4ca0 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -277,11 +277,6 @@ ramips_setup_macs() wan_mac=$(macaddr_add "$lan_mac" 1) label_mac=$lan_mac ;; - raisecom,msg1500-x-00) - lan_mac=$(mtd_get_mac_ascii Config protest_lan_mac) - wan_mac=$(mtd_get_mac_ascii Config protest_wan_mac) - label_mac=$lan_mac - ;; yuncore,ax820) label_mac=$(mtd_get_mac_binary Factory 0x4) ;; diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac index b3de1f39cf08..30a10423ad51 100644 --- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac +++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -141,8 +141,7 @@ case "$board" in ;; raisecom,msg1500-x-00) [ "$PHYNBR" = "0" ] && \ - macaddr_setbit_la "$(mtd_get_mac_ascii Config protest_lan_mac)" \ - > /sys${DEVPATH}/macaddress + macaddr_setbit_la "$(get_mac_label)" > /sys${DEVPATH}/macaddress ;; snr,snr-cpe-me2-sfp) hw_mac_addr="$(mtd_get_mac_binary factory 0x8004)" -- 2.30.2