summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/at91sam9x5_devices.c
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2013-01-21 21:09:55 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-01-23 08:57:22 +0100
commitdfbb16a9add43bfb1aead4ef36e84ca3aaf9da21 (patch)
treea042dc1774614a6721a7b70456510c2556b3befb /arch/arm/mach-at91/at91sam9x5_devices.c
parentb46b81feba22ab8bfd75086bd4513e4a4b9983ea (diff)
downloadbarebox-dfbb16a9add43bfb1aead4ef36e84ca3aaf9da21.tar.gz
barebox-dfbb16a9add43bfb1aead4ef36e84ca3aaf9da21.tar.xz
at91sam9x5: add ehci support
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-at91/at91sam9x5_devices.c')
-rw-r--r--arch/arm/mach-at91/at91sam9x5_devices.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91sam9x5_devices.c b/arch/arm/mach-at91/at91sam9x5_devices.c
index 71057a5bf2..8e59fe0113 100644
--- a/arch/arm/mach-at91/at91sam9x5_devices.c
+++ b/arch/arm/mach-at91/at91sam9x5_devices.c
@@ -56,6 +56,28 @@ void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data)
void __init at91_add_device_usbh_ohci(struct at91_usbh_data *data) {}
#endif
+#if defined(CONFIG_USB_EHCI)
+void __init at91_add_device_usbh_ehci(struct at91_usbh_data *data)
+{
+ int i;
+
+ if (!data)
+ return;
+
+ /* Enable VBus control for UHP ports */
+ for (i = 0; i < data->ports; i++) {
+ if (gpio_is_valid(data->vbus_pin[i]))
+ at91_set_gpio_output(data->vbus_pin[i],
+ data->vbus_pin_active_low[i]);
+ }
+
+ add_generic_device("atmel-ehci", DEVICE_ID_SINGLE, NULL, AT91SAM9X5_EHCI_BASE,
+ 1024 * 1024, IORESOURCE_MEM, data);
+}
+#else
+void __init at91_add_device_usbh_ehci(struct at91_usbh_data *data) {}
+#endif
+
#if defined(CONFIG_DRIVER_NET_MACB)
void at91_add_device_eth(int id, struct at91_ether_platform_data *data)
{