Loading...
Note: File does not exist in v3.15.
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos3250 SoCs pin-mux and pin-config device tree source
4 *
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 *
8 * Samsung's Exynos3250 SoCs pin-mux and pin-config optiosn are listed as device
9 * tree nodes are listed in this file.
10 */
11
12#include "exynos-pinctrl.h"
13
14#define PIN_IN(_pin, _pull, _drv) \
15 pin- ## _pin { \
16 samsung,pins = #_pin; \
17 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; \
18 samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>; \
19 samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>; \
20 }
21
22#define PIN_SLP(_pin, _mode, _pull) \
23 pin- ## _pin { \
24 samsung,pins = #_pin; \
25 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>; \
26 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>; \
27 }
28
29&pinctrl_0 {
30 gpa0: gpa0-gpio-bank {
31 gpio-controller;
32 #gpio-cells = <2>;
33
34 interrupt-controller;
35 #interrupt-cells = <2>;
36 };
37
38 gpa1: gpa1-gpio-bank {
39 gpio-controller;
40 #gpio-cells = <2>;
41
42 interrupt-controller;
43 #interrupt-cells = <2>;
44 };
45
46 gpb: gpb-gpio-bank {
47 gpio-controller;
48 #gpio-cells = <2>;
49
50 interrupt-controller;
51 #interrupt-cells = <2>;
52 };
53
54 gpc0: gpc0-gpio-bank {
55 gpio-controller;
56 #gpio-cells = <2>;
57
58 interrupt-controller;
59 #interrupt-cells = <2>;
60 };
61
62 gpc1: gpc1-gpio-bank {
63 gpio-controller;
64 #gpio-cells = <2>;
65
66 interrupt-controller;
67 #interrupt-cells = <2>;
68 };
69
70 gpd0: gpd0-gpio-bank {
71 gpio-controller;
72 #gpio-cells = <2>;
73
74 interrupt-controller;
75 #interrupt-cells = <2>;
76 };
77
78 gpd1: gpd1-gpio-bank {
79 gpio-controller;
80 #gpio-cells = <2>;
81
82 interrupt-controller;
83 #interrupt-cells = <2>;
84 };
85
86 uart0_data: uart0-data-pins {
87 samsung,pins = "gpa0-0", "gpa0-1";
88 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
89 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
90 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
91 };
92
93 uart0_fctl: uart0-fctl-pins {
94 samsung,pins = "gpa0-2", "gpa0-3";
95 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
96 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
97 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
98 };
99
100 uart1_data: uart1-data-pins {
101 samsung,pins = "gpa0-4", "gpa0-5";
102 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
103 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
104 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
105 };
106
107 uart1_fctl: uart1-fctl-pins {
108 samsung,pins = "gpa0-6", "gpa0-7";
109 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
110 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
111 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
112 };
113
114 i2c2_bus: i2c2-bus-pins {
115 samsung,pins = "gpa0-6", "gpa0-7";
116 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
117 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
118 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
119 };
120
121 uart2_data: uart2-data-pins {
122 samsung,pins = "gpa1-0", "gpa1-1";
123 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
124 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
125 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
126 };
127
128 i2c3_bus: i2c3-bus-pins {
129 samsung,pins = "gpa1-2", "gpa1-3";
130 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
131 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
132 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
133 };
134
135 spi0_bus: spi0-bus-pins {
136 samsung,pins = "gpb-0", "gpb-2", "gpb-3";
137 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
138 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
139 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
140 };
141
142 i2c4_bus: i2c4-bus-pins {
143 samsung,pins = "gpb-0", "gpb-1";
144 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
145 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
146 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
147 };
148
149 spi1_bus: spi1-bus-pins {
150 samsung,pins = "gpb-4", "gpb-6", "gpb-7";
151 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
152 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
153 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
154 };
155
156 i2c5_bus: i2c5-bus-pins {
157 samsung,pins = "gpb-2", "gpb-3";
158 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
159 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
160 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
161 };
162
163 i2s2_bus: i2s2-bus-pins {
164 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
165 "gpc1-4";
166 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
167 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
168 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
169 };
170
171 pcm2_bus: pcm2-bus-pins {
172 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
173 "gpc1-4";
174 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
175 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
176 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
177 };
178
179 i2c6_bus: i2c6-bus-pins {
180 samsung,pins = "gpc1-3", "gpc1-4";
181 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
182 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
183 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
184 };
185
186 pwm0_out: pwm0-out-pins {
187 samsung,pins = "gpd0-0";
188 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
189 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
190 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
191 };
192
193 pwm1_out: pwm1-out-pins {
194 samsung,pins = "gpd0-1";
195 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
196 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
197 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
198 };
199
200 i2c7_bus: i2c7-bus-pins {
201 samsung,pins = "gpd0-2", "gpd0-3";
202 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
203 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
204 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
205 };
206
207 pwm2_out: pwm2-out-pins {
208 samsung,pins = "gpd0-2";
209 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
210 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
211 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
212 };
213
214 pwm3_out: pwm3-out-pins {
215 samsung,pins = "gpd0-3";
216 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
217 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
218 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
219 };
220
221 i2c0_bus: i2c0-bus-pins {
222 samsung,pins = "gpd1-0", "gpd1-1";
223 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
224 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
225 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
226 };
227
228 mipi0_clk: mipi0-clk-pins {
229 samsung,pins = "gpd1-0", "gpd1-1";
230 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
231 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
232 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
233 };
234
235 i2c1_bus: i2c1-bus-pins {
236 samsung,pins = "gpd1-2", "gpd1-3";
237 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
238 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
239 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
240 };
241};
242
243&pinctrl_1 {
244 gpe0: gpe0-gpio-bank {
245 gpio-controller;
246 #gpio-cells = <2>;
247 };
248
249 gpe1: gpe1-gpio-bank {
250 gpio-controller;
251 #gpio-cells = <2>;
252 };
253
254 gpe2: gpe2-gpio-bank {
255 gpio-controller;
256 #gpio-cells = <2>;
257 };
258
259 gpk0: gpk0-gpio-bank {
260 gpio-controller;
261 #gpio-cells = <2>;
262
263 interrupt-controller;
264 #interrupt-cells = <2>;
265 };
266
267 gpk1: gpk1-gpio-bank {
268 gpio-controller;
269 #gpio-cells = <2>;
270
271 interrupt-controller;
272 #interrupt-cells = <2>;
273 };
274
275 gpk2: gpk2-gpio-bank {
276 gpio-controller;
277 #gpio-cells = <2>;
278
279 interrupt-controller;
280 #interrupt-cells = <2>;
281 };
282
283 gpl0: gpl0-gpio-bank {
284 gpio-controller;
285 #gpio-cells = <2>;
286
287 interrupt-controller;
288 #interrupt-cells = <2>;
289 };
290
291 gpm0: gpm0-gpio-bank {
292 gpio-controller;
293 #gpio-cells = <2>;
294
295 interrupt-controller;
296 #interrupt-cells = <2>;
297 };
298
299 gpm1: gpm1-gpio-bank {
300 gpio-controller;
301 #gpio-cells = <2>;
302
303 interrupt-controller;
304 #interrupt-cells = <2>;
305 };
306
307 gpm2: gpm2-gpio-bank {
308 gpio-controller;
309 #gpio-cells = <2>;
310
311 interrupt-controller;
312 #interrupt-cells = <2>;
313 };
314
315 gpm3: gpm3-gpio-bank {
316 gpio-controller;
317 #gpio-cells = <2>;
318
319 interrupt-controller;
320 #interrupt-cells = <2>;
321 };
322
323 gpm4: gpm4-gpio-bank {
324 gpio-controller;
325 #gpio-cells = <2>;
326
327 interrupt-controller;
328 #interrupt-cells = <2>;
329 };
330
331 gpx0: gpx0-gpio-bank {
332 gpio-controller;
333 #gpio-cells = <2>;
334
335 interrupt-controller;
336 interrupt-parent = <&gic>;
337 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
338 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
339 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
340 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
341 <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
342 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
343 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
344 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
345 #interrupt-cells = <2>;
346 };
347
348 gpx1: gpx1-gpio-bank {
349 gpio-controller;
350 #gpio-cells = <2>;
351
352 interrupt-controller;
353 interrupt-parent = <&gic>;
354 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
355 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
356 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
357 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
358 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
359 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
360 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
361 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
362 #interrupt-cells = <2>;
363 };
364
365 gpx2: gpx2-gpio-bank {
366 gpio-controller;
367 #gpio-cells = <2>;
368
369 interrupt-controller;
370 #interrupt-cells = <2>;
371 };
372
373 gpx3: gpx3-gpio-bank {
374 gpio-controller;
375 #gpio-cells = <2>;
376
377 interrupt-controller;
378 #interrupt-cells = <2>;
379 };
380
381 sd0_clk: sd0-clk-pins {
382 samsung,pins = "gpk0-0";
383 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
384 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
385 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
386 };
387
388 sd0_cmd: sd0-cmd-pins {
389 samsung,pins = "gpk0-1";
390 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
391 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
392 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
393 };
394
395 sd0_cd: sd0-cd-pins {
396 samsung,pins = "gpk0-2";
397 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
398 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
399 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
400 };
401
402 sd0_rdqs: sd0-rdqs-pins {
403 samsung,pins = "gpk0-7";
404 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
405 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
406 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
407 };
408
409 sd0_bus1: sd0-bus-width1-pins {
410 samsung,pins = "gpk0-3";
411 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
412 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
413 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
414 };
415
416 sd0_bus4: sd0-bus-width4-pins {
417 samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6";
418 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
419 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
420 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
421 };
422
423 sd0_bus8: sd0-bus-width8-pins {
424 samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-3";
425 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
426 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
427 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
428 };
429
430 sd1_clk: sd1-clk-pins {
431 samsung,pins = "gpk1-0";
432 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
433 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
434 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
435 };
436
437 sd1_cmd: sd1-cmd-pins {
438 samsung,pins = "gpk1-1";
439 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
440 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
441 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
442 };
443
444 sd1_cd: sd1-cd-pins {
445 samsung,pins = "gpk1-2";
446 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
447 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
448 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
449 };
450
451 sd1_bus1: sd1-bus-width1-pins {
452 samsung,pins = "gpk1-3";
453 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
454 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
455 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
456 };
457
458 sd1_bus4: sd1-bus-width4-pins {
459 samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6";
460 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
461 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
462 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
463 };
464
465 sd2_clk: sd2-clk-pins {
466 samsung,pins = "gpk2-0";
467 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
468 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
469 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
470 };
471
472 sd2_cmd: sd2-cmd-pins {
473 samsung,pins = "gpk2-1";
474 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
475 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
476 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
477 };
478
479 sd2_cd: sd2-cd-pins {
480 samsung,pins = "gpk2-2";
481 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
482 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
483 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
484 };
485
486 sd2_bus1: sd2-bus-width1-pins {
487 samsung,pins = "gpk2-3";
488 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
489 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
490 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
491 };
492
493 sd2_bus4: sd2-bus-width4-pins {
494 samsung,pins = "gpk2-4", "gpk2-5", "gpk2-6";
495 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
496 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
497 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
498 };
499
500 cam_port_b_io: cam-port-b-io-pins {
501 samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
502 "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
503 "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
504 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
505 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
506 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
507 };
508
509 cam_port_b_clk_active: cam-port-b-clk-active-pins {
510 samsung,pins = "gpm2-2";
511 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
512 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
513 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
514 };
515
516 cam_port_b_clk_idle: cam-port-b-clk-idle-pins {
517 samsung,pins = "gpm2-2";
518 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
519 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
520 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
521 };
522
523 fimc_is_i2c0: fimc-is-i2c0-pins {
524 samsung,pins = "gpm4-0", "gpm4-1";
525 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
526 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
527 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
528 };
529
530 fimc_is_i2c1: fimc-is-i2c1-pins {
531 samsung,pins = "gpm4-2", "gpm4-3";
532 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
533 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
534 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
535 };
536
537 fimc_is_uart: fimc-is-uart-pins {
538 samsung,pins = "gpm3-5", "gpm3-7";
539 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
540 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
541 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
542 };
543};