1*b0c48861SStanislav Jakubek# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*b0c48861SStanislav Jakubek%YAML 1.2 3*b0c48861SStanislav Jakubek--- 4*b0c48861SStanislav Jakubek$id: http://devicetree.org/schemas/gpio/brcm,kona-gpio.yaml# 5*b0c48861SStanislav Jakubek$schema: http://devicetree.org/meta-schemas/core.yaml# 6*b0c48861SStanislav Jakubek 7*b0c48861SStanislav Jakubektitle: Broadcom Kona family GPIO controller 8*b0c48861SStanislav Jakubek 9*b0c48861SStanislav Jakubekdescription: 10*b0c48861SStanislav Jakubek The Broadcom GPIO Controller IP can be configured prior to synthesis to 11*b0c48861SStanislav Jakubek support up to 8 banks of 32 GPIOs where each bank has its own IRQ. The 12*b0c48861SStanislav Jakubek GPIO controller only supports edge, not level, triggering of interrupts. 13*b0c48861SStanislav Jakubek 14*b0c48861SStanislav Jakubekmaintainers: 15*b0c48861SStanislav Jakubek - Ray Jui <rjui@broadcom.com> 16*b0c48861SStanislav Jakubek 17*b0c48861SStanislav Jakubekproperties: 18*b0c48861SStanislav Jakubek compatible: 19*b0c48861SStanislav Jakubek items: 20*b0c48861SStanislav Jakubek - enum: 21*b0c48861SStanislav Jakubek - brcm,bcm11351-gpio 22*b0c48861SStanislav Jakubek - brcm,bcm21664-gpio 23*b0c48861SStanislav Jakubek - brcm,bcm23550-gpio 24*b0c48861SStanislav Jakubek - const: brcm,kona-gpio 25*b0c48861SStanislav Jakubek 26*b0c48861SStanislav Jakubek reg: 27*b0c48861SStanislav Jakubek maxItems: 1 28*b0c48861SStanislav Jakubek 29*b0c48861SStanislav Jakubek interrupts: 30*b0c48861SStanislav Jakubek minItems: 4 31*b0c48861SStanislav Jakubek maxItems: 6 32*b0c48861SStanislav Jakubek description: 33*b0c48861SStanislav Jakubek The interrupt outputs from the controller. There is one GPIO interrupt 34*b0c48861SStanislav Jakubek per GPIO bank. The number of interrupts listed depends on the number of 35*b0c48861SStanislav Jakubek GPIO banks on the SoC. The interrupts must be ordered by bank, starting 36*b0c48861SStanislav Jakubek with bank 0. There is always a 1:1 mapping between banks and IRQs. 37*b0c48861SStanislav Jakubek 38*b0c48861SStanislav Jakubek '#gpio-cells': 39*b0c48861SStanislav Jakubek const: 2 40*b0c48861SStanislav Jakubek 41*b0c48861SStanislav Jakubek '#interrupt-cells': 42*b0c48861SStanislav Jakubek const: 2 43*b0c48861SStanislav Jakubek 44*b0c48861SStanislav Jakubek gpio-controller: true 45*b0c48861SStanislav Jakubek 46*b0c48861SStanislav Jakubek interrupt-controller: true 47*b0c48861SStanislav Jakubek 48*b0c48861SStanislav Jakubekrequired: 49*b0c48861SStanislav Jakubek - compatible 50*b0c48861SStanislav Jakubek - reg 51*b0c48861SStanislav Jakubek - interrupts 52*b0c48861SStanislav Jakubek - '#gpio-cells' 53*b0c48861SStanislav Jakubek - '#interrupt-cells' 54*b0c48861SStanislav Jakubek - gpio-controller 55*b0c48861SStanislav Jakubek - interrupt-controller 56*b0c48861SStanislav Jakubek 57*b0c48861SStanislav JakubekallOf: 58*b0c48861SStanislav Jakubek - if: 59*b0c48861SStanislav Jakubek properties: 60*b0c48861SStanislav Jakubek compatible: 61*b0c48861SStanislav Jakubek contains: 62*b0c48861SStanislav Jakubek const: brcm,bcm11351-gpio 63*b0c48861SStanislav Jakubek then: 64*b0c48861SStanislav Jakubek properties: 65*b0c48861SStanislav Jakubek interrupts: 66*b0c48861SStanislav Jakubek minItems: 6 67*b0c48861SStanislav Jakubek - if: 68*b0c48861SStanislav Jakubek properties: 69*b0c48861SStanislav Jakubek compatible: 70*b0c48861SStanislav Jakubek contains: 71*b0c48861SStanislav Jakubek enum: 72*b0c48861SStanislav Jakubek - brcm,bcm21664-gpio 73*b0c48861SStanislav Jakubek - brcm,bcm23550-gpio 74*b0c48861SStanislav Jakubek then: 75*b0c48861SStanislav Jakubek properties: 76*b0c48861SStanislav Jakubek interrupts: 77*b0c48861SStanislav Jakubek maxItems: 4 78*b0c48861SStanislav Jakubek 79*b0c48861SStanislav JakubekadditionalProperties: false 80*b0c48861SStanislav Jakubek 81*b0c48861SStanislav Jakubekexamples: 82*b0c48861SStanislav Jakubek - | 83*b0c48861SStanislav Jakubek #include <dt-bindings/interrupt-controller/arm-gic.h> 84*b0c48861SStanislav Jakubek #include <dt-bindings/interrupt-controller/irq.h> 85*b0c48861SStanislav Jakubek 86*b0c48861SStanislav Jakubek gpio@35003000 { 87*b0c48861SStanislav Jakubek compatible = "brcm,bcm11351-gpio", "brcm,kona-gpio"; 88*b0c48861SStanislav Jakubek reg = <0x35003000 0x800>; 89*b0c48861SStanislav Jakubek interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>, 90*b0c48861SStanislav Jakubek <GIC_SPI 115 IRQ_TYPE_LEVEL_HIGH>, 91*b0c48861SStanislav Jakubek <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>, 92*b0c48861SStanislav Jakubek <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>, 93*b0c48861SStanislav Jakubek <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>, 94*b0c48861SStanislav Jakubek <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; 95*b0c48861SStanislav Jakubek #gpio-cells = <2>; 96*b0c48861SStanislav Jakubek #interrupt-cells = <2>; 97*b0c48861SStanislav Jakubek gpio-controller; 98*b0c48861SStanislav Jakubek interrupt-controller; 99*b0c48861SStanislav Jakubek }; 100*b0c48861SStanislav Jakubek... 101