hc
2024-03-22 a0752693d998599af469473b8dc239ef973a012f
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 * Platform data for OMAP1 USB
 *
 * This file is subject to the terms and conditions of the GNU General Public
 * License. See the file "COPYING" in the main directory of this archive for
 * more details.
 */
#ifndef __LINUX_USB_OMAP1_H
#define __LINUX_USB_OMAP1_H
 
#include <linux/platform_device.h>
 
struct omap_usb_config {
   /* Configure drivers according to the connectors on your board:
    *  - "A" connector (rectagular)
    *    ... for host/OHCI use, set "register_host".
    *  - "B" connector (squarish) or "Mini-B"
    *    ... for device/gadget use, set "register_dev".
    *  - "Mini-AB" connector (very similar to Mini-B)
    *    ... for OTG use as device OR host, initialize "otg"
    */
   unsigned    register_host:1;
   unsigned    register_dev:1;
   u8        otg;    /* port number, 1-based:  usb1 == 2 */
 
   const char    *extcon;    /* extcon device for OTG */
 
   u8        hmc_mode;
 
   /* implicitly true if otg:  host supports remote wakeup? */
   u8        rwc;
 
   /* signaling pins used to talk to transceiver on usbN:
    *  0 == usbN unused
    *  2 == usb0-only, using internal transceiver
    *  3 == 3 wire bidirectional
    *  4 == 4 wire bidirectional
    *  6 == 6 wire unidirectional (or TLL)
    */
   u8        pins[3];
 
   struct platform_device *udc_device;
   struct platform_device *ohci_device;
   struct platform_device *otg_device;
 
   u32 (*usb0_init)(unsigned nwires, unsigned is_device);
   u32 (*usb1_init)(unsigned nwires);
   u32 (*usb2_init)(unsigned nwires, unsigned alt_pingroup);
 
   int (*ocpi_enable)(void);
};
 
#endif /* __LINUX_USB_OMAP1_H */