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 | |
parent | 7df5cf35de466db4d13b4fc94862248f4445a996 (diff) | |
download | u-boot-imx-d2aa1154b95a211416c1511005451dfcf076dd97.zip u-boot-imx-d2aa1154b95a211416c1511005451dfcf076dd97.tar.gz u-boot-imx-d2aa1154b95a211416c1511005451dfcf076dd97.tar.bz2 |
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>
-rw-r--r-- | board/ti/am335x/board.c | 23 | ||||
-rw-r--r-- | include/configs/am335x_evm.h | 27 |
2 files changed, 48 insertions, 2 deletions
diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index b56a801..f0eca54 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 diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index b6e48f8..ab9549b 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -257,6 +257,33 @@ #define CONFIG_SKIP_LOWLEVEL_INIT #endif +/* + * USB configuration + */ +#define CONFIG_USB_MUSB_DSPS +#define CONFIG_ARCH_MISC_INIT +#define CONFIG_MUSB_GADGET +#define CONFIG_MUSB_PIO_ONLY +#define CONFIG_USB_GADGET_DUALSPEED +#define CONFIG_MUSB_HOST +#define CONFIG_AM335X_USB0 +#define CONFIG_AM335X_USB0_MODE MUSB_PERIPHERAL +#define CONFIG_AM335X_USB1 +#define CONFIG_AM335X_USB1_MODE MUSB_HOST + +#ifdef CONFIG_MUSB_HOST +#define CONFIG_CMD_USB +#define CONFIG_USB_STORAGE +#endif + +#ifdef CONFIG_MUSB_GADGET +#define CONFIG_USB_ETHER +#define CONFIG_USB_ETH_RNDIS +#endif /* CONFIG_MUSB_GADGET */ + +/* Unsupported features */ +#undef CONFIG_USE_IRQ + #define CONFIG_CMD_NET #define CONFIG_CMD_DHCP #define CONFIG_CMD_PING |