xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/ralink,rt2880-pinmux.yaml (revision 18054d0220cfc8df9c9568c437bd6fbb59d53c3c)
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
7title: Ralink rt2880 pinmux controller
8
9maintainers:
10  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
11
12description:
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
16properties:
17  compatible:
18    const: ralink,rt2880-pinmux
19
20patternProperties:
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
47required:
48  - compatible
49
50additionalProperties: false
51
52examples:
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    };
65