xref: /linux/arch/arm/boot/dts/st/ste-dbx5x0-pinctrl.dtsi (revision cdd30ebb1b9f36159d66f088b61aee264e649d7a)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Copyright 2013 Linaro Ltd.
4 */
5
6#include "ste-nomadik-pinctrl.dtsi"
7
8&pinctrl {
9	/* Settings for all UART default and sleep states */
10	uart0 {
11		u0_a_1_default: u0_a_1_default {
12			default_mux {
13				function = "u0";
14				groups = "u0_a_1";
15			};
16			default_cfg1 {
17				pins = "GPIO0_AJ5", "GPIO2_AH4"; /* CTS+RXD */
18				ste,config = <&in_pu>;
19			};
20			default_cfg2 {
21				pins = "GPIO1_AJ3", "GPIO3_AH3"; /* RTS+TXD */
22				ste,config = <&out_hi>;
23			};
24		};
25
26		u0_a_1_sleep: u0_a_1_sleep {
27			sleep_cfg1 {
28				pins = "GPIO0_AJ5", "GPIO2_AH4"; /* CTS+RXD */
29				ste,config = <&slpm_in_wkup_pdis>;
30			};
31			sleep_cfg2 {
32				pins = "GPIO1_AJ3"; /* RTS */
33				ste,config = <&slpm_out_hi_wkup_pdis>;
34			};
35			sleep_cfg3 {
36				pins = "GPIO3_AH3"; /* TXD */
37				ste,config = <&slpm_out_wkup_pdis>;
38			};
39		};
40	};
41
42	uart1 {
43		u1rxtx_a_1_default: u1rxtx_a_1_default {
44			default_mux {
45				function = "u1";
46				groups = "u1rxtx_a_1";
47			};
48			default_cfg1 {
49				pins = "GPIO4_AH6"; /* RXD */
50				ste,config = <&in_pu>;
51			};
52			default_cfg2 {
53				pins = "GPIO5_AG6"; /* TXD */
54				ste,config = <&out_hi>;
55			};
56		};
57
58		u1rxtx_a_1_sleep: u1rxtx_a_1_sleep {
59			sleep_cfg1 {
60				pins = "GPIO4_AH6"; /* RXD */
61				ste,config = <&slpm_in_wkup_pdis>;
62			};
63			sleep_cfg2 {
64				pins = "GPIO5_AG6"; /* TXD */
65				ste,config = <&slpm_out_wkup_pdis>;
66			};
67		};
68
69		u1ctsrts_a_1_default: u1ctsrts_a_1_default {
70			default_mux {
71				function = "u1";
72				groups = "u1ctsrts_a_1";
73			};
74			default_cfg1 {
75				pins = "GPIO6_AF6"; /* CTS */
76				ste,config = <&in_pu>;
77			};
78			default_cfg2 {
79				pins = "GPIO7_AG5"; /* RTS */
80				ste,config = <&out_hi>;
81			};
82		};
83
84		u1ctsrts_a_1_sleep: u1ctsrts_a_1_sleep {
85			sleep_cfg1 {
86				pins = "GPIO6_AF6"; /* CTS */
87				ste,config = <&slpm_in_wkup_pdis>;
88			};
89			sleep_cfg2 {
90				pins = "GPIO7_AG5"; /* RTS */
91				ste,config = <&slpm_out_hi_wkup_pdis>;
92			};
93		};
94	};
95
96	uart2 {
97		u2rxtx_c_1_default: u2rxtx_c_1_default {
98			default_mux {
99				function = "u2";
100				groups = "u2rxtx_c_1";
101			};
102			default_cfg1 {
103				pins = "GPIO29_W2"; /* RXD */
104				ste,config = <&in_pu>;
105			};
106			default_cfg2 {
107				pins = "GPIO30_W3"; /* TXD */
108				ste,config = <&out_hi>;
109			};
110		};
111
112		u2rxtx_c_1_sleep: u2rxtx_c_1_sleep {
113			sleep_cfg1 {
114				pins = "GPIO29_W2"; /* RXD */
115				ste,config = <&in_wkup_pdis>;
116			};
117			sleep_cfg2 {
118				pins = "GPIO30_W3"; /* TXD */
119				ste,config = <&out_wkup_pdis>;
120			};
121		};
122	};
123
124	/* Settings for all I2C default and sleep states */
125	i2c0 {
126		i2c0_a_1_default: i2c0_a_1_default {
127			default_mux {
128				function = "i2c0";
129				groups = "i2c0_a_1";
130			};
131			default_cfg1 {
132				pins = "GPIO147_C15", "GPIO148_B16"; /* SDA/SCL */
133				ste,config = <&in_nopull>;
134			};
135		};
136
137		i2c0_a_1_sleep: i2c0_a_1_sleep {
138			sleep_cfg1 {
139				pins = "GPIO147_C15", "GPIO148_B16"; /* SDA/SCL */
140				ste,config = <&slpm_in_wkup_pdis>;
141			};
142		};
143	};
144
145	i2c1 {
146		i2c1_b_2_default: i2c1_b_2_default {
147			default_mux {
148				function = "i2c1";
149				groups = "i2c1_b_2";
150			};
151			default_cfg1 {
152				pins = "GPIO16_AD3", "GPIO17_AD4"; /* SDA/SCL */
153				ste,config = <&in_nopull>;
154			};
155		};
156
157		i2c1_b_2_sleep: i2c1_b_2_sleep {
158			sleep_cfg1 {
159				pins = "GPIO16_AD3", "GPIO17_AD4"; /* SDA/SCL */
160				ste,config = <&slpm_in_wkup_pdis>;
161			};
162		};
163	};
164
165	i2c2 {
166		i2c2_b_1_default: i2c2_b_1_default {
167			default_mux {
168				function = "i2c2";
169				groups = "i2c2_b_1";
170			};
171			default_cfg1 {
172				pins = "GPIO8_AD5", "GPIO9_AE4"; /* SDA/SCL */
173				ste,config = <&in_nopull>;
174			};
175		};
176
177		i2c2_b_1_sleep: i2c2_b_1_sleep {
178			sleep_cfg1 {
179				pins = "GPIO8_AD5", "GPIO9_AE4"; /* SDA/SCL */
180				ste,config = <&slpm_in_wkup_pdis>;
181			};
182		};
183
184		i2c2_b_2_default: i2c2_b_2_default {
185			default_mux {
186				function = "i2c2";
187				groups = "i2c2_b_2";
188			};
189			default_cfg1 {
190				pins = "GPIO10_AF5", "GPIO11_AG4"; /* SDA/SCL */
191				ste,config = <&in_nopull>;
192			};
193		};
194
195		i2c2_b_2_sleep: i2c2_b_2_sleep {
196			sleep_cfg1 {
197				pins = "GPIO10_AF5", "GPIO11_AG4"; /* SDA/SCL */
198				ste,config = <&slpm_in_wkup_pdis>;
199			};
200		};
201	};
202
203	i2c3 {
204		i2c3_c_2_default: i2c3_c_2_default {
205			default_mux {
206				function = "i2c3";
207				groups = "i2c3_c_2";
208			};
209			default_cfg1 {
210				pins = "GPIO229_AG7", "GPIO230_AF7"; /* SDA/SCL */
211				ste,config = <&in_nopull>;
212			};
213		};
214
215		i2c3_c_2_sleep: i2c3_c_2_sleep {
216			sleep_cfg1 {
217				pins = "GPIO229_AG7", "GPIO230_AF7"; /* SDA/SCL */
218				ste,config = <&slpm_in_wkup_pdis>;
219			};
220		};
221	};
222
223	/*
224	 * Activating I2C4 will conflict with UART1 about the same pins so do not
225	 * enable I2C4 and UART1 at the same time.
226	 */
227	i2c4 {
228		i2c4_b_1_default: i2c4_b_1_default {
229			default_mux {
230				function = "i2c4";
231				groups = "i2c4_b_1";
232			};
233			default_cfg1 {
234				pins = "GPIO4_AH6", "GPIO5_AG6"; /* SDA/SCL */
235				ste,config = <&in_nopull>;
236			};
237		};
238
239		i2c4_b_1_sleep: i2c4_b_1_sleep {
240			sleep_cfg1 {
241				pins = "GPIO4_AH6", "GPIO5_AG6"; /* SDA/SCL */
242				ste,config = <&slpm_in_wkup_pdis>;
243			};
244		};
245	};
246
247	/* Settings for all MMC/SD/SDIO default and sleep states */
248	sdi0 {
249		/* This is the external SD card slot, 4 bits wide */
250		mc0_a_1_default: mc0_a_1_default {
251			default_mux {
252				function = "mc0";
253				groups = "mc0_a_1";
254			};
255			default_cfg1 {
256				pins =
257				"GPIO18_AC2", /* CMDDIR */
258				"GPIO19_AC1", /* DAT0DIR */
259				"GPIO20_AB4"; /* DAT2DIR */
260				ste,config = <&out_hi>;
261			};
262			default_cfg2 {
263				pins = "GPIO22_AA3"; /* FBCLK */
264				ste,config = <&in_nopull>;
265			};
266			default_cfg3 {
267				pins = "GPIO23_AA4"; /* CLK */
268				ste,config = <&out_lo>;
269			};
270			default_cfg4 {
271				pins =
272				"GPIO24_AB2", /* CMD */
273				"GPIO25_Y4", /* DAT0 */
274				"GPIO26_Y2", /* DAT1 */
275				"GPIO27_AA2", /* DAT2 */
276				"GPIO28_AA1"; /* DAT3 */
277				ste,config = <&in_pu>;
278			};
279		};
280
281		mc0_a_1_sleep: mc0_a_1_sleep {
282			sleep_cfg1 {
283				pins =
284				"GPIO18_AC2", /* CMDDIR */
285				"GPIO19_AC1", /* DAT0DIR */
286				"GPIO20_AB4"; /* DAT2DIR */
287				ste,config = <&slpm_out_hi_wkup_pdis>;
288			};
289			sleep_cfg2 {
290				pins =
291				"GPIO22_AA3", /* FBCLK */
292				"GPIO24_AB2", /* CMD */
293				"GPIO25_Y4", /* DAT0 */
294				"GPIO26_Y2", /* DAT1 */
295				"GPIO27_AA2", /* DAT2 */
296				"GPIO28_AA1"; /* DAT3 */
297				ste,config = <&slpm_in_wkup_pdis>;
298			};
299			sleep_cfg3 {
300				pins = "GPIO23_AA4"; /* CLK */
301				ste,config = <&slpm_out_lo_wkup_pdis>;
302			};
303		};
304
305		mc0_a_2_default: mc0_a_2_default {
306			default_mux {
307				function = "mc0";
308				groups = "mc0_a_2";
309			};
310			default_cfg1 {
311				pins = "GPIO22_AA3"; /* FBCLK */
312				ste,config = <&in_nopull>;
313			};
314			default_cfg2 {
315				pins = "GPIO23_AA4"; /* CLK */
316				ste,config = <&out_lo>;
317			};
318			default_cfg3 {
319				pins =
320				"GPIO24_AB2", /* CMD */
321				"GPIO25_Y4", /* DAT0 */
322				"GPIO26_Y2", /* DAT1 */
323				"GPIO27_AA2", /* DAT2 */
324				"GPIO28_AA1"; /* DAT3 */
325				ste,config = <&in_pu>;
326			};
327		};
328
329		mc0_a_2_sleep: mc0_a_2_sleep {
330			sleep_cfg1 {
331				pins =
332				"GPIO22_AA3", /* FBCLK */
333				"GPIO24_AB2", /* CMD */
334				"GPIO25_Y4", /* DAT0 */
335				"GPIO26_Y2", /* DAT1 */
336				"GPIO27_AA2", /* DAT2 */
337				"GPIO28_AA1"; /* DAT3 */
338				ste,config = <&slpm_in_wkup_pdis>;
339			};
340			sleep_cfg2 {
341				pins = "GPIO23_AA4"; /* CLK */
342				ste,config = <&slpm_out_lo_wkup_pdis>;
343			};
344		};
345	};
346
347	sdi1 {
348		/* This is the WLAN SDIO 4 bits wide */
349		mc1_a_1_default: mc1_a_1_default {
350			default_mux {
351				function = "mc1";
352				groups = "mc1_a_1";
353			};
354			default_cfg1 {
355				pins = "GPIO208_AH16"; /* CLK */
356				ste,config = <&out_lo>;
357			};
358			default_cfg2 {
359				pins = "GPIO209_AG15"; /* FBCLK */
360				ste,config = <&in_nopull>;
361			};
362			default_cfg3 {
363				pins =
364				"GPIO210_AJ15", /* CMD */
365				"GPIO211_AG14", /* DAT0 */
366				"GPIO212_AF13", /* DAT1 */
367				"GPIO213_AG13", /* DAT2 */
368				"GPIO214_AH15"; /* DAT3 */
369				ste,config = <&in_pu>;
370			};
371		};
372
373		mc1_a_1_sleep: mc1_a_1_sleep {
374			sleep_cfg1 {
375				pins = "GPIO208_AH16"; /* CLK */
376				ste,config = <&slpm_out_lo_wkup_pdis>;
377			};
378			sleep_cfg2 {
379				pins =
380				"GPIO209_AG15", /* FBCLK */
381				"GPIO210_AJ15", /* CMD */
382				"GPIO211_AG14", /* DAT0 */
383				"GPIO212_AF13", /* DAT1 */
384				"GPIO213_AG13", /* DAT2 */
385				"GPIO214_AH15"; /* DAT3 */
386				ste,config = <&slpm_in_wkup_pdis>;
387			};
388		};
389
390		mc1_a_2_default: mc1_a_2_default {
391			default_mux {
392				function = "mc1";
393				groups = "mc1_a_2";
394			};
395			default_cfg1 {
396				pins = "GPIO208_AH16"; /* CLK */
397				ste,config = <&out_lo>;
398			};
399			default_cfg2 {
400				pins =
401				"GPIO210_AJ15", /* CMD */
402				"GPIO211_AG14", /* DAT0 */
403				"GPIO212_AF13", /* DAT1 */
404				"GPIO213_AG13", /* DAT2 */
405				"GPIO214_AH15"; /* DAT3 */
406				ste,config = <&in_pu>;
407			};
408		};
409
410		mc1_a_2_sleep: mc1_a_2_sleep {
411			sleep_cfg1 {
412				pins = "GPIO208_AH16"; /* CLK */
413				ste,config = <&slpm_out_lo_wkup_pdis>;
414			};
415			sleep_cfg2 {
416				pins =
417				"GPIO210_AJ15", /* CMD */
418				"GPIO211_AG14", /* DAT0 */
419				"GPIO212_AF13", /* DAT1 */
420				"GPIO213_AG13", /* DAT2 */
421				"GPIO214_AH15"; /* DAT3 */
422				ste,config = <&slpm_in_wkup_pdis>;
423			};
424		};
425	};
426
427	sdi2 {
428		/* This is the eMMC 8 bits wide, usually PoP eMMC */
429		mc2_a_1_default: mc2_a_1_default {
430			default_mux {
431				function = "mc2";
432				groups = "mc2_a_1";
433			};
434			default_cfg1 {
435				pins = "GPIO128_A5"; /* CLK */
436				ste,config = <&out_lo>;
437			};
438			default_cfg2 {
439				pins = "GPIO130_C8"; /* FBCLK */
440				ste,config = <&in_nopull>;
441			};
442			default_cfg3 {
443				pins =
444				"GPIO129_B4", /* CMD */
445				"GPIO131_A12", /* DAT0 */
446				"GPIO132_C10", /* DAT1 */
447				"GPIO133_B10", /* DAT2 */
448				"GPIO134_B9", /* DAT3 */
449				"GPIO135_A9", /* DAT4 */
450				"GPIO136_C7", /* DAT5 */
451				"GPIO137_A7", /* DAT6 */
452				"GPIO138_C5"; /* DAT7 */
453				ste,config = <&in_pu>;
454			};
455		};
456
457		/* MC2 without feedback clock on A8 */
458		mc2_a_2_default: mc2_a_2_default {
459			default_mux {
460				function = "mc2";
461				groups = "mc2_a_2";
462			};
463			default_cfg1 {
464				pins = "GPIO128_A5"; /* CLK */
465				ste,config = <&out_lo>;
466			};
467			default_cfg2 {
468				pins =
469				"GPIO129_B4", /* CMD */
470				"GPIO131_A12", /* DAT0 */
471				"GPIO132_C10", /* DAT1 */
472				"GPIO133_B10", /* DAT2 */
473				"GPIO134_B9", /* DAT3 */
474				"GPIO135_A9", /* DAT4 */
475				"GPIO136_C7", /* DAT5 */
476				"GPIO137_A7", /* DAT6 */
477				"GPIO138_C5"; /* DAT7 */
478				ste,config = <&in_pu>;
479			};
480		};
481
482		mc2_a_1_sleep: mc2_a_1_sleep {
483			sleep_cfg1 {
484				pins = "GPIO128_A5"; /* CLK */
485				ste,config = <&out_lo_wkup_pdis>;
486			};
487			sleep_cfg2 {
488				pins =
489				"GPIO130_C8", /* FBCLK */
490				"GPIO129_B4"; /* CMD */
491				ste,config = <&in_wkup_pdis_en>;
492			};
493			sleep_cfg3 {
494				pins =
495				"GPIO131_A12", /* DAT0 */
496				"GPIO132_C10", /* DAT1 */
497				"GPIO133_B10", /* DAT2 */
498				"GPIO134_B9", /* DAT3 */
499				"GPIO135_A9", /* DAT4 */
500				"GPIO136_C7", /* DAT5 */
501				"GPIO137_A7", /* DAT6 */
502				"GPIO138_C5"; /* DAT7 */
503				ste,config = <&in_wkup_pdis>;
504			};
505		};
506
507		mc2_a_2_sleep: mc2_a_2_sleep {
508			sleep_cfg1 {
509				pins = "GPIO128_A5"; /* CLK */
510				ste,config = <&out_lo_wkup_pdis>;
511			};
512			sleep_cfg2 {
513				pins =
514				"GPIO129_B4"; /* CMD */
515				ste,config = <&in_wkup_pdis_en>;
516			};
517			sleep_cfg3 {
518				pins =
519				"GPIO131_A12", /* DAT0 */
520				"GPIO132_C10", /* DAT1 */
521				"GPIO133_B10", /* DAT2 */
522				"GPIO134_B9", /* DAT3 */
523				"GPIO135_A9", /* DAT4 */
524				"GPIO136_C7", /* DAT5 */
525				"GPIO137_A7", /* DAT6 */
526				"GPIO138_C5"; /* DAT7 */
527				ste,config = <&in_wkup_pdis>;
528			};
529		};
530	};
531
532	sdi4 {
533		/* This is the eMMC 8 bits wide, usually PCB-mounted eMMC */
534		mc4_a_1_default: mc4_a_1_default {
535			default_mux {
536				function = "mc4";
537				groups = "mc4_a_1";
538			};
539			default_cfg1 {
540				pins = "GPIO203_AE23"; /* CLK */
541				ste,config = <&out_lo>;
542			};
543			default_cfg2 {
544				pins = "GPIO202_AF25"; /* FBCLK */
545				ste,config = <&in_nopull>;
546			};
547			default_cfg3 {
548				pins =
549				"GPIO201_AF24", /* CMD */
550				"GPIO200_AH26", /* DAT0 */
551				"GPIO199_AH23", /* DAT1 */
552				"GPIO198_AG25", /* DAT2 */
553				"GPIO197_AH24", /* DAT3 */
554				"GPIO207_AJ23", /* DAT4 */
555				"GPIO206_AG24", /* DAT5 */
556				"GPIO205_AG23", /* DAT6 */
557				"GPIO204_AF23"; /* DAT7 */
558				ste,config = <&in_pu>;
559			};
560		};
561
562		mc4_a_1_sleep: mc4_a_1_sleep {
563			sleep_cfg1 {
564				pins = "GPIO203_AE23"; /* CLK */
565				ste,config = <&out_lo_wkup_pdis>;
566			};
567			sleep_cfg2 {
568				pins =
569				"GPIO202_AF25", /* FBCLK */
570				"GPIO201_AF24", /* CMD */
571				"GPIO200_AH26", /* DAT0 */
572				"GPIO199_AH23", /* DAT1 */
573				"GPIO198_AG25", /* DAT2 */
574				"GPIO197_AH24", /* DAT3 */
575				"GPIO207_AJ23", /* DAT4 */
576				"GPIO206_AG24", /* DAT5 */
577				"GPIO205_AG23", /* DAT6 */
578				"GPIO204_AF23"; /* DAT7 */
579				ste,config = <&slpm_in_wkup_pdis>;
580			};
581		};
582	};
583
584	/*
585	 * Multi-rate serial ports (MSPs) - MSP3 output is internal and
586	 * cannot be muxed onto any pins.
587	 */
588	msp0 {
589		msp0txrxtfstck_a_1_default: msp0txrxtfstck_a_1_default {
590			default_msp0_mux {
591				function = "msp0";
592				groups = "msp0txrx_a_1", "msp0tfstck_a_1";
593			};
594			default_msp0_cfg {
595				pins =
596				"GPIO12_AC4", /* TXD */
597				"GPIO15_AC3", /* RXD */
598				"GPIO13_AF3", /* TFS */
599				"GPIO14_AE3"; /* TCK */
600				ste,config = <&in_nopull>;
601			};
602		};
603	};
604
605	msp1 {
606		msp1txrx_a_1_default: msp1txrx_a_1_default {
607			default_mux {
608				function = "msp1";
609				groups = "msp1txrx_a_1", "msp1_a_1";
610			};
611			default_cfg1 {
612				pins = "GPIO33_AF2";
613				ste,config = <&out_lo>;
614			};
615			default_cfg2 {
616				pins =
617				"GPIO34_AE1",
618				"GPIO35_AE2",
619				"GPIO36_AG2";
620				ste,config = <&in_nopull>;
621			};
622		};
623	};
624
625	msp2 {
626		msp2_a_1_default: msp2_a_1_default {
627			/* MSP2 usually used for HDMI audio */
628			default_mux {
629				function = "msp2";
630				groups = "msp2_a_1";
631			};
632			default_cfg1 {
633				pins =
634				"GPIO193_AH27", /* TXD */
635				"GPIO194_AF27", /* TCK */
636				"GPIO195_AG28"; /* TFS */
637				ste,config = <&in_pd>;
638			};
639			default_cfg2 {
640				pins = "GPIO196_AG26"; /* RXD */
641				ste,config = <&out_lo>;
642			};
643		};
644	};
645
646	musb {
647		usb_a_1_default: usb_a_1_default {
648			default_mux {
649				function = "usb";
650				groups = "usb_a_1";
651			};
652			default_cfg1 {
653				pins =
654				"GPIO256_AF28", /* NXT */
655				"GPIO258_AD29", /* XCLK */
656				"GPIO259_AC29", /* DIR */
657				"GPIO260_AD28", /* DAT7 */
658				"GPIO261_AD26", /* DAT6 */
659				"GPIO262_AE26", /* DAT5 */
660				"GPIO263_AG29", /* DAT4 */
661				"GPIO264_AE27", /* DAT3 */
662				"GPIO265_AD27", /* DAT2 */
663				"GPIO266_AC28", /* DAT1 */
664				"GPIO267_AC27"; /* DAT0 */
665				ste,config = <&in_nopull>;
666			};
667			default_cfg2 {
668				pins = "GPIO257_AE29"; /* STP */
669				ste,config = <&out_hi>;
670			};
671		};
672
673		usb_a_1_sleep: usb_a_1_sleep {
674			sleep_cfg1 {
675				pins =
676				"GPIO256_AF28", /* NXT */
677				"GPIO258_AD29", /* XCLK */
678				"GPIO259_AC29"; /* DIR */
679				ste,config = <&slpm_wkup_pdis_en>;
680			};
681			sleep_cfg2 {
682				pins = "GPIO257_AE29"; /* STP */
683				ste,config = <&slpm_out_hi_wkup_pdis>;
684			};
685			sleep_cfg3 {
686				pins =
687				"GPIO260_AD28", /* DAT7 */
688				"GPIO261_AD26", /* DAT6 */
689				"GPIO262_AE26", /* DAT5 */
690				"GPIO263_AG29", /* DAT4 */
691				"GPIO264_AE27", /* DAT3 */
692				"GPIO265_AD27", /* DAT2 */
693				"GPIO266_AC28", /* DAT1 */
694				"GPIO267_AC27"; /* DAT0 */
695				ste,config = <&slpm_in_wkup_pdis_en>;
696			};
697		};
698	};
699};
700