Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 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 | |
| 53 | #endif /* __LINUX_USB_OMAP1_H */ |