Loading...
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's S5PV210 SoC device tree source
4 *
5 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
6 *
7 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
8 * Tomasz Figa <t.figa@samsung.com>
9 *
10 * Samsung's S5PV210 SoC device nodes are listed in this file. S5PV210
11 * based board files can include this file and provide values for board specfic
12 * bindings.
13 *
14 * Note: This file does not include device nodes for all the controllers in
15 * S5PV210 SoC. As device tree coverage for S5PV210 increases, additional
16 * nodes can be added to this file.
17 */
18
19#include <dt-bindings/clock/s5pv210.h>
20#include <dt-bindings/clock/s5pv210-audss.h>
21
22/ {
23 #address-cells = <1>;
24 #size-cells = <1>;
25
26 aliases {
27 csis0 = &csis0;
28 fimc0 = &fimc0;
29 fimc1 = &fimc1;
30 fimc2 = &fimc2;
31 i2c0 = &i2c0;
32 i2c1 = &i2c1;
33 i2c2 = &i2c2;
34 i2s0 = &i2s0;
35 i2s1 = &i2s1;
36 i2s2 = &i2s2;
37 pinctrl0 = &pinctrl0;
38 spi0 = &spi0;
39 spi1 = &spi1;
40 };
41
42 cpus {
43 #address-cells = <1>;
44 #size-cells = <0>;
45
46 cpu@0 {
47 device_type = "cpu";
48 compatible = "arm,cortex-a8";
49 reg = <0>;
50 };
51 };
52
53 soc {
54 compatible = "simple-bus";
55 #address-cells = <1>;
56 #size-cells = <1>;
57 ranges;
58
59 external-clocks {
60 compatible = "simple-bus";
61 #address-cells = <1>;
62 #size-cells = <0>;
63
64 xxti: oscillator@0 {
65 compatible = "fixed-clock";
66 reg = <0>;
67 clock-frequency = <0>;
68 clock-output-names = "xxti";
69 #clock-cells = <0>;
70 };
71
72 xusbxti: oscillator@1 {
73 compatible = "fixed-clock";
74 reg = <1>;
75 clock-frequency = <0>;
76 clock-output-names = "xusbxti";
77 #clock-cells = <0>;
78 };
79 };
80
81 onenand: onenand@b0000000 {
82 compatible = "samsung,s5pv210-onenand";
83 reg = <0xb0600000 0x2000>,
84 <0xb0000000 0x20000>,
85 <0xb0040000 0x20000>;
86 interrupt-parent = <&vic1>;
87 interrupts = <31>;
88 clocks = <&clocks CLK_NANDXL>, <&clocks DOUT_FLASH>;
89 clock-names = "bus", "onenand";
90 #address-cells = <1>;
91 #size-cells = <1>;
92 status = "disabled";
93 };
94
95 chipid@e0000000 {
96 compatible = "samsung,s5pv210-chipid";
97 reg = <0xe0000000 0x1000>;
98 };
99
100 clocks: clock-controller@e0100000 {
101 compatible = "samsung,s5pv210-clock", "simple-bus";
102 reg = <0xe0100000 0x10000>;
103 clock-names = "xxti", "xusbxti";
104 clocks = <&xxti>, <&xusbxti>;
105 #clock-cells = <1>;
106 #address-cells = <1>;
107 #size-cells = <1>;
108 ranges;
109
110 pmu_syscon: syscon@e0108000 {
111 compatible = "samsung-s5pv210-pmu", "syscon";
112 reg = <0xe0108000 0x8000>;
113 };
114 };
115
116 pinctrl0: pinctrl@e0200000 {
117 compatible = "samsung,s5pv210-pinctrl";
118 reg = <0xe0200000 0x1000>;
119 interrupt-parent = <&vic0>;
120 interrupts = <30>;
121
122 wakeup-interrupt-controller {
123 compatible = "samsung,exynos4210-wakeup-eint";
124 interrupts = <16>;
125 interrupt-parent = <&vic0>;
126 };
127 };
128
129 amba {
130 #address-cells = <1>;
131 #size-cells = <1>;
132 compatible = "simple-bus";
133 ranges;
134
135 pdma0: dma@e0900000 {
136 compatible = "arm,pl330", "arm,primecell";
137 reg = <0xe0900000 0x1000>;
138 interrupt-parent = <&vic0>;
139 interrupts = <19>;
140 clocks = <&clocks CLK_PDMA0>;
141 clock-names = "apb_pclk";
142 #dma-cells = <1>;
143 #dma-channels = <8>;
144 #dma-requests = <32>;
145 };
146
147 pdma1: dma@e0a00000 {
148 compatible = "arm,pl330", "arm,primecell";
149 reg = <0xe0a00000 0x1000>;
150 interrupt-parent = <&vic0>;
151 interrupts = <20>;
152 clocks = <&clocks CLK_PDMA1>;
153 clock-names = "apb_pclk";
154 #dma-cells = <1>;
155 #dma-channels = <8>;
156 #dma-requests = <32>;
157 };
158 };
159
160 spi0: spi@e1300000 {
161 compatible = "samsung,s5pv210-spi";
162 reg = <0xe1300000 0x1000>;
163 interrupt-parent = <&vic1>;
164 interrupts = <15>;
165 dmas = <&pdma0 7>, <&pdma0 6>;
166 dma-names = "tx", "rx";
167 clocks = <&clocks SCLK_SPI0>, <&clocks CLK_SPI0>;
168 clock-names = "spi", "spi_busclk0";
169 pinctrl-names = "default";
170 pinctrl-0 = <&spi0_bus>;
171 #address-cells = <1>;
172 #size-cells = <0>;
173 status = "disabled";
174 };
175
176 spi1: spi@e1400000 {
177 compatible = "samsung,s5pv210-spi";
178 reg = <0xe1400000 0x1000>;
179 interrupt-parent = <&vic1>;
180 interrupts = <16>;
181 dmas = <&pdma1 7>, <&pdma1 6>;
182 dma-names = "tx", "rx";
183 clocks = <&clocks SCLK_SPI1>, <&clocks CLK_SPI1>;
184 clock-names = "spi", "spi_busclk0";
185 pinctrl-names = "default";
186 pinctrl-0 = <&spi1_bus>;
187 #address-cells = <1>;
188 #size-cells = <0>;
189 status = "disabled";
190 };
191
192 keypad: keypad@e1600000 {
193 compatible = "samsung,s5pv210-keypad";
194 reg = <0xe1600000 0x1000>;
195 interrupt-parent = <&vic2>;
196 interrupts = <25>;
197 clocks = <&clocks CLK_KEYIF>;
198 clock-names = "keypad";
199 status = "disabled";
200 };
201
202 i2c0: i2c@e1800000 {
203 compatible = "samsung,s3c2440-i2c";
204 reg = <0xe1800000 0x1000>;
205 interrupt-parent = <&vic1>;
206 interrupts = <14>;
207 clocks = <&clocks CLK_I2C0>;
208 clock-names = "i2c";
209 pinctrl-names = "default";
210 pinctrl-0 = <&i2c0_bus>;
211 #address-cells = <1>;
212 #size-cells = <0>;
213 status = "disabled";
214 };
215
216 i2c2: i2c@e1a00000 {
217 compatible = "samsung,s3c2440-i2c";
218 reg = <0xe1a00000 0x1000>;
219 interrupt-parent = <&vic1>;
220 interrupts = <19>;
221 clocks = <&clocks CLK_I2C2>;
222 clock-names = "i2c";
223 pinctrl-0 = <&i2c2_bus>;
224 pinctrl-names = "default";
225 #address-cells = <1>;
226 #size-cells = <0>;
227 status = "disabled";
228 };
229
230 audio-subsystem {
231 compatible = "samsung,s5pv210-audss", "simple-bus";
232 #address-cells = <1>;
233 #size-cells = <1>;
234 ranges;
235
236 clk_audss: clock-controller@eee10000 {
237 compatible = "samsung,s5pv210-audss-clock";
238 reg = <0xeee10000 0x1000>;
239 clock-names = "hclk", "xxti",
240 "fout_epll",
241 "sclk_audio0";
242 clocks = <&clocks DOUT_HCLKP>, <&xxti>,
243 <&clocks FOUT_EPLL>,
244 <&clocks SCLK_AUDIO0>;
245 #clock-cells = <1>;
246 };
247
248 i2s0: i2s@eee30000 {
249 compatible = "samsung,s5pv210-i2s";
250 reg = <0xeee30000 0x1000>;
251 interrupt-parent = <&vic2>;
252 interrupts = <16>;
253 dma-names = "rx", "tx", "tx-sec";
254 dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
255 clock-names = "iis",
256 "i2s_opclk0",
257 "i2s_opclk1";
258 clocks = <&clk_audss CLK_I2S>,
259 <&clk_audss CLK_I2S>,
260 <&clk_audss CLK_DOUT_AUD_BUS>;
261 samsung,idma-addr = <0xc0010000>;
262 pinctrl-names = "default";
263 pinctrl-0 = <&i2s0_bus>;
264 #sound-dai-cells = <0>;
265 status = "disabled";
266 };
267 };
268
269 i2s1: i2s@e2100000 {
270 compatible = "samsung,s3c6410-i2s";
271 reg = <0xe2100000 0x1000>;
272 interrupt-parent = <&vic2>;
273 interrupts = <17>;
274 dma-names = "rx", "tx";
275 dmas = <&pdma1 12>, <&pdma1 13>;
276 clock-names = "iis", "i2s_opclk0";
277 clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>;
278 pinctrl-names = "default";
279 pinctrl-0 = <&i2s1_bus>;
280 #sound-dai-cells = <0>;
281 status = "disabled";
282 };
283
284 i2s2: i2s@e2a00000 {
285 compatible = "samsung,s3c6410-i2s";
286 reg = <0xe2a00000 0x1000>;
287 interrupt-parent = <&vic2>;
288 interrupts = <18>;
289 dma-names = "rx", "tx";
290 dmas = <&pdma1 14>, <&pdma1 15>;
291 clock-names = "iis", "i2s_opclk0";
292 clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>;
293 pinctrl-names = "default";
294 pinctrl-0 = <&i2s2_bus>;
295 #sound-dai-cells = <0>;
296 status = "disabled";
297 };
298
299 pwm: pwm@e2500000 {
300 compatible = "samsung,s5pc100-pwm";
301 reg = <0xe2500000 0x1000>;
302 interrupt-parent = <&vic0>;
303 interrupts = <21>, <22>, <23>, <24>, <25>;
304 clock-names = "timers";
305 clocks = <&clocks CLK_PWM>;
306 #pwm-cells = <3>;
307 };
308
309 watchdog: watchdog@e2700000 {
310 compatible = "samsung,s3c6410-wdt";
311 reg = <0xe2700000 0x1000>;
312 interrupt-parent = <&vic0>;
313 interrupts = <26>;
314 clock-names = "watchdog";
315 clocks = <&clocks CLK_WDT>;
316 };
317
318 rtc: rtc@e2800000 {
319 compatible = "samsung,s3c6410-rtc";
320 reg = <0xe2800000 0x100>;
321 interrupt-parent = <&vic0>;
322 interrupts = <28>, <29>;
323 clocks = <&clocks CLK_RTC>;
324 clock-names = "rtc";
325 status = "disabled";
326 };
327
328 uart0: serial@e2900000 {
329 compatible = "samsung,s5pv210-uart";
330 reg = <0xe2900000 0x400>;
331 interrupt-parent = <&vic1>;
332 interrupts = <10>;
333 clock-names = "uart", "clk_uart_baud0",
334 "clk_uart_baud1";
335 clocks = <&clocks CLK_UART0>, <&clocks CLK_UART0>,
336 <&clocks SCLK_UART0>;
337 status = "disabled";
338 };
339
340 uart1: serial@e2900400 {
341 compatible = "samsung,s5pv210-uart";
342 reg = <0xe2900400 0x400>;
343 interrupt-parent = <&vic1>;
344 interrupts = <11>;
345 clock-names = "uart", "clk_uart_baud0",
346 "clk_uart_baud1";
347 clocks = <&clocks CLK_UART1>, <&clocks CLK_UART1>,
348 <&clocks SCLK_UART1>;
349 status = "disabled";
350 };
351
352 uart2: serial@e2900800 {
353 compatible = "samsung,s5pv210-uart";
354 reg = <0xe2900800 0x400>;
355 interrupt-parent = <&vic1>;
356 interrupts = <12>;
357 clock-names = "uart", "clk_uart_baud0",
358 "clk_uart_baud1";
359 clocks = <&clocks CLK_UART2>, <&clocks CLK_UART2>,
360 <&clocks SCLK_UART2>;
361 status = "disabled";
362 };
363
364 uart3: serial@e2900c00 {
365 compatible = "samsung,s5pv210-uart";
366 reg = <0xe2900c00 0x400>;
367 interrupt-parent = <&vic1>;
368 interrupts = <13>;
369 clock-names = "uart", "clk_uart_baud0",
370 "clk_uart_baud1";
371 clocks = <&clocks CLK_UART3>, <&clocks CLK_UART3>,
372 <&clocks SCLK_UART3>;
373 status = "disabled";
374 };
375
376 sdhci0: sdhci@eb000000 {
377 compatible = "samsung,s3c6410-sdhci";
378 reg = <0xeb000000 0x100000>;
379 interrupt-parent = <&vic1>;
380 interrupts = <26>;
381 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
382 clocks = <&clocks CLK_HSMMC0>, <&clocks CLK_HSMMC0>,
383 <&clocks SCLK_MMC0>;
384 status = "disabled";
385 };
386
387 sdhci1: sdhci@eb100000 {
388 compatible = "samsung,s3c6410-sdhci";
389 reg = <0xeb100000 0x100000>;
390 interrupt-parent = <&vic1>;
391 interrupts = <27>;
392 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
393 clocks = <&clocks CLK_HSMMC1>, <&clocks CLK_HSMMC1>,
394 <&clocks SCLK_MMC1>;
395 status = "disabled";
396 };
397
398 sdhci2: sdhci@eb200000 {
399 compatible = "samsung,s3c6410-sdhci";
400 reg = <0xeb200000 0x100000>;
401 interrupt-parent = <&vic1>;
402 interrupts = <28>;
403 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
404 clocks = <&clocks CLK_HSMMC2>, <&clocks CLK_HSMMC2>,
405 <&clocks SCLK_MMC2>;
406 status = "disabled";
407 };
408
409 sdhci3: sdhci@eb300000 {
410 compatible = "samsung,s3c6410-sdhci";
411 reg = <0xeb300000 0x100000>;
412 interrupt-parent = <&vic3>;
413 interrupts = <2>;
414 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";
415 clocks = <&clocks CLK_HSMMC3>, <&clocks CLK_HSMMC3>,
416 <&clocks SCLK_MMC3>;
417 status = "disabled";
418 };
419
420 hsotg: hsotg@ec000000 {
421 compatible = "samsung,s3c6400-hsotg";
422 reg = <0xec000000 0x20000>;
423 interrupt-parent = <&vic1>;
424 interrupts = <24>;
425 clocks = <&clocks CLK_USB_OTG>;
426 clock-names = "otg";
427 phy-names = "usb2-phy";
428 phys = <&usbphy 0>;
429 status = "disabled";
430 };
431
432 usbphy: usbphy@ec100000 {
433 compatible = "samsung,s5pv210-usb2-phy";
434 reg = <0xec100000 0x100>;
435 samsung,pmureg-phandle = <&pmu_syscon>;
436 clocks = <&clocks CLK_USB_OTG>, <&xusbxti>;
437 clock-names = "phy", "ref";
438 #phy-cells = <1>;
439 status = "disabled";
440 };
441
442 ehci: ehci@ec200000 {
443 compatible = "samsung,exynos4210-ehci";
444 reg = <0xec200000 0x100>;
445 interrupts = <23>;
446 interrupt-parent = <&vic1>;
447 clocks = <&clocks CLK_USB_HOST>;
448 clock-names = "usbhost";
449 #address-cells = <1>;
450 #size-cells = <0>;
451 status = "disabled";
452
453 port@0 {
454 reg = <0>;
455 phys = <&usbphy 1>;
456 };
457 };
458
459 ohci: ohci@ec300000 {
460 compatible = "samsung,exynos4210-ohci";
461 reg = <0xec300000 0x100>;
462 interrupts = <23>;
463 interrupt-parent = <&vic1>;
464 clocks = <&clocks CLK_USB_HOST>;
465 clock-names = "usbhost";
466 #address-cells = <1>;
467 #size-cells = <0>;
468 status = "disabled";
469
470 port@0 {
471 reg = <0>;
472 phys = <&usbphy 1>;
473 };
474 };
475
476 mfc: codec@f1700000 {
477 compatible = "samsung,mfc-v5";
478 reg = <0xf1700000 0x10000>;
479 interrupt-parent = <&vic2>;
480 interrupts = <14>;
481 clocks = <&clocks DOUT_MFC>, <&clocks CLK_MFC>;
482 clock-names = "sclk_mfc", "mfc";
483 };
484
485 vic0: interrupt-controller@f2000000 {
486 compatible = "arm,pl192-vic";
487 interrupt-controller;
488 reg = <0xf2000000 0x1000>;
489 #interrupt-cells = <1>;
490 };
491
492 vic1: interrupt-controller@f2100000 {
493 compatible = "arm,pl192-vic";
494 interrupt-controller;
495 reg = <0xf2100000 0x1000>;
496 #interrupt-cells = <1>;
497 };
498
499 vic2: interrupt-controller@f2200000 {
500 compatible = "arm,pl192-vic";
501 interrupt-controller;
502 reg = <0xf2200000 0x1000>;
503 #interrupt-cells = <1>;
504 };
505
506 vic3: interrupt-controller@f2300000 {
507 compatible = "arm,pl192-vic";
508 interrupt-controller;
509 reg = <0xf2300000 0x1000>;
510 #interrupt-cells = <1>;
511 };
512
513 fimd: fimd@f8000000 {
514 compatible = "samsung,exynos4210-fimd";
515 interrupt-parent = <&vic2>;
516 reg = <0xf8000000 0x20000>;
517 interrupt-names = "fifo", "vsync", "lcd_sys";
518 interrupts = <0>, <1>, <2>;
519 clocks = <&clocks SCLK_FIMD>, <&clocks CLK_FIMD>;
520 clock-names = "sclk_fimd", "fimd";
521 status = "disabled";
522 };
523
524 g2d: g2d@fa000000 {
525 compatible = "samsung,s5pv210-g2d";
526 reg = <0xfa000000 0x1000>;
527 interrupt-parent = <&vic2>;
528 interrupts = <9>;
529 clocks = <&clocks DOUT_G2D>, <&clocks CLK_G2D>;
530 clock-names = "sclk_fimg2d", "fimg2d";
531 };
532
533 mdma1: mdma@fa200000 {
534 compatible = "arm,pl330", "arm,primecell";
535 reg = <0xfa200000 0x1000>;
536 interrupt-parent = <&vic0>;
537 interrupts = <18>;
538 clocks = <&clocks CLK_MDMA>;
539 clock-names = "apb_pclk";
540 #dma-cells = <1>;
541 #dma-channels = <8>;
542 #dma-requests = <1>;
543 };
544
545 i2c1: i2c@fab00000 {
546 compatible = "samsung,s3c2440-i2c";
547 reg = <0xfab00000 0x1000>;
548 interrupt-parent = <&vic2>;
549 interrupts = <13>;
550 clocks = <&clocks CLK_I2C1>;
551 clock-names = "i2c";
552 pinctrl-names = "default";
553 pinctrl-0 = <&i2c1_bus>;
554 #address-cells = <1>;
555 #size-cells = <0>;
556 status = "disabled";
557 };
558
559 camera: camera {
560 compatible = "samsung,fimc", "simple-bus";
561 pinctrl-names = "default";
562 pinctrl-0 = <>;
563 clocks = <&clocks SCLK_CAM0>, <&clocks SCLK_CAM1>;
564 clock-names = "sclk_cam0", "sclk_cam1";
565 #address-cells = <1>;
566 #size-cells = <1>;
567 ranges;
568
569 clock_cam: clock-controller {
570 #clock-cells = <1>;
571 };
572
573 csis0: csis@fa600000 {
574 compatible = "samsung,s5pv210-csis";
575 reg = <0xfa600000 0x4000>;
576 interrupt-parent = <&vic2>;
577 interrupts = <29>;
578 clocks = <&clocks CLK_CSIS>,
579 <&clocks SCLK_CSIS>;
580 clock-names = "clk_csis",
581 "sclk_csis";
582 bus-width = <4>;
583 status = "disabled";
584 #address-cells = <1>;
585 #size-cells = <0>;
586 };
587
588 fimc0: fimc@fb200000 {
589 compatible = "samsung,s5pv210-fimc";
590 reg = <0xfb200000 0x1000>;
591 interrupts = <5>;
592 interrupt-parent = <&vic2>;
593 clocks = <&clocks CLK_FIMC0>,
594 <&clocks SCLK_FIMC0>;
595 clock-names = "fimc",
596 "sclk_fimc";
597 samsung,pix-limits = <4224 8192 1920 4224>;
598 samsung,mainscaler-ext;
599 samsung,cam-if;
600 };
601
602 fimc1: fimc@fb300000 {
603 compatible = "samsung,s5pv210-fimc";
604 reg = <0xfb300000 0x1000>;
605 interrupt-parent = <&vic2>;
606 interrupts = <6>;
607 clocks = <&clocks CLK_FIMC1>,
608 <&clocks SCLK_FIMC1>;
609 clock-names = "fimc",
610 "sclk_fimc";
611 samsung,pix-limits = <4224 8192 1920 4224>;
612 samsung,mainscaler-ext;
613 samsung,cam-if;
614 };
615
616 fimc2: fimc@fb400000 {
617 compatible = "samsung,s5pv210-fimc";
618 reg = <0xfb400000 0x1000>;
619 interrupt-parent = <&vic2>;
620 interrupts = <7>;
621 clocks = <&clocks CLK_FIMC2>,
622 <&clocks SCLK_FIMC2>;
623 clock-names = "fimc",
624 "sclk_fimc";
625 samsung,pix-limits = <4224 8192 1920 4224>;
626 samsung,mainscaler-ext;
627 samsung,lcd-wb;
628 };
629 };
630 };
631};
632
633#include "s5pv210-pinctrl.dtsi"
1/*
2 * Samsung's S5PV210 SoC device tree source
3 *
4 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
5 *
6 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
7 * Tomasz Figa <t.figa@samsung.com>
8 *
9 * Samsung's S5PV210 SoC device nodes are listed in this file. S5PV210
10 * based board files can include this file and provide values for board specfic
11 * bindings.
12 *
13 * Note: This file does not include device nodes for all the controllers in
14 * S5PV210 SoC. As device tree coverage for S5PV210 increases, additional
15 * nodes can be added to this file.
16 *
17 * This program is free software; you can redistribute it and/or modify
18 * it under the terms of the GNU General Public License version 2 as
19 * published by the Free Software Foundation.
20*/
21
22#include <dt-bindings/clock/s5pv210.h>
23#include <dt-bindings/clock/s5pv210-audss.h>
24
25/ {
26 #address-cells = <1>;
27 #size-cells = <1>;
28
29 aliases {
30 csis0 = &csis0;
31 fimc0 = &fimc0;
32 fimc1 = &fimc1;
33 fimc2 = &fimc2;
34 i2c0 = &i2c0;
35 i2c1 = &i2c1;
36 i2c2 = &i2c2;
37 i2s0 = &i2s0;
38 i2s1 = &i2s1;
39 i2s2 = &i2s2;
40 pinctrl0 = &pinctrl0;
41 spi0 = &spi0;
42 spi1 = &spi1;
43 };
44
45 cpus {
46 #address-cells = <1>;
47 #size-cells = <0>;
48
49 cpu@0 {
50 device_type = "cpu";
51 compatible = "arm,cortex-a8";
52 reg = <0>;
53 };
54 };
55
56 soc {
57 compatible = "simple-bus";
58 #address-cells = <1>;
59 #size-cells = <1>;
60 ranges;
61
62 external-clocks {
63 compatible = "simple-bus";
64 #address-cells = <1>;
65 #size-cells = <0>;
66
67 xxti: oscillator@0 {
68 compatible = "fixed-clock";
69 reg = <0>;
70 clock-frequency = <0>;
71 clock-output-names = "xxti";
72 #clock-cells = <0>;
73 };
74
75 xusbxti: oscillator@1 {
76 compatible = "fixed-clock";
77 reg = <1>;
78 clock-frequency = <0>;
79 clock-output-names = "xusbxti";
80 #clock-cells = <0>;
81 };
82 };
83
84 onenand: onenand@b0000000 {
85 compatible = "samsung,s5pv210-onenand";
86 reg = <0xb0600000 0x2000>,
87 <0xb0000000 0x20000>,
88 <0xb0040000 0x20000>;
89 interrupt-parent = <&vic1>;
90 interrupts = <31>;
91 clocks = <&clocks CLK_NANDXL>, <&clocks DOUT_FLASH>;
92 clock-names = "bus", "onenand";
93 #address-cells = <1>;
94 #size-cells = <1>;
95 status = "disabled";
96 };
97
98 chipid@e0000000 {
99 compatible = "samsung,s5pv210-chipid";
100 reg = <0xe0000000 0x1000>;
101 };
102
103 clocks: clock-controller@e0100000 {
104 compatible = "samsung,s5pv210-clock", "simple-bus";
105 reg = <0xe0100000 0x10000>;
106 clock-names = "xxti", "xusbxti";
107 clocks = <&xxti>, <&xusbxti>;
108 #clock-cells = <1>;
109 #address-cells = <1>;
110 #size-cells = <1>;
111 ranges;
112
113 pmu_syscon: syscon@e0108000 {
114 compatible = "samsung-s5pv210-pmu", "syscon";
115 reg = <0xe0108000 0x8000>;
116 };
117 };
118
119 pinctrl0: pinctrl@e0200000 {
120 compatible = "samsung,s5pv210-pinctrl";
121 reg = <0xe0200000 0x1000>;
122 interrupt-parent = <&vic0>;
123 interrupts = <30>;
124
125 wakeup-interrupt-controller {
126 compatible = "samsung,exynos4210-wakeup-eint";
127 interrupts = <16>;
128 interrupt-parent = <&vic0>;
129 };
130 };
131
132 amba {
133 #address-cells = <1>;
134 #size-cells = <1>;
135 compatible = "simple-bus";
136 ranges;
137
138 pdma0: dma@e0900000 {
139 compatible = "arm,pl330", "arm,primecell";
140 reg = <0xe0900000 0x1000>;
141 interrupt-parent = <&vic0>;
142 interrupts = <19>;
143 clocks = <&clocks CLK_PDMA0>;
144 clock-names = "apb_pclk";
145 #dma-cells = <1>;
146 #dma-channels = <8>;
147 #dma-requests = <32>;
148 };
149
150 pdma1: dma@e0a00000 {
151 compatible = "arm,pl330", "arm,primecell";
152 reg = <0xe0a00000 0x1000>;
153 interrupt-parent = <&vic0>;
154 interrupts = <20>;
155 clocks = <&clocks CLK_PDMA1>;
156 clock-names = "apb_pclk";
157 #dma-cells = <1>;
158 #dma-channels = <8>;
159 #dma-requests = <32>;
160 };
161 };
162
163 spi0: spi@e1300000 {
164 compatible = "samsung,s5pv210-spi";
165 reg = <0xe1300000 0x1000>;
166 interrupt-parent = <&vic1>;
167 interrupts = <15>;
168 dmas = <&pdma0 7>, <&pdma0 6>;
169 dma-names = "tx", "rx";
170 clocks = <&clocks SCLK_SPI0>, <&clocks CLK_SPI0>;
171 clock-names = "spi", "spi_busclk0";
172 pinctrl-names = "default";
173 pinctrl-0 = <&spi0_bus>;
174 #address-cells = <1>;
175 #size-cells = <0>;
176 status = "disabled";
177 };
178
179 spi1: spi@e1400000 {
180 compatible = "samsung,s5pv210-spi";
181 reg = <0xe1400000 0x1000>;
182 interrupt-parent = <&vic1>;
183 interrupts = <16>;
184 dmas = <&pdma1 7>, <&pdma1 6>;
185 dma-names = "tx", "rx";
186 clocks = <&clocks SCLK_SPI1>, <&clocks CLK_SPI1>;
187 clock-names = "spi", "spi_busclk0";
188 pinctrl-names = "default";
189 pinctrl-0 = <&spi1_bus>;
190 #address-cells = <1>;
191 #size-cells = <0>;
192 status = "disabled";
193 };
194
195 keypad: keypad@e1600000 {
196 compatible = "samsung,s5pv210-keypad";
197 reg = <0xe1600000 0x1000>;
198 interrupt-parent = <&vic2>;
199 interrupts = <25>;
200 clocks = <&clocks CLK_KEYIF>;
201 clock-names = "keypad";
202 status = "disabled";
203 };
204
205 i2c0: i2c@e1800000 {
206 compatible = "samsung,s3c2440-i2c";
207 reg = <0xe1800000 0x1000>;
208 interrupt-parent = <&vic1>;
209 interrupts = <14>;
210 clocks = <&clocks CLK_I2C0>;
211 clock-names = "i2c";
212 pinctrl-names = "default";
213 pinctrl-0 = <&i2c0_bus>;
214 #address-cells = <1>;
215 #size-cells = <0>;
216 status = "disabled";
217 };
218
219 i2c2: i2c@e1a00000 {
220 compatible = "samsung,s3c2440-i2c";
221 reg = <0xe1a00000 0x1000>;
222 interrupt-parent = <&vic1>;
223 interrupts = <19>;
224 clocks = <&clocks CLK_I2C2>;
225 clock-names = "i2c";
226 pinctrl-0 = <&i2c2_bus>;
227 pinctrl-names = "default";
228 #address-cells = <1>;
229 #size-cells = <0>;
230 status = "disabled";
231 };
232
233 audio-subsystem {
234 compatible = "samsung,s5pv210-audss", "simple-bus";
235 #address-cells = <1>;
236 #size-cells = <1>;
237 ranges;
238
239 clk_audss: clock-controller@eee10000 {
240 compatible = "samsung,s5pv210-audss-clock";
241 reg = <0xeee10000 0x1000>;
242 clock-names = "hclk", "xxti",
243 "fout_epll",
244 "sclk_audio0";
245 clocks = <&clocks DOUT_HCLKP>, <&xxti>,
246 <&clocks FOUT_EPLL>,
247 <&clocks SCLK_AUDIO0>;
248 #clock-cells = <1>;
249 };
250
251 i2s0: i2s@eee30000 {
252 compatible = "samsung,s5pv210-i2s";
253 reg = <0xeee30000 0x1000>;
254 interrupt-parent = <&vic2>;
255 interrupts = <16>;
256 dma-names = "rx", "tx", "tx-sec";
257 dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
258 clock-names = "iis",
259 "i2s_opclk0",
260 "i2s_opclk1";
261 clocks = <&clk_audss CLK_I2S>,
262 <&clk_audss CLK_I2S>,
263 <&clk_audss CLK_DOUT_AUD_BUS>;
264 samsung,idma-addr = <0xc0010000>;
265 pinctrl-names = "default";
266 pinctrl-0 = <&i2s0_bus>;
267 #sound-dai-cells = <0>;
268 status = "disabled";
269 };
270 };
271
272 i2s1: i2s@e2100000 {
273 compatible = "samsung,s3c6410-i2s";
274 reg = <0xe2100000 0x1000>;
275 interrupt-parent = <&vic2>;
276 interrupts = <17>;
277 dma-names = "rx", "tx";
278 dmas = <&pdma1 12>, <&pdma1 13>;
279 clock-names = "iis", "i2s_opclk0";
280 clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>;
281 pinctrl-names = "default";
282 pinctrl-0 = <&i2s1_bus>;
283 #sound-dai-cells = <0>;
284 status = "disabled";
285 };
286
287 i2s2: i2s@e2a00000 {
288 compatible = "samsung,s3c6410-i2s";
289 reg = <0xe2a00000 0x1000>;
290 interrupt-parent = <&vic2>;
291 interrupts = <18>;
292 dma-names = "rx", "tx";
293 dmas = <&pdma1 14>, <&pdma1 15>;
294 clock-names = "iis", "i2s_opclk0";
295 clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>;
296 pinctrl-names = "default";
297 pinctrl-0 = <&i2s2_bus>;
298 #sound-dai-cells = <0>;
299 status = "disabled";
300 };
301
302 pwm: pwm@e2500000 {
303 compatible = "samsung,s5pc100-pwm";
304 reg = <0xe2500000 0x1000>;
305 interrupt-parent = <&vic0>;
306 interrupts = <21>, <22>, <23>, <24>, <25>;
307 clock-names = "timers";
308 clocks = <&clocks CLK_PWM>;
309 #pwm-cells = <3>;
310 };
311
312 watchdog: watchdog@e2700000 {
313 compatible = "samsung,s3c2410-wdt";
314 reg = <0xe2700000 0x1000>;
315 interrupt-parent = <&vic0>;
316 interrupts = <26>;
317 clock-names = "watchdog";
318 clocks = <&clocks CLK_WDT>;
319 };
320
321 rtc: rtc@e2800000 {
322 compatible = "samsung,s3c6410-rtc";
323 reg = <0xe2800000 0x100>;
324 interrupt-parent = <&vic0>;
325 interrupts = <28>, <29>;
326 clocks = <&clocks CLK_RTC>;
327 clock-names = "rtc";
328 status = "disabled";
329 };
330
331 uart0: serial@e2900000 {
332 compatible = "samsung,s5pv210-uart";
333 reg = <0xe2900000 0x400>;
334 interrupt-parent = <&vic1>;
335 interrupts = <10>;
336 clock-names = "uart", "clk_uart_baud0",
337 "clk_uart_baud1";
338 clocks = <&clocks CLK_UART0>, <&clocks CLK_UART0>,
339 <&clocks SCLK_UART0>;
340 status = "disabled";
341 };
342
343 uart1: serial@e2900400 {
344 compatible = "samsung,s5pv210-uart";
345 reg = <0xe2900400 0x400>;
346 interrupt-parent = <&vic1>;
347 interrupts = <11>;
348 clock-names = "uart", "clk_uart_baud0",
349 "clk_uart_baud1";
350 clocks = <&clocks CLK_UART1>, <&clocks CLK_UART1>,
351 <&clocks SCLK_UART1>;
352 status = "disabled";
353 };
354
355 uart2: serial@e2900800 {
356 compatible = "samsung,s5pv210-uart";
357 reg = <0xe2900800 0x400>;
358 interrupt-parent = <&vic1>;
359 interrupts = <12>;
360 clock-names = "uart", "clk_uart_baud0",
361 "clk_uart_baud1";
362 clocks = <&clocks CLK_UART2>, <&clocks CLK_UART2>,
363 <&clocks SCLK_UART2>;
364 status = "disabled";
365 };
366
367 uart3: serial@e2900c00 {
368 compatible = "samsung,s5pv210-uart";
369 reg = <0xe2900c00 0x400>;
370 interrupt-parent = <&vic1>;
371 interrupts = <13>;
372 clock-names = "uart", "clk_uart_baud0",
373 "clk_uart_baud1";
374 clocks = <&clocks CLK_UART3>, <&clocks CLK_UART3>,
375 <&clocks SCLK_UART3>;
376 status = "disabled";
377 };
378
379 sdhci0: sdhci@eb000000 {
380 compatible = "samsung,s3c6410-sdhci";
381 reg = <0xeb000000 0x100000>;
382 interrupt-parent = <&vic1>;
383 interrupts = <26>;
384 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
385 clocks = <&clocks CLK_HSMMC0>, <&clocks CLK_HSMMC0>,
386 <&clocks SCLK_MMC0>;
387 status = "disabled";
388 };
389
390 sdhci1: sdhci@eb100000 {
391 compatible = "samsung,s3c6410-sdhci";
392 reg = <0xeb100000 0x100000>;
393 interrupt-parent = <&vic1>;
394 interrupts = <27>;
395 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
396 clocks = <&clocks CLK_HSMMC1>, <&clocks CLK_HSMMC1>,
397 <&clocks SCLK_MMC1>;
398 status = "disabled";
399 };
400
401 sdhci2: sdhci@eb200000 {
402 compatible = "samsung,s3c6410-sdhci";
403 reg = <0xeb200000 0x100000>;
404 interrupt-parent = <&vic1>;
405 interrupts = <28>;
406 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
407 clocks = <&clocks CLK_HSMMC2>, <&clocks CLK_HSMMC2>,
408 <&clocks SCLK_MMC2>;
409 status = "disabled";
410 };
411
412 sdhci3: sdhci@eb300000 {
413 compatible = "samsung,s3c6410-sdhci";
414 reg = <0xeb300000 0x100000>;
415 interrupt-parent = <&vic3>;
416 interrupts = <2>;
417 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";
418 clocks = <&clocks CLK_HSMMC3>, <&clocks CLK_HSMMC3>,
419 <&clocks SCLK_MMC3>;
420 status = "disabled";
421 };
422
423 hsotg: hsotg@ec000000 {
424 compatible = "samsung,s3c6400-hsotg";
425 reg = <0xec000000 0x20000>;
426 interrupt-parent = <&vic1>;
427 interrupts = <24>;
428 clocks = <&clocks CLK_USB_OTG>;
429 clock-names = "otg";
430 phy-names = "usb2-phy";
431 phys = <&usbphy 0>;
432 status = "disabled";
433 };
434
435 usbphy: usbphy@ec100000 {
436 compatible = "samsung,s5pv210-usb2-phy";
437 reg = <0xec100000 0x100>;
438 samsung,pmureg-phandle = <&pmu_syscon>;
439 clocks = <&clocks CLK_USB_OTG>, <&xusbxti>;
440 clock-names = "phy", "ref";
441 #phy-cells = <1>;
442 status = "disabled";
443 };
444
445 ehci: ehci@ec200000 {
446 compatible = "samsung,exynos4210-ehci";
447 reg = <0xec200000 0x100>;
448 interrupts = <23>;
449 interrupt-parent = <&vic1>;
450 clocks = <&clocks CLK_USB_HOST>;
451 clock-names = "usbhost";
452 #address-cells = <1>;
453 #size-cells = <0>;
454 status = "disabled";
455
456 port@0 {
457 reg = <0>;
458 phys = <&usbphy 1>;
459 };
460 };
461
462 ohci: ohci@ec300000 {
463 compatible = "samsung,exynos4210-ohci";
464 reg = <0xec300000 0x100>;
465 interrupts = <23>;
466 clocks = <&clocks CLK_USB_HOST>;
467 clock-names = "usbhost";
468 #address-cells = <1>;
469 #size-cells = <0>;
470 status = "disabled";
471
472 port@0 {
473 reg = <0>;
474 phys = <&usbphy 1>;
475 };
476 };
477
478 mfc: codec@f1700000 {
479 compatible = "samsung,mfc-v5";
480 reg = <0xf1700000 0x10000>;
481 interrupt-parent = <&vic2>;
482 interrupts = <14>;
483 clocks = <&clocks DOUT_MFC>, <&clocks CLK_MFC>;
484 clock-names = "sclk_mfc", "mfc";
485 };
486
487 vic0: interrupt-controller@f2000000 {
488 compatible = "arm,pl192-vic";
489 interrupt-controller;
490 reg = <0xf2000000 0x1000>;
491 #interrupt-cells = <1>;
492 };
493
494 vic1: interrupt-controller@f2100000 {
495 compatible = "arm,pl192-vic";
496 interrupt-controller;
497 reg = <0xf2100000 0x1000>;
498 #interrupt-cells = <1>;
499 };
500
501 vic2: interrupt-controller@f2200000 {
502 compatible = "arm,pl192-vic";
503 interrupt-controller;
504 reg = <0xf2200000 0x1000>;
505 #interrupt-cells = <1>;
506 };
507
508 vic3: interrupt-controller@f2300000 {
509 compatible = "arm,pl192-vic";
510 interrupt-controller;
511 reg = <0xf2300000 0x1000>;
512 #interrupt-cells = <1>;
513 };
514
515 fimd: fimd@f8000000 {
516 compatible = "samsung,exynos4210-fimd";
517 interrupt-parent = <&vic2>;
518 reg = <0xf8000000 0x20000>;
519 interrupt-names = "fifo", "vsync", "lcd_sys";
520 interrupts = <0>, <1>, <2>;
521 clocks = <&clocks SCLK_FIMD>, <&clocks CLK_FIMD>;
522 clock-names = "sclk_fimd", "fimd";
523 status = "disabled";
524 };
525
526 g2d: g2d@fa000000 {
527 compatible = "samsung,s5pv210-g2d";
528 reg = <0xfa000000 0x1000>;
529 interrupt-parent = <&vic2>;
530 interrupts = <9>;
531 clocks = <&clocks DOUT_G2D>, <&clocks CLK_G2D>;
532 clock-names = "sclk_fimg2d", "fimg2d";
533 };
534
535 mdma1: mdma@fa200000 {
536 compatible = "arm,pl330", "arm,primecell";
537 reg = <0xfa200000 0x1000>;
538 interrupt-parent = <&vic0>;
539 interrupts = <18>;
540 clocks = <&clocks CLK_MDMA>;
541 clock-names = "apb_pclk";
542 #dma-cells = <1>;
543 #dma-channels = <8>;
544 #dma-requests = <1>;
545 };
546
547 i2c1: i2c@fab00000 {
548 compatible = "samsung,s3c2440-i2c";
549 reg = <0xfab00000 0x1000>;
550 interrupt-parent = <&vic2>;
551 interrupts = <13>;
552 clocks = <&clocks CLK_I2C1>;
553 clock-names = "i2c";
554 pinctrl-names = "default";
555 pinctrl-0 = <&i2c1_bus>;
556 #address-cells = <1>;
557 #size-cells = <0>;
558 status = "disabled";
559 };
560
561 camera: camera {
562 compatible = "samsung,fimc", "simple-bus";
563 pinctrl-names = "default";
564 pinctrl-0 = <>;
565 clocks = <&clocks SCLK_CAM0>, <&clocks SCLK_CAM1>;
566 clock-names = "sclk_cam0", "sclk_cam1";
567 #address-cells = <1>;
568 #size-cells = <1>;
569 ranges;
570
571 clock_cam: clock-controller {
572 #clock-cells = <1>;
573 };
574
575 csis0: csis@fa600000 {
576 compatible = "samsung,s5pv210-csis";
577 reg = <0xfa600000 0x4000>;
578 interrupt-parent = <&vic2>;
579 interrupts = <29>;
580 clocks = <&clocks CLK_CSIS>,
581 <&clocks SCLK_CSIS>;
582 clock-names = "clk_csis",
583 "sclk_csis";
584 bus-width = <4>;
585 status = "disabled";
586 #address-cells = <1>;
587 #size-cells = <0>;
588 };
589
590 fimc0: fimc@fb200000 {
591 compatible = "samsung,s5pv210-fimc";
592 reg = <0xfb200000 0x1000>;
593 interrupts = <5>;
594 interrupt-parent = <&vic2>;
595 clocks = <&clocks CLK_FIMC0>,
596 <&clocks SCLK_FIMC0>;
597 clock-names = "fimc",
598 "sclk_fimc";
599 samsung,pix-limits = <4224 8192 1920 4224>;
600 samsung,mainscaler-ext;
601 samsung,cam-if;
602 };
603
604 fimc1: fimc@fb300000 {
605 compatible = "samsung,s5pv210-fimc";
606 reg = <0xfb300000 0x1000>;
607 interrupt-parent = <&vic2>;
608 interrupts = <6>;
609 clocks = <&clocks CLK_FIMC1>,
610 <&clocks SCLK_FIMC1>;
611 clock-names = "fimc",
612 "sclk_fimc";
613 samsung,pix-limits = <4224 8192 1920 4224>;
614 samsung,mainscaler-ext;
615 samsung,cam-if;
616 };
617
618 fimc2: fimc@fb400000 {
619 compatible = "samsung,s5pv210-fimc";
620 reg = <0xfb400000 0x1000>;
621 interrupt-parent = <&vic2>;
622 interrupts = <7>;
623 clocks = <&clocks CLK_FIMC2>,
624 <&clocks SCLK_FIMC2>;
625 clock-names = "fimc",
626 "sclk_fimc";
627 samsung,pix-limits = <4224 8192 1920 4224>;
628 samsung,mainscaler-ext;
629 samsung,lcd-wb;
630 };
631 };
632 };
633};
634
635#include "s5pv210-pinctrl.dtsi"