Mention branches and keyring.
[releases.git] / 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           - realtek,rtl9300-gpio
32           - realtek,rtl9310-gpio
33       - const: realtek,otto-gpio
34
35   reg: true
36
37   "#gpio-cells":
38     const: 2
39
40   gpio-controller: true
41
42   ngpios:
43     minimum: 1
44     maximum: 32
45
46   interrupt-controller: true
47
48   "#interrupt-cells":
49     const: 2
50
51   interrupts:
52     maxItems: 1
53
54 if:
55   properties:
56     compatible:
57       contains:
58         const: realtek,rtl9300-gpio
59 then:
60   properties:
61     reg:
62       items:
63         - description: GPIO and interrupt control
64         - description: interrupt CPU map
65 else:
66   properties:
67     reg:
68       items:
69         - description: GPIO and interrupt control
70
71 required:
72   - compatible
73   - reg
74   - "#gpio-cells"
75   - gpio-controller
76
77 additionalProperties: false
78
79 dependencies:
80   interrupt-controller: [ interrupts ]
81
82 examples:
83   - |
84       gpio@3500 {
85         compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";
86         reg = <0x3500 0x1c>;
87         gpio-controller;
88         #gpio-cells = <2>;
89         ngpios = <24>;
90         interrupt-controller;
91         #interrupt-cells = <2>;
92         interrupt-parent = <&rtlintc>;
93         interrupts = <23>;
94       };
95   - |
96       gpio@3300 {
97         compatible = "realtek,rtl9300-gpio", "realtek,otto-gpio";
98         reg = <0x3300 0x1c>, <0x3338 0x8>;
99         gpio-controller;
100         #gpio-cells = <2>;
101         ngpios = <24>;
102         interrupt-controller;
103         #interrupt-cells = <2>;
104         interrupt-parent = <&rtlintc>;
105         interrupts = <13>;
106       };
107
108 ...