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