1 | // SPDX-License-Identifier: GPL-2.0+ |
2 | /* |
3 | * Copyright (C) 2012 Hauke Mehrtens <hauke@hauke-m.de> |
4 | */ |
5 | |
6 | #ifndef __USB_CORE_OHCI_PDRIVER_H |
7 | #define __USB_CORE_OHCI_PDRIVER_H |
8 | |
9 | /** |
10 | * struct usb_ohci_pdata - platform_data for generic ohci driver |
11 | * |
12 | * @big_endian_desc: BE descriptors |
13 | * @big_endian_mmio: BE registers |
14 | * @no_big_frame_no: no big endian frame_no shift |
15 | * @num_ports: number of ports |
16 | * |
17 | * These are general configuration options for the OHCI controller. All of |
18 | * these options are activating more or less workarounds for some hardware. |
19 | */ |
20 | struct usb_ohci_pdata { |
21 | unsigned big_endian_desc:1; |
22 | unsigned big_endian_mmio:1; |
23 | unsigned no_big_frame_no:1; |
24 | unsigned int num_ports; |
25 | |
26 | /* Turn on all power and clocks */ |
27 | int (*power_on)(struct platform_device *pdev); |
28 | /* Turn off all power and clocks */ |
29 | void (*power_off)(struct platform_device *pdev); |
30 | /* Turn on only VBUS suspend power and hotplug detection, |
31 | * turn off everything else */ |
32 | void (*power_suspend)(struct platform_device *pdev); |
33 | }; |
34 | |
35 | #endif /* __USB_CORE_OHCI_PDRIVER_H */ |
36 | |