aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/board-overo.c
diff options
context:
space:
mode:
authorFelipe Balbi <felipe.balbi@nokia.com>2009-11-22 13:11:01 -0500
committerTony Lindgren <tony@atomide.com>2009-11-22 13:24:32 -0500
commit58a5491c936957011c92f8cc5097fb3231ee3f9c (patch)
tree8fd45f11ec46785900635279e40fca62cda8ecb5 /arch/arm/mach-omap2/board-overo.c
parent83720a8230f87008deba8619428438f0276b83ca (diff)
omap: Add platform init code for EHCI driver
Add platform init code for EHCI driver. Various fixes to the original patch by Ajay Kumar Gupta <ajay.gupta@ti.com> and Anand Gadiyar <gadiyar@ti.com>. Overo support added by Olof Johansson <olof@lixom.net> Beagle support added by Koen Kooi <koen@beagleboard.org> CM-T32 support added by Mike Rapoport <mike@compulab.co.il> Signed-off-by: Signed-off-by: Olof Johansson <olof@lixom.net> Acked-by: Steve Sakoman <steve@sakoman.com> Signed-off-by: Koen Kooi <koen@beagleboard.org> Signed-off-by: Mike Rapoport <mike@compulab.co.il> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Signed-off-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
Diffstat (limited to 'arch/arm/mach-omap2/board-overo.c')
-rw-r--r--arch/arm/mach-omap2/board-overo.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
index 59d0dfa0eae8..52dfd51a938e 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
@@ -394,6 +394,18 @@ static struct platform_device *overo_devices[] __initdata = {
394 &overo_lcd_device, 394 &overo_lcd_device,
395}; 395};
396 396
397static struct ehci_hcd_omap_platform_data ehci_pdata __initconst = {
398 .port_mode[0] = EHCI_HCD_OMAP_MODE_UNKNOWN,
399 .port_mode[1] = EHCI_HCD_OMAP_MODE_PHY,
400 .port_mode[2] = EHCI_HCD_OMAP_MODE_UNKNOWN,
401
402 .phy_reset = true,
403 .reset_gpio_port[0] = -EINVAL,
404 .reset_gpio_port[1] = OVERO_GPIO_USBH_NRESET,
405 .reset_gpio_port[2] = -EINVAL
406};
407
408
397static void __init overo_init(void) 409static void __init overo_init(void)
398{ 410{
399 overo_i2c_init(); 411 overo_i2c_init();
@@ -401,6 +413,7 @@ static void __init overo_init(void)
401 omap_serial_init(); 413 omap_serial_init();
402 overo_flash_init(); 414 overo_flash_init();
403 usb_musb_init(); 415 usb_musb_init();
416 usb_ehci_init(&ehci_pdata);
404 overo_ads7846_init(); 417 overo_ads7846_init();
405 overo_init_smsc911x(); 418 overo_init_smsc911x();
406 419
@@ -443,14 +456,6 @@ static void __init overo_init(void)
443 else 456 else
444 printk(KERN_ERR "could not obtain gpio for " 457 printk(KERN_ERR "could not obtain gpio for "
445 "OVERO_GPIO_USBH_CPEN\n"); 458 "OVERO_GPIO_USBH_CPEN\n");
446
447 if ((gpio_request(OVERO_GPIO_USBH_NRESET,
448 "OVERO_GPIO_USBH_NRESET") == 0) &&
449 (gpio_direction_output(OVERO_GPIO_USBH_NRESET, 1) == 0))
450 gpio_export(OVERO_GPIO_USBH_NRESET, 0);
451 else
452 printk(KERN_ERR "could not obtain gpio for "
453 "OVERO_GPIO_USBH_NRESET\n");
454} 459}
455 460
456static void __init overo_map_io(void) 461static void __init overo_map_io(void)