Loading...
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2014 STMicroelectronics Limited.
4 * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
5 */
6#include "st-pincfg.h"
7#include <dt-bindings/interrupt-controller/arm-gic.h>
8/ {
9
10 aliases {
11 /* 0-5: PIO_SBC */
12 gpio0 = &pio0;
13 gpio1 = &pio1;
14 gpio2 = &pio2;
15 gpio3 = &pio3;
16 gpio4 = &pio4;
17 gpio5 = &pio5;
18 /* 10-19: PIO_FRONT0 */
19 gpio6 = &pio10;
20 gpio7 = &pio11;
21 gpio8 = &pio12;
22 gpio9 = &pio13;
23 gpio10 = &pio14;
24 gpio11 = &pio15;
25 gpio12 = &pio16;
26 gpio13 = &pio17;
27 gpio14 = &pio18;
28 gpio15 = &pio19;
29 /* 20: PIO_FRONT1 */
30 gpio16 = &pio20;
31 /* 30-35: PIO_REAR */
32 gpio17 = &pio30;
33 gpio18 = &pio31;
34 gpio19 = &pio32;
35 gpio20 = &pio33;
36 gpio21 = &pio34;
37 gpio22 = &pio35;
38 /* 40-42: PIO_FLASH */
39 gpio23 = &pio40;
40 gpio24 = &pio41;
41 gpio25 = &pio42;
42 };
43
44 soc {
45 pin-controller-sbc@961f080 {
46 #address-cells = <1>;
47 #size-cells = <1>;
48 compatible = "st,stih407-sbc-pinctrl";
49 st,syscfg = <&syscfg_sbc>;
50 reg = <0x0961f080 0x4>;
51 reg-names = "irqmux";
52 interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
53 interrupt-names = "irqmux";
54 ranges = <0 0x09610000 0x6000>;
55
56 pio0: gpio@9610000 {
57 gpio-controller;
58 #gpio-cells = <2>;
59 interrupt-controller;
60 #interrupt-cells = <2>;
61 reg = <0x0 0x100>;
62 st,bank-name = "PIO0";
63 };
64 pio1: gpio@9611000 {
65 gpio-controller;
66 #gpio-cells = <2>;
67 interrupt-controller;
68 #interrupt-cells = <2>;
69 reg = <0x1000 0x100>;
70 st,bank-name = "PIO1";
71 };
72 pio2: gpio@9612000 {
73 gpio-controller;
74 #gpio-cells = <2>;
75 interrupt-controller;
76 #interrupt-cells = <2>;
77 reg = <0x2000 0x100>;
78 st,bank-name = "PIO2";
79 };
80 pio3: gpio@9613000 {
81 gpio-controller;
82 #gpio-cells = <2>;
83 interrupt-controller;
84 #interrupt-cells = <2>;
85 reg = <0x3000 0x100>;
86 st,bank-name = "PIO3";
87 };
88 pio4: gpio@9614000 {
89 gpio-controller;
90 #gpio-cells = <2>;
91 interrupt-controller;
92 #interrupt-cells = <2>;
93 reg = <0x4000 0x100>;
94 st,bank-name = "PIO4";
95 };
96
97 pio5: gpio@9615000 {
98 gpio-controller;
99 #gpio-cells = <2>;
100 interrupt-controller;
101 #interrupt-cells = <2>;
102 reg = <0x5000 0x100>;
103 st,bank-name = "PIO5";
104 st,retime-pin-mask = <0x3f>;
105 };
106
107 cec0 {
108 pinctrl_cec0_default: cec0-default {
109 st,pins {
110 hdmi_cec = <&pio2 4 ALT1 BIDIR>;
111 };
112 };
113 };
114
115 rc {
116 pinctrl_ir: ir0 {
117 st,pins {
118 ir = <&pio4 0 ALT2 IN>;
119 };
120 };
121
122 pinctrl_uhf: uhf0 {
123 st,pins {
124 ir = <&pio4 1 ALT2 IN>;
125 };
126 };
127
128 pinctrl_tx: tx0 {
129 st,pins {
130 tx = <&pio4 2 ALT2 OUT>;
131 };
132 };
133
134 pinctrl_tx_od: tx_od0 {
135 st,pins {
136 tx_od = <&pio4 3 ALT2 OUT>;
137 };
138 };
139 };
140
141 /* SBC_ASC0 - UART10 */
142 sbc_serial0 {
143 pinctrl_sbc_serial0: sbc_serial0-0 {
144 st,pins {
145 tx = <&pio3 4 ALT1 OUT>;
146 rx = <&pio3 5 ALT1 IN>;
147 };
148 };
149 };
150 /* SBC_ASC1 - UART11 */
151 sbc_serial1 {
152 pinctrl_sbc_serial1: sbc_serial1-0 {
153 st,pins {
154 tx = <&pio2 6 ALT3 OUT>;
155 rx = <&pio2 7 ALT3 IN>;
156 };
157 };
158 };
159
160 i2c10 {
161 pinctrl_i2c10_default: i2c10-default {
162 st,pins {
163 sda = <&pio4 6 ALT1 BIDIR>;
164 scl = <&pio4 5 ALT1 BIDIR>;
165 };
166 };
167 };
168
169 i2c11 {
170 pinctrl_i2c11_default: i2c11-default {
171 st,pins {
172 sda = <&pio5 1 ALT1 BIDIR>;
173 scl = <&pio5 0 ALT1 BIDIR>;
174 };
175 };
176 };
177
178 keyscan {
179 pinctrl_keyscan: keyscan {
180 st,pins {
181 keyin0 = <&pio4 0 ALT6 IN>;
182 keyin1 = <&pio4 5 ALT4 IN>;
183 keyin2 = <&pio0 4 ALT2 IN>;
184 keyin3 = <&pio2 6 ALT2 IN>;
185
186 keyout0 = <&pio4 6 ALT4 OUT>;
187 keyout1 = <&pio1 7 ALT2 OUT>;
188 keyout2 = <&pio0 6 ALT2 OUT>;
189 keyout3 = <&pio2 7 ALT2 OUT>;
190 };
191 };
192 };
193
194 gmac1 {
195 /*
196 * Almost all the boards based on STiH407 SoC have an embedded
197 * switch where the mdio/mdc have been used for managing the SMI
198 * iface via I2C. For this reason these lines can be allocated
199 * by using dedicated configuration (in case of there will be a
200 * standard PHY transceiver on-board).
201 */
202 pinctrl_rgmii1: rgmii1-0 {
203 st,pins {
204
205 txd0 = <&pio0 0 ALT1 OUT DE_IO 0 CLK_A>;
206 txd1 = <&pio0 1 ALT1 OUT DE_IO 0 CLK_A>;
207 txd2 = <&pio0 2 ALT1 OUT DE_IO 0 CLK_A>;
208 txd3 = <&pio0 3 ALT1 OUT DE_IO 0 CLK_A>;
209 txen = <&pio0 5 ALT1 OUT DE_IO 0 CLK_A>;
210 txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>;
211 rxd0 = <&pio1 4 ALT1 IN DE_IO 0 CLK_A>;
212 rxd1 = <&pio1 5 ALT1 IN DE_IO 0 CLK_A>;
213 rxd2 = <&pio1 6 ALT1 IN DE_IO 0 CLK_A>;
214 rxd3 = <&pio1 7 ALT1 IN DE_IO 0 CLK_A>;
215 rxdv = <&pio2 0 ALT1 IN DE_IO 0 CLK_A>;
216 rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>;
217 clk125 = <&pio3 7 ALT4 IN NICLK 0 CLK_A>;
218 phyclk = <&pio2 3 ALT4 OUT NICLK 1250 CLK_B>;
219 };
220 };
221
222 pinctrl_rgmii1_mdio: rgmii1-mdio {
223 st,pins {
224 mdio = <&pio1 0 ALT1 OUT BYPASS 0>;
225 mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
226 mdint = <&pio1 3 ALT1 IN BYPASS 0>;
227 };
228 };
229
230 pinctrl_rgmii1_mdio_1: rgmii1-mdio-1 {
231 st,pins {
232 mdio = <&pio1 0 ALT1 OUT BYPASS 0>;
233 mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
234 };
235 };
236
237 pinctrl_mii1: mii1 {
238 st,pins {
239 txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
240 txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
241 txd2 = <&pio0 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
242 txd3 = <&pio0 3 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
243 txer = <&pio0 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
244 txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
245 txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>;
246 col = <&pio0 7 ALT1 IN BYPASS 1000>;
247
248 mdio = <&pio1 0 ALT1 OUT BYPASS 1500>;
249 mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
250 crs = <&pio1 2 ALT1 IN BYPASS 1000>;
251 mdint = <&pio1 3 ALT1 IN BYPASS 0>;
252 rxd0 = <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
253 rxd1 = <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
254 rxd2 = <&pio1 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
255 rxd3 = <&pio1 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;
256
257 rxdv = <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
258 rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
259 rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>;
260 phyclk = <&pio2 3 ALT1 OUT NICLK 0 CLK_A>;
261 };
262 };
263
264 pinctrl_rmii1: rmii1-0 {
265 st,pins {
266 txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
267 txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
268 txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
269 mdio = <&pio1 0 ALT1 OUT BYPASS 0>;
270 mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
271 mdint = <&pio1 3 ALT1 IN BYPASS 0>;
272 rxd0 = <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_B>;
273 rxd1 = <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_B>;
274 rxdv = <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_B>;
275 rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
276 };
277 };
278
279 pinctrl_rmii1_phyclk: rmii1_phyclk {
280 st,pins {
281 phyclk = <&pio2 3 ALT1 OUT NICLK 0 CLK_A>;
282 };
283 };
284
285 pinctrl_rmii1_phyclk_ext: rmii1_phyclk_ext {
286 st,pins {
287 phyclk = <&pio2 3 ALT2 IN NICLK 0 CLK_A>;
288 };
289 };
290 };
291
292 pwm1 {
293 pinctrl_pwm1_chan0_default: pwm1-0-default {
294 st,pins {
295 pwm-out = <&pio3 0 ALT1 OUT>;
296 pwm-capturein = <&pio3 2 ALT1 IN>;
297 };
298 };
299 pinctrl_pwm1_chan1_default: pwm1-1-default {
300 st,pins {
301 pwm-capturein = <&pio4 3 ALT1 IN>;
302 pwm-out = <&pio4 4 ALT1 OUT>;
303 };
304 };
305 pinctrl_pwm1_chan2_default: pwm1-2-default {
306 st,pins {
307 pwm-out = <&pio4 6 ALT3 OUT>;
308 };
309 };
310 pinctrl_pwm1_chan3_default: pwm1-3-default {
311 st,pins {
312 pwm-out = <&pio4 7 ALT3 OUT>;
313 };
314 };
315 };
316
317 spi10 {
318 pinctrl_spi10_default: spi10-4w-alt1-0 {
319 st,pins {
320 mtsr = <&pio4 6 ALT1 OUT>;
321 mrst = <&pio4 7 ALT1 IN>;
322 scl = <&pio4 5 ALT1 OUT>;
323 };
324 };
325
326 pinctrl_spi10_3w_alt1_0: spi10-3w-alt1-0 {
327 st,pins {
328 mtsr = <&pio4 6 ALT1 BIDIR_PU>;
329 scl = <&pio4 5 ALT1 OUT>;
330 };
331 };
332 };
333
334 spi11 {
335 pinctrl_spi11_default: spi11-4w-alt2-0 {
336 st,pins {
337 mtsr = <&pio3 1 ALT2 OUT>;
338 mrst = <&pio3 0 ALT2 IN>;
339 scl = <&pio3 2 ALT2 OUT>;
340 };
341 };
342
343 pinctrl_spi11_3w_alt2_0: spi11-3w-alt2-0 {
344 st,pins {
345 mtsr = <&pio3 1 ALT2 BIDIR_PU>;
346 scl = <&pio3 2 ALT2 OUT>;
347 };
348 };
349 };
350
351 spi12 {
352 pinctrl_spi12_default: spi12-4w-alt2-0 {
353 st,pins {
354 mtsr = <&pio3 6 ALT2 OUT>;
355 mrst = <&pio3 4 ALT2 IN>;
356 scl = <&pio3 7 ALT2 OUT>;
357 };
358 };
359
360 pinctrl_spi12_3w_alt2_0: spi12-3w-alt2-0 {
361 st,pins {
362 mtsr = <&pio3 6 ALT2 BIDIR_PU>;
363 scl = <&pio3 7 ALT2 OUT>;
364 };
365 };
366 };
367 };
368
369 pin-controller-front0@920f080 {
370 #address-cells = <1>;
371 #size-cells = <1>;
372 compatible = "st,stih407-front-pinctrl";
373 st,syscfg = <&syscfg_front>;
374 reg = <0x0920f080 0x4>;
375 reg-names = "irqmux";
376 interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
377 interrupt-names = "irqmux";
378 ranges = <0 0x09200000 0x10000>;
379
380 pio10: pio@9200000 {
381 gpio-controller;
382 #gpio-cells = <2>;
383 interrupt-controller;
384 #interrupt-cells = <2>;
385 reg = <0x0 0x100>;
386 st,bank-name = "PIO10";
387 };
388 pio11: pio@9201000 {
389 gpio-controller;
390 #gpio-cells = <2>;
391 interrupt-controller;
392 #interrupt-cells = <2>;
393 reg = <0x1000 0x100>;
394 st,bank-name = "PIO11";
395 };
396 pio12: pio@9202000 {
397 gpio-controller;
398 #gpio-cells = <2>;
399 interrupt-controller;
400 #interrupt-cells = <2>;
401 reg = <0x2000 0x100>;
402 st,bank-name = "PIO12";
403 };
404 pio13: pio@9203000 {
405 gpio-controller;
406 #gpio-cells = <2>;
407 interrupt-controller;
408 #interrupt-cells = <2>;
409 reg = <0x3000 0x100>;
410 st,bank-name = "PIO13";
411 };
412 pio14: pio@9204000 {
413 gpio-controller;
414 #gpio-cells = <2>;
415 interrupt-controller;
416 #interrupt-cells = <2>;
417 reg = <0x4000 0x100>;
418 st,bank-name = "PIO14";
419 };
420 pio15: pio@9205000 {
421 gpio-controller;
422 #gpio-cells = <2>;
423 interrupt-controller;
424 #interrupt-cells = <2>;
425 reg = <0x5000 0x100>;
426 st,bank-name = "PIO15";
427 };
428 pio16: pio@9206000 {
429 gpio-controller;
430 #gpio-cells = <2>;
431 interrupt-controller;
432 #interrupt-cells = <2>;
433 reg = <0x6000 0x100>;
434 st,bank-name = "PIO16";
435 };
436 pio17: pio@9207000 {
437 gpio-controller;
438 #gpio-cells = <2>;
439 interrupt-controller;
440 #interrupt-cells = <2>;
441 reg = <0x7000 0x100>;
442 st,bank-name = "PIO17";
443 };
444 pio18: pio@9208000 {
445 gpio-controller;
446 #gpio-cells = <2>;
447 interrupt-controller;
448 #interrupt-cells = <2>;
449 reg = <0x8000 0x100>;
450 st,bank-name = "PIO18";
451 };
452 pio19: pio@9209000 {
453 gpio-controller;
454 #gpio-cells = <2>;
455 interrupt-controller;
456 #interrupt-cells = <2>;
457 reg = <0x9000 0x100>;
458 st,bank-name = "PIO19";
459 };
460
461 /* Comms */
462 serial0 {
463 pinctrl_serial0: serial0-0 {
464 st,pins {
465 tx = <&pio17 0 ALT1 OUT>;
466 rx = <&pio17 1 ALT1 IN>;
467 };
468 };
469 pinctrl_serial0_hw_flowctrl: serial0-0_hw_flowctrl {
470 st,pins {
471 tx = <&pio17 0 ALT1 OUT>;
472 rx = <&pio17 1 ALT1 IN>;
473 cts = <&pio17 2 ALT1 IN>;
474 rts = <&pio17 3 ALT1 OUT>;
475 };
476 };
477 };
478
479 serial1 {
480 pinctrl_serial1: serial1-0 {
481 st,pins {
482 tx = <&pio16 0 ALT1 OUT>;
483 rx = <&pio16 1 ALT1 IN>;
484 };
485 };
486 };
487
488 serial2 {
489 pinctrl_serial2: serial2-0 {
490 st,pins {
491 tx = <&pio15 0 ALT1 OUT>;
492 rx = <&pio15 1 ALT1 IN>;
493 };
494 };
495 };
496
497 mmc1 {
498 pinctrl_sd1: sd1-0 {
499 st,pins {
500 sd_clk = <&pio19 3 ALT5 BIDIR NICLK 0 CLK_B>;
501 sd_cmd = <&pio19 2 ALT5 BIDIR_PU BYPASS 0>;
502 sd_dat0 = <&pio19 4 ALT5 BIDIR_PU BYPASS 0>;
503 sd_dat1 = <&pio19 5 ALT5 BIDIR_PU BYPASS 0>;
504 sd_dat2 = <&pio19 6 ALT5 BIDIR_PU BYPASS 0>;
505 sd_dat3 = <&pio19 7 ALT5 BIDIR_PU BYPASS 0>;
506 sd_led = <&pio16 6 ALT6 OUT>;
507 sd_pwren = <&pio16 7 ALT6 OUT>;
508 sd_cd = <&pio19 0 ALT6 IN>;
509 sd_wp = <&pio19 1 ALT6 IN>;
510 };
511 };
512 };
513
514
515 i2c0 {
516 pinctrl_i2c0_default: i2c0-default {
517 st,pins {
518 sda = <&pio10 6 ALT2 BIDIR>;
519 scl = <&pio10 5 ALT2 BIDIR>;
520 };
521 };
522 };
523
524 i2c1 {
525 pinctrl_i2c1_default: i2c1-default {
526 st,pins {
527 sda = <&pio11 1 ALT2 BIDIR>;
528 scl = <&pio11 0 ALT2 BIDIR>;
529 };
530 };
531 };
532
533 i2c2 {
534 pinctrl_i2c2_default: i2c2-default {
535 st,pins {
536 sda = <&pio15 6 ALT2 BIDIR>;
537 scl = <&pio15 5 ALT2 BIDIR>;
538 };
539 };
540
541 pinctrl_i2c2_alt2_1: i2c2-alt2-1 {
542 st,pins {
543 sda = <&pio12 6 ALT2 BIDIR>;
544 scl = <&pio12 5 ALT2 BIDIR>;
545 };
546 };
547 };
548
549 i2c3 {
550 pinctrl_i2c3_default: i2c3-alt1-0 {
551 st,pins {
552 sda = <&pio18 6 ALT1 BIDIR>;
553 scl = <&pio18 5 ALT1 BIDIR>;
554 };
555 };
556 pinctrl_i2c3_alt1_1: i2c3-alt1-1 {
557 st,pins {
558 sda = <&pio17 7 ALT1 BIDIR>;
559 scl = <&pio17 6 ALT1 BIDIR>;
560 };
561 };
562 pinctrl_i2c3_alt3_0: i2c3-alt3-0 {
563 st,pins {
564 sda = <&pio13 6 ALT3 BIDIR>;
565 scl = <&pio13 5 ALT3 BIDIR>;
566 };
567 };
568 };
569
570 spi0 {
571 pinctrl_spi0_default: spi0-4w-alt2-0 {
572 st,pins {
573 mtsr = <&pio10 6 ALT2 OUT>;
574 mrst = <&pio10 7 ALT2 IN>;
575 scl = <&pio10 5 ALT2 OUT>;
576 };
577 };
578
579 pinctrl_spi0_3w_alt2_0: spi0-3w-alt2-0 {
580 st,pins {
581 mtsr = <&pio10 6 ALT2 BIDIR_PU>;
582 scl = <&pio10 5 ALT2 OUT>;
583 };
584 };
585
586 pinctrl_spi0_4w_alt1_0: spi0-4w-alt1-0 {
587 st,pins {
588 mtsr = <&pio19 7 ALT1 OUT>;
589 mrst = <&pio19 5 ALT1 IN>;
590 scl = <&pio19 6 ALT1 OUT>;
591 };
592 };
593
594 pinctrl_spi0_3w_alt1_0: spi0-3w-alt1-0 {
595 st,pins {
596 mtsr = <&pio19 7 ALT1 BIDIR_PU>;
597 scl = <&pio19 6 ALT1 OUT>;
598 };
599 };
600 };
601
602 spi1 {
603 pinctrl_spi1_default: spi1-4w-alt2-0 {
604 st,pins {
605 mtsr = <&pio11 1 ALT2 OUT>;
606 mrst = <&pio11 2 ALT2 IN>;
607 scl = <&pio11 0 ALT2 OUT>;
608 };
609 };
610
611 pinctrl_spi1_3w_alt2_0: spi1-3w-alt2-0 {
612 st,pins {
613 mtsr = <&pio11 1 ALT2 BIDIR_PU>;
614 scl = <&pio11 0 ALT2 OUT>;
615 };
616 };
617
618 pinctrl_spi1_4w_alt1_0: spi1-4w-alt1-0 {
619 st,pins {
620 mtsr = <&pio14 3 ALT1 OUT>;
621 mrst = <&pio14 4 ALT1 IN>;
622 scl = <&pio14 2 ALT1 OUT>;
623 };
624 };
625
626 pinctrl_spi1_3w_alt1_0: spi1-3w-alt1-0 {
627 st,pins {
628 mtsr = <&pio14 3 ALT1 BIDIR_PU>;
629 scl = <&pio14 2 ALT1 OUT>;
630 };
631 };
632 };
633
634 spi2 {
635 pinctrl_spi2_default: spi2-4w-alt2-0 {
636 st,pins {
637 mtsr = <&pio12 6 ALT2 OUT>;
638 mrst = <&pio12 7 ALT2 IN>;
639 scl = <&pio12 5 ALT2 OUT>;
640 };
641 };
642
643 pinctrl_spi2_3w_alt2_0: spi2-3w-alt2-0 {
644 st,pins {
645 mtsr = <&pio12 6 ALT2 BIDIR_PU>;
646 scl = <&pio12 5 ALT2 OUT>;
647 };
648 };
649
650 pinctrl_spi2_4w_alt1_0: spi2-4w-alt1-0 {
651 st,pins {
652 mtsr = <&pio14 6 ALT1 OUT>;
653 mrst = <&pio14 7 ALT1 IN>;
654 scl = <&pio14 5 ALT1 OUT>;
655 };
656 };
657
658 pinctrl_spi2_3w_alt1_0: spi2-3w-alt1-0 {
659 st,pins {
660 mtsr = <&pio14 6 ALT1 BIDIR_PU>;
661 scl = <&pio14 5 ALT1 OUT>;
662 };
663 };
664
665 pinctrl_spi2_4w_alt2_1: spi2-4w-alt2-1 {
666 st,pins {
667 mtsr = <&pio15 6 ALT2 OUT>;
668 mrst = <&pio15 7 ALT2 IN>;
669 scl = <&pio15 5 ALT2 OUT>;
670 };
671 };
672
673 pinctrl_spi2_3w_alt2_1: spi2-3w-alt2-1 {
674 st,pins {
675 mtsr = <&pio15 6 ALT2 BIDIR_PU>;
676 scl = <&pio15 5 ALT2 OUT>;
677 };
678 };
679 };
680
681 spi3 {
682 pinctrl_spi3_default: spi3-4w-alt3-0 {
683 st,pins {
684 mtsr = <&pio13 6 ALT3 OUT>;
685 mrst = <&pio13 7 ALT3 IN>;
686 scl = <&pio13 5 ALT3 OUT>;
687 };
688 };
689
690 pinctrl_spi3_3w_alt3_0: spi3-3w-alt3-0 {
691 st,pins {
692 mtsr = <&pio13 6 ALT3 BIDIR_PU>;
693 scl = <&pio13 5 ALT3 OUT>;
694 };
695 };
696
697 pinctrl_spi3_4w_alt1_0: spi3-4w-alt1-0 {
698 st,pins {
699 mtsr = <&pio17 7 ALT1 OUT>;
700 mrst = <&pio17 5 ALT1 IN>;
701 scl = <&pio17 6 ALT1 OUT>;
702 };
703 };
704
705 pinctrl_spi3_3w_alt1_0: spi3-3w-alt1-0 {
706 st,pins {
707 mtsr = <&pio17 7 ALT1 BIDIR_PU>;
708 scl = <&pio17 6 ALT1 OUT>;
709 };
710 };
711
712 pinctrl_spi3_4w_alt1_1: spi3-4w-alt1-1 {
713 st,pins {
714 mtsr = <&pio18 6 ALT1 OUT>;
715 mrst = <&pio18 7 ALT1 IN>;
716 scl = <&pio18 5 ALT1 OUT>;
717 };
718 };
719
720 pinctrl_spi3_3w_alt1_1: spi3-3w-alt1-1 {
721 st,pins {
722 mtsr = <&pio18 6 ALT1 BIDIR_PU>;
723 scl = <&pio18 5 ALT1 OUT>;
724 };
725 };
726 };
727
728 tsin0 {
729 pinctrl_tsin0_parallel: tsin0_parallel {
730 st,pins {
731 DATA7 = <&pio10 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
732 DATA6 = <&pio10 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
733 DATA5 = <&pio10 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
734 DATA4 = <&pio10 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;
735 DATA3 = <&pio11 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
736 DATA2 = <&pio11 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
737 DATA1 = <&pio11 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
738 DATA0 = <&pio11 3 ALT1 IN SE_NICLK_IO 0 CLK_A>;
739 CLKIN = <&pio10 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
740 VALID = <&pio10 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
741 ERROR = <&pio10 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
742 PKCLK = <&pio10 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
743 };
744 };
745 pinctrl_tsin0_serial: tsin0_serial {
746 st,pins {
747 DATA7 = <&pio10 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
748 CLKIN = <&pio10 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
749 VALID = <&pio10 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
750 ERROR = <&pio10 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
751 PKCLK = <&pio10 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
752 };
753 };
754 };
755
756 tsin1 {
757 pinctrl_tsin1_parallel: tsin1_parallel {
758 st,pins {
759 DATA7 = <&pio12 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
760 DATA6 = <&pio12 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
761 DATA5 = <&pio12 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
762 DATA4 = <&pio12 3 ALT1 IN SE_NICLK_IO 0 CLK_A>;
763 DATA3 = <&pio12 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
764 DATA2 = <&pio12 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
765 DATA1 = <&pio12 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
766 DATA0 = <&pio12 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;
767 CLKIN = <&pio11 7 ALT1 IN CLKNOTDATA 0 CLK_A>;
768 VALID = <&pio11 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
769 ERROR = <&pio11 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
770 PKCLK = <&pio11 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
771 };
772 };
773 pinctrl_tsin1_serial: tsin1_serial {
774 st,pins {
775 DATA7 = <&pio12 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
776 CLKIN = <&pio11 7 ALT1 IN CLKNOTDATA 0 CLK_A>;
777 VALID = <&pio11 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
778 ERROR = <&pio11 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
779 PKCLK = <&pio11 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
780 };
781 };
782 };
783
784 tsin2 {
785 pinctrl_tsin2_parallel: tsin2_parallel {
786 st,pins {
787 DATA7 = <&pio13 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
788 DATA6 = <&pio13 5 ALT2 IN SE_NICLK_IO 0 CLK_B>;
789 DATA5 = <&pio13 6 ALT2 IN SE_NICLK_IO 0 CLK_B>;
790 DATA4 = <&pio13 7 ALT2 IN SE_NICLK_IO 0 CLK_B>;
791 DATA3 = <&pio14 0 ALT2 IN SE_NICLK_IO 0 CLK_A>;
792 DATA2 = <&pio14 1 ALT2 IN SE_NICLK_IO 0 CLK_B>;
793 DATA1 = <&pio14 2 ALT2 IN SE_NICLK_IO 0 CLK_A>;
794 DATA0 = <&pio14 3 ALT2 IN SE_NICLK_IO 0 CLK_A>;
795 CLKIN = <&pio13 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
796 VALID = <&pio13 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
797 ERROR = <&pio13 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
798 PKCLK = <&pio13 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
799 };
800 };
801 pinctrl_tsin2_serial: tsin2_serial {
802 st,pins {
803 DATA7 = <&pio13 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
804 CLKIN = <&pio13 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
805 VALID = <&pio13 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
806 ERROR = <&pio13 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
807 PKCLK = <&pio13 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
808 };
809 };
810 };
811
812 tsin3 {
813 pinctrl_tsin3_serial: tsin3_serial {
814 st,pins {
815 DATA7 = <&pio14 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
816 CLKIN = <&pio14 0 ALT1 IN CLKNOTDATA 0 CLK_A>;
817 VALID = <&pio13 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
818 ERROR = <&pio13 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
819 PKCLK = <&pio13 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;
820 };
821 };
822 };
823
824 tsin4 {
825 pinctrl_tsin4_serial_alt3: tsin4_serial_alt3 {
826 st,pins {
827 DATA7 = <&pio14 6 ALT3 IN SE_NICLK_IO 0 CLK_A>;
828 CLKIN = <&pio14 5 ALT3 IN CLKNOTDATA 0 CLK_A>;
829 VALID = <&pio14 3 ALT3 IN SE_NICLK_IO 0 CLK_B>;
830 ERROR = <&pio14 2 ALT3 IN SE_NICLK_IO 0 CLK_B>;
831 PKCLK = <&pio14 4 ALT3 IN SE_NICLK_IO 0 CLK_A>;
832 };
833 };
834 };
835
836 tsin5 {
837 pinctrl_tsin5_serial_alt1: tsin5_serial_alt1 {
838 st,pins {
839 DATA7 = <&pio18 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
840 CLKIN = <&pio18 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
841 VALID = <&pio18 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
842 ERROR = <&pio18 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
843 PKCLK = <&pio18 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
844 };
845 };
846 pinctrl_tsin5_serial_alt2: tsin5_serial_alt2 {
847 st,pins {
848 DATA7 = <&pio19 4 ALT2 IN SE_NICLK_IO 0 CLK_A>;
849 CLKIN = <&pio19 3 ALT2 IN CLKNOTDATA 0 CLK_A>;
850 VALID = <&pio19 1 ALT2 IN SE_NICLK_IO 0 CLK_A>;
851 ERROR = <&pio19 0 ALT2 IN SE_NICLK_IO 0 CLK_A>;
852 PKCLK = <&pio19 2 ALT2 IN SE_NICLK_IO 0 CLK_A>;
853 };
854 };
855 };
856
857 tsout0 {
858 pinctrl_tsout0_parallel: tsout0_parallel {
859 st,pins {
860 DATA7 = <&pio12 0 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
861 DATA6 = <&pio12 1 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
862 DATA5 = <&pio12 2 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
863 DATA4 = <&pio12 3 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
864 DATA3 = <&pio12 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
865 DATA2 = <&pio12 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
866 DATA1 = <&pio12 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
867 DATA0 = <&pio12 7 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
868 CLKIN = <&pio11 7 ALT3 OUT NICLK 0 CLK_A>;
869 VALID = <&pio11 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
870 ERROR = <&pio11 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
871 PKCLK = <&pio11 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
872 };
873 };
874 pinctrl_tsout0_serial: tsout0_serial {
875 st,pins {
876 DATA7 = <&pio12 0 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
877 CLKIN = <&pio11 7 ALT3 OUT NICLK 0 CLK_A>;
878 VALID = <&pio11 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
879 ERROR = <&pio11 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
880 PKCLK = <&pio11 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
881 };
882 };
883 };
884
885 tsout1 {
886 pinctrl_tsout1_serial: tsout1_serial {
887 st,pins {
888 DATA7 = <&pio19 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
889 CLKIN = <&pio19 3 ALT1 OUT NICLK 0 CLK_A>;
890 VALID = <&pio19 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
891 ERROR = <&pio19 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
892 PKCLK = <&pio19 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
893 };
894 };
895 };
896
897 mtsin0 {
898 pinctrl_mtsin0_parallel: mtsin0_parallel {
899 st,pins {
900 DATA7 = <&pio10 4 ALT3 IN SE_NICLK_IO 0 CLK_A>;
901 DATA6 = <&pio10 5 ALT3 IN SE_NICLK_IO 0 CLK_A>;
902 DATA5 = <&pio10 6 ALT3 IN SE_NICLK_IO 0 CLK_A>;
903 DATA4 = <&pio10 7 ALT3 IN SE_NICLK_IO 0 CLK_A>;
904 DATA3 = <&pio11 0 ALT3 IN SE_NICLK_IO 0 CLK_A>;
905 DATA2 = <&pio11 1 ALT3 IN SE_NICLK_IO 0 CLK_A>;
906 DATA1 = <&pio11 2 ALT3 IN SE_NICLK_IO 0 CLK_A>;
907 DATA0 = <&pio11 3 ALT3 IN SE_NICLK_IO 0 CLK_A>;
908 CLKIN = <&pio10 3 ALT3 IN CLKNOTDATA 0 CLK_A>;
909 VALID = <&pio10 1 ALT3 IN SE_NICLK_IO 0 CLK_A>;
910 ERROR = <&pio10 0 ALT3 IN SE_NICLK_IO 0 CLK_A>;
911 PKCLK = <&pio10 2 ALT3 IN SE_NICLK_IO 0 CLK_A>;
912 };
913 };
914 };
915
916 systrace {
917 pinctrl_systrace_default: systrace-default {
918 st,pins {
919 trc_data0 = <&pio11 3 ALT5 OUT>;
920 trc_data1 = <&pio11 4 ALT5 OUT>;
921 trc_data2 = <&pio11 5 ALT5 OUT>;
922 trc_data3 = <&pio11 6 ALT5 OUT>;
923 trc_clk = <&pio11 7 ALT5 OUT>;
924 };
925 };
926 };
927 };
928
929 pin-controller-front1@921f080 {
930 #address-cells = <1>;
931 #size-cells = <1>;
932 compatible = "st,stih407-front-pinctrl";
933 st,syscfg = <&syscfg_front>;
934 reg = <0x0921f080 0x4>;
935 reg-names = "irqmux";
936 interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
937 interrupt-names = "irqmux";
938 ranges = <0 0x09210000 0x10000>;
939
940 pio20: pio@9210000 {
941 gpio-controller;
942 #gpio-cells = <2>;
943 interrupt-controller;
944 #interrupt-cells = <2>;
945 reg = <0x0 0x100>;
946 st,bank-name = "PIO20";
947 };
948
949 tsin4 {
950 pinctrl_tsin4_serial_alt1: tsin4_serial_alt1 {
951 st,pins {
952 DATA7 = <&pio20 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
953 CLKIN = <&pio20 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
954 VALID = <&pio20 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
955 ERROR = <&pio20 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
956 PKCLK = <&pio20 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
957 };
958 };
959 };
960 };
961
962 pin-controller-rear@922f080 {
963 #address-cells = <1>;
964 #size-cells = <1>;
965 compatible = "st,stih407-rear-pinctrl";
966 st,syscfg = <&syscfg_rear>;
967 reg = <0x0922f080 0x4>;
968 reg-names = "irqmux";
969 interrupts = <GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>;
970 interrupt-names = "irqmux";
971 ranges = <0 0x09220000 0x6000>;
972
973 pio30: gpio@9220000 {
974 gpio-controller;
975 #gpio-cells = <2>;
976 interrupt-controller;
977 #interrupt-cells = <2>;
978 reg = <0x0 0x100>;
979 st,bank-name = "PIO30";
980 };
981 pio31: gpio@9221000 {
982 gpio-controller;
983 #gpio-cells = <2>;
984 interrupt-controller;
985 #interrupt-cells = <2>;
986 reg = <0x1000 0x100>;
987 st,bank-name = "PIO31";
988 };
989 pio32: gpio@9222000 {
990 gpio-controller;
991 #gpio-cells = <2>;
992 interrupt-controller;
993 #interrupt-cells = <2>;
994 reg = <0x2000 0x100>;
995 st,bank-name = "PIO32";
996 };
997 pio33: gpio@9223000 {
998 gpio-controller;
999 #gpio-cells = <2>;
1000 interrupt-controller;
1001 #interrupt-cells = <2>;
1002 reg = <0x3000 0x100>;
1003 st,bank-name = "PIO33";
1004 };
1005 pio34: gpio@9224000 {
1006 gpio-controller;
1007 #gpio-cells = <2>;
1008 interrupt-controller;
1009 #interrupt-cells = <2>;
1010 reg = <0x4000 0x100>;
1011 st,bank-name = "PIO34";
1012 };
1013 pio35: gpio@9225000 {
1014 gpio-controller;
1015 #gpio-cells = <2>;
1016 interrupt-controller;
1017 #interrupt-cells = <2>;
1018 reg = <0x5000 0x100>;
1019 st,bank-name = "PIO35";
1020 st,retime-pin-mask = <0x7f>;
1021 };
1022
1023 i2c4 {
1024 pinctrl_i2c4_default: i2c4-default {
1025 st,pins {
1026 sda = <&pio30 1 ALT1 BIDIR>;
1027 scl = <&pio30 0 ALT1 BIDIR>;
1028 };
1029 };
1030 };
1031
1032 i2c5 {
1033 pinctrl_i2c5_default: i2c5-default {
1034 st,pins {
1035 sda = <&pio34 4 ALT1 BIDIR>;
1036 scl = <&pio34 3 ALT1 BIDIR>;
1037 };
1038 };
1039 };
1040
1041 usb3 {
1042 pinctrl_usb3: usb3-2 {
1043 st,pins {
1044 usb-oc-detect = <&pio35 4 ALT1 IN>;
1045 usb-pwr-enable = <&pio35 5 ALT1 OUT>;
1046 usb-vbus-valid = <&pio35 6 ALT1 IN>;
1047 };
1048 };
1049 };
1050
1051 pwm0 {
1052 pinctrl_pwm0_chan0_default: pwm0-0-default {
1053 st,pins {
1054 pwm-capturein = <&pio31 0 ALT1 IN>;
1055 pwm-out = <&pio31 1 ALT1 OUT>;
1056 };
1057 };
1058 };
1059
1060 spi4 {
1061 pinctrl_spi4_default: spi4-4w-alt1-0 {
1062 st,pins {
1063 mtsr = <&pio30 1 ALT1 OUT>;
1064 mrst = <&pio30 2 ALT1 IN>;
1065 scl = <&pio30 0 ALT1 OUT>;
1066 };
1067 };
1068
1069 pinctrl_spi4_3w_alt1_0: spi4-3w-alt1-0 {
1070 st,pins {
1071 mtsr = <&pio30 1 ALT1 BIDIR_PU>;
1072 scl = <&pio30 0 ALT1 OUT>;
1073 };
1074 };
1075
1076 pinctrl_spi4_4w_alt3_0: spi4-4w-alt3-0 {
1077 st,pins {
1078 mtsr = <&pio34 1 ALT3 OUT>;
1079 mrst = <&pio34 2 ALT3 IN>;
1080 scl = <&pio34 0 ALT3 OUT>;
1081 };
1082 };
1083
1084 pinctrl_spi4_3w_alt3_0: spi4-3w-alt3-0 {
1085 st,pins {
1086 mtsr = <&pio34 1 ALT3 BIDIR_PU>;
1087 scl = <&pio34 0 ALT3 OUT>;
1088 };
1089 };
1090 };
1091
1092 i2s_out {
1093 pinctrl_i2s_8ch_out: i2s_8ch_out{
1094 st,pins {
1095 mclk = <&pio33 5 ALT1 OUT>;
1096 lrclk = <&pio33 7 ALT1 OUT>;
1097 sclk = <&pio33 6 ALT1 OUT>;
1098 data0 = <&pio33 4 ALT1 OUT>;
1099 data1 = <&pio34 0 ALT1 OUT>;
1100 data2 = <&pio34 1 ALT1 OUT>;
1101 data3 = <&pio34 2 ALT1 OUT>;
1102 };
1103 };
1104
1105 pinctrl_i2s_2ch_out: i2s_2ch_out{
1106 st,pins {
1107 mclk = <&pio33 5 ALT1 OUT>;
1108 lrclk = <&pio33 7 ALT1 OUT>;
1109 sclk = <&pio33 6 ALT1 OUT>;
1110 data0 = <&pio33 4 ALT1 OUT>;
1111 };
1112 };
1113 };
1114
1115 i2s_in {
1116 pinctrl_i2s_8ch_in: i2s_8ch_in{
1117 st,pins {
1118 mclk = <&pio32 5 ALT1 IN>;
1119 lrclk = <&pio32 7 ALT1 IN>;
1120 sclk = <&pio32 6 ALT1 IN>;
1121 data0 = <&pio32 4 ALT1 IN>;
1122 data1 = <&pio33 0 ALT1 IN>;
1123 data2 = <&pio33 1 ALT1 IN>;
1124 data3 = <&pio33 2 ALT1 IN>;
1125 data4 = <&pio33 3 ALT1 IN>;
1126 };
1127 };
1128
1129 pinctrl_i2s_2ch_in: i2s_2ch_in{
1130 st,pins {
1131 mclk = <&pio32 5 ALT1 IN>;
1132 lrclk = <&pio32 7 ALT1 IN>;
1133 sclk = <&pio32 6 ALT1 IN>;
1134 data0 = <&pio32 4 ALT1 IN>;
1135 };
1136 };
1137 };
1138
1139 spdif_out {
1140 pinctrl_spdif_out: spdif_out{
1141 st,pins {
1142 spdif_out = <&pio34 7 ALT1 OUT>;
1143 };
1144 };
1145 };
1146
1147 serial3 {
1148 pinctrl_serial3: serial3-0 {
1149 st,pins {
1150 tx = <&pio31 3 ALT1 OUT>;
1151 rx = <&pio31 4 ALT1 IN>;
1152 };
1153 };
1154 };
1155 };
1156
1157 pin-controller-flash@923f080 {
1158 #address-cells = <1>;
1159 #size-cells = <1>;
1160 compatible = "st,stih407-flash-pinctrl";
1161 st,syscfg = <&syscfg_flash>;
1162 reg = <0x0923f080 0x4>;
1163 reg-names = "irqmux";
1164 interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
1165 interrupt-names = "irqmux";
1166 ranges = <0 0x09230000 0x3000>;
1167
1168 pio40: gpio@9230000 {
1169 gpio-controller;
1170 #gpio-cells = <2>;
1171 interrupt-controller;
1172 #interrupt-cells = <2>;
1173 reg = <0 0x100>;
1174 st,bank-name = "PIO40";
1175 };
1176 pio41: gpio@9231000 {
1177 gpio-controller;
1178 #gpio-cells = <2>;
1179 interrupt-controller;
1180 #interrupt-cells = <2>;
1181 reg = <0x1000 0x100>;
1182 st,bank-name = "PIO41";
1183 };
1184 pio42: gpio@9232000 {
1185 gpio-controller;
1186 #gpio-cells = <2>;
1187 interrupt-controller;
1188 #interrupt-cells = <2>;
1189 reg = <0x2000 0x100>;
1190 st,bank-name = "PIO42";
1191 };
1192
1193 mmc0 {
1194 pinctrl_mmc0: mmc0-0 {
1195 st,pins {
1196 emmc_clk = <&pio40 6 ALT1 BIDIR>;
1197 emmc_cmd = <&pio40 7 ALT1 BIDIR_PU>;
1198 emmc_d0 = <&pio41 0 ALT1 BIDIR_PU>;
1199 emmc_d1 = <&pio41 1 ALT1 BIDIR_PU>;
1200 emmc_d2 = <&pio41 2 ALT1 BIDIR_PU>;
1201 emmc_d3 = <&pio41 3 ALT1 BIDIR_PU>;
1202 emmc_d4 = <&pio41 4 ALT1 BIDIR_PU>;
1203 emmc_d5 = <&pio41 5 ALT1 BIDIR_PU>;
1204 emmc_d6 = <&pio41 6 ALT1 BIDIR_PU>;
1205 emmc_d7 = <&pio41 7 ALT1 BIDIR_PU>;
1206 };
1207 };
1208 pinctrl_sd0: sd0-0 {
1209 st,pins {
1210 sd_clk = <&pio40 6 ALT1 BIDIR>;
1211 sd_cmd = <&pio40 7 ALT1 BIDIR_PU>;
1212 sd_dat0 = <&pio41 0 ALT1 BIDIR_PU>;
1213 sd_dat1 = <&pio41 1 ALT1 BIDIR_PU>;
1214 sd_dat2 = <&pio41 2 ALT1 BIDIR_PU>;
1215 sd_dat3 = <&pio41 3 ALT1 BIDIR_PU>;
1216 sd_led = <&pio42 0 ALT2 OUT>;
1217 sd_pwren = <&pio42 2 ALT2 OUT>;
1218 sd_vsel = <&pio42 3 ALT2 OUT>;
1219 sd_cd = <&pio42 4 ALT2 IN>;
1220 sd_wp = <&pio42 5 ALT2 IN>;
1221 };
1222 };
1223 };
1224
1225 fsm {
1226 pinctrl_fsm: fsm {
1227 st,pins {
1228 spi-fsm-clk = <&pio40 1 ALT1 OUT>;
1229 spi-fsm-cs = <&pio40 0 ALT1 OUT>;
1230 spi-fsm-mosi = <&pio40 2 ALT1 OUT>;
1231 spi-fsm-miso = <&pio40 3 ALT1 IN>;
1232 spi-fsm-hol = <&pio40 5 ALT1 OUT>;
1233 spi-fsm-wp = <&pio40 4 ALT1 OUT>;
1234 };
1235 };
1236 };
1237
1238 nand {
1239 pinctrl_nand: nand {
1240 st,pins {
1241 nand_cs1 = <&pio40 6 ALT3 OUT>;
1242 nand_cs0 = <&pio40 7 ALT3 OUT>;
1243 nand_d0 = <&pio41 0 ALT3 BIDIR>;
1244 nand_d1 = <&pio41 1 ALT3 BIDIR>;
1245 nand_d2 = <&pio41 2 ALT3 BIDIR>;
1246 nand_d3 = <&pio41 3 ALT3 BIDIR>;
1247 nand_d4 = <&pio41 4 ALT3 BIDIR>;
1248 nand_d5 = <&pio41 5 ALT3 BIDIR>;
1249 nand_d6 = <&pio41 6 ALT3 BIDIR>;
1250 nand_d7 = <&pio41 7 ALT3 BIDIR>;
1251 nand_we = <&pio42 0 ALT3 OUT>;
1252 nand_dqs = <&pio42 1 ALT3 OUT>;
1253 nand_ale = <&pio42 2 ALT3 OUT>;
1254 nand_cle = <&pio42 3 ALT3 OUT>;
1255 nand_rnb = <&pio42 4 ALT3 IN>;
1256 nand_oe = <&pio42 5 ALT3 OUT>;
1257 };
1258 };
1259 };
1260 };
1261 };
1262};
1/*
2 * Copyright (C) 2014 STMicroelectronics Limited.
3 * Author: Giuseppe Cavallaro <peppe.cavallaro@st.com>
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * publishhed by the Free Software Foundation.
8 */
9#include "st-pincfg.h"
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11/ {
12
13 aliases {
14 /* 0-5: PIO_SBC */
15 gpio0 = &pio0;
16 gpio1 = &pio1;
17 gpio2 = &pio2;
18 gpio3 = &pio3;
19 gpio4 = &pio4;
20 gpio5 = &pio5;
21 /* 10-19: PIO_FRONT0 */
22 gpio6 = &pio10;
23 gpio7 = &pio11;
24 gpio8 = &pio12;
25 gpio9 = &pio13;
26 gpio10 = &pio14;
27 gpio11 = &pio15;
28 gpio12 = &pio16;
29 gpio13 = &pio17;
30 gpio14 = &pio18;
31 gpio15 = &pio19;
32 /* 20: PIO_FRONT1 */
33 gpio16 = &pio20;
34 /* 30-35: PIO_REAR */
35 gpio17 = &pio30;
36 gpio18 = &pio31;
37 gpio19 = &pio32;
38 gpio20 = &pio33;
39 gpio21 = &pio34;
40 gpio22 = &pio35;
41 /* 40-42: PIO_FLASH */
42 gpio23 = &pio40;
43 gpio24 = &pio41;
44 gpio25 = &pio42;
45 };
46
47 soc {
48 pin-controller-sbc@961f080 {
49 #address-cells = <1>;
50 #size-cells = <1>;
51 compatible = "st,stih407-sbc-pinctrl";
52 st,syscfg = <&syscfg_sbc>;
53 reg = <0x0961f080 0x4>;
54 reg-names = "irqmux";
55 interrupts = <GIC_SPI 188 IRQ_TYPE_NONE>;
56 interrupt-names = "irqmux";
57 ranges = <0 0x09610000 0x6000>;
58
59 pio0: gpio@9610000 {
60 gpio-controller;
61 #gpio-cells = <2>;
62 interrupt-controller;
63 #interrupt-cells = <2>;
64 reg = <0x0 0x100>;
65 st,bank-name = "PIO0";
66 };
67 pio1: gpio@9611000 {
68 gpio-controller;
69 #gpio-cells = <2>;
70 interrupt-controller;
71 #interrupt-cells = <2>;
72 reg = <0x1000 0x100>;
73 st,bank-name = "PIO1";
74 };
75 pio2: gpio@9612000 {
76 gpio-controller;
77 #gpio-cells = <2>;
78 interrupt-controller;
79 #interrupt-cells = <2>;
80 reg = <0x2000 0x100>;
81 st,bank-name = "PIO2";
82 };
83 pio3: gpio@9613000 {
84 gpio-controller;
85 #gpio-cells = <2>;
86 interrupt-controller;
87 #interrupt-cells = <2>;
88 reg = <0x3000 0x100>;
89 st,bank-name = "PIO3";
90 };
91 pio4: gpio@9614000 {
92 gpio-controller;
93 #gpio-cells = <2>;
94 interrupt-controller;
95 #interrupt-cells = <2>;
96 reg = <0x4000 0x100>;
97 st,bank-name = "PIO4";
98 };
99
100 pio5: gpio@9615000 {
101 gpio-controller;
102 #gpio-cells = <2>;
103 interrupt-controller;
104 #interrupt-cells = <2>;
105 reg = <0x5000 0x100>;
106 st,bank-name = "PIO5";
107 st,retime-pin-mask = <0x3f>;
108 };
109
110 cec0 {
111 pinctrl_cec0_default: cec0-default {
112 st,pins {
113 hdmi_cec = <&pio2 4 ALT1 BIDIR>;
114 };
115 };
116 };
117
118 rc {
119 pinctrl_ir: ir0 {
120 st,pins {
121 ir = <&pio4 0 ALT2 IN>;
122 };
123 };
124
125 pinctrl_uhf: uhf0 {
126 st,pins {
127 ir = <&pio4 1 ALT2 IN>;
128 };
129 };
130
131 pinctrl_tx: tx0 {
132 st,pins {
133 tx = <&pio4 2 ALT2 OUT>;
134 };
135 };
136
137 pinctrl_tx_od: tx_od0 {
138 st,pins {
139 tx_od = <&pio4 3 ALT2 OUT>;
140 };
141 };
142 };
143
144 /* SBC_ASC0 - UART10 */
145 sbc_serial0 {
146 pinctrl_sbc_serial0: sbc_serial0-0 {
147 st,pins {
148 tx = <&pio3 4 ALT1 OUT>;
149 rx = <&pio3 5 ALT1 IN>;
150 };
151 };
152 };
153 /* SBC_ASC1 - UART11 */
154 sbc_serial1 {
155 pinctrl_sbc_serial1: sbc_serial1-0 {
156 st,pins {
157 tx = <&pio2 6 ALT3 OUT>;
158 rx = <&pio2 7 ALT3 IN>;
159 };
160 };
161 };
162
163 i2c10 {
164 pinctrl_i2c10_default: i2c10-default {
165 st,pins {
166 sda = <&pio4 6 ALT1 BIDIR>;
167 scl = <&pio4 5 ALT1 BIDIR>;
168 };
169 };
170 };
171
172 i2c11 {
173 pinctrl_i2c11_default: i2c11-default {
174 st,pins {
175 sda = <&pio5 1 ALT1 BIDIR>;
176 scl = <&pio5 0 ALT1 BIDIR>;
177 };
178 };
179 };
180
181 keyscan {
182 pinctrl_keyscan: keyscan {
183 st,pins {
184 keyin0 = <&pio4 0 ALT6 IN>;
185 keyin1 = <&pio4 5 ALT4 IN>;
186 keyin2 = <&pio0 4 ALT2 IN>;
187 keyin3 = <&pio2 6 ALT2 IN>;
188
189 keyout0 = <&pio4 6 ALT4 OUT>;
190 keyout1 = <&pio1 7 ALT2 OUT>;
191 keyout2 = <&pio0 6 ALT2 OUT>;
192 keyout3 = <&pio2 7 ALT2 OUT>;
193 };
194 };
195 };
196
197 gmac1 {
198 /*
199 * Almost all the boards based on STiH407 SoC have an embedded
200 * switch where the mdio/mdc have been used for managing the SMI
201 * iface via I2C. For this reason these lines can be allocated
202 * by using dedicated configuration (in case of there will be a
203 * standard PHY transceiver on-board).
204 */
205 pinctrl_rgmii1: rgmii1-0 {
206 st,pins {
207
208 txd0 = <&pio0 0 ALT1 OUT DE_IO 0 CLK_A>;
209 txd1 = <&pio0 1 ALT1 OUT DE_IO 0 CLK_A>;
210 txd2 = <&pio0 2 ALT1 OUT DE_IO 0 CLK_A>;
211 txd3 = <&pio0 3 ALT1 OUT DE_IO 0 CLK_A>;
212 txen = <&pio0 5 ALT1 OUT DE_IO 0 CLK_A>;
213 txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>;
214 rxd0 = <&pio1 4 ALT1 IN DE_IO 0 CLK_A>;
215 rxd1 = <&pio1 5 ALT1 IN DE_IO 0 CLK_A>;
216 rxd2 = <&pio1 6 ALT1 IN DE_IO 0 CLK_A>;
217 rxd3 = <&pio1 7 ALT1 IN DE_IO 0 CLK_A>;
218 rxdv = <&pio2 0 ALT1 IN DE_IO 0 CLK_A>;
219 rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>;
220 clk125 = <&pio3 7 ALT4 IN NICLK 0 CLK_A>;
221 phyclk = <&pio2 3 ALT4 OUT NICLK 1250 CLK_B>;
222 };
223 };
224
225 pinctrl_rgmii1_mdio: rgmii1-mdio {
226 st,pins {
227 mdio = <&pio1 0 ALT1 OUT BYPASS 0>;
228 mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
229 mdint = <&pio1 3 ALT1 IN BYPASS 0>;
230 };
231 };
232
233 pinctrl_rgmii1_mdio_1: rgmii1-mdio-1 {
234 st,pins {
235 mdio = <&pio1 0 ALT1 OUT BYPASS 0>;
236 mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
237 };
238 };
239
240 pinctrl_mii1: mii1 {
241 st,pins {
242 txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
243 txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
244 txd2 = <&pio0 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
245 txd3 = <&pio0 3 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
246 txer = <&pio0 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
247 txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
248 txclk = <&pio0 6 ALT1 IN NICLK 0 CLK_A>;
249 col = <&pio0 7 ALT1 IN BYPASS 1000>;
250
251 mdio = <&pio1 0 ALT1 OUT BYPASS 1500>;
252 mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
253 crs = <&pio1 2 ALT1 IN BYPASS 1000>;
254 mdint = <&pio1 3 ALT1 IN BYPASS 0>;
255 rxd0 = <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
256 rxd1 = <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
257 rxd2 = <&pio1 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
258 rxd3 = <&pio1 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;
259
260 rxdv = <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
261 rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
262 rxclk = <&pio2 2 ALT1 IN NICLK 0 CLK_A>;
263 phyclk = <&pio2 3 ALT1 OUT NICLK 0 CLK_A>;
264 };
265 };
266
267 pinctrl_rmii1: rmii1-0 {
268 st,pins {
269 txd0 = <&pio0 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
270 txd1 = <&pio0 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
271 txen = <&pio0 5 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
272 mdio = <&pio1 0 ALT1 OUT BYPASS 0>;
273 mdc = <&pio1 1 ALT1 OUT NICLK 0 CLK_A>;
274 mdint = <&pio1 3 ALT1 IN BYPASS 0>;
275 rxd0 = <&pio1 4 ALT1 IN SE_NICLK_IO 0 CLK_B>;
276 rxd1 = <&pio1 5 ALT1 IN SE_NICLK_IO 0 CLK_B>;
277 rxdv = <&pio2 0 ALT1 IN SE_NICLK_IO 0 CLK_B>;
278 rx_er = <&pio2 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
279 };
280 };
281
282 pinctrl_rmii1_phyclk: rmii1_phyclk {
283 st,pins {
284 phyclk = <&pio2 3 ALT1 OUT NICLK 0 CLK_A>;
285 };
286 };
287
288 pinctrl_rmii1_phyclk_ext: rmii1_phyclk_ext {
289 st,pins {
290 phyclk = <&pio2 3 ALT2 IN NICLK 0 CLK_A>;
291 };
292 };
293 };
294
295 pwm1 {
296 pinctrl_pwm1_chan0_default: pwm1-0-default {
297 st,pins {
298 pwm-out = <&pio3 0 ALT1 OUT>;
299 pwm-capturein = <&pio3 2 ALT1 IN>;
300 };
301 };
302 pinctrl_pwm1_chan1_default: pwm1-1-default {
303 st,pins {
304 pwm-capturein = <&pio4 3 ALT1 IN>;
305 pwm-out = <&pio4 4 ALT1 OUT>;
306 };
307 };
308 pinctrl_pwm1_chan2_default: pwm1-2-default {
309 st,pins {
310 pwm-out = <&pio4 6 ALT3 OUT>;
311 };
312 };
313 pinctrl_pwm1_chan3_default: pwm1-3-default {
314 st,pins {
315 pwm-out = <&pio4 7 ALT3 OUT>;
316 };
317 };
318 };
319
320 spi10 {
321 pinctrl_spi10_default: spi10-4w-alt1-0 {
322 st,pins {
323 mtsr = <&pio4 6 ALT1 OUT>;
324 mrst = <&pio4 7 ALT1 IN>;
325 scl = <&pio4 5 ALT1 OUT>;
326 };
327 };
328
329 pinctrl_spi10_3w_alt1_0: spi10-3w-alt1-0 {
330 st,pins {
331 mtsr = <&pio4 6 ALT1 BIDIR_PU>;
332 scl = <&pio4 5 ALT1 OUT>;
333 };
334 };
335 };
336
337 spi11 {
338 pinctrl_spi11_default: spi11-4w-alt2-0 {
339 st,pins {
340 mtsr = <&pio3 1 ALT2 OUT>;
341 mrst = <&pio3 0 ALT2 IN>;
342 scl = <&pio3 2 ALT2 OUT>;
343 };
344 };
345
346 pinctrl_spi11_3w_alt2_0: spi11-3w-alt2-0 {
347 st,pins {
348 mtsr = <&pio3 1 ALT2 BIDIR_PU>;
349 scl = <&pio3 2 ALT2 OUT>;
350 };
351 };
352 };
353
354 spi12 {
355 pinctrl_spi12_default: spi12-4w-alt2-0 {
356 st,pins {
357 mtsr = <&pio3 6 ALT2 OUT>;
358 mrst = <&pio3 4 ALT2 IN>;
359 scl = <&pio3 7 ALT2 OUT>;
360 };
361 };
362
363 pinctrl_spi12_3w_alt2_0: spi12-3w-alt2-0 {
364 st,pins {
365 mtsr = <&pio3 6 ALT2 BIDIR_PU>;
366 scl = <&pio3 7 ALT2 OUT>;
367 };
368 };
369 };
370 };
371
372 pin-controller-front0@920f080 {
373 #address-cells = <1>;
374 #size-cells = <1>;
375 compatible = "st,stih407-front-pinctrl";
376 st,syscfg = <&syscfg_front>;
377 reg = <0x0920f080 0x4>;
378 reg-names = "irqmux";
379 interrupts = <GIC_SPI 189 IRQ_TYPE_NONE>;
380 interrupt-names = "irqmux";
381 ranges = <0 0x09200000 0x10000>;
382
383 pio10: pio@9200000 {
384 gpio-controller;
385 #gpio-cells = <2>;
386 interrupt-controller;
387 #interrupt-cells = <2>;
388 reg = <0x0 0x100>;
389 st,bank-name = "PIO10";
390 };
391 pio11: pio@9201000 {
392 gpio-controller;
393 #gpio-cells = <2>;
394 interrupt-controller;
395 #interrupt-cells = <2>;
396 reg = <0x1000 0x100>;
397 st,bank-name = "PIO11";
398 };
399 pio12: pio@9202000 {
400 gpio-controller;
401 #gpio-cells = <2>;
402 interrupt-controller;
403 #interrupt-cells = <2>;
404 reg = <0x2000 0x100>;
405 st,bank-name = "PIO12";
406 };
407 pio13: pio@9203000 {
408 gpio-controller;
409 #gpio-cells = <2>;
410 interrupt-controller;
411 #interrupt-cells = <2>;
412 reg = <0x3000 0x100>;
413 st,bank-name = "PIO13";
414 };
415 pio14: pio@9204000 {
416 gpio-controller;
417 #gpio-cells = <2>;
418 interrupt-controller;
419 #interrupt-cells = <2>;
420 reg = <0x4000 0x100>;
421 st,bank-name = "PIO14";
422 };
423 pio15: pio@9205000 {
424 gpio-controller;
425 #gpio-cells = <2>;
426 interrupt-controller;
427 #interrupt-cells = <2>;
428 reg = <0x5000 0x100>;
429 st,bank-name = "PIO15";
430 };
431 pio16: pio@9206000 {
432 gpio-controller;
433 #gpio-cells = <2>;
434 interrupt-controller;
435 #interrupt-cells = <2>;
436 reg = <0x6000 0x100>;
437 st,bank-name = "PIO16";
438 };
439 pio17: pio@9207000 {
440 gpio-controller;
441 #gpio-cells = <2>;
442 interrupt-controller;
443 #interrupt-cells = <2>;
444 reg = <0x7000 0x100>;
445 st,bank-name = "PIO17";
446 };
447 pio18: pio@9208000 {
448 gpio-controller;
449 #gpio-cells = <2>;
450 interrupt-controller;
451 #interrupt-cells = <2>;
452 reg = <0x8000 0x100>;
453 st,bank-name = "PIO18";
454 };
455 pio19: pio@9209000 {
456 gpio-controller;
457 #gpio-cells = <2>;
458 interrupt-controller;
459 #interrupt-cells = <2>;
460 reg = <0x9000 0x100>;
461 st,bank-name = "PIO19";
462 };
463
464 /* Comms */
465 serial0 {
466 pinctrl_serial0: serial0-0 {
467 st,pins {
468 tx = <&pio17 0 ALT1 OUT>;
469 rx = <&pio17 1 ALT1 IN>;
470 };
471 };
472 pinctrl_serial0_hw_flowctrl: serial0-0_hw_flowctrl {
473 st,pins {
474 tx = <&pio17 0 ALT1 OUT>;
475 rx = <&pio17 1 ALT1 IN>;
476 cts = <&pio17 2 ALT1 IN>;
477 rts = <&pio17 3 ALT1 OUT>;
478 };
479 };
480 };
481
482 serial1 {
483 pinctrl_serial1: serial1-0 {
484 st,pins {
485 tx = <&pio16 0 ALT1 OUT>;
486 rx = <&pio16 1 ALT1 IN>;
487 };
488 };
489 };
490
491 serial2 {
492 pinctrl_serial2: serial2-0 {
493 st,pins {
494 tx = <&pio15 0 ALT1 OUT>;
495 rx = <&pio15 1 ALT1 IN>;
496 };
497 };
498 };
499
500 mmc1 {
501 pinctrl_sd1: sd1-0 {
502 st,pins {
503 sd_clk = <&pio19 3 ALT5 BIDIR NICLK 0 CLK_B>;
504 sd_cmd = <&pio19 2 ALT5 BIDIR_PU BYPASS 0>;
505 sd_dat0 = <&pio19 4 ALT5 BIDIR_PU BYPASS 0>;
506 sd_dat1 = <&pio19 5 ALT5 BIDIR_PU BYPASS 0>;
507 sd_dat2 = <&pio19 6 ALT5 BIDIR_PU BYPASS 0>;
508 sd_dat3 = <&pio19 7 ALT5 BIDIR_PU BYPASS 0>;
509 sd_led = <&pio16 6 ALT6 OUT>;
510 sd_pwren = <&pio16 7 ALT6 OUT>;
511 sd_cd = <&pio19 0 ALT6 IN>;
512 sd_wp = <&pio19 1 ALT6 IN>;
513 };
514 };
515 };
516
517
518 i2c0 {
519 pinctrl_i2c0_default: i2c0-default {
520 st,pins {
521 sda = <&pio10 6 ALT2 BIDIR>;
522 scl = <&pio10 5 ALT2 BIDIR>;
523 };
524 };
525 };
526
527 i2c1 {
528 pinctrl_i2c1_default: i2c1-default {
529 st,pins {
530 sda = <&pio11 1 ALT2 BIDIR>;
531 scl = <&pio11 0 ALT2 BIDIR>;
532 };
533 };
534 };
535
536 i2c2 {
537 pinctrl_i2c2_default: i2c2-default {
538 st,pins {
539 sda = <&pio15 6 ALT2 BIDIR>;
540 scl = <&pio15 5 ALT2 BIDIR>;
541 };
542 };
543
544 pinctrl_i2c2_alt2_1: i2c2-alt2-1 {
545 st,pins {
546 sda = <&pio12 6 ALT2 BIDIR>;
547 scl = <&pio12 5 ALT2 BIDIR>;
548 };
549 };
550 };
551
552 i2c3 {
553 pinctrl_i2c3_default: i2c3-alt1-0 {
554 st,pins {
555 sda = <&pio18 6 ALT1 BIDIR>;
556 scl = <&pio18 5 ALT1 BIDIR>;
557 };
558 };
559 pinctrl_i2c3_alt1_1: i2c3-alt1-1 {
560 st,pins {
561 sda = <&pio17 7 ALT1 BIDIR>;
562 scl = <&pio17 6 ALT1 BIDIR>;
563 };
564 };
565 pinctrl_i2c3_alt3_0: i2c3-alt3-0 {
566 st,pins {
567 sda = <&pio13 6 ALT3 BIDIR>;
568 scl = <&pio13 5 ALT3 BIDIR>;
569 };
570 };
571 };
572
573 spi0 {
574 pinctrl_spi0_default: spi0-4w-alt2-0 {
575 st,pins {
576 mtsr = <&pio10 6 ALT2 OUT>;
577 mrst = <&pio10 7 ALT2 IN>;
578 scl = <&pio10 5 ALT2 OUT>;
579 };
580 };
581
582 pinctrl_spi0_3w_alt2_0: spi0-3w-alt2-0 {
583 st,pins {
584 mtsr = <&pio10 6 ALT2 BIDIR_PU>;
585 scl = <&pio10 5 ALT2 OUT>;
586 };
587 };
588
589 pinctrl_spi0_4w_alt1_0: spi0-4w-alt1-0 {
590 st,pins {
591 mtsr = <&pio19 7 ALT1 OUT>;
592 mrst = <&pio19 5 ALT1 IN>;
593 scl = <&pio19 6 ALT1 OUT>;
594 };
595 };
596
597 pinctrl_spi0_3w_alt1_0: spi0-3w-alt1-0 {
598 st,pins {
599 mtsr = <&pio19 7 ALT1 BIDIR_PU>;
600 scl = <&pio19 6 ALT1 OUT>;
601 };
602 };
603 };
604
605 spi1 {
606 pinctrl_spi1_default: spi1-4w-alt2-0 {
607 st,pins {
608 mtsr = <&pio11 1 ALT2 OUT>;
609 mrst = <&pio11 2 ALT2 IN>;
610 scl = <&pio11 0 ALT2 OUT>;
611 };
612 };
613
614 pinctrl_spi1_3w_alt2_0: spi1-3w-alt2-0 {
615 st,pins {
616 mtsr = <&pio11 1 ALT2 BIDIR_PU>;
617 scl = <&pio11 0 ALT2 OUT>;
618 };
619 };
620
621 pinctrl_spi1_4w_alt1_0: spi1-4w-alt1-0 {
622 st,pins {
623 mtsr = <&pio14 3 ALT1 OUT>;
624 mrst = <&pio14 4 ALT1 IN>;
625 scl = <&pio14 2 ALT1 OUT>;
626 };
627 };
628
629 pinctrl_spi1_3w_alt1_0: spi1-3w-alt1-0 {
630 st,pins {
631 mtsr = <&pio14 3 ALT1 BIDIR_PU>;
632 scl = <&pio14 2 ALT1 OUT>;
633 };
634 };
635 };
636
637 spi2 {
638 pinctrl_spi2_default: spi2-4w-alt2-0 {
639 st,pins {
640 mtsr = <&pio12 6 ALT2 OUT>;
641 mrst = <&pio12 7 ALT2 IN>;
642 scl = <&pio12 5 ALT2 OUT>;
643 };
644 };
645
646 pinctrl_spi2_3w_alt2_0: spi2-3w-alt2-0 {
647 st,pins {
648 mtsr = <&pio12 6 ALT2 BIDIR_PU>;
649 scl = <&pio12 5 ALT2 OUT>;
650 };
651 };
652
653 pinctrl_spi2_4w_alt1_0: spi2-4w-alt1-0 {
654 st,pins {
655 mtsr = <&pio14 6 ALT1 OUT>;
656 mrst = <&pio14 7 ALT1 IN>;
657 scl = <&pio14 5 ALT1 OUT>;
658 };
659 };
660
661 pinctrl_spi2_3w_alt1_0: spi2-3w-alt1-0 {
662 st,pins {
663 mtsr = <&pio14 6 ALT1 BIDIR_PU>;
664 scl = <&pio14 5 ALT1 OUT>;
665 };
666 };
667
668 pinctrl_spi2_4w_alt2_1: spi2-4w-alt2-1 {
669 st,pins {
670 mtsr = <&pio15 6 ALT2 OUT>;
671 mrst = <&pio15 7 ALT2 IN>;
672 scl = <&pio15 5 ALT2 OUT>;
673 };
674 };
675
676 pinctrl_spi2_3w_alt2_1: spi2-3w-alt2-1 {
677 st,pins {
678 mtsr = <&pio15 6 ALT2 BIDIR_PU>;
679 scl = <&pio15 5 ALT2 OUT>;
680 };
681 };
682 };
683
684 spi3 {
685 pinctrl_spi3_default: spi3-4w-alt3-0 {
686 st,pins {
687 mtsr = <&pio13 6 ALT3 OUT>;
688 mrst = <&pio13 7 ALT3 IN>;
689 scl = <&pio13 5 ALT3 OUT>;
690 };
691 };
692
693 pinctrl_spi3_3w_alt3_0: spi3-3w-alt3-0 {
694 st,pins {
695 mtsr = <&pio13 6 ALT3 BIDIR_PU>;
696 scl = <&pio13 5 ALT3 OUT>;
697 };
698 };
699
700 pinctrl_spi3_4w_alt1_0: spi3-4w-alt1-0 {
701 st,pins {
702 mtsr = <&pio17 7 ALT1 OUT>;
703 mrst = <&pio17 5 ALT1 IN>;
704 scl = <&pio17 6 ALT1 OUT>;
705 };
706 };
707
708 pinctrl_spi3_3w_alt1_0: spi3-3w-alt1-0 {
709 st,pins {
710 mtsr = <&pio17 7 ALT1 BIDIR_PU>;
711 scl = <&pio17 6 ALT1 OUT>;
712 };
713 };
714
715 pinctrl_spi3_4w_alt1_1: spi3-4w-alt1-1 {
716 st,pins {
717 mtsr = <&pio18 6 ALT1 OUT>;
718 mrst = <&pio18 7 ALT1 IN>;
719 scl = <&pio18 5 ALT1 OUT>;
720 };
721 };
722
723 pinctrl_spi3_3w_alt1_1: spi3-3w-alt1-1 {
724 st,pins {
725 mtsr = <&pio18 6 ALT1 BIDIR_PU>;
726 scl = <&pio18 5 ALT1 OUT>;
727 };
728 };
729 };
730
731 tsin0 {
732 pinctrl_tsin0_parallel: tsin0_parallel {
733 st,pins {
734 DATA7 = <&pio10 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
735 DATA6 = <&pio10 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
736 DATA5 = <&pio10 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
737 DATA4 = <&pio10 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;
738 DATA3 = <&pio11 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
739 DATA2 = <&pio11 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
740 DATA1 = <&pio11 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
741 DATA0 = <&pio11 3 ALT1 IN SE_NICLK_IO 0 CLK_A>;
742 CLKIN = <&pio10 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
743 VALID = <&pio10 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
744 ERROR = <&pio10 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
745 PKCLK = <&pio10 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
746 };
747 };
748 pinctrl_tsin0_serial: tsin0_serial {
749 st,pins {
750 DATA7 = <&pio10 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
751 CLKIN = <&pio10 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
752 VALID = <&pio10 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
753 ERROR = <&pio10 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
754 PKCLK = <&pio10 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
755 };
756 };
757 };
758
759 tsin1 {
760 pinctrl_tsin1_parallel: tsin1_parallel {
761 st,pins {
762 DATA7 = <&pio12 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
763 DATA6 = <&pio12 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
764 DATA5 = <&pio12 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
765 DATA4 = <&pio12 3 ALT1 IN SE_NICLK_IO 0 CLK_A>;
766 DATA3 = <&pio12 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
767 DATA2 = <&pio12 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
768 DATA1 = <&pio12 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
769 DATA0 = <&pio12 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;
770 CLKIN = <&pio11 7 ALT1 IN CLKNOTDATA 0 CLK_A>;
771 VALID = <&pio11 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
772 ERROR = <&pio11 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
773 PKCLK = <&pio11 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
774 };
775 };
776 pinctrl_tsin1_serial: tsin1_serial {
777 st,pins {
778 DATA7 = <&pio12 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
779 CLKIN = <&pio11 7 ALT1 IN CLKNOTDATA 0 CLK_A>;
780 VALID = <&pio11 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
781 ERROR = <&pio11 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
782 PKCLK = <&pio11 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
783 };
784 };
785 };
786
787 tsin2 {
788 pinctrl_tsin2_parallel: tsin2_parallel {
789 st,pins {
790 DATA7 = <&pio13 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
791 DATA6 = <&pio13 5 ALT2 IN SE_NICLK_IO 0 CLK_B>;
792 DATA5 = <&pio13 6 ALT2 IN SE_NICLK_IO 0 CLK_B>;
793 DATA4 = <&pio13 7 ALT2 IN SE_NICLK_IO 0 CLK_B>;
794 DATA3 = <&pio14 0 ALT2 IN SE_NICLK_IO 0 CLK_A>;
795 DATA2 = <&pio14 1 ALT2 IN SE_NICLK_IO 0 CLK_B>;
796 DATA1 = <&pio14 2 ALT2 IN SE_NICLK_IO 0 CLK_A>;
797 DATA0 = <&pio14 3 ALT2 IN SE_NICLK_IO 0 CLK_A>;
798 CLKIN = <&pio13 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
799 VALID = <&pio13 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
800 ERROR = <&pio13 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
801 PKCLK = <&pio13 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
802 };
803 };
804 pinctrl_tsin2_serial: tsin2_serial {
805 st,pins {
806 DATA7 = <&pio13 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
807 CLKIN = <&pio13 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
808 VALID = <&pio13 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
809 ERROR = <&pio13 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
810 PKCLK = <&pio13 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
811 };
812 };
813 };
814
815 tsin3 {
816 pinctrl_tsin3_serial: tsin3_serial {
817 st,pins {
818 DATA7 = <&pio14 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
819 CLKIN = <&pio14 0 ALT1 IN CLKNOTDATA 0 CLK_A>;
820 VALID = <&pio13 6 ALT1 IN SE_NICLK_IO 0 CLK_A>;
821 ERROR = <&pio13 5 ALT1 IN SE_NICLK_IO 0 CLK_A>;
822 PKCLK = <&pio13 7 ALT1 IN SE_NICLK_IO 0 CLK_A>;
823 };
824 };
825 };
826
827 tsin4 {
828 pinctrl_tsin4_serial_alt3: tsin4_serial_alt3 {
829 st,pins {
830 DATA7 = <&pio14 6 ALT3 IN SE_NICLK_IO 0 CLK_A>;
831 CLKIN = <&pio14 5 ALT3 IN CLKNOTDATA 0 CLK_A>;
832 VALID = <&pio14 3 ALT3 IN SE_NICLK_IO 0 CLK_B>;
833 ERROR = <&pio14 2 ALT3 IN SE_NICLK_IO 0 CLK_B>;
834 PKCLK = <&pio14 4 ALT3 IN SE_NICLK_IO 0 CLK_A>;
835 };
836 };
837 };
838
839 tsin5 {
840 pinctrl_tsin5_serial_alt1: tsin5_serial_alt1 {
841 st,pins {
842 DATA7 = <&pio18 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
843 CLKIN = <&pio18 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
844 VALID = <&pio18 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
845 ERROR = <&pio18 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
846 PKCLK = <&pio18 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
847 };
848 };
849 pinctrl_tsin5_serial_alt2: tsin5_serial_alt2 {
850 st,pins {
851 DATA7 = <&pio19 4 ALT2 IN SE_NICLK_IO 0 CLK_A>;
852 CLKIN = <&pio19 3 ALT2 IN CLKNOTDATA 0 CLK_A>;
853 VALID = <&pio19 1 ALT2 IN SE_NICLK_IO 0 CLK_A>;
854 ERROR = <&pio19 0 ALT2 IN SE_NICLK_IO 0 CLK_A>;
855 PKCLK = <&pio19 2 ALT2 IN SE_NICLK_IO 0 CLK_A>;
856 };
857 };
858 };
859
860 tsout0 {
861 pinctrl_tsout0_parallel: tsout0_parallel {
862 st,pins {
863 DATA7 = <&pio12 0 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
864 DATA6 = <&pio12 1 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
865 DATA5 = <&pio12 2 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
866 DATA4 = <&pio12 3 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
867 DATA3 = <&pio12 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
868 DATA2 = <&pio12 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
869 DATA1 = <&pio12 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
870 DATA0 = <&pio12 7 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
871 CLKIN = <&pio11 7 ALT3 OUT NICLK 0 CLK_A>;
872 VALID = <&pio11 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
873 ERROR = <&pio11 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
874 PKCLK = <&pio11 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
875 };
876 };
877 pinctrl_tsout0_serial: tsout0_serial {
878 st,pins {
879 DATA7 = <&pio12 0 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
880 CLKIN = <&pio11 7 ALT3 OUT NICLK 0 CLK_A>;
881 VALID = <&pio11 5 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
882 ERROR = <&pio11 4 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
883 PKCLK = <&pio11 6 ALT3 OUT SE_NICLK_IO 0 CLK_A>;
884 };
885 };
886 };
887
888 tsout1 {
889 pinctrl_tsout1_serial: tsout1_serial {
890 st,pins {
891 DATA7 = <&pio19 4 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
892 CLKIN = <&pio19 3 ALT1 OUT NICLK 0 CLK_A>;
893 VALID = <&pio19 1 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
894 ERROR = <&pio19 0 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
895 PKCLK = <&pio19 2 ALT1 OUT SE_NICLK_IO 0 CLK_A>;
896 };
897 };
898 };
899
900 mtsin0 {
901 pinctrl_mtsin0_parallel: mtsin0_parallel {
902 st,pins {
903 DATA7 = <&pio10 4 ALT3 IN SE_NICLK_IO 0 CLK_A>;
904 DATA6 = <&pio10 5 ALT3 IN SE_NICLK_IO 0 CLK_A>;
905 DATA5 = <&pio10 6 ALT3 IN SE_NICLK_IO 0 CLK_A>;
906 DATA4 = <&pio10 7 ALT3 IN SE_NICLK_IO 0 CLK_A>;
907 DATA3 = <&pio11 0 ALT3 IN SE_NICLK_IO 0 CLK_A>;
908 DATA2 = <&pio11 1 ALT3 IN SE_NICLK_IO 0 CLK_A>;
909 DATA1 = <&pio11 2 ALT3 IN SE_NICLK_IO 0 CLK_A>;
910 DATA0 = <&pio11 3 ALT3 IN SE_NICLK_IO 0 CLK_A>;
911 CLKIN = <&pio10 3 ALT3 IN CLKNOTDATA 0 CLK_A>;
912 VALID = <&pio10 1 ALT3 IN SE_NICLK_IO 0 CLK_A>;
913 ERROR = <&pio10 0 ALT3 IN SE_NICLK_IO 0 CLK_A>;
914 PKCLK = <&pio10 2 ALT3 IN SE_NICLK_IO 0 CLK_A>;
915 };
916 };
917 };
918
919 systrace {
920 pinctrl_systrace_default: systrace-default {
921 st,pins {
922 trc_data0 = <&pio11 3 ALT5 OUT>;
923 trc_data1 = <&pio11 4 ALT5 OUT>;
924 trc_data2 = <&pio11 5 ALT5 OUT>;
925 trc_data3 = <&pio11 6 ALT5 OUT>;
926 trc_clk = <&pio11 7 ALT5 OUT>;
927 };
928 };
929 };
930 };
931
932 pin-controller-front1@921f080 {
933 #address-cells = <1>;
934 #size-cells = <1>;
935 compatible = "st,stih407-front-pinctrl";
936 st,syscfg = <&syscfg_front>;
937 reg = <0x0921f080 0x4>;
938 reg-names = "irqmux";
939 interrupts = <GIC_SPI 190 IRQ_TYPE_NONE>;
940 interrupt-names = "irqmux";
941 ranges = <0 0x09210000 0x10000>;
942
943 pio20: pio@9210000 {
944 gpio-controller;
945 #gpio-cells = <2>;
946 interrupt-controller;
947 #interrupt-cells = <2>;
948 reg = <0x0 0x100>;
949 st,bank-name = "PIO20";
950 };
951
952 tsin4 {
953 pinctrl_tsin4_serial_alt1: tsin4_serial_alt1 {
954 st,pins {
955 DATA7 = <&pio20 4 ALT1 IN SE_NICLK_IO 0 CLK_A>;
956 CLKIN = <&pio20 3 ALT1 IN CLKNOTDATA 0 CLK_A>;
957 VALID = <&pio20 1 ALT1 IN SE_NICLK_IO 0 CLK_A>;
958 ERROR = <&pio20 0 ALT1 IN SE_NICLK_IO 0 CLK_A>;
959 PKCLK = <&pio20 2 ALT1 IN SE_NICLK_IO 0 CLK_A>;
960 };
961 };
962 };
963 };
964
965 pin-controller-rear@922f080 {
966 #address-cells = <1>;
967 #size-cells = <1>;
968 compatible = "st,stih407-rear-pinctrl";
969 st,syscfg = <&syscfg_rear>;
970 reg = <0x0922f080 0x4>;
971 reg-names = "irqmux";
972 interrupts = <GIC_SPI 191 IRQ_TYPE_NONE>;
973 interrupt-names = "irqmux";
974 ranges = <0 0x09220000 0x6000>;
975
976 pio30: gpio@9220000 {
977 gpio-controller;
978 #gpio-cells = <2>;
979 interrupt-controller;
980 #interrupt-cells = <2>;
981 reg = <0x0 0x100>;
982 st,bank-name = "PIO30";
983 };
984 pio31: gpio@9221000 {
985 gpio-controller;
986 #gpio-cells = <2>;
987 interrupt-controller;
988 #interrupt-cells = <2>;
989 reg = <0x1000 0x100>;
990 st,bank-name = "PIO31";
991 };
992 pio32: gpio@9222000 {
993 gpio-controller;
994 #gpio-cells = <2>;
995 interrupt-controller;
996 #interrupt-cells = <2>;
997 reg = <0x2000 0x100>;
998 st,bank-name = "PIO32";
999 };
1000 pio33: gpio@9223000 {
1001 gpio-controller;
1002 #gpio-cells = <2>;
1003 interrupt-controller;
1004 #interrupt-cells = <2>;
1005 reg = <0x3000 0x100>;
1006 st,bank-name = "PIO33";
1007 };
1008 pio34: gpio@9224000 {
1009 gpio-controller;
1010 #gpio-cells = <2>;
1011 interrupt-controller;
1012 #interrupt-cells = <2>;
1013 reg = <0x4000 0x100>;
1014 st,bank-name = "PIO34";
1015 };
1016 pio35: gpio@9225000 {
1017 gpio-controller;
1018 #gpio-cells = <2>;
1019 interrupt-controller;
1020 #interrupt-cells = <2>;
1021 reg = <0x5000 0x100>;
1022 st,bank-name = "PIO35";
1023 st,retime-pin-mask = <0x7f>;
1024 };
1025
1026 i2c4 {
1027 pinctrl_i2c4_default: i2c4-default {
1028 st,pins {
1029 sda = <&pio30 1 ALT1 BIDIR>;
1030 scl = <&pio30 0 ALT1 BIDIR>;
1031 };
1032 };
1033 };
1034
1035 i2c5 {
1036 pinctrl_i2c5_default: i2c5-default {
1037 st,pins {
1038 sda = <&pio34 4 ALT1 BIDIR>;
1039 scl = <&pio34 3 ALT1 BIDIR>;
1040 };
1041 };
1042 };
1043
1044 usb3 {
1045 pinctrl_usb3: usb3-2 {
1046 st,pins {
1047 usb-oc-detect = <&pio35 4 ALT1 IN>;
1048 usb-pwr-enable = <&pio35 5 ALT1 OUT>;
1049 usb-vbus-valid = <&pio35 6 ALT1 IN>;
1050 };
1051 };
1052 };
1053
1054 pwm0 {
1055 pinctrl_pwm0_chan0_default: pwm0-0-default {
1056 st,pins {
1057 pwm-capturein = <&pio31 0 ALT1 IN>;
1058 pwm-out = <&pio31 1 ALT1 OUT>;
1059 };
1060 };
1061 };
1062
1063 spi4 {
1064 pinctrl_spi4_default: spi4-4w-alt1-0 {
1065 st,pins {
1066 mtsr = <&pio30 1 ALT1 OUT>;
1067 mrst = <&pio30 2 ALT1 IN>;
1068 scl = <&pio30 0 ALT1 OUT>;
1069 };
1070 };
1071
1072 pinctrl_spi4_3w_alt1_0: spi4-3w-alt1-0 {
1073 st,pins {
1074 mtsr = <&pio30 1 ALT1 BIDIR_PU>;
1075 scl = <&pio30 0 ALT1 OUT>;
1076 };
1077 };
1078
1079 pinctrl_spi4_4w_alt3_0: spi4-4w-alt3-0 {
1080 st,pins {
1081 mtsr = <&pio34 1 ALT3 OUT>;
1082 mrst = <&pio34 2 ALT3 IN>;
1083 scl = <&pio34 0 ALT3 OUT>;
1084 };
1085 };
1086
1087 pinctrl_spi4_3w_alt3_0: spi4-3w-alt3-0 {
1088 st,pins {
1089 mtsr = <&pio34 1 ALT3 BIDIR_PU>;
1090 scl = <&pio34 0 ALT3 OUT>;
1091 };
1092 };
1093 };
1094
1095 i2s_out {
1096 pinctrl_i2s_8ch_out: i2s_8ch_out{
1097 st,pins {
1098 mclk = <&pio33 5 ALT1 OUT>;
1099 lrclk = <&pio33 7 ALT1 OUT>;
1100 sclk = <&pio33 6 ALT1 OUT>;
1101 data0 = <&pio33 4 ALT1 OUT>;
1102 data1 = <&pio34 0 ALT1 OUT>;
1103 data2 = <&pio34 1 ALT1 OUT>;
1104 data3 = <&pio34 2 ALT1 OUT>;
1105 };
1106 };
1107
1108 pinctrl_i2s_2ch_out: i2s_2ch_out{
1109 st,pins {
1110 mclk = <&pio33 5 ALT1 OUT>;
1111 lrclk = <&pio33 7 ALT1 OUT>;
1112 sclk = <&pio33 6 ALT1 OUT>;
1113 data0 = <&pio33 4 ALT1 OUT>;
1114 };
1115 };
1116 };
1117
1118 i2s_in {
1119 pinctrl_i2s_8ch_in: i2s_8ch_in{
1120 st,pins {
1121 mclk = <&pio32 5 ALT1 IN>;
1122 lrclk = <&pio32 7 ALT1 IN>;
1123 sclk = <&pio32 6 ALT1 IN>;
1124 data0 = <&pio32 4 ALT1 IN>;
1125 data1 = <&pio33 0 ALT1 IN>;
1126 data2 = <&pio33 1 ALT1 IN>;
1127 data3 = <&pio33 2 ALT1 IN>;
1128 data4 = <&pio33 3 ALT1 IN>;
1129 };
1130 };
1131
1132 pinctrl_i2s_2ch_in: i2s_2ch_in{
1133 st,pins {
1134 mclk = <&pio32 5 ALT1 IN>;
1135 lrclk = <&pio32 7 ALT1 IN>;
1136 sclk = <&pio32 6 ALT1 IN>;
1137 data0 = <&pio32 4 ALT1 IN>;
1138 };
1139 };
1140 };
1141
1142 spdif_out {
1143 pinctrl_spdif_out: spdif_out{
1144 st,pins {
1145 spdif_out = <&pio34 7 ALT1 OUT>;
1146 };
1147 };
1148 };
1149
1150 serial3 {
1151 pinctrl_serial3: serial3-0 {
1152 st,pins {
1153 tx = <&pio31 3 ALT1 OUT>;
1154 rx = <&pio31 4 ALT1 IN>;
1155 };
1156 };
1157 };
1158 };
1159
1160 pin-controller-flash@923f080 {
1161 #address-cells = <1>;
1162 #size-cells = <1>;
1163 compatible = "st,stih407-flash-pinctrl";
1164 st,syscfg = <&syscfg_flash>;
1165 reg = <0x0923f080 0x4>;
1166 reg-names = "irqmux";
1167 interrupts = <GIC_SPI 192 IRQ_TYPE_NONE>;
1168 interrupt-names = "irqmux";
1169 ranges = <0 0x09230000 0x3000>;
1170
1171 pio40: gpio@9230000 {
1172 gpio-controller;
1173 #gpio-cells = <2>;
1174 interrupt-controller;
1175 #interrupt-cells = <2>;
1176 reg = <0 0x100>;
1177 st,bank-name = "PIO40";
1178 };
1179 pio41: gpio@9231000 {
1180 gpio-controller;
1181 #gpio-cells = <2>;
1182 interrupt-controller;
1183 #interrupt-cells = <2>;
1184 reg = <0x1000 0x100>;
1185 st,bank-name = "PIO41";
1186 };
1187 pio42: gpio@9232000 {
1188 gpio-controller;
1189 #gpio-cells = <2>;
1190 interrupt-controller;
1191 #interrupt-cells = <2>;
1192 reg = <0x2000 0x100>;
1193 st,bank-name = "PIO42";
1194 };
1195
1196 mmc0 {
1197 pinctrl_mmc0: mmc0-0 {
1198 st,pins {
1199 emmc_clk = <&pio40 6 ALT1 BIDIR>;
1200 emmc_cmd = <&pio40 7 ALT1 BIDIR_PU>;
1201 emmc_d0 = <&pio41 0 ALT1 BIDIR_PU>;
1202 emmc_d1 = <&pio41 1 ALT1 BIDIR_PU>;
1203 emmc_d2 = <&pio41 2 ALT1 BIDIR_PU>;
1204 emmc_d3 = <&pio41 3 ALT1 BIDIR_PU>;
1205 emmc_d4 = <&pio41 4 ALT1 BIDIR_PU>;
1206 emmc_d5 = <&pio41 5 ALT1 BIDIR_PU>;
1207 emmc_d6 = <&pio41 6 ALT1 BIDIR_PU>;
1208 emmc_d7 = <&pio41 7 ALT1 BIDIR_PU>;
1209 };
1210 };
1211 pinctrl_sd0: sd0-0 {
1212 st,pins {
1213 sd_clk = <&pio40 6 ALT1 BIDIR>;
1214 sd_cmd = <&pio40 7 ALT1 BIDIR_PU>;
1215 sd_dat0 = <&pio41 0 ALT1 BIDIR_PU>;
1216 sd_dat1 = <&pio41 1 ALT1 BIDIR_PU>;
1217 sd_dat2 = <&pio41 2 ALT1 BIDIR_PU>;
1218 sd_dat3 = <&pio41 3 ALT1 BIDIR_PU>;
1219 sd_led = <&pio42 0 ALT2 OUT>;
1220 sd_pwren = <&pio42 2 ALT2 OUT>;
1221 sd_vsel = <&pio42 3 ALT2 OUT>;
1222 sd_cd = <&pio42 4 ALT2 IN>;
1223 sd_wp = <&pio42 5 ALT2 IN>;
1224 };
1225 };
1226 };
1227
1228 fsm {
1229 pinctrl_fsm: fsm {
1230 st,pins {
1231 spi-fsm-clk = <&pio40 1 ALT1 OUT>;
1232 spi-fsm-cs = <&pio40 0 ALT1 OUT>;
1233 spi-fsm-mosi = <&pio40 2 ALT1 OUT>;
1234 spi-fsm-miso = <&pio40 3 ALT1 IN>;
1235 spi-fsm-hol = <&pio40 5 ALT1 OUT>;
1236 spi-fsm-wp = <&pio40 4 ALT1 OUT>;
1237 };
1238 };
1239 };
1240
1241 nand {
1242 pinctrl_nand: nand {
1243 st,pins {
1244 nand_cs1 = <&pio40 6 ALT3 OUT>;
1245 nand_cs0 = <&pio40 7 ALT3 OUT>;
1246 nand_d0 = <&pio41 0 ALT3 BIDIR>;
1247 nand_d1 = <&pio41 1 ALT3 BIDIR>;
1248 nand_d2 = <&pio41 2 ALT3 BIDIR>;
1249 nand_d3 = <&pio41 3 ALT3 BIDIR>;
1250 nand_d4 = <&pio41 4 ALT3 BIDIR>;
1251 nand_d5 = <&pio41 5 ALT3 BIDIR>;
1252 nand_d6 = <&pio41 6 ALT3 BIDIR>;
1253 nand_d7 = <&pio41 7 ALT3 BIDIR>;
1254 nand_we = <&pio42 0 ALT3 OUT>;
1255 nand_dqs = <&pio42 1 ALT3 OUT>;
1256 nand_ale = <&pio42 2 ALT3 OUT>;
1257 nand_cle = <&pio42 3 ALT3 OUT>;
1258 nand_rnb = <&pio42 4 ALT3 IN>;
1259 nand_oe = <&pio42 5 ALT3 OUT>;
1260 };
1261 };
1262 };
1263 };
1264 };
1265};