Skip to content

Commit a1b7831

Browse files
maquefelBartosz Golaszewski
authored andcommitted
dt-bindings: gpio: Add Cirrus EP93xx
Add YAML bindings for ep93xx SoC gpio controller. Signed-off-by: Nikita Shubin <[email protected]> Signed-off-by: Bartosz Golaszewski <[email protected]>
1 parent 19b60f8 commit a1b7831

File tree

1 file changed

+154
-0
lines changed

1 file changed

+154
-0
lines changed
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
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 <[email protected]>
11+
- Bartosz Golaszewski <[email protected]>
12+
- Nikita Shubin <[email protected]>
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+
...

0 commit comments

Comments
 (0)