blob: 95a9042730099eef7eaee655014d04aef20180cb [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,rt305x-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ralink RT305X Pin Controller
8
9maintainers:
10 - Arınç ÜNAL <arinc.unal@arinc9.com>
11 - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13description: |
14 Ralink RT305X pin controller for RT3050, RT3052, and RT3350 SoCs.
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,rt305x-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, mdio,
39 pcm gpio, pcm i2s, pcm uartf, rgmii, sdram, spi, uartf,
40 uartlite]
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, rgmii, sdram, spi, uartf, uartlite]
60
61 - if:
62 properties:
63 function:
64 const: gpio i2s
65 then:
66 properties:
67 groups:
68 enum: [uartf]
69
70 - if:
71 properties:
72 function:
73 const: gpio uartf
74 then:
75 properties:
76 groups:
77 enum: [uartf]
78
79 - if:
80 properties:
81 function:
82 const: i2c
83 then:
84 properties:
85 groups:
86 enum: [i2c]
87
88 - if:
89 properties:
90 function:
91 const: i2s uartf
92 then:
93 properties:
94 groups:
95 enum: [uartf]
96
97 - if:
98 properties:
99 function:
100 const: jtag
101 then:
102 properties:
103 groups:
104 enum: [jtag]
105
106 - if:
107 properties:
108 function:
109 const: mdio
110 then:
111 properties:
112 groups:
113 enum: [mdio]
114
115 - if:
116 properties:
117 function:
118 const: pcm gpio
119 then:
120 properties:
121 groups:
122 enum: [uartf]
123
124 - if:
125 properties:
126 function:
127 const: pcm i2s
128 then:
129 properties:
130 groups:
131 enum: [uartf]
132
133 - if:
134 properties:
135 function:
136 const: pcm uartf
137 then:
138 properties:
139 groups:
140 enum: [uartf]
141
142 - if:
143 properties:
144 function:
145 const: rgmii
146 then:
147 properties:
148 groups:
149 enum: [rgmii]
150
151 - if:
152 properties:
153 function:
154 const: sdram
155 then:
156 properties:
157 groups:
158 enum: [sdram]
159
160 - if:
161 properties:
162 function:
163 const: spi
164 then:
165 properties:
166 groups:
167 enum: [spi]
168
169 - if:
170 properties:
171 function:
172 const: uartf
173 then:
174 properties:
175 groups:
176 enum: [uartf]
177
178 - if:
179 properties:
180 function:
181 const: uartlite
182 then:
183 properties:
184 groups:
185 enum: [uartlite]
186
187allOf:
188 - $ref: pinctrl.yaml#
189
190required:
191 - compatible
192
193additionalProperties: false
194
195examples:
196 - |
197 pinctrl {
198 compatible = "ralink,rt305x-pinctrl";
199
200 i2c_pins: i2c0-pins {
201 pinmux {
202 groups = "i2c";
203 function = "i2c";
204 };
205 };
206 };