blob: 3afe4d16fcef186d2c9f8b415b6c3c8b87c3ca2c [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * board initialization should put one of these into dev->platform_data
3 * and place the sl811hs onto platform_bus named "sl811-hcd".
4 */
5
Robert P. J. Daydda43a02008-03-07 13:45:32 -05006#ifndef __LINUX_USB_SL811_H
7#define __LINUX_USB_SL811_H
8
Linus Torvalds1da177e2005-04-16 15:20:36 -07009struct sl811_platform_data {
10 unsigned can_wakeup:1;
11
12 /* given port_power, msec/2 after power on till power good */
13 u8 potpg;
14
15 /* mA/2 power supplied on this port (max = default = 250) */
16 u8 power;
17
18 /* sl811 relies on an external source of VBUS current */
David Brownell325a4af2006-06-13 09:59:32 -070019 void (*port_power)(struct device *dev, int is_on);
Linus Torvalds1da177e2005-04-16 15:20:36 -070020
21 /* pulse sl811 nRST (probably with a GPIO) */
David Brownell325a4af2006-06-13 09:59:32 -070022 void (*reset)(struct device *dev);
Linus Torvalds1da177e2005-04-16 15:20:36 -070023
Greg Kroah-Hartman41dceed2008-01-30 15:21:33 -080024 /* some boards need something like these: */
25 /* int (*check_overcurrent)(struct device *dev); */
26 /* void (*clock_enable)(struct device *dev, int is_on); */
Linus Torvalds1da177e2005-04-16 15:20:36 -070027};
28
Robert P. J. Daydda43a02008-03-07 13:45:32 -050029#endif /* __LINUX_USB_SL811_H */