| 
					
				 | 
			
			
				@@ -0,0 +1,50 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * usb-host.c - OMAP USB Host 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * This file will contain the board specific details for the 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Synopsys EHCI/OHCI host controller on OMAP3430 and onwards 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Copyright (C) 2007-2011 Texas Instruments 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Author: Vikram Pandita <vikram.pandita@ti.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Author: Keshava Munegowda <keshava_mgowda@ti.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Generalization by: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * Felipe Balbi <balbi@ti.com> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * This program is free software; you can redistribute it and/or modify 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * it under the terms of the GNU General Public License version 2 as 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * published by the Free Software Foundation. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/types.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/errno.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/delay.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/platform_device.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/slab.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <linux/dma-mapping.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <asm/io.h> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "soc.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "omap_device.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "mux.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include "usb.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#ifdef CONFIG_MFD_OMAP_USB_HOST 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OMAP_USBHS_DEVICE	"usbhs_omap" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define OMAP_USBTLL_DEVICE	"usbhs_tll" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define	USBHS_UHH_HWMODNAME	"usb_host_hs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#define USBHS_TLL_HWMODNAME	"usb_tll_hs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct usbhs_omap_platform_data		usbhs_data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct usbtll_omap_platform_data		usbtll_data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct ehci_hcd_omap_platform_data	ehci_data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct ohci_hcd_omap_platform_data	ohci_data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static struct omap_device_pm_latency omap_uhhtll_latency[] = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.deactivate_func = omap_device_idle_hwmods, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.activate_func	 = omap_device_enable_hwmods, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		.flags = OMAP_DEVICE_LATENCY_AUTO_ADJUST, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  }, 
			 |