pxa2xx_udc.h 983 B

1234567891011121314151617181920212223242526272829
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * This supports machine-specific differences in how the PXA2xx
  4. * USB Device Controller (UDC) is wired.
  5. *
  6. * It is set in linux/arch/arm/mach-pxa/<machine>.c or in
  7. * linux/arch/mach-ixp4xx/<machine>.c and used in
  8. * the probe routine of linux/drivers/usb/gadget/pxa2xx_udc.c
  9. */
  10. #ifndef PXA2XX_UDC_H
  11. #define PXA2XX_UDC_H
  12. struct 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. /* Boards following the design guidelines in the developer's manual,
  18. * with on-chip GPIOs not Lubbock's weird hardware, can have a sane
  19. * VBUS IRQ and omit the methods above. Store the GPIO number
  20. * here. Note that sometimes the signals go through inverters...
  21. */
  22. bool gpio_pullup_inverted;
  23. int gpio_pullup; /* high == pullup activated */
  24. };
  25. #endif