1*4882a593Smuzhiyun# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/gpio/renesas,rcar-gpio.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: Renesas R-Car General-Purpose Input/Output Ports (GPIO) 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Geert Uytterhoeven <geert+renesas@glider.be> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunproperties: 13*4882a593Smuzhiyun compatible: 14*4882a593Smuzhiyun oneOf: 15*4882a593Smuzhiyun - items: 16*4882a593Smuzhiyun - enum: 17*4882a593Smuzhiyun - renesas,gpio-r8a7778 # R-Car M1 18*4882a593Smuzhiyun - renesas,gpio-r8a7779 # R-Car H1 19*4882a593Smuzhiyun - const: renesas,rcar-gen1-gpio # R-Car Gen1 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun - items: 22*4882a593Smuzhiyun - enum: 23*4882a593Smuzhiyun - renesas,gpio-r8a7742 # RZ/G1H 24*4882a593Smuzhiyun - renesas,gpio-r8a7743 # RZ/G1M 25*4882a593Smuzhiyun - renesas,gpio-r8a7744 # RZ/G1N 26*4882a593Smuzhiyun - renesas,gpio-r8a7745 # RZ/G1E 27*4882a593Smuzhiyun - renesas,gpio-r8a77470 # RZ/G1C 28*4882a593Smuzhiyun - renesas,gpio-r8a7790 # R-Car H2 29*4882a593Smuzhiyun - renesas,gpio-r8a7791 # R-Car M2-W 30*4882a593Smuzhiyun - renesas,gpio-r8a7792 # R-Car V2H 31*4882a593Smuzhiyun - renesas,gpio-r8a7793 # R-Car M2-N 32*4882a593Smuzhiyun - renesas,gpio-r8a7794 # R-Car E2 33*4882a593Smuzhiyun - const: renesas,rcar-gen2-gpio # R-Car Gen2 or RZ/G1 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun - items: 36*4882a593Smuzhiyun - enum: 37*4882a593Smuzhiyun - renesas,gpio-r8a774a1 # RZ/G2M 38*4882a593Smuzhiyun - renesas,gpio-r8a774b1 # RZ/G2N 39*4882a593Smuzhiyun - renesas,gpio-r8a774c0 # RZ/G2E 40*4882a593Smuzhiyun - renesas,gpio-r8a774e1 # RZ/G2H 41*4882a593Smuzhiyun - renesas,gpio-r8a7795 # R-Car H3 42*4882a593Smuzhiyun - renesas,gpio-r8a7796 # R-Car M3-W 43*4882a593Smuzhiyun - renesas,gpio-r8a77961 # R-Car M3-W+ 44*4882a593Smuzhiyun - renesas,gpio-r8a77965 # R-Car M3-N 45*4882a593Smuzhiyun - renesas,gpio-r8a77970 # R-Car V3M 46*4882a593Smuzhiyun - renesas,gpio-r8a77980 # R-Car V3H 47*4882a593Smuzhiyun - renesas,gpio-r8a77990 # R-Car E3 48*4882a593Smuzhiyun - renesas,gpio-r8a77995 # R-Car D3 49*4882a593Smuzhiyun - const: renesas,rcar-gen3-gpio # R-Car Gen3 or RZ/G2 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun reg: 52*4882a593Smuzhiyun maxItems: 1 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun interrupts: 55*4882a593Smuzhiyun maxItems: 1 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun clocks: 58*4882a593Smuzhiyun maxItems: 1 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun power-domains: 61*4882a593Smuzhiyun maxItems: 1 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun resets: 64*4882a593Smuzhiyun maxItems: 1 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun gpio-controller: true 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun '#gpio-cells': 69*4882a593Smuzhiyun const: 2 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun interrupt-controller: true 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun '#interrupt-cells': 74*4882a593Smuzhiyun const: 2 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun gpio-ranges: 77*4882a593Smuzhiyun maxItems: 1 78*4882a593Smuzhiyun 79*4882a593Smuzhiyun gpio-reserved-ranges: 80*4882a593Smuzhiyun minItems: 1 81*4882a593Smuzhiyun maxItems: 8 82*4882a593Smuzhiyun 83*4882a593SmuzhiyunpatternProperties: 84*4882a593Smuzhiyun "^.*$": 85*4882a593Smuzhiyun if: 86*4882a593Smuzhiyun type: object 87*4882a593Smuzhiyun then: 88*4882a593Smuzhiyun properties: 89*4882a593Smuzhiyun gpio-hog: true 90*4882a593Smuzhiyun gpios: true 91*4882a593Smuzhiyun input: true 92*4882a593Smuzhiyun output-high: true 93*4882a593Smuzhiyun output-low: true 94*4882a593Smuzhiyun line-name: true 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun required: 97*4882a593Smuzhiyun - gpio-hog 98*4882a593Smuzhiyun - gpios 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun additionalProperties: false 101*4882a593Smuzhiyun 102*4882a593Smuzhiyunrequired: 103*4882a593Smuzhiyun - compatible 104*4882a593Smuzhiyun - reg 105*4882a593Smuzhiyun - interrupts 106*4882a593Smuzhiyun - gpio-controller 107*4882a593Smuzhiyun - '#gpio-cells' 108*4882a593Smuzhiyun - gpio-ranges 109*4882a593Smuzhiyun - interrupt-controller 110*4882a593Smuzhiyun - '#interrupt-cells' 111*4882a593Smuzhiyun 112*4882a593Smuzhiyunif: 113*4882a593Smuzhiyun not: 114*4882a593Smuzhiyun properties: 115*4882a593Smuzhiyun compatible: 116*4882a593Smuzhiyun contains: 117*4882a593Smuzhiyun enum: 118*4882a593Smuzhiyun - renesas,rcar-gen1-gpio 119*4882a593Smuzhiyunthen: 120*4882a593Smuzhiyun required: 121*4882a593Smuzhiyun - clocks 122*4882a593Smuzhiyun - power-domains 123*4882a593Smuzhiyun - resets 124*4882a593Smuzhiyun 125*4882a593SmuzhiyunadditionalProperties: false 126*4882a593Smuzhiyun 127*4882a593Smuzhiyunexamples: 128*4882a593Smuzhiyun - | 129*4882a593Smuzhiyun #include <dt-bindings/clock/r8a77470-cpg-mssr.h> 130*4882a593Smuzhiyun #include <dt-bindings/interrupt-controller/arm-gic.h> 131*4882a593Smuzhiyun #include <dt-bindings/power/r8a77470-sysc.h> 132*4882a593Smuzhiyun gpio3: gpio@e6053000 { 133*4882a593Smuzhiyun compatible = "renesas,gpio-r8a77470", "renesas,rcar-gen2-gpio"; 134*4882a593Smuzhiyun reg = <0xe6053000 0x50>; 135*4882a593Smuzhiyun interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; 136*4882a593Smuzhiyun clocks = <&cpg CPG_MOD 909>; 137*4882a593Smuzhiyun power-domains = <&sysc R8A77470_PD_ALWAYS_ON>; 138*4882a593Smuzhiyun resets = <&cpg 909>; 139*4882a593Smuzhiyun gpio-controller; 140*4882a593Smuzhiyun #gpio-cells = <2>; 141*4882a593Smuzhiyun gpio-ranges = <&pfc 0 96 30>; 142*4882a593Smuzhiyun gpio-reserved-ranges = <17 10>; 143*4882a593Smuzhiyun interrupt-controller; 144*4882a593Smuzhiyun #interrupt-cells = <2>; 145*4882a593Smuzhiyun }; 146