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