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