ramips: fix MAC address setup for Newifi Y1 and Y1S

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>
This commit is contained in:
Adrian Schmutzler 2019-08-16 15:39:43 +02:00 committed by Chuanhong Guo
parent aaf90d8808
commit 869a0183b9
3 changed files with 4 additions and 4 deletions

View File

@ -512,6 +512,8 @@ ramips_setup_macs()
alfa-network,w502u|\ alfa-network,w502u|\
arcwireless,freestation5|\ arcwireless,freestation5|\
cudy,wr1000|\ cudy,wr1000|\
lenovo,newifi-y1|\
lenovo,newifi-y1s|\
netgear,wnce2001|\ netgear,wnce2001|\
ohyeah,oy-0001|\ ohyeah,oy-0001|\
phicomm,k2g|\ phicomm,k2g|\
@ -528,8 +530,6 @@ ramips_setup_macs()
huawei,d105|\ huawei,d105|\
hilink,hlk-7628n|\ hilink,hlk-7628n|\
hilink,hlk-rm04|\ hilink,hlk-rm04|\
lenovo,newifi-y1|\
lenovo,newifi-y1s|\
nexaira,bc2|\ nexaira,bc2|\
petatel,psr-680w|\ petatel,psr-680w|\
skyline,sl-r7205) skyline,sl-r7205)

View File

@ -53,6 +53,6 @@
&ethernet { &ethernet {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&ephy_pins>; pinctrl-0 = <&ephy_pins>;
mtd-mac-address = <&factory 0x4>; mtd-mac-address = <&factory 0x28>;
mediatek,portmap = "llllw"; mediatek,portmap = "llllw";
}; };

View File

@ -78,7 +78,7 @@
&ethernet { &ethernet {
status = "okay"; status = "okay";
mtd-mac-address = <&factory 0x4>; mtd-mac-address = <&factory 0x28>;
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>; pinctrl-0 = <&rgmii1_pins &rgmii2_pins &mdio_pins>;
mediatek,portmap = "wllll"; mediatek,portmap = "wllll";