diff options
author | David Brownell <david-b@pacbell.net> | 2006-06-29 15:25:39 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-09-27 14:58:48 -0400 |
commit | b2bbb20b37d734443d1c279d0033a64f6095db54 (patch) | |
tree | 067510f143dcb0e4f938f932994e5ac34f5da6b9 /include/asm-arm/arch-pxa | |
parent | 3a16f7b4a75d68364c3278523f51ac141a12758a (diff) |
USB: pxa2xx_udc understands GPIO based VBUS sensing
This updates the PXA 25x UDC board-independent infrastructure for VBUS sensing
and the D+ pullup. The original code evolved from rather bizarre support on
Intel's "Lubbock" reference hardware, so that on more sensible hardware it
doesn't work as well as it could/should.
The change is just to teach the UDC driver how to use built-in PXA GPIO pins
directly. This reduces the amount of board-specfic object code needed, and
enables the use of a VBUS sensing IRQ on boards (like Gumstix) that have one.
With VBUS sensing, the UDC is unclocked until a host is actually connected.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/asm-arm/arch-pxa')
-rw-r--r-- | include/asm-arm/arch-pxa/udc.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/include/asm-arm/arch-pxa/udc.h b/include/asm-arm/arch-pxa/udc.h index 30548a30c773..121cd241115d 100644 --- a/include/asm-arm/arch-pxa/udc.h +++ b/include/asm-arm/arch-pxa/udc.h | |||
@@ -12,6 +12,14 @@ struct pxa2xx_udc_mach_info { | |||
12 | void (*udc_command)(int cmd); | 12 | void (*udc_command)(int cmd); |
13 | #define PXA2XX_UDC_CMD_CONNECT 0 /* let host see us */ | 13 | #define PXA2XX_UDC_CMD_CONNECT 0 /* let host see us */ |
14 | #define PXA2XX_UDC_CMD_DISCONNECT 1 /* so host won't see us */ | 14 | #define PXA2XX_UDC_CMD_DISCONNECT 1 /* so host won't see us */ |
15 | |||
16 | /* Boards following the design guidelines in the developer's manual, | ||
17 | * with on-chip GPIOs not Lubbock's wierd hardware, can have a sane | ||
18 | * VBUS IRQ and omit the methods above. Store the GPIO number | ||
19 | * here; for GPIO 0, also mask in one of the pxa_gpio_mode() bits. | ||
20 | */ | ||
21 | u16 gpio_vbus; /* high == vbus present */ | ||
22 | u16 gpio_pullup; /* high == pullup activated */ | ||
15 | }; | 23 | }; |
16 | 24 | ||
17 | extern void pxa_set_udc_info(struct pxa2xx_udc_mach_info *info); | 25 | extern void pxa_set_udc_info(struct pxa2xx_udc_mach_info *info); |