1/*
2 * Samsung's Exynos5260 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 Exynos5260 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#define PIN_PULL_NONE	0
16#define PIN_PULL_DOWN	1
17#define PIN_PULL_UP	3
18
19&pinctrl_0 {
20	gpa0: gpa0 {
21		gpio-controller;
22		#gpio-cells = <2>;
23
24		interrupt-controller;
25		#interrupt-cells = <2>;
26	};
27
28	gpa1: gpa1 {
29		gpio-controller;
30		#gpio-cells = <2>;
31
32		interrupt-controller;
33		#interrupt-cells = <2>;
34	};
35
36	gpa2: gpa2 {
37		gpio-controller;
38		#gpio-cells = <2>;
39
40		interrupt-controller;
41		#interrupt-cells = <2>;
42	};
43
44	gpb0: gpb0 {
45		gpio-controller;
46		#gpio-cells = <2>;
47
48		interrupt-controller;
49		#interrupt-cells = <2>;
50	};
51
52	gpb1: gpb1 {
53		gpio-controller;
54		#gpio-cells = <2>;
55
56		interrupt-controller;
57		#interrupt-cells = <2>;
58	};
59
60	gpb2: gpb2 {
61		gpio-controller;
62		#gpio-cells = <2>;
63
64		interrupt-controller;
65		#interrupt-cells = <2>;
66	};
67
68	gpb3: gpb3 {
69		gpio-controller;
70		#gpio-cells = <2>;
71
72		interrupt-controller;
73		#interrupt-cells = <2>;
74	};
75
76	gpb4: gpb4 {
77		gpio-controller;
78		#gpio-cells = <2>;
79
80		interrupt-controller;
81		#interrupt-cells = <2>;
82	};
83
84	gpb5: gpb5 {
85		gpio-controller;
86		#gpio-cells = <2>;
87
88		interrupt-controller;
89		#interrupt-cells = <2>;
90	};
91
92	gpd0: gpd0 {
93		gpio-controller;
94		#gpio-cells = <2>;
95
96		interrupt-controller;
97		#interrupt-cells = <2>;
98	};
99
100	gpd1: gpd1 {
101		gpio-controller;
102		#gpio-cells = <2>;
103
104		interrupt-controller;
105		#interrupt-cells = <2>;
106	};
107
108	gpd2: gpd2 {
109		gpio-controller;
110		#gpio-cells = <2>;
111
112		interrupt-controller;
113		#interrupt-cells = <2>;
114	};
115
116	gpe0: gpe0 {
117		gpio-controller;
118		#gpio-cells = <2>;
119
120		interrupt-controller;
121		#interrupt-cells = <2>;
122	};
123
124	gpe1: gpe1 {
125		gpio-controller;
126		#gpio-cells = <2>;
127
128		interrupt-controller;
129		#interrupt-cells = <2>;
130	};
131
132	gpf0: gpf0 {
133		gpio-controller;
134		#gpio-cells = <2>;
135
136		interrupt-controller;
137		#interrupt-cells = <2>;
138	};
139
140	gpf1: gpf1 {
141		gpio-controller;
142		#gpio-cells = <2>;
143
144		interrupt-controller;
145		#interrupt-cells = <2>;
146	};
147
148	gpk0: gpk0 {
149		gpio-controller;
150		#gpio-cells = <2>;
151
152		interrupt-controller;
153		#interrupt-cells = <2>;
154	};
155
156	gpx0: gpx0 {
157		gpio-controller;
158		#gpio-cells = <2>;
159
160		interrupt-controller;
161		#interrupt-cells = <2>;
162	};
163
164	gpx1: gpx1 {
165		gpio-controller;
166		#gpio-cells = <2>;
167
168		interrupt-controller;
169		#interrupt-cells = <2>;
170	};
171
172	gpx2: gpx2 {
173		gpio-controller;
174		#gpio-cells = <2>;
175
176		interrupt-controller;
177		#interrupt-cells = <2>;
178	};
179
180	gpx3: gpx3 {
181		gpio-controller;
182		#gpio-cells = <2>;
183
184		interrupt-controller;
185		#interrupt-cells = <2>;
186	};
187
188	uart0_data: uart0-data {
189		samsung,pins = "gpa0-0", "gpa0-1";
190		samsung,pin-function = <2>;
191		samsung,pin-pud = <PIN_PULL_NONE>;
192		samsung,pin-drv = <0>;
193	};
194
195	uart0_fctl: uart0-fctl {
196		samsung,pins = "gpa0-2", "gpa0-3";
197		samsung,pin-function = <2>;
198		samsung,pin-pud = <PIN_PULL_NONE>;
199		samsung,pin-drv = <0>;
200	};
201
202	uart1_data: uart1-data {
203		samsung,pins = "gpa1-0", "gpa1-1";
204		samsung,pin-function = <2>;
205		samsung,pin-pud = <PIN_PULL_NONE>;
206		samsung,pin-drv = <0>;
207	};
208
209	uart1_fctl: uart1-fctl {
210		samsung,pins = "gpa1-2", "gpa1-3";
211		samsung,pin-function = <2>;
212		samsung,pin-pud = <PIN_PULL_NONE>;
213		samsung,pin-drv = <0>;
214	};
215
216	uart2_data: uart2-data {
217		samsung,pins = "gpa1-4", "gpa1-5";
218		samsung,pin-function = <2>;
219		samsung,pin-pud = <PIN_PULL_NONE>;
220		samsung,pin-drv = <0>;
221	};
222
223	spi0_bus: spi0-bus {
224		samsung,pins = "gpa2-0", "gpa2-2", "gpa2-3";
225		samsung,pin-function = <2>;
226		samsung,pin-pud = <PIN_PULL_UP>;
227		samsung,pin-drv = <0>;
228	};
229
230	spi1_bus: spi1-bus {
231		samsung,pins = "gpa2-4", "gpa2-6", "gpa2-7";
232		samsung,pin-function = <2>;
233		samsung,pin-pud = <PIN_PULL_UP>;
234		samsung,pin-drv = <0>;
235	};
236
237	usb3_vbus0_en: usb3-vbus0-en {
238		samsung,pins = "gpa2-4";
239		samsung,pin-function = <1>;
240		samsung,pin-pud = <PIN_PULL_NONE>;
241		samsung,pin-drv = <0>;
242	};
243
244	i2s1_bus: i2s1-bus {
245		samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
246				"gpb0-4";
247		samsung,pin-function = <2>;
248		samsung,pin-pud = <PIN_PULL_NONE>;
249		samsung,pin-drv = <0>;
250	};
251
252	pcm1_bus: pcm1-bus {
253		samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
254				"gpb0-4";
255		samsung,pin-function = <3>;
256		samsung,pin-pud = <PIN_PULL_NONE>;
257		samsung,pin-drv = <0>;
258	};
259
260	spdif1_bus: spdif1-bus {
261		samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2";
262		samsung,pin-function = <4>;
263		samsung,pin-pud = <PIN_PULL_NONE>;
264		samsung,pin-drv = <0>;
265	};
266
267	spi2_bus: spi2-bus {
268		samsung,pins = "gpb1-0", "gpb1-2", "gpb1-3";
269		samsung,pin-function = <2>;
270		samsung,pin-pud = <PIN_PULL_UP>;
271		samsung,pin-drv = <0>;
272	};
273
274	i2c0_hs_bus: i2c0-hs-bus {
275		samsung,pins = "gpb3-0", "gpb3-1";
276		samsung,pin-function = <2>;
277		samsung,pin-pud = <PIN_PULL_UP>;
278		samsung,pin-drv = <0>;
279	};
280
281	i2c1_hs_bus: i2c1-hs-bus {
282		samsung,pins = "gpb3-2", "gpb3-3";
283		samsung,pin-function = <2>;
284		samsung,pin-pud = <PIN_PULL_UP>;
285		samsung,pin-drv = <0>;
286	};
287
288	i2c2_hs_bus: i2c2-hs-bus {
289		samsung,pins = "gpb3-4", "gpb3-5";
290		samsung,pin-function = <2>;
291		samsung,pin-pud = <PIN_PULL_UP>;
292		samsung,pin-drv = <0>;
293	};
294
295	i2c3_hs_bus: i2c3-hs-bus {
296		samsung,pins = "gpb3-6", "gpb3-7";
297		samsung,pin-function = <2>;
298		samsung,pin-pud = <PIN_PULL_UP>;
299		samsung,pin-drv = <0>;
300	};
301
302	i2c4_bus: i2c4-bus {
303		samsung,pins = "gpb4-0", "gpb4-1";
304		samsung,pin-function = <2>;
305		samsung,pin-pud = <PIN_PULL_UP>;
306		samsung,pin-drv = <0>;
307	};
308
309	i2c5_bus: i2c5-bus {
310		samsung,pins = "gpb4-2", "gpb4-3";
311		samsung,pin-function = <2>;
312		samsung,pin-pud = <PIN_PULL_UP>;
313		samsung,pin-drv = <0>;
314	};
315
316	i2c6_bus: i2c6-bus {
317		samsung,pins = "gpb4-4", "gpb4-5";
318		samsung,pin-function = <2>;
319		samsung,pin-pud = <PIN_PULL_UP>;
320		samsung,pin-drv = <0>;
321	};
322
323	i2c7_bus: i2c7-bus {
324		samsung,pins = "gpb4-6", "gpb4-7";
325		samsung,pin-function = <2>;
326		samsung,pin-pud = <PIN_PULL_UP>;
327		samsung,pin-drv = <0>;
328	};
329
330	i2c8_bus: i2c8-bus {
331		samsung,pins = "gpb5-0", "gpb5-1";
332		samsung,pin-function = <2>;
333		samsung,pin-pud = <PIN_PULL_UP>;
334		samsung,pin-drv = <0>;
335	};
336
337	i2c9_bus: i2c9-bus {
338		samsung,pins = "gpb5-2", "gpb5-3";
339		samsung,pin-function = <2>;
340		samsung,pin-pud = <PIN_PULL_UP>;
341		samsung,pin-drv = <0>;
342	};
343
344	i2c10_bus: i2c10-bus {
345		samsung,pins = "gpb5-4", "gpb5-5";
346		samsung,pin-function = <2>;
347		samsung,pin-pud = <PIN_PULL_UP>;
348		samsung,pin-drv = <0>;
349	};
350
351	i2c11_bus: i2c11-bus {
352		samsung,pins = "gpb5-6", "gpb5-7";
353		samsung,pin-function = <2>;
354		samsung,pin-pud = <PIN_PULL_UP>;
355		samsung,pin-drv = <0>;
356	};
357
358	cam_gpio_a: cam-gpio-a {
359		samsung,pins = "gpe0-0", "gpe0-1", "gpe0-2", "gpe0-3",
360			"gpe0-4", "gpe0-5", "gpe0-6", "gpe0-7",
361			"gpe1-0", "gpe1-1";
362		samsung,pin-function = <2>;
363		samsung,pin-pud = <PIN_PULL_NONE>;
364		samsung,pin-drv = <0>;
365	};
366
367	cam_gpio_b: cam-gpio-b {
368		samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3",
369			"gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
370		samsung,pin-function = <3>;
371		samsung,pin-pud = <PIN_PULL_NONE>;
372		samsung,pin-drv = <0>;
373	};
374
375	cam_i2c1_bus: cam-i2c1-bus {
376		samsung,pins = "gpf0-2", "gpf0-3";
377		samsung,pin-function = <2>;
378		samsung,pin-pud = <PIN_PULL_UP>;
379		samsung,pin-drv = <0>;
380	};
381
382	cam_i2c0_bus: cam-i2c0-bus {
383		samsung,pins = "gpf0-0", "gpf0-1";
384		samsung,pin-function = <2>;
385		samsung,pin-pud = <PIN_PULL_UP>;
386		samsung,pin-drv = <0>;
387	};
388
389	cam_spi0_bus: cam-spi0-bus {
390		samsung,pins = "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
391		samsung,pin-function = <2>;
392		samsung,pin-pud = <PIN_PULL_NONE>;
393		samsung,pin-drv = <0>;
394	};
395
396	cam_spi1_bus: cam-spi1-bus {
397		samsung,pins = "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7";
398		samsung,pin-function = <2>;
399		samsung,pin-pud = <PIN_PULL_NONE>;
400		samsung,pin-drv = <0>;
401	};
402};
403
404&pinctrl_1 {
405	gpc0: gpc0 {
406		gpio-controller;
407		#gpio-cells = <2>;
408
409		interrupt-controller;
410		#interrupt-cells = <2>;
411	};
412
413	gpc1: gpc1 {
414		gpio-controller;
415		#gpio-cells = <2>;
416
417		interrupt-controller;
418		#interrupt-cells = <2>;
419	};
420
421	gpc2: gpc2 {
422		gpio-controller;
423		#gpio-cells = <2>;
424
425		interrupt-controller;
426		#interrupt-cells = <2>;
427	};
428
429	gpc3: gpc3 {
430		gpio-controller;
431		#gpio-cells = <2>;
432
433		interrupt-controller;
434		#interrupt-cells = <2>;
435	};
436
437	gpc4: gpc4 {
438		gpio-controller;
439		#gpio-cells = <2>;
440
441		interrupt-controller;
442		#interrupt-cells = <2>;
443	};
444
445	sd0_clk: sd0-clk {
446		samsung,pins = "gpc0-0";
447		samsung,pin-function = <2>;
448		samsung,pin-pud = <PIN_PULL_NONE>;
449		samsung,pin-drv = <3>;
450	};
451
452	sd0_cmd: sd0-cmd {
453		samsung,pins = "gpc0-1";
454		samsung,pin-function = <2>;
455		samsung,pin-pud = <PIN_PULL_NONE>;
456		samsung,pin-drv = <3>;
457	};
458
459	sd0_bus1: sd0-bus-width1 {
460		samsung,pins = "gpc0-2";
461		samsung,pin-function = <2>;
462		samsung,pin-pud = <PIN_PULL_UP>;
463		samsung,pin-drv = <3>;
464	};
465
466	sd0_bus4: sd0-bus-width4 {
467		samsung,pins = "gpc0-3", "gpc0-4", "gpc0-5";
468		samsung,pin-function = <2>;
469		samsung,pin-pud = <PIN_PULL_UP>;
470		samsung,pin-drv = <3>;
471	};
472
473	sd0_bus8: sd0-bus-width8 {
474		samsung,pins = "gpc3-0", "gpc3-1", "gpc3-2", "gpc3-3";
475		samsung,pin-function = <2>;
476		samsung,pin-pud = <PIN_PULL_UP>;
477		samsung,pin-drv = <3>;
478	};
479
480	sd0_rdqs: sd0-rdqs {
481		samsung,pins = "gpc0-6";
482		samsung,pin-function = <2>;
483		samsung,pin-pud = <PIN_PULL_UP>;
484		samsung,pin-drv = <3>;
485	};
486
487	sd1_clk: sd1-clk {
488		samsung,pins = "gpc1-0";
489		samsung,pin-function = <2>;
490		samsung,pin-pud = <PIN_PULL_NONE>;
491		samsung,pin-drv = <3>;
492	};
493
494	sd1_cmd: sd1-cmd {
495		samsung,pins = "gpc1-1";
496		samsung,pin-function = <2>;
497		samsung,pin-pud = <PIN_PULL_NONE>;
498		samsung,pin-drv = <3>;
499	};
500
501	sd1_bus1: sd1-bus-width1 {
502		samsung,pins = "gpc1-2";
503		samsung,pin-function = <2>;
504		samsung,pin-pud = <PIN_PULL_UP>;
505		samsung,pin-drv = <3>;
506	};
507
508	sd1_bus4: sd1-bus-width4 {
509		samsung,pins = "gpc1-3", "gpc1-4", "gpc1-5";
510		samsung,pin-function = <2>;
511		samsung,pin-pud = <PIN_PULL_UP>;
512		samsung,pin-drv = <3>;
513	};
514
515	sd1_bus8: sd1-bus-width8 {
516		samsung,pins = "gpc4-0", "gpc4-1", "gpc4-2", "gpc4-3";
517		samsung,pin-function = <2>;
518		samsung,pin-pud = <PIN_PULL_UP>;
519		samsung,pin-drv = <3>;
520	};
521
522	sd2_clk: sd2-clk {
523		samsung,pins = "gpc2-0";
524		samsung,pin-function = <2>;
525		samsung,pin-pud = <PIN_PULL_NONE>;
526		samsung,pin-drv = <3>;
527	};
528
529	sd2_cmd: sd2-cmd {
530		samsung,pins = "gpc2-1";
531		samsung,pin-function = <2>;
532		samsung,pin-pud = <PIN_PULL_NONE>;
533		samsung,pin-drv = <3>;
534	};
535
536	sd2_cd: sd2-cd {
537		samsung,pins = "gpc2-2";
538		samsung,pin-function = <2>;
539		samsung,pin-pud = <PIN_PULL_UP>;
540		samsung,pin-drv = <3>;
541	};
542
543	sd2_bus1: sd2-bus-width1 {
544		samsung,pins = "gpc2-3";
545		samsung,pin-function = <2>;
546		samsung,pin-pud = <PIN_PULL_UP>;
547		samsung,pin-drv = <3>;
548	};
549
550	sd2_bus4: sd2-bus-width4 {
551		samsung,pins = "gpc2-4", "gpc2-5", "gpc2-6";
552		samsung,pin-function = <2>;
553		samsung,pin-pud = <PIN_PULL_UP>;
554		samsung,pin-drv = <3>;
555	};
556};
557
558&pinctrl_2 {
559	gpz0: gpz0 {
560		gpio-controller;
561		#gpio-cells = <2>;
562
563		interrupt-controller;
564		#interrupt-cells = <2>;
565	};
566
567	gpz1: gpz1 {
568		gpio-controller;
569		#gpio-cells = <2>;
570
571		interrupt-controller;
572		#interrupt-cells = <2>;
573	};
574};
575