blob: c9bc6cfd834c03c277ea52730bc6bcd3aad1fc6e [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/pinctrl/ralink,rt3352-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ralink RT3352 Pin Controller
8
9maintainers:
10 - Arınç ÜNAL <arinc.unal@arinc9.com>
11 - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13description: |
14 Ralink RT3352 pin controller for RT3352 SoC.
15 The pin controller can only set the muxing of pin groups. Muxing individual
16 pins is not supported. There is no pinconf support.
17
18properties:
19 compatible:
20 const: ralink,rt3352-pinctrl
21
22patternProperties:
23 '-pins$':
24 type: object
25 additionalProperties: false
26
27 patternProperties:
28 '^(.*-)?pinmux$':
29 type: object
30 description: node for pinctrl.
31 $ref: pinmux-node.yaml#
32 additionalProperties: false
33
34 properties:
35 function:
36 description:
37 A string containing the name of the function to mux to the group.
38 enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led, lna,
39 mdio, pa, pcm gpio, pcm i2s, pcm uartf, rgmii, spi, spi_cs1,
40 uartf, uartlite, wdg_cs1]
41
42 groups:
43 description:
44 An array of strings. Each string contains the name of a group.
45 maxItems: 1
46
47 required:
48 - groups
49 - function
50
51 allOf:
52 - if:
53 properties:
54 function:
55 const: gpio
56 then:
57 properties:
58 groups:
59 enum: [i2c, jtag, led, lna, mdio, pa, rgmii, spi, spi_cs1,
60 uartf, uartlite]
61
62 - if:
63 properties:
64 function:
65 const: gpio i2s
66 then:
67 properties:
68 groups:
69 enum: [uartf]
70
71 - if:
72 properties:
73 function:
74 const: gpio uartf
75 then:
76 properties:
77 groups:
78 enum: [uartf]
79
80 - if:
81 properties:
82 function:
83 const: i2c
84 then:
85 properties:
86 groups:
87 enum: [i2c]
88
89 - if:
90 properties:
91 function:
92 const: i2s uartf
93 then:
94 properties:
95 groups:
96 enum: [uartf]
97
98 - if:
99 properties:
100 function:
101 const: jtag
102 then:
103 properties:
104 groups:
105 enum: [jtag]
106
107 - if:
108 properties:
109 function:
110 const: led
111 then:
112 properties:
113 groups:
114 enum: [led]
115
116 - if:
117 properties:
118 function:
119 const: lna
120 then:
121 properties:
122 groups:
123 enum: [lna]
124
125 - if:
126 properties:
127 function:
128 const: mdio
129 then:
130 properties:
131 groups:
132 enum: [mdio]
133
134 - if:
135 properties:
136 function:
137 const: pa
138 then:
139 properties:
140 groups:
141 enum: [pa]
142
143 - if:
144 properties:
145 function:
146 const: pcm gpio
147 then:
148 properties:
149 groups:
150 enum: [uartf]
151
152 - if:
153 properties:
154 function:
155 const: pcm i2s
156 then:
157 properties:
158 groups:
159 enum: [uartf]
160
161 - if:
162 properties:
163 function:
164 const: pcm uartf
165 then:
166 properties:
167 groups:
168 enum: [uartf]
169
170 - if:
171 properties:
172 function:
173 const: rgmii
174 then:
175 properties:
176 groups:
177 enum: [rgmii]
178
179 - if:
180 properties:
181 function:
182 const: spi
183 then:
184 properties:
185 groups:
186 enum: [spi]
187
188 - if:
189 properties:
190 function:
191 const: spi_cs1
192 then:
193 properties:
194 groups:
195 enum: [spi_cs1]
196
197 - if:
198 properties:
199 function:
200 const: uartf
201 then:
202 properties:
203 groups:
204 enum: [uartf]
205
206 - if:
207 properties:
208 function:
209 const: uartlite
210 then:
211 properties:
212 groups:
213 enum: [uartlite]
214
215 - if:
216 properties:
217 function:
218 const: wdg_cs1
219 then:
220 properties:
221 groups:
222 enum: [spi_cs1]
223
224allOf:
225 - $ref: pinctrl.yaml#
226
227required:
228 - compatible
229
230additionalProperties: false
231
232examples:
233 - |
234 pinctrl {
235 compatible = "ralink,rt3352-pinctrl";
236
237 i2c_pins: i2c0-pins {
238 pinmux {
239 groups = "i2c";
240 function = "i2c";
241 };
242 };
243 };