forked from mirrors/linux
		
	Rationale: Reduces attack surface on kernel devs opening the links for MITM as HTTPS traffic is much harder to manipulate. Signed-off-by: Alexander A. Klimov <grandmaster@al2klimov.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Kees Cook <keescook@chromium.org> Link: http://lkml.kernel.org/r/20200726110117.16346-1-grandmaster@al2klimov.de Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			88 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * usb-omap.h - Platform data for the various OMAP USB IPs
 | 
						|
 *
 | 
						|
 * Copyright (C) 2012 Texas Instruments Incorporated - https://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.
 | 
						|
 */
 | 
						|
 | 
						|
#define OMAP3_HS_USB_PORTS	3
 | 
						|
 | 
						|
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,
 | 
						|
	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,
 | 
						|
	OMAP_OHCI_PORT_MODE_TLL_2PIN_DPDM
 | 
						|
};
 | 
						|
 | 
						|
struct usbtll_omap_platform_data {
 | 
						|
	enum usbhs_omap_port_mode		port_mode[OMAP3_HS_USB_PORTS];
 | 
						|
};
 | 
						|
 | 
						|
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;
 | 
						|
};
 | 
						|
 | 
						|
struct ohci_hcd_omap_platform_data {
 | 
						|
	enum usbhs_omap_port_mode	port_mode[OMAP3_HS_USB_PORTS];
 | 
						|
	unsigned			es2_compatibility:1;
 | 
						|
};
 | 
						|
 | 
						|
struct usbhs_omap_platform_data {
 | 
						|
	int				nports;
 | 
						|
	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];
 | 
						|
 | 
						|
	struct ehci_hcd_omap_platform_data	*ehci_data;
 | 
						|
	struct ohci_hcd_omap_platform_data	*ohci_data;
 | 
						|
 | 
						|
	/* OMAP3 <= ES2.1 have a single ulpi bypass control bit */
 | 
						|
	unsigned single_ulpi_bypass:1;
 | 
						|
	unsigned es2_compatibility:1;
 | 
						|
	unsigned phy_reset:1;
 | 
						|
};
 | 
						|
 | 
						|
/*-------------------------------------------------------------------------*/
 | 
						|
 | 
						|
struct omap_musb_board_data {
 | 
						|
	u8	interface_type;
 | 
						|
	u8	mode;
 | 
						|
	u16	power;
 | 
						|
	unsigned extvbus:1;
 | 
						|
	void	(*set_phy_power)(u8 on);
 | 
						|
	void	(*clear_irq)(void);
 | 
						|
	void	(*set_mode)(u8 mode);
 | 
						|
	void	(*reset)(void);
 | 
						|
};
 | 
						|
 | 
						|
enum musb_interface {
 | 
						|
	MUSB_INTERFACE_ULPI,
 | 
						|
	MUSB_INTERFACE_UTMI
 | 
						|
};
 |