diff options
| author | David Brownell <david-b@pacbell.net> | 2006-06-29 12:25:39 -0700 | 
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2006-09-27 11:58:48 -0700 | 
| commit | b2bbb20b37d734443d1c279d0033a64f6095db54 (patch) | |
| tree | 067510f143dcb0e4f938f932994e5ac34f5da6b9 /include | |
| 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')
| -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 {          void (*udc_command)(int cmd);  #define	PXA2XX_UDC_CMD_CONNECT		0	/* let host see us */  #define	PXA2XX_UDC_CMD_DISCONNECT	1	/* so host won't see us */ + +	/* Boards following the design guidelines in the developer's manual, +	 * with on-chip GPIOs not Lubbock's wierd hardware, can have a sane +	 * VBUS IRQ and omit the methods above.  Store the GPIO number +	 * here; for GPIO 0, also mask in one of the pxa_gpio_mode() bits. +	 */ +	u16	gpio_vbus;			/* high == vbus present */ +	u16	gpio_pullup;			/* high == pullup activated */  };  extern void pxa_set_udc_info(struct pxa2xx_udc_mach_info *info); | 
