Merge git://git.infradead.org/mtd-2.6
[pandora-kernel.git] / arch / arm / mach-omap2 / board-omap3evm.c
index fa1f9d5..7d7b5bc 100644 (file)
@@ -635,7 +635,7 @@ static struct platform_device *omap3_evm_devices[] __initdata = {
        &omap3_evm_dss_device,
 };
 
-static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
+static struct ehci_hcd_omap_platform_data ehci_pdata __initdata = {
 
        .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN,
        .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
@@ -662,6 +662,12 @@ static struct omap_board_mux board_mux[] __initdata = {
 #define board_mux      NULL
 #endif
 
+static struct omap_musb_board_data musb_board_data = {
+       .interface_type         = MUSB_INTERFACE_ULPI,
+       .mode                   = MUSB_OTG,
+       .power                  = 100,
+};
+
 static void __init omap3_evm_init(void)
 {
        omap3_evm_get_revision();
@@ -675,10 +681,10 @@ static void __init omap3_evm_init(void)
                                ARRAY_SIZE(omap3evm_spi_board_info));
 
        omap_serial_init();
-#ifdef CONFIG_NOP_USB_XCEIV
+
        /* OMAP3EVM uses ISP1504 phy and so register nop transceiver */
        usb_nop_xceiv_register();
-#endif
+
        if (get_omap3_evm_rev() >= OMAP3EVM_BOARD_GEN_2) {
                /* enable EHCI VBUS using GPIO22 */
                omap_mux_init_gpio(22, OMAP_PIN_INPUT_PULLUP);
@@ -696,12 +702,15 @@ 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);
                ehci_pdata.reset_gpio_port[1] = 135;
        }
-       usb_musb_init();
+       usb_musb_init(&musb_board_data);
        usb_ehci_init(&ehci_pdata);
        ads7846_dev_init();
        omap3evm_init_smsc911x();