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 = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
366 <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>,
367 <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
368 <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>,
369 <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>,
370 <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>,
371 <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
372 <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
373 #interrupt-cells = <2>;
380 interrupt-controller;
381 interrupt-parent = <&gic>;
382 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
383 <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
384 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>,
385 <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
386 <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>,
387 <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>,
388 <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>,
389 <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
390 #interrupt-cells = <2>;
397 interrupt-controller;
398 #interrupt-cells = <2>;
405 interrupt-controller;
406 #interrupt-cells = <2>;
410 samsung,pins = "gpk0-0";
411 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
412 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
413 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
417 samsung,pins = "gpk0-1";
418 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
419 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
420 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
424 samsung,pins = "gpk0-2";
425 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
426 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
427 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
431 samsung,pins = "gpk0-7";
432 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
433 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
434 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
437 sd0_bus1: sd0-bus-width1 {
438 samsung,pins = "gpk0-3";
439 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
440 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
441 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
444 sd0_bus4: sd0-bus-width4 {
445 samsung,pins = "gpk0-4", "gpk0-5", "gpk0-6";
446 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
447 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
448 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
451 sd0_bus8: sd0-bus-width8 {
452 samsung,pins = "gpl0-0", "gpl0-1", "gpl0-2", "gpl0-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>;
459 samsung,pins = "gpk1-0";
460 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
461 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
462 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
466 samsung,pins = "gpk1-1";
467 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
468 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
469 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
473 samsung,pins = "gpk1-2";
474 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
475 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
476 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
479 sd1_bus1: sd1-bus-width1 {
480 samsung,pins = "gpk1-3";
481 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
482 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
483 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
486 sd1_bus4: sd1-bus-width4 {
487 samsung,pins = "gpk1-4", "gpk1-5", "gpk1-6";
488 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
489 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
490 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
494 samsung,pins = "gpk2-0";
495 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
496 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
497 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
501 samsung,pins = "gpk2-1";
502 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
503 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
504 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
508 samsung,pins = "gpk2-2";
509 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
510 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
511 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
514 sd2_bus1: sd2-bus-width1 {
515 samsung,pins = "gpk2-3";
516 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
517 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
518 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
521 sd2_bus4: sd2-bus-width4 {
522 samsung,pins = "gpk2-4", "gpk2-5", "gpk2-6";
523 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
524 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
525 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
528 cam_port_b_io: cam-port-b-io {
529 samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
530 "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
531 "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
532 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
533 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
534 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
537 cam_port_b_clk_active: cam-port-b-clk-active {
538 samsung,pins = "gpm2-2";
539 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
540 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
541 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
544 cam_port_b_clk_idle: cam-port-b-clk-idle {
545 samsung,pins = "gpm2-2";
546 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
547 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
548 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
551 fimc_is_i2c0: fimc-is-i2c0 {
552 samsung,pins = "gpm4-0", "gpm4-1";
553 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
554 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
555 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
558 fimc_is_i2c1: fimc-is-i2c1 {
559 samsung,pins = "gpm4-2", "gpm4-3";
560 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
561 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
562 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
565 fimc_is_uart: fimc-is-uart {
566 samsung,pins = "gpm3-5", "gpm3-7";
567 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
568 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
569 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;