xref: /openbmc/linux/Documentation/devicetree/bindings/pinctrl/ralink,rt5350-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,rt5350-pinctrl.yaml#
5*5c7daf4aSArınç ÜNAL$schema: http://devicetree.org/meta-schemas/core.yaml#
6*5c7daf4aSArınç ÜNAL
7*5c7daf4aSArınç ÜNALtitle: Ralink RT5350 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 RT5350 pin controller for RT5350 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,rt5350-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,
39*5c7daf4aSArınç ÜNAL                   pcm gpio, pcm i2s, pcm uartf, spi, spi_cs1, uartf, uartlite,
40*5c7daf4aSArınç ÜNAL                   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, spi, spi_cs1, uartf, uartlite]
60*5c7daf4aSArınç ÜNAL
61*5c7daf4aSArınç ÜNAL          - if:
62*5c7daf4aSArınç ÜNAL              properties:
63*5c7daf4aSArınç ÜNAL                function:
64*5c7daf4aSArınç ÜNAL                  const: gpio i2s
65*5c7daf4aSArınç ÜNAL            then:
66*5c7daf4aSArınç ÜNAL              properties:
67*5c7daf4aSArınç ÜNAL                groups:
68*5c7daf4aSArınç ÜNAL                  enum: [uartf]
69*5c7daf4aSArınç ÜNAL
70*5c7daf4aSArınç ÜNAL          - if:
71*5c7daf4aSArınç ÜNAL              properties:
72*5c7daf4aSArınç ÜNAL                function:
73*5c7daf4aSArınç ÜNAL                  const: gpio uartf
74*5c7daf4aSArınç ÜNAL            then:
75*5c7daf4aSArınç ÜNAL              properties:
76*5c7daf4aSArınç ÜNAL                groups:
77*5c7daf4aSArınç ÜNAL                  enum: [uartf]
78*5c7daf4aSArınç ÜNAL
79*5c7daf4aSArınç ÜNAL          - if:
80*5c7daf4aSArınç ÜNAL              properties:
81*5c7daf4aSArınç ÜNAL                function:
82*5c7daf4aSArınç ÜNAL                  const: i2c
83*5c7daf4aSArınç ÜNAL            then:
84*5c7daf4aSArınç ÜNAL              properties:
85*5c7daf4aSArınç ÜNAL                groups:
86*5c7daf4aSArınç ÜNAL                  enum: [i2c]
87*5c7daf4aSArınç ÜNAL
88*5c7daf4aSArınç ÜNAL          - if:
89*5c7daf4aSArınç ÜNAL              properties:
90*5c7daf4aSArınç ÜNAL                function:
91*5c7daf4aSArınç ÜNAL                  const: i2s uartf
92*5c7daf4aSArınç ÜNAL            then:
93*5c7daf4aSArınç ÜNAL              properties:
94*5c7daf4aSArınç ÜNAL                groups:
95*5c7daf4aSArınç ÜNAL                  enum: [uartf]
96*5c7daf4aSArınç ÜNAL
97*5c7daf4aSArınç ÜNAL          - if:
98*5c7daf4aSArınç ÜNAL              properties:
99*5c7daf4aSArınç ÜNAL                function:
100*5c7daf4aSArınç ÜNAL                  const: jtag
101*5c7daf4aSArınç ÜNAL            then:
102*5c7daf4aSArınç ÜNAL              properties:
103*5c7daf4aSArınç ÜNAL                groups:
104*5c7daf4aSArınç ÜNAL                  enum: [jtag]
105*5c7daf4aSArınç ÜNAL
106*5c7daf4aSArınç ÜNAL          - if:
107*5c7daf4aSArınç ÜNAL              properties:
108*5c7daf4aSArınç ÜNAL                function:
109*5c7daf4aSArınç ÜNAL                  const: led
110*5c7daf4aSArınç ÜNAL            then:
111*5c7daf4aSArınç ÜNAL              properties:
112*5c7daf4aSArınç ÜNAL                groups:
113*5c7daf4aSArınç ÜNAL                  enum: [led]
114*5c7daf4aSArınç ÜNAL
115*5c7daf4aSArınç ÜNAL          - if:
116*5c7daf4aSArınç ÜNAL              properties:
117*5c7daf4aSArınç ÜNAL                function:
118*5c7daf4aSArınç ÜNAL                  const: pcm gpio
119*5c7daf4aSArınç ÜNAL            then:
120*5c7daf4aSArınç ÜNAL              properties:
121*5c7daf4aSArınç ÜNAL                groups:
122*5c7daf4aSArınç ÜNAL                  enum: [uartf]
123*5c7daf4aSArınç ÜNAL
124*5c7daf4aSArınç ÜNAL          - if:
125*5c7daf4aSArınç ÜNAL              properties:
126*5c7daf4aSArınç ÜNAL                function:
127*5c7daf4aSArınç ÜNAL                  const: pcm i2s
128*5c7daf4aSArınç ÜNAL            then:
129*5c7daf4aSArınç ÜNAL              properties:
130*5c7daf4aSArınç ÜNAL                groups:
131*5c7daf4aSArınç ÜNAL                  enum: [uartf]
132*5c7daf4aSArınç ÜNAL
133*5c7daf4aSArınç ÜNAL          - if:
134*5c7daf4aSArınç ÜNAL              properties:
135*5c7daf4aSArınç ÜNAL                function:
136*5c7daf4aSArınç ÜNAL                  const: pcm uartf
137*5c7daf4aSArınç ÜNAL            then:
138*5c7daf4aSArınç ÜNAL              properties:
139*5c7daf4aSArınç ÜNAL                groups:
140*5c7daf4aSArınç ÜNAL                  enum: [uartf]
141*5c7daf4aSArınç ÜNAL
142*5c7daf4aSArınç ÜNAL          - if:
143*5c7daf4aSArınç ÜNAL              properties:
144*5c7daf4aSArınç ÜNAL                function:
145*5c7daf4aSArınç ÜNAL                  const: spi
146*5c7daf4aSArınç ÜNAL            then:
147*5c7daf4aSArınç ÜNAL              properties:
148*5c7daf4aSArınç ÜNAL                groups:
149*5c7daf4aSArınç ÜNAL                  enum: [spi]
150*5c7daf4aSArınç ÜNAL
151*5c7daf4aSArınç ÜNAL          - if:
152*5c7daf4aSArınç ÜNAL              properties:
153*5c7daf4aSArınç ÜNAL                function:
154*5c7daf4aSArınç ÜNAL                  const: spi_cs1
155*5c7daf4aSArınç ÜNAL            then:
156*5c7daf4aSArınç ÜNAL              properties:
157*5c7daf4aSArınç ÜNAL                groups:
158*5c7daf4aSArınç ÜNAL                  enum: [spi_cs1]
159*5c7daf4aSArınç ÜNAL
160*5c7daf4aSArınç ÜNAL          - if:
161*5c7daf4aSArınç ÜNAL              properties:
162*5c7daf4aSArınç ÜNAL                function:
163*5c7daf4aSArınç ÜNAL                  const: uartf
164*5c7daf4aSArınç ÜNAL            then:
165*5c7daf4aSArınç ÜNAL              properties:
166*5c7daf4aSArınç ÜNAL                groups:
167*5c7daf4aSArınç ÜNAL                  enum: [uartf]
168*5c7daf4aSArınç ÜNAL
169*5c7daf4aSArınç ÜNAL          - if:
170*5c7daf4aSArınç ÜNAL              properties:
171*5c7daf4aSArınç ÜNAL                function:
172*5c7daf4aSArınç ÜNAL                  const: uartlite
173*5c7daf4aSArınç ÜNAL            then:
174*5c7daf4aSArınç ÜNAL              properties:
175*5c7daf4aSArınç ÜNAL                groups:
176*5c7daf4aSArınç ÜNAL                  enum: [uartlite]
177*5c7daf4aSArınç ÜNAL
178*5c7daf4aSArınç ÜNAL          - if:
179*5c7daf4aSArınç ÜNAL              properties:
180*5c7daf4aSArınç ÜNAL                function:
181*5c7daf4aSArınç ÜNAL                  const: wdg_cs1
182*5c7daf4aSArınç ÜNAL            then:
183*5c7daf4aSArınç ÜNAL              properties:
184*5c7daf4aSArınç ÜNAL                groups:
185*5c7daf4aSArınç ÜNAL                  enum: [spi_cs1]
186*5c7daf4aSArınç ÜNAL
187*5c7daf4aSArınç ÜNALallOf:
188*5c7daf4aSArınç ÜNAL  - $ref: pinctrl.yaml#
189*5c7daf4aSArınç ÜNAL
190*5c7daf4aSArınç ÜNALrequired:
191*5c7daf4aSArınç ÜNAL  - compatible
192*5c7daf4aSArınç ÜNAL
193*5c7daf4aSArınç ÜNALadditionalProperties: false
194*5c7daf4aSArınç ÜNAL
195*5c7daf4aSArınç ÜNALexamples:
196*5c7daf4aSArınç ÜNAL  - |
197*5c7daf4aSArınç ÜNAL    pinctrl {
198*5c7daf4aSArınç ÜNAL      compatible = "ralink,rt5350-pinctrl";
199*5c7daf4aSArınç ÜNAL
200*5c7daf4aSArınç ÜNAL      i2c_pins: i2c0-pins {
201*5c7daf4aSArınç ÜNAL        pinmux {
202*5c7daf4aSArınç ÜNAL          groups = "i2c";
203*5c7daf4aSArınç ÜNAL          function = "i2c";
204*5c7daf4aSArınç ÜNAL        };
205*5c7daf4aSArınç ÜNAL      };
206*5c7daf4aSArınç ÜNAL    };
207