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