1/* 2 * 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 */ 9#ifndef PXA2XX_UDC_H 10#define PXA2XX_UDC_H 11 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, 19 * with on-chip GPIOs not Lubbock's weird hardware, can have a sane 20 * VBUS IRQ and omit the methods above. Store the GPIO number 21 * here. Note that sometimes the signals go through inverters... 22 */ 23 bool gpio_pullup_inverted; 24 int gpio_pullup; /* high == pullup activated */ 25}; 26 27#endif 28