GNU Linux-libre 5.15.137-gnu
[releases.git] / Documentation / devicetree / bindings / pinctrl / ralink,rt2880-pinmux.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-pinmux.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Ralink rt2880 pinmux controller
8
9 maintainers:
10   - Sergio Paracuellos <sergio.paracuellos@gmail.com>
11
12 description:
13   The rt2880 pinmux can only set the muxing of pin groups. muxing indiviual pins
14   is not supported. There is no pinconf support.
15
16 properties:
17   compatible:
18     const: ralink,rt2880-pinmux
19
20 patternProperties:
21   '-pins$':
22     type: object
23     patternProperties:
24       '^(.*-)?pinmux$':
25         type: object
26         description: node for pinctrl.
27         $ref: pinmux-node.yaml#
28
29         properties:
30           groups:
31             description: Name of the pin group to use for the functions.
32             enum: [i2c, spi, uart1, uart2, uart3, rgmii1, rgmii2, mdio,
33                    pcie, sdhci]
34           function:
35             description: The mux function to select
36             enum: [gpio, i2c, spi, uart1, uart2, uart3, rgmii1, rgmii2,
37                    mdio, nand1, nand2, sdhci]
38
39         required:
40           - groups
41           - function
42
43         additionalProperties: false
44
45     additionalProperties: false
46
47 required:
48   - compatible
49
50 additionalProperties: false
51
52 examples:
53   # Pinmux controller node
54   - |
55     pinctrl {
56       compatible = "ralink,rt2880-pinmux";
57
58       i2c_pins: i2c0-pins {
59         pinmux {
60           groups = "i2c";
61           function = "i2c";
62         };
63       };
64     };