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