1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Board initialization code should put one of these into dev->platform_data 4 * and place the isp116x onto platform_bus. 5 */ 6 7 #ifndef __LINUX_USB_ISP116X_H 8 #define __LINUX_USB_ISP116X_H 9 10 struct isp116x_platform_data { 11 /* Enable internal resistors on downstream ports */ 12 unsigned sel15Kres:1; 13 /* On-chip overcurrent detection */ 14 unsigned oc_enable:1; 15 /* INT output polarity */ 16 unsigned int_act_high:1; 17 /* INT edge or level triggered */ 18 unsigned int_edge_triggered:1; 19 /* Enable wakeup by devices on usb bus (e.g. wakeup 20 by attachment/detachment or by device activity 21 such as moving a mouse). When chosen, this option 22 prevents stopping internal clock, increasing 23 thereby power consumption in suspended state. */ 24 unsigned remote_wakeup_enable:1; 25 /* Inter-io delay (ns). The chip is picky about access timings; it 26 expects at least: 27 150ns delay between consecutive accesses to DATA_REG, 28 300ns delay between access to ADDR_REG and DATA_REG 29 OE, WE MUST NOT be changed during these intervals 30 */ 31 void (*delay) (struct device *dev, int delay); 32 }; 33 34 #endif /* __LINUX_USB_ISP116X_H */ 35