From: Adam Ford Date: Sun, 31 Jan 2016 19:34:39 +0000 (-0600) Subject: OMAP3: omap3_logic: Enable Android Fastboot X-Git-Tag: v2016.03-rc2~69 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=588e41d2c7cd689295822e8fb00428aa8d91a580;p=u-boot OMAP3: omap3_logic: Enable Android Fastboot Android Fastboot requires USB. The TWL4030 PMIC on omap3_logic handles USB traffic. This patch sets up the USB gadget and Android Fastboot to match what is done in the omap3_beagle project. Signed-off-by: Adam Ford Reviewed-by: Tom Rini --- diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c index 27ea4bbe4f..b5c44f915b 100644 --- a/board/logicpd/omap3som/omap3logic.c +++ b/board/logicpd/omap3som/omap3logic.c @@ -27,6 +27,11 @@ #include #include #include +#include +#include +#include +#include +#include #include "omap3logic.h" DECLARE_GLOBAL_DATA_PTR; @@ -105,6 +110,34 @@ void get_board_mem_timings(struct board_sdrc_timings *timings) } #endif +#ifdef CONFIG_USB_MUSB_OMAP2PLUS +static struct musb_hdrc_config musb_config = { + .multipoint = 1, + .dyn_fifo = 1, + .num_eps = 16, + .ram_bits = 12, +}; + +static struct omap_musb_board_data musb_board_data = { + .interface_type = MUSB_INTERFACE_ULPI, +}; + +static struct musb_hdrc_platform_data musb_plat = { +#if defined(CONFIG_USB_MUSB_HOST) + .mode = MUSB_HOST, +#elif defined(CONFIG_USB_MUSB_GADGET) + .mode = MUSB_PERIPHERAL, +#else +#error "Please define either CONFIG_USB_MUSB_HOST or CONFIG_USB_MUSB_GADGET" +#endif + .config = &musb_config, + .power = 100, + .platform_ops = &omap2430_ops, + .board_data = &musb_board_data, +}; +#endif + + /* * Routine: misc_init_r * Description: Configure board specific parts @@ -126,6 +159,10 @@ int misc_init_r(void) omap_die_id_display(); putc('\n'); +#ifdef CONFIG_USB_MUSB_OMAP2PLUS + musb_register(&musb_plat, &musb_board_data, (void *)MUSB_BASE); +#endif + return 0; } diff --git a/include/configs/omap3_logic.h b/include/configs/omap3_logic.h index b2778cab0b..1e00455ddd 100644 --- a/include/configs/omap3_logic.h +++ b/include/configs/omap3_logic.h @@ -74,8 +74,29 @@ #define EXPANSION_EEPROM_I2C_BUS 2 /* I2C Bus for AT24C64 */ #define CONFIG_OMAP3_LOGIC_USE_NEW_PRODUCT_ID +/* USB */ +#define CONFIG_USB_MUSB_GADGET +#define CONFIG_USB_MUSB_OMAP2PLUS +#define CONFIG_USB_MUSB_PIO_ONLY +#define CONFIG_USB_GADGET_DUALSPEED +#define CONFIG_USB_ETHER +#define CONFIG_USB_ETHER_RNDIS +#define CONFIG_USB_GADGET +#define CONFIG_USB_GADGET_VBUS_DRAW 0 +#define CONFIG_USB_GADGET_DOWNLOAD +#define CONFIG_G_DNL_VENDOR_NUM 0x0451 +#define CONFIG_G_DNL_PRODUCT_NUM 0xd022 +#define CONFIG_G_DNL_MANUFACTURER "TI" +#define CONFIG_USB_FUNCTION_FASTBOOT +#define CONFIG_CMD_FASTBOOT +#define CONFIG_ANDROID_BOOT_IMAGE +#define CONFIG_FASTBOOT_BUF_ADDR CONFIG_SYS_LOAD_ADDR +#define CONFIG_FASTBOOT_BUF_SIZE 0x07000000 +#define CONFIG_SYS_CACHELINE_SIZE 64 + /* TWL4030 */ #define CONFIG_TWL4030_PWM +#define CONFIG_TWL4030_USB /* Board NAND Info. */ #ifdef CONFIG_NAND