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