2 * Samsung's Exynos3250 SoCs pin-mux and pin-config device tree source
4 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
7 * Samsung's Exynos3250 SoCs pin-mux and pin-config optiosn are listed as device
8 * tree nodes are listed in this file.
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.
15 #include <dt-bindings/pinctrl/samsung.h>
17 #define PIN_IN(_pin, _pull, _drv) \
19 samsung,pins = #_pin; \
20 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; \
21 samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>; \
22 samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>; \
25 #define PIN_OUT(_pin, _drv) \
27 samsung,pins = #_pin; \
28 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; \
29 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; \
30 samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>; \
33 #define PIN_OUT_SET(_pin, _val, _drv) \
35 samsung,pins = #_pin; \
36 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; \
37 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; \
38 samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>; \
39 samsung,pin-val = <_val>; \
42 #define PIN_CFG(_pin, _sel, _pull, _drv) \
44 samsung,pins = #_pin; \
45 samsung,pin-function = <_sel>; \
46 samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>; \
47 samsung,pin-drv = <EXYNOS4_PIN_DRV_ ##_drv>; \
50 #define PIN_SLP(_pin, _mode, _pull) \
52 samsung,pins = #_pin; \
53 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_ ##_mode>; \
54 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_ ##_pull>; \
63 #interrupt-cells = <2>;
71 #interrupt-cells = <2>;
79 #interrupt-cells = <2>;
87 #interrupt-cells = <2>;
95 #interrupt-cells = <2>;
102 interrupt-controller;
103 #interrupt-cells = <2>;
110 interrupt-controller;
111 #interrupt-cells = <2>;
114 uart0_data: uart0-data {
115 samsung,pins = "gpa0-0", "gpa0-1";
116 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
117 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
118 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
121 uart0_fctl: uart0-fctl {
122 samsung,pins = "gpa0-2", "gpa0-3";
123 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
124 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
125 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
128 uart1_data: uart1-data {
129 samsung,pins = "gpa0-4", "gpa0-5";
130 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
131 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
132 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
135 uart1_fctl: uart1-fctl {
136 samsung,pins = "gpa0-6", "gpa0-7";
137 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
138 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
139 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
143 samsung,pins = "gpa0-6", "gpa0-7";
144 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
145 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
146 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
149 uart2_data: uart2-data {
150 samsung,pins = "gpa1-0", "gpa1-1";
151 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
152 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
153 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
157 samsung,pins = "gpa1-2", "gpa1-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>;
164 samsung,pins = "gpb-0", "gpb-2", "gpb-3";
165 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
166 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
167 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
171 samsung,pins = "gpb-0", "gpb-1";
172 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
173 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
174 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
178 samsung,pins = "gpb-4", "gpb-6", "gpb-7";
179 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
180 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
181 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
185 samsung,pins = "gpb-2", "gpb-3";
186 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
187 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
188 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
192 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
194 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
195 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
196 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
200 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
202 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
203 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
204 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
208 samsung,pins = "gpc1-3", "gpc1-4";
209 samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
210 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
211 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
215 samsung,pins = "gpd0-0";
216 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
217 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
218 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
222 samsung,pins = "gpd0-1";
223 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
224 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
225 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
229 samsung,pins = "gpd0-2", "gpd0-3";
230 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
231 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
232 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
236 samsung,pins = "gpd0-2";
237 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
238 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
239 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
243 samsung,pins = "gpd0-3";
244 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
245 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
246 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
250 samsung,pins = "gpd1-0", "gpd1-1";
251 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
252 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
253 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
256 mipi0_clk: mipi0-clk {
257 samsung,pins = "gpd1-0", "gpd1-1";
258 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
259 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
260 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
264 samsung,pins = "gpd1-2", "gpd1-3";
265 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
266 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
267 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
291 interrupt-controller;
292 #interrupt-cells = <2>;
299 interrupt-controller;
300 #interrupt-cells = <2>;
307 interrupt-controller;
308 #interrupt-cells = <2>;
315 interrupt-controller;
316 #interrupt-cells = <2>;
323 interrupt-controller;
324 #interrupt-cells = <2>;
331 interrupt-controller;
332 #interrupt-cells = <2>;
339 interrupt-controller;
340 #interrupt-cells = <2>;
347 interrupt-controller;
348 #interrupt-cells = <2>;
355 interrupt-controller;
356 #interrupt-cells = <2>;
363 interrupt-controller;
364 interrupt-parent = <&gic>;
365 interrupts = <0 32 0>, <0 33 0>, <0 34 0>, <0 35 0>,
366 <0 36 0>, <0 37 0>, <0 38 0>, <0 39 0>;
367 #interrupt-cells = <2>;
374 interrupt-controller;
375 interrupt-parent = <&gic>;
376 interrupts = <0 40 0>, <0 41 0>, <0 42 0>, <0 43 0>,
377 <0 44 0>, <0 45 0>, <0 46 0>, <0 47 0>;
378 #interrupt-cells = <2>;
385 interrupt-controller;
386 #interrupt-cells = <2>;
393 interrupt-controller;
394 #interrupt-cells = <2>;
398 samsung,pins = "gpk0-0";
399 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
400 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
401 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
405 samsung,pins = "gpk0-1";
406 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
407 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
408 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
412 samsung,pins = "gpk0-2";
413 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
414 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
415 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
419 samsung,pins = "gpk0-7";
420 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
421 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
422 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
425 sd0_bus1: sd0-bus-width1 {
426 samsung,pins = "gpk0-3";
427 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
428 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
429 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
432 sd0_bus4: sd0-bus-width4 {
433 samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6";
434 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
435 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
436 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
439 sd0_bus8: sd0-bus-width8 {
440 samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-3";
441 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
442 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
443 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
447 samsung,pins = "gpk1-0";
448 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
449 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
450 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
454 samsung,pins = "gpk1-1";
455 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
456 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
457 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
461 samsung,pins = "gpk1-2";
462 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
463 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
464 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
467 sd1_bus1: sd1-bus-width1 {
468 samsung,pins = "gpk1-3";
469 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
470 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
471 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
474 sd1_bus4: sd1-bus-width4 {
475 samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6";
476 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
477 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
478 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
482 samsung,pins = "gpk2-0";
483 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
484 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
485 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
489 samsung,pins = "gpk2-1";
490 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
491 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
492 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
496 samsung,pins = "gpk2-2";
497 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
498 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
499 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
502 sd2_bus1: sd2-bus-width1 {
503 samsung,pins = "gpk2-3";
504 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
505 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
506 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
509 sd2_bus4: sd2-bus-width4 {
510 samsung,pins = "gpk2-4", "gpk2-5", "gpk2-6";
511 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
512 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
513 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
516 cam_port_b_io: cam-port-b-io {
517 samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
518 "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
519 "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
520 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
521 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
522 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
525 cam_port_b_clk_active: cam-port-b-clk-active {
526 samsung,pins = "gpm2-2";
527 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
528 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
529 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
532 cam_port_b_clk_idle: cam-port-b-clk-idle {
533 samsung,pins = "gpm2-2";
534 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
535 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
536 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
539 fimc_is_i2c0: fimc-is-i2c0 {
540 samsung,pins = "gpm4-0", "gpm4-1";
541 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
542 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
543 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
546 fimc_is_i2c1: fimc-is-i2c1 {
547 samsung,pins = "gpm4-2", "gpm4-3";
548 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
549 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
550 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
553 fimc_is_uart: fimc-is-uart {
554 samsung,pins = "gpm3-5", "gpm3-7";
555 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
556 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
557 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;