xref: /openbmc/linux/arch/arm64/boot/dts/exynos/exynos7-pinctrl.dtsi (revision e4781421e883340b796da5a724bda7226817990b)
1/*
2 * Samsung's Exynos7 SoC pin-mux and pin-config device tree source
3 *
4 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
5 *		http://www.samsung.com
6 *
7 * Samsung's Exynos7 SoC pin-mux and pin-config options are listed as
8 * device tree nodes in this file.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13*/
14
15&pinctrl_alive {
16	gpa0: gpa0 {
17		gpio-controller;
18		#gpio-cells = <2>;
19
20		interrupt-controller;
21		interrupt-parent = <&gic>;
22		#interrupt-cells = <2>;
23		interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
24			     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
25			     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
26			     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
27			     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
28			     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
29			     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
30			     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
31	};
32
33	gpa1: gpa1 {
34		gpio-controller;
35		#gpio-cells = <2>;
36
37		interrupt-controller;
38		interrupt-parent = <&gic>;
39		#interrupt-cells = <2>;
40		interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
41			     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
42			     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
43			     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
44			     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
45			     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
46			     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
47			     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
48	};
49
50	gpa2: gpa2 {
51		gpio-controller;
52		#gpio-cells = <2>;
53
54		interrupt-controller;
55		#interrupt-cells = <2>;
56	};
57
58	gpa3: gpa3 {
59		gpio-controller;
60		#gpio-cells = <2>;
61
62		interrupt-controller;
63		#interrupt-cells = <2>;
64	};
65};
66
67&pinctrl_bus0 {
68	gpb0: gpb0 {
69		gpio-controller;
70		#gpio-cells = <2>;
71
72		interrupt-controller;
73		#interrupt-cells = <2>;
74	};
75
76	gpc0: gpc0 {
77		gpio-controller;
78		#gpio-cells = <2>;
79
80		interrupt-controller;
81		#interrupt-cells = <2>;
82	};
83
84	gpc1: gpc1 {
85		gpio-controller;
86		#gpio-cells = <2>;
87
88		interrupt-controller;
89		#interrupt-cells = <2>;
90	};
91
92	gpc2: gpc2 {
93		gpio-controller;
94		#gpio-cells = <2>;
95
96		interrupt-controller;
97		#interrupt-cells = <2>;
98	};
99
100	gpc3: gpc3 {
101		gpio-controller;
102		#gpio-cells = <2>;
103
104		interrupt-controller;
105		#interrupt-cells = <2>;
106	};
107
108	gpd0: gpd0 {
109		gpio-controller;
110		#gpio-cells = <2>;
111
112		interrupt-controller;
113		#interrupt-cells = <2>;
114	};
115
116	gpd1: gpd1 {
117		gpio-controller;
118		#gpio-cells = <2>;
119
120		interrupt-controller;
121		#interrupt-cells = <2>;
122	};
123
124	gpd2: gpd2 {
125		gpio-controller;
126		#gpio-cells = <2>;
127
128		interrupt-controller;
129		#interrupt-cells = <2>;
130	};
131
132	gpd4: gpd4 {
133		gpio-controller;
134		#gpio-cells = <2>;
135
136		interrupt-controller;
137		#interrupt-cells = <2>;
138	};
139
140	gpd5: gpd5 {
141		gpio-controller;
142		#gpio-cells = <2>;
143
144		interrupt-controller;
145		#interrupt-cells = <2>;
146	};
147
148	gpd6: gpd6 {
149		gpio-controller;
150		#gpio-cells = <2>;
151
152		interrupt-controller;
153		#interrupt-cells = <2>;
154	};
155
156	gpd7: gpd7 {
157		gpio-controller;
158		#gpio-cells = <2>;
159
160		interrupt-controller;
161		#interrupt-cells = <2>;
162	};
163
164	gpd8: gpd8 {
165		gpio-controller;
166		#gpio-cells = <2>;
167
168		interrupt-controller;
169		#interrupt-cells = <2>;
170	};
171
172	gpg0: gpg0 {
173		gpio-controller;
174		#gpio-cells = <2>;
175
176		interrupt-controller;
177		#interrupt-cells = <2>;
178	};
179
180	gpg3: gpg3 {
181		gpio-controller;
182		#gpio-cells = <2>;
183
184		interrupt-controller;
185		#interrupt-cells = <2>;
186	};
187
188	hs_i2c10_bus: hs-i2c10-bus {
189		samsung,pins = "gpb0-1", "gpb0-0";
190		samsung,pin-function = <2>;
191		samsung,pin-pud = <3>;
192		samsung,pin-drv = <0>;
193	};
194
195	hs_i2c11_bus: hs-i2c11-bus {
196		samsung,pins = "gpb0-3", "gpb0-2";
197		samsung,pin-function = <2>;
198		samsung,pin-pud = <3>;
199		samsung,pin-drv = <0>;
200	};
201
202	hs_i2c2_bus: hs-i2c2-bus {
203		samsung,pins = "gpd0-3", "gpd0-2";
204		samsung,pin-function = <3>;
205		samsung,pin-pud = <3>;
206		samsung,pin-drv = <0>;
207	};
208
209	uart0_data: uart0-data {
210		samsung,pins = "gpd0-0", "gpd0-1";
211		samsung,pin-function = <2>;
212		samsung,pin-pud = <0>;
213		samsung,pin-drv = <0>;
214	};
215
216	uart0_fctl: uart0-fctl {
217		samsung,pins = "gpd0-2", "gpd0-3";
218		samsung,pin-function = <2>;
219		samsung,pin-pud = <0>;
220		samsung,pin-drv = <0>;
221	};
222
223	uart2_data: uart2-data {
224		samsung,pins = "gpd1-4", "gpd1-5";
225		samsung,pin-function = <2>;
226		samsung,pin-pud = <0>;
227		samsung,pin-drv = <0>;
228	};
229
230	hs_i2c3_bus: hs-i2c3-bus {
231		samsung,pins = "gpd1-3", "gpd1-2";
232		samsung,pin-function = <3>;
233		samsung,pin-pud = <3>;
234		samsung,pin-drv = <0>;
235	};
236
237	uart1_data: uart1-data {
238		samsung,pins = "gpd1-0", "gpd1-1";
239		samsung,pin-function = <2>;
240		samsung,pin-pud = <0>;
241		samsung,pin-drv = <0>;
242	};
243
244	uart1_fctl: uart1-fctl {
245		samsung,pins = "gpd1-2", "gpd1-3";
246		samsung,pin-function = <2>;
247		samsung,pin-pud = <0>;
248		samsung,pin-drv = <0>;
249	};
250
251	hs_i2c0_bus: hs-i2c0-bus {
252		samsung,pins = "gpd2-1", "gpd2-0";
253		samsung,pin-function = <2>;
254		samsung,pin-pud = <3>;
255		samsung,pin-drv = <0>;
256	};
257
258	hs_i2c1_bus: hs-i2c1-bus {
259		samsung,pins = "gpd2-3", "gpd2-2";
260		samsung,pin-function = <2>;
261		samsung,pin-pud = <3>;
262		samsung,pin-drv = <0>;
263	};
264
265	hs_i2c9_bus: hs-i2c9-bus {
266		samsung,pins = "gpd2-7", "gpd2-6";
267		samsung,pin-function = <3>;
268		samsung,pin-pud = <3>;
269		samsung,pin-drv = <0>;
270	};
271
272	pwm0_out: pwm0-out {
273		samsung,pins = "gpd2-4";
274		samsung,pin-function = <2>;
275		samsung,pin-pud = <0>;
276		samsung,pin-drv = <0>;
277	};
278
279	pwm1_out: pwm1-out {
280		samsung,pins = "gpd2-5";
281		samsung,pin-function = <2>;
282		samsung,pin-pud = <0>;
283		samsung,pin-drv = <0>;
284	};
285
286	pwm2_out: pwm2-out {
287		samsung,pins = "gpd2-6";
288		samsung,pin-function = <2>;
289		samsung,pin-pud = <0>;
290		samsung,pin-drv = <0>;
291	};
292
293	pwm3_out: pwm3-out {
294		samsung,pins = "gpd2-7";
295		samsung,pin-function = <2>;
296		samsung,pin-pud = <0>;
297		samsung,pin-drv = <0>;
298	};
299
300	hs_i2c8_bus: hs-i2c8-bus {
301		samsung,pins = "gpd5-3", "gpd5-2";
302		samsung,pin-function = <3>;
303		samsung,pin-pud = <3>;
304		samsung,pin-drv = <0>;
305	};
306
307	uart3_data: uart3-data {
308		samsung,pins = "gpd5-0", "gpd5-1";
309		samsung,pin-function = <3>;
310		samsung,pin-pud = <0>;
311		samsung,pin-drv = <0>;
312	};
313
314	spi2_bus: spi2-bus {
315		samsung,pins = "gpd5-0", "gpd5-1", "gpd5-2", "gpd5-3";
316		samsung,pin-function = <2>;
317		samsung,pin-pud = <3>;
318		samsung,pin-drv = <0>;
319	};
320
321	spi1_bus: spi1-bus {
322		samsung,pins = "gpd6-2", "gpd6-3", "gpd6-4", "gpd6-5";
323		samsung,pin-function = <2>;
324		samsung,pin-pud = <3>;
325		samsung,pin-drv = <0>;
326	};
327
328	spi0_bus: spi0-bus {
329		samsung,pins = "gpd8-0", "gpd8-1", "gpd6-0", "gpd6-1";
330		samsung,pin-function = <2>;
331		samsung,pin-pud = <3>;
332		samsung,pin-drv = <0>;
333	};
334
335	hs_i2c4_bus: hs-i2c4-bus {
336		samsung,pins = "gpg3-1", "gpg3-0";
337		samsung,pin-function = <2>;
338		samsung,pin-pud = <3>;
339		samsung,pin-drv = <0>;
340	};
341
342	hs_i2c5_bus: hs-i2c5-bus {
343		samsung,pins = "gpg3-3", "gpg3-2";
344		samsung,pin-function = <2>;
345		samsung,pin-pud = <3>;
346		samsung,pin-drv = <0>;
347	};
348};
349
350&pinctrl_nfc {
351	gpj0: gpj0 {
352		gpio-controller;
353		#gpio-cells = <2>;
354
355		interrupt-controller;
356		#interrupt-cells = <2>;
357	};
358
359	hs_i2c6_bus: hs-i2c6-bus {
360		samsung,pins = "gpj0-1", "gpj0-0";
361		samsung,pin-function = <2>;
362		samsung,pin-pud = <3>;
363		samsung,pin-drv = <0>;
364	};
365};
366
367&pinctrl_touch {
368	gpj1: gpj1 {
369		gpio-controller;
370		#gpio-cells = <2>;
371
372		interrupt-controller;
373		#interrupt-cells = <2>;
374	};
375
376	hs_i2c7_bus: hs-i2c7-bus {
377		samsung,pins = "gpj1-1", "gpj1-0";
378		samsung,pin-function = <2>;
379		samsung,pin-pud = <3>;
380		samsung,pin-drv = <0>;
381	};
382};
383
384&pinctrl_ff {
385	gpg4: gpg4 {
386		gpio-controller;
387		#gpio-cells = <2>;
388
389		interrupt-controller;
390		#interrupt-cells = <2>;
391	};
392
393	spi3_bus: spi3-bus {
394		samsung,pins = "gpg4-0", "gpg4-1", "gpg4-2", "gpg4-3";
395		samsung,pin-function = <2>;
396		samsung,pin-pud = <3>;
397		samsung,pin-drv = <0>;
398	};
399};
400
401&pinctrl_ese {
402	gpv7: gpv7 {
403		gpio-controller;
404		#gpio-cells = <2>;
405
406		interrupt-controller;
407		#interrupt-cells = <2>;
408	};
409
410	spi4_bus: spi4-bus {
411		samsung,pins = "gpv7-0", "gpv7-1", "gpv7-2", "gpv7-3";
412		samsung,pin-function = <2>;
413		samsung,pin-pud = <3>;
414		samsung,pin-drv = <0>;
415	};
416};
417
418&pinctrl_fsys0 {
419	gpr4: gpr4 {
420		gpio-controller;
421		#gpio-cells = <2>;
422
423		interrupt-controller;
424		#interrupt-cells = <2>;
425	};
426
427	sd2_clk: sd2-clk {
428		samsung,pins = "gpr4-0";
429		samsung,pin-function = <2>;
430		samsung,pin-pud = <0>;
431		samsung,pin-drv = <3>;
432	};
433
434	sd2_cmd: sd2-cmd {
435		samsung,pins = "gpr4-1";
436		samsung,pin-function = <2>;
437		samsung,pin-pud = <0>;
438		samsung,pin-drv = <3>;
439	};
440
441	sd2_cd: sd2-cd {
442		samsung,pins = "gpr4-2";
443		samsung,pin-function = <2>;
444		samsung,pin-pud = <3>;
445		samsung,pin-drv = <3>;
446	};
447
448	sd2_bus1: sd2-bus-width1 {
449		samsung,pins = "gpr4-3";
450		samsung,pin-function = <2>;
451		samsung,pin-pud = <3>;
452		samsung,pin-drv = <3>;
453	};
454
455	sd2_bus4: sd2-bus-width4 {
456		samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6";
457		samsung,pin-function = <2>;
458		samsung,pin-pud = <3>;
459		samsung,pin-drv = <3>;
460	};
461};
462
463&pinctrl_fsys1 {
464	gpr0: gpr0 {
465		gpio-controller;
466		#gpio-cells = <2>;
467
468		interrupt-controller;
469		#interrupt-cells = <2>;
470	};
471
472	gpr1: gpr1 {
473		gpio-controller;
474		#gpio-cells = <2>;
475
476		interrupt-controller;
477		#interrupt-cells = <2>;
478	};
479
480	gpr2: gpr2 {
481		gpio-controller;
482		#gpio-cells = <2>;
483
484		interrupt-controller;
485		#interrupt-cells = <2>;
486	};
487
488	gpr3: gpr3 {
489		gpio-controller;
490		#gpio-cells = <2>;
491
492		interrupt-controller;
493		#interrupt-cells = <2>;
494	};
495
496	sd0_clk: sd0-clk {
497		samsung,pins = "gpr0-0";
498		samsung,pin-function = <2>;
499		samsung,pin-pud = <0>;
500		samsung,pin-drv = <3>;
501	};
502
503	sd0_cmd: sd0-cmd {
504		samsung,pins = "gpr0-1";
505		samsung,pin-function = <2>;
506		samsung,pin-pud = <3>;
507		samsung,pin-drv = <3>;
508	};
509
510	sd0_ds: sd0-ds {
511		samsung,pins = "gpr0-2";
512		samsung,pin-function = <2>;
513		samsung,pin-pud = <1>;
514		samsung,pin-drv = <3>;
515	};
516
517	sd0_qrdy: sd0-qrdy {
518		samsung,pins = "gpr0-3";
519		samsung,pin-function = <2>;
520		samsung,pin-pud = <1>;
521		samsung,pin-drv = <3>;
522	};
523
524	sd0_bus1: sd0-bus-width1 {
525		samsung,pins = "gpr1-0";
526		samsung,pin-function = <2>;
527		samsung,pin-pud = <3>;
528		samsung,pin-drv = <3>;
529	};
530
531	sd0_bus4: sd0-bus-width4 {
532		samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
533		samsung,pin-function = <2>;
534		samsung,pin-pud = <3>;
535		samsung,pin-drv = <3>;
536	};
537
538	sd0_bus8: sd0-bus-width8 {
539		samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
540		samsung,pin-function = <2>;
541		samsung,pin-pud = <3>;
542		samsung,pin-drv = <3>;
543	};
544
545	sd1_clk: sd1-clk {
546		samsung,pins = "gpr2-0";
547		samsung,pin-function = <2>;
548		samsung,pin-pud = <0>;
549		samsung,pin-drv = <2>;
550	};
551
552	sd1_cmd: sd1-cmd {
553		samsung,pins = "gpr2-1";
554		samsung,pin-function = <2>;
555		samsung,pin-pud = <0>;
556		samsung,pin-drv = <2>;
557	};
558
559	sd1_ds: sd1-ds {
560		samsung,pins = "gpr2-2";
561		samsung,pin-function = <2>;
562		samsung,pin-pud = <1>;
563		samsung,pin-drv = <6>;
564	};
565
566	sd1_qrdy: sd1-qrdy {
567		samsung,pins = "gpr2-3";
568		samsung,pin-function = <2>;
569		samsung,pin-pud = <1>;
570		samsung,pin-drv = <6>;
571	};
572
573	sd1_int: sd1-int {
574		samsung,pins = "gpr2-4";
575		samsung,pin-function = <2>;
576		samsung,pin-pud = <1>;
577		samsung,pin-drv = <6>;
578	};
579
580	sd1_bus1: sd1-bus-width1 {
581		samsung,pins = "gpr3-0";
582		samsung,pin-function = <2>;
583		samsung,pin-pud = <3>;
584		samsung,pin-drv = <2>;
585	};
586
587	sd1_bus4: sd1-bus-width4 {
588		samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3";
589		samsung,pin-function = <2>;
590		samsung,pin-pud = <3>;
591		samsung,pin-drv = <2>;
592	};
593
594	sd1_bus8: sd1-bus-width8 {
595		samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
596		samsung,pin-function = <2>;
597		samsung,pin-pud = <3>;
598		samsung,pin-drv = <2>;
599	};
600};
601
602&pinctrl_bus1 {
603	gpf0: gpf0 {
604		gpio-controller;
605		#gpio-cells = <2>;
606
607		interrupt-controller;
608		#interrupt-cells = <2>;
609	};
610
611	gpf1: gpf1 {
612		gpio-controller;
613		#gpio-cells = <2>;
614
615		interrupt-controller;
616		#interrupt-cells = <2>;
617	};
618
619	gpf2: gpf2 {
620		gpio-controller;
621		#gpio-cells = <2>;
622
623		interrupt-controller;
624		#interrupt-cells = <2>;
625	};
626
627	gpf3: gpf3 {
628		gpio-controller;
629		#gpio-cells = <2>;
630
631		interrupt-controller;
632		#interrupt-cells = <2>;
633	};
634
635	gpf4: gpf4 {
636		gpio-controller;
637		#gpio-cells = <2>;
638
639		interrupt-controller;
640		#interrupt-cells = <2>;
641	};
642
643	gpf5: gpf5 {
644		gpio-controller;
645		#gpio-cells = <2>;
646
647		interrupt-controller;
648		#interrupt-cells = <2>;
649	};
650
651	gpg1: gpg1 {
652		gpio-controller;
653		#gpio-cells = <2>;
654
655		interrupt-controller;
656		#interrupt-cells = <2>;
657	};
658
659	gpg2: gpg2 {
660		gpio-controller;
661		#gpio-cells = <2>;
662
663		interrupt-controller;
664		#interrupt-cells = <2>;
665	};
666
667	gph1: gph1 {
668		gpio-controller;
669		#gpio-cells = <2>;
670
671		interrupt-controller;
672		#interrupt-cells = <2>;
673	};
674
675	gpv6: gpv6 {
676		gpio-controller;
677		#gpio-cells = <2>;
678
679		interrupt-controller;
680		#interrupt-cells = <2>;
681	};
682
683	spi5_bus: spi5-bus {
684		samsung,pins = "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3";
685		samsung,pin-function = <2>;
686		samsung,pin-pud = <3>;
687		samsung,pin-drv = <0>;
688	};
689
690	ufs_refclk_out: ufs-refclk-out {
691		samsung,pins = "gpg2-4";
692		samsung,pin-function = <2>;
693		samsung,pin-pud = <0>;
694		samsung,pin-drv = <2>;
695	};
696
697	ufs_rst_n: ufs-rst-n {
698		samsung,pins = "gph1-5";
699		samsung,pin-function = <2>;
700		samsung,pin-pud = <3>;
701		samsung,pin-drv = <0>;
702	};
703};
704