brcm,brcmstb-gpio.txt 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. Broadcom STB "UPG GIO" GPIO controller
  2. The controller's registers are organized as sets of eight 32-bit
  3. registers with each set controlling a bank of up to 32 pins. A single
  4. interrupt is shared for all of the banks handled by the controller.
  5. Required properties:
  6. - compatible:
  7. Must be "brcm,brcmstb-gpio"
  8. - reg:
  9. Define the base and range of the I/O address space containing
  10. the brcmstb GPIO controller registers
  11. - #gpio-cells:
  12. Should be <2>. The first cell is the pin number (within the controller's
  13. pin space), and the second is used for the following:
  14. bit[0]: polarity (0 for active-high, 1 for active-low)
  15. - gpio-controller:
  16. Specifies that the node is a GPIO controller.
  17. - brcm,gpio-bank-widths:
  18. Number of GPIO lines for each bank. Number of elements must
  19. correspond to number of banks suggested by the 'reg' property.
  20. Optional properties:
  21. - interrupts:
  22. The interrupt shared by all GPIO lines for this controller.
  23. - interrupt-parent:
  24. phandle of the parent interrupt controller
  25. - interrupts-extended:
  26. Alternate form of specifying interrupts and parents that allows for
  27. multiple parents. This takes precedence over 'interrupts' and
  28. 'interrupt-parent'. Wakeup-capable GPIO controllers often route their
  29. wakeup interrupt lines through a different interrupt controller than the
  30. primary interrupt line, making this property necessary.
  31. - #interrupt-cells:
  32. Should be <2>. The first cell is the GPIO number, the second should specify
  33. flags. The following subset of flags is supported:
  34. - bits[3:0] trigger type and level flags
  35. 1 = low-to-high edge triggered
  36. 2 = high-to-low edge triggered
  37. 4 = active high level-sensitive
  38. 8 = active low level-sensitive
  39. Valid combinations are 1, 2, 3, 4, 8.
  40. See also Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
  41. - interrupt-controller:
  42. Marks the device node as an interrupt controller
  43. - wakeup-source:
  44. GPIOs for this controller can be used as a wakeup source
  45. Example:
  46. upg_gio: gpio@f040a700 {
  47. #gpio-cells = <2>;
  48. #interrupt-cells = <2>;
  49. compatible = "brcm,bcm7445-gpio", "brcm,brcmstb-gpio";
  50. gpio-controller;
  51. interrupt-controller;
  52. reg = <0xf040a700 0x80>;
  53. interrupt-parent = <&irq0_intc>;
  54. interrupts = <0x6>;
  55. brcm,gpio-bank-widths = <32 32 32 24>;
  56. };
  57. upg_gio_aon: gpio@f04172c0 {
  58. #gpio-cells = <2>;
  59. #interrupt-cells = <2>;
  60. compatible = "brcm,bcm7445-gpio", "brcm,brcmstb-gpio";
  61. gpio-controller;
  62. interrupt-controller;
  63. reg = <0xf04172c0 0x40>;
  64. interrupt-parent = <&irq0_aon_intc>;
  65. interrupts = <0x6>;
  66. interrupts-extended = <&irq0_aon_intc 0x6>,
  67. <&aon_pm_l2_intc 0x5>;
  68. wakeup-source;
  69. brcm,gpio-bank-widths = <18 4>;
  70. };