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