diff options
author | Ilya Yanok <ilya.yanok@cogentembedded.com> | 2012-11-06 13:48:24 +0000 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2012-11-20 00:16:07 +0100 |
commit | d2aa1154b95a211416c1511005451dfcf076dd97 (patch) | |
tree | a08ad7737af2a44ff3eb82d24d204cece4ca2ad4 /board | |
parent | 7df5cf35de466db4d13b4fc94862248f4445a996 (diff) |
am335x_evm: enable both musb gadget and host
Enable musb gadget in Ethernet mode on port 0 and
musb host on port1.
Signed-off-by: Ilya Yanok <ilya.yanok@cogentembedded.com>
Diffstat (limited to 'board')
-rw-r--r-- | board/ti/am335x/board.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index b56a801a4d0..f0eca54c9e9 100644 --- a/board/ti/am335x/board.c +++ b/board/ti/am335x/board.c @@ -379,9 +379,14 @@ static struct cpsw_platform_data cpsw_data = { .host_port_num = 0, .version = CPSW_CTRL_VERSION_2, }; +#endif +#if defined(CONFIG_DRIVER_TI_CPSW) || \ + (defined(CONFIG_USB_ETHER) && defined(CONFIG_MUSB_GADGET)) int board_eth_init(bd_t *bis) { + int rv, n = 0; +#ifdef CONFIG_DRIVER_TI_CPSW uint8_t mac_addr[6]; uint32_t mac_hi, mac_lo; @@ -400,7 +405,7 @@ int board_eth_init(bd_t *bis) if (is_valid_ether_addr(mac_addr)) eth_setenv_enetaddr("ethaddr", mac_addr); else - return -1; + goto try_usbether; } if (board_is_bone() || board_is_bone_lt() || board_is_idk()) { @@ -413,6 +418,20 @@ int board_eth_init(bd_t *bis) PHY_INTERFACE_MODE_RGMII; } - return cpsw_register(&cpsw_data); + rv = cpsw_register(&cpsw_data); + if (rv < 0) + printf("Error %d registering CPSW switch\n", rv); + else + n += rv; +#endif +try_usbether: +#if defined(CONFIG_USB_ETHER) && !defined(CONFIG_SPL_BUILD) + rv = usb_eth_initialize(bis); + if (rv < 0) + printf("Error %d registering USB_ETHER\n", rv); + else + n += rv; +#endif + return n; } #endif |