xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/ralink,mt7621-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,mt7621-pinctrl.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: Ralink MT7621 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 MT7621 pin controller for MT7621 SoC.
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,mt7621-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.
35d5b0e70fSEmmanuel Vadot            enum: [gpio, i2c, i2s, jtag, mdio, nand1, nand2, pcie refclk,
36d5b0e70fSEmmanuel Vadot                   pcie rst, pcm, rgmii1, rgmii2, sdhci, spdif2, spdif3, spi,
37d5b0e70fSEmmanuel Vadot                   uart1, uart2, uart3, wdt refclk, wdt rst]
38d5b0e70fSEmmanuel Vadot
39*cb7aa33aSEmmanuel Vadot          groups:
40*cb7aa33aSEmmanuel Vadot            description:
41*cb7aa33aSEmmanuel Vadot              An array of strings. Each string contains the name of a group.
42*cb7aa33aSEmmanuel Vadot            maxItems: 1
43*cb7aa33aSEmmanuel Vadot
44d5b0e70fSEmmanuel Vadot        required:
45d5b0e70fSEmmanuel Vadot          - groups
46d5b0e70fSEmmanuel Vadot          - function
47d5b0e70fSEmmanuel Vadot
48*cb7aa33aSEmmanuel Vadot        allOf:
49*cb7aa33aSEmmanuel Vadot          - if:
50*cb7aa33aSEmmanuel Vadot              properties:
51*cb7aa33aSEmmanuel Vadot                function:
52*cb7aa33aSEmmanuel Vadot                  const: gpio
53*cb7aa33aSEmmanuel Vadot            then:
54*cb7aa33aSEmmanuel Vadot              properties:
55*cb7aa33aSEmmanuel Vadot                groups:
56*cb7aa33aSEmmanuel Vadot                  enum: [i2c, jtag, mdio, pcie, rgmii1, rgmii2, sdhci, spi,
57*cb7aa33aSEmmanuel Vadot                         uart1, uart2, uart3, wdt]
58*cb7aa33aSEmmanuel Vadot
59*cb7aa33aSEmmanuel Vadot          - if:
60*cb7aa33aSEmmanuel Vadot              properties:
61*cb7aa33aSEmmanuel Vadot                function:
62*cb7aa33aSEmmanuel Vadot                  const: i2c
63*cb7aa33aSEmmanuel Vadot            then:
64*cb7aa33aSEmmanuel Vadot              properties:
65*cb7aa33aSEmmanuel Vadot                groups:
66*cb7aa33aSEmmanuel Vadot                  enum: [i2c]
67*cb7aa33aSEmmanuel Vadot
68*cb7aa33aSEmmanuel Vadot          - if:
69*cb7aa33aSEmmanuel Vadot              properties:
70*cb7aa33aSEmmanuel Vadot                function:
71*cb7aa33aSEmmanuel Vadot                  const: i2s
72*cb7aa33aSEmmanuel Vadot            then:
73*cb7aa33aSEmmanuel Vadot              properties:
74*cb7aa33aSEmmanuel Vadot                groups:
75*cb7aa33aSEmmanuel Vadot                  enum: [uart3]
76*cb7aa33aSEmmanuel Vadot
77*cb7aa33aSEmmanuel Vadot          - if:
78*cb7aa33aSEmmanuel Vadot              properties:
79*cb7aa33aSEmmanuel Vadot                function:
80*cb7aa33aSEmmanuel Vadot                  const: jtag
81*cb7aa33aSEmmanuel Vadot            then:
82*cb7aa33aSEmmanuel Vadot              properties:
83*cb7aa33aSEmmanuel Vadot                groups:
84*cb7aa33aSEmmanuel Vadot                  enum: [jtag]
85*cb7aa33aSEmmanuel Vadot
86*cb7aa33aSEmmanuel Vadot          - if:
87*cb7aa33aSEmmanuel Vadot              properties:
88*cb7aa33aSEmmanuel Vadot                function:
89*cb7aa33aSEmmanuel Vadot                  const: mdio
90*cb7aa33aSEmmanuel Vadot            then:
91*cb7aa33aSEmmanuel Vadot              properties:
92*cb7aa33aSEmmanuel Vadot                groups:
93*cb7aa33aSEmmanuel Vadot                  enum: [mdio]
94*cb7aa33aSEmmanuel Vadot
95*cb7aa33aSEmmanuel Vadot          - if:
96*cb7aa33aSEmmanuel Vadot              properties:
97*cb7aa33aSEmmanuel Vadot                function:
98*cb7aa33aSEmmanuel Vadot                  const: nand1
99*cb7aa33aSEmmanuel Vadot            then:
100*cb7aa33aSEmmanuel Vadot              properties:
101*cb7aa33aSEmmanuel Vadot                groups:
102*cb7aa33aSEmmanuel Vadot                  enum: [spi]
103*cb7aa33aSEmmanuel Vadot
104*cb7aa33aSEmmanuel Vadot          - if:
105*cb7aa33aSEmmanuel Vadot              properties:
106*cb7aa33aSEmmanuel Vadot                function:
107*cb7aa33aSEmmanuel Vadot                  const: nand2
108*cb7aa33aSEmmanuel Vadot            then:
109*cb7aa33aSEmmanuel Vadot              properties:
110*cb7aa33aSEmmanuel Vadot                groups:
111*cb7aa33aSEmmanuel Vadot                  enum: [sdhci]
112*cb7aa33aSEmmanuel Vadot
113*cb7aa33aSEmmanuel Vadot          - if:
114*cb7aa33aSEmmanuel Vadot              properties:
115*cb7aa33aSEmmanuel Vadot                function:
116*cb7aa33aSEmmanuel Vadot                  const: pcie refclk
117*cb7aa33aSEmmanuel Vadot            then:
118*cb7aa33aSEmmanuel Vadot              properties:
119*cb7aa33aSEmmanuel Vadot                groups:
120*cb7aa33aSEmmanuel Vadot                  enum: [pcie]
121*cb7aa33aSEmmanuel Vadot
122*cb7aa33aSEmmanuel Vadot          - if:
123*cb7aa33aSEmmanuel Vadot              properties:
124*cb7aa33aSEmmanuel Vadot                function:
125*cb7aa33aSEmmanuel Vadot                  const: pcie rst
126*cb7aa33aSEmmanuel Vadot            then:
127*cb7aa33aSEmmanuel Vadot              properties:
128*cb7aa33aSEmmanuel Vadot                groups:
129*cb7aa33aSEmmanuel Vadot                  enum: [pcie]
130*cb7aa33aSEmmanuel Vadot
131*cb7aa33aSEmmanuel Vadot          - if:
132*cb7aa33aSEmmanuel Vadot              properties:
133*cb7aa33aSEmmanuel Vadot                function:
134*cb7aa33aSEmmanuel Vadot                  const: pcm
135*cb7aa33aSEmmanuel Vadot            then:
136*cb7aa33aSEmmanuel Vadot              properties:
137*cb7aa33aSEmmanuel Vadot                groups:
138*cb7aa33aSEmmanuel Vadot                  enum: [uart2]
139*cb7aa33aSEmmanuel Vadot
140*cb7aa33aSEmmanuel Vadot          - if:
141*cb7aa33aSEmmanuel Vadot              properties:
142*cb7aa33aSEmmanuel Vadot                function:
143*cb7aa33aSEmmanuel Vadot                  const: rgmii1
144*cb7aa33aSEmmanuel Vadot            then:
145*cb7aa33aSEmmanuel Vadot              properties:
146*cb7aa33aSEmmanuel Vadot                groups:
147*cb7aa33aSEmmanuel Vadot                  enum: [rgmii1]
148*cb7aa33aSEmmanuel Vadot
149*cb7aa33aSEmmanuel Vadot          - if:
150*cb7aa33aSEmmanuel Vadot              properties:
151*cb7aa33aSEmmanuel Vadot                function:
152*cb7aa33aSEmmanuel Vadot                  const: rgmii2
153*cb7aa33aSEmmanuel Vadot            then:
154*cb7aa33aSEmmanuel Vadot              properties:
155*cb7aa33aSEmmanuel Vadot                groups:
156*cb7aa33aSEmmanuel Vadot                  enum: [rgmii2]
157*cb7aa33aSEmmanuel Vadot
158*cb7aa33aSEmmanuel Vadot          - if:
159*cb7aa33aSEmmanuel Vadot              properties:
160*cb7aa33aSEmmanuel Vadot                function:
161*cb7aa33aSEmmanuel Vadot                  const: sdhci
162*cb7aa33aSEmmanuel Vadot            then:
163*cb7aa33aSEmmanuel Vadot              properties:
164*cb7aa33aSEmmanuel Vadot                groups:
165*cb7aa33aSEmmanuel Vadot                  enum: [sdhci]
166*cb7aa33aSEmmanuel Vadot
167*cb7aa33aSEmmanuel Vadot          - if:
168*cb7aa33aSEmmanuel Vadot              properties:
169*cb7aa33aSEmmanuel Vadot                function:
170*cb7aa33aSEmmanuel Vadot                  const: spdif2
171*cb7aa33aSEmmanuel Vadot            then:
172*cb7aa33aSEmmanuel Vadot              properties:
173*cb7aa33aSEmmanuel Vadot                groups:
174*cb7aa33aSEmmanuel Vadot                  enum: [uart2]
175*cb7aa33aSEmmanuel Vadot
176*cb7aa33aSEmmanuel Vadot          - if:
177*cb7aa33aSEmmanuel Vadot              properties:
178*cb7aa33aSEmmanuel Vadot                function:
179*cb7aa33aSEmmanuel Vadot                  const: spdif3
180*cb7aa33aSEmmanuel Vadot            then:
181*cb7aa33aSEmmanuel Vadot              properties:
182*cb7aa33aSEmmanuel Vadot                groups:
183*cb7aa33aSEmmanuel Vadot                  enum: [uart3]
184*cb7aa33aSEmmanuel Vadot
185*cb7aa33aSEmmanuel Vadot          - if:
186*cb7aa33aSEmmanuel Vadot              properties:
187*cb7aa33aSEmmanuel Vadot                function:
188*cb7aa33aSEmmanuel Vadot                  const: spi
189*cb7aa33aSEmmanuel Vadot            then:
190*cb7aa33aSEmmanuel Vadot              properties:
191*cb7aa33aSEmmanuel Vadot                groups:
192*cb7aa33aSEmmanuel Vadot                  enum: [spi]
193*cb7aa33aSEmmanuel Vadot
194*cb7aa33aSEmmanuel Vadot          - if:
195*cb7aa33aSEmmanuel Vadot              properties:
196*cb7aa33aSEmmanuel Vadot                function:
197*cb7aa33aSEmmanuel Vadot                  const: uart1
198*cb7aa33aSEmmanuel Vadot            then:
199*cb7aa33aSEmmanuel Vadot              properties:
200*cb7aa33aSEmmanuel Vadot                groups:
201*cb7aa33aSEmmanuel Vadot                  enum: [uart1]
202*cb7aa33aSEmmanuel Vadot
203*cb7aa33aSEmmanuel Vadot          - if:
204*cb7aa33aSEmmanuel Vadot              properties:
205*cb7aa33aSEmmanuel Vadot                function:
206*cb7aa33aSEmmanuel Vadot                  const: uart2
207*cb7aa33aSEmmanuel Vadot            then:
208*cb7aa33aSEmmanuel Vadot              properties:
209*cb7aa33aSEmmanuel Vadot                groups:
210*cb7aa33aSEmmanuel Vadot                  enum: [uart2]
211*cb7aa33aSEmmanuel Vadot
212*cb7aa33aSEmmanuel Vadot          - if:
213*cb7aa33aSEmmanuel Vadot              properties:
214*cb7aa33aSEmmanuel Vadot                function:
215*cb7aa33aSEmmanuel Vadot                  const: uart3
216*cb7aa33aSEmmanuel Vadot            then:
217*cb7aa33aSEmmanuel Vadot              properties:
218*cb7aa33aSEmmanuel Vadot                groups:
219*cb7aa33aSEmmanuel Vadot                  enum: [uart3]
220*cb7aa33aSEmmanuel Vadot
221*cb7aa33aSEmmanuel Vadot          - if:
222*cb7aa33aSEmmanuel Vadot              properties:
223*cb7aa33aSEmmanuel Vadot                function:
224*cb7aa33aSEmmanuel Vadot                  const: wdt refclk
225*cb7aa33aSEmmanuel Vadot            then:
226*cb7aa33aSEmmanuel Vadot              properties:
227*cb7aa33aSEmmanuel Vadot                groups:
228*cb7aa33aSEmmanuel Vadot                  enum: [wdt]
229*cb7aa33aSEmmanuel Vadot
230*cb7aa33aSEmmanuel Vadot          - if:
231*cb7aa33aSEmmanuel Vadot              properties:
232*cb7aa33aSEmmanuel Vadot                function:
233*cb7aa33aSEmmanuel Vadot                  const: wdt rst
234*cb7aa33aSEmmanuel Vadot            then:
235*cb7aa33aSEmmanuel Vadot              properties:
236*cb7aa33aSEmmanuel Vadot                groups:
237*cb7aa33aSEmmanuel Vadot                  enum: [wdt]
238*cb7aa33aSEmmanuel Vadot
239d5b0e70fSEmmanuel Vadot        additionalProperties: false
240d5b0e70fSEmmanuel Vadot
241d5b0e70fSEmmanuel Vadot    additionalProperties: false
242d5b0e70fSEmmanuel Vadot
243d5b0e70fSEmmanuel VadotallOf:
244d5b0e70fSEmmanuel Vadot  - $ref: "pinctrl.yaml#"
245d5b0e70fSEmmanuel Vadot
246d5b0e70fSEmmanuel Vadotrequired:
247d5b0e70fSEmmanuel Vadot  - compatible
248d5b0e70fSEmmanuel Vadot
249d5b0e70fSEmmanuel VadotadditionalProperties: false
250d5b0e70fSEmmanuel Vadot
251d5b0e70fSEmmanuel Vadotexamples:
252d5b0e70fSEmmanuel Vadot  - |
253d5b0e70fSEmmanuel Vadot    pinctrl {
254d5b0e70fSEmmanuel Vadot      compatible = "ralink,mt7621-pinctrl";
255d5b0e70fSEmmanuel Vadot
256d5b0e70fSEmmanuel Vadot      i2c_pins: i2c0-pins {
257d5b0e70fSEmmanuel Vadot        pinmux {
258d5b0e70fSEmmanuel Vadot          groups = "i2c";
259d5b0e70fSEmmanuel Vadot          function = "i2c";
260d5b0e70fSEmmanuel Vadot        };
261d5b0e70fSEmmanuel Vadot      };
262d5b0e70fSEmmanuel Vadot    };
263