2 * Samsung's S5PV210 SoC device tree source
4 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
6 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
7 * Tomasz Figa <t.figa@samsung.com>
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
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.
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.
22 #include <dt-bindings/clock/s5pv210.h>
23 #include <dt-bindings/clock/s5pv210-audss.h>
51 compatible = "arm,cortex-a8";
57 compatible = "simple-bus";
63 compatible = "simple-bus";
68 compatible = "fixed-clock";
70 clock-frequency = <0>;
71 clock-output-names = "xxti";
75 xusbxti: oscillator@1 {
76 compatible = "fixed-clock";
78 clock-frequency = <0>;
79 clock-output-names = "xusbxti";
84 onenand: onenand@b0000000 {
85 compatible = "samsung,s5pv210-onenand";
86 reg = <0xb0600000 0x2000>,
89 interrupt-parent = <&vic1>;
91 clocks = <&clocks CLK_NANDXL>, <&clocks DOUT_FLASH>;
92 clock-names = "bus", "onenand";
99 compatible = "samsung,s5pv210-chipid";
100 reg = <0xe0000000 0x1000>;
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>;
109 #address-cells = <1>;
113 pmu_syscon: syscon@e0108000 {
114 compatible = "samsung-s5pv210-pmu", "syscon";
115 reg = <0xe0108000 0x8000>;
119 pinctrl0: pinctrl@e0200000 {
120 compatible = "samsung,s5pv210-pinctrl";
121 reg = <0xe0200000 0x1000>;
122 interrupt-parent = <&vic0>;
125 wakeup-interrupt-controller {
126 compatible = "samsung,exynos4210-wakeup-eint";
128 interrupt-parent = <&vic0>;
133 #address-cells = <1>;
135 compatible = "simple-bus";
138 pdma0: dma@e0900000 {
139 compatible = "arm,pl330", "arm,primecell";
140 reg = <0xe0900000 0x1000>;
141 interrupt-parent = <&vic0>;
143 clocks = <&clocks CLK_PDMA0>;
144 clock-names = "apb_pclk";
147 #dma-requests = <32>;
150 pdma1: dma@e0a00000 {
151 compatible = "arm,pl330", "arm,primecell";
152 reg = <0xe0a00000 0x1000>;
153 interrupt-parent = <&vic0>;
155 clocks = <&clocks CLK_PDMA1>;
156 clock-names = "apb_pclk";
159 #dma-requests = <32>;
164 compatible = "samsung,s5pv210-spi";
165 reg = <0xe1300000 0x1000>;
166 interrupt-parent = <&vic1>;
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>;
180 compatible = "samsung,s5pv210-spi";
181 reg = <0xe1400000 0x1000>;
182 interrupt-parent = <&vic1>;
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>;
195 keypad: keypad@e1600000 {
196 compatible = "samsung,s5pv210-keypad";
197 reg = <0xe1600000 0x1000>;
198 interrupt-parent = <&vic2>;
200 clocks = <&clocks CLK_KEYIF>;
201 clock-names = "keypad";
206 compatible = "samsung,s3c2440-i2c";
207 reg = <0xe1800000 0x1000>;
208 interrupt-parent = <&vic1>;
210 clocks = <&clocks CLK_I2C0>;
212 pinctrl-names = "default";
213 pinctrl-0 = <&i2c0_bus>;
214 #address-cells = <1>;
220 compatible = "samsung,s3c2440-i2c";
221 reg = <0xe1a00000 0x1000>;
222 interrupt-parent = <&vic1>;
224 clocks = <&clocks CLK_I2C2>;
226 pinctrl-0 = <&i2c2_bus>;
227 pinctrl-names = "default";
228 #address-cells = <1>;
234 compatible = "samsung,s5pv210-audss", "simple-bus";
235 #address-cells = <1>;
239 clk_audss: clock-controller@eee10000 {
240 compatible = "samsung,s5pv210-audss-clock";
241 reg = <0xeee10000 0x1000>;
242 clock-names = "hclk", "xxti",
245 clocks = <&clocks DOUT_HCLKP>, <&xxti>,
247 <&clocks SCLK_AUDIO0>;
252 compatible = "samsung,s5pv210-i2s";
253 reg = <0xeee30000 0x1000>;
254 interrupt-parent = <&vic2>;
256 dma-names = "rx", "tx", "tx-sec";
257 dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
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>;
273 compatible = "samsung,s3c6410-i2s";
274 reg = <0xe2100000 0x1000>;
275 interrupt-parent = <&vic2>;
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>;
288 compatible = "samsung,s3c6410-i2s";
289 reg = <0xe2a00000 0x1000>;
290 interrupt-parent = <&vic2>;
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>;
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>;
312 watchdog: watchdog@e2700000 {
313 compatible = "samsung,s3c2410-wdt";
314 reg = <0xe2700000 0x1000>;
315 interrupt-parent = <&vic0>;
317 clock-names = "watchdog";
318 clocks = <&clocks CLK_WDT>;
322 compatible = "samsung,s3c6410-rtc";
323 reg = <0xe2800000 0x100>;
324 interrupt-parent = <&vic0>;
325 interrupts = <28>, <29>;
326 clocks = <&clocks CLK_RTC>;
331 uart0: serial@e2900000 {
332 compatible = "samsung,s5pv210-uart";
333 reg = <0xe2900000 0x400>;
334 interrupt-parent = <&vic1>;
336 clock-names = "uart", "clk_uart_baud0",
338 clocks = <&clocks CLK_UART0>, <&clocks CLK_UART0>,
339 <&clocks SCLK_UART0>;
343 uart1: serial@e2900400 {
344 compatible = "samsung,s5pv210-uart";
345 reg = <0xe2900400 0x400>;
346 interrupt-parent = <&vic1>;
348 clock-names = "uart", "clk_uart_baud0",
350 clocks = <&clocks CLK_UART1>, <&clocks CLK_UART1>,
351 <&clocks SCLK_UART1>;
355 uart2: serial@e2900800 {
356 compatible = "samsung,s5pv210-uart";
357 reg = <0xe2900800 0x400>;
358 interrupt-parent = <&vic1>;
360 clock-names = "uart", "clk_uart_baud0",
362 clocks = <&clocks CLK_UART2>, <&clocks CLK_UART2>,
363 <&clocks SCLK_UART2>;
367 uart3: serial@e2900c00 {
368 compatible = "samsung,s5pv210-uart";
369 reg = <0xe2900c00 0x400>;
370 interrupt-parent = <&vic1>;
372 clock-names = "uart", "clk_uart_baud0",
374 clocks = <&clocks CLK_UART3>, <&clocks CLK_UART3>,
375 <&clocks SCLK_UART3>;
379 sdhci0: sdhci@eb000000 {
380 compatible = "samsung,s3c6410-sdhci";
381 reg = <0xeb000000 0x100000>;
382 interrupt-parent = <&vic1>;
384 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
385 clocks = <&clocks CLK_HSMMC0>, <&clocks CLK_HSMMC0>,
390 sdhci1: sdhci@eb100000 {
391 compatible = "samsung,s3c6410-sdhci";
392 reg = <0xeb100000 0x100000>;
393 interrupt-parent = <&vic1>;
395 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
396 clocks = <&clocks CLK_HSMMC1>, <&clocks CLK_HSMMC1>,
401 sdhci2: sdhci@eb200000 {
402 compatible = "samsung,s3c6410-sdhci";
403 reg = <0xeb200000 0x100000>;
404 interrupt-parent = <&vic1>;
406 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
407 clocks = <&clocks CLK_HSMMC2>, <&clocks CLK_HSMMC2>,
412 sdhci3: sdhci@eb300000 {
413 compatible = "samsung,s3c6410-sdhci";
414 reg = <0xeb300000 0x100000>;
415 interrupt-parent = <&vic3>;
417 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";
418 clocks = <&clocks CLK_HSMMC3>, <&clocks CLK_HSMMC3>,
423 hsotg: hsotg@ec000000 {
424 compatible = "samsung,s3c6400-hsotg";
425 reg = <0xec000000 0x20000>;
426 interrupt-parent = <&vic1>;
428 clocks = <&clocks CLK_USB_OTG>;
430 phy-names = "usb2-phy";
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";
445 ehci: ehci@ec200000 {
446 compatible = "samsung,exynos4210-ehci";
447 reg = <0xec200000 0x100>;
449 interrupt-parent = <&vic1>;
450 clocks = <&clocks CLK_USB_HOST>;
451 clock-names = "usbhost";
452 #address-cells = <1>;
462 ohci: ohci@ec300000 {
463 compatible = "samsung,exynos4210-ohci";
464 reg = <0xec300000 0x100>;
466 clocks = <&clocks CLK_USB_HOST>;
467 clock-names = "usbhost";
468 #address-cells = <1>;
478 mfc: codec@f1700000 {
479 compatible = "samsung,mfc-v5";
480 reg = <0xf1700000 0x10000>;
481 interrupt-parent = <&vic2>;
483 clocks = <&clocks DOUT_MFC>, <&clocks CLK_MFC>;
484 clock-names = "sclk_mfc", "mfc";
487 vic0: interrupt-controller@f2000000 {
488 compatible = "arm,pl192-vic";
489 interrupt-controller;
490 reg = <0xf2000000 0x1000>;
491 #interrupt-cells = <1>;
494 vic1: interrupt-controller@f2100000 {
495 compatible = "arm,pl192-vic";
496 interrupt-controller;
497 reg = <0xf2100000 0x1000>;
498 #interrupt-cells = <1>;
501 vic2: interrupt-controller@f2200000 {
502 compatible = "arm,pl192-vic";
503 interrupt-controller;
504 reg = <0xf2200000 0x1000>;
505 #interrupt-cells = <1>;
508 vic3: interrupt-controller@f2300000 {
509 compatible = "arm,pl192-vic";
510 interrupt-controller;
511 reg = <0xf2300000 0x1000>;
512 #interrupt-cells = <1>;
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";
527 compatible = "samsung,s5pv210-g2d";
528 reg = <0xfa000000 0x1000>;
529 interrupt-parent = <&vic2>;
531 clocks = <&clocks DOUT_G2D>, <&clocks CLK_G2D>;
532 clock-names = "sclk_fimg2d", "fimg2d";
535 mdma1: mdma@fa200000 {
536 compatible = "arm,pl330", "arm,primecell";
537 reg = <0xfa200000 0x1000>;
538 interrupt-parent = <&vic0>;
540 clocks = <&clocks CLK_MDMA>;
541 clock-names = "apb_pclk";
548 compatible = "samsung,s3c2440-i2c";
549 reg = <0xfab00000 0x1000>;
550 interrupt-parent = <&vic2>;
552 clocks = <&clocks CLK_I2C1>;
554 pinctrl-names = "default";
555 pinctrl-0 = <&i2c1_bus>;
556 #address-cells = <1>;
562 compatible = "samsung,fimc", "simple-bus";
563 pinctrl-names = "default";
565 clocks = <&clocks SCLK_CAM0>, <&clocks SCLK_CAM1>;
566 clock-names = "sclk_cam0", "sclk_cam1";
567 #address-cells = <1>;
571 clock_cam: clock-controller {
575 csis0: csis@fa600000 {
576 compatible = "samsung,s5pv210-csis";
577 reg = <0xfa600000 0x4000>;
578 interrupt-parent = <&vic2>;
580 clocks = <&clocks CLK_CSIS>,
582 clock-names = "clk_csis",
586 #address-cells = <1>;
590 fimc0: fimc@fb200000 {
591 compatible = "samsung,s5pv210-fimc";
592 reg = <0xfb200000 0x1000>;
594 interrupt-parent = <&vic2>;
595 clocks = <&clocks CLK_FIMC0>,
596 <&clocks SCLK_FIMC0>;
597 clock-names = "fimc",
599 samsung,pix-limits = <4224 8192 1920 4224>;
600 samsung,mainscaler-ext;
604 fimc1: fimc@fb300000 {
605 compatible = "samsung,s5pv210-fimc";
606 reg = <0xfb300000 0x1000>;
607 interrupt-parent = <&vic2>;
609 clocks = <&clocks CLK_FIMC1>,
610 <&clocks SCLK_FIMC1>;
611 clock-names = "fimc",
613 samsung,pix-limits = <4224 8192 1920 4224>;
614 samsung,mainscaler-ext;
618 fimc2: fimc@fb400000 {
619 compatible = "samsung,s5pv210-fimc";
620 reg = <0xfb400000 0x1000>;
621 interrupt-parent = <&vic2>;
623 clocks = <&clocks CLK_FIMC2>,
624 <&clocks SCLK_FIMC2>;
625 clock-names = "fimc",
627 samsung,pix-limits = <4224 8192 1920 4224>;
628 samsung,mainscaler-ext;
635 #include "s5pv210-pinctrl.dtsi"