diff options
author | Tomasz Figa <tomasz.figa@gmail.com> | 2013-08-25 13:37:59 -0400 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2013-09-16 17:48:28 -0400 |
commit | 4961cfd508357bf7c3d9c0198cdfc471724fb75f (patch) | |
tree | d9bb21ff3c26630874fca65abd6ea8f81bfc80d5 | |
parent | 31e4001d2e3c3f2d3b544c9891d542ee3502798e (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.dtsi | 41 | ||||
-rw-r--r-- | arch/arm/boot/dts/s3c6410.dtsi | 57 | ||||
-rw-r--r-- | arch/arm/boot/dts/s3c64xx-pinctrl.dtsi | 687 | ||||
-rw-r--r-- | arch/arm/boot/dts/s3c64xx.dtsi | 199 |
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" | ||