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