1317a3fa6SAaro Koskinen /* 2317a3fa6SAaro Koskinen * Platform data for OMAP1 USB 3317a3fa6SAaro Koskinen * 4317a3fa6SAaro Koskinen * This file is subject to the terms and conditions of the GNU General Public 5317a3fa6SAaro Koskinen * License. See the file "COPYING" in the main directory of this archive for 6317a3fa6SAaro Koskinen * more details. 7317a3fa6SAaro Koskinen */ 8317a3fa6SAaro Koskinen #ifndef __LINUX_USB_OMAP1_H 9317a3fa6SAaro Koskinen #define __LINUX_USB_OMAP1_H 10317a3fa6SAaro Koskinen 11317a3fa6SAaro Koskinen #include <linux/platform_device.h> 12317a3fa6SAaro Koskinen 13317a3fa6SAaro Koskinen struct omap_usb_config { 14317a3fa6SAaro Koskinen /* Configure drivers according to the connectors on your board: 15317a3fa6SAaro Koskinen * - "A" connector (rectagular) 16317a3fa6SAaro Koskinen * ... for host/OHCI use, set "register_host". 17317a3fa6SAaro Koskinen * - "B" connector (squarish) or "Mini-B" 18317a3fa6SAaro Koskinen * ... for device/gadget use, set "register_dev". 19317a3fa6SAaro Koskinen * - "Mini-AB" connector (very similar to Mini-B) 20317a3fa6SAaro Koskinen * ... for OTG use as device OR host, initialize "otg" 21317a3fa6SAaro Koskinen */ 22317a3fa6SAaro Koskinen unsigned register_host:1; 23317a3fa6SAaro Koskinen unsigned register_dev:1; 24317a3fa6SAaro Koskinen u8 otg; /* port number, 1-based: usb1 == 2 */ 25317a3fa6SAaro Koskinen 26339e0088SAaro Koskinen const char *extcon; /* extcon device for OTG */ 27339e0088SAaro Koskinen 28317a3fa6SAaro Koskinen u8 hmc_mode; 29317a3fa6SAaro Koskinen 30317a3fa6SAaro Koskinen /* implicitly true if otg: host supports remote wakeup? */ 31317a3fa6SAaro Koskinen u8 rwc; 32317a3fa6SAaro Koskinen 33317a3fa6SAaro Koskinen /* signaling pins used to talk to transceiver on usbN: 34317a3fa6SAaro Koskinen * 0 == usbN unused 35317a3fa6SAaro Koskinen * 2 == usb0-only, using internal transceiver 36317a3fa6SAaro Koskinen * 3 == 3 wire bidirectional 37317a3fa6SAaro Koskinen * 4 == 4 wire bidirectional 38317a3fa6SAaro Koskinen * 6 == 6 wire unidirectional (or TLL) 39317a3fa6SAaro Koskinen */ 40317a3fa6SAaro Koskinen u8 pins[3]; 41317a3fa6SAaro Koskinen 42317a3fa6SAaro Koskinen struct platform_device *udc_device; 43317a3fa6SAaro Koskinen struct platform_device *ohci_device; 44317a3fa6SAaro Koskinen struct platform_device *otg_device; 45317a3fa6SAaro Koskinen 46317a3fa6SAaro Koskinen u32 (*usb0_init)(unsigned nwires, unsigned is_device); 47317a3fa6SAaro Koskinen u32 (*usb1_init)(unsigned nwires); 48317a3fa6SAaro Koskinen u32 (*usb2_init)(unsigned nwires, unsigned alt_pingroup); 49317a3fa6SAaro Koskinen 50317a3fa6SAaro Koskinen int (*ocpi_enable)(void); 5194ad8aacSArnd Bergmann 5294ad8aacSArnd Bergmann void (*lb_reset)(void); 53*9fe15316SArnd Bergmann 54*9fe15316SArnd Bergmann int (*transceiver_power)(int on); 55317a3fa6SAaro Koskinen }; 56317a3fa6SAaro Koskinen 57317a3fa6SAaro Koskinen #endif /* __LINUX_USB_OMAP1_H */ 58