xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/ralink,rt2880-pinctrl.yaml (revision d5b0e70f7e04d971691517ce1304d86a1e367e2e)
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
7title: Ralink RT2880 Pin Controller
8
9maintainers:
10  - Arınç ÜNAL <arinc.unal@arinc9.com>
11  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13description:
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
18properties:
19  compatible:
20    const: ralink,rt2880-pinctrl
21
22patternProperties:
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
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-pinctrl";
61
62      i2c_pins: i2c0-pins {
63        pinmux {
64          groups = "i2c";
65          function = "i2c";
66        };
67      };
68    };
69