162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/gpio/brcm,bcm63xx-gpio.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Broadcom BCM63xx GPIO controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Álvaro Fernández Rojas <noltari@gmail.com> 1162306a36Sopenharmony_ci - Jonas Gorski <jonas.gorski@gmail.com> 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cidescription: |+ 1462306a36Sopenharmony_ci Bindings for Broadcom's BCM63xx memory-mapped GPIO controllers. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci These bindings can be used on any BCM63xx SoC. However, BCM6338 and BCM6345 1762306a36Sopenharmony_ci are the only ones which don't need a pinctrl driver. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci BCM6338 have 8-bit data and dirout registers, where GPIO state can be read 2062306a36Sopenharmony_ci and/or written, and the direction changed from input to output. 2162306a36Sopenharmony_ci BCM6318, BCM6328, BCM6358, BCM6362, BCM6368 and BCM63268 have 32-bit data 2262306a36Sopenharmony_ci and dirout registers, where GPIO state can be read and/or written, and the 2362306a36Sopenharmony_ci direction changed from input to output. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciproperties: 2662306a36Sopenharmony_ci compatible: 2762306a36Sopenharmony_ci enum: 2862306a36Sopenharmony_ci - brcm,bcm6318-gpio 2962306a36Sopenharmony_ci - brcm,bcm6328-gpio 3062306a36Sopenharmony_ci - brcm,bcm6358-gpio 3162306a36Sopenharmony_ci - brcm,bcm6362-gpio 3262306a36Sopenharmony_ci - brcm,bcm6368-gpio 3362306a36Sopenharmony_ci - brcm,bcm63268-gpio 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci gpio-controller: true 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci "#gpio-cells": 3862306a36Sopenharmony_ci const: 2 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci gpio-ranges: 4162306a36Sopenharmony_ci maxItems: 1 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci native-endian: true 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci reg: 4662306a36Sopenharmony_ci maxItems: 2 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci reg-names: 4962306a36Sopenharmony_ci items: 5062306a36Sopenharmony_ci - const: dirout 5162306a36Sopenharmony_ci - const: dat 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_cirequired: 5462306a36Sopenharmony_ci - compatible 5562306a36Sopenharmony_ci - reg 5662306a36Sopenharmony_ci - reg-names 5762306a36Sopenharmony_ci - gpio-controller 5862306a36Sopenharmony_ci - '#gpio-cells' 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ciadditionalProperties: false 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciexamples: 6362306a36Sopenharmony_ci - | 6462306a36Sopenharmony_ci gpio@0 { 6562306a36Sopenharmony_ci compatible = "brcm,bcm63268-gpio"; 6662306a36Sopenharmony_ci reg-names = "dirout", "dat"; 6762306a36Sopenharmony_ci reg = <0x0 0x8>, <0x8 0x8>; 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci gpio-controller; 7062306a36Sopenharmony_ci gpio-ranges = <&pinctrl 0 0 52>; 7162306a36Sopenharmony_ci #gpio-cells = <2>; 7262306a36Sopenharmony_ci }; 73