From 6640e1c3681b4b9e7f0d8a57351b068ec40d3efd Mon Sep 17 00:00:00 2001 From: Adrian Schmutzler Date: Mon, 12 Aug 2019 13:21:05 +0200 Subject: [PATCH] ramips: clean and improve MAC address setup in 02_network This patch removes unnecessary MAC address setup statements in ramips' 02_network by doing several optimizations: 1. For the following devices, lan_mac was set up with mtd_get_mac_binary although the same address was set in DTS. The lan_mac statement is removed in 02_network, but wan_mac is kept: - mercury,mac1200r-v2 - phicomm,k2g - skylab,skw92a - wiznet,wizfi630a 2. For the following devices, wan_mac was set up with mtd_get_mac_binary although the same address was set in DTS. The wan_mac statement is removed in 02_network, no lan_mac is present: - buffalo,whr-g300n - glinet,gl-mt300n-v2 - zyxel,keenetic-start 3. For the following device, lan_mac and wan_mac were set up with mtd_get_mac_binary to the same address as set in DTS. Both statements are removed in 02_network: - buffalo,whr-600d 4. For some devices, it was possible to move setup from 02_network to DTS by introducing previously missing mtd_mac_address: - buffalo,whr-1166d - buffalo,whr-300hp2 - buffalo,wsr-600dhp - ohyeah,oy-0001 - planex,vr500 5. For one device, mtd_mac_address was just wrong and overwritten by 02_network. Put the correct value in DTS and remove redundant statement in 02_network: - asus,rt-ac57u 6. For one device, MAC address defined in DTS is exchanged together with lan_mac/wan_mac setup in 02_network, so that cases in 02_network can be merged: - phicomm,k2p For some devices, an empty case has to be used to prevent them from falling into the default case and have WAN address = eth0 address + 1 set to them. Signed-off-by: Adrian Schmutzler --- .../ramips/base-files/etc/board.d/02_network | 43 +++++++------------ .../ramips/dts/mt7620a_buffalo_whr-1166d.dts | 2 + .../ramips/dts/mt7620a_buffalo_whr-300hp2.dts | 1 + .../ramips/dts/mt7620a_ohyeah_oy-0001.dts | 1 + .../linux/ramips/dts/mt7621_asus_rt-ac57u.dts | 2 +- .../ramips/dts/mt7621_buffalo_wsr-600dhp.dts | 4 ++ .../ramips/dts/mt7621_netgear_r6220.dtsi | 2 +- .../linux/ramips/dts/mt7621_phicomm_k2p.dts | 2 +- .../linux/ramips/dts/mt7621_planex_vr500.dts | 4 ++ 9 files changed, 30 insertions(+), 31 deletions(-) diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network index e19a618389..a6b0177dde 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -513,7 +513,10 @@ ramips_setup_macs() alfa-network,w502u|\ arcwireless,freestation5|\ cudy,wr1000|\ - netgear,wnce2001) + netgear,wnce2001|\ + ohyeah,oy-0001|\ + phicomm,k2g|\ + skylab,skw92a) wan_mac=$(mtd_get_mac_binary factory 0x2e) ;; arcwireless,freestation5|\ @@ -535,9 +538,12 @@ ramips_setup_macs() wan_mac=$(macaddr_add "$lan_mac" 1) ;; asus,rt-ac57u|\ + elecom,wrc-1167ghbk2-s|\ + elecom,wrc-1900gst|\ + elecom,wrc-2533gst|\ phicomm,k2p|\ - planex,vr500) - lan_mac=$(mtd_get_mac_binary factory 0xe000) + planex,vr500|\ + samknows,whitebox-v8) wan_mac=$(mtd_get_mac_binary factory 0xe006) ;; asus,rt-n56u) @@ -557,13 +563,11 @@ ramips_setup_macs() buffalo,whr-1166d|\ buffalo,whr-300hp2|\ buffalo,whr-600d|\ - buffalo,wsr-600dhp) - wan_mac=$(mtd_get_mac_binary factory 0x4) - lan_mac=$wan_mac - ;; buffalo,whr-g300n|\ - glinet,gl-mt300n-v2) - wan_mac=$(mtd_get_mac_binary factory 0x4) + buffalo,wsr-600dhp|\ + glinet,gl-mt300n-v2|\ + zyxel,keenetic-start) + # This empty case has to be kept for devices without any MAC address adjustments ;; dlink,dch-m225|\ samsung,cy-swr1100) @@ -600,12 +604,6 @@ ramips_setup_macs() netgear,r6850) wan_mac=$(macaddr_add "$(cat /sys/class/net/eth0/address)" 2) ;; - elecom,wrc-1167ghbk2-s|\ - elecom,wrc-1900gst|\ - elecom,wrc-2533gst|\ - samknows,whitebox-v8) - wan_mac=$(mtd_get_mac_binary factory 0xe006) - ;; hiwifi,hc5661|\ hiwifi,hc5661a|\ hiwifi,hc5761|\ @@ -642,14 +640,7 @@ ramips_setup_macs() lan_mac=$(mtd_get_mac_binary factory 0x2e) ;; mercury,mac1200r-v2) - lan_mac=$(mtd_get_mac_binary factory_info 0xd) - wan_mac=$(macaddr_add "$lan_mac" 1) - ;; - ohyeah,oy-0001|\ - phicomm,k2g|\ - skylab,skw92a) - lan_mac=$(mtd_get_mac_binary factory 0x28) - wan_mac=$(mtd_get_mac_binary factory 0x2e) + wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory_info 0xd)" 1) ;; poray,m3|\ poray,m4-4m|\ @@ -662,9 +653,9 @@ ramips_setup_macs() wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x8004)" 2) ;; sparklan,wcr-150gn|\ + wiznet,wizfi630a|\ zyxel,keenetic-omni|\ zyxel,keenetic-omni-ii|\ - zyxel,keenetic-start|\ zyxel,keenetic-viva) wan_mac=$(mtd_get_mac_binary factory 0x28) ;; @@ -674,10 +665,6 @@ ramips_setup_macs() trendnet,tew-691gr) wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 3) ;; - wiznet,wizfi630a) - lan_mac=$(mtd_get_mac_binary factory 0x4) - wan_mac=$(mtd_get_mac_binary factory 0x28) - ;; xiaomi,mir3g|\ xiaomi,mir3p) lan_mac=$(mtd_get_mac_binary factory 0xe006) diff --git a/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts b/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts index 9a6ca335a8..4be719a249 100644 --- a/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts +++ b/target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts @@ -144,6 +144,8 @@ pinctrl-names = "default"; pinctrl-0 = <&rgmii1_pins &mdio_pins>; + mtd-mac-address = <&factory 0x4>; + port@5 { status = "okay"; phy-handle = <&phy5>; diff --git a/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts b/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts index 8a79d6ab05..7dbc58fee7 100644 --- a/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts +++ b/target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts @@ -143,6 +143,7 @@ ðernet { pinctrl-names = "default"; pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x4>; mediatek,portmap = "llllw"; }; diff --git a/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts b/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts index 6b93b8d089..a4fd86bbd6 100644 --- a/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts +++ b/target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts @@ -106,6 +106,7 @@ ðernet { pinctrl-names = "default"; pinctrl-0 = <&ephy_pins>; + mtd-mac-address = <&factory 0x28>; mediatek,portmap = "llllw"; }; diff --git a/target/linux/ramips/dts/mt7621_asus_rt-ac57u.dts b/target/linux/ramips/dts/mt7621_asus_rt-ac57u.dts index 8060fd9eaa..e589461a4d 100644 --- a/target/linux/ramips/dts/mt7621_asus_rt-ac57u.dts +++ b/target/linux/ramips/dts/mt7621_asus_rt-ac57u.dts @@ -135,7 +135,7 @@ }; ðernet { - mtd-mac-address = <&factory 0x4e000>; + mtd-mac-address = <&factory 0xe000>; }; &pinctrl { diff --git a/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts b/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts index 6e7066d66c..3f20002fea 100644 --- a/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts +++ b/target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts @@ -181,6 +181,10 @@ }; }; +ðernet { + mtd-mac-address = <&factory 0x4>; +}; + &xhci { status = "disabled"; }; diff --git a/target/linux/ramips/dts/mt7621_netgear_r6220.dtsi b/target/linux/ramips/dts/mt7621_netgear_r6220.dtsi index 17000a5bf2..a25a677d3b 100644 --- a/target/linux/ramips/dts/mt7621_netgear_r6220.dtsi +++ b/target/linux/ramips/dts/mt7621_netgear_r6220.dtsi @@ -107,7 +107,7 @@ }; ðernet { - mtd-mac-address = <&factory 0x00000004>; + mtd-mac-address = <&factory 0x4>; }; &pinctrl { diff --git a/target/linux/ramips/dts/mt7621_phicomm_k2p.dts b/target/linux/ramips/dts/mt7621_phicomm_k2p.dts index a71e5f63b8..a2bac13c7b 100644 --- a/target/linux/ramips/dts/mt7621_phicomm_k2p.dts +++ b/target/linux/ramips/dts/mt7621_phicomm_k2p.dts @@ -109,7 +109,7 @@ }; ðernet { - mtd-mac-address = <&factory 0xe006>; + mtd-mac-address = <&factory 0xe000>; }; &pinctrl { diff --git a/target/linux/ramips/dts/mt7621_planex_vr500.dts b/target/linux/ramips/dts/mt7621_planex_vr500.dts index 46980c4136..f0116944b1 100644 --- a/target/linux/ramips/dts/mt7621_planex_vr500.dts +++ b/target/linux/ramips/dts/mt7621_planex_vr500.dts @@ -81,6 +81,10 @@ }; }; +ðernet { + mtd-mac-address = <&factory 0xe000>; +}; + &pinctrl { state_default: pinctrl0 { gpio { -- 2.30.2