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 | |