blob: 8c7764ddd2841b46f6ef66067df4011701945ca9 [file] [log] [blame]
Aaro Koskinen317a3fa2013-12-06 16:13:04 +02001/*
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
13struct 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 u8 hmc_mode;
27
28 /* implicitly true if otg: host supports remote wakeup? */
29 u8 rwc;
30
31 /* signaling pins used to talk to transceiver on usbN:
32 * 0 == usbN unused
33 * 2 == usb0-only, using internal transceiver
34 * 3 == 3 wire bidirectional
35 * 4 == 4 wire bidirectional
36 * 6 == 6 wire unidirectional (or TLL)
37 */
38 u8 pins[3];
39
40 struct platform_device *udc_device;
41 struct platform_device *ohci_device;
42 struct platform_device *otg_device;
43
44 u32 (*usb0_init)(unsigned nwires, unsigned is_device);
45 u32 (*usb1_init)(unsigned nwires);
46 u32 (*usb2_init)(unsigned nwires, unsigned alt_pingroup);
47
48 int (*ocpi_enable)(void);
49};
50
51#endif /* __LINUX_USB_OMAP1_H */