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 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 */ 52