blob: 81a363d93db58a7ee94b1fce6f9f71a8b1b38d80 [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
Patrick Delaunaye0188ac2019-04-08 15:30:52 +0200291 fmc_pins_a: fmc-0 {
292 pins1 {
293 pinmux = <STM32_PINMUX('D', 4, AF12)>, /* FMC_NOE */
294 <STM32_PINMUX('D', 5, AF12)>, /* FMC_NWE */
295 <STM32_PINMUX('D', 11, AF12)>, /* FMC_A16_FMC_CLE */
296 <STM32_PINMUX('D', 12, AF12)>, /* FMC_A17_FMC_ALE */
297 <STM32_PINMUX('D', 14, AF12)>, /* FMC_D0 */
298 <STM32_PINMUX('D', 15, AF12)>, /* FMC_D1 */
299 <STM32_PINMUX('D', 0, AF12)>, /* FMC_D2 */
300 <STM32_PINMUX('D', 1, AF12)>, /* FMC_D3 */
301 <STM32_PINMUX('E', 7, AF12)>, /* FMC_D4 */
302 <STM32_PINMUX('E', 8, AF12)>, /* FMC_D5 */
303 <STM32_PINMUX('E', 9, AF12)>, /* FMC_D6 */
304 <STM32_PINMUX('E', 10, AF12)>, /* FMC_D7 */
305 <STM32_PINMUX('G', 9, AF12)>; /* FMC_NE2_FMC_NCE */
306 bias-disable;
307 drive-push-pull;
308 slew-rate = <1>;
309 };
310 pins2 {
311 pinmux = <STM32_PINMUX('D', 6, AF12)>; /* FMC_NWAIT */
312 bias-pull-up;
313 };
314 };
315
316 fmc_sleep_pins_a: fmc-sleep-0 {
317 pins {
318 pinmux = <STM32_PINMUX('D', 4, ANALOG)>, /* FMC_NOE */
319 <STM32_PINMUX('D', 5, ANALOG)>, /* FMC_NWE */
320 <STM32_PINMUX('D', 11, ANALOG)>, /* FMC_A16_FMC_CLE */
321 <STM32_PINMUX('D', 12, ANALOG)>, /* FMC_A17_FMC_ALE */
322 <STM32_PINMUX('D', 14, ANALOG)>, /* FMC_D0 */
323 <STM32_PINMUX('D', 15, ANALOG)>, /* FMC_D1 */
324 <STM32_PINMUX('D', 0, ANALOG)>, /* FMC_D2 */
325 <STM32_PINMUX('D', 1, ANALOG)>, /* FMC_D3 */
326 <STM32_PINMUX('E', 7, ANALOG)>, /* FMC_D4 */
327 <STM32_PINMUX('E', 8, ANALOG)>, /* FMC_D5 */
328 <STM32_PINMUX('E', 9, ANALOG)>, /* FMC_D6 */
329 <STM32_PINMUX('E', 10, ANALOG)>, /* FMC_D7 */
330 <STM32_PINMUX('D', 6, ANALOG)>, /* FMC_NWAIT */
331 <STM32_PINMUX('G', 9, ANALOG)>; /* FMC_NE2_FMC_NCE */
332 };
333 };
334
Patrick Delaunay50599142018-07-09 15:17:19 +0200335 i2c1_pins_a: i2c1-0 {
336 pins {
337 pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
338 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
339 bias-disable;
340 drive-open-drain;
341 slew-rate = <0>;
342 };
343 };
344
Patrick Delaunaya3705302019-07-11 11:15:28 +0200345 i2c1_pins_sleep_a: i2c1-1 {
346 pins {
347 pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */
348 <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */
349 };
350 };
351
352 i2c1_pins_b: i2c1-2 {
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +0530353 pins {
354 pinmux = <STM32_PINMUX('F', 14, AF5)>, /* I2C1_SCL */
355 <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
356 bias-disable;
357 drive-open-drain;
358 slew-rate = <0>;
359 };
360 };
361
Patrick Delaunay708cae72019-07-30 19:16:12 +0200362 i2c1_pins_sleep_b: i2c1-3 {
363 pins {
364 pinmux = <STM32_PINMUX('F', 14, ANALOG)>, /* I2C1_SCL */
365 <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */
366 };
367 };
368
Patrick Delaunay50599142018-07-09 15:17:19 +0200369 i2c2_pins_a: i2c2-0 {
370 pins {
371 pinmux = <STM32_PINMUX('H', 4, AF4)>, /* I2C2_SCL */
372 <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
373 bias-disable;
374 drive-open-drain;
375 slew-rate = <0>;
376 };
377 };
378
Patrick Delaunaya3705302019-07-11 11:15:28 +0200379 i2c2_pins_sleep_a: i2c2-1 {
380 pins {
381 pinmux = <STM32_PINMUX('H', 4, ANALOG)>, /* I2C2_SCL */
382 <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */
383 };
384 };
385
Patrick Delaunay708cae72019-07-30 19:16:12 +0200386 i2c2_pins_b1: i2c2-2 {
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +0530387 pins {
Patrick Delaunay708cae72019-07-30 19:16:12 +0200388 pinmux = <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +0530389 bias-disable;
390 drive-open-drain;
391 slew-rate = <0>;
392 };
393 };
394
Patrick Delaunay708cae72019-07-30 19:16:12 +0200395 i2c2_pins_sleep_b1: i2c2-3 {
396 pins {
397 pinmux = <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */
398 };
399 };
400
Patrick Delaunay50599142018-07-09 15:17:19 +0200401 i2c5_pins_a: i2c5-0 {
402 pins {
403 pinmux = <STM32_PINMUX('A', 11, AF4)>, /* I2C5_SCL */
404 <STM32_PINMUX('A', 12, AF4)>; /* I2C5_SDA */
405 bias-disable;
406 drive-open-drain;
407 slew-rate = <0>;
408 };
409 };
410
Patrick Delaunaya3705302019-07-11 11:15:28 +0200411 i2c5_pins_sleep_a: i2c5-1 {
412 pins {
413 pinmux = <STM32_PINMUX('A', 11, ANALOG)>, /* I2C5_SCL */
414 <STM32_PINMUX('A', 12, ANALOG)>; /* I2C5_SDA */
415
416 };
417 };
418
Patrick Delaunay708cae72019-07-30 19:16:12 +0200419 i2s2_pins_a: i2s2-0 {
420 pins {
421 pinmux = <STM32_PINMUX('I', 3, AF5)>, /* I2S2_SDO */
422 <STM32_PINMUX('B', 9, AF5)>, /* I2S2_WS */
423 <STM32_PINMUX('A', 9, AF5)>; /* I2S2_CK */
424 slew-rate = <1>;
425 drive-push-pull;
426 bias-disable;
427 };
428 };
429
430 i2s2_pins_sleep_a: i2s2-1 {
431 pins {
432 pinmux = <STM32_PINMUX('I', 3, ANALOG)>, /* I2S2_SDO */
433 <STM32_PINMUX('B', 9, ANALOG)>, /* I2S2_WS */
434 <STM32_PINMUX('A', 9, ANALOG)>; /* I2S2_CK */
435 };
436 };
437
Patrick Delaunaya3705302019-07-11 11:15:28 +0200438 ltdc_pins_a: ltdc-a-0 {
439 pins {
440 pinmux = <STM32_PINMUX('G', 7, AF14)>, /* LCD_CLK */
441 <STM32_PINMUX('I', 10, AF14)>, /* LCD_HSYNC */
442 <STM32_PINMUX('I', 9, AF14)>, /* LCD_VSYNC */
443 <STM32_PINMUX('F', 10, AF14)>, /* LCD_DE */
444 <STM32_PINMUX('H', 2, AF14)>, /* LCD_R0 */
445 <STM32_PINMUX('H', 3, AF14)>, /* LCD_R1 */
446 <STM32_PINMUX('H', 8, AF14)>, /* LCD_R2 */
447 <STM32_PINMUX('H', 9, AF14)>, /* LCD_R3 */
448 <STM32_PINMUX('H', 10, AF14)>, /* LCD_R4 */
449 <STM32_PINMUX('C', 0, AF14)>, /* LCD_R5 */
450 <STM32_PINMUX('H', 12, AF14)>, /* LCD_R6 */
451 <STM32_PINMUX('E', 15, AF14)>, /* LCD_R7 */
452 <STM32_PINMUX('E', 5, AF14)>, /* LCD_G0 */
453 <STM32_PINMUX('E', 6, AF14)>, /* LCD_G1 */
454 <STM32_PINMUX('H', 13, AF14)>, /* LCD_G2 */
455 <STM32_PINMUX('H', 14, AF14)>, /* LCD_G3 */
456 <STM32_PINMUX('H', 15, AF14)>, /* LCD_G4 */
457 <STM32_PINMUX('I', 0, AF14)>, /* LCD_G5 */
458 <STM32_PINMUX('I', 1, AF14)>, /* LCD_G6 */
459 <STM32_PINMUX('I', 2, AF14)>, /* LCD_G7 */
460 <STM32_PINMUX('D', 9, AF14)>, /* LCD_B0 */
461 <STM32_PINMUX('G', 12, AF14)>, /* LCD_B1 */
462 <STM32_PINMUX('G', 10, AF14)>, /* LCD_B2 */
463 <STM32_PINMUX('D', 10, AF14)>, /* LCD_B3 */
464 <STM32_PINMUX('I', 4, AF14)>, /* LCD_B4 */
465 <STM32_PINMUX('A', 3, AF14)>, /* LCD_B5 */
466 <STM32_PINMUX('B', 8, AF14)>, /* LCD_B6 */
467 <STM32_PINMUX('D', 8, AF14)>; /* LCD_B7 */
468 bias-disable;
469 drive-push-pull;
470 slew-rate = <1>;
471 };
472 };
473
474 ltdc_pins_sleep_a: ltdc-a-1 {
475 pins {
476 pinmux = <STM32_PINMUX('G', 7, ANALOG)>, /* LCD_CLK */
477 <STM32_PINMUX('I', 10, ANALOG)>, /* LCD_HSYNC */
478 <STM32_PINMUX('I', 9, ANALOG)>, /* LCD_VSYNC */
479 <STM32_PINMUX('F', 10, ANALOG)>, /* LCD_DE */
480 <STM32_PINMUX('H', 2, ANALOG)>, /* LCD_R0 */
481 <STM32_PINMUX('H', 3, ANALOG)>, /* LCD_R1 */
482 <STM32_PINMUX('H', 8, ANALOG)>, /* LCD_R2 */
483 <STM32_PINMUX('H', 9, ANALOG)>, /* LCD_R3 */
484 <STM32_PINMUX('H', 10, ANALOG)>, /* LCD_R4 */
485 <STM32_PINMUX('C', 0, ANALOG)>, /* LCD_R5 */
486 <STM32_PINMUX('H', 12, ANALOG)>, /* LCD_R6 */
487 <STM32_PINMUX('E', 15, ANALOG)>, /* LCD_R7 */
488 <STM32_PINMUX('E', 5, ANALOG)>, /* LCD_G0 */
489 <STM32_PINMUX('E', 6, ANALOG)>, /* LCD_G1 */
490 <STM32_PINMUX('H', 13, ANALOG)>, /* LCD_G2 */
491 <STM32_PINMUX('H', 14, ANALOG)>, /* LCD_G3 */
492 <STM32_PINMUX('H', 15, ANALOG)>, /* LCD_G4 */
493 <STM32_PINMUX('I', 0, ANALOG)>, /* LCD_G5 */
494 <STM32_PINMUX('I', 1, ANALOG)>, /* LCD_G6 */
495 <STM32_PINMUX('I', 2, ANALOG)>, /* LCD_G7 */
496 <STM32_PINMUX('D', 9, ANALOG)>, /* LCD_B0 */
497 <STM32_PINMUX('G', 12, ANALOG)>, /* LCD_B1 */
498 <STM32_PINMUX('G', 10, ANALOG)>, /* LCD_B2 */
499 <STM32_PINMUX('D', 10, ANALOG)>, /* LCD_B3 */
500 <STM32_PINMUX('I', 4, ANALOG)>, /* LCD_B4 */
501 <STM32_PINMUX('A', 3, ANALOG)>, /* LCD_B5 */
502 <STM32_PINMUX('B', 8, ANALOG)>, /* LCD_B6 */
503 <STM32_PINMUX('D', 8, ANALOG)>; /* LCD_B7 */
504 };
505 };
506
507 ltdc_pins_b: ltdc-b-0 {
508 pins {
509 pinmux = <STM32_PINMUX('I', 14, AF14)>, /* LCD_CLK */
510 <STM32_PINMUX('I', 12, AF14)>, /* LCD_HSYNC */
511 <STM32_PINMUX('I', 13, AF14)>, /* LCD_VSYNC */
512 <STM32_PINMUX('K', 7, AF14)>, /* LCD_DE */
513 <STM32_PINMUX('I', 15, AF14)>, /* LCD_R0 */
514 <STM32_PINMUX('J', 0, AF14)>, /* LCD_R1 */
515 <STM32_PINMUX('J', 1, AF14)>, /* LCD_R2 */
516 <STM32_PINMUX('J', 2, AF14)>, /* LCD_R3 */
517 <STM32_PINMUX('J', 3, AF14)>, /* LCD_R4 */
518 <STM32_PINMUX('J', 4, AF14)>, /* LCD_R5 */
519 <STM32_PINMUX('J', 5, AF14)>, /* LCD_R6 */
520 <STM32_PINMUX('J', 6, AF14)>, /* LCD_R7 */
521 <STM32_PINMUX('J', 7, AF14)>, /* LCD_G0 */
522 <STM32_PINMUX('J', 8, AF14)>, /* LCD_G1 */
523 <STM32_PINMUX('J', 9, AF14)>, /* LCD_G2 */
524 <STM32_PINMUX('J', 10, AF14)>, /* LCD_G3 */
525 <STM32_PINMUX('J', 11, AF14)>, /* LCD_G4 */
526 <STM32_PINMUX('K', 0, AF14)>, /* LCD_G5 */
527 <STM32_PINMUX('K', 1, AF14)>, /* LCD_G6 */
528 <STM32_PINMUX('K', 2, AF14)>, /* LCD_G7 */
529 <STM32_PINMUX('J', 12, AF14)>, /* LCD_B0 */
530 <STM32_PINMUX('J', 13, AF14)>, /* LCD_B1 */
531 <STM32_PINMUX('J', 14, AF14)>, /* LCD_B2 */
532 <STM32_PINMUX('J', 15, AF14)>, /* LCD_B3 */
533 <STM32_PINMUX('K', 3, AF14)>, /* LCD_B4 */
534 <STM32_PINMUX('K', 4, AF14)>, /* LCD_B5 */
535 <STM32_PINMUX('K', 5, AF14)>, /* LCD_B6 */
536 <STM32_PINMUX('K', 6, AF14)>; /* LCD_B7 */
537 bias-disable;
538 drive-push-pull;
539 slew-rate = <1>;
540 };
541 };
542
543 ltdc_pins_sleep_b: ltdc-b-1 {
544 pins {
545 pinmux = <STM32_PINMUX('I', 14, ANALOG)>, /* LCD_CLK */
546 <STM32_PINMUX('I', 12, ANALOG)>, /* LCD_HSYNC */
547 <STM32_PINMUX('I', 13, ANALOG)>, /* LCD_VSYNC */
548 <STM32_PINMUX('K', 7, ANALOG)>, /* LCD_DE */
549 <STM32_PINMUX('I', 15, ANALOG)>, /* LCD_R0 */
550 <STM32_PINMUX('J', 0, ANALOG)>, /* LCD_R1 */
551 <STM32_PINMUX('J', 1, ANALOG)>, /* LCD_R2 */
552 <STM32_PINMUX('J', 2, ANALOG)>, /* LCD_R3 */
553 <STM32_PINMUX('J', 3, ANALOG)>, /* LCD_R4 */
554 <STM32_PINMUX('J', 4, ANALOG)>, /* LCD_R5 */
555 <STM32_PINMUX('J', 5, ANALOG)>, /* LCD_R6 */
556 <STM32_PINMUX('J', 6, ANALOG)>, /* LCD_R7 */
557 <STM32_PINMUX('J', 7, ANALOG)>, /* LCD_G0 */
558 <STM32_PINMUX('J', 8, ANALOG)>, /* LCD_G1 */
559 <STM32_PINMUX('J', 9, ANALOG)>, /* LCD_G2 */
560 <STM32_PINMUX('J', 10, ANALOG)>, /* LCD_G3 */
561 <STM32_PINMUX('J', 11, ANALOG)>, /* LCD_G4 */
562 <STM32_PINMUX('K', 0, ANALOG)>, /* LCD_G5 */
563 <STM32_PINMUX('K', 1, ANALOG)>, /* LCD_G6 */
564 <STM32_PINMUX('K', 2, ANALOG)>, /* LCD_G7 */
565 <STM32_PINMUX('J', 12, ANALOG)>, /* LCD_B0 */
566 <STM32_PINMUX('J', 13, ANALOG)>, /* LCD_B1 */
567 <STM32_PINMUX('J', 14, ANALOG)>, /* LCD_B2 */
568 <STM32_PINMUX('J', 15, ANALOG)>, /* LCD_B3 */
569 <STM32_PINMUX('K', 3, ANALOG)>, /* LCD_B4 */
570 <STM32_PINMUX('K', 4, ANALOG)>, /* LCD_B5 */
571 <STM32_PINMUX('K', 5, ANALOG)>, /* LCD_B6 */
572 <STM32_PINMUX('K', 6, ANALOG)>; /* LCD_B7 */
573 };
574 };
575
Patrice Chotard00442d02019-02-12 16:50:38 +0100576 m_can1_pins_a: m-can1-0 {
577 pins1 {
578 pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */
579 slew-rate = <1>;
580 drive-push-pull;
581 bias-disable;
582 };
583 pins2 {
584 pinmux = <STM32_PINMUX('I', 9, AF9)>; /* CAN1_RX */
585 bias-disable;
586 };
587 };
588
Patrick Delaunay8c6e6132019-11-06 16:16:33 +0100589 m_can1_sleep_pins_a: m_can1-sleep-0 {
Patrick Delaunaya3705302019-07-11 11:15:28 +0200590 pins {
591 pinmux = <STM32_PINMUX('H', 13, ANALOG)>, /* CAN1_TX */
592 <STM32_PINMUX('I', 9, ANALOG)>; /* CAN1_RX */
593 };
594 };
595
Patrick Delaunay50599142018-07-09 15:17:19 +0200596 pwm2_pins_a: pwm2-0 {
597 pins {
598 pinmux = <STM32_PINMUX('A', 3, AF1)>; /* TIM2_CH4 */
599 bias-pull-down;
600 drive-push-pull;
601 slew-rate = <0>;
602 };
603 };
604
605 pwm8_pins_a: pwm8-0 {
606 pins {
607 pinmux = <STM32_PINMUX('I', 2, AF3)>; /* TIM8_CH4 */
608 bias-pull-down;
609 drive-push-pull;
610 slew-rate = <0>;
611 };
612 };
613
614 pwm12_pins_a: pwm12-0 {
615 pins {
616 pinmux = <STM32_PINMUX('H', 6, AF2)>; /* TIM12_CH1 */
617 bias-pull-down;
618 drive-push-pull;
619 slew-rate = <0>;
620 };
621 };
622
623 qspi_clk_pins_a: qspi-clk-0 {
624 pins {
625 pinmux = <STM32_PINMUX('F', 10, AF9)>; /* QSPI_CLK */
626 bias-disable;
627 drive-push-pull;
628 slew-rate = <3>;
629 };
630 };
631
Patrick Delaunay708cae72019-07-30 19:16:12 +0200632 qspi_clk_sleep_pins_a: qspi-clk-sleep-0 {
633 pins {
634 pinmux = <STM32_PINMUX('F', 10, ANALOG)>; /* QSPI_CLK */
635 };
636 };
637
Patrick Delaunay50599142018-07-09 15:17:19 +0200638 qspi_bk1_pins_a: qspi-bk1-0 {
639 pins1 {
640 pinmux = <STM32_PINMUX('F', 8, AF10)>, /* QSPI_BK1_IO0 */
641 <STM32_PINMUX('F', 9, AF10)>, /* QSPI_BK1_IO1 */
642 <STM32_PINMUX('F', 7, AF9)>, /* QSPI_BK1_IO2 */
643 <STM32_PINMUX('F', 6, AF9)>; /* QSPI_BK1_IO3 */
644 bias-disable;
645 drive-push-pull;
Patrick Delaunay651aea32020-01-28 10:10:58 +0100646 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200647 };
648 pins2 {
649 pinmux = <STM32_PINMUX('B', 6, AF10)>; /* QSPI_BK1_NCS */
650 bias-pull-up;
651 drive-push-pull;
Patrick Delaunay651aea32020-01-28 10:10:58 +0100652 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200653 };
654 };
655
Patrick Delaunay708cae72019-07-30 19:16:12 +0200656 qspi_bk1_sleep_pins_a: qspi-bk1-sleep-0 {
657 pins {
658 pinmux = <STM32_PINMUX('F', 8, ANALOG)>, /* QSPI_BK1_IO0 */
659 <STM32_PINMUX('F', 9, ANALOG)>, /* QSPI_BK1_IO1 */
660 <STM32_PINMUX('F', 7, ANALOG)>, /* QSPI_BK1_IO2 */
661 <STM32_PINMUX('F', 6, ANALOG)>, /* QSPI_BK1_IO3 */
662 <STM32_PINMUX('B', 6, ANALOG)>; /* QSPI_BK1_NCS */
663 };
664 };
665
Patrick Delaunay50599142018-07-09 15:17:19 +0200666 qspi_bk2_pins_a: qspi-bk2-0 {
667 pins1 {
668 pinmux = <STM32_PINMUX('H', 2, AF9)>, /* QSPI_BK2_IO0 */
669 <STM32_PINMUX('H', 3, AF9)>, /* QSPI_BK2_IO1 */
670 <STM32_PINMUX('G', 10, AF11)>, /* QSPI_BK2_IO2 */
671 <STM32_PINMUX('G', 7, AF11)>; /* QSPI_BK2_IO3 */
672 bias-disable;
673 drive-push-pull;
Patrick Delaunay651aea32020-01-28 10:10:58 +0100674 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200675 };
676 pins2 {
677 pinmux = <STM32_PINMUX('C', 0, AF10)>; /* QSPI_BK2_NCS */
678 bias-pull-up;
679 drive-push-pull;
Patrick Delaunay651aea32020-01-28 10:10:58 +0100680 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200681 };
682 };
Patrick Delaunaya3705302019-07-11 11:15:28 +0200683
Patrick Delaunay708cae72019-07-30 19:16:12 +0200684 qspi_bk2_sleep_pins_a: qspi-bk2-sleep-0 {
685 pins {
686 pinmux = <STM32_PINMUX('H', 2, ANALOG)>, /* QSPI_BK2_IO0 */
687 <STM32_PINMUX('H', 3, ANALOG)>, /* QSPI_BK2_IO1 */
688 <STM32_PINMUX('G', 10, ANALOG)>, /* QSPI_BK2_IO2 */
689 <STM32_PINMUX('G', 7, ANALOG)>, /* QSPI_BK2_IO3 */
690 <STM32_PINMUX('C', 0, ANALOG)>; /* QSPI_BK2_NCS */
691 };
692 };
693
694 sai2a_pins_a: sai2a-0 {
695 pins {
696 pinmux = <STM32_PINMUX('I', 5, AF10)>, /* SAI2_SCK_A */
697 <STM32_PINMUX('I', 6, AF10)>, /* SAI2_SD_A */
698 <STM32_PINMUX('I', 7, AF10)>, /* SAI2_FS_A */
699 <STM32_PINMUX('E', 0, AF10)>; /* SAI2_MCLK_A */
700 slew-rate = <0>;
701 drive-push-pull;
702 bias-disable;
703 };
704 };
705
706 sai2a_sleep_pins_a: sai2a-1 {
707 pins {
708 pinmux = <STM32_PINMUX('I', 5, ANALOG)>, /* SAI2_SCK_A */
709 <STM32_PINMUX('I', 6, ANALOG)>, /* SAI2_SD_A */
710 <STM32_PINMUX('I', 7, ANALOG)>, /* SAI2_FS_A */
711 <STM32_PINMUX('E', 0, ANALOG)>; /* SAI2_MCLK_A */
712 };
713 };
714
715 sai2b_pins_a: sai2b-0 {
716 pins1 {
717 pinmux = <STM32_PINMUX('E', 12, AF10)>, /* SAI2_SCK_B */
718 <STM32_PINMUX('E', 13, AF10)>, /* SAI2_FS_B */
719 <STM32_PINMUX('E', 14, AF10)>; /* SAI2_MCLK_B */
720 slew-rate = <0>;
721 drive-push-pull;
722 bias-disable;
723 };
724 pins2 {
725 pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */
726 bias-disable;
727 };
728 };
729
730 sai2b_sleep_pins_a: sai2b-1 {
731 pins {
732 pinmux = <STM32_PINMUX('F', 11, ANALOG)>, /* SAI2_SD_B */
733 <STM32_PINMUX('E', 12, ANALOG)>, /* SAI2_SCK_B */
734 <STM32_PINMUX('E', 13, ANALOG)>, /* SAI2_FS_B */
735 <STM32_PINMUX('E', 14, ANALOG)>; /* SAI2_MCLK_B */
736 };
737 };
738
739 sai2b_pins_b: sai2b-2 {
740 pins {
741 pinmux = <STM32_PINMUX('F', 11, AF10)>; /* SAI2_SD_B */
742 bias-disable;
743 };
744 };
745
746 sai2b_sleep_pins_b: sai2b-3 {
747 pins {
748 pinmux = <STM32_PINMUX('F', 11, ANALOG)>; /* SAI2_SD_B */
749 };
750 };
751
752 sai4a_pins_a: sai4a-0 {
753 pins {
754 pinmux = <STM32_PINMUX('B', 5, AF10)>; /* SAI4_SD_A */
755 slew-rate = <0>;
756 drive-push-pull;
757 bias-disable;
758 };
759 };
760
761 sai4a_sleep_pins_a: sai4a-1 {
762 pins {
763 pinmux = <STM32_PINMUX('B', 5, ANALOG)>; /* SAI4_SD_A */
764 };
765 };
766
Patrick Delaunaya3705302019-07-11 11:15:28 +0200767 sdmmc1_b4_pins_a: sdmmc1-b4-0 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200768 pins {
769 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
770 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
771 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
772 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
773 <STM32_PINMUX('C', 12, AF12)>, /* SDMMC1_CK */
774 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
775 slew-rate = <3>;
776 drive-push-pull;
777 bias-disable;
778 };
Patrick Delaunaya3705302019-07-11 11:15:28 +0200779 };
780
781 sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 {
782 pins1 {
783 pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
784 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
785 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
786 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
787 <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
788 slew-rate = <3>;
789 drive-push-pull;
790 bias-disable;
791 };
792 pins2{
793 pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
794 slew-rate = <3>;
795 drive-open-drain;
796 bias-disable;
797 };
Patrick Delaunay50599142018-07-09 15:17:19 +0200798 };
799
Patrick Delaunaya3705302019-07-11 11:15:28 +0200800 sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200801 pins {
Patrick Delaunaya3705302019-07-11 11:15:28 +0200802 pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */
803 <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */
804 <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */
805 <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */
806 <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */
807 <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */
808 };
809 };
810
811 sdmmc1_dir_pins_a: sdmmc1-dir-0 {
812 pins1 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200813 pinmux = <STM32_PINMUX('F', 2, AF11)>, /* SDMMC1_D0DIR */
814 <STM32_PINMUX('C', 7, AF8)>, /* SDMMC1_D123DIR */
Patrick Delaunaya3705302019-07-11 11:15:28 +0200815 <STM32_PINMUX('B', 9, AF11)>; /* SDMMC1_CDIR */
Patrick Delaunay50599142018-07-09 15:17:19 +0200816 slew-rate = <3>;
817 drive-push-pull;
818 bias-pull-up;
819 };
Patrick Delaunaya3705302019-07-11 11:15:28 +0200820 pins2{
821 pinmux = <STM32_PINMUX('E', 4, AF8)>; /* SDMMC1_CKIN */
822 bias-pull-up;
823 };
824 };
825
826 sdmmc1_dir_sleep_pins_a: sdmmc1-dir-sleep-0 {
827 pins {
828 pinmux = <STM32_PINMUX('F', 2, ANALOG)>, /* SDMMC1_D0DIR */
829 <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC1_D123DIR */
830 <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC1_CDIR */
831 <STM32_PINMUX('E', 4, ANALOG)>; /* SDMMC1_CKIN */
832 };
Patrick Delaunay50599142018-07-09 15:17:19 +0200833 };
Patrick Delaunaya3705302019-07-11 11:15:28 +0200834
835 sdmmc2_b4_pins_a: sdmmc2-b4-0 {
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100836 pins1 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200837 pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
838 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
839 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
840 <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
Patrick Delaunay50599142018-07-09 15:17:19 +0200841 <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100842 slew-rate = <1>;
843 drive-push-pull;
844 bias-pull-up;
845 };
846 pins2 {
847 pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
848 slew-rate = <2>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200849 drive-push-pull;
850 bias-pull-up;
851 };
852 };
853
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100854 sdmmc2_b4_od_pins_a: sdmmc2-b4-od-0 {
855 pins1 {
856 pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
857 <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
858 <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
859 <STM32_PINMUX('B', 4, AF9)>; /* SDMMC2_D3 */
860 slew-rate = <1>;
861 drive-push-pull;
862 bias-pull-up;
863 };
864 pins2 {
865 pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
866 slew-rate = <2>;
867 drive-push-pull;
868 bias-pull-up;
869 };
870 pins3 {
871 pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
872 slew-rate = <1>;
873 drive-open-drain;
874 bias-pull-up;
875 };
876 };
877
878 sdmmc2_b4_sleep_pins_a: sdmmc2-b4-sleep-0 {
879 pins {
880 pinmux = <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */
881 <STM32_PINMUX('B', 15, ANALOG)>, /* SDMMC2_D1 */
882 <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */
883 <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */
884 <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */
885 <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */
886 };
887 };
888
Patrick Delaunaya3705302019-07-11 11:15:28 +0200889 sdmmc2_d47_pins_a: sdmmc2-d47-0 {
Patrick Delaunay50599142018-07-09 15:17:19 +0200890 pins {
891 pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
892 <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
893 <STM32_PINMUX('E', 5, AF9)>, /* SDMMC2_D6 */
894 <STM32_PINMUX('D', 3, AF9)>; /* SDMMC2_D7 */
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100895 slew-rate = <1>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200896 drive-push-pull;
897 bias-pull-up;
898 };
899 };
900
Patrick Delaunay2b0bbf52019-11-06 16:16:34 +0100901 sdmmc2_d47_sleep_pins_a: sdmmc2-d47-sleep-0 {
902 pins {
903 pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
904 <STM32_PINMUX('A', 9, ANALOG)>, /* SDMMC2_D5 */
905 <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC2_D6 */
906 <STM32_PINMUX('D', 3, ANALOG)>; /* SDMMC2_D7 */
907 };
908 };
909
Patrick Delaunaya3705302019-07-11 11:15:28 +0200910 spdifrx_pins_a: spdifrx-0 {
911 pins {
912 pinmux = <STM32_PINMUX('G', 12, AF8)>; /* SPDIF_IN1 */
913 bias-disable;
914 };
915 };
916
917 spdifrx_sleep_pins_a: spdifrx-1 {
918 pins {
919 pinmux = <STM32_PINMUX('G', 12, ANALOG)>; /* SPDIF_IN1 */
920 };
921 };
922
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +0530923 spi2_pins_a: spi2-0 {
924 pins1 {
925 pinmux = <STM32_PINMUX('B', 10, AF5)>, /* SPI2_SCK */
926 <STM32_PINMUX('I', 0, AF5)>, /* SPI2_NSS */
927 <STM32_PINMUX('I', 3, AF5)>; /* SPI2_MOSI */
928 bias-disable;
929 drive-push-pull;
930 slew-rate = <3>;
931 };
932 pins2 {
933 pinmux = <STM32_PINMUX('I', 2, AF5)>; /* SPI2_MISO */
934 bias-disable;
935 };
936 };
937
Patrick Delaunay7f3384d2019-03-29 15:42:24 +0100938 stusb1600_pins_a: stusb1600-0 {
939 pins {
940 pinmux = <STM32_PINMUX('I', 11, ANALOG)>;
941 bias-pull-up;
942 };
943 };
944
Patrick Delaunay50599142018-07-09 15:17:19 +0200945 uart4_pins_a: uart4-0 {
946 pins1 {
947 pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
948 bias-disable;
949 drive-push-pull;
950 slew-rate = <0>;
951 };
952 pins2 {
953 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
954 bias-disable;
955 };
956 };
Patrice Chotard18cb6f52018-08-10 17:12:11 +0200957
Manivannan Sadhasivamc70ef692019-05-02 13:26:43 +0530958 uart4_pins_b: uart4-1 {
959 pins1 {
960 pinmux = <STM32_PINMUX('D', 1, AF8)>; /* UART4_TX */
961 bias-disable;
962 drive-push-pull;
963 slew-rate = <0>;
964 };
965 pins2 {
966 pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
967 bias-disable;
968 };
969 };
970
971 uart7_pins_a: uart7-0 {
972 pins1 {
973 pinmux = <STM32_PINMUX('E', 8, AF7)>; /* UART4_TX */
974 bias-disable;
975 drive-push-pull;
976 slew-rate = <0>;
977 };
978 pins2 {
979 pinmux = <STM32_PINMUX('E', 7, AF7)>, /* UART4_RX */
980 <STM32_PINMUX('E', 10, AF7)>, /* UART4_CTS */
981 <STM32_PINMUX('E', 9, AF7)>; /* UART4_RTS */
982 bias-disable;
983 };
984 };
Patrick Delaunay50599142018-07-09 15:17:19 +0200985 };
986
987 pinctrl_z: pin-controller-z@54004000 {
988 #address-cells = <1>;
989 #size-cells = <1>;
990 compatible = "st,stm32mp157-z-pinctrl";
991 ranges = <0 0x54004000 0x400>;
992 pins-are-numbered;
993 interrupt-parent = <&exti>;
994 st,syscfg = <&exti 0x60 0xff>;
Patrick Delaunaya3705302019-07-11 11:15:28 +0200995 hwlocks = <&hwspinlock 0>;
Patrick Delaunay50599142018-07-09 15:17:19 +0200996
997 gpioz: gpio@54004000 {
998 gpio-controller;
999 #gpio-cells = <2>;
1000 interrupt-controller;
1001 #interrupt-cells = <2>;
1002 reg = <0 0x400>;
1003 clocks = <&rcc GPIOZ>;
1004 st,bank-name = "GPIOZ";
1005 st,bank-ioport = <11>;
Patrick Delaunay708cae72019-07-30 19:16:12 +02001006 status = "disabled";
1007 };
1008
1009 i2c2_pins_b2: i2c2-0 {
1010 pins {
1011 pinmux = <STM32_PINMUX('Z', 0, AF3)>; /* I2C2_SCL */
1012 bias-disable;
1013 drive-open-drain;
1014 slew-rate = <0>;
1015 };
1016 };
1017
1018 i2c2_pins_sleep_b2: i2c2-1 {
1019 pins {
1020 pinmux = <STM32_PINMUX('Z', 0, ANALOG)>; /* I2C2_SCL */
1021 };
Patrick Delaunay50599142018-07-09 15:17:19 +02001022 };
1023
1024 i2c4_pins_a: i2c4-0 {
1025 pins {
1026 pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */
1027 <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */
1028 bias-disable;
1029 drive-open-drain;
1030 slew-rate = <0>;
1031 };
1032 };
Patrice Chotard00442d02019-02-12 16:50:38 +01001033
Patrick Delaunaya3705302019-07-11 11:15:28 +02001034 i2c4_pins_sleep_a: i2c4-1 {
1035 pins {
1036 pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C4_SCL */
1037 <STM32_PINMUX('Z', 5, ANALOG)>; /* I2C4_SDA */
1038 };
1039 };
1040
Patrice Chotard00442d02019-02-12 16:50:38 +01001041 spi1_pins_a: spi1-0 {
1042 pins1 {
1043 pinmux = <STM32_PINMUX('Z', 0, AF5)>, /* SPI1_SCK */
1044 <STM32_PINMUX('Z', 2, AF5)>; /* SPI1_MOSI */
1045 bias-disable;
1046 drive-push-pull;
1047 slew-rate = <1>;
1048 };
1049
1050 pins2 {
1051 pinmux = <STM32_PINMUX('Z', 1, AF5)>; /* SPI1_MISO */
1052 bias-disable;
1053 };
1054 };
Patrick Delaunay50599142018-07-09 15:17:19 +02001055 };
1056 };
1057};