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 | olio-uboot-2014.01-d2aa1154b95a211416c1511005451dfcf076dd97.tar.xz olio-uboot-2014.01-d2aa1154b95a211416c1511005451dfcf076dd97.zip | |
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 b56a801a4..f0eca54c9 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 b6e48f8a6..ab9549b93 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 |