Merge tag 'nfs-for-6.10-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[linux-2.6-block.git] / Documentation / devicetree / bindings / gpio / gpio-ep9301.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/gpio/gpio-ep9301.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: EP93xx GPIO controller
8
9 maintainers:
10   - Linus Walleij <linus.walleij@linaro.org>
11   - Bartosz Golaszewski <brgl@bgdev.pl>
12   - Nikita Shubin <nikita.shubin@maquefel.me>
13
14 properties:
15   compatible:
16     oneOf:
17       - const: cirrus,ep9301-gpio
18       - items:
19           - enum:
20               - cirrus,ep9302-gpio
21               - cirrus,ep9307-gpio
22               - cirrus,ep9312-gpio
23               - cirrus,ep9315-gpio
24           - const: cirrus,ep9301-gpio
25
26   reg:
27     minItems: 2
28     items:
29       - description: data register
30       - description: direction register
31       - description: interrupt registers base
32
33   reg-names:
34     minItems: 2
35     items:
36       - const: data
37       - const: dir
38       - const: intr
39
40   gpio-controller: true
41
42   gpio-ranges: true
43
44   "#gpio-cells":
45     const: 2
46
47   interrupt-controller: true
48
49   "#interrupt-cells":
50     const: 2
51
52   interrupts:
53     oneOf:
54       - maxItems: 1
55       - description: port F has dedicated irq line for each gpio line
56         maxItems: 8
57
58 required:
59   - compatible
60   - reg
61   - gpio-controller
62   - "#gpio-cells"
63
64 additionalProperties: false
65
66 examples:
67   - |
68     gpio@80840000 {
69       compatible = "cirrus,ep9301-gpio";
70       reg = <0x80840000 0x04>,
71             <0x80840010 0x04>,
72             <0x80840090 0x1c>;
73       reg-names = "data", "dir", "intr";
74       gpio-controller;
75       #gpio-cells = <2>;
76         interrupt-controller;
77         interrupt-parent = <&vic1>;
78         interrupts = <27>;
79     };
80
81     gpio@80840004 {
82       compatible = "cirrus,ep9301-gpio";
83       reg = <0x80840004 0x04>,
84             <0x80840014 0x04>,
85             <0x808400ac 0x1c>;
86       reg-names = "data", "dir", "intr";
87       gpio-controller;
88       #gpio-cells = <2>;
89       interrupt-controller;
90       interrupt-parent = <&vic1>;
91       interrupts = <27>;
92     };
93
94     gpio@80840008 {
95       compatible = "cirrus,ep9301-gpio";
96       reg = <0x80840008 0x04>,
97             <0x80840018 0x04>;
98       reg-names = "data", "dir";
99       gpio-controller;
100       #gpio-cells = <2>;
101     };
102
103     gpio@8084000c {
104       compatible = "cirrus,ep9301-gpio";
105       reg = <0x8084000c 0x04>,
106             <0x8084001c 0x04>;
107       reg-names = "data", "dir";
108       gpio-controller;
109       #gpio-cells = <2>;
110     };
111
112     gpio@80840020 {
113       compatible = "cirrus,ep9301-gpio";
114       reg = <0x80840020 0x04>,
115             <0x80840024 0x04>;
116       reg-names = "data", "dir";
117       gpio-controller;
118       #gpio-cells = <2>;
119     };
120
121     gpio@80840030 {
122       compatible = "cirrus,ep9301-gpio";
123       reg = <0x80840030 0x04>,
124             <0x80840034 0x04>,
125             <0x8084004c 0x1c>;
126       reg-names = "data", "dir", "intr";
127       gpio-controller;
128       #gpio-cells = <2>;
129       interrupt-controller;
130       interrupts-extended = <&vic0 19>, <&vic0 20>,
131                             <&vic0 21>, <&vic0 22>,
132                             <&vic1 15>, <&vic1 16>,
133                             <&vic1 17>, <&vic1 18>;
134     };
135
136     gpio@80840038 {
137       compatible = "cirrus,ep9301-gpio";
138       reg = <0x80840038 0x04>,
139             <0x8084003c 0x04>;
140       reg-names = "data", "dir";
141       gpio-controller;
142       #gpio-cells = <2>;
143     };
144
145     gpio@80840040 {
146       compatible = "cirrus,ep9301-gpio";
147       reg = <0x80840040 0x04>,
148             <0x80840044 0x04>;
149       reg-names = "data", "dir";
150       gpio-controller;
151       #gpio-cells = <2>;
152     };
153
154 ...