xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/ralink,rt2880-pinctrl.yaml (revision fac71e4e09885bb2afa3d984a0c239a52e1a7418)
1d5b0e70fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2d5b0e70fSEmmanuel Vadot%YAML 1.2
3d5b0e70fSEmmanuel Vadot---
4d5b0e70fSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/ralink,rt2880-pinctrl.yaml#
5d5b0e70fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6d5b0e70fSEmmanuel Vadot
7d5b0e70fSEmmanuel Vadottitle: Ralink RT2880 Pin Controller
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadotmaintainers:
10d5b0e70fSEmmanuel Vadot  - Arınç ÜNAL <arinc.unal@arinc9.com>
11d5b0e70fSEmmanuel Vadot  - Sergio Paracuellos <sergio.paracuellos@gmail.com>
12d5b0e70fSEmmanuel Vadot
13*fac71e4eSEmmanuel Vadotdescription: |
14d5b0e70fSEmmanuel Vadot  Ralink RT2880 pin controller for RT2880 SoC.
15d5b0e70fSEmmanuel Vadot  The pin controller can only set the muxing of pin groups. Muxing individual
16d5b0e70fSEmmanuel Vadot  pins is not supported. There is no pinconf support.
17d5b0e70fSEmmanuel Vadot
18d5b0e70fSEmmanuel Vadotproperties:
19d5b0e70fSEmmanuel Vadot  compatible:
20d5b0e70fSEmmanuel Vadot    const: ralink,rt2880-pinctrl
21d5b0e70fSEmmanuel Vadot
22d5b0e70fSEmmanuel VadotpatternProperties:
23d5b0e70fSEmmanuel Vadot  '-pins$':
24d5b0e70fSEmmanuel Vadot    type: object
25*fac71e4eSEmmanuel Vadot    additionalProperties: false
26*fac71e4eSEmmanuel Vadot
27d5b0e70fSEmmanuel Vadot    patternProperties:
28d5b0e70fSEmmanuel Vadot      '^(.*-)?pinmux$':
29d5b0e70fSEmmanuel Vadot        type: object
30d5b0e70fSEmmanuel Vadot        description: node for pinctrl.
31d5b0e70fSEmmanuel Vadot        $ref: pinmux-node.yaml#
32*fac71e4eSEmmanuel Vadot        additionalProperties: false
33d5b0e70fSEmmanuel Vadot
34d5b0e70fSEmmanuel Vadot        properties:
35d5b0e70fSEmmanuel Vadot          function:
36cb7aa33aSEmmanuel Vadot            description:
37cb7aa33aSEmmanuel Vadot              A string containing the name of the function to mux to the group.
38d5b0e70fSEmmanuel Vadot            enum: [gpio, i2c, spi, uartlite, jtag, mdio, sdram, pci]
39d5b0e70fSEmmanuel Vadot
40cb7aa33aSEmmanuel Vadot          groups:
41cb7aa33aSEmmanuel Vadot            description:
42cb7aa33aSEmmanuel Vadot              An array of strings. Each string contains the name of a group.
43cb7aa33aSEmmanuel Vadot            maxItems: 1
44cb7aa33aSEmmanuel Vadot
45d5b0e70fSEmmanuel Vadot        required:
46d5b0e70fSEmmanuel Vadot          - groups
47d5b0e70fSEmmanuel Vadot          - function
48d5b0e70fSEmmanuel Vadot
49cb7aa33aSEmmanuel Vadot        allOf:
50cb7aa33aSEmmanuel Vadot          - if:
51cb7aa33aSEmmanuel Vadot              properties:
52cb7aa33aSEmmanuel Vadot                function:
53cb7aa33aSEmmanuel Vadot                  const: gpio
54cb7aa33aSEmmanuel Vadot            then:
55cb7aa33aSEmmanuel Vadot              properties:
56cb7aa33aSEmmanuel Vadot                groups:
57cb7aa33aSEmmanuel Vadot                  enum: [i2c, spi, uartlite, jtag, mdio, sdram, pci]
58cb7aa33aSEmmanuel Vadot
59cb7aa33aSEmmanuel Vadot          - if:
60cb7aa33aSEmmanuel Vadot              properties:
61cb7aa33aSEmmanuel Vadot                function:
62cb7aa33aSEmmanuel Vadot                  const: i2c
63cb7aa33aSEmmanuel Vadot            then:
64cb7aa33aSEmmanuel Vadot              properties:
65cb7aa33aSEmmanuel Vadot                groups:
66cb7aa33aSEmmanuel Vadot                  enum: [i2c]
67cb7aa33aSEmmanuel Vadot
68cb7aa33aSEmmanuel Vadot          - if:
69cb7aa33aSEmmanuel Vadot              properties:
70cb7aa33aSEmmanuel Vadot                function:
71cb7aa33aSEmmanuel Vadot                  const: spi
72cb7aa33aSEmmanuel Vadot            then:
73cb7aa33aSEmmanuel Vadot              properties:
74cb7aa33aSEmmanuel Vadot                groups:
75cb7aa33aSEmmanuel Vadot                  enum: [spi]
76cb7aa33aSEmmanuel Vadot
77cb7aa33aSEmmanuel Vadot          - if:
78cb7aa33aSEmmanuel Vadot              properties:
79cb7aa33aSEmmanuel Vadot                function:
80cb7aa33aSEmmanuel Vadot                  const: uartlite
81cb7aa33aSEmmanuel Vadot            then:
82cb7aa33aSEmmanuel Vadot              properties:
83cb7aa33aSEmmanuel Vadot                groups:
84cb7aa33aSEmmanuel Vadot                  enum: [uartlite]
85cb7aa33aSEmmanuel Vadot
86cb7aa33aSEmmanuel Vadot          - if:
87cb7aa33aSEmmanuel Vadot              properties:
88cb7aa33aSEmmanuel Vadot                function:
89cb7aa33aSEmmanuel Vadot                  const: jtag
90cb7aa33aSEmmanuel Vadot            then:
91cb7aa33aSEmmanuel Vadot              properties:
92cb7aa33aSEmmanuel Vadot                groups:
93cb7aa33aSEmmanuel Vadot                  enum: [jtag]
94cb7aa33aSEmmanuel Vadot
95cb7aa33aSEmmanuel Vadot          - if:
96cb7aa33aSEmmanuel Vadot              properties:
97cb7aa33aSEmmanuel Vadot                function:
98cb7aa33aSEmmanuel Vadot                  const: mdio
99cb7aa33aSEmmanuel Vadot            then:
100cb7aa33aSEmmanuel Vadot              properties:
101cb7aa33aSEmmanuel Vadot                groups:
102cb7aa33aSEmmanuel Vadot                  enum: [mdio]
103cb7aa33aSEmmanuel Vadot
104cb7aa33aSEmmanuel Vadot          - if:
105cb7aa33aSEmmanuel Vadot              properties:
106cb7aa33aSEmmanuel Vadot                function:
107cb7aa33aSEmmanuel Vadot                  const: sdram
108cb7aa33aSEmmanuel Vadot            then:
109cb7aa33aSEmmanuel Vadot              properties:
110cb7aa33aSEmmanuel Vadot                groups:
111cb7aa33aSEmmanuel Vadot                  enum: [sdram]
112cb7aa33aSEmmanuel Vadot
113cb7aa33aSEmmanuel Vadot          - if:
114cb7aa33aSEmmanuel Vadot              properties:
115cb7aa33aSEmmanuel Vadot                function:
116cb7aa33aSEmmanuel Vadot                  const: pci
117cb7aa33aSEmmanuel Vadot            then:
118cb7aa33aSEmmanuel Vadot              properties:
119cb7aa33aSEmmanuel Vadot                groups:
120cb7aa33aSEmmanuel Vadot                  enum: [pci]
121cb7aa33aSEmmanuel Vadot
122d5b0e70fSEmmanuel VadotallOf:
123*fac71e4eSEmmanuel Vadot  - $ref: pinctrl.yaml#
124d5b0e70fSEmmanuel Vadot
125d5b0e70fSEmmanuel Vadotrequired:
126d5b0e70fSEmmanuel Vadot  - compatible
127d5b0e70fSEmmanuel Vadot
128d5b0e70fSEmmanuel VadotadditionalProperties: false
129d5b0e70fSEmmanuel Vadot
130d5b0e70fSEmmanuel Vadotexamples:
131d5b0e70fSEmmanuel Vadot  - |
132d5b0e70fSEmmanuel Vadot    pinctrl {
133d5b0e70fSEmmanuel Vadot      compatible = "ralink,rt2880-pinctrl";
134d5b0e70fSEmmanuel Vadot
135d5b0e70fSEmmanuel Vadot      i2c_pins: i2c0-pins {
136d5b0e70fSEmmanuel Vadot        pinmux {
137d5b0e70fSEmmanuel Vadot          groups = "i2c";
138d5b0e70fSEmmanuel Vadot          function = "i2c";
139d5b0e70fSEmmanuel Vadot        };
140d5b0e70fSEmmanuel Vadot      };
141d5b0e70fSEmmanuel Vadot    };
142