| * 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-r8a7744": for R8A7744 (RZ/G1N) 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-r8a774a1": for R8A774A1 (RZ/G2M) compatible GPIO controller. |
| - "renesas,gpio-r8a774c0": for R8A774C0 (RZ/G2E) 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 or RZ/G2 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: See gpio.txt. |
| |
| 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. |
| |
| - gpio-reserved-ranges: See gpio.txt. |
| |
| Please refer to gpio.txt in this directory for 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: R8A77470 (RZ/G1C) GPIO controller nodes |
| |
| gpio0: gpio@e6050000 { |
| compatible = "renesas,gpio-r8a77470", |
| "renesas,rcar-gen2-gpio"; |
| reg = <0 0xe6050000 0 0x50>; |
| interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| gpio-ranges = <&pfc 0 0 23>; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| clocks = <&cpg CPG_MOD 912>; |
| power-domains = <&sysc R8A77470_PD_ALWAYS_ON>; |
| resets = <&cpg 912>; |
| }; |
| ... |
| gpio3: gpio@e6053000 { |
| compatible = "renesas,gpio-r8a77470", |
| "renesas,rcar-gen2-gpio"; |
| reg = <0 0xe6053000 0 0x50>; |
| interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; |
| #gpio-cells = <2>; |
| gpio-controller; |
| gpio-ranges = <&pfc 0 96 30>; |
| gpio-reserved-ranges = <17 10>; |
| #interrupt-cells = <2>; |
| interrupt-controller; |
| clocks = <&cpg CPG_MOD 909>; |
| power-domains = <&sysc R8A77470_PD_ALWAYS_ON>; |
| resets = <&cpg 909>; |
| }; |