1 /*
2  * USB related definitions
3  *
4  * Copyright (C) 2009 MontaVista Software, Inc. <source@mvista.com>
5  *
6  * This file is licensed under the terms of the GNU General Public License
7  * version 2. This program is licensed "as is" without any warranty of any
8  * kind, whether express or implied.
9  */
10 
11 #ifndef __ASM_ARCH_USB_H
12 #define __ASM_ARCH_USB_H
13 
14 struct	da8xx_ohci_root_hub;
15 
16 typedef void (*da8xx_ocic_handler_t)(struct da8xx_ohci_root_hub *hub,
17 				     unsigned port);
18 
19 /* Passed as the platform data to the OHCI driver */
20 struct	da8xx_ohci_root_hub {
21 	/* Switch the port power on/off */
22 	int	(*set_power)(unsigned port, int on);
23 	/* Read the port power status */
24 	int	(*get_power)(unsigned port);
25 	/* Read the port over-current indicator */
26 	int	(*get_oci)(unsigned port);
27 	/* Over-current indicator change notification (pass NULL to disable) */
28 	int	(*ocic_notify)(da8xx_ocic_handler_t handler);
29 
30 	/* Time from power on to power good (in 2 ms units) */
31 	u8	potpgt;
32 };
33 
34 void davinci_setup_usb(unsigned mA, unsigned potpgt_ms);
35 
36 #endif	/* ifndef __ASM_ARCH_USB_H */
37