| 
									
										
										
										
											2012-10-24 14:26:19 -07:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * usb-omap.h - Platform data for the various OMAP USB IPs | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * This software is distributed under the terms of the GNU General Public | 
					
						
							|  |  |  |  * License ("GPL") version 2, as published by the Free Software Foundation. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | 
					
						
							|  |  |  |  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | 
					
						
							|  |  |  |  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | 
					
						
							|  |  |  |  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | 
					
						
							|  |  |  |  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 
					
						
							|  |  |  |  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 
					
						
							|  |  |  |  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 
					
						
							|  |  |  |  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 
					
						
							|  |  |  |  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 
					
						
							|  |  |  |  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | 
					
						
							|  |  |  |  * POSSIBILITY OF SUCH DAMAGE. | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-22 10:11:00 -08:00
										 |  |  | #define OMAP3_HS_USB_PORTS	3
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-01 20:08:16 +05:30
										 |  |  | enum usbhs_omap_port_mode { | 
					
						
							|  |  |  | 	OMAP_USBHS_PORT_MODE_UNUSED, | 
					
						
							|  |  |  | 	OMAP_EHCI_PORT_MODE_PHY, | 
					
						
							|  |  |  | 	OMAP_EHCI_PORT_MODE_TLL, | 
					
						
							|  |  |  | 	OMAP_EHCI_PORT_MODE_HSIC, | 
					
						
							| 
									
										
										
										
											2010-05-10 21:56:10 +05:30
										 |  |  | 	OMAP_OHCI_PORT_MODE_PHY_6PIN_DATSE0, | 
					
						
							|  |  |  | 	OMAP_OHCI_PORT_MODE_PHY_6PIN_DPDM, | 
					
						
							|  |  |  | 	OMAP_OHCI_PORT_MODE_PHY_3PIN_DATSE0, | 
					
						
							|  |  |  | 	OMAP_OHCI_PORT_MODE_PHY_4PIN_DPDM, | 
					
						
							|  |  |  | 	OMAP_OHCI_PORT_MODE_TLL_6PIN_DATSE0, | 
					
						
							|  |  |  | 	OMAP_OHCI_PORT_MODE_TLL_6PIN_DPDM, | 
					
						
							|  |  |  | 	OMAP_OHCI_PORT_MODE_TLL_3PIN_DATSE0, | 
					
						
							|  |  |  | 	OMAP_OHCI_PORT_MODE_TLL_4PIN_DPDM, | 
					
						
							|  |  |  | 	OMAP_OHCI_PORT_MODE_TLL_2PIN_DATSE0, | 
					
						
							| 
									
										
										
										
											2011-03-01 20:08:16 +05:30
										 |  |  | 	OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM | 
					
						
							| 
									
										
										
										
											2010-05-10 21:56:10 +05:30
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-24 14:26:19 -07:00
										 |  |  | struct usbtll_omap_platform_data { | 
					
						
							|  |  |  | 	enum usbhs_omap_port_mode		port_mode[OMAP3_HS_USB_PORTS]; | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2012-06-04 00:56:15 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-01 20:08:16 +05:30
										 |  |  | struct ehci_hcd_omap_platform_data { | 
					
						
							|  |  |  | 	enum usbhs_omap_port_mode	port_mode[OMAP3_HS_USB_PORTS]; | 
					
						
							|  |  |  | 	int				reset_gpio_port[OMAP3_HS_USB_PORTS]; | 
					
						
							|  |  |  | 	struct regulator		*regulator[OMAP3_HS_USB_PORTS]; | 
					
						
							|  |  |  | 	unsigned			phy_reset:1; | 
					
						
							|  |  |  | }; | 
					
						
							| 
									
										
										
										
											2010-05-10 21:56:10 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-01 20:08:16 +05:30
										 |  |  | struct ohci_hcd_omap_platform_data { | 
					
						
							|  |  |  | 	enum usbhs_omap_port_mode	port_mode[OMAP3_HS_USB_PORTS]; | 
					
						
							| 
									
										
										
										
											2010-05-10 21:56:10 +05:30
										 |  |  | 	unsigned			es2_compatibility:1; | 
					
						
							|  |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-01 20:08:16 +05:30
										 |  |  | struct usbhs_omap_platform_data { | 
					
						
							| 
									
										
										
										
											2012-11-08 19:18:08 +02:00
										 |  |  | 	int				nports; | 
					
						
							| 
									
										
										
										
											2013-02-13 13:12:35 +02:00
										 |  |  | 	enum usbhs_omap_port_mode	port_mode[OMAP3_HS_USB_PORTS]; | 
					
						
							|  |  |  | 	int				reset_gpio_port[OMAP3_HS_USB_PORTS]; | 
					
						
							|  |  |  | 	struct regulator		*regulator[OMAP3_HS_USB_PORTS]; | 
					
						
							| 
									
										
										
										
											2011-03-01 20:08:16 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | 	struct ehci_hcd_omap_platform_data	*ehci_data; | 
					
						
							|  |  |  | 	struct ohci_hcd_omap_platform_data	*ohci_data; | 
					
						
							| 
									
										
										
										
											2012-12-14 09:09:11 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	/* OMAP3 <= ES2.1 have a single ulpi bypass control bit */ | 
					
						
							| 
									
										
										
										
											2013-02-13 13:12:35 +02:00
										 |  |  | 	unsigned single_ulpi_bypass:1; | 
					
						
							|  |  |  | 	unsigned es2_compatibility:1; | 
					
						
							|  |  |  | 	unsigned phy_reset:1; | 
					
						
							| 
									
										
										
										
											2011-03-01 20:08:16 +05:30
										 |  |  | }; | 
					
						
							| 
									
										
										
										
											2012-07-16 19:01:08 +05:30
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | /*-------------------------------------------------------------------------*/ | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-17 14:09:30 -08:00
										 |  |  | struct omap_musb_board_data { | 
					
						
							|  |  |  | 	u8	interface_type; | 
					
						
							|  |  |  | 	u8	mode; | 
					
						
							| 
									
										
										
										
											2010-03-25 13:14:23 +02:00
										 |  |  | 	u16	power; | 
					
						
							| 
									
										
										
										
											2010-03-25 13:25:27 +02:00
										 |  |  | 	unsigned extvbus:1; | 
					
						
							| 
									
										
										
										
											2010-12-07 18:57:45 +05:30
										 |  |  | 	void	(*set_phy_power)(u8 on); | 
					
						
							|  |  |  | 	void	(*clear_irq)(void); | 
					
						
							|  |  |  | 	void	(*set_mode)(u8 mode); | 
					
						
							|  |  |  | 	void	(*reset)(void); | 
					
						
							| 
									
										
										
										
											2010-02-17 14:09:30 -08:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-10-24 14:26:19 -07:00
										 |  |  | enum musb_interface { | 
					
						
							|  |  |  | 	MUSB_INTERFACE_ULPI, | 
					
						
							|  |  |  | 	MUSB_INTERFACE_UTMI | 
					
						
							|  |  |  | }; |