Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * linux/include/asm-arm/arch-pxa/udc.h |
| 3 | * |
| 4 | * This supports machine-specific differences in how the PXA2xx |
| 5 | * USB Device Controller (UDC) is wired. |
| 6 | * |
| 7 | * It is set in linux/arch/arm/mach-pxa/<machine>.c and used in |
| 8 | * the probe routine of linux/drivers/usb/gadget/pxa2xx_udc.c |
| 9 | */ |
| 10 | struct pxa2xx_udc_mach_info { |
| 11 | int (*udc_is_connected)(void); /* do we see host? */ |
| 12 | void (*udc_command)(int cmd); |
| 13 | #define PXA2XX_UDC_CMD_CONNECT 0 /* let host see us */ |
| 14 | #define PXA2XX_UDC_CMD_DISCONNECT 1 /* so host won't see us */ |
David Brownell | b2bbb20 | 2006-06-29 12:25:39 -0700 | [diff] [blame^] | 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 */ |
Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 23 | }; |
| 24 | |
| 25 | extern void pxa_set_udc_info(struct pxa2xx_udc_mach_info *info); |
| 26 | |