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