17f7d408eSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 27f7d408eSGeert Uytterhoeven%YAML 1.2 37f7d408eSGeert Uytterhoeven--- 47f7d408eSGeert Uytterhoeven$id: http://devicetree.org/schemas/gpio/renesas,rcar-gpio.yaml# 57f7d408eSGeert Uytterhoeven$schema: http://devicetree.org/meta-schemas/core.yaml# 67f7d408eSGeert Uytterhoeven 77f7d408eSGeert Uytterhoeventitle: Renesas R-Car General-Purpose Input/Output Ports (GPIO) 87f7d408eSGeert Uytterhoeven 97f7d408eSGeert Uytterhoevenmaintainers: 107f7d408eSGeert Uytterhoeven - Geert Uytterhoeven <geert+renesas@glider.be> 117f7d408eSGeert Uytterhoeven 127f7d408eSGeert Uytterhoevenproperties: 137f7d408eSGeert Uytterhoeven compatible: 147f7d408eSGeert Uytterhoeven oneOf: 157f7d408eSGeert Uytterhoeven - items: 167f7d408eSGeert Uytterhoeven - enum: 177f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7778 # R-Car M1 187f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7779 # R-Car H1 197f7d408eSGeert Uytterhoeven - const: renesas,rcar-gen1-gpio # R-Car Gen1 207f7d408eSGeert Uytterhoeven 217f7d408eSGeert Uytterhoeven - items: 227f7d408eSGeert Uytterhoeven - enum: 2339c7c93dSLad Prabhakar - renesas,gpio-r8a7742 # RZ/G1H 247f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7743 # RZ/G1M 257f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7744 # RZ/G1N 267f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7745 # RZ/G1E 277f7d408eSGeert Uytterhoeven - renesas,gpio-r8a77470 # RZ/G1C 287f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7790 # R-Car H2 297f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7791 # R-Car M2-W 307f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7792 # R-Car V2H 317f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7793 # R-Car M2-N 327f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7794 # R-Car E2 337f7d408eSGeert Uytterhoeven - const: renesas,rcar-gen2-gpio # R-Car Gen2 or RZ/G1 347f7d408eSGeert Uytterhoeven 357f7d408eSGeert Uytterhoeven - items: 367f7d408eSGeert Uytterhoeven - enum: 377f7d408eSGeert Uytterhoeven - renesas,gpio-r8a774a1 # RZ/G2M 387f7d408eSGeert Uytterhoeven - renesas,gpio-r8a774b1 # RZ/G2N 397f7d408eSGeert Uytterhoeven - renesas,gpio-r8a774c0 # RZ/G2E 40ddbc9712SLad Prabhakar - renesas,gpio-r8a774e1 # RZ/G2H 417f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7795 # R-Car H3 427f7d408eSGeert Uytterhoeven - renesas,gpio-r8a7796 # R-Car M3-W 437f7d408eSGeert Uytterhoeven - renesas,gpio-r8a77961 # R-Car M3-W+ 447f7d408eSGeert Uytterhoeven - renesas,gpio-r8a77965 # R-Car M3-N 457f7d408eSGeert Uytterhoeven - renesas,gpio-r8a77970 # R-Car V3M 467f7d408eSGeert Uytterhoeven - renesas,gpio-r8a77980 # R-Car V3H 477f7d408eSGeert Uytterhoeven - renesas,gpio-r8a77990 # R-Car E3 487f7d408eSGeert Uytterhoeven - renesas,gpio-r8a77995 # R-Car D3 497f7d408eSGeert Uytterhoeven - const: renesas,rcar-gen3-gpio # R-Car Gen3 or RZ/G2 507f7d408eSGeert Uytterhoeven 512a84708cSGeert Uytterhoeven - items: 52afd24a50SGeert Uytterhoeven - enum: 5331212be4SGeert Uytterhoeven - renesas,gpio-r8a779a0 # R-Car V3U 54afd24a50SGeert Uytterhoeven - renesas,gpio-r8a779f0 # R-Car S4-8 553af20d27SGeert Uytterhoeven - renesas,gpio-r8a779g0 # R-Car V4H 56*ff3d9bfaSGeert Uytterhoeven - renesas,gpio-r8a779h0 # R-Car V4M 57afd24a50SGeert Uytterhoeven - const: renesas,rcar-gen4-gpio # R-Car Gen4 58afd24a50SGeert Uytterhoeven 597f7d408eSGeert Uytterhoeven reg: 607f7d408eSGeert Uytterhoeven maxItems: 1 617f7d408eSGeert Uytterhoeven 627f7d408eSGeert Uytterhoeven interrupts: 637f7d408eSGeert Uytterhoeven maxItems: 1 647f7d408eSGeert Uytterhoeven 657f7d408eSGeert Uytterhoeven clocks: 667f7d408eSGeert Uytterhoeven maxItems: 1 677f7d408eSGeert Uytterhoeven 687f7d408eSGeert Uytterhoeven power-domains: 697f7d408eSGeert Uytterhoeven maxItems: 1 707f7d408eSGeert Uytterhoeven 717f7d408eSGeert Uytterhoeven resets: 727f7d408eSGeert Uytterhoeven maxItems: 1 737f7d408eSGeert Uytterhoeven 747f7d408eSGeert Uytterhoeven gpio-controller: true 757f7d408eSGeert Uytterhoeven 767f7d408eSGeert Uytterhoeven '#gpio-cells': 777f7d408eSGeert Uytterhoeven const: 2 787f7d408eSGeert Uytterhoeven 797f7d408eSGeert Uytterhoeven interrupt-controller: true 807f7d408eSGeert Uytterhoeven 817f7d408eSGeert Uytterhoeven '#interrupt-cells': 827f7d408eSGeert Uytterhoeven const: 2 837f7d408eSGeert Uytterhoeven 847f7d408eSGeert Uytterhoeven gpio-ranges: 857f7d408eSGeert Uytterhoeven maxItems: 1 867f7d408eSGeert Uytterhoeven 877f7d408eSGeert Uytterhoeven gpio-reserved-ranges: 887f7d408eSGeert Uytterhoeven minItems: 1 897f7d408eSGeert Uytterhoeven maxItems: 8 907f7d408eSGeert Uytterhoeven 917f7d408eSGeert UytterhoevenpatternProperties: 927f7d408eSGeert Uytterhoeven "^.*$": 937f7d408eSGeert Uytterhoeven if: 947f7d408eSGeert Uytterhoeven type: object 957f7d408eSGeert Uytterhoeven then: 967f7d408eSGeert Uytterhoeven properties: 977f7d408eSGeert Uytterhoeven gpio-hog: true 987f7d408eSGeert Uytterhoeven gpios: true 997f7d408eSGeert Uytterhoeven input: true 1007f7d408eSGeert Uytterhoeven output-high: true 1017f7d408eSGeert Uytterhoeven output-low: true 1027f7d408eSGeert Uytterhoeven line-name: true 1037f7d408eSGeert Uytterhoeven 1047f7d408eSGeert Uytterhoeven required: 1057f7d408eSGeert Uytterhoeven - gpio-hog 1067f7d408eSGeert Uytterhoeven - gpios 1077f7d408eSGeert Uytterhoeven 1087f7d408eSGeert Uytterhoeven additionalProperties: false 1097f7d408eSGeert Uytterhoeven 1107f7d408eSGeert Uytterhoevenrequired: 1117f7d408eSGeert Uytterhoeven - compatible 1127f7d408eSGeert Uytterhoeven - reg 1137f7d408eSGeert Uytterhoeven - interrupts 1147f7d408eSGeert Uytterhoeven - gpio-controller 1157f7d408eSGeert Uytterhoeven - '#gpio-cells' 1167f7d408eSGeert Uytterhoeven - gpio-ranges 1177f7d408eSGeert Uytterhoeven - interrupt-controller 1187f7d408eSGeert Uytterhoeven - '#interrupt-cells' 1197f7d408eSGeert Uytterhoeven 1207f7d408eSGeert Uytterhoevenif: 1217f7d408eSGeert Uytterhoeven not: 1227f7d408eSGeert Uytterhoeven properties: 1237f7d408eSGeert Uytterhoeven compatible: 1247f7d408eSGeert Uytterhoeven contains: 1257f7d408eSGeert Uytterhoeven enum: 1267f7d408eSGeert Uytterhoeven - renesas,rcar-gen1-gpio 1277f7d408eSGeert Uytterhoeventhen: 1287f7d408eSGeert Uytterhoeven required: 1297f7d408eSGeert Uytterhoeven - clocks 1307f7d408eSGeert Uytterhoeven - power-domains 1317f7d408eSGeert Uytterhoeven - resets 1327f7d408eSGeert Uytterhoeven 1337f7d408eSGeert UytterhoevenadditionalProperties: false 1347f7d408eSGeert Uytterhoeven 1357f7d408eSGeert Uytterhoevenexamples: 1367f7d408eSGeert Uytterhoeven - | 1377f7d408eSGeert Uytterhoeven #include <dt-bindings/clock/r8a77470-cpg-mssr.h> 1387f7d408eSGeert Uytterhoeven #include <dt-bindings/interrupt-controller/arm-gic.h> 1397f7d408eSGeert Uytterhoeven #include <dt-bindings/power/r8a77470-sysc.h> 1407f7d408eSGeert Uytterhoeven gpio3: gpio@e6053000 { 1417f7d408eSGeert Uytterhoeven compatible = "renesas,gpio-r8a77470", "renesas,rcar-gen2-gpio"; 1427f7d408eSGeert Uytterhoeven reg = <0xe6053000 0x50>; 1437f7d408eSGeert Uytterhoeven interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 1447f7d408eSGeert Uytterhoeven clocks = <&cpg CPG_MOD 909>; 1457f7d408eSGeert Uytterhoeven power-domains = <&sysc R8A77470_PD_ALWAYS_ON>; 1467f7d408eSGeert Uytterhoeven resets = <&cpg 909>; 1477f7d408eSGeert Uytterhoeven gpio-controller; 1487f7d408eSGeert Uytterhoeven #gpio-cells = <2>; 1497f7d408eSGeert Uytterhoeven gpio-ranges = <&pfc 0 96 30>; 1507f7d408eSGeert Uytterhoeven gpio-reserved-ranges = <17 10>; 1517f7d408eSGeert Uytterhoeven interrupt-controller; 1527f7d408eSGeert Uytterhoeven #interrupt-cells = <2>; 1537f7d408eSGeert Uytterhoeven }; 154