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 
10 struct 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