From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vignesh R Date: Tue, 23 May 2017 17:25:44 +0530 Subject: [U-Boot] [PATCH 09/11] am43xx: Add USB device boot support In-Reply-To: <20170523115546.399-1-vigneshr@ti.com> References: <20170523115546.399-1-vigneshr@ti.com> Message-ID: <20170523115546.399-10-vigneshr@ti.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 --- 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 f6b36949f756..da72d6e58448 100644 --- a/board/ti/am43xx/board.c +++ b/board/ti/am43xx/board.c @@ -813,6 +813,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) { -- 2.13.0