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,mt7620-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Ralink MT7620 Pin Controller
8
9maintainers:
10  - Arınç ÜNAL <arinc.unal@arinc9.com>
11  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12
13description:
14  Ralink MT7620 pin controller for MT7620, MT7628 and MT7688 SoCs.
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,mt7620-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: [
35              # common
36              i2c, spi, wdt,
37
38              # For MT7620 SoC
39              ephy, mdio, nd_sd, pa, pcie, rgmii1, rgmii2, spi refclk,
40              uartf, uartlite, wled,
41
42              # For MT7628 and MT7688 SoCs
43              gpio, i2s, p0led_an, p0led_kn, p1led_an, p1led_kn, p2led_an,
44              p2led_kn, p3led_an, p3led_kn, p4led_an, p4led_kn, perst, pwm0,
45              pwm1, refclk, sdmode, spi cs1, spis, uart0, uart1, uart2,
46              wled_an, wled_kn,
47            ]
48
49          function:
50            description: The mux function to select.
51            enum: [
52              # common
53              gpio, i2c, refclk, spi,
54
55              # For MT7620 SoC
56              ephy, gpio i2s, gpio uartf, i2s uartf, mdio, nand, pa,
57              pcie refclk, pcie rst, pcm gpio, pcm i2s, pcm uartf,
58              rgmii1, rgmii2, sd, spi refclk, uartf, uartlite, wdt refclk,
59              wdt rst, wled,
60
61              # For MT7628 and MT7688 SoCs
62              antenna, debug, i2s, jtag, p0led_an, p0led_kn,
63              p1led_an, p1led_kn, p2led_an, p2led_kn, p3led_an, p3led_kn,
64              p4led_an, p4led_kn, pcie, pcm, perst, pwm, pwm0, pwm1, pwm_uart2,
65              rsvd, sdxc, sdxc d5 d4, sdxc d6, sdxc d7, spi cs1,
66              spis, sw_r, uart0, uart1, uart2, utif, wdt, wled_an, wled_kn, -,
67            ]
68
69        required:
70          - groups
71          - function
72
73        additionalProperties: false
74
75    additionalProperties: false
76
77allOf:
78  - $ref: "pinctrl.yaml#"
79
80required:
81  - compatible
82
83additionalProperties: false
84
85examples:
86  # Pinmux controller node
87  - |
88    pinctrl {
89      compatible = "ralink,mt7620-pinctrl";
90
91      i2c_pins: i2c0-pins {
92        pinmux {
93          groups = "i2c";
94          function = "i2c";
95        };
96      };
97    };
98