ramips: fix MAC address setup for Newifi Y1 and Y1S
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Fri, 16 Aug 2019 13:39:43 +0000 (15:39 +0200)
committerChuanhong Guo <gch981213@gmail.com>
Sat, 7 Sep 2019 13:41:44 +0000 (21:41 +0800)
So far, MAC address setup for those devices has been using local
addresses although additional MAC addresses are available on flash.

On device, we found the following situation:
position   Y1     Y1S
0x4        *:d4   *:e4
0x8004     *:d6   *:e8
0x28       *:d4   *:e4
0x2e       *:d7   *:eb

Since 0x4 and 0x28 yield the same address, the former was set for
&ethernet in DTS. However, the typical location on this
architecture is 0x28, so this patch changes that.

For further setup in 02_network, the local bit for lan_mac is
removed, so the address from &ethernet is used at all. For wan_mac,
instead of calculating an address with local bit set, this patch
exploits the previously unused address in 0x2e.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/dts/mt7620a_lenovo_newifi-y1.dts
target/linux/ramips/dts/mt7620a_lenovo_newifi-y1s.dts

index b80041c2abc2ed7a5d8d895c2d83d2c0dfa72c8b..b4634e09285ebd8fabd9f27ce24fe9e76706b4b6 100755 (executable)
@@ -512,6 +512,8 @@ ramips_setup_macs()
        alfa-network,w502u|\
        arcwireless,freestation5|\
        cudy,wr1000|\
+       lenovo,newifi-y1|\
+       lenovo,newifi-y1s|\
        netgear,wnce2001|\
        ohyeah,oy-0001|\
        phicomm,k2g|\
@@ -528,8 +530,6 @@ ramips_setup_macs()
        huawei,d105|\
        hilink,hlk-7628n|\
        hilink,hlk-rm04|\
-       lenovo,newifi-y1|\
-       lenovo,newifi-y1s|\
        nexaira,bc2|\
        petatel,psr-680w|\
        skyline,sl-r7205)
index c573a28d73d6f8bf29a344f3df1d9993eecf1c26..b8c0ec8a836979d22c8b998153ce138d593e6d77 100644 (file)
@@ -53,6 +53,6 @@
 &ethernet {
        pinctrl-names = "default";
        pinctrl-0 = <&ephy_pins>;
-       mtd-mac-address = <&factory 0x4>;
+       mtd-mac-address = <&factory 0x28>;
        mediatek,portmap = "llllw";
 };
index 007e0e69e81a8b9bc194b3dbcfe0d327fc561c90..bf51329114c4103870c8ad2feaeeef5f5d487270 100644 (file)
@@ -78,7 +78,7 @@
 
 &ethernet {
        status = "okay";
-       mtd-mac-address = <&factory 0x4>;
+       mtd-mac-address = <&factory 0x28>;
        pinctrl-names = "default";
        pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
        mediatek,portmap = "wllll";