* 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-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-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,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.

  - 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: 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>;
	};
