ilsel.h 926 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __ASM_SH_ILSEL_H
  3. #define __ASM_SH_ILSEL_H
  4. typedef enum {
  5. ILSEL_NONE,
  6. ILSEL_LAN,
  7. ILSEL_USBH_I,
  8. ILSEL_USBH_S,
  9. ILSEL_USBH_V,
  10. ILSEL_RTC,
  11. ILSEL_USBP_I,
  12. ILSEL_USBP_S,
  13. ILSEL_USBP_V,
  14. ILSEL_KEY,
  15. /*
  16. * ILSEL Aliases - corner cases for interleaved level tables.
  17. *
  18. * Someone thought this was a good idea and less hassle than
  19. * demuxing a shared vector, really.
  20. */
  21. /* ILSEL0 and 2 */
  22. ILSEL_FPGA0,
  23. ILSEL_FPGA1,
  24. ILSEL_EX1,
  25. ILSEL_EX2,
  26. ILSEL_EX3,
  27. ILSEL_EX4,
  28. /* ILSEL1 and 3 */
  29. ILSEL_FPGA2 = ILSEL_FPGA0,
  30. ILSEL_FPGA3 = ILSEL_FPGA1,
  31. ILSEL_EX5 = ILSEL_EX1,
  32. ILSEL_EX6 = ILSEL_EX2,
  33. ILSEL_EX7 = ILSEL_EX3,
  34. ILSEL_EX8 = ILSEL_EX4,
  35. } ilsel_source_t;
  36. /* arch/sh/boards/renesas/x3proto/ilsel.c */
  37. int ilsel_enable(ilsel_source_t set);
  38. int ilsel_enable_fixed(ilsel_source_t set, unsigned int level);
  39. void ilsel_disable(unsigned int irq);
  40. #endif /* __ASM_SH_ILSEL_H */