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