Rename setup_usb() into davinci_setup_usb(). While at it: - move its declaration from <mach/common.h> to more fitting <mach/usb.h>; - teach it to handle values of the 'mA' parameter greater than 510 and thus pass 1000 instead of 500 for the power switches capable of sourcing over 1 A; - teach it to handle odd values of the 'potpgt_ms' parameter... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
		
			
				
	
	
		
			59 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
	
		
			2 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * USB related definitions
 | 
						|
 *
 | 
						|
 * Copyright (C) 2009 MontaVista Software, Inc. <source@mvista.com>
 | 
						|
 *
 | 
						|
 * This file is licensed under the terms of the GNU General Public License
 | 
						|
 * version 2. This program is licensed "as is" without any warranty of any
 | 
						|
 * kind, whether express or implied.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef __ASM_ARCH_USB_H
 | 
						|
#define __ASM_ARCH_USB_H
 | 
						|
 | 
						|
/* DA8xx CFGCHIP2 (USB 2.0 PHY Control) register bits */
 | 
						|
#define CFGCHIP2_PHYCLKGD	(1 << 17)
 | 
						|
#define CFGCHIP2_VBUSSENSE	(1 << 16)
 | 
						|
#define CFGCHIP2_RESET		(1 << 15)
 | 
						|
#define CFGCHIP2_OTGMODE	(3 << 13)
 | 
						|
#define CFGCHIP2_NO_OVERRIDE	(0 << 13)
 | 
						|
#define CFGCHIP2_FORCE_HOST	(1 << 13)
 | 
						|
#define CFGCHIP2_FORCE_DEVICE 	(2 << 13)
 | 
						|
#define CFGCHIP2_FORCE_HOST_VBUS_LOW (3 << 13)
 | 
						|
#define CFGCHIP2_USB1PHYCLKMUX	(1 << 12)
 | 
						|
#define CFGCHIP2_USB2PHYCLKMUX	(1 << 11)
 | 
						|
#define CFGCHIP2_PHYPWRDN	(1 << 10)
 | 
						|
#define CFGCHIP2_OTGPWRDN	(1 << 9)
 | 
						|
#define CFGCHIP2_DATPOL 	(1 << 8)
 | 
						|
#define CFGCHIP2_USB1SUSPENDM	(1 << 7)
 | 
						|
#define CFGCHIP2_PHY_PLLON	(1 << 6)	/* override PLL suspend */
 | 
						|
#define CFGCHIP2_SESENDEN	(1 << 5)	/* Vsess_end comparator */
 | 
						|
#define CFGCHIP2_VBDTCTEN	(1 << 4)	/* Vbus comparator */
 | 
						|
#define CFGCHIP2_REFFREQ	(0xf << 0)
 | 
						|
#define CFGCHIP2_REFFREQ_12MHZ	(1 << 0)
 | 
						|
#define CFGCHIP2_REFFREQ_24MHZ	(2 << 0)
 | 
						|
#define CFGCHIP2_REFFREQ_48MHZ	(3 << 0)
 | 
						|
 | 
						|
struct	da8xx_ohci_root_hub;
 | 
						|
 | 
						|
typedef void (*da8xx_ocic_handler_t)(struct da8xx_ohci_root_hub *hub,
 | 
						|
				     unsigned port);
 | 
						|
 | 
						|
/* Passed as the platform data to the OHCI driver */
 | 
						|
struct	da8xx_ohci_root_hub {
 | 
						|
	/* Switch the port power on/off */
 | 
						|
	int	(*set_power)(unsigned port, int on);
 | 
						|
	/* Read the port power status */
 | 
						|
	int	(*get_power)(unsigned port);
 | 
						|
	/* Read the port over-current indicator */
 | 
						|
	int	(*get_oci)(unsigned port);
 | 
						|
	/* Over-current indicator change notification (pass NULL to disable) */
 | 
						|
	int	(*ocic_notify)(da8xx_ocic_handler_t handler);
 | 
						|
 | 
						|
	/* Time from power on to power good (in 2 ms units) */
 | 
						|
	u8	potpgt;
 | 
						|
};
 | 
						|
 | 
						|
void davinci_setup_usb(unsigned mA, unsigned potpgt_ms);
 | 
						|
 | 
						|
#endif	/* ifndef __ASM_ARCH_USB_H */
 |