|  | @@ -48,3 +48,83 @@ static struct omap_device_pm_latency omap_uhhtll_latency[] = {
 | 
	
		
			
				|  |  |  		.activate_func	 = omap_device_enable_hwmods,
 | 
	
		
			
				|  |  |  		.flags = OMAP_DEVICE_LATENCY_AUTO_ADJUST,
 | 
	
		
			
				|  |  |  	  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/* MUX settings for EHCI pins */
 | 
	
		
			
				|  |  | +/*
 | 
	
		
			
				|  |  | + * setup_ehci_io_mux - initialize IO pad mux for USBHOST
 | 
	
		
			
				|  |  | + */
 | 
	
		
			
				|  |  | +static void __init setup_ehci_io_mux(const enum usbhs_omap_port_mode *port_mode)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +	switch (port_mode[0]) {
 | 
	
		
			
				|  |  | +	case OMAP_EHCI_PORT_MODE_PHY:
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_stp", OMAP_PIN_OUTPUT);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_clk", OMAP_PIN_OUTPUT);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_dir", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_nxt", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_data0", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_data1", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_data2", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_data3", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_data4", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_data5", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_data6", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_data7", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		break;
 | 
	
		
			
				|  |  | +	case OMAP_EHCI_PORT_MODE_TLL:
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_stp",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLUP);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_clk",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_dir",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_nxt",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_data0",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_data1",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_data2",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_data3",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_data4",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_data5",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_data6",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb1_tll_data7",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		break;
 | 
	
		
			
				|  |  | +	case OMAP_USBHS_PORT_MODE_UNUSED:
 | 
	
		
			
				|  |  | +		/* FALLTHROUGH */
 | 
	
		
			
				|  |  | +	default:
 | 
	
		
			
				|  |  | +		break;
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	switch (port_mode[1]) {
 | 
	
		
			
				|  |  | +	case OMAP_EHCI_PORT_MODE_PHY:
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_stp", OMAP_PIN_OUTPUT);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_clk", OMAP_PIN_OUTPUT);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_dir", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_nxt", OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_data0",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_data1",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_data2",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_data3",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_data4",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_data5",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_data6",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_data7",
 | 
	
		
			
				|  |  | +			OMAP_PIN_INPUT_PULLDOWN);
 | 
	
		
			
				|  |  | +		break;
 | 
	
		
			
				|  |  | +	case OMAP_EHCI_PORT_MODE_TLL:
 | 
	
		
			
				|  |  | +		omap_mux_init_signal("hsusb2_tll_stp",
 |