blob: e568b9c13727260152757b3ee020c2af37c87db9 [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/mediatek,mt7621-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: MediaTek MT7621 Pin Controller
8
9maintainers:
10 - Arınç ÜNAL <arinc.unal@arinc9.com>
11 - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13description: |
14 MediaTek MT7621 pin controller for MT7621 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,mt7621-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, i2c, i2s, jtag, mdio, nand1, nand2, pcie refclk,
39 pcie rst, pcm, rgmii1, rgmii2, sdhci, spdif2, spdif3, spi,
40 uart1, uart2, uart3, wdt refclk, wdt rst]
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, mdio, pcie, rgmii1, rgmii2, sdhci, spi,
60 uart1, uart2, uart3, wdt]
61
62 - if:
63 properties:
64 function:
65 const: i2c
66 then:
67 properties:
68 groups:
69 enum: [i2c]
70
71 - if:
72 properties:
73 function:
74 const: i2s
75 then:
76 properties:
77 groups:
78 enum: [uart3]
79
80 - if:
81 properties:
82 function:
83 const: jtag
84 then:
85 properties:
86 groups:
87 enum: [jtag]
88
89 - if:
90 properties:
91 function:
92 const: mdio
93 then:
94 properties:
95 groups:
96 enum: [mdio]
97
98 - if:
99 properties:
100 function:
101 const: nand1
102 then:
103 properties:
104 groups:
105 enum: [spi]
106
107 - if:
108 properties:
109 function:
110 const: nand2
111 then:
112 properties:
113 groups:
114 enum: [sdhci]
115
116 - if:
117 properties:
118 function:
119 const: pcie refclk
120 then:
121 properties:
122 groups:
123 enum: [pcie]
124
125 - if:
126 properties:
127 function:
128 const: pcie rst
129 then:
130 properties:
131 groups:
132 enum: [pcie]
133
134 - if:
135 properties:
136 function:
137 const: pcm
138 then:
139 properties:
140 groups:
141 enum: [uart2]
142
143 - if:
144 properties:
145 function:
146 const: rgmii1
147 then:
148 properties:
149 groups:
150 enum: [rgmii1]
151
152 - if:
153 properties:
154 function:
155 const: rgmii2
156 then:
157 properties:
158 groups:
159 enum: [rgmii2]
160
161 - if:
162 properties:
163 function:
164 const: sdhci
165 then:
166 properties:
167 groups:
168 enum: [sdhci]
169
170 - if:
171 properties:
172 function:
173 const: spdif2
174 then:
175 properties:
176 groups:
177 enum: [uart2]
178
179 - if:
180 properties:
181 function:
182 const: spdif3
183 then:
184 properties:
185 groups:
186 enum: [uart3]
187
188 - if:
189 properties:
190 function:
191 const: spi
192 then:
193 properties:
194 groups:
195 enum: [spi]
196
197 - if:
198 properties:
199 function:
200 const: uart1
201 then:
202 properties:
203 groups:
204 enum: [uart1]
205
206 - if:
207 properties:
208 function:
209 const: uart2
210 then:
211 properties:
212 groups:
213 enum: [uart2]
214
215 - if:
216 properties:
217 function:
218 const: uart3
219 then:
220 properties:
221 groups:
222 enum: [uart3]
223
224 - if:
225 properties:
226 function:
227 const: wdt refclk
228 then:
229 properties:
230 groups:
231 enum: [wdt]
232
233 - if:
234 properties:
235 function:
236 const: wdt rst
237 then:
238 properties:
239 groups:
240 enum: [wdt]
241
242allOf:
243 - $ref: pinctrl.yaml#
244
245required:
246 - compatible
247
248additionalProperties: false
249
250examples:
251 - |
252 pinctrl {
253 compatible = "ralink,mt7621-pinctrl";
254
255 i2c_pins: i2c0-pins {
256 pinmux {
257 groups = "i2c";
258 function = "i2c";
259 };
260 };
261 };