usb: musb: Add extvbus in musb_board_data
authorAjay Kumar Gupta <ajay.gupta@ti.com>
Thu, 25 Mar 2010 11:25:27 +0000 (13:25 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 20 May 2010 20:21:36 +0000 (13:21 -0700)
EXTVBUS programming is required by OMAP3EVM REV >=E to supply 500mA
power so adding a flag which can be used by musb driver to program
EXTVBUS.

Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/arm/mach-omap2/board-omap3evm.c
arch/arm/mach-omap2/usb-musb.c
arch/arm/plat-omap/include/plat/usb.h

index 017bb2f..7d7b5bc 100644 (file)
@@ -702,6 +702,9 @@ static void __init omap3_evm_init(void)
                omap_mux_init_gpio(21, OMAP_PIN_INPUT_PULLUP);
                ehci_pdata.reset_gpio_port[1] = 21;
 
+               /* EVM REV >= E can supply 500mA with EXTVBUS programming */
+               musb_board_data.power = 500;
+               musb_board_data.extvbus = 1;
        } else {
                /* setup EHCI phy reset on MDC */
                omap_mux_init_gpio(135, OMAP_PIN_OUTPUT);
index 6d41fa7..96f6787 100644 (file)
@@ -107,6 +107,7 @@ void __init usb_musb_init(struct omap_musb_board_data *board_data)
        musb_plat.board_data = board_data;
        musb_plat.power = board_data->power >> 1;
        musb_plat.mode = board_data->mode;
+       musb_plat.extvbus = board_data->extvbus;
 
        if (platform_device_register(&musb_device) < 0)
                printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n");
index 876ca8d..60c734f 100644 (file)
@@ -47,6 +47,7 @@ struct omap_musb_board_data {
        u8      interface_type;
        u8      mode;
        u16     power;
+       unsigned extvbus:1;
 };
 
 enum musb_interface    {MUSB_INTERFACE_ULPI, MUSB_INTERFACE_UTMI};