[U-Boot] [PATCH] sunxi: Add support for eth1addr
Hans de Goede
hdegoede at redhat.com
Sun Jun 26 13:54:37 CEST 2016
Currently we will already fill ethaddr with a fixed unique address
based on the SoCs serial (from the sid) to make sure that boards which
use the integrated emac / gmac get a fixed mac rather then a random one.
On some boards (observed on 2 tablets using sdio rtl8703as wifi chips)
the wifi does not come with a fixed mac either, so also set eth1addr,
so that dts files can set an ethernet1 alias to get mac-address and
local-mac-address filled for dt nodes describing the wifi controller.
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
board/sunxi/board.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index b5a50f4..41d796c 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -641,6 +641,18 @@ int misc_init_r(void)
eth_setenv_enetaddr("ethaddr", mac_addr);
}
+ if (!getenv("eth1addr")) {
+ /* Non OUI / registered MAC address */
+ mac_addr[0] = 0x12;
+ mac_addr[1] = (sid[0] >> 0) & 0xff;
+ mac_addr[2] = (sid[3] >> 24) & 0xff;
+ mac_addr[3] = (sid[3] >> 16) & 0xff;
+ mac_addr[4] = (sid[3] >> 8) & 0xff;
+ mac_addr[5] = (sid[3] >> 0) & 0xff;
+
+ eth_setenv_enetaddr("eth1addr", mac_addr);
+ }
+
if (!getenv("serial#")) {
snprintf(serial_string, sizeof(serial_string),
"%08x%08x", sid[0], sid[3]);
--
2.7.4
More information about the U-Boot
mailing list