1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright (C) 2012 Hauke Mehrtens <hauke@hauke-m.de>
6 #ifndef __USB_CORE_OHCI_PDRIVER_H
7 #define __USB_CORE_OHCI_PDRIVER_H
10 * struct usb_ohci_pdata - platform_data for generic ohci driver
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
17 * These are general configuration options for the OHCI controller. All of
18 * these options are activating more or less workarounds for some hardware.
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
;
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
);
35 #endif /* __USB_CORE_OHCI_PDRIVER_H */