Commit c0f6afad authored by Biju Das's avatar Biju Das Committed by Linus Walleij
Browse files

dt-bindings: gpio: rcar: Add gpio-reserved-ranges support



Update the DT bindings documentation with the optional gpio-reserved-ranges
properties.

Signed-off-by: default avatarBiju Das <biju.das@bp.renesas.com>
Reviewed-by: default avatarFabrizio Castro <fabrizio.castro@bp.renesas.com>
Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 496069b8
Loading
Loading
Loading
Loading
+35 −26
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ Required Properties:
  - #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.
  - gpio-ranges: See gpio.txt.

Optional properties:

@@ -46,35 +46,44 @@ Optional properties:
    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.
  - 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: R8A7779 (R-Car H1) GPIO controller nodes
Example: R8A77470 (RZ/G1C) GPIO controller nodes

	gpio0: gpio@ffc40000 {
		compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
		reg = <0xffc40000 0x2c>;
		interrupt-parent = <&gic>;
		interrupts = <0 141 0x4>;
       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 32>;
		interrupt-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>;
        };
	...
	gpio6: gpio@ffc46000 {
		compatible = "renesas,gpio-r8a7779", "renesas,rcar-gen1-gpio";
		reg = <0xffc46000 0x2c>;
		interrupt-parent = <&gic>;
		interrupts = <0 147 0x4>;
       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 192 9>;
		interrupt-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>;
        };