1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef ASMARM_ARCH_OHCI_H
3 #define ASMARM_ARCH_OHCI_H
4 
5 struct device;
6 
7 struct pxaohci_platform_data {
8 	int (*init)(struct device *);
9 	void (*exit)(struct device *);
10 
11 	unsigned long flags;
12 #define ENABLE_PORT1		(1 << 0)
13 #define ENABLE_PORT2		(1 << 1)
14 #define ENABLE_PORT3		(1 << 2)
15 #define ENABLE_PORT_ALL		(ENABLE_PORT1 | ENABLE_PORT2 | ENABLE_PORT3)
16 
17 #define POWER_SENSE_LOW		(1 << 3)
18 #define POWER_CONTROL_LOW	(1 << 4)
19 #define NO_OC_PROTECTION	(1 << 5)
20 #define OC_MODE_GLOBAL		(0 << 6)
21 #define OC_MODE_PERPORT		(1 << 6)
22 
23 	int power_on_delay;	/* Power On to Power Good time - in ms
24 				 * HCD must wait for this duration before
25 				 * accessing a powered on port
26 				 */
27 	int port_mode;
28 #define PMM_NPS_MODE           1
29 #define PMM_GLOBAL_MODE        2
30 #define PMM_PERPORT_MODE       3
31 
32 	int power_budget;
33 };
34 
35 extern void pxa_set_ohci_info(struct pxaohci_platform_data *info);
36 
37 #endif
38