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 <aford...@gmail.com> --- board/logicpd/omap3som/omap3logic.c | 37 +++++++++++++++++++++++++++++++++++++ include/configs/omap3_logic.h | 21 +++++++++++++++++++++ 2 files changed, 58 insertions(+) diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c index 05f6587..345bc93 100644 --- a/board/logicpd/omap3som/omap3logic.c +++ b/board/logicpd/omap3som/omap3logic.c @@ -27,6 +27,11 @@ #include <asm/gpio.h> #include <asm/mach-types.h> #include <linux/mtd/nand.h> +#include <asm/omap_musb.h> +#include <asm/errno.h> +#include <linux/usb/ch9.h> +#include <linux/usb/gadget.h> +#include <linux/usb/musb.h> #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 b2778ca..1e00455 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 -- 1.9.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot