2 * USB related definitions
4 * Copyright (C) 2009 MontaVista Software, Inc. <source@mvista.com>
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.
11 #ifndef __ASM_ARCH_USB_H
12 #define __ASM_ARCH_USB_H
14 /* DA8xx CFGCHIP2 (USB 2.0 PHY Control) register bits */
15 #define CFGCHIP2_PHYCLKGD (1 << 17)
16 #define CFGCHIP2_VBUSSENSE (1 << 16)
17 #define CFGCHIP2_RESET (1 << 15)
18 #define CFGCHIP2_OTGMODE (3 << 13)
19 #define CFGCHIP2_NO_OVERRIDE (0 << 13)
20 #define CFGCHIP2_FORCE_HOST (1 << 13)
21 #define CFGCHIP2_FORCE_DEVICE (2 << 13)
22 #define CFGCHIP2_FORCE_HOST_VBUS_LOW (3 << 13)
23 #define CFGCHIP2_USB1PHYCLKMUX (1 << 12)
24 #define CFGCHIP2_USB2PHYCLKMUX (1 << 11)
25 #define CFGCHIP2_PHYPWRDN (1 << 10)
26 #define CFGCHIP2_OTGPWRDN (1 << 9)
27 #define CFGCHIP2_DATPOL (1 << 8)
28 #define CFGCHIP2_USB1SUSPENDM (1 << 7)
29 #define CFGCHIP2_PHY_PLLON (1 << 6) /* override PLL suspend */
30 #define CFGCHIP2_SESENDEN (1 << 5) /* Vsess_end comparator */
31 #define CFGCHIP2_VBDTCTEN (1 << 4) /* Vbus comparator */
32 #define CFGCHIP2_REFFREQ (0xf << 0)
33 #define CFGCHIP2_REFFREQ_12MHZ (1 << 0)
34 #define CFGCHIP2_REFFREQ_24MHZ (2 << 0)
35 #define CFGCHIP2_REFFREQ_48MHZ (3 << 0)
37 struct da8xx_ohci_root_hub
;
39 typedef void (*da8xx_ocic_handler_t
)(struct da8xx_ohci_root_hub
*hub
,
42 /* Passed as the platform data to the OHCI driver */
43 struct da8xx_ohci_root_hub
{
44 /* Switch the port power on/off */
45 int (*set_power
)(unsigned port
, int on
);
46 /* Read the port power status */
47 int (*get_power
)(unsigned port
);
48 /* Read the port over-current indicator */
49 int (*get_oci
)(unsigned port
);
50 /* Over-current indicator change notification (pass NULL to disable) */
51 int (*ocic_notify
)(da8xx_ocic_handler_t handler
);
53 /* Time from power on to power good (in 2 ms units) */
57 void davinci_setup_usb(unsigned mA
, unsigned potpgt_ms
);
59 #endif /* ifndef __ASM_ARCH_USB_H */