gpio-mvebu.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. * Marvell EBU GPIO controller
  2. Required properties:
  3. - compatible : Should be "marvell,orion-gpio", "marvell,mv78200-gpio"
  4. or "marvell,armadaxp-gpio". "marvell,orion-gpio" should be used for
  5. Orion, Kirkwood, Dove, Discovery (except MV78200) and Armada
  6. 370. "marvell,mv78200-gpio" should be used for the Discovery
  7. MV78200. "marvel,armadaxp-gpio" should be used for all Armada XP
  8. SoCs (MV78230, MV78260, MV78460).
  9. - reg: Address and length of the register set for the device. Only one
  10. entry is expected, except for the "marvell,armadaxp-gpio" variant
  11. for which two entries are expected: one for the general registers,
  12. one for the per-cpu registers.
  13. - interrupts: The list of interrupts that are used for all the pins
  14. managed by this GPIO bank. There can be more than one interrupt
  15. (example: 1 interrupt per 8 pins on Armada XP, which means 4
  16. interrupts per bank of 32 GPIOs).
  17. - interrupt-controller: identifies the node as an interrupt controller
  18. - #interrupt-cells: specifies the number of cells needed to encode an
  19. interrupt source. Should be two.
  20. The first cell is the GPIO number.
  21. The second cell is used to specify flags:
  22. bits[3:0] trigger type and level flags:
  23. 1 = low-to-high edge triggered.
  24. 2 = high-to-low edge triggered.
  25. 4 = active high level-sensitive.
  26. 8 = active low level-sensitive.
  27. - gpio-controller: marks the device node as a gpio controller
  28. - ngpios: number of GPIOs this controller has
  29. - #gpio-cells: Should be two. The first cell is the pin number. The
  30. second cell is reserved for flags, unused at the moment.
  31. Example:
  32. gpio0: gpio@d0018100 {
  33. compatible = "marvell,armadaxp-gpio";
  34. reg = <0xd0018100 0x40>,
  35. <0xd0018800 0x30>;
  36. ngpios = <32>;
  37. gpio-controller;
  38. #gpio-cells = <2>;
  39. interrupt-controller;
  40. #interrupt-cells = <2>;
  41. interrupts = <16>, <17>, <18>, <19>;
  42. };