summaryrefslogtreecommitdiffstats
path: root/dts/Bindings/pinctrl/ralink,rt305x-pinctrl.yaml
blob: 425401c542696b4929ce2e31aa6d071ecf2dcf08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/pinctrl/ralink,rt305x-pinctrl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Ralink RT305X Pin Controller

maintainers:
  - Arınç ÜNAL <arinc.unal@arinc9.com>
  - Sergio Paracuellos <sergio.paracuellos@gmail.com>

description:
  Ralink RT305X pin controller for RT3050, RT3052, RT3350, RT3352 and RT5350
  SoCs.
  The pin controller can only set the muxing of pin groups. Muxing individual
  pins is not supported. There is no pinconf support.

properties:
  compatible:
    const: ralink,rt305x-pinctrl

patternProperties:
  '-pins$':
    type: object
    patternProperties:
      '^(.*-)?pinmux$':
        type: object
        description: node for pinctrl.
        $ref: pinmux-node.yaml#

        properties:
          groups:
            description: The pin group to select.
            enum: [
              # For RT3050, RT3052 and RT3350 SoCs
              i2c, jtag, mdio, rgmii, sdram, spi, uartf, uartlite,

              # For RT3352 SoC
              i2c, jtag, led, lna, mdio, pa, rgmii, spi, spi_cs1, uartf,
              uartlite,

              # For RT5350 SoC
              i2c, jtag, led, spi, spi_cs1, uartf, uartlite,
            ]

          function:
            description: The mux function to select.
            enum: [
              # For RT3050, RT3052 and RT3350 SoCs
              gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, mdio, pcm gpio,
              pcm i2s, pcm uartf, rgmii, sdram, spi, uartf, uartlite,

              # For RT3352 SoC
              gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led, lna, mdio,
              pa, pcm gpio, pcm i2s, pcm uartf, rgmii, spi, spi_cs1, uartf,
              uartlite, wdg_cs1,

              # For RT5350 SoC
              gpio, gpio i2s, gpio uartf, i2c, i2s uartf, jtag, led, pcm gpio,
              pcm i2s, pcm uartf, spi, spi_cs1, uartf, uartlite, wdg_cs1,
            ]

        required:
          - groups
          - function

        additionalProperties: false

    additionalProperties: false

allOf:
  - $ref: "pinctrl.yaml#"

required:
  - compatible

additionalProperties: false

examples:
  # Pinmux controller node
  - |
    pinctrl {
      compatible = "ralink,rt305x-pinctrl";

      i2c_pins: i2c0-pins {
        pinmux {
          groups = "i2c";
          function = "i2c";
        };
      };
    };