diff options
author | Andrew Victor <andrew@sanpeople.com> | 2006-02-22 21:23:35 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-02-22 21:23:35 +0000 |
commit | df666b9c510fd27fd3b1afd9ddfa1eaa62ce12b3 (patch) | |
tree | 825879502f74636641a86724514f2ea4e3c9c240 /arch/arm/mach-at91rm9200/devices.c | |
parent | 43cc19816b3fc5286258e6f5e43ef4ead458f9a3 (diff) |
[ARM] 3325/2: GPIO function to control multi-drive (open collector) capability
Patch from Andrew Victor
This patch adds the at91_set_multi_drive() function to enable/disable
the multi-drive (open collector) pin capability on the AT91RM9200
processor.
This is necessary to fix the UDC (USB Gadget) driver for the AT91RM9200
board as it will not allow the board reset line to be pulled low if the
pullup is not driven as an open collector output as the boards are wired
to the USB connector on both the DK/EK.
This version of the patch updates it to 2.6.16-rc4.
Orignal patch by Jeff Warren.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-at91rm9200/devices.c')
-rw-r--r-- | arch/arm/mach-at91rm9200/devices.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-at91rm9200/devices.c b/arch/arm/mach-at91rm9200/devices.c index 8df3e524565..57eedd5beaf 100644 --- a/arch/arm/mach-at91rm9200/devices.c +++ b/arch/arm/mach-at91rm9200/devices.c @@ -100,8 +100,10 @@ void __init at91_add_device_udc(struct at91_udc_data *data) at91_set_gpio_input(data->vbus_pin, 0); at91_set_deglitch(data->vbus_pin, 1); } - if (data->pullup_pin) + if (data->pullup_pin) { at91_set_gpio_output(data->pullup_pin, 0); + at91_set_multi_drive(data->pullup_pin, 1); + } udc_data = *data; platform_device_register(&at91rm9200_udc_device); |