Merge tag 'pwm/for-5.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / stih407-pinctrl.dtsi
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 };