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,rt305x-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ralink RT305X Pin Controller
8
9maintainers:
10  - Arınç ÜNAL <arinc.unal@arinc9.com>
11  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13description:
14  Ralink RT305X pin controller for RT3050, RT3052, RT3350, RT3352 and RT5350
15  SoCs.
16  The pin controller can only set the muxing of pin groups. Muxing individual
17  pins is not supported. There is no pinconf support.
18
19properties:
20  compatible:
21    const: ralink,rt305x-pinctrl
22
23patternProperties:
24  '-pins$':
25    type: object
26    patternProperties:
27      '^(.*-)?pinmux$':
28        type: object
29        description: node for pinctrl.
30        $ref: pinmux-node.yaml#
31
32        properties:
33          groups:
34            description: The pin group to select.
35            enum: [
36              # common
37              i2c, jtag, led, mdio, rgmii, spi, spi_cs1, uartf, uartlite,
38
39              # For RT3050, RT3052 and RT3350 SoCs
40              sdram,
41
42              # For RT3352 SoC
43              lna, pa
44            ]
45
46          function:
47            description: The mux function to select.
48            enum: [
49              # common
50              gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led, mdio,
51              pcm gpio, pcm i2s, pcm uartf, rgmii, spi, spi_cs1, uartf,
52              uartlite, wdg_cs1,
53
54              # For RT3050, RT3052 and RT3350 SoCs
55              sdram,
56
57              # For RT3352 SoC
58              lna, pa
59            ]
60
61        required:
62          - groups
63          - function
64
65        additionalProperties: false
66
67    additionalProperties: false
68
69allOf:
70  - $ref: "pinctrl.yaml#"
71
72required:
73  - compatible
74
75additionalProperties: false
76
77examples:
78  # Pinmux controller node
79  - |
80    pinctrl {
81      compatible = "ralink,rt305x-pinctrl";
82
83      i2c_pins: i2c0-pins {
84        pinmux {
85          groups = "i2c";
86          function = "i2c";
87        };
88      };
89    };
90