Merge tag 'xfs-5.17-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / gpio / realtek,otto-gpio.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/gpio/realtek,otto-gpio.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Realtek Otto GPIO controller
8
9 maintainers:
10   - Sander Vanheule <sander@svanheule.net>
11   - Bert Vermeulen <bert@biot.com>
12
13 description: |
14   Realtek's GPIO controller on their MIPS switch SoCs (Otto platform) consists
15   of two banks of 32 GPIOs. These GPIOs can generate edge-triggered interrupts.
16   Each bank's interrupts are cascased into one interrupt line on the parent
17   interrupt controller, if provided.
18   This binding allows defining a single bank in the devicetree. The interrupt
19   controller is not supported on the fallback compatible name, which only
20   allows for GPIO port use.
21
22 properties:
23   $nodename:
24     pattern: "^gpio@[0-9a-f]+$"
25
26   compatible:
27     items:
28       - enum:
29           - realtek,rtl8380-gpio
30           - realtek,rtl8390-gpio
31       - const: realtek,otto-gpio
32
33   reg:
34     maxItems: 1
35
36   "#gpio-cells":
37     const: 2
38
39   gpio-controller: true
40
41   ngpios:
42     minimum: 1
43     maximum: 32
44
45   interrupt-controller: true
46
47   "#interrupt-cells":
48     const: 2
49
50   interrupts:
51     maxItems: 1
52
53 required:
54   - compatible
55   - reg
56   - "#gpio-cells"
57   - gpio-controller
58
59 additionalProperties: false
60
61 dependencies:
62   interrupt-controller: [ interrupts ]
63
64 examples:
65   - |
66       gpio@3500 {
67         compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";
68         reg = <0x3500 0x1c>;
69         gpio-controller;
70         #gpio-cells = <2>;
71         ngpios = <24>;
72         interrupt-controller;
73         #interrupt-cells = <2>;
74         interrupt-parent = <&rtlintc>;
75         interrupts = <23>;
76       };
77
78 ...