GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / pinctrl / ralink,rt305x-pinctrl.yaml
1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/pinctrl/ralink,rt305x-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ralink RT305X Pin Controller
8
9 maintainers:
10   - Arınç ÜNAL <arinc.unal@arinc9.com>
11   - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13 description:
14   Ralink RT305X pin controller for RT3050, RT3052, RT3350, RT3352 and RT5350
15   SoCs.
16   The pin controller can only set the muxing of pin groups. Muxing individual
17   pins is not supported. There is no pinconf support.
18
19 properties:
20   compatible:
21     const: ralink,rt305x-pinctrl
22
23 patternProperties:
24   '-pins$':
25     type: object
26     patternProperties:
27       '^(.*-)?pinmux$':
28         type: object
29         description: node for pinctrl.
30         $ref: pinmux-node.yaml#
31
32         properties:
33           groups:
34             description: The pin group to select.
35             enum: [
36               # common
37               i2c, jtag, led, mdio, rgmii, spi, spi_cs1, uartf, uartlite,
38
39               # For RT3050, RT3052 and RT3350 SoCs
40               sdram,
41
42               # For RT3352 SoC
43               lna, pa
44             ]
45
46           function:
47             description: The mux function to select.
48             enum: [
49               # common
50               gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led, mdio,
51               pcm gpio, pcm i2s, pcm uartf, rgmii, spi, spi_cs1, uartf,
52               uartlite, wdg_cs1,
53
54               # For RT3050, RT3052 and RT3350 SoCs
55               sdram,
56
57               # For RT3352 SoC
58               lna, pa
59             ]
60
61         required:
62           - groups
63           - function
64
65         additionalProperties: false
66
67     additionalProperties: false
68
69 allOf:
70   - $ref: "pinctrl.yaml#"
71
72 required:
73   - compatible
74
75 additionalProperties: false
76
77 examples:
78   # Pinmux controller node
79   - |
80     pinctrl {
81       compatible = "ralink,rt305x-pinctrl";
82
83       i2c_pins: i2c0-pins {
84         pinmux {
85           groups = "i2c";
86           function = "i2c";
87         };
88       };
89     };