1*8898cf86SRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*8898cf86SRob Herring (Arm)%YAML 1.2 3*8898cf86SRob Herring (Arm)--- 4*8898cf86SRob Herring (Arm)$id: http://devicetree.org/schemas/pinctrl/brcm,iproc-gpio.yaml# 5*8898cf86SRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8898cf86SRob Herring (Arm) 7*8898cf86SRob Herring (Arm)title: Broadcom iProc GPIO/PINCONF Controller 8*8898cf86SRob Herring (Arm) 9*8898cf86SRob Herring (Arm)maintainers: 10*8898cf86SRob Herring (Arm) - Ray Jui <rjui@broadcom.com> 11*8898cf86SRob Herring (Arm) - Scott Branden <sbranden@broadcom.com> 12*8898cf86SRob Herring (Arm) 13*8898cf86SRob Herring (Arm)properties: 14*8898cf86SRob Herring (Arm) compatible: 15*8898cf86SRob Herring (Arm) oneOf: 16*8898cf86SRob Herring (Arm) - enum: 17*8898cf86SRob Herring (Arm) - brcm,cygnus-asiu-gpio 18*8898cf86SRob Herring (Arm) - brcm,cygnus-ccm-gpio 19*8898cf86SRob Herring (Arm) - brcm,cygnus-crmu-gpio 20*8898cf86SRob Herring (Arm) - brcm,iproc-gpio 21*8898cf86SRob Herring (Arm) - brcm,iproc-stingray-gpio 22*8898cf86SRob Herring (Arm) - items: 23*8898cf86SRob Herring (Arm) - enum: 24*8898cf86SRob Herring (Arm) - brcm,iproc-hr2-gpio 25*8898cf86SRob Herring (Arm) - brcm,iproc-nsp-gpio 26*8898cf86SRob Herring (Arm) - const: brcm,iproc-gpio 27*8898cf86SRob Herring (Arm) 28*8898cf86SRob Herring (Arm) reg: 29*8898cf86SRob Herring (Arm) minItems: 1 30*8898cf86SRob Herring (Arm) items: 31*8898cf86SRob Herring (Arm) - description: GPIO Bank registers 32*8898cf86SRob Herring (Arm) - description: IO Ctrl registers 33*8898cf86SRob Herring (Arm) 34*8898cf86SRob Herring (Arm) "#gpio-cells": 35*8898cf86SRob Herring (Arm) const: 2 36*8898cf86SRob Herring (Arm) 37*8898cf86SRob Herring (Arm) gpio-controller: true 38*8898cf86SRob Herring (Arm) 39*8898cf86SRob Herring (Arm) gpio-ranges: true 40*8898cf86SRob Herring (Arm) 41*8898cf86SRob Herring (Arm) ngpios: true 42*8898cf86SRob Herring (Arm) 43*8898cf86SRob Herring (Arm) "#interrupt-cells": 44*8898cf86SRob Herring (Arm) const: 2 45*8898cf86SRob Herring (Arm) 46*8898cf86SRob Herring (Arm) interrupts: 47*8898cf86SRob Herring (Arm) maxItems: 1 48*8898cf86SRob Herring (Arm) 49*8898cf86SRob Herring (Arm) interrupt-controller: true 50*8898cf86SRob Herring (Arm) 51*8898cf86SRob Herring (Arm)required: 52*8898cf86SRob Herring (Arm) - compatible 53*8898cf86SRob Herring (Arm) - reg 54*8898cf86SRob Herring (Arm) - "#gpio-cells" 55*8898cf86SRob Herring (Arm) - gpio-controller 56*8898cf86SRob Herring (Arm) - ngpios 57*8898cf86SRob Herring (Arm) 58*8898cf86SRob Herring (Arm)patternProperties: 59*8898cf86SRob Herring (Arm) '-pins$': 60*8898cf86SRob Herring (Arm) type: object 61*8898cf86SRob Herring (Arm) additionalProperties: 62*8898cf86SRob Herring (Arm) description: Pin configuration child nodes. 63*8898cf86SRob Herring (Arm) allOf: 64*8898cf86SRob Herring (Arm) - $ref: pincfg-node.yaml# 65*8898cf86SRob Herring (Arm) - $ref: pinmux-node.yaml# 66*8898cf86SRob Herring (Arm) additionalProperties: false 67*8898cf86SRob Herring (Arm) 68*8898cf86SRob Herring (Arm) properties: 69*8898cf86SRob Herring (Arm) pins: 70*8898cf86SRob Herring (Arm) items: 71*8898cf86SRob Herring (Arm) pattern: '^gpio-' 72*8898cf86SRob Herring (Arm) 73*8898cf86SRob Herring (Arm) bias-disable: true 74*8898cf86SRob Herring (Arm) bias-pull-up: true 75*8898cf86SRob Herring (Arm) bias-pull-down: true 76*8898cf86SRob Herring (Arm) 77*8898cf86SRob Herring (Arm) drive-strength: 78*8898cf86SRob Herring (Arm) enum: [ 2, 4, 6, 8, 10, 12, 14, 16 ] 79*8898cf86SRob Herring (Arm) 80*8898cf86SRob Herring (Arm) required: 81*8898cf86SRob Herring (Arm) - pins 82*8898cf86SRob Herring (Arm) 83*8898cf86SRob Herring (Arm)additionalProperties: false 84*8898cf86SRob Herring (Arm) 85*8898cf86SRob Herring (Arm)examples: 86*8898cf86SRob Herring (Arm) - | 87*8898cf86SRob Herring (Arm) #include <dt-bindings/interrupt-controller/arm-gic.h> 88*8898cf86SRob Herring (Arm) 89*8898cf86SRob Herring (Arm) gpio@1800a000 { 90*8898cf86SRob Herring (Arm) compatible = "brcm,cygnus-ccm-gpio"; 91*8898cf86SRob Herring (Arm) reg = <0x1800a000 0x50>, 92*8898cf86SRob Herring (Arm) <0x0301d164 0x20>; 93*8898cf86SRob Herring (Arm) ngpios = <24>; 94*8898cf86SRob Herring (Arm) #gpio-cells = <2>; 95*8898cf86SRob Herring (Arm) gpio-controller; 96*8898cf86SRob Herring (Arm) #interrupt-cells = <2>; 97*8898cf86SRob Herring (Arm) interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>; 98*8898cf86SRob Herring (Arm) interrupt-controller; 99*8898cf86SRob Herring (Arm) 100*8898cf86SRob Herring (Arm) touch-pins { 101*8898cf86SRob Herring (Arm) pwr { 102*8898cf86SRob Herring (Arm) pins = "gpio-0"; 103*8898cf86SRob Herring (Arm) drive-strength = <16>; 104*8898cf86SRob Herring (Arm) }; 105*8898cf86SRob Herring (Arm) 106*8898cf86SRob Herring (Arm) event { 107*8898cf86SRob Herring (Arm) pins = "gpio-1"; 108*8898cf86SRob Herring (Arm) bias-pull-up; 109*8898cf86SRob Herring (Arm) }; 110*8898cf86SRob Herring (Arm) }; 111*8898cf86SRob Herring (Arm) }; 112