GNU Linux-libre 6.1.90-gnu
[releases.git] / Documentation / devicetree / bindings / pinctrl / ralink,rt2880-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,rt2880-pinctrl.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ralink RT2880 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 RT2880 pin controller for RT2880 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,rt2880-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: [i2c, spi, uartlite, jtag, mdio, sdram, pci]
35
36           function:
37             description: The mux function to select.
38             enum: [gpio, i2c, spi, uartlite, jtag, mdio, sdram, pci]
39
40         required:
41           - groups
42           - function
43
44         additionalProperties: false
45
46     additionalProperties: false
47
48 allOf:
49   - $ref: "pinctrl.yaml#"
50
51 required:
52   - compatible
53
54 additionalProperties: false
55
56 examples:
57   # Pinmux controller node
58   - |
59     pinctrl {
60       compatible = "ralink,rt2880-pinctrl";
61
62       i2c_pins: i2c0-pins {
63         pinmux {
64           groups = "i2c";
65           function = "i2c";
66         };
67       };
68     };