isp116x.h 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  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. #ifndef __LINUX_USB_ISP116X_H
  7. #define __LINUX_USB_ISP116X_H
  8. struct isp116x_platform_data {
  9. /* Enable internal resistors on downstream ports */
  10. unsigned sel15Kres:1;
  11. /* On-chip overcurrent detection */
  12. unsigned oc_enable:1;
  13. /* INT output polarity */
  14. unsigned int_act_high:1;
  15. /* INT edge or level triggered */
  16. unsigned int_edge_triggered:1;
  17. /* Enable wakeup by devices on usb bus (e.g. wakeup
  18. by attachment/detachment or by device activity
  19. such as moving a mouse). When chosen, this option
  20. prevents stopping internal clock, increasing
  21. thereby power consumption in suspended state. */
  22. unsigned remote_wakeup_enable:1;
  23. /* Inter-io delay (ns). The chip is picky about access timings; it
  24. expects at least:
  25. 150ns delay between consecutive accesses to DATA_REG,
  26. 300ns delay between access to ADDR_REG and DATA_REG
  27. OE, WE MUST NOT be changed during these intervals
  28. */
  29. void (*delay) (struct device *dev, int delay);
  30. };
  31. #endif /* __LINUX_USB_ISP116X_H */