1*1c23553aSSean Anderson# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*1c23553aSSean Anderson%YAML 1.2 3*1c23553aSSean Anderson--- 4*1c23553aSSean Anderson$id: http://devicetree.org/schemas/gpio/brcm,bcm63xx-gpio.yaml# 5*1c23553aSSean Anderson$schema: http://devicetree.org/meta-schemas/core.yaml# 6*1c23553aSSean Anderson 7*1c23553aSSean Andersontitle: Broadcom BCM63xx GPIO controller 8*1c23553aSSean Anderson 9*1c23553aSSean Andersonmaintainers: 10*1c23553aSSean Anderson - Álvaro Fernández Rojas <noltari@gmail.com> 11*1c23553aSSean Anderson - Jonas Gorski <jonas.gorski@gmail.com> 12*1c23553aSSean Anderson 13*1c23553aSSean Andersondescription: |+ 14*1c23553aSSean Anderson Bindings for Broadcom's BCM63xx memory-mapped GPIO controllers. 15*1c23553aSSean Anderson 16*1c23553aSSean Anderson These bindings can be used on any BCM63xx SoC. However, BCM6338 and BCM6345 17*1c23553aSSean Anderson are the only ones which don't need a pinctrl driver. 18*1c23553aSSean Anderson 19*1c23553aSSean Anderson BCM6338 have 8-bit data and dirout registers, where GPIO state can be read 20*1c23553aSSean Anderson and/or written, and the direction changed from input to output. 21*1c23553aSSean Anderson BCM6318, BCM6328, BCM6358, BCM6362, BCM6368 and BCM63268 have 32-bit data 22*1c23553aSSean Anderson and dirout registers, where GPIO state can be read and/or written, and the 23*1c23553aSSean Anderson direction changed from input to output. 24*1c23553aSSean Anderson 25*1c23553aSSean Andersonproperties: 26*1c23553aSSean Anderson compatible: 27*1c23553aSSean Anderson enum: 28*1c23553aSSean Anderson - brcm,bcm6318-gpio 29*1c23553aSSean Anderson - brcm,bcm6328-gpio 30*1c23553aSSean Anderson - brcm,bcm6358-gpio 31*1c23553aSSean Anderson - brcm,bcm6362-gpio 32*1c23553aSSean Anderson - brcm,bcm6368-gpio 33*1c23553aSSean Anderson - brcm,bcm63268-gpio 34*1c23553aSSean Anderson 35*1c23553aSSean Anderson gpio-controller: true 36*1c23553aSSean Anderson 37*1c23553aSSean Anderson "#gpio-cells": 38*1c23553aSSean Anderson const: 2 39*1c23553aSSean Anderson 40*1c23553aSSean Anderson gpio-ranges: 41*1c23553aSSean Anderson maxItems: 1 42*1c23553aSSean Anderson 43*1c23553aSSean Anderson native-endian: true 44*1c23553aSSean Anderson 45*1c23553aSSean Anderson reg: 46*1c23553aSSean Anderson maxItems: 2 47*1c23553aSSean Anderson 48*1c23553aSSean Anderson reg-names: 49*1c23553aSSean Anderson items: 50*1c23553aSSean Anderson - const: dirout 51*1c23553aSSean Anderson - const: dat 52*1c23553aSSean Anderson 53*1c23553aSSean Andersonrequired: 54*1c23553aSSean Anderson - compatible 55*1c23553aSSean Anderson - reg 56*1c23553aSSean Anderson - reg-names 57*1c23553aSSean Anderson - gpio-controller 58*1c23553aSSean Anderson - '#gpio-cells' 59*1c23553aSSean Anderson 60*1c23553aSSean AndersonadditionalProperties: false 61*1c23553aSSean Anderson 62*1c23553aSSean Andersonexamples: 63*1c23553aSSean Anderson - | 64*1c23553aSSean Anderson gpio@0 { 65*1c23553aSSean Anderson compatible = "brcm,bcm63268-gpio"; 66*1c23553aSSean Anderson reg-names = "dirout", "dat"; 67*1c23553aSSean Anderson reg = <0x0 0x8>, <0x8 0x8>; 68*1c23553aSSean Anderson 69*1c23553aSSean Anderson gpio-controller; 70*1c23553aSSean Anderson gpio-ranges = <&pinctrl 0 0 52>; 71*1c23553aSSean Anderson #gpio-cells = <2>; 72*1c23553aSSean Anderson }; 73