1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*c66ec88fSEmmanuel Vadot%YAML 1.2 3*c66ec88fSEmmanuel Vadot--- 4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/gpio/brcm,xgs-iproc-gpio.yaml# 5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c66ec88fSEmmanuel Vadot 7*c66ec88fSEmmanuel Vadottitle: Broadcom XGS iProc GPIO controller 8*c66ec88fSEmmanuel Vadot 9*c66ec88fSEmmanuel Vadotmaintainers: 10*c66ec88fSEmmanuel Vadot - Chris Packham <chris.packham@alliedtelesis.co.nz> 11*c66ec88fSEmmanuel Vadot 12*c66ec88fSEmmanuel Vadotdescription: | 13*c66ec88fSEmmanuel Vadot This controller is the Chip Common A GPIO present on a number of Broadcom 14*c66ec88fSEmmanuel Vadot switch ASICs with integrated SoCs. 15*c66ec88fSEmmanuel Vadot 16*c66ec88fSEmmanuel Vadotproperties: 17*c66ec88fSEmmanuel Vadot compatible: 18*c66ec88fSEmmanuel Vadot const: brcm,iproc-gpio-cca 19*c66ec88fSEmmanuel Vadot 20*c66ec88fSEmmanuel Vadot reg: 21*c66ec88fSEmmanuel Vadot items: 22*c66ec88fSEmmanuel Vadot - description: the I/O address containing the GPIO controller registers. 23*c66ec88fSEmmanuel Vadot - description: the I/O address containing the Chip Common A interrupt registers. 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel Vadot gpio-controller: true 26*c66ec88fSEmmanuel Vadot 27*c66ec88fSEmmanuel Vadot '#gpio-cells': 28*c66ec88fSEmmanuel Vadot const: 2 29*c66ec88fSEmmanuel Vadot 30*c66ec88fSEmmanuel Vadot ngpios: 31*c66ec88fSEmmanuel Vadot minimum: 0 32*c66ec88fSEmmanuel Vadot maximum: 32 33*c66ec88fSEmmanuel Vadot 34*c66ec88fSEmmanuel Vadot interrupt-controller: true 35*c66ec88fSEmmanuel Vadot 36*c66ec88fSEmmanuel Vadot '#interrupt-cells': 37*c66ec88fSEmmanuel Vadot const: 2 38*c66ec88fSEmmanuel Vadot 39*c66ec88fSEmmanuel Vadot interrupts: 40*c66ec88fSEmmanuel Vadot maxItems: 1 41*c66ec88fSEmmanuel Vadot 42*c66ec88fSEmmanuel Vadotrequired: 43*c66ec88fSEmmanuel Vadot - compatible 44*c66ec88fSEmmanuel Vadot - reg 45*c66ec88fSEmmanuel Vadot - "#gpio-cells" 46*c66ec88fSEmmanuel Vadot - gpio-controller 47*c66ec88fSEmmanuel Vadot 48*c66ec88fSEmmanuel VadotadditionalProperties: false 49*c66ec88fSEmmanuel Vadot 50*c66ec88fSEmmanuel Vadotdependencies: 51*c66ec88fSEmmanuel Vadot interrupt-controller: [ interrupts ] 52*c66ec88fSEmmanuel Vadot 53*c66ec88fSEmmanuel Vadotexamples: 54*c66ec88fSEmmanuel Vadot - | 55*c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 56*c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 57*c66ec88fSEmmanuel Vadot gpio@18000060 { 58*c66ec88fSEmmanuel Vadot compatible = "brcm,iproc-gpio-cca"; 59*c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 60*c66ec88fSEmmanuel Vadot reg = <0x18000060 0x50>, 61*c66ec88fSEmmanuel Vadot <0x18000000 0x50>; 62*c66ec88fSEmmanuel Vadot ngpios = <12>; 63*c66ec88fSEmmanuel Vadot gpio-controller; 64*c66ec88fSEmmanuel Vadot interrupt-controller; 65*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 66*c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>; 67*c66ec88fSEmmanuel Vadot }; 68*c66ec88fSEmmanuel Vadot 69*c66ec88fSEmmanuel Vadot 70*c66ec88fSEmmanuel Vadot... 71