blob: 62fcc2bd5d805990b7566191fa61ecea1bbdd01e [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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 };