[U-Boot] [PATCH 09/11] am43xx: Add USB device boot support

Vignesh R vigneshr at ti.com
Tue May 23 11:55:44 UTC 2017


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 at 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 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



More information about the U-Boot mailing list