Commit | Line | Data |
---|---|---|
e8c4a7ac FB |
1 | /* |
2 | * usb-omap.h - Platform data for the various OMAP USB IPs | |
3 | * | |
4 | * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com | |
5 | * | |
6 | * This software is distributed under the terms of the GNU General Public | |
7 | * License ("GPL") version 2, as published by the Free Software Foundation. | |
8 | * | |
9 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | |
10 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | |
11 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | |
12 | * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | |
13 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
14 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
15 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | |
16 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | |
17 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | |
18 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | |
19 | * POSSIBILITY OF SUCH DAMAGE. | |
20 | */ | |
1da177e4 | 21 | |
83720a82 | 22 | #define OMAP3_HS_USB_PORTS 3 |
83720a82 | 23 | |
181b250c KM |
24 | enum usbhs_omap_port_mode { |
25 | OMAP_USBHS_PORT_MODE_UNUSED, | |
26 | OMAP_EHCI_PORT_MODE_PHY, | |
27 | OMAP_EHCI_PORT_MODE_TLL, | |
28 | OMAP_EHCI_PORT_MODE_HSIC, | |
95344fcc AG |
29 | OMAP_OHCI_PORT_MODE_PHY_6PIN_DATSE0, |
30 | OMAP_OHCI_PORT_MODE_PHY_6PIN_DPDM, | |
31 | OMAP_OHCI_PORT_MODE_PHY_3PIN_DATSE0, | |
32 | OMAP_OHCI_PORT_MODE_PHY_4PIN_DPDM, | |
33 | OMAP_OHCI_PORT_MODE_TLL_6PIN_DATSE0, | |
34 | OMAP_OHCI_PORT_MODE_TLL_6PIN_DPDM, | |
35 | OMAP_OHCI_PORT_MODE_TLL_3PIN_DATSE0, | |
36 | OMAP_OHCI_PORT_MODE_TLL_4PIN_DPDM, | |
37 | OMAP_OHCI_PORT_MODE_TLL_2PIN_DATSE0, | |
181b250c | 38 | OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM |
95344fcc AG |
39 | }; |
40 | ||
e8c4a7ac FB |
41 | struct usbtll_omap_platform_data { |
42 | enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS]; | |
43 | }; | |
b924b204 | 44 | |
181b250c KM |
45 | struct ehci_hcd_omap_platform_data { |
46 | enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS]; | |
47 | int reset_gpio_port[OMAP3_HS_USB_PORTS]; | |
48 | struct regulator *regulator[OMAP3_HS_USB_PORTS]; | |
49 | unsigned phy_reset:1; | |
50 | }; | |
95344fcc | 51 | |
181b250c KM |
52 | struct ohci_hcd_omap_platform_data { |
53 | enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS]; | |
95344fcc AG |
54 | unsigned es2_compatibility:1; |
55 | }; | |
56 | ||
181b250c | 57 | struct usbhs_omap_platform_data { |
ccac71a7 | 58 | int nports; |
7f07863e RQ |
59 | enum usbhs_omap_port_mode port_mode[OMAP3_HS_USB_PORTS]; |
60 | int reset_gpio_port[OMAP3_HS_USB_PORTS]; | |
61 | struct regulator *regulator[OMAP3_HS_USB_PORTS]; | |
181b250c KM |
62 | |
63 | struct ehci_hcd_omap_platform_data *ehci_data; | |
64 | struct ohci_hcd_omap_platform_data *ohci_data; | |
63b68901 RQ |
65 | |
66 | /* OMAP3 <= ES2.1 have a single ulpi bypass control bit */ | |
7f07863e RQ |
67 | unsigned single_ulpi_bypass:1; |
68 | unsigned es2_compatibility:1; | |
69 | unsigned phy_reset:1; | |
181b250c | 70 | }; |
16fa3dc7 | 71 | |
1da177e4 LT |
72 | /*-------------------------------------------------------------------------*/ |
73 | ||
884b8369 MM |
74 | struct omap_musb_board_data { |
75 | u8 interface_type; | |
76 | u8 mode; | |
1e753451 | 77 | u16 power; |
58815fa3 | 78 | unsigned extvbus:1; |
a9c03783 AKG |
79 | void (*set_phy_power)(u8 on); |
80 | void (*clear_irq)(void); | |
81 | void (*set_mode)(u8 mode); | |
82 | void (*reset)(void); | |
884b8369 MM |
83 | }; |
84 | ||
e8c4a7ac FB |
85 | enum musb_interface { |
86 | MUSB_INTERFACE_ULPI, | |
87 | MUSB_INTERFACE_UTMI | |
88 | }; |