aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomasz Figa <tomasz.figa@gmail.com>2013-08-25 13:37:59 -0400
committerKukjin Kim <kgene.kim@samsung.com>2013-09-16 17:48:28 -0400
commit4961cfd508357bf7c3d9c0198cdfc471724fb75f (patch)
treed9bb21ff3c26630874fca65abd6ea8f81bfc80d5
parent31e4001d2e3c3f2d3b544c9891d542ee3502798e (diff)
ARM: dts: Add basic dts include files for Samsung S3C64xx SoCs
This patch adds basic device tree definitions for Samsung S3C64xx SoCs. Since all the SoCs in the series are very similar, the files are created hierarchically - one file for the whole series and then separate files for particular SoCs including the common one. Signed-off-by: Tomasz Figa <tomasz.figa@gmail.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r--arch/arm/boot/dts/s3c6400.dtsi41
-rw-r--r--arch/arm/boot/dts/s3c6410.dtsi57
-rw-r--r--arch/arm/boot/dts/s3c64xx-pinctrl.dtsi687
-rw-r--r--arch/arm/boot/dts/s3c64xx.dtsi199
4 files changed, 984 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/s3c6400.dtsi b/arch/arm/boot/dts/s3c6400.dtsi
new file mode 100644
index 000000000000..a7d1c8ec150d
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6400.dtsi
@@ -0,0 +1,41 @@
1/*
2 * Samsung's S3C6400 SoC device tree source
3 *
4 * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
5 *
6 * Samsung's S3C6400 SoC device nodes are listed in this file. S3C6400
7 * based board files can include this file and provide values for board specfic
8 * bindings.
9 *
10 * Note: This file does not include device nodes for all the controllers in
11 * S3C6400 SoC. As device tree coverage for S3C6400 increases, additional
12 * nodes can be added to this file.
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License version 2 as
16 * published by the Free Software Foundation.
17*/
18
19#include "s3c64xx.dtsi"
20
21/ {
22 compatible = "samsung,s3c6400";
23};
24
25&vic0 {
26 valid-mask = <0xfffffe1f>;
27 valid-wakeup-mask = <0x00200004>;
28};
29
30&vic1 {
31 valid-mask = <0xffffffff>;
32 valid-wakeup-mask = <0x53020000>;
33};
34
35&soc {
36 clocks: clock-controller@7e00f000 {
37 compatible = "samsung,s3c6400-clock";
38 reg = <0x7e00f000 0x1000>;
39 #clock-cells = <1>;
40 };
41};
diff --git a/arch/arm/boot/dts/s3c6410.dtsi b/arch/arm/boot/dts/s3c6410.dtsi
new file mode 100644
index 000000000000..eb4226b3407c
--- /dev/null
+++ b/arch/arm/boot/dts/s3c6410.dtsi
@@ -0,0 +1,57 @@
1/*
2 * Samsung's S3C6410 SoC device tree source
3 *
4 * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
5 *
6 * Samsung's S3C6410 SoC device nodes are listed in this file. S3C6410
7 * based board files can include this file and provide values for board specfic
8 * bindings.
9 *
10 * Note: This file does not include device nodes for all the controllers in
11 * S3C6410 SoC. As device tree coverage for S3C6410 increases, additional
12 * nodes can be added to this file.
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License version 2 as
16 * published by the Free Software Foundation.
17*/
18
19#include "s3c64xx.dtsi"
20
21/ {
22 compatible = "samsung,s3c6410";
23
24 aliases {
25 i2c1 = &i2c1;
26 };
27};
28
29&vic0 {
30 valid-mask = <0xffffff7f>;
31 valid-wakeup-mask = <0x00200004>;
32};
33
34&vic1 {
35 valid-mask = <0xffffffff>;
36 valid-wakeup-mask = <0x53020000>;
37};
38
39&soc {
40 clocks: clock-controller@7e00f000 {
41 compatible = "samsung,s3c6410-clock";
42 reg = <0x7e00f000 0x1000>;
43 #clock-cells = <1>;
44 };
45
46 i2c1: i2c@7f00f000 {
47 compatible = "samsung,s3c2440-i2c";
48 reg = <0x7f00f000 0x1000>;
49 interrupt-parent = <&vic0>;
50 interrupts = <5>;
51 clock-names = "i2c";
52 clocks = <&clocks PCLK_IIC1>;
53 status = "disabled";
54 #address-cells = <1>;
55 #size-cells = <0>;
56 };
57};
diff --git a/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
new file mode 100644
index 000000000000..b1197d8b04de
--- /dev/null
+++ b/arch/arm/boot/dts/s3c64xx-pinctrl.dtsi
@@ -0,0 +1,687 @@
1/*
2 * Samsung's S3C64xx SoC series common device tree source
3 * - pin control-related definitions
4 *
5 * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
6 *
7 * Samsung's S3C64xx SoCs pin banks, pin-mux and pin-config options are
8 * listed as device tree nodes in this file.
9 *
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.
13 */
14
15#define PIN_PULL_NONE 0
16#define PIN_PULL_DOWN 1
17#define PIN_PULL_UP 2
18
19&pinctrl0 {
20 /*
21 * Pin banks
22 */
23
24 gpa: gpa {
25 gpio-controller;
26 #gpio-cells = <2>;
27 interrupt-controller;
28 #interrupt-cells = <2>;
29 };
30
31 gpb: gpb {
32 gpio-controller;
33 #gpio-cells = <2>;
34 interrupt-controller;
35 #interrupt-cells = <2>;
36 };
37
38 gpc: gpc {
39 gpio-controller;
40 #gpio-cells = <2>;
41 interrupt-controller;
42 #interrupt-cells = <2>;
43 };
44
45 gpd: gpd {
46 gpio-controller;
47 #gpio-cells = <2>;
48 interrupt-controller;
49 #interrupt-cells = <2>;
50 };
51
52 gpe: gpe {
53 gpio-controller;
54 #gpio-cells = <2>;
55 };
56
57 gpf: gpf {
58 gpio-controller;
59 #gpio-cells = <2>;
60 interrupt-controller;
61 #interrupt-cells = <2>;
62 };
63
64 gpg: gpg {
65 gpio-controller;
66 #gpio-cells = <2>;
67 interrupt-controller;
68 #interrupt-cells = <2>;
69 };
70
71 gph: gph {
72 gpio-controller;
73 #gpio-cells = <2>;
74 interrupt-controller;
75 #interrupt-cells = <2>;
76 };
77
78 gpi: gpi {
79 gpio-controller;
80 #gpio-cells = <2>;
81 };
82
83 gpj: gpj {
84 gpio-controller;
85 #gpio-cells = <2>;
86 };
87
88 gpk: gpk {
89 gpio-controller;
90 #gpio-cells = <2>;
91 };
92
93 gpl: gpl {
94 gpio-controller;
95 #gpio-cells = <2>;
96 interrupt-controller;
97 #interrupt-cells = <2>;
98 };
99
100 gpm: gpm {
101 gpio-controller;
102 #gpio-cells = <2>;
103 interrupt-controller;
104 #interrupt-cells = <2>;
105 };
106
107 gpn: gpn {
108 gpio-controller;
109 #gpio-cells = <2>;
110 interrupt-controller;
111 #interrupt-cells = <2>;
112 };
113
114 gpo: gpo {
115 gpio-controller;
116 #gpio-cells = <2>;
117 interrupt-controller;
118 #interrupt-cells = <2>;
119 };
120
121 gpp: gpp {
122 gpio-controller;
123 #gpio-cells = <2>;
124 interrupt-controller;
125 #interrupt-cells = <2>;
126 };
127
128 gpq: gpq {
129 gpio-controller;
130 #gpio-cells = <2>;
131 interrupt-controller;
132 #interrupt-cells = <2>;
133 };
134
135 /*
136 * Pin groups
137 */
138
139 uart0_data: uart0-data {
140 samsung,pins = "gpa-0", "gpa-1";
141 samsung,pin-function = <2>;
142 samsung,pin-pud = <PIN_PULL_NONE>;
143 };
144
145 uart0_fctl: uart0-fctl {
146 samsung,pins = "gpa-2", "gpa-3";
147 samsung,pin-function = <2>;
148 samsung,pin-pud = <PIN_PULL_NONE>;
149 };
150
151 uart1_data: uart1-data {
152 samsung,pins = "gpa-4", "gpa-5";
153 samsung,pin-function = <2>;
154 samsung,pin-pud = <PIN_PULL_NONE>;
155 };
156
157 uart1_fctl: uart1-fctl {
158 samsung,pins = "gpa-6", "gpa-7";
159 samsung,pin-function = <2>;
160 samsung,pin-pud = <PIN_PULL_NONE>;
161 };
162
163 uart2_data: uart2-data {
164 samsung,pins = "gpb-0", "gpb-1";
165 samsung,pin-function = <2>;
166 samsung,pin-pud = <PIN_PULL_NONE>;
167 };
168
169 uart3_data: uart3-data {
170 samsung,pins = "gpb-2", "gpb-3";
171 samsung,pin-function = <2>;
172 samsung,pin-pud = <PIN_PULL_NONE>;
173 };
174
175 ext_dma_0: ext-dma-0 {
176 samsung,pins = "gpb-0", "gpb-1";
177 samsung,pin-function = <3>;
178 samsung,pin-pud = <PIN_PULL_NONE>;
179 };
180
181 ext_dma_1: ext-dma-1 {
182 samsung,pins = "gpb-2", "gpb-3";
183 samsung,pin-function = <4>;
184 samsung,pin-pud = <PIN_PULL_NONE>;
185 };
186
187 irda_data_0: irda-data-0 {
188 samsung,pins = "gpb-0", "gpb-1";
189 samsung,pin-function = <4>;
190 samsung,pin-pud = <PIN_PULL_NONE>;
191 };
192
193 irda_data_1: irda-data-1 {
194 samsung,pins = "gpb-2", "gpb-3";
195 samsung,pin-function = <3>;
196 samsung,pin-pud = <PIN_PULL_NONE>;
197 };
198
199 irda_sdbw: irda-sdbw {
200 samsung,pins = "gpb-4";
201 samsung,pin-function = <2>;
202 samsung,pin-pud = <PIN_PULL_NONE>;
203 };
204
205 i2c0_bus: i2c0-bus {
206 samsung,pins = "gpb-5", "gpb-6";
207 samsung,pin-function = <2>;
208 samsung,pin-pud = <PIN_PULL_UP>;
209 };
210
211 i2c1_bus: i2c1-bus {
212 /* S3C6410-only */
213 samsung,pins = "gpb-2", "gpb-3";
214 samsung,pin-function = <6>;
215 samsung,pin-pud = <PIN_PULL_UP>;
216 };
217
218 spi0_bus: spi0-bus {
219 samsung,pins = "gpc-0", "gpc-1", "gpc-2";
220 samsung,pin-function = <2>;
221 samsung,pin-pud = <PIN_PULL_UP>;
222 };
223
224 spi0_cs: spi0-cs {
225 samsung,pins = "gpc-3";
226 samsung,pin-function = <2>;
227 samsung,pin-pud = <PIN_PULL_NONE>;
228 };
229
230 spi1_bus: spi1-bus {
231 samsung,pins = "gpc-4", "gpc-5", "gpc-6";
232 samsung,pin-function = <2>;
233 samsung,pin-pud = <PIN_PULL_UP>;
234 };
235
236 spi1_cs: spi1-cs {
237 samsung,pins = "gpc-7";
238 samsung,pin-function = <2>;
239 samsung,pin-pud = <PIN_PULL_NONE>;
240 };
241
242 sd0_cmd: sd0-cmd {
243 samsung,pins = "gpg-1";
244 samsung,pin-function = <2>;
245 samsung,pin-pud = <PIN_PULL_NONE>;
246 };
247
248 sd0_clk: sd0-clk {
249 samsung,pins = "gpg-0";
250 samsung,pin-function = <2>;
251 samsung,pin-pud = <PIN_PULL_NONE>;
252 };
253
254 sd0_bus1: sd0-bus1 {
255 samsung,pins = "gpg-2";
256 samsung,pin-function = <2>;
257 samsung,pin-pud = <PIN_PULL_NONE>;
258 };
259
260 sd0_bus4: sd0-bus4 {
261 samsung,pins = "gpg-2", "gpg-3", "gpg-4", "gpg-5";
262 samsung,pin-function = <2>;
263 samsung,pin-pud = <PIN_PULL_NONE>;
264 };
265
266 sd0_cd: sd0-cd {
267 samsung,pins = "gpg-6";
268 samsung,pin-function = <2>;
269 samsung,pin-pud = <PIN_PULL_UP>;
270 };
271
272 sd1_cmd: sd1-cmd {
273 samsung,pins = "gph-1";
274 samsung,pin-function = <2>;
275 samsung,pin-pud = <PIN_PULL_NONE>;
276 };
277
278 sd1_clk: sd1-clk {
279 samsung,pins = "gph-0";
280 samsung,pin-function = <2>;
281 samsung,pin-pud = <PIN_PULL_NONE>;
282 };
283
284 sd1_bus1: sd1-bus1 {
285 samsung,pins = "gph-2";
286 samsung,pin-function = <2>;
287 samsung,pin-pud = <PIN_PULL_NONE>;
288 };
289
290 sd1_bus4: sd1-bus4 {
291 samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5";
292 samsung,pin-function = <2>;
293 samsung,pin-pud = <PIN_PULL_NONE>;
294 };
295
296 sd1_bus8: sd1-bus8 {
297 samsung,pins = "gph-2", "gph-3", "gph-4", "gph-5",
298 "gph-6", "gph-7", "gph-8", "gph-9";
299 samsung,pin-function = <2>;
300 samsung,pin-pud = <PIN_PULL_NONE>;
301 };
302
303 sd1_cd: sd1-cd {
304 samsung,pins = "gpg-6";
305 samsung,pin-function = <3>;
306 samsung,pin-pud = <PIN_PULL_UP>;
307 };
308
309 sd2_cmd: sd2-cmd {
310 samsung,pins = "gpc-4";
311 samsung,pin-function = <3>;
312 samsung,pin-pud = <PIN_PULL_NONE>;
313 };
314
315 sd2_clk: sd2-clk {
316 samsung,pins = "gpc-5";
317 samsung,pin-function = <3>;
318 samsung,pin-pud = <PIN_PULL_NONE>;
319 };
320
321 sd2_bus1: sd2-bus1 {
322 samsung,pins = "gph-6";
323 samsung,pin-function = <3>;
324 samsung,pin-pud = <PIN_PULL_NONE>;
325 };
326
327 sd2_bus4: sd2-bus4 {
328 samsung,pins = "gph-6", "gph-7", "gph-8", "gph-9";
329 samsung,pin-function = <3>;
330 samsung,pin-pud = <PIN_PULL_NONE>;
331 };
332
333 i2s0_bus: i2s0-bus {
334 samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4";
335 samsung,pin-function = <3>;
336 samsung,pin-pud = <PIN_PULL_NONE>;
337 };
338
339 i2s0_cdclk: i2s0-cdclk {
340 samsung,pins = "gpd-1";
341 samsung,pin-function = <3>;
342 samsung,pin-pud = <PIN_PULL_NONE>;
343 };
344
345 i2s1_bus: i2s1-bus {
346 samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4";
347 samsung,pin-function = <3>;
348 samsung,pin-pud = <PIN_PULL_NONE>;
349 };
350
351 i2s1_cdclk: i2s1-cdclk {
352 samsung,pins = "gpe-1";
353 samsung,pin-function = <3>;
354 samsung,pin-pud = <PIN_PULL_NONE>;
355 };
356
357 i2s2_bus: i2s2-bus {
358 /* S3C6410-only */
359 samsung,pins = "gpc-4", "gpc-5", "gpc-6", "gph-6",
360 "gph-8", "gph-9";
361 samsung,pin-function = <5>;
362 samsung,pin-pud = <PIN_PULL_NONE>;
363 };
364
365 i2s2_cdclk: i2s2-cdclk {
366 /* S3C6410-only */
367 samsung,pins = "gph-7";
368 samsung,pin-function = <5>;
369 samsung,pin-pud = <PIN_PULL_NONE>;
370 };
371
372 pcm0_bus: pcm0-bus {
373 samsung,pins = "gpd-0", "gpd-2", "gpd-3", "gpd-4";
374 samsung,pin-function = <2>;
375 samsung,pin-pud = <PIN_PULL_NONE>;
376 };
377
378 pcm0_extclk: pcm0-extclk {
379 samsung,pins = "gpd-1";
380 samsung,pin-function = <2>;
381 samsung,pin-pud = <PIN_PULL_NONE>;
382 };
383
384 pcm1_bus: pcm1-bus {
385 samsung,pins = "gpe-0", "gpe-2", "gpe-3", "gpe-4";
386 samsung,pin-function = <2>;
387 samsung,pin-pud = <PIN_PULL_NONE>;
388 };
389
390 pcm1_extclk: pcm1-extclk {
391 samsung,pins = "gpe-1";
392 samsung,pin-function = <2>;
393 samsung,pin-pud = <PIN_PULL_NONE>;
394 };
395
396 ac97_bus_0: ac97-bus-0 {
397 samsung,pins = "gpd-0", "gpd-1", "gpd-2", "gpd-3", "gpd-4";
398 samsung,pin-function = <4>;
399 samsung,pin-pud = <PIN_PULL_NONE>;
400 };
401
402 ac97_bus_1: ac97-bus-1 {
403 samsung,pins = "gpe-0", "gpe-1", "gpe-2", "gpe-3", "gpe-4";
404 samsung,pin-function = <4>;
405 samsung,pin-pud = <PIN_PULL_NONE>;
406 };
407
408 cam_port: cam-port {
409 samsung,pins = "gpf-0", "gpf-1", "gpf-2", "gpf-4",
410 "gpf-5", "gpf-6", "gpf-7", "gpf-8",
411 "gpf-9", "gpf-10", "gpf-11", "gpf-12";
412 samsung,pin-function = <2>;
413 samsung,pin-pud = <PIN_PULL_NONE>;
414 };
415
416 cam_rst: cam-rst {
417 samsung,pins = "gpf-3";
418 samsung,pin-function = <2>;
419 samsung,pin-pud = <PIN_PULL_NONE>;
420 };
421
422 cam_field: cam-field {
423 /* S3C6410-only */
424 samsung,pins = "gpb-4";
425 samsung,pin-function = <3>;
426 samsung,pin-pud = <PIN_PULL_NONE>;
427 };
428
429 pwm_extclk: pwm-extclk {
430 samsung,pins = "gpf-13";
431 samsung,pin-function = <2>;
432 samsung,pin-pud = <PIN_PULL_NONE>;
433 };
434
435 pwm0_out: pwm0-out {
436 samsung,pins = "gpf-14";
437 samsung,pin-function = <2>;
438 samsung,pin-pud = <PIN_PULL_NONE>;
439 };
440
441 pwm1_out: pwm1-out {
442 samsung,pins = "gpf-15";
443 samsung,pin-function = <2>;
444 samsung,pin-pud = <PIN_PULL_NONE>;
445 };
446
447 clkout0: clkout-0 {
448 samsung,pins = "gpf-14";
449 samsung,pin-function = <3>;
450 samsung,pin-pud = <PIN_PULL_NONE>;
451 };
452
453 keypad_col0_0: keypad-col0-0 {
454 samsung,pins = "gph-0";
455 samsung,pin-function = <4>;
456 samsung,pin-pud = <PIN_PULL_NONE>;
457 };
458
459 keypad_col1_0: keypad-col1-0 {
460 samsung,pins = "gph-1";
461 samsung,pin-function = <4>;
462 samsung,pin-pud = <PIN_PULL_NONE>;
463 };
464
465 keypad_col2_0: keypad-col2-0 {
466 samsung,pins = "gph-2";
467 samsung,pin-function = <4>;
468 samsung,pin-pud = <PIN_PULL_NONE>;
469 };
470
471 keypad_col3_0: keypad-col3-0 {
472 samsung,pins = "gph-3";
473 samsung,pin-function = <4>;
474 samsung,pin-pud = <PIN_PULL_NONE>;
475 };
476
477 keypad_col4_0: keypad-col4-0 {
478 samsung,pins = "gph-4";
479 samsung,pin-function = <4>;
480 samsung,pin-pud = <PIN_PULL_NONE>;
481 };
482
483 keypad_col5_0: keypad-col5-0 {
484 samsung,pins = "gph-5";
485 samsung,pin-function = <4>;
486 samsung,pin-pud = <PIN_PULL_NONE>;
487 };
488
489 keypad_col6_0: keypad-col6-0 {
490 samsung,pins = "gph-6";
491 samsung,pin-function = <4>;
492 samsung,pin-pud = <PIN_PULL_NONE>;
493 };
494
495 keypad_col7_0: keypad-col7-0 {
496 samsung,pins = "gph-7";
497 samsung,pin-function = <4>;
498 samsung,pin-pud = <PIN_PULL_NONE>;
499 };
500
501 keypad_col0_1: keypad-col0-1 {
502 samsung,pins = "gpl-0";
503 samsung,pin-function = <3>;
504 samsung,pin-pud = <PIN_PULL_NONE>;
505 };
506
507 keypad_col1_1: keypad-col1-1 {
508 samsung,pins = "gpl-1";
509 samsung,pin-function = <3>;
510 samsung,pin-pud = <PIN_PULL_NONE>;
511 };
512
513 keypad_col2_1: keypad-col2-1 {
514 samsung,pins = "gpl-2";
515 samsung,pin-function = <3>;
516 samsung,pin-pud = <PIN_PULL_NONE>;
517 };
518
519 keypad_col3_1: keypad-col3-1 {
520 samsung,pins = "gpl-3";
521 samsung,pin-function = <3>;
522 samsung,pin-pud = <PIN_PULL_NONE>;
523 };
524
525 keypad_col4_1: keypad-col4-1 {
526 samsung,pins = "gpl-4";
527 samsung,pin-function = <3>;
528 samsung,pin-pud = <PIN_PULL_NONE>;
529 };
530
531 keypad_col5_1: keypad-col5-1 {
532 samsung,pins = "gpl-5";
533 samsung,pin-function = <3>;
534 samsung,pin-pud = <PIN_PULL_NONE>;
535 };
536
537 keypad_col6_1: keypad-col6-1 {
538 samsung,pins = "gpl-6";
539 samsung,pin-function = <3>;
540 samsung,pin-pud = <PIN_PULL_NONE>;
541 };
542
543 keypad_col7_1: keypad-col7-1 {
544 samsung,pins = "gpl-7";
545 samsung,pin-function = <3>;
546 samsung,pin-pud = <PIN_PULL_NONE>;
547 };
548
549 keypad_row0_0: keypad-row0-0 {
550 samsung,pins = "gpk-8";
551 samsung,pin-function = <3>;
552 samsung,pin-pud = <PIN_PULL_NONE>;
553 };
554
555 keypad_row1_0: keypad-row1-0 {
556 samsung,pins = "gpk-9";
557 samsung,pin-function = <3>;
558 samsung,pin-pud = <PIN_PULL_NONE>;
559 };
560
561 keypad_row2_0: keypad-row2-0 {
562 samsung,pins = "gpk-10";
563 samsung,pin-function = <3>;
564 samsung,pin-pud = <PIN_PULL_NONE>;
565 };
566
567 keypad_row3_0: keypad-row3-0 {
568 samsung,pins = "gpk-11";
569 samsung,pin-function = <3>;
570 samsung,pin-pud = <PIN_PULL_NONE>;
571 };
572
573 keypad_row4_0: keypad-row4-0 {
574 samsung,pins = "gpk-12";
575 samsung,pin-function = <3>;
576 samsung,pin-pud = <PIN_PULL_NONE>;
577 };
578
579 keypad_row5_0: keypad-row5-0 {
580 samsung,pins = "gpk-13";
581 samsung,pin-function = <3>;
582 samsung,pin-pud = <PIN_PULL_NONE>;
583 };
584
585 keypad_row6_0: keypad-row6-0 {
586 samsung,pins = "gpk-14";
587 samsung,pin-function = <3>;
588 samsung,pin-pud = <PIN_PULL_NONE>;
589 };
590
591 keypad_row7_0: keypad-row7-0 {
592 samsung,pins = "gpk-15";
593 samsung,pin-function = <3>;
594 samsung,pin-pud = <PIN_PULL_NONE>;
595 };
596
597 keypad_row0_1: keypad-row0-1 {
598 samsung,pins = "gpn-0";
599 samsung,pin-function = <3>;
600 samsung,pin-pud = <PIN_PULL_NONE>;
601 };
602
603 keypad_row1_1: keypad-row1-1 {
604 samsung,pins = "gpn-1";
605 samsung,pin-function = <3>;
606 samsung,pin-pud = <PIN_PULL_NONE>;
607 };
608
609 keypad_row2_1: keypad-row2-1 {
610 samsung,pins = "gpn-2";
611 samsung,pin-function = <3>;
612 samsung,pin-pud = <PIN_PULL_NONE>;
613 };
614
615 keypad_row3_1: keypad-row3-1 {
616 samsung,pins = "gpn-3";
617 samsung,pin-function = <3>;
618 samsung,pin-pud = <PIN_PULL_NONE>;
619 };
620
621 keypad_row4_1: keypad-row4-1 {
622 samsung,pins = "gpn-4";
623 samsung,pin-function = <3>;
624 samsung,pin-pud = <PIN_PULL_NONE>;
625 };
626
627 keypad_row5_1: keypad-row5-1 {
628 samsung,pins = "gpn-5";
629 samsung,pin-function = <3>;
630 samsung,pin-pud = <PIN_PULL_NONE>;
631 };
632
633 keypad_row6_1: keypad-row6-1 {
634 samsung,pins = "gpn-6";
635 samsung,pin-function = <3>;
636 samsung,pin-pud = <PIN_PULL_NONE>;
637 };
638
639 keypad_row7_1: keypad-row7-1 {
640 samsung,pins = "gpn-7";
641 samsung,pin-function = <3>;
642 samsung,pin-pud = <PIN_PULL_NONE>;
643 };
644
645 lcd_ctrl: lcd-ctrl {
646 samsung,pins = "gpj-8", "gpj-9", "gpj-10", "gpj-11";
647 samsung,pin-function = <2>;
648 samsung,pin-pud = <PIN_PULL_NONE>;
649 };
650
651 lcd_data16: lcd-data-width16 {
652 samsung,pins = "gpi-3", "gpi-4", "gpi-5", "gpi-6",
653 "gpi-7", "gpi-10", "gpi-11", "gpi-12",
654 "gpi-13", "gpi-14", "gpi-15", "gpj-3",
655 "gpj-4", "gpj-5", "gpj-6", "gpj-7";
656 samsung,pin-function = <2>;
657 samsung,pin-pud = <PIN_PULL_NONE>;
658 };
659
660 lcd_data18: lcd-data-width18 {
661 samsung,pins = "gpi-2", "gpi-3", "gpi-4", "gpi-5",
662 "gpi-6", "gpi-7", "gpi-10", "gpi-11",
663 "gpi-12", "gpi-13", "gpi-14", "gpi-15",
664 "gpj-2", "gpj-3", "gpj-4", "gpj-5",
665 "gpj-6", "gpj-7";
666 samsung,pin-function = <2>;
667 samsung,pin-pud = <PIN_PULL_NONE>;
668 };
669
670 lcd_data24: lcd-data-width24 {
671 samsung,pins = "gpi-0", "gpi-1", "gpi-2", "gpi-3",
672 "gpi-4", "gpi-5", "gpi-6", "gpi-7",
673 "gpi-8", "gpi-9", "gpi-10", "gpi-11",
674 "gpi-12", "gpi-13", "gpi-14", "gpi-15",
675 "gpj-0", "gpj-1", "gpj-2", "gpj-3",
676 "gpj-4", "gpj-5", "gpj-6", "gpj-7";
677 samsung,pin-function = <2>;
678 samsung,pin-pud = <PIN_PULL_NONE>;
679 };
680
681 hsi_bus: hsi-bus {
682 samsung,pins = "gpk-0", "gpk-1", "gpk-2", "gpk-3",
683 "gpk-4", "gpk-5", "gpk-6", "gpk-7";
684 samsung,pin-function = <3>;
685 samsung,pin-pud = <PIN_PULL_NONE>;
686 };
687};
diff --git a/arch/arm/boot/dts/s3c64xx.dtsi b/arch/arm/boot/dts/s3c64xx.dtsi
new file mode 100644
index 000000000000..4e3be4d3493d
--- /dev/null
+++ b/arch/arm/boot/dts/s3c64xx.dtsi
@@ -0,0 +1,199 @@
1/*
2 * Samsung's S3C64xx SoC series common device tree source
3 *
4 * Copyright (c) 2013 Tomasz Figa <tomasz.figa@gmail.com>
5 *
6 * Samsung's S3C64xx SoC series device nodes are listed in this file.
7 * Particular SoCs from S3C64xx series can include this file and provide
8 * values for SoCs specfic bindings.
9 *
10 * Note: This file does not include device nodes for all the controllers in
11 * S3C64xx SoCs. As device tree coverage for S3C64xx increases, additional
12 * nodes can be added to this file.
13 *
14 * This program is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License version 2 as
16 * published by the Free Software Foundation.
17 */
18
19#include "skeleton.dtsi"
20#include <dt-bindings/clock/samsung,s3c64xx-clock.h>
21
22/ {
23 aliases {
24 i2c0 = &i2c0;
25 pinctrl0 = &pinctrl0;
26 };
27
28 cpus {
29 #address-cells = <1>;
30 #size-cells = <0>;
31
32 cpu@0 {
33 device_type = "cpu";
34 compatible = "arm,arm1176jzf-s", "arm,arm1176";
35 reg = <0x0>;
36 };
37 };
38
39 soc: soc {
40 compatible = "simple-bus";
41 #address-cells = <1>;
42 #size-cells = <1>;
43 ranges;
44
45 vic0: interrupt-controller@71200000 {
46 compatible = "arm,pl192-vic";
47 interrupt-controller;
48 reg = <0x71200000 0x1000>;
49 #interrupt-cells = <1>;
50 };
51
52 vic1: interrupt-controller@71300000 {
53 compatible = "arm,pl192-vic";
54 interrupt-controller;
55 reg = <0x71300000 0x1000>;
56 #interrupt-cells = <1>;
57 };
58
59 sdhci0: sdhci@7c200000 {
60 compatible = "samsung,s3c6410-sdhci";
61 reg = <0x7c200000 0x100>;
62 interrupt-parent = <&vic1>;
63 interrupts = <24>;
64 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
65 clocks = <&clocks HCLK_HSMMC0>, <&clocks HCLK_HSMMC0>,
66 <&clocks SCLK_MMC0>;
67 status = "disabled";
68 };
69
70 sdhci1: sdhci@7c300000 {
71 compatible = "samsung,s3c6410-sdhci";
72 reg = <0x7c300000 0x100>;
73 interrupt-parent = <&vic1>;
74 interrupts = <25>;
75 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
76 clocks = <&clocks HCLK_HSMMC1>, <&clocks HCLK_HSMMC1>,
77 <&clocks SCLK_MMC1>;
78 status = "disabled";
79 };
80
81 sdhci2: sdhci@7c400000 {
82 compatible = "samsung,s3c6410-sdhci";
83 reg = <0x7c400000 0x100>;
84 interrupt-parent = <&vic1>;
85 interrupts = <17>;
86 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
87 clocks = <&clocks HCLK_HSMMC2>, <&clocks HCLK_HSMMC2>,
88 <&clocks SCLK_MMC2>;
89 status = "disabled";
90 };
91
92 watchdog: watchdog@7e004000 {
93 compatible = "samsung,s3c2410-wdt";
94 reg = <0x7e004000 0x1000>;
95 interrupt-parent = <&vic0>;
96 interrupts = <26>;
97 clock-names = "watchdog";
98 clocks = <&clocks PCLK_WDT>;
99 status = "disabled";
100 };
101
102 i2c0: i2c@7f004000 {
103 compatible = "samsung,s3c2440-i2c";
104 reg = <0x7f004000 0x1000>;
105 interrupt-parent = <&vic1>;
106 interrupts = <18>;
107 clock-names = "i2c";
108 clocks = <&clocks PCLK_IIC0>;
109 status = "disabled";
110 #address-cells = <1>;
111 #size-cells = <0>;
112 };
113
114 uart0: serial@7f005000 {
115 compatible = "samsung,s3c6400-uart";
116 reg = <0x7f005000 0x100>;
117 interrupt-parent = <&vic1>;
118 interrupts = <5>;
119 clock-names = "uart", "clk_uart_baud2",
120 "clk_uart_baud3";
121 clocks = <&clocks PCLK_UART0>, <&clocks PCLK_UART0>,
122 <&clocks SCLK_UART>;
123 status = "disabled";
124 };
125
126 uart1: serial@7f005400 {
127 compatible = "samsung,s3c6400-uart";
128 reg = <0x7f005400 0x100>;
129 interrupt-parent = <&vic1>;
130 interrupts = <6>;
131 clock-names = "uart", "clk_uart_baud2",
132 "clk_uart_baud3";
133 clocks = <&clocks PCLK_UART1>, <&clocks PCLK_UART1>,
134 <&clocks SCLK_UART>;
135 status = "disabled";
136 };
137
138 uart2: serial@7f005800 {
139 compatible = "samsung,s3c6400-uart";
140 reg = <0x7f005800 0x100>;
141 interrupt-parent = <&vic1>;
142 interrupts = <7>;
143 clock-names = "uart", "clk_uart_baud2",
144 "clk_uart_baud3";
145 clocks = <&clocks PCLK_UART2>, <&clocks PCLK_UART2>,
146 <&clocks SCLK_UART>;
147 status = "disabled";
148 };
149
150 uart3: serial@7f005c00 {
151 compatible = "samsung,s3c6400-uart";
152 reg = <0x7f005c00 0x100>;
153 interrupt-parent = <&vic1>;
154 interrupts = <8>;
155 clock-names = "uart", "clk_uart_baud2",
156 "clk_uart_baud3";
157 clocks = <&clocks PCLK_UART3>, <&clocks PCLK_UART3>,
158 <&clocks SCLK_UART>;
159 status = "disabled";
160 };
161
162 pwm: pwm@7f006000 {
163 compatible = "samsung,s3c6400-pwm";
164 reg = <0x7f006000 0x1000>;
165 interrupt-parent = <&vic0>;
166 interrupts = <23>, <24>, <25>, <27>, <28>;
167 clock-names = "timers";
168 clocks = <&clocks PCLK_PWM>;
169 samsung,pwm-outputs = <0>, <1>;
170 #pwm-cells = <3>;
171 status = "disabled";
172 };
173
174 pinctrl0: pinctrl@7f008000 {
175 compatible = "samsung,s3c64xx-pinctrl";
176 reg = <0x7f008000 0x1000>;
177 interrupt-parent = <&vic1>;
178 interrupts = <21>;
179
180 pctrl_int_map: pinctrl-interrupt-map {
181 interrupt-map = <0 &vic0 0>,
182 <1 &vic0 1>,
183 <2 &vic1 0>,
184 <3 &vic1 1>;
185 #address-cells = <0>;
186 #size-cells = <0>;
187 #interrupt-cells = <1>;
188 };
189
190 wakeup-interrupt-controller {
191 compatible = "samsung,s3c64xx-wakeup-eint";
192 interrupts = <0>, <1>, <2>, <3>;
193 interrupt-parent = <&pctrl_int_map>;
194 };
195 };
196 };
197};
198
199#include "s3c64xx-pinctrl.dtsi"