diff options
author | Felipe Balbi <felipe.balbi@nokia.com> | 2009-11-22 13:11:01 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2009-11-22 13:24:32 -0500 |
commit | 58a5491c936957011c92f8cc5097fb3231ee3f9c (patch) | |
tree | 8fd45f11ec46785900635279e40fca62cda8ecb5 /arch/arm/mach-omap2/board-overo.c | |
parent | 83720a8230f87008deba8619428438f0276b83ca (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.c | 21 |
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 | ||
397 | static 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 | |||
397 | static void __init overo_init(void) | 409 | static 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 | ||
456 | static void __init overo_map_io(void) | 461 | static void __init overo_map_io(void) |