blob: 422dad1ddd27825a69f04cf7a966c1e1774a8d16 [file] [log] [blame]
Patrick Delaunay50599142018-07-09 15:17:19 +02001// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
2/*
3 * Copyright (C) STMicroelectronics 2017 - All Rights Reserved
4 * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics.
5 */
6#include <dt-bindings/pinctrl/stm32-pinfunc.h>
7
8/ {
9 soc {
10 pinctrl: pin-controller@50002000 {
11 #address-cells = <1>;
12 #size-cells = <1>;
13 compatible = "st,stm32mp157-pinctrl";
14 ranges = <0 0x50002000 0xa400>;
15 interrupt-parent = <&exti>;
16 st,syscfg = <&exti 0x60 0xff>;
Patrick Delaunaya3705302019-07-11 11:15:28 +020017 hwlocks = <&hwspinlock 0>;
Patrick Delaunay50599142018-07-09 15:17:19 +020018 pins-are-numbered;
19
20 gpioa: gpio@50002000 {
21 gpio-controller;
22 #gpio-cells = <2>;
23 interrupt-controller;
24 #interrupt-cells = <2>;
25 reg = <0x0 0x400>;
26 clocks = <&rcc GPIOA>;
27 st,bank-name = "GPIOA";
Patrick Delaunay708cae72019-07-30 19:16:12 +020028 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +020029 };
30
31 gpiob: gpio@50003000 {
32 gpio-controller;
33 #gpio-cells = <2>;
34 interrupt-controller;
35 #interrupt-cells = <2>;
36 reg = <0x1000 0x400>;
37 clocks = <&rcc GPIOB>;
38 st,bank-name = "GPIOB";
Patrick Delaunay708cae72019-07-30 19:16:12 +020039 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +020040 };
41
42 gpioc: gpio@50004000 {
43 gpio-controller;
44 #gpio-cells = <2>;
45 interrupt-controller;
46 #interrupt-cells = <2>;
47 reg = <0x2000 0x400>;
48 clocks = <&rcc GPIOC>;
49 st,bank-name = "GPIOC";
Patrick Delaunay708cae72019-07-30 19:16:12 +020050 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +020051 };
52
53 gpiod: gpio@50005000 {
54 gpio-controller;
55 #gpio-cells = <2>;
56 interrupt-controller;
57 #interrupt-cells = <2>;
58 reg = <0x3000 0x400>;
59 clocks = <&rcc GPIOD>;
60 st,bank-name = "GPIOD";
Patrick Delaunay708cae72019-07-30 19:16:12 +020061 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +020062 };
63
64 gpioe: gpio@50006000 {
65 gpio-controller;
66 #gpio-cells = <2>;
67 interrupt-controller;
68 #interrupt-cells = <2>;
69 reg = <0x4000 0x400>;
70 clocks = <&rcc GPIOE>;
71 st,bank-name = "GPIOE";
Patrick Delaunay708cae72019-07-30 19:16:12 +020072 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +020073 };
74
75 gpiof: gpio@50007000 {
76 gpio-controller;
77 #gpio-cells = <2>;
78 interrupt-controller;
79 #interrupt-cells = <2>;
80 reg = <0x5000 0x400>;
81 clocks = <&rcc GPIOF>;
82 st,bank-name = "GPIOF";
Patrick Delaunay708cae72019-07-30 19:16:12 +020083 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +020084 };
85
86 gpiog: gpio@50008000 {
87 gpio-controller;
88 #gpio-cells = <2>;
89 interrupt-controller;
90 #interrupt-cells = <2>;
91 reg = <0x6000 0x400>;
92 clocks = <&rcc GPIOG>;
93 st,bank-name = "GPIOG";
Patrick Delaunay708cae72019-07-30 19:16:12 +020094 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +020095 };
96
97 gpioh: gpio@50009000 {
98 gpio-controller;
99 #gpio-cells = <2>;
100 interrupt-controller;
101 #interrupt-cells = <2>;
102 reg = <0x7000 0x400>;
103 clocks = <&rcc GPIOH>;
104 st,bank-name = "GPIOH";
Patrick Delaunay708cae72019-07-30 19:16:12 +0200105 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +0200106 };
107
108 gpioi: gpio@5000a000 {
109 gpio-controller;
110 #gpio-cells = <2>;
111 interrupt-controller;
112 #interrupt-cells = <2>;
113 reg = <0x8000 0x400>;
114 clocks = <&rcc GPIOI>;
115 st,bank-name = "GPIOI";
Patrick Delaunay708cae72019-07-30 19:16:12 +0200116 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +0200117 };
118
119 gpioj: gpio@5000b000 {
120 gpio-controller;
121 #gpio-cells = <2>;
122 interrupt-controller;
123 #interrupt-cells = <2>;
124 reg = <0x9000 0x400>;
125 clocks = <&rcc GPIOJ>;
126 st,bank-name = "GPIOJ";
Patrick Delaunay708cae72019-07-30 19:16:12 +0200127 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +0200128 };
129
130 gpiok: gpio@5000c000 {
131 gpio-controller;
132 #gpio-cells = <2>;
133 interrupt-controller;
134 #interrupt-cells = <2>;
135 reg = <0xa000 0x400>;
136 clocks = <&rcc GPIOK>;
137 st,bank-name = "GPIOK";
Patrick Delaunay708cae72019-07-30 19:16:12 +0200138 status = "disabled";
Patrick Delaunay50599142018-07-09 15:17:19 +0200139 };
140
Patrick Delaunayb9c16b72020-01-28 10:11:00 +0100141 adc12_ain_pins_a: adc12-ain-0 {
142 pins {
143 pinmux = <STM32_PINMUX('C', 3, ANALOG)>, /* ADC1 in13 */
144 <STM32_PINMUX('F', 12, ANALOG)>, /* ADC1 in6 */
145 <STM32_PINMUX('F', 13, ANALOG)>, /* ADC2 in2 */
146 <STM32_PINMUX('F', 14, ANALOG)>; /* ADC2 in6 */
147 };
148 };
149
150 adc12_usb_cc_pins_a: adc12-usb-cc-pins-0 {
Patrice Chotarde861c202019-02-12 16:50:41 +0100151 pins {
152 pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* ADC12 in18 */
153 <STM32_PINMUX('A', 5, ANALOG)>; /* ADC12 in19 */
154 };
155 };
156
Patrick Delaunay50599142018-07-09 15:17:19 +0200157 cec_pins_a: cec-0 {
158 pins {
159 pinmux = <STM32_PINMUX('A', 15, AF4)>;
160 bias-disable;
161 drive-open-drain;
162 slew-rate = <0>;
163 };
164 };
165
Patrick Delaunaya3705302019-07-11 11:15:28 +0200166 cec_pins_sleep_a: cec-sleep-0 {
167 pins {
168 pinmux = <STM32_PINMUX('A', 15, ANALOG)>; /* HDMI_CEC */
169 };
170 };
171
172 cec_pins_b: cec-1 {
173 pins {
174 pinmux = <STM32_PINMUX('B', 6, AF5)>;
175 bias-disable;
176 drive-open-drain;
177 slew-rate = <0>;
178 };
179 };
180
181 cec_pins_sleep_b: cec-sleep-1 {
182 pins {
183 pinmux = <STM32_PINMUX('B', 6, ANALOG)>; /* HDMI_CEC */
184 };
185 };
186
Patrick Delaunayb9c16b72020-01-28 10:11:00 +0100187 dac_ch1_pins_a: dac-ch1 {
188 pins {
189 pinmux = <STM32_PINMUX('A', 4, ANALOG)>;
190 };
191 };
192
193 dac_ch2_pins_a: dac-ch2 {
194 pins {
195 pinmux = <STM32_PINMUX('A', 5, ANALOG)>;
196 };
197 };
198
Patrick Delaunay708cae72019-07-30 19:16:12 +0200199 dcmi_pins_a: dcmi-0 {
200 pins {
201 pinmux = <STM32_PINMUX('H', 8, AF13)>,/* DCMI_HSYNC */
202 <STM32_PINMUX('B', 7, AF13)>,/* DCMI_VSYNC */
203 <STM32_PINMUX('A', 6, AF13)>,/* DCMI_PIXCLK */
204 <STM32_PINMUX('H', 9, AF13)>,/* DCMI_D0 */
205 <STM32_PINMUX('H', 10, AF13)>,/* DCMI_D1 */
206 <STM32_PINMUX('H', 11, AF13)>,/* DCMI_D2 */
207 <STM32_PINMUX('H', 12, AF13)>,/* DCMI_D3 */
208 <STM32_PINMUX('H', 14, AF13)>,/* DCMI_D4 */
209 <STM32_PINMUX('I', 4, AF13)>,/* DCMI_D5 */
210 <STM32_PINMUX('B', 8, AF13)>,/* DCMI_D6 */
211 <STM32_PINMUX('E', 6, AF13)>,/* DCMI_D7 */
212 <STM32_PINMUX('I', 1, AF13)>,/* DCMI_D8 */
213 <STM32_PINMUX('H', 7, AF13)>,/* DCMI_D9 */
214 <STM32_PINMUX('I', 3, AF13)>,/* DCMI_D10 */
215 <STM32_PINMUX('H', 15, AF13)>;/* DCMI_D11 */
216 bias-disable;
217 };
218 };
219
220 dcmi_sleep_pins_a: dcmi-sleep-0 {
221 pins {
222 pinmux = <STM32_PINMUX('H', 8, ANALOG)>,/* DCMI_HSYNC */
223 <STM32_PINMUX('B', 7, ANALOG)>,/* DCMI_VSYNC */
224 <STM32_PINMUX('A', 6, ANALOG)>,/* DCMI_PIXCLK */
225 <STM32_PINMUX('H', 9, ANALOG)>,/* DCMI_D0 */
226 <STM32_PINMUX('H', 10, ANALOG)>,/* DCMI_D1 */
227 <STM32_PINMUX('H', 11, ANALOG)>,/* DCMI_D2 */
228 <STM32_PINMUX('H', 12, ANALOG)>,/* DCMI_D3 */
229 <STM32_PINMUX('H', 14, ANALOG)>,/* DCMI_D4 */
230 <STM32_PINMUX('I', 4, ANALOG)>,/* DCMI_D5 */
231 <STM32_PINMUX('B', 8, ANALOG)>,/* DCMI_D6 */
232 <STM32_PINMUX('E', 6, ANALOG)>,/* DCMI_D7 */
233 <STM32_PINMUX('I', 1, ANALOG)>,/* DCMI_D8 */
234 <STM32_PINMUX('H', 7, ANALOG)>,/* DCMI_D9 */
235 <STM32_PINMUX('I', 3, ANALOG)>,/* DCMI_D10 */
236 <STM32_PINMUX('H', 15, ANALOG)>;/* DCMI_D11 */
237 };
238 };
239
Patrice Chotard00442d02019-02-12 16:50:38 +0100240 ethernet0_rgmii_pins_a: rgmii-0 {
241 pins1 {
242 pinmux = <STM32_PINMUX('G', 5, AF11)>, /* ETH_RGMII_CLK125 */
243 <STM32_PINMUX('G', 4, AF11)>, /* ETH_RGMII_GTX_CLK */
244 <STM32_PINMUX('G', 13, AF11)>, /* ETH_RGMII_TXD0 */
245 <STM32_PINMUX('G', 14, AF11)>, /* ETH_RGMII_TXD1 */
246 <STM32_PINMUX('C', 2, AF11)>, /* ETH_RGMII_TXD2 */
247 <STM32_PINMUX('E', 2, AF11)>, /* ETH_RGMII_TXD3 */
248 <STM32_PINMUX('B', 11, AF11)>, /* ETH_RGMII_TX_CTL */
Patrice Chotard00442d02019-02-12 16:50:38 +0100249 <STM32_PINMUX('C', 1, AF11)>; /* ETH_MDC */
250 bias-disable;
251 drive-push-pull;
Christophe Roullier32ac3052019-05-17 15:08:45 +0200252 slew-rate = <2>;
Patrice Chotard00442d02019-02-12 16:50:38 +0100253 };
254 pins2 {
Christophe Roullier32ac3052019-05-17 15:08:45 +0200255 pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH_MDIO */
256 bias-disable;
257 drive-push-pull;
258 slew-rate = <0>;
259 };
260 pins3 {
Patrice Chotard00442d02019-02-12 16:50:38 +0100261 pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH_RGMII_RXD0 */
262 <STM32_PINMUX('C', 5, AF11)>, /* ETH_RGMII_RXD1 */
263 <STM32_PINMUX('B', 0, AF11)>, /* ETH_RGMII_RXD2 */
264 <STM32_PINMUX('B', 1, AF11)>, /* ETH_RGMII_RXD3 */
265 <STM32_PINMUX('A', 1, AF11)>, /* ETH_RGMII_RX_CLK */
266 <STM32_PINMUX('A', 7, AF11)>; /* ETH_RGMII_RX_CTL */
267 bias-disable;
268 };
269 };
270
271 ethernet0_rgmii_pins_sleep_a: rgmii-sleep-0 {
272 pins1 {
273 pinmux = <STM32_PINMUX('G', 5, ANALOG)>, /* ETH_RGMII_CLK125 */
274 <STM32_PINMUX('G', 4, ANALOG)>, /* ETH_RGMII_GTX_CLK */
275 <STM32_PINMUX('G', 13, ANALOG)>, /* ETH_RGMII_TXD0 */
276 <STM32_PINMUX('G', 14, ANALOG)>, /* ETH_RGMII_TXD1 */
277 <STM32_PINMUX('C', 2, ANALOG)>, /* ETH_RGMII_TXD2 */
278 <STM32_PINMUX('E', 2, ANALOG)>, /* ETH_RGMII_TXD3 */
279 <STM32_PINMUX('B', 11, ANALOG)>, /* ETH_RGMII_TX_CTL */
280 <STM32_PINMUX('A', 2, ANALOG)>, /* ETH_MDIO */
281 <STM32_PINMUX('C', 1, ANALOG)>, /* ETH_MDC */
282 <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_RXD0 */
283 <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_RGMII_RXD1 */
284 <STM32_PINMUX('B', 0, ANALOG)>, /* ETH_RGMII_RXD2 */
285 <STM32_PINMUX('B', 1, ANALOG)>, /* ETH_RGMII_RXD3 */
286 <STM32_PINMUX('A', 1, ANALOG)>, /* ETH_RGMII_RX_CLK */
287 <STM32_PINMUX('A', 7, ANALOG)>; /* ETH_RGMII_RX_CTL */
288 };
289 };
290
Marek Vasutea97ea42020-03-31 19:51:31 +0200291 ethernet0_rgmii_pins_b: rgmii-1 {
292 pins1 {
293 pinmux = <STM32_PINMUX('G', 5, AF11)>, /* ETH_RGMII_CLK125 */
294 <STM32_PINMUX('G', 4, AF11)>, /* ETH_RGMII_GTX_CLK */
295 <STM32_PINMUX('B', 12, AF11)>, /* ETH_RGMII_TXD0 */
296 <STM32_PINMUX('G', 14, AF11)>, /* ETH_RGMII_TXD1 */
297 <STM32_PINMUX('C', 2, AF11)>, /* ETH_RGMII_TXD2 */
298 <STM32_PINMUX('E', 2, AF11)>, /* ETH_RGMII_TXD3 */
299 <STM32_PINMUX('G', 11, AF11)>, /* ETH_RGMII_TX_CTL */
300 <STM32_PINMUX('C', 1, AF11)>; /* ETH_MDC */
301 bias-disable;
302 drive-push-pull;
303 slew-rate = <2>;
304 };
305 pins2 {
306 pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH_MDIO */
307 bias-disable;
308 drive-push-pull;
309 slew-rate = <0>;
310 };
311 pins3 {
312 pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH_RGMII_RXD0 */
313 <STM32_PINMUX('C', 5, AF11)>, /* ETH_RGMII_RXD1 */
314 <STM32_PINMUX('H', 6, AF11)>, /* ETH_RGMII_RXD2 */
315 <STM32_PINMUX('B', 1, AF11)>, /* ETH_RGMII_RXD3 */
316 <STM32_PINMUX('A', 1, AF11)>, /* ETH_RGMII_RX_CLK */
317 <STM32_PINMUX('A', 7, AF11)>; /* ETH_RGMII_RX_CTL */
318 bias-disable;
319 };
320 };
321
322 ethernet0_rgmii_pins_sleep_b: rgmii-sleep-1 {
323 pins1 {
324 pinmux = <STM32_PINMUX('G', 5, ANALOG)>, /* ETH_RGMII_CLK125 */
325 <STM32_PINMUX('G', 4, ANALOG)>, /* ETH_RGMII_GTX_CLK */
326 <STM32_PINMUX('B', 12, ANALOG)>, /* ETH_RGMII_TXD0 */
327 <STM32_PINMUX('G', 14, ANALOG)>, /* ETH_RGMII_TXD1 */
328 <STM32_PINMUX('C', 2, ANALOG)>, /* ETH_RGMII_TXD2 */
329 <STM32_PINMUX('E', 2, ANALOG)>, /* ETH_RGMII_TXD3 */
330 <STM32_PINMUX('G', 11, ANALOG)>, /* ETH_RGMII_TX_CTL */
331 <STM32_PINMUX('A', 2, ANALOG)>, /* ETH_MDIO */
332 <STM32_PINMUX('C', 1, ANALOG)>, /* ETH_MDC */
333 <STM32_PINMUX('C', 4, ANALOG)>, /* ETH_RGMII_RXD0 */
334 <STM32_PINMUX('C', 5, ANALOG)>, /* ETH_RGMII_RXD1 */
335 <STM32_PINMUX('H', 6, ANALOG)>, /* ETH_RGMII_RXD2 */
336 <STM32_PINMUX('B', 1, ANALOG)>, /* ETH_RGMII_RXD3 */
337 <STM32_PINMUX('A', 1, ANALOG)>, /* ETH_RGMII_RX_CLK */
338 <STM32_PINMUX('A', 7, ANALOG)>; /* ETH_RGMII_RX_CTL */
339 };
340 };
341
Patrick Delaunaye0188ac2019-04-08 15:30:52 +0200342 fmc_pins_a: fmc-0 {
343 pins1 {
344 pinmux = <STM32_PINMUX('D', 4, AF12)>, /* FMC_NOE */
345 <STM32_PINMUX('D', 5, AF12)>, /* FMC_NWE */
346 <STM32_PINMUX('D', 11, AF12)>, /* FMC_A16_FMC_CLE */
347 <STM32_PINMUX('D', 12, AF12)>, /* FMC_A17_FMC_ALE */
348 <STM32_PINMUX('D', 14, AF12)>, /* FMC_D0 */
349 <STM32_PINMUX('D', 15, AF12)>, /* FMC_D1 */
350 <STM32_PINMUX('D', 0, AF12)>, /* FMC_D2 */
351 <STM32_PINMUX('D', 1, AF12)>, /* FMC_D3 */
352 <STM32_PINMUX('E', 7, AF12)>, /* FMC_D4 */
353 <STM32_PINMUX('E', 8, AF12)>, /* FMC_D5 */
354 <STM32_PINMUX('E', 9, AF12)>, /* FMC_D6 */
355 <STM32_PINMUX('E', 10, AF12)>, /* FMC_D7 */
356 <STM32_PINMUX('G', 9, AF12)>; /* FMC_NE2_FMC_NCE */
357 bias-disable;
358 drive-push-pull;
359 slew-rate = <1>;
360 };
361 pins2 {
362 pinmux = <STM32_PINMUX('D', 6, AF12)>; /* FMC_NWAIT */
363 bias-pull-up;
364 };
365 };
366
367 fmc_sleep_pins_a: fmc-sleep-0 {
368 pins {
369 pinmux = <STM32_PINMUX('D', 4, ANALOG)>, /* FMC_NOE */
370 <STM32_PINMUX('D', 5, ANALOG)>, /* FMC_NWE */
371 <STM32_PINMUX('D', 11, ANALOG)>, /* FMC_A16_FMC_CLE */
372 <STM32_PINMUX('D', 12, ANALOG)>, /* FMC_A17_FMC_ALE */
373 <STM32_PINMUX('D', 14, ANALOG)>, /* FMC_D0 */
374 <STM32_PINMUX('D', 15, ANALOG)>, /* FMC_D1 */
375 <STM32_PINMUX('D', 0, ANALOG)>, /* FMC_D2 */
376 <STM32_PINMUX('D', 1, ANALOG)>, /* FMC_D3 */
377 <STM32_PINMUX('E', 7, ANALOG)>, /* FMC_D4 */
378 <STM32_PINMUX('E', 8, ANALOG)>, /* FMC_D5 */
379 <STM32_PINMUX('E', 9, ANALOG)>, /* FMC_D6 */
380 <STM32_PINMUX('E', 10, ANALOG)>, /* FMC_D7 */
381 <STM32_PINMUX('D', 6, ANALOG)>, /* FMC_NWAIT */
382 <STM32_PINMUX('G', 9, ANALOG)>; /* FMC_NE2_FMC_NCE */
383 };
384 };
385
Patrick Delaunay50599142018-07-09 15:17:19 +0200386 i2c1_pins_a: i2c1-0 {
387 pins {
388 pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
389 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
390 bias-disable;
391 drive-open-drain;
392 slew-rate = <0>;
393 };
394 };
395
Patrick Delaunaya3705302019-07-11 11:15:28 +0200396 i2c1_pins_sleep_a: i2c1-1 {
397 pins {
398 pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */
399 <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */
400 };
401 };
402
403 i2c1_pins_b: i2c1-2 {
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +0530404 pins {
405 pinmux = <STM32_PINMUX('F', 14, AF5)>, /* I2C1_SCL */
406 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
407 bias-disable;
408 drive-open-drain;
409 slew-rate = <0>;
410 };
411 };
412
Patrick Delaunay708cae72019-07-30 19:16:12 +0200413 i2c1_pins_sleep_b: i2c1-3 {
414 pins {
415 pinmux = <STM32_PINMUX('F', 14, ANALOG)>, /* I2C1_SCL */
416 <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */
417 };
418 };
419
Patrick Delaunay50599142018-07-09 15:17:19 +0200420 i2c2_pins_a: i2c2-0 {
421 pins {
422 pinmux = <STM32_PINMUX('H', 4, AF4)>, /* I2C2_SCL */
423 <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
424 bias-disable;
425 drive-open-drain;
426 slew-rate = <0>;
427 };
428 };
429
Patrick Delaunaya3705302019-07-11 11:15:28 +0200430 i2c2_pins_sleep_a: i2c2-1 {
431 pins {
432 pinmux = <STM32_PINMUX('H', 4, ANALOG)>, /* I2C2_SCL */
433 <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */
434 };
435 };
436
Patrick Delaunay708cae72019-07-30 19:16:12 +0200437 i2c2_pins_b1: i2c2-2 {
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +0530438 pins {
Patrick Delaunay708cae72019-07-30 19:16:12 +0200439 pinmux = <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +0530440 bias-disable;
441 drive-open-drain;
442 slew-rate = <0>;
443 };
444 };
445
Patrick Delaunay708cae72019-07-30 19:16:12 +0200446 i2c2_pins_sleep_b1: i2c2-3 {
447 pins {
448 pinmux = <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */
449 };
450 };
451
Patrick Delaunay50599142018-07-09 15:17:19 +0200452 i2c5_pins_a: i2c5-0 {
453 pins {
454 pinmux = <STM32_PINMUX('A', 11, AF4)>, /* I2C5_SCL */
455 <STM32_PINMUX('A', 12, AF4)>; /* I2C5_SDA */
456 bias-disable;
457 drive-open-drain;
458 slew-rate = <0>;
459 };
460 };
461
Patrick Delaunaya3705302019-07-11 11:15:28 +0200462 i2c5_pins_sleep_a: i2c5-1 {
463 pins {
464 pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* I2C5_SCL */
465 <STM32_PINMUX('A', 12, ANALOG)>; /* I2C5_SDA */
466
467 };
468 };
469
Patrick Delaunay708cae72019-07-30 19:16:12 +0200470 i2s2_pins_a: i2s2-0 {
471 pins {
472 pinmux = <STM32_PINMUX('I', 3, AF5)>, /* I2S2_SDO */
473 <STM32_PINMUX('B', 9, AF5)>, /* I2S2_WS */
474 <STM32_PINMUX('A', 9, AF5)>; /* I2S2_CK */
475 slew-rate = <1>;
476 drive-push-pull;
477 bias-disable;
478 };
479 };
480
481 i2s2_pins_sleep_a: i2s2-1 {
482 pins {
483 pinmux = <STM32_PINMUX('I', 3, ANALOG)>, /* I2S2_SDO */
484 <STM32_PINMUX('B', 9, ANALOG)>, /* I2S2_WS */
485 <STM32_PINMUX('A', 9, ANALOG)>; /* I2S2_CK */
486 };
487 };
488
Patrick Delaunaya3705302019-07-11 11:15:28 +0200489 ltdc_pins_a: ltdc-a-0 {
490 pins {
491 pinmux = <STM32_PINMUX('G', 7, AF14)>, /* LCD_CLK */
492 <STM32_PINMUX('I', 10, AF14)>, /* LCD_HSYNC */
493 <STM32_PINMUX('I', 9, AF14)>, /* LCD_VSYNC */
494 <STM32_PINMUX('F', 10, AF14)>, /* LCD_DE */
495 <STM32_PINMUX('H', 2, AF14)>, /* LCD_R0 */
496 <STM32_PINMUX('H', 3, AF14)>, /* LCD_R1 */
497 <STM32_PINMUX('H', 8, AF14)>, /* LCD_R2 */
498 <STM32_PINMUX('H', 9, AF14)>, /* LCD_R3 */
499 <STM32_PINMUX('H', 10, AF14)>, /* LCD_R4 */
500 <STM32_PINMUX('C', 0, AF14)>, /* LCD_R5 */
501 <STM32_PINMUX('H', 12, AF14)>, /* LCD_R6 */
502 <STM32_PINMUX('E', 15, AF14)>, /* LCD_R7 */
503 <STM32_PINMUX('E', 5, AF14)>, /* LCD_G0 */
504 <STM32_PINMUX('E', 6, AF14)>, /* LCD_G1 */
505 <STM32_PINMUX('H', 13, AF14)>, /* LCD_G2 */
506 <STM32_PINMUX('H', 14, AF14)>, /* LCD_G3 */
507 <STM32_PINMUX('H', 15, AF14)>, /* LCD_G4 */
508 <STM32_PINMUX('I', 0, AF14)>, /* LCD_G5 */
509 <STM32_PINMUX('I', 1, AF14)>, /* LCD_G6 */
510 <STM32_PINMUX('I', 2, AF14)>, /* LCD_G7 */
511 <STM32_PINMUX('D', 9, AF14)>, /* LCD_B0 */
512 <STM32_PINMUX('G', 12, AF14)>, /* LCD_B1 */
513 <STM32_PINMUX('G', 10, AF14)>, /* LCD_B2 */
514 <STM32_PINMUX('D', 10, AF14)>, /* LCD_B3 */
515 <STM32_PINMUX('I', 4, AF14)>, /* LCD_B4 */
516 <STM32_PINMUX('A', 3, AF14)>, /* LCD_B5 */
517 <STM32_PINMUX('B', 8, AF14)>, /* LCD_B6 */
518 <STM32_PINMUX('D', 8, AF14)>; /* LCD_B7 */
519 bias-disable;
520 drive-push-pull;
521 slew-rate = <1>;
522 };
523 };
524
525 ltdc_pins_sleep_a: ltdc-a-1 {
526 pins {
527 pinmux = <STM32_PINMUX('G', 7, ANALOG)>, /* LCD_CLK */
528 <STM32_PINMUX('I', 10, ANALOG)>, /* LCD_HSYNC */
529 <STM32_PINMUX('I', 9, ANALOG)>, /* LCD_VSYNC */
530 <STM32_PINMUX('F', 10, ANALOG)>, /* LCD_DE */
531 <STM32_PINMUX('H', 2, ANALOG)>, /* LCD_R0 */
532 <STM32_PINMUX('H', 3, ANALOG)>, /* LCD_R1 */
533 <STM32_PINMUX('H', 8, ANALOG)>, /* LCD_R2 */
534 <STM32_PINMUX('H', 9, ANALOG)>, /* LCD_R3 */
535 <STM32_PINMUX('H', 10, ANALOG)>, /* LCD_R4 */
536 <STM32_PINMUX('C', 0, ANALOG)>, /* LCD_R5 */
537 <STM32_PINMUX('H', 12, ANALOG)>, /* LCD_R6 */
538 <STM32_PINMUX('E', 15, ANALOG)>, /* LCD_R7 */
539 <STM32_PINMUX('E', 5, ANALOG)>, /* LCD_G0 */
540 <STM32_PINMUX('E', 6, ANALOG)>, /* LCD_G1 */
541 <STM32_PINMUX('H', 13, ANALOG)>, /* LCD_G2 */
542 <STM32_PINMUX('H', 14, ANALOG)>, /* LCD_G3 */
543 <STM32_PINMUX('H', 15, ANALOG)>, /* LCD_G4 */
544 <STM32_PINMUX('I', 0, ANALOG)>, /* LCD_G5 */
545 <STM32_PINMUX('I', 1, ANALOG)>, /* LCD_G6 */
546 <STM32_PINMUX('I', 2, ANALOG)>, /* LCD_G7 */
547 <STM32_PINMUX('D', 9, ANALOG)>, /* LCD_B0 */
548 <STM32_PINMUX('G', 12, ANALOG)>, /* LCD_B1 */
549 <STM32_PINMUX('G', 10, ANALOG)>, /* LCD_B2 */
550 <STM32_PINMUX('D', 10, ANALOG)>, /* LCD_B3 */
551 <STM32_PINMUX('I', 4, ANALOG)>, /* LCD_B4 */
552 <STM32_PINMUX('A', 3, ANALOG)>, /* LCD_B5 */
553 <STM32_PINMUX('B', 8, ANALOG)>, /* LCD_B6 */
554 <STM32_PINMUX('D', 8, ANALOG)>; /* LCD_B7 */
555 };
556 };
557
558 ltdc_pins_b: ltdc-b-0 {
559 pins {
560 pinmux = <STM32_PINMUX('I', 14, AF14)>, /* LCD_CLK */
561 <STM32_PINMUX('I', 12, AF14)>, /* LCD_HSYNC */
562 <STM32_PINMUX('I', 13, AF14)>, /* LCD_VSYNC */
563 <STM32_PINMUX('K', 7, AF14)>, /* LCD_DE */
564 <STM32_PINMUX('I', 15, AF14)>, /* LCD_R0 */
565 <STM32_PINMUX('J', 0, AF14)>, /* LCD_R1 */
566 <STM32_PINMUX('J', 1, AF14)>, /* LCD_R2 */
567 <STM32_PINMUX('J', 2, AF14)>, /* LCD_R3 */
568 <STM32_PINMUX('J', 3, AF14)>, /* LCD_R4 */
569 <STM32_PINMUX('J', 4, AF14)>, /* LCD_R5 */
570 <STM32_PINMUX('J', 5, AF14)>, /* LCD_R6 */
571 <STM32_PINMUX('J', 6, AF14)>, /* LCD_R7 */
572 <STM32_PINMUX('J', 7, AF14)>, /* LCD_G0 */
573 <STM32_PINMUX('J', 8, AF14)>, /* LCD_G1 */
574 <STM32_PINMUX('J', 9, AF14)>, /* LCD_G2 */
575 <STM32_PINMUX('J', 10, AF14)>, /* LCD_G3 */
576 <STM32_PINMUX('J', 11, AF14)>, /* LCD_G4 */
577 <STM32_PINMUX('K', 0, AF14)>, /* LCD_G5 */
578 <STM32_PINMUX('K', 1, AF14)>, /* LCD_G6 */
579 <STM32_PINMUX('K', 2, AF14)>, /* LCD_G7 */
580 <STM32_PINMUX('J', 12, AF14)>, /* LCD_B0 */
581 <STM32_PINMUX('J', 13, AF14)>, /* LCD_B1 */
582 <STM32_PINMUX('J', 14, AF14)>, /* LCD_B2 */
583 <STM32_PINMUX('J', 15, AF14)>, /* LCD_B3 */
584 <STM32_PINMUX('K', 3, AF14)>, /* LCD_B4 */
585 <STM32_PINMUX('K', 4, AF14)>, /* LCD_B5 */
586 <STM32_PINMUX('K', 5, AF14)>, /* LCD_B6 */
587 <STM32_PINMUX('K', 6, AF14)>; /* LCD_B7 */
588 bias-disable;
589 drive-push-pull;
590 slew-rate = <1>;
591 };
592 };
593
594 ltdc_pins_sleep_b: ltdc-b-1 {
595 pins {
596 pinmux = <STM32_PINMUX('I', 14, ANALOG)>, /* LCD_CLK */
597 <STM32_PINMUX('I', 12, ANALOG)>, /* LCD_HSYNC */
598 <STM32_PINMUX('I', 13, ANALOG)>, /* LCD_VSYNC */
599 <STM32_PINMUX('K', 7, ANALOG)>, /* LCD_DE */
600 <STM32_PINMUX('I', 15, ANALOG)>, /* LCD_R0 */
601 <STM32_PINMUX('J', 0, ANALOG)>, /* LCD_R1 */
602 <STM32_PINMUX('J', 1, ANALOG)>, /* LCD_R2 */
603 <STM32_PINMUX('J', 2, ANALOG)>, /* LCD_R3 */
604 <STM32_PINMUX('J', 3, ANALOG)>, /* LCD_R4 */
605 <STM32_PINMUX('J', 4, ANALOG)>, /* LCD_R5 */
606 <STM32_PINMUX('J', 5, ANALOG)>, /* LCD_R6 */
607 <STM32_PINMUX('J', 6, ANALOG)>, /* LCD_R7 */
608 <STM32_PINMUX('J', 7, ANALOG)>, /* LCD_G0 */
609 <STM32_PINMUX('J', 8, ANALOG)>, /* LCD_G1 */
610 <STM32_PINMUX('J', 9, ANALOG)>, /* LCD_G2 */
611 <STM32_PINMUX('J', 10, ANALOG)>, /* LCD_G3 */
612 <STM32_PINMUX('J', 11, ANALOG)>, /* LCD_G4 */
613 <STM32_PINMUX('K', 0, ANALOG)>, /* LCD_G5 */
614 <STM32_PINMUX('K', 1, ANALOG)>, /* LCD_G6 */
615 <STM32_PINMUX('K', 2, ANALOG)>, /* LCD_G7 */
616 <STM32_PINMUX('J', 12, ANALOG)>, /* LCD_B0 */
617 <STM32_PINMUX('J', 13, ANALOG)>, /* LCD_B1 */
618 <STM32_PINMUX('J', 14, ANALOG)>, /* LCD_B2 */
619 <STM32_PINMUX('J', 15, ANALOG)>, /* LCD_B3 */
620 <STM32_PINMUX('K', 3, ANALOG)>, /* LCD_B4 */
621 <STM32_PINMUX('K', 4, ANALOG)>, /* LCD_B5 */
622 <STM32_PINMUX('K', 5, ANALOG)>, /* LCD_B6 */
623 <STM32_PINMUX('K', 6, ANALOG)>; /* LCD_B7 */
624 };
625 };
626
Patrice Chotard00442d02019-02-12 16:50:38 +0100627 m_can1_pins_a: m-can1-0 {
628 pins1 {
629 pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */
630 slew-rate = <1>;
631 drive-push-pull;
632 bias-disable;
633 };
634 pins2 {
635 pinmux = <STM32_PINMUX('I', 9, AF9)>; /* CAN1_RX */
636 bias-disable;
637 };
638 };
639
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100640 m_can1_sleep_pins_a: m_can1-sleep-0 {
Patrick Delaunaya3705302019-07-11 11:15:28 +0200641 pins {
642 pinmux = <STM32_PINMUX('H', 13, ANALOG)>, /* CAN1_TX */
643 <STM32_PINMUX('I', 9, ANALOG)>; /* CAN1_RX */
644 };
645 };
646
Patrick Delaunay50599142018-07-09 15:17:19 +0200647 pwm2_pins_a: pwm2-0 {
648 pins {
649 pinmux = <STM32_PINMUX('A', 3, AF1)>; /* TIM2_CH4 */
650 bias-pull-down;
651 drive-push-pull;
652 slew-rate = <0>;
653 };
654 };
655
656 pwm8_pins_a: pwm8-0 {
657 pins {
658 pinmux = <STM32_PINMUX('I', 2, AF3)>; /* TIM8_CH4 */
659 bias-pull-down;
660 drive-push-pull;
661 slew-rate = <0>;
662 };
663 };
664
665 pwm12_pins_a: pwm12-0 {
666 pins {
667 pinmux = <STM32_PINMUX('H', 6, AF2)>; /* TIM12_CH1 */
668 bias-pull-down;
669 drive-push-pull;
670 slew-rate = <0>;
671 };
672 };
673
674 qspi_clk_pins_a: qspi-clk-0 {
675 pins {
676 pinmux = <STM32_PINMUX('F', 10, AF9)>; /* QSPI_CLK */
677 bias-disable;
678 drive-push-pull;
679 slew-rate = <3>;
680 };
681 };
682
Patrick Delaunay708cae72019-07-30 19:16:12 +0200683 qspi_clk_sleep_pins_a: qspi-clk-sleep-0 {
684 pins {
685 pinmux = <STM32_PINMUX('F', 10, ANALOG)>; /* QSPI_CLK */
686 };
687 };
688
Patrick Delaunay50599142018-07-09 15:17:19 +0200689 qspi_bk1_pins_a: qspi-bk1-0 {
690 pins1 {
691 pinmux = <STM32_PINMUX('F', 8, AF10)>, /* QSPI_BK1_IO0 */
692 <STM32_PINMUX('F', 9, AF10)>, /* QSPI_BK1_IO1 */
693 <STM32_PINMUX('F', 7, AF9)>, /* QSPI_BK1_IO2 */
694 <STM32_PINMUX('F', 6, AF9)>; /* QSPI_BK1_IO3 */
695 bias-disable;
696 drive-push-pull;
Patrick Delaunay651aea32020-01-28 10:10:58 +0100697 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200698 };
699 pins2 {
700 pinmux = <STM32_PINMUX('B', 6, AF10)>; /* QSPI_BK1_NCS */
701 bias-pull-up;
702 drive-push-pull;
Patrick Delaunay651aea32020-01-28 10:10:58 +0100703 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200704 };
705 };
706
Patrick Delaunay708cae72019-07-30 19:16:12 +0200707 qspi_bk1_sleep_pins_a: qspi-bk1-sleep-0 {
708 pins {
709 pinmux = <STM32_PINMUX('F', 8, ANALOG)>, /* QSPI_BK1_IO0 */
710 <STM32_PINMUX('F', 9, ANALOG)>, /* QSPI_BK1_IO1 */
711 <STM32_PINMUX('F', 7, ANALOG)>, /* QSPI_BK1_IO2 */
712 <STM32_PINMUX('F', 6, ANALOG)>, /* QSPI_BK1_IO3 */
713 <STM32_PINMUX('B', 6, ANALOG)>; /* QSPI_BK1_NCS */
714 };
715 };
716
Patrick Delaunay50599142018-07-09 15:17:19 +0200717 qspi_bk2_pins_a: qspi-bk2-0 {
718 pins1 {
719 pinmux = <STM32_PINMUX('H', 2, AF9)>, /* QSPI_BK2_IO0 */
720 <STM32_PINMUX('H', 3, AF9)>, /* QSPI_BK2_IO1 */
721 <STM32_PINMUX('G', 10, AF11)>, /* QSPI_BK2_IO2 */
722 <STM32_PINMUX('G', 7, AF11)>; /* QSPI_BK2_IO3 */
723 bias-disable;
724 drive-push-pull;
Patrick Delaunay651aea32020-01-28 10:10:58 +0100725 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200726 };
727 pins2 {
728 pinmux = <STM32_PINMUX('C', 0, AF10)>; /* QSPI_BK2_NCS */
729 bias-pull-up;
730 drive-push-pull;
Patrick Delaunay651aea32020-01-28 10:10:58 +0100731 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200732 };
733 };
Patrick Delaunaya3705302019-07-11 11:15:28 +0200734
Patrick Delaunay708cae72019-07-30 19:16:12 +0200735 qspi_bk2_sleep_pins_a: qspi-bk2-sleep-0 {
736 pins {
737 pinmux = <STM32_PINMUX('H', 2, ANALOG)>, /* QSPI_BK2_IO0 */
738 <STM32_PINMUX('H', 3, ANALOG)>, /* QSPI_BK2_IO1 */
739 <STM32_PINMUX('G', 10, ANALOG)>, /* QSPI_BK2_IO2 */
740 <STM32_PINMUX('G', 7, ANALOG)>, /* QSPI_BK2_IO3 */
741 <STM32_PINMUX('C', 0, ANALOG)>; /* QSPI_BK2_NCS */
742 };
743 };
744
745 sai2a_pins_a: sai2a-0 {
746 pins {
747 pinmux = <STM32_PINMUX('I', 5, AF10)>, /* SAI2_SCK_A */
748 <STM32_PINMUX('I', 6, AF10)>, /* SAI2_SD_A */
749 <STM32_PINMUX('I', 7, AF10)>, /* SAI2_FS_A */
750 <STM32_PINMUX('E', 0, AF10)>; /* SAI2_MCLK_A */
751 slew-rate = <0>;
752 drive-push-pull;
753 bias-disable;
754 };
755 };
756
757 sai2a_sleep_pins_a: sai2a-1 {
758 pins {
759 pinmux = <STM32_PINMUX('I', 5, ANALOG)>, /* SAI2_SCK_A */
760 <STM32_PINMUX('I', 6, ANALOG)>, /* SAI2_SD_A */
761 <STM32_PINMUX('I', 7, ANALOG)>, /* SAI2_FS_A */
762 <STM32_PINMUX('E', 0, ANALOG)>; /* SAI2_MCLK_A */
763 };
764 };
765
766 sai2b_pins_a: sai2b-0 {
767 pins1 {
768 pinmux = <STM32_PINMUX('E', 12, AF10)>, /* SAI2_SCK_B */
769 <STM32_PINMUX('E', 13, AF10)>, /* SAI2_FS_B */
770 <STM32_PINMUX('E', 14, AF10)>; /* SAI2_MCLK_B */
771 slew-rate = <0>;
772 drive-push-pull;
773 bias-disable;
774 };
775 pins2 {
776 pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */
777 bias-disable;
778 };
779 };
780
781 sai2b_sleep_pins_a: sai2b-1 {
782 pins {
783 pinmux = <STM32_PINMUX('F', 11, ANALOG)>, /* SAI2_SD_B */
784 <STM32_PINMUX('E', 12, ANALOG)>, /* SAI2_SCK_B */
785 <STM32_PINMUX('E', 13, ANALOG)>, /* SAI2_FS_B */
786 <STM32_PINMUX('E', 14, ANALOG)>; /* SAI2_MCLK_B */
787 };
788 };
789
790 sai2b_pins_b: sai2b-2 {
791 pins {
792 pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */
793 bias-disable;
794 };
795 };
796
797 sai2b_sleep_pins_b: sai2b-3 {
798 pins {
799 pinmux = <STM32_PINMUX('F', 11, ANALOG)>; /* SAI2_SD_B */
800 };
801 };
802
803 sai4a_pins_a: sai4a-0 {
804 pins {
805 pinmux = <STM32_PINMUX('B', 5, AF10)>; /* SAI4_SD_A */
806 slew-rate = <0>;
807 drive-push-pull;
808 bias-disable;
809 };
810 };
811
812 sai4a_sleep_pins_a: sai4a-1 {
813 pins {
814 pinmux = <STM32_PINMUX('B', 5, ANALOG)>; /* SAI4_SD_A */
815 };
816 };
817
Patrick Delaunaya3705302019-07-11 11:15:28 +0200818 sdmmc1_b4_pins_a: sdmmc1-b4-0 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200819 pins {
820 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
821 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
822 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
823 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
824 <STM32_PINMUX('C', 12, AF12)>, /* SDMMC1_CK */
825 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
826 slew-rate = <3>;
827 drive-push-pull;
828 bias-disable;
829 };
Patrick Delaunaya3705302019-07-11 11:15:28 +0200830 };
831
832 sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 {
833 pins1 {
834 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
835 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
836 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
837 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
838 <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
839 slew-rate = <3>;
840 drive-push-pull;
841 bias-disable;
842 };
843 pins2{
844 pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
845 slew-rate = <3>;
846 drive-open-drain;
847 bias-disable;
848 };
Patrick Delaunay50599142018-07-09 15:17:19 +0200849 };
850
Patrick Delaunaya3705302019-07-11 11:15:28 +0200851 sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200852 pins {
Patrick Delaunaya3705302019-07-11 11:15:28 +0200853 pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */
854 <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */
855 <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */
856 <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */
857 <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */
858 <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */
859 };
860 };
861
862 sdmmc1_dir_pins_a: sdmmc1-dir-0 {
863 pins1 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200864 pinmux = <STM32_PINMUX('F', 2, AF11)>, /* SDMMC1_D0DIR */
865 <STM32_PINMUX('C', 7, AF8)>, /* SDMMC1_D123DIR */
Patrick Delaunaya3705302019-07-11 11:15:28 +0200866 <STM32_PINMUX('B', 9, AF11)>; /* SDMMC1_CDIR */
Patrick Delaunay50599142018-07-09 15:17:19 +0200867 slew-rate = <3>;
868 drive-push-pull;
869 bias-pull-up;
870 };
Patrick Delaunaya3705302019-07-11 11:15:28 +0200871 pins2{
872 pinmux = <STM32_PINMUX('E', 4, AF8)>; /* SDMMC1_CKIN */
873 bias-pull-up;
874 };
875 };
876
877 sdmmc1_dir_sleep_pins_a: sdmmc1-dir-sleep-0 {
878 pins {
879 pinmux = <STM32_PINMUX('F', 2, ANALOG)>, /* SDMMC1_D0DIR */
880 <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC1_D123DIR */
881 <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC1_CDIR */
882 <STM32_PINMUX('E', 4, ANALOG)>; /* SDMMC1_CKIN */
883 };
Patrick Delaunay50599142018-07-09 15:17:19 +0200884 };
Patrick Delaunaya3705302019-07-11 11:15:28 +0200885
Marek Vasutb477e9d2020-03-31 19:51:24 +0200886 sdmmc1_dir_pins_b: sdmmc1-dir-1 {
887 pins1 {
888 pinmux = <STM32_PINMUX('F', 2, AF11)>, /* SDMMC1_D0DIR */
889 <STM32_PINMUX('E', 14, AF8)>, /* SDMMC1_D123DIR */
890 <STM32_PINMUX('B', 9, AF11)>; /* SDMMC1_CDIR */
891 slew-rate = <1>;
892 drive-push-pull;
893 bias-pull-up;
894 };
895 pins2{
896 pinmux = <STM32_PINMUX('E', 4, AF8)>; /* SDMMC1_CKIN */
897 bias-pull-up;
898 };
899 };
900
901 sdmmc1_dir_sleep_pins_b: sdmmc1-dir-sleep-1 {
902 pins {
903 pinmux = <STM32_PINMUX('F', 2, ANALOG)>, /* SDMMC1_D0DIR */
904 <STM32_PINMUX('E', 14, ANALOG)>, /* SDMMC1_D123DIR */
905 <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC1_CDIR */
906 <STM32_PINMUX('E', 4, ANALOG)>; /* SDMMC1_CKIN */
907 };
908 };
909
Patrick Delaunaya3705302019-07-11 11:15:28 +0200910 sdmmc2_b4_pins_a: sdmmc2-b4-0 {
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100911 pins1 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200912 pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
913 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
914 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
915 <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
Patrick Delaunay50599142018-07-09 15:17:19 +0200916 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100917 slew-rate = <1>;
918 drive-push-pull;
919 bias-pull-up;
920 };
921 pins2 {
922 pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
923 slew-rate = <2>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200924 drive-push-pull;
925 bias-pull-up;
926 };
927 };
928
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100929 sdmmc2_b4_od_pins_a: sdmmc2-b4-od-0 {
930 pins1 {
931 pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
932 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
933 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
934 <STM32_PINMUX('B', 4, AF9)>; /* SDMMC2_D3 */
935 slew-rate = <1>;
936 drive-push-pull;
937 bias-pull-up;
938 };
939 pins2 {
940 pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
941 slew-rate = <2>;
942 drive-push-pull;
943 bias-pull-up;
944 };
945 pins3 {
946 pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
947 slew-rate = <1>;
948 drive-open-drain;
949 bias-pull-up;
950 };
951 };
952
953 sdmmc2_b4_sleep_pins_a: sdmmc2-b4-sleep-0 {
954 pins {
955 pinmux = <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */
956 <STM32_PINMUX('B', 15, ANALOG)>, /* SDMMC2_D1 */
957 <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */
958 <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */
959 <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */
960 <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */
961 };
962 };
963
Patrick Delaunaya3705302019-07-11 11:15:28 +0200964 sdmmc2_d47_pins_a: sdmmc2-d47-0 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200965 pins {
966 pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
967 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
968 <STM32_PINMUX('E', 5, AF9)>, /* SDMMC2_D6 */
969 <STM32_PINMUX('D', 3, AF9)>; /* SDMMC2_D7 */
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100970 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200971 drive-push-pull;
972 bias-pull-up;
973 };
974 };
975
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100976 sdmmc2_d47_sleep_pins_a: sdmmc2-d47-sleep-0 {
977 pins {
978 pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
979 <STM32_PINMUX('A', 9, ANALOG)>, /* SDMMC2_D5 */
980 <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC2_D6 */
981 <STM32_PINMUX('D', 3, ANALOG)>; /* SDMMC2_D7 */
982 };
983 };
984
Marek Vasutc9fac072020-03-31 19:51:26 +0200985 sdmmc2_d47_pins_b: sdmmc2-d47-1 {
986 pins {
987 pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
988 <STM32_PINMUX('A', 15, AF9)>, /* SDMMC2_D5 */
989 <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */
990 <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */
991 slew-rate = <1>;
992 drive-push-pull;
993 bias-pull-up;
994 };
995 };
996
997 sdmmc2_d47_sleep_pins_b: sdmmc2-d47-sleep-1 {
998 pins {
999 pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
1000 <STM32_PINMUX('A', 15, ANALOG)>, /* SDMMC2_D5 */
1001 <STM32_PINMUX('C', 6, ANALOG)>, /* SDMMC2_D6 */
1002 <STM32_PINMUX('C', 7, ANALOG)>; /* SDMMC2_D7 */
1003 };
1004 };
1005
Patrick Delaunaya3705302019-07-11 11:15:28 +02001006 spdifrx_pins_a: spdifrx-0 {
1007 pins {
1008 pinmux = <STM32_PINMUX('G', 12, AF8)>; /* SPDIF_IN1 */
1009 bias-disable;
1010 };
1011 };
1012
1013 spdifrx_sleep_pins_a: spdifrx-1 {
1014 pins {
1015 pinmux = <STM32_PINMUX('G', 12, ANALOG)>; /* SPDIF_IN1 */
1016 };
1017 };
1018
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +05301019 spi2_pins_a: spi2-0 {
1020 pins1 {
1021 pinmux = <STM32_PINMUX('B', 10, AF5)>, /* SPI2_SCK */
1022 <STM32_PINMUX('I', 0, AF5)>, /* SPI2_NSS */
1023 <STM32_PINMUX('I', 3, AF5)>; /* SPI2_MOSI */
1024 bias-disable;
1025 drive-push-pull;
1026 slew-rate = <3>;
1027 };
1028 pins2 {
1029 pinmux = <STM32_PINMUX('I', 2, AF5)>; /* SPI2_MISO */
1030 bias-disable;
1031 };
1032 };
1033
Patrick Delaunay7f3384d2019-03-29 15:42:24 +01001034 stusb1600_pins_a: stusb1600-0 {
1035 pins {
1036 pinmux = <STM32_PINMUX('I', 11, ANALOG)>;
1037 bias-pull-up;
1038 };
1039 };
1040
Patrick Delaunay50599142018-07-09 15:17:19 +02001041 uart4_pins_a: uart4-0 {
1042 pins1 {
1043 pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
1044 bias-disable;
1045 drive-push-pull;
1046 slew-rate = <0>;
1047 };
1048 pins2 {
1049 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
1050 bias-disable;
1051 };
1052 };
Patrice Chotard18cb6f52018-08-10 17:12:11 +02001053
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +05301054 uart4_pins_b: uart4-1 {
1055 pins1 {
1056 pinmux = <STM32_PINMUX('D', 1, AF8)>; /* UART4_TX */
1057 bias-disable;
1058 drive-push-pull;
1059 slew-rate = <0>;
1060 };
1061 pins2 {
1062 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
1063 bias-disable;
1064 };
1065 };
1066
1067 uart7_pins_a: uart7-0 {
1068 pins1 {
1069 pinmux = <STM32_PINMUX('E', 8, AF7)>; /* UART4_TX */
1070 bias-disable;
1071 drive-push-pull;
1072 slew-rate = <0>;
1073 };
1074 pins2 {
1075 pinmux = <STM32_PINMUX('E', 7, AF7)>, /* UART4_RX */
1076 <STM32_PINMUX('E', 10, AF7)>, /* UART4_CTS */
1077 <STM32_PINMUX('E', 9, AF7)>; /* UART4_RTS */
1078 bias-disable;
1079 };
1080 };
Patrick Delaunay50599142018-07-09 15:17:19 +02001081 };
1082
1083 pinctrl_z: pin-controller-z@54004000 {
1084 #address-cells = <1>;
1085 #size-cells = <1>;
1086 compatible = "st,stm32mp157-z-pinctrl";
1087 ranges = <0 0x54004000 0x400>;
1088 pins-are-numbered;
1089 interrupt-parent = <&exti>;
1090 st,syscfg = <&exti 0x60 0xff>;
Patrick Delaunaya3705302019-07-11 11:15:28 +02001091 hwlocks = <&hwspinlock 0>;
Patrick Delaunay50599142018-07-09 15:17:19 +02001092
1093 gpioz: gpio@54004000 {
1094 gpio-controller;
1095 #gpio-cells = <2>;
1096 interrupt-controller;
1097 #interrupt-cells = <2>;
1098 reg = <0 0x400>;
1099 clocks = <&rcc GPIOZ>;
1100 st,bank-name = "GPIOZ";
1101 st,bank-ioport = <11>;
Patrick Delaunay708cae72019-07-30 19:16:12 +02001102 status = "disabled";
1103 };
1104
1105 i2c2_pins_b2: i2c2-0 {
1106 pins {
1107 pinmux = <STM32_PINMUX('Z', 0, AF3)>; /* I2C2_SCL */
1108 bias-disable;
1109 drive-open-drain;
1110 slew-rate = <0>;
1111 };
1112 };
1113
1114 i2c2_pins_sleep_b2: i2c2-1 {
1115 pins {
1116 pinmux = <STM32_PINMUX('Z', 0, ANALOG)>; /* I2C2_SCL */
1117 };
Patrick Delaunay50599142018-07-09 15:17:19 +02001118 };
1119
1120 i2c4_pins_a: i2c4-0 {
1121 pins {
1122 pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */
1123 <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */
1124 bias-disable;
1125 drive-open-drain;
1126 slew-rate = <0>;
1127 };
1128 };
Patrice Chotard00442d02019-02-12 16:50:38 +01001129
Patrick Delaunaya3705302019-07-11 11:15:28 +02001130 i2c4_pins_sleep_a: i2c4-1 {
1131 pins {
1132 pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C4_SCL */
1133 <STM32_PINMUX('Z', 5, ANALOG)>; /* I2C4_SDA */
1134 };
1135 };
1136
Patrice Chotard00442d02019-02-12 16:50:38 +01001137 spi1_pins_a: spi1-0 {
1138 pins1 {
1139 pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* SPI1_SCK */
1140 <STM32_PINMUX('Z', 2, AF5)>; /* SPI1_MOSI */
1141 bias-disable;
1142 drive-push-pull;
1143 slew-rate = <1>;
1144 };
1145
1146 pins2 {
1147 pinmux = <STM32_PINMUX('Z', 1, AF5)>; /* SPI1_MISO */
1148 bias-disable;
1149 };
1150 };
Patrick Delaunay50599142018-07-09 15:17:19 +02001151 };
1152 };
1153};