| * Renesas R-Car GPIO Controller |
| |
| Required Properties: |
| |
| - compatible: should contain one or more of the following: |
| - "renesas,gpio-r8a7743": for R8A7743 (RZ/G1M) compatible GPIO controller. |
| - "renesas,gpio-r8a7745": for R8A7745 (RZ/G1E) compatible GPIO controller. |
| - "renesas,gpio-r8a77470": for R8A77470 (RZ/G1C) compatible GPIO controller. |
| - "renesas,gpio-r8a7778": for R8A7778 (R-Car M1) compatible GPIO controller. |
| - "renesas,gpio-r8a7779": for R8A7779 (R-Car H1) compatible GPIO controller. |
| - "renesas,gpio-r8a7790": for R8A7790 (R-Car H2) compatible GPIO controller. |
| - "renesas,gpio-r8a7791": for R8A7791 (R-Car M2-W) compatible GPIO controller. |
| - "renesas,gpio-r8a7792": for R8A7792 (R-Car V2H) compatible GPIO controller. |
| - "renesas,gpio-r8a7793": for R8A7793 (R-Car M2-N) compatible GPIO controller. |
| - "renesas,gpio-r8a7794": for R8A7794 (R-Car E2) compatible GPIO controller. |
| - "renesas,gpio-r8a7795": for R8A7795 (R-Car H3) compatible GPIO controller. |
| - "renesas,gpio-r8a7796": for R8A7796 (R-Car M3-W) compatible GPIO controller. |
| - "renesas,gpio-r8a77965": for R8A77965 (R-Car M3-N) compatible GPIO controller. |
| - "renesas,gpio-r8a77970": for R8A77970 (R-Car V3M) compatible GPIO controller. |
| - "renesas,gpio-r8a77980": for R8A77980 (R-Car V3H) compatible GPIO controller. |
| - "renesas,gpio-r8a77990": for R8A77990 (R-Car E3) compatible GPIO controller. |
| - "renesas,gpio-r8a77995": for R8A77995 (R-Car D3) compatible GPIO controller. |
| - "renesas,rcar-gen1-gpio": for a generic R-Car Gen1 GPIO controller. |
| - "renesas,rcar-gen2-gpio": for a generic R-Car Gen2 or RZ/G1 GPIO controller. |
| - "renesas,rcar-gen3-gpio": for a generic R-Car Gen3 GPIO controller. |
| - "renesas,gpio-rcar": deprecated. |
| |
| When compatible with the generic version nodes must list the |
| SoC-specific version corresponding to the platform first followed by |
| the generic version. |
| |
| - reg: Base address and length of each memory resource used by the GPIO |
| controller hardware module. |
| |
| - interrupts: Interrupt specifier for the controllers interrupt. |
| |
| - gpio-controller: Marks the device node as a gpio controller. |
| - #gpio-cells: Should be 2. The first cell is the GPIO number and the second |
| cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>. Only the |
| GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported. |
| - gpio-ranges: Range of pins managed by the GPIO controller. |
| |
| Optional properties: |
| |
| - clocks: Must contain a reference to the functional clock. The property is |
| mandatory if the hardware implements a controllable functional clock for |
| the GPIO instance. |
| |
| Please refer to gpio.txt in this directory for details of gpio-ranges property |
| and the common GPIO bindings used by client devices. |
| |
| The GPIO controller also acts as an interrupt controller. It uses the default |
| two cells specifier as described in Documentation/devicetree/bindings/ |
| interrupt-controller/interrupts.txt. |
| |
| Example: R8A7779 (R-Car H1) GPIO controller nodes |
| |
| gpio0: gpio@ffc40000 { |
| compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; |
| reg = <0xffc40000 0x2c>; |
| interrupt-parent = <&gic>; |
| interrupts = <0 141 0x4>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| gpio-ranges = <&pfc 0 0 32>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |
| ... |
| gpio6: gpio@ffc46000 { |
| compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio"; |
| reg = <0xffc46000 0x2c>; |
| interrupt-parent = <&gic>; |
| interrupts = <0 147 0x4>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| gpio-ranges = <&pfc 0 192 9>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| }; |