1*c830b87aSAswath Govindraju# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*c830b87aSAswath Govindraju%YAML 1.2 3*c830b87aSAswath Govindraju--- 4*c830b87aSAswath Govindraju$id: http://devicetree.org/schemas/gpio/gpio-davinci.yaml# 5*c830b87aSAswath Govindraju$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c830b87aSAswath Govindraju 7*c830b87aSAswath Govindrajutitle: GPIO controller for Davinci and keystone devices 8*c830b87aSAswath Govindraju 9*c830b87aSAswath Govindrajumaintainers: 10*c830b87aSAswath Govindraju - Keerthy <j-keerthy@ti.com> 11*c830b87aSAswath Govindraju 12*c830b87aSAswath Govindrajuproperties: 13*c830b87aSAswath Govindraju compatible: 14*c830b87aSAswath Govindraju oneOf: 15*c830b87aSAswath Govindraju - items: 16*c830b87aSAswath Govindraju - enum: 17*c830b87aSAswath Govindraju - ti,k2g-gpio 18*c830b87aSAswath Govindraju - ti,am654-gpio 19*c830b87aSAswath Govindraju - ti,j721e-gpio 20*c830b87aSAswath Govindraju - ti,am64-gpio 21*c830b87aSAswath Govindraju - const: ti,keystone-gpio 22*c830b87aSAswath Govindraju 23*c830b87aSAswath Govindraju - items: 24*c830b87aSAswath Govindraju - enum: 25*c830b87aSAswath Govindraju - ti,dm6441-gpio 26*c830b87aSAswath Govindraju - ti,keystone-gpio 27*c830b87aSAswath Govindraju 28*c830b87aSAswath Govindraju reg: 29*c830b87aSAswath Govindraju maxItems: 1 30*c830b87aSAswath Govindraju 31*c830b87aSAswath Govindraju gpio-controller: true 32*c830b87aSAswath Govindraju 33*c830b87aSAswath Govindraju gpio-ranges: true 34*c830b87aSAswath Govindraju 35*c830b87aSAswath Govindraju gpio-line-names: 36*c830b87aSAswath Govindraju description: strings describing the names of each gpio line. 37*c830b87aSAswath Govindraju minItems: 1 38*c830b87aSAswath Govindraju maxItems: 100 39*c830b87aSAswath Govindraju 40*c830b87aSAswath Govindraju "#gpio-cells": 41*c830b87aSAswath Govindraju const: 2 42*c830b87aSAswath Govindraju description: 43*c830b87aSAswath Govindraju first cell is the pin number and second cell is used to specify optional parameters (unused). 44*c830b87aSAswath Govindraju 45*c830b87aSAswath Govindraju interrupts: 46*c830b87aSAswath Govindraju description: 47*c830b87aSAswath Govindraju The interrupts are specified as per the interrupt parent. Only banked 48*c830b87aSAswath Govindraju or unbanked IRQs are supported at a time. If the interrupts are 49*c830b87aSAswath Govindraju banked then provide list of interrupts corresponding to each bank, else 50*c830b87aSAswath Govindraju provide the list of interrupts for each gpio. 51*c830b87aSAswath Govindraju minItems: 1 52*c830b87aSAswath Govindraju maxItems: 100 53*c830b87aSAswath Govindraju 54*c830b87aSAswath Govindraju ti,ngpio: 55*c830b87aSAswath Govindraju $ref: /schemas/types.yaml#/definitions/uint32 56*c830b87aSAswath Govindraju description: The number of GPIO pins supported consecutively. 57*c830b87aSAswath Govindraju minimum: 1 58*c830b87aSAswath Govindraju 59*c830b87aSAswath Govindraju ti,davinci-gpio-unbanked: 60*c830b87aSAswath Govindraju $ref: /schemas/types.yaml#/definitions/uint32 61*c830b87aSAswath Govindraju description: The number of GPIOs that have an individual interrupt line to processor. 62*c830b87aSAswath Govindraju minimum: 0 63*c830b87aSAswath Govindraju 64*c830b87aSAswath Govindraju clocks: 65*c830b87aSAswath Govindraju maxItems: 1 66*c830b87aSAswath Govindraju 67*c830b87aSAswath Govindraju clock-names: 68*c830b87aSAswath Govindraju const: gpio 69*c830b87aSAswath Govindraju 70*c830b87aSAswath Govindraju interrupt-controller: true 71*c830b87aSAswath Govindraju 72*c830b87aSAswath Govindraju power-domains: 73*c830b87aSAswath Govindraju maxItems: 1 74*c830b87aSAswath Govindraju 75*c830b87aSAswath Govindraju "#interrupt-cells": 76*c830b87aSAswath Govindraju const: 2 77*c830b87aSAswath Govindraju 78*c830b87aSAswath GovindrajupatternProperties: 79*c830b87aSAswath Govindraju "^(.+-hog(-[0-9]+)?)$": 80*c830b87aSAswath Govindraju type: object 81*c830b87aSAswath Govindraju 82*c830b87aSAswath Govindraju required: 83*c830b87aSAswath Govindraju - gpio-hog 84*c830b87aSAswath Govindraju 85*c830b87aSAswath Govindrajurequired: 86*c830b87aSAswath Govindraju - compatible 87*c830b87aSAswath Govindraju - reg 88*c830b87aSAswath Govindraju - gpio-controller 89*c830b87aSAswath Govindraju - "#gpio-cells" 90*c830b87aSAswath Govindraju - interrupts 91*c830b87aSAswath Govindraju - ti,ngpio 92*c830b87aSAswath Govindraju - ti,davinci-gpio-unbanked 93*c830b87aSAswath Govindraju - clocks 94*c830b87aSAswath Govindraju - clock-names 95*c830b87aSAswath Govindraju 96*c830b87aSAswath GovindrajuadditionalProperties: false 97*c830b87aSAswath Govindraju 98*c830b87aSAswath Govindrajuexamples: 99*c830b87aSAswath Govindraju - | 100*c830b87aSAswath Govindraju #include<dt-bindings/interrupt-controller/arm-gic.h> 101*c830b87aSAswath Govindraju 102*c830b87aSAswath Govindraju gpio0: gpio@2603000 { 103*c830b87aSAswath Govindraju compatible = "ti,k2g-gpio", "ti,keystone-gpio"; 104*c830b87aSAswath Govindraju reg = <0x02603000 0x100>; 105*c830b87aSAswath Govindraju gpio-controller; 106*c830b87aSAswath Govindraju #gpio-cells = <2>; 107*c830b87aSAswath Govindraju interrupts = <GIC_SPI 432 IRQ_TYPE_EDGE_RISING>, 108*c830b87aSAswath Govindraju <GIC_SPI 433 IRQ_TYPE_EDGE_RISING>, 109*c830b87aSAswath Govindraju <GIC_SPI 434 IRQ_TYPE_EDGE_RISING>, 110*c830b87aSAswath Govindraju <GIC_SPI 435 IRQ_TYPE_EDGE_RISING>, 111*c830b87aSAswath Govindraju <GIC_SPI 436 IRQ_TYPE_EDGE_RISING>, 112*c830b87aSAswath Govindraju <GIC_SPI 437 IRQ_TYPE_EDGE_RISING>, 113*c830b87aSAswath Govindraju <GIC_SPI 438 IRQ_TYPE_EDGE_RISING>, 114*c830b87aSAswath Govindraju <GIC_SPI 439 IRQ_TYPE_EDGE_RISING>, 115*c830b87aSAswath Govindraju <GIC_SPI 440 IRQ_TYPE_EDGE_RISING>; 116*c830b87aSAswath Govindraju interrupt-controller; 117*c830b87aSAswath Govindraju #interrupt-cells = <2>; 118*c830b87aSAswath Govindraju ti,ngpio = <144>; 119*c830b87aSAswath Govindraju ti,davinci-gpio-unbanked = <0>; 120*c830b87aSAswath Govindraju clocks = <&k2g_clks 0x001b 0x0>; 121*c830b87aSAswath Govindraju clock-names = "gpio"; 122*c830b87aSAswath Govindraju }; 123*c830b87aSAswath Govindraju 124*c830b87aSAswath Govindraju - | 125*c830b87aSAswath Govindraju #include<dt-bindings/interrupt-controller/arm-gic.h> 126*c830b87aSAswath Govindraju 127*c830b87aSAswath Govindraju gpio1: gpio@260bf00 { 128*c830b87aSAswath Govindraju compatible = "ti,keystone-gpio"; 129*c830b87aSAswath Govindraju reg = <0x0260bf00 0x100>; 130*c830b87aSAswath Govindraju gpio-controller; 131*c830b87aSAswath Govindraju #gpio-cells = <2>; 132*c830b87aSAswath Govindraju /* HW Interrupts mapped to GPIO pins */ 133*c830b87aSAswath Govindraju interrupts = <GIC_SPI 120 IRQ_TYPE_EDGE_RISING>, 134*c830b87aSAswath Govindraju <GIC_SPI 121 IRQ_TYPE_EDGE_RISING>, 135*c830b87aSAswath Govindraju <GIC_SPI 122 IRQ_TYPE_EDGE_RISING>, 136*c830b87aSAswath Govindraju <GIC_SPI 123 IRQ_TYPE_EDGE_RISING>, 137*c830b87aSAswath Govindraju <GIC_SPI 124 IRQ_TYPE_EDGE_RISING>, 138*c830b87aSAswath Govindraju <GIC_SPI 125 IRQ_TYPE_EDGE_RISING>, 139*c830b87aSAswath Govindraju <GIC_SPI 126 IRQ_TYPE_EDGE_RISING>, 140*c830b87aSAswath Govindraju <GIC_SPI 127 IRQ_TYPE_EDGE_RISING>, 141*c830b87aSAswath Govindraju <GIC_SPI 128 IRQ_TYPE_EDGE_RISING>, 142*c830b87aSAswath Govindraju <GIC_SPI 129 IRQ_TYPE_EDGE_RISING>, 143*c830b87aSAswath Govindraju <GIC_SPI 130 IRQ_TYPE_EDGE_RISING>, 144*c830b87aSAswath Govindraju <GIC_SPI 131 IRQ_TYPE_EDGE_RISING>, 145*c830b87aSAswath Govindraju <GIC_SPI 132 IRQ_TYPE_EDGE_RISING>, 146*c830b87aSAswath Govindraju <GIC_SPI 133 IRQ_TYPE_EDGE_RISING>, 147*c830b87aSAswath Govindraju <GIC_SPI 134 IRQ_TYPE_EDGE_RISING>, 148*c830b87aSAswath Govindraju <GIC_SPI 135 IRQ_TYPE_EDGE_RISING>, 149*c830b87aSAswath Govindraju <GIC_SPI 136 IRQ_TYPE_EDGE_RISING>, 150*c830b87aSAswath Govindraju <GIC_SPI 137 IRQ_TYPE_EDGE_RISING>, 151*c830b87aSAswath Govindraju <GIC_SPI 138 IRQ_TYPE_EDGE_RISING>, 152*c830b87aSAswath Govindraju <GIC_SPI 139 IRQ_TYPE_EDGE_RISING>, 153*c830b87aSAswath Govindraju <GIC_SPI 140 IRQ_TYPE_EDGE_RISING>, 154*c830b87aSAswath Govindraju <GIC_SPI 141 IRQ_TYPE_EDGE_RISING>, 155*c830b87aSAswath Govindraju <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>, 156*c830b87aSAswath Govindraju <GIC_SPI 143 IRQ_TYPE_EDGE_RISING>, 157*c830b87aSAswath Govindraju <GIC_SPI 144 IRQ_TYPE_EDGE_RISING>, 158*c830b87aSAswath Govindraju <GIC_SPI 145 IRQ_TYPE_EDGE_RISING>, 159*c830b87aSAswath Govindraju <GIC_SPI 146 IRQ_TYPE_EDGE_RISING>, 160*c830b87aSAswath Govindraju <GIC_SPI 147 IRQ_TYPE_EDGE_RISING>, 161*c830b87aSAswath Govindraju <GIC_SPI 148 IRQ_TYPE_EDGE_RISING>, 162*c830b87aSAswath Govindraju <GIC_SPI 149 IRQ_TYPE_EDGE_RISING>, 163*c830b87aSAswath Govindraju <GIC_SPI 150 IRQ_TYPE_EDGE_RISING>, 164*c830b87aSAswath Govindraju <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>; 165*c830b87aSAswath Govindraju clocks = <&clkgpio>; 166*c830b87aSAswath Govindraju clock-names = "gpio"; 167*c830b87aSAswath Govindraju ti,ngpio = <32>; 168*c830b87aSAswath Govindraju ti,davinci-gpio-unbanked = <32>; 169*c830b87aSAswath Govindraju }; 170*c830b87aSAswath Govindraju 171*c830b87aSAswath Govindraju - | 172*c830b87aSAswath Govindraju wkup_gpio0: gpio0@42110000 { 173*c830b87aSAswath Govindraju compatible = "ti,am654-gpio", "ti,keystone-gpio"; 174*c830b87aSAswath Govindraju reg = <0x42110000 0x100>; 175*c830b87aSAswath Govindraju gpio-controller; 176*c830b87aSAswath Govindraju #gpio-cells = <2>; 177*c830b87aSAswath Govindraju interrupt-parent = <&intr_wkup_gpio>; 178*c830b87aSAswath Govindraju interrupts = <60>, <61>, <62>, <63>; 179*c830b87aSAswath Govindraju interrupt-controller; 180*c830b87aSAswath Govindraju #interrupt-cells = <2>; 181*c830b87aSAswath Govindraju ti,ngpio = <56>; 182*c830b87aSAswath Govindraju ti,davinci-gpio-unbanked = <0>; 183*c830b87aSAswath Govindraju clocks = <&k3_clks 59 0>; 184*c830b87aSAswath Govindraju clock-names = "gpio"; 185*c830b87aSAswath Govindraju }; 186