summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-at91/at91sam9261_devices.c
diff options
context:
space:
mode:
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>2011-07-13 11:29:18 +0200
committerArnd Bergmann <arnd@arndb.de>2011-09-10 23:03:13 +0200
commit1fcaea7e4c932b2bcc2612fafec6e1917944d192 (patch)
treea0b1d124ee43fb9496914c779e8aeafcdb731df9 /arch/arm/mach-at91/at91sam9261_devices.c
parentaa6e52a35d388e730f4df0ec2ec48294590cc459 (diff)
downloadlinux-1fcaea7e4c932b2bcc2612fafec6e1917944d192.tar.gz
linux-1fcaea7e4c932b2bcc2612fafec6e1917944d192.tar.bz2
linux-1fcaea7e4c932b2bcc2612fafec6e1917944d192.zip
at91: at91-ohci: configure overcurrent pins as input GPIOs
As a new overcurrent_pin[] array has been added to the at91_usbh_data structure, those pins must be muxed to work properly. This commit implements this muxing for all AT91 SoCs that support the AT91 OHCI. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [nicolas.ferre@atmel.com: added i variable declaration for the loop] Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Diffstat (limited to 'arch/arm/mach-at91/at91sam9261_devices.c')
-rw-r--r--arch/arm/mach-at91/at91sam9261_devices.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91sam9261_devices.c b/arch/arm/mach-at91/at91sam9261_devices.c
index 0f917928eeb7..3b8fb79d6b10 100644
--- a/arch/arm/mach-at91/at91sam9261_devices.c
+++ b/arch/arm/mach-at91/at91sam9261_devices.c
@@ -64,9 +64,17 @@ static struct platform_device at91sam9261_usbh_device = {
void __init at91_add_device_usbh(struct at91_usbh_data *data)
{
+ int i;
+
if (!data)
return;
+ /* Enable overcurrent notification */
+ for (i = 0; i < data->ports; i++) {
+ if (data->overcurrent_pin[i])
+ at91_set_gpio_input(data->overcurrent_pin[i], 1);
+ }
+
usbh_data = *data;
platform_device_register(&at91sam9261_usbh_device);
}