cavium-octeon-gpio.txt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. * General Purpose Input Output (GPIO) bus.
  2. Properties:
  3. - compatible: "cavium,octeon-3860-gpio"
  4. Compatibility with all cn3XXX, cn5XXX and cn6XXX SOCs.
  5. - reg: The base address of the GPIO unit's register bank.
  6. - gpio-controller: This is a GPIO controller.
  7. - #gpio-cells: Must be <2>. The first cell is the GPIO pin.
  8. - interrupt-controller: The GPIO controller is also an interrupt
  9. controller, many of its pins may be configured as an interrupt
  10. source.
  11. - #interrupt-cells: Must be <2>. The first cell is the GPIO pin
  12. connected to the interrupt source. The second cell is the interrupt
  13. triggering protocol and may have one of four values:
  14. 1 - edge triggered on the rising edge.
  15. 2 - edge triggered on the falling edge
  16. 4 - level triggered active high.
  17. 8 - level triggered active low.
  18. - interrupts: Interrupt routing for each pin.
  19. Example:
  20. gpio-controller@1070000000800 {
  21. #gpio-cells = <2>;
  22. compatible = "cavium,octeon-3860-gpio";
  23. reg = <0x10700 0x00000800 0x0 0x100>;
  24. gpio-controller;
  25. /* Interrupts are specified by two parts:
  26. * 1) GPIO pin number (0..15)
  27. * 2) Triggering (1 - edge rising
  28. * 2 - edge falling
  29. * 4 - level active high
  30. * 8 - level active low)
  31. */
  32. interrupt-controller;
  33. #interrupt-cells = <2>;
  34. /* The GPIO pin connect to 16 consecutive CUI bits */
  35. interrupts = <0 16>, <0 17>, <0 18>, <0 19>,
  36. <0 20>, <0 21>, <0 22>, <0 23>,
  37. <0 24>, <0 25>, <0 26>, <0 27>,
  38. <0 28>, <0 29>, <0 30>, <0 31>;
  39. };