GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / pinctrl / ralink,rt3883-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,rt3883-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ralink RT3883 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 RT3883 pin controller for RT3883 SoC.
15   The pin controller can only set the muxing of pin groups. Muxing individual
16   pins is not supported. There is no pinconf support.
17
18 properties:
19   compatible:
20     const: ralink,rt3883-pinctrl
21
22 patternProperties:
23   '-pins$':
24     type: object
25     patternProperties:
26       '^(.*-)?pinmux$':
27         type: object
28         description: node for pinctrl.
29         $ref: pinmux-node.yaml#
30
31         properties:
32           groups:
33             description: The pin group to select.
34             enum: [ge1, ge2, i2c, jtag, lna a, lna g, mdio, pci, spi, uartf,
35                    uartlite]
36
37           function:
38             description: The mux function to select.
39             enum: [ge1, ge2, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag,
40                    lna a, lna g, mdio, pci-dev, pci-fnc, pci-host1, pci-host2,
41                    pcm gpio, pcm i2s, pcm uartf, spi, uartf, uartlite]
42
43         required:
44           - groups
45           - function
46
47         additionalProperties: false
48
49     additionalProperties: false
50
51 allOf:
52   - $ref: "pinctrl.yaml#"
53
54 required:
55   - compatible
56
57 additionalProperties: false
58
59 examples:
60   # Pinmux controller node
61   - |
62     pinctrl {
63       compatible = "ralink,rt3883-pinctrl";
64
65       i2c_pins: i2c0-pins {
66         pinmux {
67           groups = "i2c";
68           function = "i2c";
69         };
70       };
71     };