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