e4e91e597fcf3c82d2be3ea6fee5995cbe09053d
[openwrt/staging/blogic.git] /
1 From 9fbf8303796c89ecab026eb3dbadae7f98c49922 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
3 Date: Wed, 24 Mar 2021 09:19:15 +0100
4 Subject: [PATCH 14/22] dt-bindings: add BCM6368 pincontroller binding
5 documentation
6 MIME-Version: 1.0
7 Content-Type: text/plain; charset=UTF-8
8 Content-Transfer-Encoding: 8bit
9
10 Add binding documentation for the pincontrol core found in BCM6368 SoCs.
11
12 Co-developed-by: Jonas Gorski <jonas.gorski@gmail.com>
13 Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
14 Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
15 Reviewed-by: Rob Herring <robh@kernel.org>
16 Link: https://lore.kernel.org/r/20210324081923.20379-15-noltari@gmail.com
17 Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
18 ---
19 .../pinctrl/brcm,bcm6368-pinctrl.yaml | 217 ++++++++++++++++++
20 1 file changed, 217 insertions(+)
21 create mode 100644 Documentation/devicetree/bindings/pinctrl/brcm,bcm6368-pinctrl.yaml
22
23 --- /dev/null
24 +++ b/Documentation/devicetree/bindings/pinctrl/brcm,bcm6368-pinctrl.yaml
25 @@ -0,0 +1,217 @@
26 +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
27 +%YAML 1.2
28 +---
29 +$id: http://devicetree.org/schemas/pinctrl/brcm,bcm6368-pinctrl.yaml#
30 +$schema: http://devicetree.org/meta-schemas/core.yaml#
31 +
32 +title: Broadcom BCM6368 pin controller
33 +
34 +maintainers:
35 + - Álvaro Fernández Rojas <noltari@gmail.com>
36 + - Jonas Gorski <jonas.gorski@gmail.com>
37 +
38 +description:
39 + Bindings for Broadcom's BCM6368 memory-mapped pin controller.
40 +
41 +properties:
42 + compatible:
43 + const: brcm,bcm6368-pinctrl
44 +
45 + reg:
46 + maxItems: 2
47 +
48 +patternProperties:
49 + '-pins$':
50 + type: object
51 + $ref: pinmux-node.yaml#
52 +
53 + properties:
54 + function:
55 + enum: [ analog_afe_0, analog_afe_1, sys_irq, serial_led_data,
56 + serial_led_clk, inet_led, ephy0_led, ephy1_led, ephy2_led,
57 + ephy3_led, robosw_led_data, robosw_led_clk, robosw_led0,
58 + robosw_led1, usb_device_led, pci_req1, pci_gnt1, pci_intb,
59 + pci_req0, pci_gnt0, pcmcia_cd1, pcmcia_cd2, pcmcia_vs1,
60 + pcmcia_vs2, ebi_cs2, ebi_cs3, spi_cs2, spi_cs3, spi_cs4,
61 + spi_cs5, uart1 ]
62 +
63 + pins:
64 + enum: [ gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6, gpio7,
65 + gpio8, gpio9, gpio10, gpio11, gpio12, gpio13, gpio14,
66 + gpio16, gpio17, gpio18, gpio19, gpio20, gpio22, gpio23,
67 + gpio24, gpio25, gpio26, gpio27, gpio28, gpio29, gpio30,
68 + gpio31, uart1_grp ]
69 +
70 +required:
71 + - compatible
72 + - reg
73 +
74 +additionalProperties: false
75 +
76 +examples:
77 + - |
78 + pinctrl@18 {
79 + compatible = "brcm,bcm6368-pinctrl";
80 + reg = <0x18 0x4>, <0x38 0x4>;
81 +
82 + pinctrl_analog_afe_0: analog_afe_0-pins {
83 + function = "analog_afe_0";
84 + pins = "gpio0";
85 + };
86 +
87 + pinctrl_analog_afe_1: analog_afe_1-pins {
88 + function = "analog_afe_1";
89 + pins = "gpio1";
90 + };
91 +
92 + pinctrl_sys_irq: sys_irq-pins {
93 + function = "sys_irq";
94 + pins = "gpio2";
95 + };
96 +
97 + pinctrl_serial_led: serial_led-pins {
98 + pinctrl_serial_led_data: serial_led_data-pins {
99 + function = "serial_led_data";
100 + pins = "gpio3";
101 + };
102 +
103 + pinctrl_serial_led_clk: serial_led_clk-pins {
104 + function = "serial_led_clk";
105 + pins = "gpio4";
106 + };
107 + };
108 +
109 + pinctrl_inet_led: inet_led-pins {
110 + function = "inet_led";
111 + pins = "gpio5";
112 + };
113 +
114 + pinctrl_ephy0_led: ephy0_led-pins {
115 + function = "ephy0_led";
116 + pins = "gpio6";
117 + };
118 +
119 + pinctrl_ephy1_led: ephy1_led-pins {
120 + function = "ephy1_led";
121 + pins = "gpio7";
122 + };
123 +
124 + pinctrl_ephy2_led: ephy2_led-pins {
125 + function = "ephy2_led";
126 + pins = "gpio8";
127 + };
128 +
129 + pinctrl_ephy3_led: ephy3_led-pins {
130 + function = "ephy3_led";
131 + pins = "gpio9";
132 + };
133 +
134 + pinctrl_robosw_led_data: robosw_led_data-pins {
135 + function = "robosw_led_data";
136 + pins = "gpio10";
137 + };
138 +
139 + pinctrl_robosw_led_clk: robosw_led_clk-pins {
140 + function = "robosw_led_clk";
141 + pins = "gpio11";
142 + };
143 +
144 + pinctrl_robosw_led0: robosw_led0-pins {
145 + function = "robosw_led0";
146 + pins = "gpio12";
147 + };
148 +
149 + pinctrl_robosw_led1: robosw_led1-pins {
150 + function = "robosw_led1";
151 + pins = "gpio13";
152 + };
153 +
154 + pinctrl_usb_device_led: usb_device_led-pins {
155 + function = "usb_device_led";
156 + pins = "gpio14";
157 + };
158 +
159 + pinctrl_pci: pci-pins {
160 + pinctrl_pci_req1: pci_req1-pins {
161 + function = "pci_req1";
162 + pins = "gpio16";
163 + };
164 +
165 + pinctrl_pci_gnt1: pci_gnt1-pins {
166 + function = "pci_gnt1";
167 + pins = "gpio17";
168 + };
169 +
170 + pinctrl_pci_intb: pci_intb-pins {
171 + function = "pci_intb";
172 + pins = "gpio18";
173 + };
174 +
175 + pinctrl_pci_req0: pci_req0-pins {
176 + function = "pci_req0";
177 + pins = "gpio19";
178 + };
179 +
180 + pinctrl_pci_gnt0: pci_gnt0-pins {
181 + function = "pci_gnt0";
182 + pins = "gpio20";
183 + };
184 + };
185 +
186 + pinctrl_pcmcia: pcmcia-pins {
187 + pinctrl_pcmcia_cd1: pcmcia_cd1-pins {
188 + function = "pcmcia_cd1";
189 + pins = "gpio22";
190 + };
191 +
192 + pinctrl_pcmcia_cd2: pcmcia_cd2-pins {
193 + function = "pcmcia_cd2";
194 + pins = "gpio23";
195 + };
196 +
197 + pinctrl_pcmcia_vs1: pcmcia_vs1-pins {
198 + function = "pcmcia_vs1";
199 + pins = "gpio24";
200 + };
201 +
202 + pinctrl_pcmcia_vs2: pcmcia_vs2-pins {
203 + function = "pcmcia_vs2";
204 + pins = "gpio25";
205 + };
206 + };
207 +
208 + pinctrl_ebi_cs2: ebi_cs2-pins {
209 + function = "ebi_cs2";
210 + pins = "gpio26";
211 + };
212 +
213 + pinctrl_ebi_cs3: ebi_cs3-pins {
214 + function = "ebi_cs3";
215 + pins = "gpio27";
216 + };
217 +
218 + pinctrl_spi_cs2: spi_cs2-pins {
219 + function = "spi_cs2";
220 + pins = "gpio28";
221 + };
222 +
223 + pinctrl_spi_cs3: spi_cs3-pins {
224 + function = "spi_cs3";
225 + pins = "gpio29";
226 + };
227 +
228 + pinctrl_spi_cs4: spi_cs4-pins {
229 + function = "spi_cs4";
230 + pins = "gpio30";
231 + };
232 +
233 + pinctrl_spi_cs5: spi_cs5-pins {
234 + function = "spi_cs5";
235 + pins = "gpio31";
236 + };
237 +
238 + pinctrl_uart1: uart1-pins {
239 + function = "uart1";
240 + group = "uart1_grp";
241 + };
242 + };