xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/ralink,rt2880-pinmux.yaml (revision c7046f76c2c027b00c0e6ba57cfd28f1a78f5e23)
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, jtag, mdio, pcie, rgmii1, rgmii2, sdhci, spi,
33                   uart1, uart2, uart3, wdt]
34          function:
35            description: The mux function to select
36            enum: [gpio, i2c, i2s, jtag, mdio, nand1, nand2, pcie refclk,
37                   pcie rst, pcm, rgmii1, rgmii2, sdhci, spdif2, spdif3,
38                   spi, uart1, uart2, uart3, wdt refclk, wdt rst]
39
40        required:
41          - groups
42          - function
43
44        additionalProperties: false
45
46    additionalProperties: false
47
48allOf:
49  - $ref: "pinctrl.yaml#"
50
51required:
52  - compatible
53
54additionalProperties: false
55
56examples:
57  # Pinmux controller node
58  - |
59    pinctrl {
60      compatible = "ralink,rt2880-pinmux";
61
62      i2c_pins: i2c0-pins {
63        pinmux {
64          groups = "i2c";
65          function = "i2c";
66        };
67      };
68    };
69