
Add function to populate MAC address for usb ether device to support RNDIS in SPL. Also make arch_misc_init() available when CONFIG_SPL_USBEHT_SUPPORT is defined so that usb_ether_init() is called for am43xx as well.
Signed-off-by: Vignesh R vigneshr@ti.com --- arch/arm/mach-omap2/boot-common.c | 3 ++- board/ti/am43xx/board.c | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-omap2/boot-common.c b/arch/arm/mach-omap2/boot-common.c index 29c8f231917b..fc4c935477cf 100644 --- a/arch/arm/mach-omap2/boot-common.c +++ b/arch/arm/mach-omap2/boot-common.c @@ -194,7 +194,8 @@ void spl_board_init(void) #ifdef CONFIG_SPL_I2C_SUPPORT i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); #endif -#if defined(CONFIG_AM33XX) && defined(CONFIG_SPL_MUSB_NEW_SUPPORT) +#if (defined(CONFIG_AM33XX) && defined(CONFIG_SPL_MUSB_NEW_SUPPORT)) || \ + defined(CONFIG_SPL_USBETH_SUPPORT) arch_misc_init(); #endif #if defined(CONFIG_HW_WATCHDOG) diff --git a/board/ti/am43xx/board.c b/board/ti/am43xx/board.c index a2aefc08530a..73ae8fc1ff96 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -821,6 +821,26 @@ int board_eth_init(bd_t *bis) } #endif
+#if defined(CONFIG_DM_ETH) && defined(CONFIG_SPL_USBETH_SUPPORT) +void board_set_usbnet_devaddr(void) +{ + uint8_t mac_addr[6]; + uint32_t mac_hi, mac_lo; + + mac_lo = readl(&cdev->macid0l); + mac_hi = readl(&cdev->macid0h); + mac_addr[0] = mac_hi & 0xFF; + mac_addr[1] = (mac_hi & 0xFF00) >> 8; + mac_addr[2] = (mac_hi & 0xFF0000) >> 16; + mac_addr[3] = (mac_hi & 0xFF000000) >> 24; + mac_addr[4] = mac_lo & 0xFF; + mac_addr[5] = (mac_lo & 0xFF00) >> 8; + + if (is_valid_ethaddr(mac_addr)) + eth_setenv_enetaddr("usbnet_devaddr", mac_addr); +} +#endif + #ifdef CONFIG_SPL_LOAD_FIT int board_fit_config_name_match(const char *name) {