pxa2xx_udc.h 944 B

123456789101112131415161718192021222324252627
  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. struct pxa2xx_udc_mach_info {
  12. int (*udc_is_connected)(void); /* do we see host? */
  13. void (*udc_command)(int cmd);
  14. #define PXA2XX_UDC_CMD_CONNECT 0 /* let host see us */
  15. #define PXA2XX_UDC_CMD_DISCONNECT 1 /* so host won't see us */
  16. /* Boards following the design guidelines in the developer's manual,
  17. * with on-chip GPIOs not Lubbock's weird hardware, can have a sane
  18. * VBUS IRQ and omit the methods above. Store the GPIO number
  19. * here. Note that sometimes the signals go through inverters...
  20. */
  21. bool gpio_pullup_inverted;
  22. int gpio_pullup; /* high == pullup activated */
  23. };
  24. #endif