* Renesas R-Car GPIO Controller

Required Properties:

  - compatible: should contain one or more of the following:
    - "renesas,gpio-r8a7742": for R8A7742 (RZ/G1H) compatible GPIO controller.
    - "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-r8a7778": for R8A7778 (R-Mobile 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-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,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,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.

  - interrupt-parent: phandle of the parent interrupt controller.
  - 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 = <&mstp9_clks R8A77470_CLK_GPIO0>;
		power-domains = <&cpg_clocks>;
	};
	...
	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 = <&mstp9_clks R8A77470_CLK_GPIO3>;
		power-domains = <&cpg_clocks>;
	};
