1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4412 SoCs pin-mux and pin-config device tree source
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 *		http://www.samsung.com
7 *
8 * Samsung's Exynos4412 SoCs pin-mux and pin-config optiosn are listed as device
9 * tree nodes are listed in this file.
10 */
11
12#include <dt-bindings/pinctrl/samsung.h>
13
14#define PIN_SLP(_pin, _mode, _pull)					\
15	_pin {								\
16		samsung,pins = #_pin;					\
17		samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>;	\
18		samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>;	\
19	}
20
21&pinctrl_0 {
22	gpa0: gpa0-gpio-bank {
23		gpio-controller;
24		#gpio-cells = <2>;
25
26		interrupt-controller;
27		#interrupt-cells = <2>;
28	};
29
30	gpa1: gpa1-gpio-bank {
31		gpio-controller;
32		#gpio-cells = <2>;
33
34		interrupt-controller;
35		#interrupt-cells = <2>;
36	};
37
38	gpb: gpb-gpio-bank {
39		gpio-controller;
40		#gpio-cells = <2>;
41
42		interrupt-controller;
43		#interrupt-cells = <2>;
44	};
45
46	gpc0: gpc0-gpio-bank {
47		gpio-controller;
48		#gpio-cells = <2>;
49
50		interrupt-controller;
51		#interrupt-cells = <2>;
52	};
53
54	gpc1: gpc1-gpio-bank {
55		gpio-controller;
56		#gpio-cells = <2>;
57
58		interrupt-controller;
59		#interrupt-cells = <2>;
60	};
61
62	gpd0: gpd0-gpio-bank {
63		gpio-controller;
64		#gpio-cells = <2>;
65
66		interrupt-controller;
67		#interrupt-cells = <2>;
68	};
69
70	gpd1: gpd1-gpio-bank {
71		gpio-controller;
72		#gpio-cells = <2>;
73
74		interrupt-controller;
75		#interrupt-cells = <2>;
76	};
77
78	gpf0: gpf0-gpio-bank {
79		gpio-controller;
80		#gpio-cells = <2>;
81
82		interrupt-controller;
83		#interrupt-cells = <2>;
84	};
85
86	gpf1: gpf1-gpio-bank {
87		gpio-controller;
88		#gpio-cells = <2>;
89
90		interrupt-controller;
91		#interrupt-cells = <2>;
92	};
93
94	gpf2: gpf2-gpio-bank {
95		gpio-controller;
96		#gpio-cells = <2>;
97
98		interrupt-controller;
99		#interrupt-cells = <2>;
100	};
101
102	gpf3: gpf3-gpio-bank {
103		gpio-controller;
104		#gpio-cells = <2>;
105
106		interrupt-controller;
107		#interrupt-cells = <2>;
108	};
109
110	gpj0: gpj0-gpio-bank {
111		gpio-controller;
112		#gpio-cells = <2>;
113
114		interrupt-controller;
115		#interrupt-cells = <2>;
116	};
117
118	gpj1: gpj1-gpio-bank {
119		gpio-controller;
120		#gpio-cells = <2>;
121
122		interrupt-controller;
123		#interrupt-cells = <2>;
124	};
125
126	uart0_data: uart0-data-pins {
127		samsung,pins = "gpa0-0", "gpa0-1";
128		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
129		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
130		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
131	};
132
133	uart0_fctl: uart0-fctl-pins {
134		samsung,pins = "gpa0-2", "gpa0-3";
135		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
136		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
137		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
138	};
139
140	uart1_data: uart1-data-pins {
141		samsung,pins = "gpa0-4", "gpa0-5";
142		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
143		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
144		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
145	};
146
147	uart1_fctl: uart1-fctl-pins {
148		samsung,pins = "gpa0-6", "gpa0-7";
149		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
150		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
151		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
152	};
153
154	i2c2_bus: i2c2-bus-pins {
155		samsung,pins = "gpa0-6", "gpa0-7";
156		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
157		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
158		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
159	};
160
161	uart2_data: uart2-data-pins {
162		samsung,pins = "gpa1-0", "gpa1-1";
163		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
164		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
165		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
166	};
167
168	uart2_fctl: uart2-fctl-pins {
169		samsung,pins = "gpa1-2", "gpa1-3";
170		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
171		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
172		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
173	};
174
175	uart_audio_a: uart-audio-a-pins {
176		samsung,pins = "gpa1-0", "gpa1-1";
177		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
178		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
179		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
180	};
181
182	i2c3_bus: i2c3-bus-pins {
183		samsung,pins = "gpa1-2", "gpa1-3";
184		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
185		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
186		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
187	};
188
189	uart3_data: uart3-data-pins {
190		samsung,pins = "gpa1-4", "gpa1-5";
191		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
192		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
193		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
194	};
195
196	uart_audio_b: uart-audio-b-pins {
197		samsung,pins = "gpa1-4", "gpa1-5";
198		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
199		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
200		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
201	};
202
203	spi0_bus: spi0-bus-pins {
204		samsung,pins = "gpb-0", "gpb-2", "gpb-3";
205		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
206		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
207		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
208	};
209
210	i2c4_bus: i2c4-bus-pins {
211		samsung,pins = "gpb-0", "gpb-1";
212		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
213		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
214		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
215	};
216
217	spi1_bus: spi1-bus-pins {
218		samsung,pins = "gpb-4", "gpb-6", "gpb-7";
219		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
220		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
221		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
222	};
223
224	i2c5_bus: i2c5-bus-pins {
225		samsung,pins = "gpb-2", "gpb-3";
226		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
227		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
228		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
229	};
230
231	i2s1_bus: i2s1-bus-pins {
232		samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
233				"gpc0-4";
234		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
235		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
236		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
237	};
238
239	pcm1_bus: pcm1-bus-pins {
240		samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
241				"gpc0-4";
242		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
243		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
244		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
245	};
246
247	ac97_bus: ac97-bus-pins {
248		samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
249				"gpc0-4";
250		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
251		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
252		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
253	};
254
255	i2s2_bus: i2s2-bus-pins {
256		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
257				"gpc1-4";
258		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
259		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
260		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
261	};
262
263	pcm2_bus: pcm2-bus-pins {
264		samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
265				"gpc1-4";
266		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
267		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
268		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
269	};
270
271	spdif_bus: spdif-bus-pins {
272		samsung,pins = "gpc1-0", "gpc1-1";
273		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
274		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
275		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
276	};
277
278	i2c6_bus: i2c6-bus-pins {
279		samsung,pins = "gpc1-3", "gpc1-4";
280		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
281		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
282		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
283	};
284
285	spi2_bus: spi2-bus-pins {
286		samsung,pins = "gpc1-1", "gpc1-3", "gpc1-4";
287		samsung,pin-function = <EXYNOS_PIN_FUNC_5>;
288		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
289		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
290	};
291
292	pwm0_out: pwm0-out-pins {
293		samsung,pins = "gpd0-0";
294		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
295		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
296		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
297	};
298
299	pwm1_out: pwm1-out-pins {
300		samsung,pins = "gpd0-1";
301		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
302		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
303		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
304	};
305
306	lcd_ctrl: lcd-ctrl-pins {
307		samsung,pins = "gpd0-0", "gpd0-1";
308		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
309		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
310		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
311	};
312
313	i2c7_bus: i2c7-bus-pins {
314		samsung,pins = "gpd0-2", "gpd0-3";
315		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
316		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
317		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
318	};
319
320	pwm2_out: pwm2-out-pins {
321		samsung,pins = "gpd0-2";
322		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
323		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
324		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
325	};
326
327	pwm3_out: pwm3-out-pins {
328		samsung,pins = "gpd0-3";
329		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
330		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
331		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
332	};
333
334	i2c0_bus: i2c0-bus-pins {
335		samsung,pins = "gpd1-0", "gpd1-1";
336		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
337		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
338		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
339	};
340
341	mipi0_clk: mipi0-clk-pins {
342		samsung,pins = "gpd1-0", "gpd1-1";
343		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
344		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
345		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
346	};
347
348	i2c1_bus: i2c1-bus-pins {
349		samsung,pins = "gpd1-2", "gpd1-3";
350		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
351		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
352		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
353	};
354
355	mipi1_clk: mipi1-clk-pins {
356		samsung,pins = "gpd1-2", "gpd1-3";
357		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
358		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
359		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
360	};
361
362	lcd_clk: lcd-clk-pins {
363		samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3";
364		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
365		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
366		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
367	};
368
369	lcd_data16: lcd-data-width16-pins {
370		samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2",
371				"gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0",
372				"gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7",
373				"gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
374		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
375		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
376		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
377	};
378
379	lcd_data18: lcd-data-width18-pins {
380		samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1",
381				"gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7",
382				"gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
383				"gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1",
384				"gpf3-2", "gpf3-3";
385		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
386		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
387		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
388	};
389
390	lcd_data24: lcd-data-width24-pins {
391		samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7",
392				"gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3",
393				"gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7",
394				"gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
395				"gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7",
396				"gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
397		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
398		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
399		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
400	};
401
402	lcd_ldi: lcd-ldi-pins {
403		samsung,pins = "gpf3-4";
404		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
405		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
406		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
407	};
408
409	cam_port_a_io: cam-port-a-io-pins {
410		samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
411				"gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
412				"gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
413		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
414		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
415		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
416	};
417
418	cam_port_a_clk_active: cam-port-a-clk-active-pins {
419		samsung,pins = "gpj1-3";
420		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
421		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
422		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
423	};
424
425	cam_port_a_clk_idle: cam-port-a-clk-idle-pins {
426		samsung,pins = "gpj1-3";
427		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
428		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
429		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
430	};
431};
432
433&pinctrl_1 {
434	gpk0: gpk0-gpio-bank {
435		gpio-controller;
436		#gpio-cells = <2>;
437
438		interrupt-controller;
439		#interrupt-cells = <2>;
440	};
441
442	gpk1: gpk1-gpio-bank {
443		gpio-controller;
444		#gpio-cells = <2>;
445
446		interrupt-controller;
447		#interrupt-cells = <2>;
448	};
449
450	gpk2: gpk2-gpio-bank {
451		gpio-controller;
452		#gpio-cells = <2>;
453
454		interrupt-controller;
455		#interrupt-cells = <2>;
456	};
457
458	gpk3: gpk3-gpio-bank {
459		gpio-controller;
460		#gpio-cells = <2>;
461
462		interrupt-controller;
463		#interrupt-cells = <2>;
464	};
465
466	gpl0: gpl0-gpio-bank {
467		gpio-controller;
468		#gpio-cells = <2>;
469
470		interrupt-controller;
471		#interrupt-cells = <2>;
472	};
473
474	gpl1: gpl1-gpio-bank {
475		gpio-controller;
476		#gpio-cells = <2>;
477
478		interrupt-controller;
479		#interrupt-cells = <2>;
480	};
481
482	gpl2: gpl2-gpio-bank {
483		gpio-controller;
484		#gpio-cells = <2>;
485
486		interrupt-controller;
487		#interrupt-cells = <2>;
488	};
489
490	gpm0: gpm0-gpio-bank {
491		gpio-controller;
492		#gpio-cells = <2>;
493
494		interrupt-controller;
495		#interrupt-cells = <2>;
496	};
497
498	gpm1: gpm1-gpio-bank {
499		gpio-controller;
500		#gpio-cells = <2>;
501
502		interrupt-controller;
503		#interrupt-cells = <2>;
504	};
505
506	gpm2: gpm2-gpio-bank {
507		gpio-controller;
508		#gpio-cells = <2>;
509
510		interrupt-controller;
511		#interrupt-cells = <2>;
512	};
513
514	gpm3: gpm3-gpio-bank {
515		gpio-controller;
516		#gpio-cells = <2>;
517
518		interrupt-controller;
519		#interrupt-cells = <2>;
520	};
521
522	gpm4: gpm4-gpio-bank {
523		gpio-controller;
524		#gpio-cells = <2>;
525
526		interrupt-controller;
527		#interrupt-cells = <2>;
528	};
529
530	gpy0: gpy0-gpio-bank {
531		gpio-controller;
532		#gpio-cells = <2>;
533	};
534
535	gpy1: gpy1-gpio-bank {
536		gpio-controller;
537		#gpio-cells = <2>;
538	};
539
540	gpy2: gpy2-gpio-bank {
541		gpio-controller;
542		#gpio-cells = <2>;
543	};
544
545	gpy3: gpy3-gpio-bank {
546		gpio-controller;
547		#gpio-cells = <2>;
548	};
549
550	gpy4: gpy4-gpio-bank {
551		gpio-controller;
552		#gpio-cells = <2>;
553	};
554
555	gpy5: gpy5-gpio-bank {
556		gpio-controller;
557		#gpio-cells = <2>;
558	};
559
560	gpy6: gpy6-gpio-bank {
561		gpio-controller;
562		#gpio-cells = <2>;
563	};
564
565	gpx0: gpx0-gpio-bank {
566		gpio-controller;
567		#gpio-cells = <2>;
568
569		interrupt-controller;
570		interrupt-parent = <&gic>;
571		interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
572			     <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>,
573			     <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>,
574			     <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>,
575			     <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>,
576			     <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>,
577			     <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>,
578			     <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
579		#interrupt-cells = <2>;
580	};
581
582	gpx1: gpx1-gpio-bank {
583		gpio-controller;
584		#gpio-cells = <2>;
585
586		interrupt-controller;
587		interrupt-parent = <&gic>;
588		interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
589			     <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>,
590			     <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>,
591			     <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>,
592			     <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>,
593			     <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
594			     <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>,
595			     <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
596		#interrupt-cells = <2>;
597	};
598
599	gpx2: gpx2-gpio-bank {
600		gpio-controller;
601		#gpio-cells = <2>;
602
603		interrupt-controller;
604		#interrupt-cells = <2>;
605	};
606
607	gpx3: gpx3-gpio-bank {
608		gpio-controller;
609		#gpio-cells = <2>;
610
611		interrupt-controller;
612		#interrupt-cells = <2>;
613	};
614
615	sd0_clk: sd0-clk-pins {
616		samsung,pins = "gpk0-0";
617		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
618		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
619		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
620	};
621
622	sd0_cmd: sd0-cmd-pins {
623		samsung,pins = "gpk0-1";
624		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
625		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
626		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
627	};
628
629	sd0_cd: sd0-cd-pins {
630		samsung,pins = "gpk0-2";
631		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
632		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
633		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
634	};
635
636	sd0_bus1: sd0-bus-width1-pins {
637		samsung,pins = "gpk0-3";
638		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
639		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
640		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
641	};
642
643	sd0_bus4: sd0-bus-width4-pins {
644		samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
645		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
646		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
647		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
648	};
649
650	sd0_bus8: sd0-bus-width8-pins {
651		samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
652		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
653		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
654		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
655	};
656
657	sd4_clk: sd4-clk-pins {
658		samsung,pins = "gpk0-0";
659		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
660		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
661		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
662	};
663
664	sd4_cmd: sd4-cmd-pins {
665		samsung,pins = "gpk0-1";
666		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
667		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
668		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
669	};
670
671	sd4_cd: sd4-cd-pins {
672		samsung,pins = "gpk0-2";
673		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
674		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
675		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
676	};
677
678	sd4_bus1: sd4-bus-width1-pins {
679		samsung,pins = "gpk0-3";
680		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
681		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
682		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
683	};
684
685	sd4_bus4: sd4-bus-width4-pins {
686		samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
687		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
688		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
689		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
690	};
691
692	sd4_bus8: sd4-bus-width8-pins {
693		samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
694		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
695		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
696		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
697	};
698
699	sd1_clk: sd1-clk-pins {
700		samsung,pins = "gpk1-0";
701		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
702		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
703		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
704	};
705
706	sd1_cmd: sd1-cmd-pins {
707		samsung,pins = "gpk1-1";
708		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
709		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
710		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
711	};
712
713	sd1_cd: sd1-cd-pins {
714		samsung,pins = "gpk1-2";
715		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
716		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
717		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
718	};
719
720	sd1_bus1: sd1-bus-width1-pins {
721		samsung,pins = "gpk1-3";
722		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
723		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
724		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
725	};
726
727	sd1_bus4: sd1-bus-width4-pins {
728		samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
729		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
730		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
731		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
732	};
733
734	sd2_clk: sd2-clk-pins {
735		samsung,pins = "gpk2-0";
736		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
737		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
738		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
739	};
740
741	sd2_cmd: sd2-cmd-pins {
742		samsung,pins = "gpk2-1";
743		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
744		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
745		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
746	};
747
748	sd2_cd: sd2-cd-pins {
749		samsung,pins = "gpk2-2";
750		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
751		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
752		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
753	};
754
755	sd2_bus1: sd2-bus-width1-pins {
756		samsung,pins = "gpk2-3";
757		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
758		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
759		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
760	};
761
762	sd2_bus4: sd2-bus-width4-pins {
763		samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6";
764		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
765		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
766		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
767	};
768
769	sd2_bus8: sd2-bus-width8-pins {
770		samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
771		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
772		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
773		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
774	};
775
776	sd3_clk: sd3-clk-pins {
777		samsung,pins = "gpk3-0";
778		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
779		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
780		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
781	};
782
783	sd3_cmd: sd3-cmd-pins {
784		samsung,pins = "gpk3-1";
785		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
786		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
787		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
788	};
789
790	sd3_cd: sd3-cd-pins {
791		samsung,pins = "gpk3-2";
792		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
793		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
794		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
795	};
796
797	sd3_bus1: sd3-bus-width1-pins {
798		samsung,pins = "gpk3-3";
799		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
800		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
801		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
802	};
803
804	sd3_bus4: sd3-bus-width4-pins {
805		samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
806		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
807		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
808		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
809	};
810
811	cam_port_b_io: cam-port-b-io-pins {
812		samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
813				"gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
814				"gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
815		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
816		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
817		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
818	};
819
820	cam_port_b_clk_active: cam-port-b-clk-active-pins {
821		samsung,pins = "gpm2-2";
822		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
823		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
824		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
825	};
826
827	cam_port_b_clk_idle: cam-port-b-clk-idle-pins {
828		samsung,pins = "gpm2-2";
829		samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
830		samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
831		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
832	};
833
834	eint0: ext-int0-pins {
835		samsung,pins = "gpx0-0";
836		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
837		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
838		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
839	};
840
841	eint8: ext-int8-pins {
842		samsung,pins = "gpx1-0";
843		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
844		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
845		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
846	};
847
848	eint15: ext-int15-pins {
849		samsung,pins = "gpx1-7";
850		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
851		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
852		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
853	};
854
855	eint16: ext-int16-pins {
856		samsung,pins = "gpx2-0";
857		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
858		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
859		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
860	};
861
862	eint31: ext-int31-pins {
863		samsung,pins = "gpx3-7";
864		samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
865		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
866		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
867	};
868
869	fimc_is_i2c0: fimc-is-i2c0-pins {
870		samsung,pins = "gpm4-0", "gpm4-1";
871		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
872		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
873		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
874	};
875
876	fimc_is_i2c1: fimc-is-i2c1-pins {
877		samsung,pins = "gpm4-2", "gpm4-3";
878		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
879		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
880		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
881	};
882
883	fimc_is_uart: fimc-is-uart-pins {
884		samsung,pins = "gpm3-5", "gpm3-7";
885		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
886		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
887		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
888	};
889
890	hdmi_cec: hdmi-cec-pins {
891		samsung,pins = "gpx3-6";
892		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
893		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
894		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
895	};
896};
897
898&pinctrl_2 {
899	gpz: gpz-gpio-bank {
900		gpio-controller;
901		#gpio-cells = <2>;
902
903		interrupt-controller;
904		#interrupt-cells = <2>;
905	};
906
907	i2s0_bus: i2s0-bus-pins {
908		samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
909				"gpz-4", "gpz-5", "gpz-6";
910		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
911		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
912		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
913	};
914
915	pcm0_bus: pcm0-bus-pins {
916		samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
917				"gpz-4";
918		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
919		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
920		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
921	};
922};
923
924&pinctrl_3 {
925	gpv0: gpv0-gpio-bank {
926		gpio-controller;
927		#gpio-cells = <2>;
928
929		interrupt-controller;
930		#interrupt-cells = <2>;
931	};
932
933	gpv1: gpv1-gpio-bank {
934		gpio-controller;
935		#gpio-cells = <2>;
936
937		interrupt-controller;
938		#interrupt-cells = <2>;
939	};
940
941	gpv2: gpv2-gpio-bank {
942		gpio-controller;
943		#gpio-cells = <2>;
944
945		interrupt-controller;
946		#interrupt-cells = <2>;
947	};
948
949	gpv3: gpv3-gpio-bank {
950		gpio-controller;
951		#gpio-cells = <2>;
952
953		interrupt-controller;
954		#interrupt-cells = <2>;
955	};
956
957	gpv4: gpv4-gpio-bank {
958		gpio-controller;
959		#gpio-cells = <2>;
960
961		interrupt-controller;
962		#interrupt-cells = <2>;
963	};
964
965	c2c_bus: c2c-bus-pins {
966		samsung,pins = "gpv0-0", "gpv0-1", "gpv0-2", "gpv0-3",
967				"gpv0-4", "gpv0-5", "gpv0-6", "gpv0-7",
968				"gpv1-0", "gpv1-1", "gpv1-2", "gpv1-3",
969				"gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7",
970				"gpv2-0", "gpv2-1", "gpv2-2", "gpv2-3",
971				"gpv2-4", "gpv2-5", "gpv2-6", "gpv2-7",
972				"gpv3-0", "gpv3-1", "gpv3-2", "gpv3-3",
973				"gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7",
974				"gpv4-0", "gpv4-1";
975		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
976		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
977		samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
978	};
979};
980