2 * Samsung's Exynos4x12 SoCs pin-mux and pin-config device tree source
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
7 * Samsung's Exynos4x12 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 #define PIN_PULL_NONE 0
16 #define PIN_PULL_DOWN 1
19 #define PIN_PDN_OUT0 0
20 #define PIN_PDN_OUT1 1
21 #define PIN_PDN_INPUT 2
22 #define PIN_PDN_PREV 3
24 #define PIN_SLP(_pin, _mode, _pull) \
26 samsung,pins = #_pin; \
27 samsung,pin-con-pdn = <PIN_PDN_ ##_mode>; \
28 samsung,pin-pud-pdn = <PIN_PULL_ ##_pull>; \
32 pinctrl_0: pinctrl@11400000 {
38 #interrupt-cells = <2>;
46 #interrupt-cells = <2>;
54 #interrupt-cells = <2>;
62 #interrupt-cells = <2>;
70 #interrupt-cells = <2>;
78 #interrupt-cells = <2>;
86 #interrupt-cells = <2>;
94 #interrupt-cells = <2>;
101 interrupt-controller;
102 #interrupt-cells = <2>;
109 interrupt-controller;
110 #interrupt-cells = <2>;
117 interrupt-controller;
118 #interrupt-cells = <2>;
125 interrupt-controller;
126 #interrupt-cells = <2>;
133 interrupt-controller;
134 #interrupt-cells = <2>;
137 uart0_data: uart0-data {
138 samsung,pins = "gpa0-0", "gpa0-1";
139 samsung,pin-function = <0x2>;
140 samsung,pin-pud = <0>;
141 samsung,pin-drv = <0>;
144 uart0_fctl: uart0-fctl {
145 samsung,pins = "gpa0-2", "gpa0-3";
146 samsung,pin-function = <2>;
147 samsung,pin-pud = <0>;
148 samsung,pin-drv = <0>;
151 uart1_data: uart1-data {
152 samsung,pins = "gpa0-4", "gpa0-5";
153 samsung,pin-function = <2>;
154 samsung,pin-pud = <0>;
155 samsung,pin-drv = <0>;
158 uart1_fctl: uart1-fctl {
159 samsung,pins = "gpa0-6", "gpa0-7";
160 samsung,pin-function = <2>;
161 samsung,pin-pud = <0>;
162 samsung,pin-drv = <0>;
166 samsung,pins = "gpa0-6", "gpa0-7";
167 samsung,pin-function = <3>;
168 samsung,pin-pud = <3>;
169 samsung,pin-drv = <0>;
172 uart2_data: uart2-data {
173 samsung,pins = "gpa1-0", "gpa1-1";
174 samsung,pin-function = <2>;
175 samsung,pin-pud = <0>;
176 samsung,pin-drv = <0>;
179 uart2_fctl: uart2-fctl {
180 samsung,pins = "gpa1-2", "gpa1-3";
181 samsung,pin-function = <2>;
182 samsung,pin-pud = <0>;
183 samsung,pin-drv = <0>;
186 uart_audio_a: uart-audio-a {
187 samsung,pins = "gpa1-0", "gpa1-1";
188 samsung,pin-function = <4>;
189 samsung,pin-pud = <0>;
190 samsung,pin-drv = <0>;
194 samsung,pins = "gpa1-2", "gpa1-3";
195 samsung,pin-function = <3>;
196 samsung,pin-pud = <3>;
197 samsung,pin-drv = <0>;
200 uart3_data: uart3-data {
201 samsung,pins = "gpa1-4", "gpa1-5";
202 samsung,pin-function = <2>;
203 samsung,pin-pud = <0>;
204 samsung,pin-drv = <0>;
207 uart_audio_b: uart-audio-b {
208 samsung,pins = "gpa1-4", "gpa1-5";
209 samsung,pin-function = <4>;
210 samsung,pin-pud = <0>;
211 samsung,pin-drv = <0>;
215 samsung,pins = "gpb-0", "gpb-2", "gpb-3";
216 samsung,pin-function = <2>;
217 samsung,pin-pud = <3>;
218 samsung,pin-drv = <0>;
222 samsung,pins = "gpb-0", "gpb-1";
223 samsung,pin-function = <3>;
224 samsung,pin-pud = <3>;
225 samsung,pin-drv = <0>;
229 samsung,pins = "gpb-4", "gpb-6", "gpb-7";
230 samsung,pin-function = <2>;
231 samsung,pin-pud = <3>;
232 samsung,pin-drv = <0>;
236 samsung,pins = "gpb-2", "gpb-3";
237 samsung,pin-function = <3>;
238 samsung,pin-pud = <3>;
239 samsung,pin-drv = <0>;
243 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
245 samsung,pin-function = <2>;
246 samsung,pin-pud = <0>;
247 samsung,pin-drv = <0>;
251 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
253 samsung,pin-function = <3>;
254 samsung,pin-pud = <0>;
255 samsung,pin-drv = <0>;
259 samsung,pins = "gpc0-0", "gpc0-1", "gpc0-2", "gpc0-3",
261 samsung,pin-function = <4>;
262 samsung,pin-pud = <0>;
263 samsung,pin-drv = <0>;
267 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
269 samsung,pin-function = <2>;
270 samsung,pin-pud = <0>;
271 samsung,pin-drv = <0>;
275 samsung,pins = "gpc1-0", "gpc1-1", "gpc1-2", "gpc1-3",
277 samsung,pin-function = <3>;
278 samsung,pin-pud = <0>;
279 samsung,pin-drv = <0>;
282 spdif_bus: spdif-bus {
283 samsung,pins = "gpc1-0", "gpc1-1";
284 samsung,pin-function = <4>;
285 samsung,pin-pud = <0>;
286 samsung,pin-drv = <0>;
290 samsung,pins = "gpc1-3", "gpc1-4";
291 samsung,pin-function = <4>;
292 samsung,pin-pud = <3>;
293 samsung,pin-drv = <0>;
297 samsung,pins = "gpc1-1", "gpc1-3", "gpc1-4";
298 samsung,pin-function = <5>;
299 samsung,pin-pud = <3>;
300 samsung,pin-drv = <0>;
304 samsung,pins = "gpd0-0";
305 samsung,pin-function = <2>;
306 samsung,pin-pud = <0>;
307 samsung,pin-drv = <0>;
311 samsung,pins = "gpd0-1";
312 samsung,pin-function = <2>;
313 samsung,pin-pud = <0>;
314 samsung,pin-drv = <0>;
318 samsung,pins = "gpd0-0", "gpd0-1";
319 samsung,pin-function = <3>;
320 samsung,pin-pud = <0>;
321 samsung,pin-drv = <0>;
325 samsung,pins = "gpd0-2", "gpd0-3";
326 samsung,pin-function = <3>;
327 samsung,pin-pud = <3>;
328 samsung,pin-drv = <0>;
332 samsung,pins = "gpd0-2";
333 samsung,pin-function = <2>;
334 samsung,pin-pud = <0>;
335 samsung,pin-drv = <0>;
339 samsung,pins = "gpd0-3";
340 samsung,pin-function = <2>;
341 samsung,pin-pud = <0>;
342 samsung,pin-drv = <0>;
346 samsung,pins = "gpd1-0", "gpd1-1";
347 samsung,pin-function = <2>;
348 samsung,pin-pud = <3>;
349 samsung,pin-drv = <0>;
352 mipi0_clk: mipi0-clk {
353 samsung,pins = "gpd1-0", "gpd1-1";
354 samsung,pin-function = <3>;
355 samsung,pin-pud = <0>;
356 samsung,pin-drv = <0>;
360 samsung,pins = "gpd1-2", "gpd1-3";
361 samsung,pin-function = <2>;
362 samsung,pin-pud = <3>;
363 samsung,pin-drv = <0>;
366 mipi1_clk: mipi1-clk {
367 samsung,pins = "gpd1-2", "gpd1-3";
368 samsung,pin-function = <3>;
369 samsung,pin-pud = <0>;
370 samsung,pin-drv = <0>;
374 samsung,pins = "gpf0-0", "gpf0-1", "gpf0-2", "gpf0-3";
375 samsung,pin-function = <2>;
376 samsung,pin-pud = <0>;
377 samsung,pin-drv = <0>;
380 lcd_data16: lcd-data-width16 {
381 samsung,pins = "gpf0-7", "gpf1-0", "gpf1-1", "gpf1-2",
382 "gpf1-3", "gpf1-6", "gpf1-7", "gpf2-0",
383 "gpf2-1", "gpf2-2", "gpf2-3", "gpf2-7",
384 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
385 samsung,pin-function = <2>;
386 samsung,pin-pud = <0>;
387 samsung,pin-drv = <0>;
390 lcd_data18: lcd-data-width18 {
391 samsung,pins = "gpf0-6", "gpf0-7", "gpf1-0", "gpf1-1",
392 "gpf1-2", "gpf1-3", "gpf1-6", "gpf1-7",
393 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
394 "gpf2-6", "gpf2-7", "gpf3-0", "gpf3-1",
396 samsung,pin-function = <2>;
397 samsung,pin-pud = <0>;
398 samsung,pin-drv = <0>;
401 lcd_data24: lcd-data-width24 {
402 samsung,pins = "gpf0-4", "gpf0-5", "gpf0-6", "gpf0-7",
403 "gpf1-0", "gpf1-1", "gpf1-2", "gpf1-3",
404 "gpf1-4", "gpf1-5", "gpf1-6", "gpf1-7",
405 "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3",
406 "gpf2-4", "gpf2-5", "gpf2-6", "gpf2-7",
407 "gpf3-0", "gpf3-1", "gpf3-2", "gpf3-3";
408 samsung,pin-function = <2>;
409 samsung,pin-pud = <0>;
410 samsung,pin-drv = <0>;
414 samsung,pins = "gpf3-4";
415 samsung,pin-function = <2>;
416 samsung,pin-pud = <0>;
417 samsung,pin-drv = <0>;
420 cam_port_a_io: cam-port-a-io {
421 samsung,pins = "gpj0-0", "gpj0-1", "gpj0-2", "gpj0-3",
422 "gpj0-4", "gpj0-5", "gpj0-6", "gpj0-7",
423 "gpj1-0", "gpj1-1", "gpj1-2", "gpj1-4";
424 samsung,pin-function = <2>;
425 samsung,pin-pud = <0>;
426 samsung,pin-drv = <0>;
429 cam_port_a_clk_active: cam-port-a-clk-active {
430 samsung,pins = "gpj1-3";
431 samsung,pin-function = <2>;
432 samsung,pin-pud = <0>;
433 samsung,pin-drv = <3>;
436 cam_port_a_clk_idle: cam-port-a-clk-idle {
437 samsung,pins = "gpj1-3";
438 samsung,pin-function = <0>;
439 samsung,pin-pud = <1>;
440 samsung,pin-drv = <0>;
444 pinctrl_1: pinctrl@11000000 {
449 interrupt-controller;
450 #interrupt-cells = <2>;
457 interrupt-controller;
458 #interrupt-cells = <2>;
465 interrupt-controller;
466 #interrupt-cells = <2>;
473 interrupt-controller;
474 #interrupt-cells = <2>;
481 interrupt-controller;
482 #interrupt-cells = <2>;
489 interrupt-controller;
490 #interrupt-cells = <2>;
497 interrupt-controller;
498 #interrupt-cells = <2>;
505 interrupt-controller;
506 #interrupt-cells = <2>;
513 interrupt-controller;
514 #interrupt-cells = <2>;
521 interrupt-controller;
522 #interrupt-cells = <2>;
529 interrupt-controller;
530 #interrupt-cells = <2>;
537 interrupt-controller;
538 #interrupt-cells = <2>;
580 interrupt-controller;
581 interrupt-parent = <&gic>;
582 interrupts = <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,
583 <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>;
584 #interrupt-cells = <2>;
591 interrupt-controller;
592 interrupt-parent = <&gic>;
593 interrupts = <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
594 <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>;
595 #interrupt-cells = <2>;
602 interrupt-controller;
603 #interrupt-cells = <2>;
610 interrupt-controller;
611 #interrupt-cells = <2>;
615 samsung,pins = "gpk0-0";
616 samsung,pin-function = <2>;
617 samsung,pin-pud = <0>;
618 samsung,pin-drv = <3>;
622 samsung,pins = "gpk0-1";
623 samsung,pin-function = <2>;
624 samsung,pin-pud = <0>;
625 samsung,pin-drv = <3>;
629 samsung,pins = "gpk0-2";
630 samsung,pin-function = <2>;
631 samsung,pin-pud = <3>;
632 samsung,pin-drv = <3>;
635 sd0_bus1: sd0-bus-width1 {
636 samsung,pins = "gpk0-3";
637 samsung,pin-function = <2>;
638 samsung,pin-pud = <3>;
639 samsung,pin-drv = <3>;
642 sd0_bus4: sd0-bus-width4 {
643 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
644 samsung,pin-function = <2>;
645 samsung,pin-pud = <3>;
646 samsung,pin-drv = <3>;
649 sd0_bus8: sd0-bus-width8 {
650 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
651 samsung,pin-function = <3>;
652 samsung,pin-pud = <3>;
653 samsung,pin-drv = <3>;
657 samsung,pins = "gpk0-0";
658 samsung,pin-function = <3>;
659 samsung,pin-pud = <0>;
660 samsung,pin-drv = <3>;
664 samsung,pins = "gpk0-1";
665 samsung,pin-function = <3>;
666 samsung,pin-pud = <0>;
667 samsung,pin-drv = <3>;
671 samsung,pins = "gpk0-2";
672 samsung,pin-function = <3>;
673 samsung,pin-pud = <3>;
674 samsung,pin-drv = <3>;
677 sd4_bus1: sd4-bus-width1 {
678 samsung,pins = "gpk0-3";
679 samsung,pin-function = <3>;
680 samsung,pin-pud = <3>;
681 samsung,pin-drv = <3>;
684 sd4_bus4: sd4-bus-width4 {
685 samsung,pins = "gpk0-3", "gpk0-4", "gpk0-5", "gpk0-6";
686 samsung,pin-function = <3>;
687 samsung,pin-pud = <3>;
688 samsung,pin-drv = <3>;
691 sd4_bus8: sd4-bus-width8 {
692 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
693 samsung,pin-function = <4>;
694 samsung,pin-pud = <3>;
695 samsung,pin-drv = <3>;
699 samsung,pins = "gpk1-0";
700 samsung,pin-function = <2>;
701 samsung,pin-pud = <0>;
702 samsung,pin-drv = <3>;
706 samsung,pins = "gpk1-1";
707 samsung,pin-function = <2>;
708 samsung,pin-pud = <0>;
709 samsung,pin-drv = <3>;
713 samsung,pins = "gpk1-2";
714 samsung,pin-function = <2>;
715 samsung,pin-pud = <3>;
716 samsung,pin-drv = <3>;
719 sd1_bus1: sd1-bus-width1 {
720 samsung,pins = "gpk1-3";
721 samsung,pin-function = <2>;
722 samsung,pin-pud = <3>;
723 samsung,pin-drv = <3>;
726 sd1_bus4: sd1-bus-width4 {
727 samsung,pins = "gpk1-3", "gpk1-4", "gpk1-5", "gpk1-6";
728 samsung,pin-function = <2>;
729 samsung,pin-pud = <3>;
730 samsung,pin-drv = <3>;
734 samsung,pins = "gpk2-0";
735 samsung,pin-function = <2>;
736 samsung,pin-pud = <0>;
737 samsung,pin-drv = <3>;
741 samsung,pins = "gpk2-1";
742 samsung,pin-function = <2>;
743 samsung,pin-pud = <0>;
744 samsung,pin-drv = <3>;
748 samsung,pins = "gpk2-2";
749 samsung,pin-function = <2>;
750 samsung,pin-pud = <3>;
751 samsung,pin-drv = <3>;
754 sd2_bus1: sd2-bus-width1 {
755 samsung,pins = "gpk2-3";
756 samsung,pin-function = <2>;
757 samsung,pin-pud = <3>;
758 samsung,pin-drv = <3>;
761 sd2_bus4: sd2-bus-width4 {
762 samsung,pins = "gpk2-3", "gpk2-4", "gpk2-5", "gpk2-6";
763 samsung,pin-function = <2>;
764 samsung,pin-pud = <3>;
765 samsung,pin-drv = <3>;
768 sd2_bus8: sd2-bus-width8 {
769 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
770 samsung,pin-function = <3>;
771 samsung,pin-pud = <3>;
772 samsung,pin-drv = <3>;
776 samsung,pins = "gpk3-0";
777 samsung,pin-function = <2>;
778 samsung,pin-pud = <0>;
779 samsung,pin-drv = <3>;
783 samsung,pins = "gpk3-1";
784 samsung,pin-function = <2>;
785 samsung,pin-pud = <0>;
786 samsung,pin-drv = <3>;
790 samsung,pins = "gpk3-2";
791 samsung,pin-function = <2>;
792 samsung,pin-pud = <3>;
793 samsung,pin-drv = <3>;
796 sd3_bus1: sd3-bus-width1 {
797 samsung,pins = "gpk3-3";
798 samsung,pin-function = <2>;
799 samsung,pin-pud = <3>;
800 samsung,pin-drv = <3>;
803 sd3_bus4: sd3-bus-width4 {
804 samsung,pins = "gpk3-3", "gpk3-4", "gpk3-5", "gpk3-6";
805 samsung,pin-function = <2>;
806 samsung,pin-pud = <3>;
807 samsung,pin-drv = <3>;
810 cam_port_b_io: cam-port-b-io {
811 samsung,pins = "gpm0-0", "gpm0-1", "gpm0-2", "gpm0-3",
812 "gpm0-4", "gpm0-5", "gpm0-6", "gpm0-7",
813 "gpm1-0", "gpm1-1", "gpm2-0", "gpm2-1";
814 samsung,pin-function = <3>;
815 samsung,pin-pud = <3>;
816 samsung,pin-drv = <0>;
819 cam_port_b_clk_active: cam-port-b-clk-active {
820 samsung,pins = "gpm2-2";
821 samsung,pin-function = <3>;
822 samsung,pin-pud = <0>;
823 samsung,pin-drv = <3>;
826 cam_port_b_clk_idle: cam-port-b-clk-idle {
827 samsung,pins = "gpm2-2";
828 samsung,pin-function = <0>;
829 samsung,pin-pud = <1>;
830 samsung,pin-drv = <0>;
834 samsung,pins = "gpx0-0";
835 samsung,pin-function = <0xf>;
836 samsung,pin-pud = <0>;
837 samsung,pin-drv = <0>;
841 samsung,pins = "gpx1-0";
842 samsung,pin-function = <0xf>;
843 samsung,pin-pud = <0>;
844 samsung,pin-drv = <0>;
848 samsung,pins = "gpx1-7";
849 samsung,pin-function = <0xf>;
850 samsung,pin-pud = <0>;
851 samsung,pin-drv = <0>;
855 samsung,pins = "gpx2-0";
856 samsung,pin-function = <0xf>;
857 samsung,pin-pud = <0>;
858 samsung,pin-drv = <0>;
862 samsung,pins = "gpx3-7";
863 samsung,pin-function = <0xf>;
864 samsung,pin-pud = <0>;
865 samsung,pin-drv = <0>;
868 fimc_is_i2c0: fimc-is-i2c0 {
869 samsung,pins = "gpm4-0", "gpm4-1";
870 samsung,pin-function = <2>;
871 samsung,pin-pud = <0>;
872 samsung,pin-drv = <0>;
875 fimc_is_i2c1: fimc-is-i2c1 {
876 samsung,pins = "gpm4-2", "gpm4-3";
877 samsung,pin-function = <2>;
878 samsung,pin-pud = <0>;
879 samsung,pin-drv = <0>;
882 fimc_is_uart: fimc-is-uart {
883 samsung,pins = "gpm3-5", "gpm3-7";
884 samsung,pin-function = <3>;
885 samsung,pin-pud = <0>;
886 samsung,pin-drv = <0>;
890 pinctrl_2: pinctrl@03860000 {
895 interrupt-controller;
896 #interrupt-cells = <2>;
900 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
901 "gpz-4", "gpz-5", "gpz-6";
902 samsung,pin-function = <0x2>;
903 samsung,pin-pud = <0>;
904 samsung,pin-drv = <0>;
908 samsung,pins = "gpz-0", "gpz-1", "gpz-2", "gpz-3",
910 samsung,pin-function = <0x3>;
911 samsung,pin-pud = <0>;
912 samsung,pin-drv = <0>;
916 pinctrl_3: pinctrl@106E0000 {
921 interrupt-controller;
922 #interrupt-cells = <2>;
929 interrupt-controller;
930 #interrupt-cells = <2>;
937 interrupt-controller;
938 #interrupt-cells = <2>;
945 interrupt-controller;
946 #interrupt-cells = <2>;
953 interrupt-controller;
954 #interrupt-cells = <2>;
958 samsung,pins = "gpv0-0", "gpv0-1", "gpv0-2", "gpv0-3",
959 "gpv0-4", "gpv0-5", "gpv0-6", "gpv0-7",
960 "gpv1-0", "gpv1-1", "gpv1-2", "gpv1-3",
961 "gpv1-4", "gpv1-5", "gpv1-6", "gpv1-7",
962 "gpv2-0", "gpv2-1", "gpv2-2", "gpv2-3",
963 "gpv2-4", "gpv2-5", "gpv2-6", "gpv2-7",
964 "gpv3-0", "gpv3-1", "gpv3-2", "gpv3-3",
965 "gpv3-4", "gpv3-5", "gpv3-6", "gpv3-7",
967 samsung,pin-function = <0x2>;
968 samsung,pin-pud = <0>;
969 samsung,pin-drv = <0>;