Linux-libre 5.0.14-gnu
[librecmc/linux-libre.git] / include / linux / platform_data / usb-davinci.h
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 */