1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 * board initialization should put one of these into dev->platform_data
4 * and place the sl811hs onto platform_bus named "sl811-hcd".
5 */
6
7#ifndef __LINUX_USB_SL811_H
8#define __LINUX_USB_SL811_H
9
10struct sl811_platform_data {
11 unsigned can_wakeup:1;
12
13 /* given port_power, msec/2 after power on till power good */
14 u8 potpg;
15
16 /* mA/2 power supplied on this port (max = default = 250) */
17 u8 power;
18
19 /* sl811 relies on an external source of VBUS current */
20 void (*port_power)(struct device *dev, int is_on);
21
22 /* pulse sl811 nRST (probably with a GPIO) */
23 void (*reset)(struct device *dev);
24
25 /* some boards need something like these: */
26 /* int (*check_overcurrent)(struct device *dev); */
27 /* void (*clock_enable)(struct device *dev, int is_on); */
28};
29
30#endif /* __LINUX_USB_SL811_H */
31

source code of linux/include/linux/usb/sl811.h