ramips: clean and improve MAC address setup in 02_network
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Mon, 12 Aug 2019 11:21:05 +0000 (13:21 +0200)
committerChuanhong Guo <gch981213@gmail.com>
Sat, 7 Sep 2019 13:41:44 +0000 (21:41 +0800)
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 <freifunk@adrianschmutzler.de>
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/dts/mt7620a_buffalo_whr-1166d.dts
target/linux/ramips/dts/mt7620a_buffalo_whr-300hp2.dts
target/linux/ramips/dts/mt7620a_ohyeah_oy-0001.dts
target/linux/ramips/dts/mt7621_asus_rt-ac57u.dts
target/linux/ramips/dts/mt7621_buffalo_wsr-600dhp.dts
target/linux/ramips/dts/mt7621_netgear_r6220.dtsi
target/linux/ramips/dts/mt7621_phicomm_k2p.dts
target/linux/ramips/dts/mt7621_planex_vr500.dts

index e19a618389c7b1ea548bbcbf9630591e61b97240..a6b0177ddeb89fa0a7cdd24f6083ee615b0cee6a 100755 (executable)
@@ -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)
index 9a6ca335a8cad228239c58ec61dd7d3f8c0d1dfc..4be719a2491c10b8994b53946d50766b66ef9678 100644 (file)
        pinctrl-names = "default";
        pinctrl-0 = <&rgmii1_pins &mdio_pins>;
 
+       mtd-mac-address = <&factory 0x4>;
+
        port@5 {
                status = "okay";
                phy-handle = <&phy5>;
index 8a79d6ab054758e0546e6d46983ca2d533c2a415..7dbc58fee77a7dfee988d91e4fd01bef0684142c 100644 (file)
 &ethernet {
        pinctrl-names = "default";
        pinctrl-0 = <&ephy_pins>;
+       mtd-mac-address = <&factory 0x4>;
        mediatek,portmap = "llllw";
 };
 
index 6b93b8d089886d57baacc8edd24a090974a8f16b..a4fd86bbd6b0ab4f6e2db61fa71bd6b0877a6ae0 100644 (file)
 &ethernet {
        pinctrl-names = "default";
        pinctrl-0 = <&ephy_pins>;
+       mtd-mac-address = <&factory 0x28>;
        mediatek,portmap = "llllw";
 };
 
index 8060fd9eaa0195a3e69054d44f9c9ef934d9949e..e589461a4dd208c3752cd9eac5bba121c857e359 100644 (file)
 };
 
 &ethernet {
-       mtd-mac-address = <&factory 0x4e000>;
+       mtd-mac-address = <&factory 0xe000>;
 };
 
 &pinctrl {
index 6e7066d66cbb0ed57928c098322b17f28d1bb77f..3f20002fea4585c58fde7fd3cc1bec3fac849d95 100644 (file)
        };
 };
 
+&ethernet {
+       mtd-mac-address = <&factory 0x4>;
+};
+
 &xhci {
        status = "disabled";
 };
index 17000a5bf29e4461e22a0211ed99a60a1cd47e45..a25a677d3b668421985d1f140f66db12d0bfc46c 100644 (file)
 };
 
 &ethernet {
-       mtd-mac-address = <&factory 0x00000004>;
+       mtd-mac-address = <&factory 0x4>;
 };
 
 &pinctrl {
index a71e5f63b800c3e4b0ded6bc955fb61e0d048802..a2bac13c7ba49802a623940dc53727e0d39b383f 100644 (file)
 };
 
 &ethernet {
-       mtd-mac-address = <&factory 0xe006>;
+       mtd-mac-address = <&factory 0xe000>;
 };
 
 &pinctrl {
index 46980c41361b36561d8f99788e256783ce4f029d..f0116944b1315b199bdf1a5e0050179b6caee313 100644 (file)
        };
 };
 
+&ethernet {
+       mtd-mac-address = <&factory 0xe000>;
+};
+
 &pinctrl {
        state_default: pinctrl0 {
                gpio {