xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/ralink,mt7620-pinctrl.yaml (revision cb7aa33ac6cd46a5434798e50363136e64f3ae98)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/ralink,mt7620-pinctrl.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: Ralink MT7620 Pin Controller
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Arınç ÜNAL <arinc.unal@arinc9.com>
11d5b0e70fSEmmanuel Vadot  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12d5b0e70fSEmmanuel Vadot
13d5b0e70fSEmmanuel Vadotdescription:
14d5b0e70fSEmmanuel Vadot  Ralink MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs.
15d5b0e70fSEmmanuel Vadot  The pin controller can only set the muxing of pin groups. Muxing individual
16d5b0e70fSEmmanuel Vadot  pins is not supported. There is no pinconf support.
17d5b0e70fSEmmanuel Vadot
18d5b0e70fSEmmanuel Vadotproperties:
19d5b0e70fSEmmanuel Vadot  compatible:
20d5b0e70fSEmmanuel Vadot    const: ralink,mt7620-pinctrl
21d5b0e70fSEmmanuel Vadot
22d5b0e70fSEmmanuel VadotpatternProperties:
23d5b0e70fSEmmanuel Vadot  '-pins$':
24d5b0e70fSEmmanuel Vadot    type: object
25d5b0e70fSEmmanuel Vadot    patternProperties:
26d5b0e70fSEmmanuel Vadot      '^(.*-)?pinmux$':
27d5b0e70fSEmmanuel Vadot        type: object
28d5b0e70fSEmmanuel Vadot        description: node for pinctrl.
29d5b0e70fSEmmanuel Vadot        $ref: pinmux-node.yaml#
30d5b0e70fSEmmanuel Vadot
31d5b0e70fSEmmanuel Vadot        properties:
32d5b0e70fSEmmanuel Vadot          function:
33*cb7aa33aSEmmanuel Vadot            description:
34*cb7aa33aSEmmanuel Vadot              A string containing the name of the function to mux to the group.
35*cb7aa33aSEmmanuel Vadot            anyOf:
36*cb7aa33aSEmmanuel Vadot              - description: For MT7620 SoC
37*cb7aa33aSEmmanuel Vadot                enum: [ephy, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, mdio, nand, pa,
38*cb7aa33aSEmmanuel Vadot                       pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf, refclk,
39*cb7aa33aSEmmanuel Vadot                       rgmii1, rgmii2, sd, spi, spi refclk, uartf, uartlite, wdt refclk,
40*cb7aa33aSEmmanuel Vadot                       wdt rst, wled]
41d5b0e70fSEmmanuel Vadot
42*cb7aa33aSEmmanuel Vadot              - description: For MT7628 and MT7688 SoCs
43*cb7aa33aSEmmanuel Vadot                enum: [antenna, debug, gpio, i2c, i2s, jtag, p0led_an, p0led_kn,
44d5b0e70fSEmmanuel Vadot                       p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
45d5b0e70fSEmmanuel Vadot                       p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2,
46*cb7aa33aSEmmanuel Vadot                       refclk, rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi, spi cs1,
47*cb7aa33aSEmmanuel Vadot                       spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -]
48*cb7aa33aSEmmanuel Vadot
49*cb7aa33aSEmmanuel Vadot          groups:
50*cb7aa33aSEmmanuel Vadot            description:
51*cb7aa33aSEmmanuel Vadot              An array of strings. Each string contains the name of a group.
52*cb7aa33aSEmmanuel Vadot            maxItems: 1
53d5b0e70fSEmmanuel Vadot
54d5b0e70fSEmmanuel Vadot        required:
55d5b0e70fSEmmanuel Vadot          - groups
56d5b0e70fSEmmanuel Vadot          - function
57d5b0e70fSEmmanuel Vadot
58*cb7aa33aSEmmanuel Vadot        allOf:
59*cb7aa33aSEmmanuel Vadot          - if:
60*cb7aa33aSEmmanuel Vadot              properties:
61*cb7aa33aSEmmanuel Vadot                function:
62*cb7aa33aSEmmanuel Vadot                  const: antenna
63*cb7aa33aSEmmanuel Vadot            then:
64*cb7aa33aSEmmanuel Vadot              properties:
65*cb7aa33aSEmmanuel Vadot                groups:
66*cb7aa33aSEmmanuel Vadot                  enum: [i2s]
67*cb7aa33aSEmmanuel Vadot
68*cb7aa33aSEmmanuel Vadot          - if:
69*cb7aa33aSEmmanuel Vadot              properties:
70*cb7aa33aSEmmanuel Vadot                function:
71*cb7aa33aSEmmanuel Vadot                  const: debug
72*cb7aa33aSEmmanuel Vadot            then:
73*cb7aa33aSEmmanuel Vadot              properties:
74*cb7aa33aSEmmanuel Vadot                groups:
75*cb7aa33aSEmmanuel Vadot                  enum: [i2c]
76*cb7aa33aSEmmanuel Vadot
77*cb7aa33aSEmmanuel Vadot          - if:
78*cb7aa33aSEmmanuel Vadot              properties:
79*cb7aa33aSEmmanuel Vadot                function:
80*cb7aa33aSEmmanuel Vadot                  const: ephy
81*cb7aa33aSEmmanuel Vadot            then:
82*cb7aa33aSEmmanuel Vadot              properties:
83*cb7aa33aSEmmanuel Vadot                groups:
84*cb7aa33aSEmmanuel Vadot                  enum: [ephy]
85*cb7aa33aSEmmanuel Vadot
86*cb7aa33aSEmmanuel Vadot          - if:
87*cb7aa33aSEmmanuel Vadot              properties:
88*cb7aa33aSEmmanuel Vadot                function:
89*cb7aa33aSEmmanuel Vadot                  const: gpio
90*cb7aa33aSEmmanuel Vadot            then:
91*cb7aa33aSEmmanuel Vadot              properties:
92*cb7aa33aSEmmanuel Vadot                groups:
93*cb7aa33aSEmmanuel Vadot                  anyOf:
94*cb7aa33aSEmmanuel Vadot                    - description: For MT7620 SoC
95*cb7aa33aSEmmanuel Vadot                      enum: [ephy, i2c, mdio, nd_sd, pa, pcie, rgmii1, rgmii2,
96*cb7aa33aSEmmanuel Vadot                             spi, spi refclk, uartf, uartlite, wdt, wled]
97*cb7aa33aSEmmanuel Vadot
98*cb7aa33aSEmmanuel Vadot                    - description: For MT7628 and MT7688 SoCs
99*cb7aa33aSEmmanuel Vadot                      enum: [gpio, i2c, i2s, p0led_an, p0led_kn, p1led_an,
100*cb7aa33aSEmmanuel Vadot                             p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
101*cb7aa33aSEmmanuel Vadot                             p4led_an, p4led_kn, perst, pwm0, pwm1, refclk,
102*cb7aa33aSEmmanuel Vadot                             sdmode, spi, spi cs1, spis, uart0, uart1, uart2,
103*cb7aa33aSEmmanuel Vadot                             wdt, wled_an, wled_kn]
104*cb7aa33aSEmmanuel Vadot
105*cb7aa33aSEmmanuel Vadot          - if:
106*cb7aa33aSEmmanuel Vadot              properties:
107*cb7aa33aSEmmanuel Vadot                function:
108*cb7aa33aSEmmanuel Vadot                  const: gpio i2s
109*cb7aa33aSEmmanuel Vadot            then:
110*cb7aa33aSEmmanuel Vadot              properties:
111*cb7aa33aSEmmanuel Vadot                groups:
112*cb7aa33aSEmmanuel Vadot                  enum: [uartf]
113*cb7aa33aSEmmanuel Vadot
114*cb7aa33aSEmmanuel Vadot          - if:
115*cb7aa33aSEmmanuel Vadot              properties:
116*cb7aa33aSEmmanuel Vadot                function:
117*cb7aa33aSEmmanuel Vadot                  const: gpio uartf
118*cb7aa33aSEmmanuel Vadot            then:
119*cb7aa33aSEmmanuel Vadot              properties:
120*cb7aa33aSEmmanuel Vadot                groups:
121*cb7aa33aSEmmanuel Vadot                  enum: [uartf]
122*cb7aa33aSEmmanuel Vadot
123*cb7aa33aSEmmanuel Vadot          - if:
124*cb7aa33aSEmmanuel Vadot              properties:
125*cb7aa33aSEmmanuel Vadot                function:
126*cb7aa33aSEmmanuel Vadot                  const: i2c
127*cb7aa33aSEmmanuel Vadot            then:
128*cb7aa33aSEmmanuel Vadot              properties:
129*cb7aa33aSEmmanuel Vadot                groups:
130*cb7aa33aSEmmanuel Vadot                  enum: [i2c]
131*cb7aa33aSEmmanuel Vadot
132*cb7aa33aSEmmanuel Vadot          - if:
133*cb7aa33aSEmmanuel Vadot              properties:
134*cb7aa33aSEmmanuel Vadot                function:
135*cb7aa33aSEmmanuel Vadot                  const: i2s
136*cb7aa33aSEmmanuel Vadot            then:
137*cb7aa33aSEmmanuel Vadot              properties:
138*cb7aa33aSEmmanuel Vadot                groups:
139*cb7aa33aSEmmanuel Vadot                  enum: [i2s]
140*cb7aa33aSEmmanuel Vadot
141*cb7aa33aSEmmanuel Vadot          - if:
142*cb7aa33aSEmmanuel Vadot              properties:
143*cb7aa33aSEmmanuel Vadot                function:
144*cb7aa33aSEmmanuel Vadot                  const: i2s uartf
145*cb7aa33aSEmmanuel Vadot            then:
146*cb7aa33aSEmmanuel Vadot              properties:
147*cb7aa33aSEmmanuel Vadot                groups:
148*cb7aa33aSEmmanuel Vadot                  enum: [uartf]
149*cb7aa33aSEmmanuel Vadot
150*cb7aa33aSEmmanuel Vadot          - if:
151*cb7aa33aSEmmanuel Vadot              properties:
152*cb7aa33aSEmmanuel Vadot                function:
153*cb7aa33aSEmmanuel Vadot                  const: jtag
154*cb7aa33aSEmmanuel Vadot            then:
155*cb7aa33aSEmmanuel Vadot              properties:
156*cb7aa33aSEmmanuel Vadot                groups:
157*cb7aa33aSEmmanuel Vadot                  enum: [p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an,
158*cb7aa33aSEmmanuel Vadot                         p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn,
159*cb7aa33aSEmmanuel Vadot                         sdmode]
160*cb7aa33aSEmmanuel Vadot
161*cb7aa33aSEmmanuel Vadot          - if:
162*cb7aa33aSEmmanuel Vadot              properties:
163*cb7aa33aSEmmanuel Vadot                function:
164*cb7aa33aSEmmanuel Vadot                  const: mdio
165*cb7aa33aSEmmanuel Vadot            then:
166*cb7aa33aSEmmanuel Vadot              properties:
167*cb7aa33aSEmmanuel Vadot                groups:
168*cb7aa33aSEmmanuel Vadot                  enum: [mdio]
169*cb7aa33aSEmmanuel Vadot
170*cb7aa33aSEmmanuel Vadot          - if:
171*cb7aa33aSEmmanuel Vadot              properties:
172*cb7aa33aSEmmanuel Vadot                function:
173*cb7aa33aSEmmanuel Vadot                  const: nand
174*cb7aa33aSEmmanuel Vadot            then:
175*cb7aa33aSEmmanuel Vadot              properties:
176*cb7aa33aSEmmanuel Vadot                groups:
177*cb7aa33aSEmmanuel Vadot                  enum: [nd_sd]
178*cb7aa33aSEmmanuel Vadot
179*cb7aa33aSEmmanuel Vadot          - if:
180*cb7aa33aSEmmanuel Vadot              properties:
181*cb7aa33aSEmmanuel Vadot                function:
182*cb7aa33aSEmmanuel Vadot                  const: p0led_an
183*cb7aa33aSEmmanuel Vadot            then:
184*cb7aa33aSEmmanuel Vadot              properties:
185*cb7aa33aSEmmanuel Vadot                groups:
186*cb7aa33aSEmmanuel Vadot                  enum: [p0led_an]
187*cb7aa33aSEmmanuel Vadot
188*cb7aa33aSEmmanuel Vadot          - if:
189*cb7aa33aSEmmanuel Vadot              properties:
190*cb7aa33aSEmmanuel Vadot                function:
191*cb7aa33aSEmmanuel Vadot                  const: p0led_kn
192*cb7aa33aSEmmanuel Vadot            then:
193*cb7aa33aSEmmanuel Vadot              properties:
194*cb7aa33aSEmmanuel Vadot                groups:
195*cb7aa33aSEmmanuel Vadot                  enum: [p0led_kn]
196*cb7aa33aSEmmanuel Vadot
197*cb7aa33aSEmmanuel Vadot          - if:
198*cb7aa33aSEmmanuel Vadot              properties:
199*cb7aa33aSEmmanuel Vadot                function:
200*cb7aa33aSEmmanuel Vadot                  const: p1led_an
201*cb7aa33aSEmmanuel Vadot            then:
202*cb7aa33aSEmmanuel Vadot              properties:
203*cb7aa33aSEmmanuel Vadot                groups:
204*cb7aa33aSEmmanuel Vadot                  enum: [p1led_an]
205*cb7aa33aSEmmanuel Vadot
206*cb7aa33aSEmmanuel Vadot          - if:
207*cb7aa33aSEmmanuel Vadot              properties:
208*cb7aa33aSEmmanuel Vadot                function:
209*cb7aa33aSEmmanuel Vadot                  const: p1led_kn
210*cb7aa33aSEmmanuel Vadot            then:
211*cb7aa33aSEmmanuel Vadot              properties:
212*cb7aa33aSEmmanuel Vadot                groups:
213*cb7aa33aSEmmanuel Vadot                  enum: [p1led_kn]
214*cb7aa33aSEmmanuel Vadot
215*cb7aa33aSEmmanuel Vadot          - if:
216*cb7aa33aSEmmanuel Vadot              properties:
217*cb7aa33aSEmmanuel Vadot                function:
218*cb7aa33aSEmmanuel Vadot                  const: p2led_an
219*cb7aa33aSEmmanuel Vadot            then:
220*cb7aa33aSEmmanuel Vadot              properties:
221*cb7aa33aSEmmanuel Vadot                groups:
222*cb7aa33aSEmmanuel Vadot                  enum: [p2led_an]
223*cb7aa33aSEmmanuel Vadot
224*cb7aa33aSEmmanuel Vadot          - if:
225*cb7aa33aSEmmanuel Vadot              properties:
226*cb7aa33aSEmmanuel Vadot                function:
227*cb7aa33aSEmmanuel Vadot                  const: p2led_kn
228*cb7aa33aSEmmanuel Vadot            then:
229*cb7aa33aSEmmanuel Vadot              properties:
230*cb7aa33aSEmmanuel Vadot                groups:
231*cb7aa33aSEmmanuel Vadot                  enum: [p2led_kn]
232*cb7aa33aSEmmanuel Vadot
233*cb7aa33aSEmmanuel Vadot          - if:
234*cb7aa33aSEmmanuel Vadot              properties:
235*cb7aa33aSEmmanuel Vadot                function:
236*cb7aa33aSEmmanuel Vadot                  const: p3led_an
237*cb7aa33aSEmmanuel Vadot            then:
238*cb7aa33aSEmmanuel Vadot              properties:
239*cb7aa33aSEmmanuel Vadot                groups:
240*cb7aa33aSEmmanuel Vadot                  enum: [p3led_an]
241*cb7aa33aSEmmanuel Vadot
242*cb7aa33aSEmmanuel Vadot          - if:
243*cb7aa33aSEmmanuel Vadot              properties:
244*cb7aa33aSEmmanuel Vadot                function:
245*cb7aa33aSEmmanuel Vadot                  const: p3led_kn
246*cb7aa33aSEmmanuel Vadot            then:
247*cb7aa33aSEmmanuel Vadot              properties:
248*cb7aa33aSEmmanuel Vadot                groups:
249*cb7aa33aSEmmanuel Vadot                  enum: [p3led_kn]
250*cb7aa33aSEmmanuel Vadot
251*cb7aa33aSEmmanuel Vadot          - if:
252*cb7aa33aSEmmanuel Vadot              properties:
253*cb7aa33aSEmmanuel Vadot                function:
254*cb7aa33aSEmmanuel Vadot                  const: p4led_an
255*cb7aa33aSEmmanuel Vadot            then:
256*cb7aa33aSEmmanuel Vadot              properties:
257*cb7aa33aSEmmanuel Vadot                groups:
258*cb7aa33aSEmmanuel Vadot                  enum: [p4led_an]
259*cb7aa33aSEmmanuel Vadot
260*cb7aa33aSEmmanuel Vadot          - if:
261*cb7aa33aSEmmanuel Vadot              properties:
262*cb7aa33aSEmmanuel Vadot                function:
263*cb7aa33aSEmmanuel Vadot                  const: p4led_kn
264*cb7aa33aSEmmanuel Vadot            then:
265*cb7aa33aSEmmanuel Vadot              properties:
266*cb7aa33aSEmmanuel Vadot                groups:
267*cb7aa33aSEmmanuel Vadot                  enum: [p4led_kn]
268*cb7aa33aSEmmanuel Vadot
269*cb7aa33aSEmmanuel Vadot          - if:
270*cb7aa33aSEmmanuel Vadot              properties:
271*cb7aa33aSEmmanuel Vadot                function:
272*cb7aa33aSEmmanuel Vadot                  const: pa
273*cb7aa33aSEmmanuel Vadot            then:
274*cb7aa33aSEmmanuel Vadot              properties:
275*cb7aa33aSEmmanuel Vadot                groups:
276*cb7aa33aSEmmanuel Vadot                  enum: [pa]
277*cb7aa33aSEmmanuel Vadot
278*cb7aa33aSEmmanuel Vadot          - if:
279*cb7aa33aSEmmanuel Vadot              properties:
280*cb7aa33aSEmmanuel Vadot                function:
281*cb7aa33aSEmmanuel Vadot                  const: pcie
282*cb7aa33aSEmmanuel Vadot            then:
283*cb7aa33aSEmmanuel Vadot              properties:
284*cb7aa33aSEmmanuel Vadot                groups:
285*cb7aa33aSEmmanuel Vadot                  enum: [gpio]
286*cb7aa33aSEmmanuel Vadot
287*cb7aa33aSEmmanuel Vadot          - if:
288*cb7aa33aSEmmanuel Vadot              properties:
289*cb7aa33aSEmmanuel Vadot                function:
290*cb7aa33aSEmmanuel Vadot                  const: pcie refclk
291*cb7aa33aSEmmanuel Vadot            then:
292*cb7aa33aSEmmanuel Vadot              properties:
293*cb7aa33aSEmmanuel Vadot                groups:
294*cb7aa33aSEmmanuel Vadot                  enum: [pcie]
295*cb7aa33aSEmmanuel Vadot
296*cb7aa33aSEmmanuel Vadot          - if:
297*cb7aa33aSEmmanuel Vadot              properties:
298*cb7aa33aSEmmanuel Vadot                function:
299*cb7aa33aSEmmanuel Vadot                  const: pcie rst
300*cb7aa33aSEmmanuel Vadot            then:
301*cb7aa33aSEmmanuel Vadot              properties:
302*cb7aa33aSEmmanuel Vadot                groups:
303*cb7aa33aSEmmanuel Vadot                  enum: [pcie]
304*cb7aa33aSEmmanuel Vadot
305*cb7aa33aSEmmanuel Vadot          - if:
306*cb7aa33aSEmmanuel Vadot              properties:
307*cb7aa33aSEmmanuel Vadot                function:
308*cb7aa33aSEmmanuel Vadot                  const: pcm
309*cb7aa33aSEmmanuel Vadot            then:
310*cb7aa33aSEmmanuel Vadot              properties:
311*cb7aa33aSEmmanuel Vadot                groups:
312*cb7aa33aSEmmanuel Vadot                  enum: [i2s]
313*cb7aa33aSEmmanuel Vadot
314*cb7aa33aSEmmanuel Vadot          - if:
315*cb7aa33aSEmmanuel Vadot              properties:
316*cb7aa33aSEmmanuel Vadot                function:
317*cb7aa33aSEmmanuel Vadot                  const: pcm gpio
318*cb7aa33aSEmmanuel Vadot            then:
319*cb7aa33aSEmmanuel Vadot              properties:
320*cb7aa33aSEmmanuel Vadot                groups:
321*cb7aa33aSEmmanuel Vadot                  enum: [uartf]
322*cb7aa33aSEmmanuel Vadot
323*cb7aa33aSEmmanuel Vadot          - if:
324*cb7aa33aSEmmanuel Vadot              properties:
325*cb7aa33aSEmmanuel Vadot                function:
326*cb7aa33aSEmmanuel Vadot                  const: pcm i2s
327*cb7aa33aSEmmanuel Vadot            then:
328*cb7aa33aSEmmanuel Vadot              properties:
329*cb7aa33aSEmmanuel Vadot                groups:
330*cb7aa33aSEmmanuel Vadot                  enum: [uartf]
331*cb7aa33aSEmmanuel Vadot
332*cb7aa33aSEmmanuel Vadot          - if:
333*cb7aa33aSEmmanuel Vadot              properties:
334*cb7aa33aSEmmanuel Vadot                function:
335*cb7aa33aSEmmanuel Vadot                  const: pcm uartf
336*cb7aa33aSEmmanuel Vadot            then:
337*cb7aa33aSEmmanuel Vadot              properties:
338*cb7aa33aSEmmanuel Vadot                groups:
339*cb7aa33aSEmmanuel Vadot                  enum: [uartf]
340*cb7aa33aSEmmanuel Vadot
341*cb7aa33aSEmmanuel Vadot          - if:
342*cb7aa33aSEmmanuel Vadot              properties:
343*cb7aa33aSEmmanuel Vadot                function:
344*cb7aa33aSEmmanuel Vadot                  const: perst
345*cb7aa33aSEmmanuel Vadot            then:
346*cb7aa33aSEmmanuel Vadot              properties:
347*cb7aa33aSEmmanuel Vadot                groups:
348*cb7aa33aSEmmanuel Vadot                  enum: [perst]
349*cb7aa33aSEmmanuel Vadot
350*cb7aa33aSEmmanuel Vadot          - if:
351*cb7aa33aSEmmanuel Vadot              properties:
352*cb7aa33aSEmmanuel Vadot                function:
353*cb7aa33aSEmmanuel Vadot                  const: pwm
354*cb7aa33aSEmmanuel Vadot            then:
355*cb7aa33aSEmmanuel Vadot              properties:
356*cb7aa33aSEmmanuel Vadot                groups:
357*cb7aa33aSEmmanuel Vadot                  enum: [uart1, uart2]
358*cb7aa33aSEmmanuel Vadot
359*cb7aa33aSEmmanuel Vadot          - if:
360*cb7aa33aSEmmanuel Vadot              properties:
361*cb7aa33aSEmmanuel Vadot                function:
362*cb7aa33aSEmmanuel Vadot                  const: pwm0
363*cb7aa33aSEmmanuel Vadot            then:
364*cb7aa33aSEmmanuel Vadot              properties:
365*cb7aa33aSEmmanuel Vadot                groups:
366*cb7aa33aSEmmanuel Vadot                  enum: [pwm0]
367*cb7aa33aSEmmanuel Vadot
368*cb7aa33aSEmmanuel Vadot          - if:
369*cb7aa33aSEmmanuel Vadot              properties:
370*cb7aa33aSEmmanuel Vadot                function:
371*cb7aa33aSEmmanuel Vadot                  const: pwm1
372*cb7aa33aSEmmanuel Vadot            then:
373*cb7aa33aSEmmanuel Vadot              properties:
374*cb7aa33aSEmmanuel Vadot                groups:
375*cb7aa33aSEmmanuel Vadot                  enum: [pwm1]
376*cb7aa33aSEmmanuel Vadot
377*cb7aa33aSEmmanuel Vadot          - if:
378*cb7aa33aSEmmanuel Vadot              properties:
379*cb7aa33aSEmmanuel Vadot                function:
380*cb7aa33aSEmmanuel Vadot                  const: pwm_uart2
381*cb7aa33aSEmmanuel Vadot            then:
382*cb7aa33aSEmmanuel Vadot              properties:
383*cb7aa33aSEmmanuel Vadot                groups:
384*cb7aa33aSEmmanuel Vadot                  enum: [spis]
385*cb7aa33aSEmmanuel Vadot
386*cb7aa33aSEmmanuel Vadot          - if:
387*cb7aa33aSEmmanuel Vadot              properties:
388*cb7aa33aSEmmanuel Vadot                function:
389*cb7aa33aSEmmanuel Vadot                  const: refclk
390*cb7aa33aSEmmanuel Vadot            then:
391*cb7aa33aSEmmanuel Vadot              properties:
392*cb7aa33aSEmmanuel Vadot                groups:
393*cb7aa33aSEmmanuel Vadot                  anyOf:
394*cb7aa33aSEmmanuel Vadot                    - description: For MT7620 SoC
395*cb7aa33aSEmmanuel Vadot                      enum: [mdio]
396*cb7aa33aSEmmanuel Vadot
397*cb7aa33aSEmmanuel Vadot                    - description: For MT7628 and MT7688 SoCs
398*cb7aa33aSEmmanuel Vadot                      enum: [gpio, refclk, spi cs1]
399*cb7aa33aSEmmanuel Vadot
400*cb7aa33aSEmmanuel Vadot          - if:
401*cb7aa33aSEmmanuel Vadot              properties:
402*cb7aa33aSEmmanuel Vadot                function:
403*cb7aa33aSEmmanuel Vadot                  const: rgmii1
404*cb7aa33aSEmmanuel Vadot            then:
405*cb7aa33aSEmmanuel Vadot              properties:
406*cb7aa33aSEmmanuel Vadot                groups:
407*cb7aa33aSEmmanuel Vadot                  enum: [rgmii1]
408*cb7aa33aSEmmanuel Vadot
409*cb7aa33aSEmmanuel Vadot          - if:
410*cb7aa33aSEmmanuel Vadot              properties:
411*cb7aa33aSEmmanuel Vadot                function:
412*cb7aa33aSEmmanuel Vadot                  const: rgmii2
413*cb7aa33aSEmmanuel Vadot            then:
414*cb7aa33aSEmmanuel Vadot              properties:
415*cb7aa33aSEmmanuel Vadot                groups:
416*cb7aa33aSEmmanuel Vadot                  enum: [rgmii2]
417*cb7aa33aSEmmanuel Vadot
418*cb7aa33aSEmmanuel Vadot          - if:
419*cb7aa33aSEmmanuel Vadot              properties:
420*cb7aa33aSEmmanuel Vadot                function:
421*cb7aa33aSEmmanuel Vadot                  const: rsvd
422*cb7aa33aSEmmanuel Vadot            then:
423*cb7aa33aSEmmanuel Vadot              properties:
424*cb7aa33aSEmmanuel Vadot                groups:
425*cb7aa33aSEmmanuel Vadot                  enum: [p0led_an, p0led_kn, wled_an, wled_kn]
426*cb7aa33aSEmmanuel Vadot
427*cb7aa33aSEmmanuel Vadot          - if:
428*cb7aa33aSEmmanuel Vadot              properties:
429*cb7aa33aSEmmanuel Vadot                function:
430*cb7aa33aSEmmanuel Vadot                  const: sd
431*cb7aa33aSEmmanuel Vadot            then:
432*cb7aa33aSEmmanuel Vadot              properties:
433*cb7aa33aSEmmanuel Vadot                groups:
434*cb7aa33aSEmmanuel Vadot                  enum: [nd_sd]
435*cb7aa33aSEmmanuel Vadot
436*cb7aa33aSEmmanuel Vadot          - if:
437*cb7aa33aSEmmanuel Vadot              properties:
438*cb7aa33aSEmmanuel Vadot                function:
439*cb7aa33aSEmmanuel Vadot                  const: sdxc
440*cb7aa33aSEmmanuel Vadot            then:
441*cb7aa33aSEmmanuel Vadot              properties:
442*cb7aa33aSEmmanuel Vadot                groups:
443*cb7aa33aSEmmanuel Vadot                  enum: [sdmode]
444*cb7aa33aSEmmanuel Vadot
445*cb7aa33aSEmmanuel Vadot          - if:
446*cb7aa33aSEmmanuel Vadot              properties:
447*cb7aa33aSEmmanuel Vadot                function:
448*cb7aa33aSEmmanuel Vadot                  const: sdxc d5 d4
449*cb7aa33aSEmmanuel Vadot            then:
450*cb7aa33aSEmmanuel Vadot              properties:
451*cb7aa33aSEmmanuel Vadot                groups:
452*cb7aa33aSEmmanuel Vadot                  enum: [uart2]
453*cb7aa33aSEmmanuel Vadot
454*cb7aa33aSEmmanuel Vadot          - if:
455*cb7aa33aSEmmanuel Vadot              properties:
456*cb7aa33aSEmmanuel Vadot                function:
457*cb7aa33aSEmmanuel Vadot                  const: sdxc d6
458*cb7aa33aSEmmanuel Vadot            then:
459*cb7aa33aSEmmanuel Vadot              properties:
460*cb7aa33aSEmmanuel Vadot                groups:
461*cb7aa33aSEmmanuel Vadot                  enum: [pwm1]
462*cb7aa33aSEmmanuel Vadot
463*cb7aa33aSEmmanuel Vadot          - if:
464*cb7aa33aSEmmanuel Vadot              properties:
465*cb7aa33aSEmmanuel Vadot                function:
466*cb7aa33aSEmmanuel Vadot                  const: sdxc d7
467*cb7aa33aSEmmanuel Vadot            then:
468*cb7aa33aSEmmanuel Vadot              properties:
469*cb7aa33aSEmmanuel Vadot                groups:
470*cb7aa33aSEmmanuel Vadot                  enum: [pwm0]
471*cb7aa33aSEmmanuel Vadot
472*cb7aa33aSEmmanuel Vadot          - if:
473*cb7aa33aSEmmanuel Vadot              properties:
474*cb7aa33aSEmmanuel Vadot                function:
475*cb7aa33aSEmmanuel Vadot                  const: spi
476*cb7aa33aSEmmanuel Vadot            then:
477*cb7aa33aSEmmanuel Vadot              properties:
478*cb7aa33aSEmmanuel Vadot                groups:
479*cb7aa33aSEmmanuel Vadot                  enum: [spi]
480*cb7aa33aSEmmanuel Vadot
481*cb7aa33aSEmmanuel Vadot          - if:
482*cb7aa33aSEmmanuel Vadot              properties:
483*cb7aa33aSEmmanuel Vadot                function:
484*cb7aa33aSEmmanuel Vadot                  const: spi cs1
485*cb7aa33aSEmmanuel Vadot            then:
486*cb7aa33aSEmmanuel Vadot              properties:
487*cb7aa33aSEmmanuel Vadot                groups:
488*cb7aa33aSEmmanuel Vadot                  enum: [spi cs1]
489*cb7aa33aSEmmanuel Vadot
490*cb7aa33aSEmmanuel Vadot          - if:
491*cb7aa33aSEmmanuel Vadot              properties:
492*cb7aa33aSEmmanuel Vadot                function:
493*cb7aa33aSEmmanuel Vadot                  const: spi refclk
494*cb7aa33aSEmmanuel Vadot            then:
495*cb7aa33aSEmmanuel Vadot              properties:
496*cb7aa33aSEmmanuel Vadot                groups:
497*cb7aa33aSEmmanuel Vadot                  enum: [spi refclk]
498*cb7aa33aSEmmanuel Vadot
499*cb7aa33aSEmmanuel Vadot          - if:
500*cb7aa33aSEmmanuel Vadot              properties:
501*cb7aa33aSEmmanuel Vadot                function:
502*cb7aa33aSEmmanuel Vadot                  const: spis
503*cb7aa33aSEmmanuel Vadot            then:
504*cb7aa33aSEmmanuel Vadot              properties:
505*cb7aa33aSEmmanuel Vadot                groups:
506*cb7aa33aSEmmanuel Vadot                  enum: [spis]
507*cb7aa33aSEmmanuel Vadot
508*cb7aa33aSEmmanuel Vadot          - if:
509*cb7aa33aSEmmanuel Vadot              properties:
510*cb7aa33aSEmmanuel Vadot                function:
511*cb7aa33aSEmmanuel Vadot                  const: sw_r
512*cb7aa33aSEmmanuel Vadot            then:
513*cb7aa33aSEmmanuel Vadot              properties:
514*cb7aa33aSEmmanuel Vadot                groups:
515*cb7aa33aSEmmanuel Vadot                  enum: [uart1]
516*cb7aa33aSEmmanuel Vadot
517*cb7aa33aSEmmanuel Vadot          - if:
518*cb7aa33aSEmmanuel Vadot              properties:
519*cb7aa33aSEmmanuel Vadot                function:
520*cb7aa33aSEmmanuel Vadot                  const: uart0
521*cb7aa33aSEmmanuel Vadot            then:
522*cb7aa33aSEmmanuel Vadot              properties:
523*cb7aa33aSEmmanuel Vadot                groups:
524*cb7aa33aSEmmanuel Vadot                  enum: [uart0]
525*cb7aa33aSEmmanuel Vadot
526*cb7aa33aSEmmanuel Vadot          - if:
527*cb7aa33aSEmmanuel Vadot              properties:
528*cb7aa33aSEmmanuel Vadot                function:
529*cb7aa33aSEmmanuel Vadot                  const: uart1
530*cb7aa33aSEmmanuel Vadot            then:
531*cb7aa33aSEmmanuel Vadot              properties:
532*cb7aa33aSEmmanuel Vadot                groups:
533*cb7aa33aSEmmanuel Vadot                  enum: [uart1]
534*cb7aa33aSEmmanuel Vadot
535*cb7aa33aSEmmanuel Vadot          - if:
536*cb7aa33aSEmmanuel Vadot              properties:
537*cb7aa33aSEmmanuel Vadot                function:
538*cb7aa33aSEmmanuel Vadot                  const: uart2
539*cb7aa33aSEmmanuel Vadot            then:
540*cb7aa33aSEmmanuel Vadot              properties:
541*cb7aa33aSEmmanuel Vadot                groups:
542*cb7aa33aSEmmanuel Vadot                  enum: [uart2]
543*cb7aa33aSEmmanuel Vadot
544*cb7aa33aSEmmanuel Vadot          - if:
545*cb7aa33aSEmmanuel Vadot              properties:
546*cb7aa33aSEmmanuel Vadot                function:
547*cb7aa33aSEmmanuel Vadot                  const: uartf
548*cb7aa33aSEmmanuel Vadot            then:
549*cb7aa33aSEmmanuel Vadot              properties:
550*cb7aa33aSEmmanuel Vadot                groups:
551*cb7aa33aSEmmanuel Vadot                  enum: [uartf]
552*cb7aa33aSEmmanuel Vadot
553*cb7aa33aSEmmanuel Vadot          - if:
554*cb7aa33aSEmmanuel Vadot              properties:
555*cb7aa33aSEmmanuel Vadot                function:
556*cb7aa33aSEmmanuel Vadot                  const: uartlite
557*cb7aa33aSEmmanuel Vadot            then:
558*cb7aa33aSEmmanuel Vadot              properties:
559*cb7aa33aSEmmanuel Vadot                groups:
560*cb7aa33aSEmmanuel Vadot                  enum: [uartlite]
561*cb7aa33aSEmmanuel Vadot
562*cb7aa33aSEmmanuel Vadot          - if:
563*cb7aa33aSEmmanuel Vadot              properties:
564*cb7aa33aSEmmanuel Vadot                function:
565*cb7aa33aSEmmanuel Vadot                  const: utif
566*cb7aa33aSEmmanuel Vadot            then:
567*cb7aa33aSEmmanuel Vadot              properties:
568*cb7aa33aSEmmanuel Vadot                groups:
569*cb7aa33aSEmmanuel Vadot                  enum: [p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an,
570*cb7aa33aSEmmanuel Vadot                         p3led_kn, p4led_an, p4led_kn, pwm0, pwm1, sdmode, spis]
571*cb7aa33aSEmmanuel Vadot
572*cb7aa33aSEmmanuel Vadot          - if:
573*cb7aa33aSEmmanuel Vadot              properties:
574*cb7aa33aSEmmanuel Vadot                function:
575*cb7aa33aSEmmanuel Vadot                  const: wdt
576*cb7aa33aSEmmanuel Vadot            then:
577*cb7aa33aSEmmanuel Vadot              properties:
578*cb7aa33aSEmmanuel Vadot                groups:
579*cb7aa33aSEmmanuel Vadot                  enum: [wdt]
580*cb7aa33aSEmmanuel Vadot
581*cb7aa33aSEmmanuel Vadot          - if:
582*cb7aa33aSEmmanuel Vadot              properties:
583*cb7aa33aSEmmanuel Vadot                function:
584*cb7aa33aSEmmanuel Vadot                  const: wdt refclk
585*cb7aa33aSEmmanuel Vadot            then:
586*cb7aa33aSEmmanuel Vadot              properties:
587*cb7aa33aSEmmanuel Vadot                groups:
588*cb7aa33aSEmmanuel Vadot                  enum: [wdt]
589*cb7aa33aSEmmanuel Vadot
590*cb7aa33aSEmmanuel Vadot          - if:
591*cb7aa33aSEmmanuel Vadot              properties:
592*cb7aa33aSEmmanuel Vadot                function:
593*cb7aa33aSEmmanuel Vadot                  const: wdt rst
594*cb7aa33aSEmmanuel Vadot            then:
595*cb7aa33aSEmmanuel Vadot              properties:
596*cb7aa33aSEmmanuel Vadot                groups:
597*cb7aa33aSEmmanuel Vadot                  enum: [wdt]
598*cb7aa33aSEmmanuel Vadot
599*cb7aa33aSEmmanuel Vadot          - if:
600*cb7aa33aSEmmanuel Vadot              properties:
601*cb7aa33aSEmmanuel Vadot                function:
602*cb7aa33aSEmmanuel Vadot                  const: wled
603*cb7aa33aSEmmanuel Vadot            then:
604*cb7aa33aSEmmanuel Vadot              properties:
605*cb7aa33aSEmmanuel Vadot                groups:
606*cb7aa33aSEmmanuel Vadot                  enum: [wled]
607*cb7aa33aSEmmanuel Vadot
608*cb7aa33aSEmmanuel Vadot          - if:
609*cb7aa33aSEmmanuel Vadot              properties:
610*cb7aa33aSEmmanuel Vadot                function:
611*cb7aa33aSEmmanuel Vadot                  const: wled_an
612*cb7aa33aSEmmanuel Vadot            then:
613*cb7aa33aSEmmanuel Vadot              properties:
614*cb7aa33aSEmmanuel Vadot                groups:
615*cb7aa33aSEmmanuel Vadot                  enum: [wled_an]
616*cb7aa33aSEmmanuel Vadot
617*cb7aa33aSEmmanuel Vadot          - if:
618*cb7aa33aSEmmanuel Vadot              properties:
619*cb7aa33aSEmmanuel Vadot                function:
620*cb7aa33aSEmmanuel Vadot                  const: wled_kn
621*cb7aa33aSEmmanuel Vadot            then:
622*cb7aa33aSEmmanuel Vadot              properties:
623*cb7aa33aSEmmanuel Vadot                groups:
624*cb7aa33aSEmmanuel Vadot                  enum: [wled_kn]
625*cb7aa33aSEmmanuel Vadot
626*cb7aa33aSEmmanuel Vadot          - if:
627*cb7aa33aSEmmanuel Vadot              properties:
628*cb7aa33aSEmmanuel Vadot                function:
629*cb7aa33aSEmmanuel Vadot                  const: "-"
630*cb7aa33aSEmmanuel Vadot            then:
631*cb7aa33aSEmmanuel Vadot              properties:
632*cb7aa33aSEmmanuel Vadot                groups:
633*cb7aa33aSEmmanuel Vadot                  enum: [i2c, spi cs1, uart0]
634*cb7aa33aSEmmanuel Vadot
635d5b0e70fSEmmanuel Vadot        additionalProperties: false
636d5b0e70fSEmmanuel Vadot
637d5b0e70fSEmmanuel Vadot    additionalProperties: false
638d5b0e70fSEmmanuel Vadot
639d5b0e70fSEmmanuel VadotallOf:
640d5b0e70fSEmmanuel Vadot  - $ref: "pinctrl.yaml#"
641d5b0e70fSEmmanuel Vadot
642d5b0e70fSEmmanuel Vadotrequired:
643d5b0e70fSEmmanuel Vadot  - compatible
644d5b0e70fSEmmanuel Vadot
645d5b0e70fSEmmanuel VadotadditionalProperties: false
646d5b0e70fSEmmanuel Vadot
647d5b0e70fSEmmanuel Vadotexamples:
648d5b0e70fSEmmanuel Vadot  - |
649d5b0e70fSEmmanuel Vadot    pinctrl {
650d5b0e70fSEmmanuel Vadot      compatible = "ralink,mt7620-pinctrl";
651d5b0e70fSEmmanuel Vadot
652d5b0e70fSEmmanuel Vadot      i2c_pins: i2c0-pins {
653d5b0e70fSEmmanuel Vadot        pinmux {
654d5b0e70fSEmmanuel Vadot          groups = "i2c";
655d5b0e70fSEmmanuel Vadot          function = "i2c";
656d5b0e70fSEmmanuel Vadot        };
657d5b0e70fSEmmanuel Vadot      };
658d5b0e70fSEmmanuel Vadot    };
659