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,rt3883-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ralink RT3883 Pin Controller
8
9maintainers:
10  - Arınç ÜNAL <arinc.unal@arinc9.com>
11  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13description:
14  Ralink RT3883 pin controller for RT3883 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,rt3883-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: [ge1, ge2, i2c, jtag, lna a, lna g, mdio, pci, spi, uartf,
35                   uartlite]
36
37          function:
38            description: The mux function to select.
39            enum: [ge1, ge2, gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag,
40                   lna a, lna g, mdio, pci-dev, pci-fnc, pci-host1, pci-host2,
41                   pcm gpio, pcm i2s, pcm uartf, spi, uartf, uartlite]
42
43        required:
44          - groups
45          - function
46
47        additionalProperties: false
48
49    additionalProperties: false
50
51allOf:
52  - $ref: "pinctrl.yaml#"
53
54required:
55  - compatible
56
57additionalProperties: false
58
59examples:
60  # Pinmux controller node
61  - |
62    pinctrl {
63      compatible = "ralink,rt3883-pinctrl";
64
65      i2c_pins: i2c0-pins {
66        pinmux {
67          groups = "i2c";
68          function = "i2c";
69        };
70      };
71    };
72