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