blob: c6c5e98b5b8230b7ddd09baeb7c071be3c97b5eb [file] [log] [blame]
Milan Svobodaaed6fad2006-11-29 12:09:52 +01001/*
Milan Svobodaaed6fad2006-11-29 12:09:52 +01002 * This supports machine-specific differences in how the PXA2xx
3 * USB Device Controller (UDC) is wired.
4 *
5 * It is set in linux/arch/arm/mach-pxa/<machine>.c or in
6 * linux/arch/mach-ixp4xx/<machine>.c and used in
7 * the probe routine of linux/drivers/usb/gadget/pxa2xx_udc.c
8 */
Russell King46000062012-09-21 10:23:44 +01009#ifndef PXA2XX_UDC_H
10#define PXA2XX_UDC_H
Milan Svobodaaed6fad2006-11-29 12:09:52 +010011
12struct pxa2xx_udc_mach_info {
13 int (*udc_is_connected)(void); /* do we see host? */
14 void (*udc_command)(int cmd);
15#define PXA2XX_UDC_CMD_CONNECT 0 /* let host see us */
16#define PXA2XX_UDC_CMD_DISCONNECT 1 /* so host won't see us */
17
18 /* Boards following the design guidelines in the developer's manual,
Joe Perches84c07922008-02-03 16:50:59 +020019 * with on-chip GPIOs not Lubbock's weird hardware, can have a sane
Milan Svobodaaed6fad2006-11-29 12:09:52 +010020 * VBUS IRQ and omit the methods above. Store the GPIO number
Russell King73b610a2008-09-25 13:35:27 +010021 * here. Note that sometimes the signals go through inverters...
Milan Svobodaaed6fad2006-11-29 12:09:52 +010022 */
Ian Molton8fb105f2008-06-25 22:34:51 +010023 bool gpio_pullup_inverted;
Steve Bennett390daa02010-04-21 16:30:33 +100024 int gpio_pullup; /* high == pullup activated */
Milan Svobodaaed6fad2006-11-29 12:09:52 +010025};
26
Russell King46000062012-09-21 10:23:44 +010027#endif