hc
2024-03-26 e0728245c89800c2038c23308f2d88969d5b41c8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/* SPDX-License-Identifier: GPL-2.0 */
/*
 * This supports machine-specific differences in how the PXA2xx
 * USB Device Controller (UDC) is wired.
 *
 * It is set in linux/arch/arm/mach-pxa/<machine>.c or in
 * linux/arch/mach-ixp4xx/<machine>.c and used in
 * the probe routine of linux/drivers/usb/gadget/pxa2xx_udc.c
 */
#ifndef PXA2XX_UDC_H
#define PXA2XX_UDC_H
 
struct pxa2xx_udc_mach_info {
        int  (*udc_is_connected)(void);        /* do we see host? */
        void (*udc_command)(int cmd);
#define    PXA2XX_UDC_CMD_CONNECT        0    /* let host see us */
#define    PXA2XX_UDC_CMD_DISCONNECT    1    /* so host won't see us */
 
   /* Boards following the design guidelines in the developer's manual,
    * with on-chip GPIOs not Lubbock's weird hardware, can have a sane
    * VBUS IRQ and omit the methods above.  Store the GPIO number
    * here.  Note that sometimes the signals go through inverters...
    */
   bool    gpio_pullup_inverted;
   int    gpio_pullup;            /* high == pullup activated */
};
 
#endif