diff options
author | Robert Jarzmik <robert.jarzmik@free.fr> | 2009-01-25 08:57:30 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-03-25 00:20:27 +0100 |
commit | 7fec3c25b773883bd50c4078bcccdd23d3dadeac (patch) | |
tree | 42d46e065d2408a34c0a255e8ac1dfcb71c85972 /drivers/usb/gadget/pxa27x_udc.h | |
parent | USB: pxa27x_udc: add vbus session handling (diff) | |
download | linux-7fec3c25b773883bd50c4078bcccdd23d3dadeac.tar.xz linux-7fec3c25b773883bd50c4078bcccdd23d3dadeac.zip |
USB: pxa27x_udc: add otg transceiver support
When a transceiver driver is used, no automatic udc enable
is done. The transceiver (OTG or not) should :
- take care of VBus sensing
- call usb_gadget_vbus_connect()
- call usb_gadget_vbus_disconnect()
The pullup should remain within this driver's management,
either by gpio_pullup of udc_command() fields.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/pxa27x_udc.h')
-rw-r--r-- | drivers/usb/gadget/pxa27x_udc.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/usb/gadget/pxa27x_udc.h b/drivers/usb/gadget/pxa27x_udc.h index 64741e199204..db58125331da 100644 --- a/drivers/usb/gadget/pxa27x_udc.h +++ b/drivers/usb/gadget/pxa27x_udc.h @@ -26,6 +26,7 @@ #include <linux/types.h> #include <linux/spinlock.h> #include <linux/io.h> +#include <linux/usb/otg.h> /* * Register definitions @@ -421,6 +422,7 @@ struct udc_stats { * @driver: bound gadget (zero, g_ether, g_file_storage, ...) * @dev: device * @mach: machine info, used to activate specific GPIO + * @transceiver: external transceiver to handle vbus sense and D+ pullup * @ep0state: control endpoint state machine state * @stats: statistics on udc usage * @udc_usb_ep: array of usb endpoints offered by the gadget @@ -446,6 +448,7 @@ struct pxa_udc { struct usb_gadget_driver *driver; struct device *dev; struct pxa2xx_udc_mach_info *mach; + struct otg_transceiver *transceiver; enum ep0_state ep0state; struct udc_stats stats; |