Add binding documentation for the GPIO controller found in BCM6318, BCM6328, BCM6358, BCM6362, BCM6368 and BCM63268 SoCs. Co-developed-by: Jonas Gorski <jonas.gorski@xxxxxxxxx> Signed-off-by: Jonas Gorski <jonas.gorski@xxxxxxxxx> Signed-off-by: Álvaro Fernández Rojas <noltari@xxxxxxxxx> --- v7: new patch, splitted from pinctrl documentation .../bindings/gpio/brcm,bcm63xx-gpio.yaml | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/brcm,bcm63xx-gpio.yaml diff --git a/Documentation/devicetree/bindings/gpio/brcm,bcm63xx-gpio.yaml b/Documentation/devicetree/bindings/gpio/brcm,bcm63xx-gpio.yaml new file mode 100644 index 000000000000..94a4f00ae2c7 --- /dev/null +++ b/Documentation/devicetree/bindings/gpio/brcm,bcm63xx-gpio.yaml @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/gpio/brcm,bcm63xx-gpio.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom BCM63xx GPIO controller + +maintainers: + - Álvaro Fernández Rojas <noltari@xxxxxxxxx> + - Jonas Gorski <jonas.gorski@xxxxxxxxx> + +description: |+ + The GPIO controller node should be the child of a syscon node. + + Refer to the the bindings described in + Documentation/devicetree/bindings/mfd/syscon.yaml + +properties: + compatible: + enum: + - brcm,bcm6318-gpio + - brcm,bcm6328-gpio + - brcm,bcm6358-gpio + - brcm,bcm6362-gpio + - brcm,bcm6368-gpio + - brcm,bcm63268-gpio + + data: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Offset in the register map for the data register (in bytes). + + dirout: + $ref: /schemas/types.yaml#/definitions/uint32 + description: | + Offset in the register map for the dirout register (in bytes). + + gpio-controller: true + + "#gpio-cells": + const: 2 + + gpio-ranges: + maxItems: 1 + + reg: + maxItems: 1 + +required: + - compatible + - gpio-controller + - gpio-ranges + - '#gpio-cells' + +additionalProperties: false + +examples: + - | + gpio@0 { + compatible = "brcm,bcm6328-gpio"; + reg = <0x0 0x10>; + + data = <0xc>; + dirout = <0x4>; + + gpio-controller; + gpio-ranges = <&pinctrl 0 0 32>; + #gpio-cells = <2>; + }; + + - | + gpio@0 { + compatible = "brcm,bcm63268-gpio"; + reg = <0x0 0x10>; + + data = <0xc>; + dirout = <0x4>; + + gpio-controller; + gpio-ranges = <&pinctrl 0 0 52>; + #gpio-cells = <2>; + }; -- 2.20.1