Mention branches and keyring.
[releases.git] / bindings / pinctrl / mediatek,mt7620-pinctrl.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/pinctrl/mediatek,mt7620-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: MediaTek MT7620 Pin Controller
8
9 maintainers:
10   - Arınç ÜNAL <arinc.unal@arinc9.com>
11   - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13 description: |
14   MediaTek MT7620 pin controller for MT7620 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
18 properties:
19   compatible:
20     const: ralink,mt7620-pinctrl
21
22 patternProperties:
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: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand,
39                    pa, pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf,
40                    refclk, rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite,
41                    wdt refclk, wdt rst, wled]
42
43           groups:
44             description:
45               An array of strings. Each string contains the name of a group.
46             maxItems: 1
47
48         required:
49           - groups
50           - function
51
52         allOf:
53           - if:
54               properties:
55                 function:
56                   const: ephy
57             then:
58               properties:
59                 groups:
60                   enum: [ephy]
61
62           - if:
63               properties:
64                 function:
65                   const: gpio
66             then:
67               properties:
68                 groups:
69                   enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi,
70                          spi refclk, uartf, uartlite, wdt, wled]
71
72           - if:
73               properties:
74                 function:
75                   const: gpio i2s
76             then:
77               properties:
78                 groups:
79                   enum: [uartf]
80
81           - if:
82               properties:
83                 function:
84                   const: gpio uartf
85             then:
86               properties:
87                 groups:
88                   enum: [uartf]
89
90           - if:
91               properties:
92                 function:
93                   const: i2c
94             then:
95               properties:
96                 groups:
97                   enum: [i2c]
98
99           - if:
100               properties:
101                 function:
102                   const: i2s uartf
103             then:
104               properties:
105                 groups:
106                   enum: [uartf]
107
108           - if:
109               properties:
110                 function:
111                   const: mdio
112             then:
113               properties:
114                 groups:
115                   enum: [mdio]
116
117           - if:
118               properties:
119                 function:
120                   const: nand
121             then:
122               properties:
123                 groups:
124                   enum: [nd_sd]
125
126           - if:
127               properties:
128                 function:
129                   const: pa
130             then:
131               properties:
132                 groups:
133                   enum: [pa]
134
135           - if:
136               properties:
137                 function:
138                   const: pcie refclk
139             then:
140               properties:
141                 groups:
142                   enum: [pcie]
143
144           - if:
145               properties:
146                 function:
147                   const: pcie rst
148             then:
149               properties:
150                 groups:
151                   enum: [pcie]
152
153           - if:
154               properties:
155                 function:
156                   const: pcm gpio
157             then:
158               properties:
159                 groups:
160                   enum: [uartf]
161
162           - if:
163               properties:
164                 function:
165                   const: pcm i2s
166             then:
167               properties:
168                 groups:
169                   enum: [uartf]
170
171           - if:
172               properties:
173                 function:
174                   const: pcm uartf
175             then:
176               properties:
177                 groups:
178                   enum: [uartf]
179
180           - if:
181               properties:
182                 function:
183                   const: refclk
184             then:
185               properties:
186                 groups:
187                   enum: [mdio]
188
189           - if:
190               properties:
191                 function:
192                   const: rgmii1
193             then:
194               properties:
195                 groups:
196                   enum: [rgmii1]
197
198           - if:
199               properties:
200                 function:
201                   const: rgmii2
202             then:
203               properties:
204                 groups:
205                   enum: [rgmii2]
206
207           - if:
208               properties:
209                 function:
210                   const: sd
211             then:
212               properties:
213                 groups:
214                   enum: [nd_sd]
215
216           - if:
217               properties:
218                 function:
219                   const: spi
220             then:
221               properties:
222                 groups:
223                   enum: [spi]
224
225           - if:
226               properties:
227                 function:
228                   const: spi refclk
229             then:
230               properties:
231                 groups:
232                   enum: [spi refclk]
233
234           - if:
235               properties:
236                 function:
237                   const: uartf
238             then:
239               properties:
240                 groups:
241                   enum: [uartf]
242
243           - if:
244               properties:
245                 function:
246                   const: uartlite
247             then:
248               properties:
249                 groups:
250                   enum: [uartlite]
251
252           - if:
253               properties:
254                 function:
255                   const: wdt refclk
256             then:
257               properties:
258                 groups:
259                   enum: [wdt]
260
261           - if:
262               properties:
263                 function:
264                   const: wdt rst
265             then:
266               properties:
267                 groups:
268                   enum: [wdt]
269
270           - if:
271               properties:
272                 function:
273                   const: wled
274             then:
275               properties:
276                 groups:
277                   enum: [wled]
278
279 allOf:
280   - $ref: pinctrl.yaml#
281
282 required:
283   - compatible
284
285 additionalProperties: false
286
287 examples:
288   - |
289     pinctrl {
290       compatible = "ralink,mt7620-pinctrl";
291
292       i2c_pins: i2c0-pins {
293         pinmux {
294           groups = "i2c";
295           function = "i2c";
296         };
297       };
298     };