1/*
2 * Samsung's Exynos5420 SoC pin-mux and pin-config device tree source
3 *
4 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5 *		http://www.samsung.com
6 *
7 * Samsung's Exynos5420 SoC pin-mux and pin-config options are listed as device
8 * tree nodes are listed 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/ {
16	pinctrl@13400000 {
17		gpy7: gpy7 {
18			gpio-controller;
19			#gpio-cells = <2>;
20
21			interrupt-controller;
22			#interrupt-cells = <2>;
23		};
24
25		gpx0: gpx0 {
26			gpio-controller;
27			#gpio-cells = <2>;
28
29			interrupt-controller;
30			interrupt-parent = <&combiner>;
31			#interrupt-cells = <2>;
32			interrupts = <23 0>, <24 0>, <25 0>, <25 1>,
33				     <26 0>, <26 1>, <27 0>, <27 1>;
34		};
35
36		gpx1: gpx1 {
37			gpio-controller;
38			#gpio-cells = <2>;
39
40			interrupt-controller;
41			interrupt-parent = <&combiner>;
42			#interrupt-cells = <2>;
43			interrupts = <28 0>, <28 1>, <29 0>, <29 1>,
44				     <30 0>, <30 1>, <31 0>, <31 1>;
45		};
46
47		gpx2: gpx2 {
48			gpio-controller;
49			#gpio-cells = <2>;
50
51			interrupt-controller;
52			#interrupt-cells = <2>;
53		};
54
55		gpx3: gpx3 {
56			gpio-controller;
57			#gpio-cells = <2>;
58
59			interrupt-controller;
60			#interrupt-cells = <2>;
61		};
62
63		dp_hpd: dp_hpd {
64			samsung,pins = "gpx0-7";
65			samsung,pin-function = <3>;
66			samsung,pin-pud = <0>;
67			samsung,pin-drv = <0>;
68		};
69	};
70
71	pinctrl@13410000 {
72		gpc0: gpc0 {
73			gpio-controller;
74			#gpio-cells = <2>;
75
76			interrupt-controller;
77			#interrupt-cells = <2>;
78		};
79
80		gpc1: gpc1 {
81			gpio-controller;
82			#gpio-cells = <2>;
83
84			interrupt-controller;
85			#interrupt-cells = <2>;
86		};
87
88		gpc2: gpc2 {
89			gpio-controller;
90			#gpio-cells = <2>;
91
92			interrupt-controller;
93			#interrupt-cells = <2>;
94		};
95
96		gpc3: gpc3 {
97			gpio-controller;
98			#gpio-cells = <2>;
99
100			interrupt-controller;
101			#interrupt-cells = <2>;
102		};
103
104		gpc4: gpc4 {
105			gpio-controller;
106			#gpio-cells = <2>;
107
108			interrupt-controller;
109			#interrupt-cells = <2>;
110		};
111
112		gpd1: gpd1 {
113			gpio-controller;
114			#gpio-cells = <2>;
115
116			interrupt-controller;
117			#interrupt-cells = <2>;
118		};
119
120		gpy0: gpy0 {
121			gpio-controller;
122			#gpio-cells = <2>;
123		};
124
125		gpy1: gpy1 {
126			gpio-controller;
127			#gpio-cells = <2>;
128		};
129
130		gpy2: gpy2 {
131			gpio-controller;
132			#gpio-cells = <2>;
133		};
134
135		gpy3: gpy3 {
136			gpio-controller;
137			#gpio-cells = <2>;
138		};
139
140		gpy4: gpy4 {
141			gpio-controller;
142			#gpio-cells = <2>;
143		};
144
145		gpy5: gpy5 {
146			gpio-controller;
147			#gpio-cells = <2>;
148		};
149
150		gpy6: gpy6 {
151			gpio-controller;
152			#gpio-cells = <2>;
153		};
154
155		sd0_clk: sd0-clk {
156			samsung,pins = "gpc0-0";
157			samsung,pin-function = <2>;
158			samsung,pin-pud = <0>;
159			samsung,pin-drv = <3>;
160		};
161
162		sd0_cmd: sd0-cmd {
163			samsung,pins = "gpc0-1";
164			samsung,pin-function = <2>;
165			samsung,pin-pud = <0>;
166			samsung,pin-drv = <3>;
167		};
168
169		sd0_cd: sd0-cd {
170			samsung,pins = "gpc0-2";
171			samsung,pin-function = <2>;
172			samsung,pin-pud = <3>;
173			samsung,pin-drv = <3>;
174		};
175
176		sd0_bus1: sd0-bus-width1 {
177			samsung,pins = "gpc0-3";
178			samsung,pin-function = <2>;
179			samsung,pin-pud = <3>;
180			samsung,pin-drv = <3>;
181		};
182
183		sd0_bus4: sd0-bus-width4 {
184			samsung,pins = "gpc0-4", "gpc0-5", "gpc0-6";
185			samsung,pin-function = <2>;
186			samsung,pin-pud = <3>;
187			samsung,pin-drv = <3>;
188		};
189
190		sd0_bus8: sd0-bus-width8 {
191			samsung,pins = "gpc3-0", "gpc3-1", "gpc3-2", "gpc3-3";
192			samsung,pin-function = <2>;
193			samsung,pin-pud = <3>;
194			samsung,pin-drv = <3>;
195		};
196
197		sd1_clk: sd1-clk {
198			samsung,pins = "gpc1-0";
199			samsung,pin-function = <2>;
200			samsung,pin-pud = <0>;
201			samsung,pin-drv = <3>;
202		};
203
204		sd0_rclk: sd0-rclk {
205			samsung,pins = "gpc0-7";
206			samsung,pin-function = <2>;
207			samsung,pin-pud = <1>;
208			samsung,pin-drv = <3>;
209		};
210
211		sd1_cmd: sd1-cmd {
212			samsung,pins = "gpc1-1";
213			samsung,pin-function = <2>;
214			samsung,pin-pud = <0>;
215			samsung,pin-drv = <3>;
216		};
217
218		sd1_cd: sd1-cd {
219			samsung,pins = "gpc1-2";
220			samsung,pin-function = <2>;
221			samsung,pin-pud = <3>;
222			samsung,pin-drv = <3>;
223		};
224
225		sd1_int: sd1-int {
226			samsung,pins = "gpd1-1";
227			samsung,pin-function = <2>;
228			samsung,pin-pud = <3>;
229			samsung,pin-drv = <0>;
230		};
231
232		sd1_bus1: sd1-bus-width1 {
233			samsung,pins = "gpc1-3";
234			samsung,pin-function = <2>;
235			samsung,pin-pud = <3>;
236			samsung,pin-drv = <3>;
237		};
238
239		sd1_bus4: sd1-bus-width4 {
240			samsung,pins = "gpc1-4", "gpc1-5", "gpc1-6";
241			samsung,pin-function = <2>;
242			samsung,pin-pud = <3>;
243			samsung,pin-drv = <3>;
244		};
245
246		sd1_bus8: sd1-bus-width8 {
247			samsung,pins = "gpd1-4", "gpd1-5", "gpd1-6", "gpd1-7";
248			samsung,pin-function = <2>;
249			samsung,pin-pud = <3>;
250			samsung,pin-drv = <3>;
251		};
252
253		sd2_clk: sd2-clk {
254			samsung,pins = "gpc2-0";
255			samsung,pin-function = <2>;
256			samsung,pin-pud = <0>;
257			samsung,pin-drv = <3>;
258		};
259
260		sd2_cmd: sd2-cmd {
261			samsung,pins = "gpc2-1";
262			samsung,pin-function = <2>;
263			samsung,pin-pud = <0>;
264			samsung,pin-drv = <3>;
265		};
266
267		sd2_cd: sd2-cd {
268			samsung,pins = "gpc2-2";
269			samsung,pin-function = <2>;
270			samsung,pin-pud = <3>;
271			samsung,pin-drv = <3>;
272		};
273
274		sd2_bus1: sd2-bus-width1 {
275			samsung,pins = "gpc2-3";
276			samsung,pin-function = <2>;
277			samsung,pin-pud = <3>;
278			samsung,pin-drv = <3>;
279		};
280
281		sd2_bus4: sd2-bus-width4 {
282			samsung,pins = "gpc2-4", "gpc2-5", "gpc2-6";
283			samsung,pin-function = <2>;
284			samsung,pin-pud = <3>;
285			samsung,pin-drv = <3>;
286		};
287	};
288
289	pinctrl@14000000 {
290		gpe0: gpe0 {
291			gpio-controller;
292			#gpio-cells = <2>;
293
294			interrupt-controller;
295			#interrupt-cells = <2>;
296		};
297
298		gpe1: gpe1 {
299			gpio-controller;
300			#gpio-cells = <2>;
301
302			interrupt-controller;
303			#interrupt-cells = <2>;
304		};
305
306		gpf0: gpf0 {
307			gpio-controller;
308			#gpio-cells = <2>;
309
310			interrupt-controller;
311			#interrupt-cells = <2>;
312		};
313
314		gpf1: gpf1 {
315			gpio-controller;
316			#gpio-cells = <2>;
317
318			interrupt-controller;
319			#interrupt-cells = <2>;
320		};
321
322		gpg0: gpg0 {
323			gpio-controller;
324			#gpio-cells = <2>;
325
326			interrupt-controller;
327			#interrupt-cells = <2>;
328		};
329
330		gpg1: gpg1 {
331			gpio-controller;
332			#gpio-cells = <2>;
333
334			interrupt-controller;
335			#interrupt-cells = <2>;
336		};
337
338		gpg2: gpg2 {
339			gpio-controller;
340			#gpio-cells = <2>;
341
342			interrupt-controller;
343			#interrupt-cells = <2>;
344		};
345
346		gpj4: gpj4 {
347			gpio-controller;
348			#gpio-cells = <2>;
349
350			interrupt-controller;
351			#interrupt-cells = <2>;
352		};
353
354		cam_gpio_a: cam-gpio-a {
355			samsung,pins = "gpe0-0", "gpe0-1", "gpe0-2", "gpe0-3",
356				       "gpe0-4", "gpe0-5", "gpe0-6", "gpe0-7",
357				       "gpe1-0", "gpe1-1";
358			samsung,pin-function = <2>;
359			samsung,pin-pud = <0>;
360			samsung,pin-drv = <0>;
361		};
362
363		cam_gpio_b: cam-gpio-b {
364			samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3",
365				       "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
366			samsung,pin-function = <3>;
367			samsung,pin-pud = <0>;
368			samsung,pin-drv = <0>;
369		};
370
371		cam_i2c2_bus: cam-i2c2-bus {
372			samsung,pins = "gpf0-4", "gpf0-5";
373			samsung,pin-function = <2>;
374			samsung,pin-pud = <3>;
375			samsung,pin-drv = <0>;
376		};
377		cam_spi1_bus: cam-spi1-bus {
378			samsung,pins = "gpe0-4", "gpe0-5", "gpf0-2", "gpf0-3";
379			samsung,pin-function = <4>;
380			samsung,pin-pud = <0>;
381			samsung,pin-drv = <0>;
382		};
383
384		cam_i2c1_bus: cam-i2c1-bus {
385			samsung,pins = "gpf0-2", "gpf0-3";
386			samsung,pin-function = <2>;
387			samsung,pin-pud = <3>;
388			samsung,pin-drv = <0>;
389		};
390
391		cam_i2c0_bus: cam-i2c0-bus {
392			samsung,pins = "gpf0-0", "gpf0-1";
393			samsung,pin-function = <2>;
394			samsung,pin-pud = <3>;
395			samsung,pin-drv = <0>;
396		};
397
398		cam_spi0_bus: cam-spi0-bus {
399			samsung,pins = "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
400			samsung,pin-function = <2>;
401			samsung,pin-pud = <0>;
402			samsung,pin-drv = <0>;
403		};
404
405		cam_bayrgb_bus: cam-bayrgb-bus {
406			samsung,pins = "gpg0-0", "gpg0-1", "gpg0-2", "gpg0-3",
407				       "gpg0-4", "gpg0-5", "gpg0-6", "gpg0-7",
408				       "gpg1-0", "gpg1-1", "gpg1-2", "gpg1-3",
409				       "gpg1-4", "gpg1-5", "gpg1-6", "gpg1-7",
410				       "gpg2-0";
411			samsung,pin-function = <2>;
412			samsung,pin-pud = <0>;
413			samsung,pin-drv = <0>;
414		};
415	};
416
417	pinctrl@14010000 {
418		gpa0: gpa0 {
419			gpio-controller;
420			#gpio-cells = <2>;
421
422			interrupt-controller;
423			#interrupt-cells = <2>;
424		};
425
426		gpa1: gpa1 {
427			gpio-controller;
428			#gpio-cells = <2>;
429
430			interrupt-controller;
431			#interrupt-cells = <2>;
432		};
433
434		gpa2: gpa2 {
435			gpio-controller;
436			#gpio-cells = <2>;
437
438			interrupt-controller;
439			#interrupt-cells = <2>;
440		};
441
442		gpb0: gpb0 {
443			gpio-controller;
444			#gpio-cells = <2>;
445
446			interrupt-controller;
447			#interrupt-cells = <2>;
448		};
449
450		gpb1: gpb1 {
451			gpio-controller;
452			#gpio-cells = <2>;
453
454			interrupt-controller;
455			#interrupt-cells = <2>;
456		};
457
458		gpb2: gpb2 {
459			gpio-controller;
460			#gpio-cells = <2>;
461
462			interrupt-controller;
463			#interrupt-cells = <2>;
464		};
465
466		gpb3: gpb3 {
467			gpio-controller;
468			#gpio-cells = <2>;
469
470			interrupt-controller;
471			#interrupt-cells = <2>;
472		};
473
474		gpb4: gpb4 {
475			gpio-controller;
476			#gpio-cells = <2>;
477
478			interrupt-controller;
479			#interrupt-cells = <2>;
480		};
481
482		gph0: gph0 {
483			gpio-controller;
484			#gpio-cells = <2>;
485
486			interrupt-controller;
487			#interrupt-cells = <2>;
488		};
489
490		uart0_data: uart0-data {
491			samsung,pins = "gpa0-0", "gpa0-1";
492			samsung,pin-function = <2>;
493			samsung,pin-pud = <0>;
494			samsung,pin-drv = <0>;
495		};
496
497		uart0_fctl: uart0-fctl {
498			samsung,pins = "gpa0-2", "gpa0-3";
499			samsung,pin-function = <2>;
500			samsung,pin-pud = <0>;
501			samsung,pin-drv = <0>;
502		};
503
504		uart1_data: uart1-data {
505			samsung,pins = "gpa0-4", "gpa0-5";
506			samsung,pin-function = <2>;
507			samsung,pin-pud = <0>;
508			samsung,pin-drv = <0>;
509		};
510
511		uart1_fctl: uart1-fctl {
512			samsung,pins = "gpa0-6", "gpa0-7";
513			samsung,pin-function = <2>;
514			samsung,pin-pud = <0>;
515			samsung,pin-drv = <0>;
516		};
517
518		i2c2_bus: i2c2-bus {
519			samsung,pins = "gpa0-6", "gpa0-7";
520			samsung,pin-function = <3>;
521			samsung,pin-pud = <3>;
522			samsung,pin-drv = <0>;
523		};
524
525		uart2_data: uart2-data {
526			samsung,pins = "gpa1-0", "gpa1-1";
527			samsung,pin-function = <2>;
528			samsung,pin-pud = <0>;
529			samsung,pin-drv = <0>;
530		};
531
532		uart2_fctl: uart2-fctl {
533			samsung,pins = "gpa1-2", "gpa1-3";
534			samsung,pin-function = <2>;
535			samsung,pin-pud = <0>;
536			samsung,pin-drv = <0>;
537		};
538
539		i2c3_bus: i2c3-bus {
540			samsung,pins = "gpa1-2", "gpa1-3";
541			samsung,pin-function = <3>;
542			samsung,pin-pud = <3>;
543			samsung,pin-drv = <0>;
544		};
545
546		uart3_data: uart3-data {
547			samsung,pins = "gpa1-4", "gpa1-5";
548			samsung,pin-function = <2>;
549			samsung,pin-pud = <0>;
550			samsung,pin-drv = <0>;
551		};
552
553		spi0_bus: spi0-bus {
554			samsung,pins = "gpa2-0", "gpa2-1", "gpa2-2", "gpa2-3";
555			samsung,pin-function = <2>;
556			samsung,pin-pud = <3>;
557			samsung,pin-drv = <0>;
558		};
559
560		spi1_bus: spi1-bus {
561			samsung,pins = "gpa2-4", "gpa2-6", "gpa2-7";
562			samsung,pin-function = <2>;
563			samsung,pin-pud = <3>;
564			samsung,pin-drv = <0>;
565		};
566
567		i2c4_hs_bus: i2c4-hs-bus {
568			samsung,pins = "gpa2-0", "gpa2-1";
569			samsung,pin-function = <3>;
570			samsung,pin-pud = <3>;
571			samsung,pin-drv = <0>;
572		};
573
574		i2c5_hs_bus: i2c5-hs-bus {
575			samsung,pins = "gpa2-2", "gpa2-3";
576			samsung,pin-function = <3>;
577			samsung,pin-pud = <3>;
578			samsung,pin-drv = <0>;
579		};
580
581		i2s1_bus: i2s1-bus {
582			samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
583					"gpb0-4";
584			samsung,pin-function = <2>;
585			samsung,pin-pud = <0>;
586			samsung,pin-drv = <0>;
587		};
588
589		pcm1_bus: pcm1-bus {
590			samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
591					"gpb0-4";
592			samsung,pin-function = <3>;
593			samsung,pin-pud = <0>;
594			samsung,pin-drv = <0>;
595		};
596
597		i2s2_bus: i2s2-bus {
598			samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3",
599					"gpb1-4";
600			samsung,pin-function = <2>;
601			samsung,pin-pud = <0>;
602			samsung,pin-drv = <0>;
603		};
604
605		pcm2_bus: pcm2-bus {
606			samsung,pins = "gpb1-0", "gpb1-1", "gpb1-2", "gpb1-3",
607					"gpb1-4";
608			samsung,pin-function = <3>;
609			samsung,pin-pud = <0>;
610			samsung,pin-drv = <0>;
611		};
612
613		spdif_bus: spdif-bus {
614			samsung,pins = "gpb1-0", "gpb1-1";
615			samsung,pin-function = <4>;
616			samsung,pin-pud = <0>;
617			samsung,pin-drv = <0>;
618		};
619
620		spi2_bus: spi2-bus {
621			samsung,pins = "gpb1-1", "gpb1-3", "gpb1-4";
622			samsung,pin-function = <5>;
623			samsung,pin-pud = <3>;
624			samsung,pin-drv = <0>;
625		};
626
627		i2c6_hs_bus: i2c6-hs-bus {
628			samsung,pins = "gpb1-3", "gpb1-4";
629			samsung,pin-function = <4>;
630			samsung,pin-pud = <3>;
631			samsung,pin-drv = <0>;
632		};
633
634		pwm0_out: pwm0-out {
635			samsung,pins = "gpb2-0";
636			samsung,pin-function = <2>;
637			samsung,pin-pud = <0>;
638			samsung,pin-drv = <0>;
639		};
640
641		pwm1_out: pwm1-out {
642			samsung,pins = "gpb2-1";
643			samsung,pin-function = <2>;
644			samsung,pin-pud = <0>;
645			samsung,pin-drv = <0>;
646		};
647
648		pwm2_out: pwm2-out {
649			samsung,pins = "gpb2-2";
650			samsung,pin-function = <2>;
651			samsung,pin-pud = <0>;
652			samsung,pin-drv = <0>;
653		};
654
655		pwm3_out: pwm3-out {
656			samsung,pins = "gpb2-3";
657			samsung,pin-function = <2>;
658			samsung,pin-pud = <0>;
659			samsung,pin-drv = <0>;
660		};
661
662		i2c7_hs_bus: i2c7-hs-bus {
663			samsung,pins = "gpb2-2", "gpb2-3";
664			samsung,pin-function = <3>;
665			samsung,pin-pud = <3>;
666			samsung,pin-drv = <0>;
667		};
668
669		i2c0_bus: i2c0-bus {
670			samsung,pins = "gpb3-0", "gpb3-1";
671			samsung,pin-function = <2>;
672			samsung,pin-pud = <3>;
673			samsung,pin-drv = <0>;
674		};
675
676		i2c1_bus: i2c1-bus {
677			samsung,pins = "gpb3-2", "gpb3-3";
678			samsung,pin-function = <2>;
679			samsung,pin-pud = <3>;
680			samsung,pin-drv = <0>;
681		};
682
683		i2c8_hs_bus: i2c8-hs-bus {
684			samsung,pins = "gpb3-4", "gpb3-5";
685			samsung,pin-function = <2>;
686			samsung,pin-pud = <3>;
687			samsung,pin-drv = <0>;
688		};
689
690		i2c9_hs_bus: i2c9-hs-bus {
691			samsung,pins = "gpb3-6", "gpb3-7";
692			samsung,pin-function = <2>;
693			samsung,pin-pud = <3>;
694			samsung,pin-drv = <0>;
695		};
696
697		i2c10_hs_bus: i2c10-hs-bus {
698			samsung,pins = "gpb4-0", "gpb4-1";
699			samsung,pin-function = <2>;
700			samsung,pin-pud = <3>;
701			samsung,pin-drv = <0>;
702		};
703	};
704
705	pinctrl@03860000 {
706		gpz: gpz {
707			gpio-controller;
708			#gpio-cells = <2>;
709
710			interrupt-controller;
711			#interrupt-cells = <2>;
712		};
713
714		i2s0_bus: i2s0-bus {
715			samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
716					"gpz-4", "gpz-5", "gpz-6";
717			samsung,pin-function = <2>;
718			samsung,pin-pud = <0>;
719			samsung,pin-drv = <0>;
720		};
721	};
722};
723