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 <[email protected]>
---
 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

_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to