1325a4af6SDavid Brownell /* 2325a4af6SDavid Brownell * Board initialization code should put one of these into dev->platform_data 3325a4af6SDavid Brownell * and place the isp116x onto platform_bus. 4325a4af6SDavid Brownell */ 5325a4af6SDavid Brownell 6*dda43a0eSRobert P. J. Day #ifndef __LINUX_USB_ISP116X_H 7*dda43a0eSRobert P. J. Day #define __LINUX_USB_ISP116X_H 8*dda43a0eSRobert P. J. Day 9325a4af6SDavid Brownell struct isp116x_platform_data { 10325a4af6SDavid Brownell /* Enable internal resistors on downstream ports */ 11325a4af6SDavid Brownell unsigned sel15Kres:1; 12325a4af6SDavid Brownell /* On-chip overcurrent detection */ 13325a4af6SDavid Brownell unsigned oc_enable:1; 14325a4af6SDavid Brownell /* INT output polarity */ 15325a4af6SDavid Brownell unsigned int_act_high:1; 16325a4af6SDavid Brownell /* INT edge or level triggered */ 17325a4af6SDavid Brownell unsigned int_edge_triggered:1; 18325a4af6SDavid Brownell /* Enable wakeup by devices on usb bus (e.g. wakeup 19325a4af6SDavid Brownell by attachment/detachment or by device activity 20325a4af6SDavid Brownell such as moving a mouse). When chosen, this option 21325a4af6SDavid Brownell prevents stopping internal clock, increasing 22325a4af6SDavid Brownell thereby power consumption in suspended state. */ 23325a4af6SDavid Brownell unsigned remote_wakeup_enable:1; 24325a4af6SDavid Brownell /* Inter-io delay (ns). The chip is picky about access timings; it 25325a4af6SDavid Brownell expects at least: 26325a4af6SDavid Brownell 150ns delay between consecutive accesses to DATA_REG, 27325a4af6SDavid Brownell 300ns delay between access to ADDR_REG and DATA_REG 28325a4af6SDavid Brownell OE, WE MUST NOT be changed during these intervals 29325a4af6SDavid Brownell */ 30325a4af6SDavid Brownell void (*delay) (struct device *dev, int delay); 31325a4af6SDavid Brownell }; 32*dda43a0eSRobert P. J. Day 33*dda43a0eSRobert P. J. Day #endif /* __LINUX_USB_ISP116X_H */ 34