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 */
20struct 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