xref: /linux/Documentation/devicetree/bindings/pinctrl/ralink,rt3352-pinctrl.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1*5c7daf4aSArınç ÜNAL# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*5c7daf4aSArınç ÜNAL%YAML 1.2
3*5c7daf4aSArınç ÜNAL---
4*5c7daf4aSArınç ÜNAL$id: http://devicetree.org/schemas/pinctrl/ralink,rt3352-pinctrl.yaml#
5*5c7daf4aSArınç ÜNAL$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5c7daf4aSArınç ÜNAL
7*5c7daf4aSArınç ÜNALtitle: Ralink RT3352 Pin Controller
8*5c7daf4aSArınç ÜNAL
9*5c7daf4aSArınç ÜNALmaintainers:
10*5c7daf4aSArınç ÜNAL  - Arınç ÜNAL <arinc.unal@arinc9.com>
11*5c7daf4aSArınç ÜNAL  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12*5c7daf4aSArınç ÜNAL
13*5c7daf4aSArınç ÜNALdescription: |
14*5c7daf4aSArınç ÜNAL  Ralink RT3352 pin controller for RT3352 SoC.
15*5c7daf4aSArınç ÜNAL  The pin controller can only set the muxing of pin groups. Muxing individual
16*5c7daf4aSArınç ÜNAL  pins is not supported. There is no pinconf support.
17*5c7daf4aSArınç ÜNAL
18*5c7daf4aSArınç ÜNALproperties:
19*5c7daf4aSArınç ÜNAL  compatible:
20*5c7daf4aSArınç ÜNAL    const: ralink,rt3352-pinctrl
21*5c7daf4aSArınç ÜNAL
22*5c7daf4aSArınç ÜNALpatternProperties:
23*5c7daf4aSArınç ÜNAL  '-pins$':
24*5c7daf4aSArınç ÜNAL    type: object
25*5c7daf4aSArınç ÜNAL    additionalProperties: false
26*5c7daf4aSArınç ÜNAL
27*5c7daf4aSArınç ÜNAL    patternProperties:
28*5c7daf4aSArınç ÜNAL      '^(.*-)?pinmux$':
29*5c7daf4aSArınç ÜNAL        type: object
30*5c7daf4aSArınç ÜNAL        description: node for pinctrl.
31*5c7daf4aSArınç ÜNAL        $ref: pinmux-node.yaml#
32*5c7daf4aSArınç ÜNAL        additionalProperties: false
33*5c7daf4aSArınç ÜNAL
34*5c7daf4aSArınç ÜNAL        properties:
35*5c7daf4aSArınç ÜNAL          function:
36*5c7daf4aSArınç ÜNAL            description:
37*5c7daf4aSArınç ÜNAL              A string containing the name of the function to mux to the group.
38*5c7daf4aSArınç ÜNAL            enum: [gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led, lna,
39*5c7daf4aSArınç ÜNAL                   mdio, pa, pcm gpio, pcm i2s, pcm uartf, rgmii, spi, spi_cs1,
40*5c7daf4aSArınç ÜNAL                   uartf, uartlite, wdg_cs1]
41*5c7daf4aSArınç ÜNAL
42*5c7daf4aSArınç ÜNAL          groups:
43*5c7daf4aSArınç ÜNAL            description:
44*5c7daf4aSArınç ÜNAL              An array of strings. Each string contains the name of a group.
45*5c7daf4aSArınç ÜNAL            maxItems: 1
46*5c7daf4aSArınç ÜNAL
47*5c7daf4aSArınç ÜNAL        required:
48*5c7daf4aSArınç ÜNAL          - groups
49*5c7daf4aSArınç ÜNAL          - function
50*5c7daf4aSArınç ÜNAL
51*5c7daf4aSArınç ÜNAL        allOf:
52*5c7daf4aSArınç ÜNAL          - if:
53*5c7daf4aSArınç ÜNAL              properties:
54*5c7daf4aSArınç ÜNAL                function:
55*5c7daf4aSArınç ÜNAL                  const: gpio
56*5c7daf4aSArınç ÜNAL            then:
57*5c7daf4aSArınç ÜNAL              properties:
58*5c7daf4aSArınç ÜNAL                groups:
59*5c7daf4aSArınç ÜNAL                  enum: [i2c, jtag, led, lna, mdio, pa, rgmii, spi, spi_cs1,
60*5c7daf4aSArınç ÜNAL                         uartf, uartlite]
61*5c7daf4aSArınç ÜNAL
62*5c7daf4aSArınç ÜNAL          - if:
63*5c7daf4aSArınç ÜNAL              properties:
64*5c7daf4aSArınç ÜNAL                function:
65*5c7daf4aSArınç ÜNAL                  const: gpio i2s
66*5c7daf4aSArınç ÜNAL            then:
67*5c7daf4aSArınç ÜNAL              properties:
68*5c7daf4aSArınç ÜNAL                groups:
69*5c7daf4aSArınç ÜNAL                  enum: [uartf]
70*5c7daf4aSArınç ÜNAL
71*5c7daf4aSArınç ÜNAL          - if:
72*5c7daf4aSArınç ÜNAL              properties:
73*5c7daf4aSArınç ÜNAL                function:
74*5c7daf4aSArınç ÜNAL                  const: gpio uartf
75*5c7daf4aSArınç ÜNAL            then:
76*5c7daf4aSArınç ÜNAL              properties:
77*5c7daf4aSArınç ÜNAL                groups:
78*5c7daf4aSArınç ÜNAL                  enum: [uartf]
79*5c7daf4aSArınç ÜNAL
80*5c7daf4aSArınç ÜNAL          - if:
81*5c7daf4aSArınç ÜNAL              properties:
82*5c7daf4aSArınç ÜNAL                function:
83*5c7daf4aSArınç ÜNAL                  const: i2c
84*5c7daf4aSArınç ÜNAL            then:
85*5c7daf4aSArınç ÜNAL              properties:
86*5c7daf4aSArınç ÜNAL                groups:
87*5c7daf4aSArınç ÜNAL                  enum: [i2c]
88*5c7daf4aSArınç ÜNAL
89*5c7daf4aSArınç ÜNAL          - if:
90*5c7daf4aSArınç ÜNAL              properties:
91*5c7daf4aSArınç ÜNAL                function:
92*5c7daf4aSArınç ÜNAL                  const: i2s uartf
93*5c7daf4aSArınç ÜNAL            then:
94*5c7daf4aSArınç ÜNAL              properties:
95*5c7daf4aSArınç ÜNAL                groups:
96*5c7daf4aSArınç ÜNAL                  enum: [uartf]
97*5c7daf4aSArınç ÜNAL
98*5c7daf4aSArınç ÜNAL          - if:
99*5c7daf4aSArınç ÜNAL              properties:
100*5c7daf4aSArınç ÜNAL                function:
101*5c7daf4aSArınç ÜNAL                  const: jtag
102*5c7daf4aSArınç ÜNAL            then:
103*5c7daf4aSArınç ÜNAL              properties:
104*5c7daf4aSArınç ÜNAL                groups:
105*5c7daf4aSArınç ÜNAL                  enum: [jtag]
106*5c7daf4aSArınç ÜNAL
107*5c7daf4aSArınç ÜNAL          - if:
108*5c7daf4aSArınç ÜNAL              properties:
109*5c7daf4aSArınç ÜNAL                function:
110*5c7daf4aSArınç ÜNAL                  const: led
111*5c7daf4aSArınç ÜNAL            then:
112*5c7daf4aSArınç ÜNAL              properties:
113*5c7daf4aSArınç ÜNAL                groups:
114*5c7daf4aSArınç ÜNAL                  enum: [led]
115*5c7daf4aSArınç ÜNAL
116*5c7daf4aSArınç ÜNAL          - if:
117*5c7daf4aSArınç ÜNAL              properties:
118*5c7daf4aSArınç ÜNAL                function:
119*5c7daf4aSArınç ÜNAL                  const: lna
120*5c7daf4aSArınç ÜNAL            then:
121*5c7daf4aSArınç ÜNAL              properties:
122*5c7daf4aSArınç ÜNAL                groups:
123*5c7daf4aSArınç ÜNAL                  enum: [lna]
124*5c7daf4aSArınç ÜNAL
125*5c7daf4aSArınç ÜNAL          - if:
126*5c7daf4aSArınç ÜNAL              properties:
127*5c7daf4aSArınç ÜNAL                function:
128*5c7daf4aSArınç ÜNAL                  const: mdio
129*5c7daf4aSArınç ÜNAL            then:
130*5c7daf4aSArınç ÜNAL              properties:
131*5c7daf4aSArınç ÜNAL                groups:
132*5c7daf4aSArınç ÜNAL                  enum: [mdio]
133*5c7daf4aSArınç ÜNAL
134*5c7daf4aSArınç ÜNAL          - if:
135*5c7daf4aSArınç ÜNAL              properties:
136*5c7daf4aSArınç ÜNAL                function:
137*5c7daf4aSArınç ÜNAL                  const: pa
138*5c7daf4aSArınç ÜNAL            then:
139*5c7daf4aSArınç ÜNAL              properties:
140*5c7daf4aSArınç ÜNAL                groups:
141*5c7daf4aSArınç ÜNAL                  enum: [pa]
142*5c7daf4aSArınç ÜNAL
143*5c7daf4aSArınç ÜNAL          - if:
144*5c7daf4aSArınç ÜNAL              properties:
145*5c7daf4aSArınç ÜNAL                function:
146*5c7daf4aSArınç ÜNAL                  const: pcm gpio
147*5c7daf4aSArınç ÜNAL            then:
148*5c7daf4aSArınç ÜNAL              properties:
149*5c7daf4aSArınç ÜNAL                groups:
150*5c7daf4aSArınç ÜNAL                  enum: [uartf]
151*5c7daf4aSArınç ÜNAL
152*5c7daf4aSArınç ÜNAL          - if:
153*5c7daf4aSArınç ÜNAL              properties:
154*5c7daf4aSArınç ÜNAL                function:
155*5c7daf4aSArınç ÜNAL                  const: pcm i2s
156*5c7daf4aSArınç ÜNAL            then:
157*5c7daf4aSArınç ÜNAL              properties:
158*5c7daf4aSArınç ÜNAL                groups:
159*5c7daf4aSArınç ÜNAL                  enum: [uartf]
160*5c7daf4aSArınç ÜNAL
161*5c7daf4aSArınç ÜNAL          - if:
162*5c7daf4aSArınç ÜNAL              properties:
163*5c7daf4aSArınç ÜNAL                function:
164*5c7daf4aSArınç ÜNAL                  const: pcm uartf
165*5c7daf4aSArınç ÜNAL            then:
166*5c7daf4aSArınç ÜNAL              properties:
167*5c7daf4aSArınç ÜNAL                groups:
168*5c7daf4aSArınç ÜNAL                  enum: [uartf]
169*5c7daf4aSArınç ÜNAL
170*5c7daf4aSArınç ÜNAL          - if:
171*5c7daf4aSArınç ÜNAL              properties:
172*5c7daf4aSArınç ÜNAL                function:
173*5c7daf4aSArınç ÜNAL                  const: rgmii
174*5c7daf4aSArınç ÜNAL            then:
175*5c7daf4aSArınç ÜNAL              properties:
176*5c7daf4aSArınç ÜNAL                groups:
177*5c7daf4aSArınç ÜNAL                  enum: [rgmii]
178*5c7daf4aSArınç ÜNAL
179*5c7daf4aSArınç ÜNAL          - if:
180*5c7daf4aSArınç ÜNAL              properties:
181*5c7daf4aSArınç ÜNAL                function:
182*5c7daf4aSArınç ÜNAL                  const: spi
183*5c7daf4aSArınç ÜNAL            then:
184*5c7daf4aSArınç ÜNAL              properties:
185*5c7daf4aSArınç ÜNAL                groups:
186*5c7daf4aSArınç ÜNAL                  enum: [spi]
187*5c7daf4aSArınç ÜNAL
188*5c7daf4aSArınç ÜNAL          - if:
189*5c7daf4aSArınç ÜNAL              properties:
190*5c7daf4aSArınç ÜNAL                function:
191*5c7daf4aSArınç ÜNAL                  const: spi_cs1
192*5c7daf4aSArınç ÜNAL            then:
193*5c7daf4aSArınç ÜNAL              properties:
194*5c7daf4aSArınç ÜNAL                groups:
195*5c7daf4aSArınç ÜNAL                  enum: [spi_cs1]
196*5c7daf4aSArınç ÜNAL
197*5c7daf4aSArınç ÜNAL          - if:
198*5c7daf4aSArınç ÜNAL              properties:
199*5c7daf4aSArınç ÜNAL                function:
200*5c7daf4aSArınç ÜNAL                  const: uartf
201*5c7daf4aSArınç ÜNAL            then:
202*5c7daf4aSArınç ÜNAL              properties:
203*5c7daf4aSArınç ÜNAL                groups:
204*5c7daf4aSArınç ÜNAL                  enum: [uartf]
205*5c7daf4aSArınç ÜNAL
206*5c7daf4aSArınç ÜNAL          - if:
207*5c7daf4aSArınç ÜNAL              properties:
208*5c7daf4aSArınç ÜNAL                function:
209*5c7daf4aSArınç ÜNAL                  const: uartlite
210*5c7daf4aSArınç ÜNAL            then:
211*5c7daf4aSArınç ÜNAL              properties:
212*5c7daf4aSArınç ÜNAL                groups:
213*5c7daf4aSArınç ÜNAL                  enum: [uartlite]
214*5c7daf4aSArınç ÜNAL
215*5c7daf4aSArınç ÜNAL          - if:
216*5c7daf4aSArınç ÜNAL              properties:
217*5c7daf4aSArınç ÜNAL                function:
218*5c7daf4aSArınç ÜNAL                  const: wdg_cs1
219*5c7daf4aSArınç ÜNAL            then:
220*5c7daf4aSArınç ÜNAL              properties:
221*5c7daf4aSArınç ÜNAL                groups:
222*5c7daf4aSArınç ÜNAL                  enum: [spi_cs1]
223*5c7daf4aSArınç ÜNAL
224*5c7daf4aSArınç ÜNALallOf:
225*5c7daf4aSArınç ÜNAL  - $ref: pinctrl.yaml#
226*5c7daf4aSArınç ÜNAL
227*5c7daf4aSArınç ÜNALrequired:
228*5c7daf4aSArınç ÜNAL  - compatible
229*5c7daf4aSArınç ÜNAL
230*5c7daf4aSArınç ÜNALadditionalProperties: false
231*5c7daf4aSArınç ÜNAL
232*5c7daf4aSArınç ÜNALexamples:
233*5c7daf4aSArınç ÜNAL  - |
234*5c7daf4aSArınç ÜNAL    pinctrl {
235*5c7daf4aSArınç ÜNAL      compatible = "ralink,rt3352-pinctrl";
236*5c7daf4aSArınç ÜNAL
237*5c7daf4aSArınç ÜNAL      i2c_pins: i2c0-pins {
238*5c7daf4aSArınç ÜNAL        pinmux {
239*5c7daf4aSArınç ÜNAL          groups = "i2c";
240*5c7daf4aSArınç ÜNAL          function = "i2c";
241*5c7daf4aSArınç ÜNAL        };
242*5c7daf4aSArınç ÜNAL      };
243*5c7daf4aSArınç ÜNAL    };
244