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		#interrupt-cells = <2>;
157	};
158
159	gpx1: gpx1 {
160		gpio-controller;
161		#gpio-cells = <2>;
162
163		interrupt-controller;
164		#interrupt-cells = <2>;
165	};
166
167	gpx2: gpx2 {
168		gpio-controller;
169		#gpio-cells = <2>;
170
171		interrupt-controller;
172		#interrupt-cells = <2>;
173	};
174
175	gpx3: gpx3 {
176		gpio-controller;
177		#gpio-cells = <2>;
178
179		interrupt-controller;
180		#interrupt-cells = <2>;
181	};
182
183	uart0_data: uart0-data {
184		samsung,pins = "gpa0-0", "gpa0-1";
185		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
186		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
187		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
188	};
189
190	uart0_fctl: uart0-fctl {
191		samsung,pins = "gpa0-2", "gpa0-3";
192		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
193		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
194		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
195	};
196
197	uart1_data: uart1-data {
198		samsung,pins = "gpa1-0", "gpa1-1";
199		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
200		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
201		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
202	};
203
204	uart1_fctl: uart1-fctl {
205		samsung,pins = "gpa1-2", "gpa1-3";
206		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
207		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
208		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
209	};
210
211	uart2_data: uart2-data {
212		samsung,pins = "gpa1-4", "gpa1-5";
213		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
214		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
215		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
216	};
217
218	spi0_bus: spi0-bus {
219		samsung,pins = "gpa2-0", "gpa2-2", "gpa2-3";
220		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
221		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
222		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
223	};
224
225	spi1_bus: spi1-bus {
226		samsung,pins = "gpa2-4", "gpa2-6", "gpa2-7";
227		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
228		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
229		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
230	};
231
232	usb3_vbus0_en: usb3-vbus0-en {
233		samsung,pins = "gpa2-4";
234		samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
235		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
236		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
237	};
238
239	i2s1_bus: i2s1-bus {
240		samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
241				"gpb0-4";
242		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
243		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
244		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
245	};
246
247	pcm1_bus: pcm1-bus {
248		samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2", "gpb0-3",
249				"gpb0-4";
250		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
251		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
252		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
253	};
254
255	spdif1_bus: spdif1-bus {
256		samsung,pins = "gpb0-0", "gpb0-1", "gpb0-2";
257		samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
258		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
259		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
260	};
261
262	spi2_bus: spi2-bus {
263		samsung,pins = "gpb1-0", "gpb1-2", "gpb1-3";
264		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
265		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
266		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
267	};
268
269	i2c0_hs_bus: i2c0-hs-bus {
270		samsung,pins = "gpb3-0", "gpb3-1";
271		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
272		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
273		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
274	};
275
276	i2c1_hs_bus: i2c1-hs-bus {
277		samsung,pins = "gpb3-2", "gpb3-3";
278		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
279		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
280		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
281	};
282
283	i2c2_hs_bus: i2c2-hs-bus {
284		samsung,pins = "gpb3-4", "gpb3-5";
285		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
286		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
287		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
288	};
289
290	i2c3_hs_bus: i2c3-hs-bus {
291		samsung,pins = "gpb3-6", "gpb3-7";
292		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
293		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
294		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
295	};
296
297	i2c4_bus: i2c4-bus {
298		samsung,pins = "gpb4-0", "gpb4-1";
299		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
300		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
301		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
302	};
303
304	i2c5_bus: i2c5-bus {
305		samsung,pins = "gpb4-2", "gpb4-3";
306		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
307		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
308		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
309	};
310
311	i2c6_bus: i2c6-bus {
312		samsung,pins = "gpb4-4", "gpb4-5";
313		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
314		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
315		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
316	};
317
318	i2c7_bus: i2c7-bus {
319		samsung,pins = "gpb4-6", "gpb4-7";
320		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
321		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
322		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
323	};
324
325	i2c8_bus: i2c8-bus {
326		samsung,pins = "gpb5-0", "gpb5-1";
327		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
328		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
329		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
330	};
331
332	i2c9_bus: i2c9-bus {
333		samsung,pins = "gpb5-2", "gpb5-3";
334		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
335		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
336		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
337	};
338
339	i2c10_bus: i2c10-bus {
340		samsung,pins = "gpb5-4", "gpb5-5";
341		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
342		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
343		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
344	};
345
346	i2c11_bus: i2c11-bus {
347		samsung,pins = "gpb5-6", "gpb5-7";
348		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
349		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
350		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
351	};
352
353	cam_gpio_a: cam-gpio-a {
354		samsung,pins = "gpe0-0", "gpe0-1", "gpe0-2", "gpe0-3",
355			"gpe0-4", "gpe0-5", "gpe0-6", "gpe0-7",
356			"gpe1-0", "gpe1-1";
357		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
358		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
359		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
360	};
361
362	cam_gpio_b: cam-gpio-b {
363		samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3",
364			"gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
365		samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
366		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
367		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
368	};
369
370	cam_i2c1_bus: cam-i2c1-bus {
371		samsung,pins = "gpf0-2", "gpf0-3";
372		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
373		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
374		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
375	};
376
377	cam_i2c0_bus: cam-i2c0-bus {
378		samsung,pins = "gpf0-0", "gpf0-1";
379		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
380		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
381		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
382	};
383
384	cam_spi0_bus: cam-spi0-bus {
385		samsung,pins = "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3";
386		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
387		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
388		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
389	};
390
391	cam_spi1_bus: cam-spi1-bus {
392		samsung,pins = "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7";
393		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
394		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
395		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV1>;
396	};
397};
398
399&pinctrl_1 {
400	gpc0: gpc0 {
401		gpio-controller;
402		#gpio-cells = <2>;
403
404		interrupt-controller;
405		#interrupt-cells = <2>;
406	};
407
408	gpc1: gpc1 {
409		gpio-controller;
410		#gpio-cells = <2>;
411
412		interrupt-controller;
413		#interrupt-cells = <2>;
414	};
415
416	gpc2: gpc2 {
417		gpio-controller;
418		#gpio-cells = <2>;
419
420		interrupt-controller;
421		#interrupt-cells = <2>;
422	};
423
424	gpc3: gpc3 {
425		gpio-controller;
426		#gpio-cells = <2>;
427
428		interrupt-controller;
429		#interrupt-cells = <2>;
430	};
431
432	gpc4: gpc4 {
433		gpio-controller;
434		#gpio-cells = <2>;
435
436		interrupt-controller;
437		#interrupt-cells = <2>;
438	};
439
440	sd0_clk: sd0-clk {
441		samsung,pins = "gpc0-0";
442		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
443		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
444		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
445	};
446
447	sd0_cmd: sd0-cmd {
448		samsung,pins = "gpc0-1";
449		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
450		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
451		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
452	};
453
454	sd0_bus1: sd0-bus-width1 {
455		samsung,pins = "gpc0-2";
456		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
457		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
458		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
459	};
460
461	sd0_bus4: sd0-bus-width4 {
462		samsung,pins = "gpc0-3", "gpc0-4", "gpc0-5";
463		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
464		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
465		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
466	};
467
468	sd0_bus8: sd0-bus-width8 {
469		samsung,pins = "gpc3-0", "gpc3-1", "gpc3-2", "gpc3-3";
470		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
471		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
472		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
473	};
474
475	sd0_rdqs: sd0-rdqs {
476		samsung,pins = "gpc0-6";
477		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
478		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
479		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
480	};
481
482	sd1_clk: sd1-clk {
483		samsung,pins = "gpc1-0";
484		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
485		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
486		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
487	};
488
489	sd1_cmd: sd1-cmd {
490		samsung,pins = "gpc1-1";
491		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
492		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
493		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
494	};
495
496	sd1_bus1: sd1-bus-width1 {
497		samsung,pins = "gpc1-2";
498		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
499		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
500		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
501	};
502
503	sd1_bus4: sd1-bus-width4 {
504		samsung,pins = "gpc1-3", "gpc1-4", "gpc1-5";
505		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
506		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
507		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
508	};
509
510	sd1_bus8: sd1-bus-width8 {
511		samsung,pins = "gpc4-0", "gpc4-1", "gpc4-2", "gpc4-3";
512		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
513		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
514		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
515	};
516
517	sd2_clk: sd2-clk {
518		samsung,pins = "gpc2-0";
519		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
520		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
521		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
522	};
523
524	sd2_cmd: sd2-cmd {
525		samsung,pins = "gpc2-1";
526		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
527		samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
528		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
529	};
530
531	sd2_cd: sd2-cd {
532		samsung,pins = "gpc2-2";
533		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
534		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
535		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
536	};
537
538	sd2_bus1: sd2-bus-width1 {
539		samsung,pins = "gpc2-3";
540		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
541		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
542		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
543	};
544
545	sd2_bus4: sd2-bus-width4 {
546		samsung,pins = "gpc2-4", "gpc2-5", "gpc2-6";
547		samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
548		samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
549		samsung,pin-drv = <EXYNOS5260_PIN_DRV_LV6>;
550	};
551};
552
553&pinctrl_2 {
554	gpz0: gpz0 {
555		gpio-controller;
556		#gpio-cells = <2>;
557
558		interrupt-controller;
559		#interrupt-cells = <2>;
560	};
561
562	gpz1: gpz1 {
563		gpio-controller;
564		#gpio-cells = <2>;
565
566		interrupt-controller;
567		#interrupt-cells = <2>;
568	};
569};
570