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 "skeleton.dtsi"
23 #include <dt-bindings/clock/s5pv210.h>
24 #include <dt-bindings/clock/s5pv210-audss.h>
49 compatible = "arm,cortex-a8";
55 compatible = "simple-bus";
61 compatible = "simple-bus";
66 compatible = "fixed-clock";
68 clock-frequency = <0>;
69 clock-output-names = "xxti";
73 xusbxti: oscillator@1 {
74 compatible = "fixed-clock";
76 clock-frequency = <0>;
77 clock-output-names = "xusbxti";
82 onenand: onenand@b0000000 {
83 compatible = "samsung,s5pv210-onenand";
84 reg = <0xb0600000 0x2000>,
87 interrupt-parent = <&vic1>;
89 clocks = <&clocks CLK_NANDXL>, <&clocks DOUT_FLASH>;
90 clock-names = "bus", "onenand";
97 compatible = "samsung,s5pv210-chipid";
98 reg = <0xe0000000 0x1000>;
101 clocks: clock-controller@e0100000 {
102 compatible = "samsung,s5pv210-clock";
103 reg = <0xe0100000 0x10000>;
104 clock-names = "xxti", "xusbxti";
105 clocks = <&xxti>, <&xusbxti>;
109 pmu_syscon: syscon@e0108000 {
110 compatible = "samsung-s5pv210-pmu", "syscon";
111 reg = <0xe0108000 0x8000>;
114 pinctrl0: pinctrl@e0200000 {
115 compatible = "samsung,s5pv210-pinctrl";
116 reg = <0xe0200000 0x1000>;
117 interrupt-parent = <&vic0>;
120 wakeup-interrupt-controller {
121 compatible = "samsung,exynos4210-wakeup-eint";
123 interrupt-parent = <&vic0>;
128 #address-cells = <1>;
130 compatible = "arm,amba-bus";
133 pdma0: dma@e0900000 {
134 compatible = "arm,pl330", "arm,primecell";
135 reg = <0xe0900000 0x1000>;
136 interrupt-parent = <&vic0>;
138 clocks = <&clocks CLK_PDMA0>;
139 clock-names = "apb_pclk";
142 #dma-requests = <32>;
145 pdma1: dma@e0a00000 {
146 compatible = "arm,pl330", "arm,primecell";
147 reg = <0xe0a00000 0x1000>;
148 interrupt-parent = <&vic0>;
150 clocks = <&clocks CLK_PDMA1>;
151 clock-names = "apb_pclk";
154 #dma-requests = <32>;
159 compatible = "samsung,s5pv210-spi";
160 reg = <0xe1300000 0x1000>;
161 interrupt-parent = <&vic1>;
163 dmas = <&pdma0 7>, <&pdma0 6>;
164 dma-names = "tx", "rx";
165 clocks = <&clocks SCLK_SPI0>, <&clocks CLK_SPI0>;
166 clock-names = "spi", "spi_busclk0";
167 pinctrl-names = "default";
168 pinctrl-0 = <&spi0_bus>;
169 #address-cells = <1>;
175 compatible = "samsung,s5pv210-spi";
176 reg = <0xe1400000 0x1000>;
177 interrupt-parent = <&vic1>;
179 dmas = <&pdma1 7>, <&pdma1 6>;
180 dma-names = "tx", "rx";
181 clocks = <&clocks SCLK_SPI1>, <&clocks CLK_SPI1>;
182 clock-names = "spi", "spi_busclk0";
183 pinctrl-names = "default";
184 pinctrl-0 = <&spi1_bus>;
185 #address-cells = <1>;
190 keypad: keypad@e1600000 {
191 compatible = "samsung,s5pv210-keypad";
192 reg = <0xe1600000 0x1000>;
193 interrupt-parent = <&vic2>;
195 clocks = <&clocks CLK_KEYIF>;
196 clock-names = "keypad";
201 compatible = "samsung,s3c2440-i2c";
202 reg = <0xe1800000 0x1000>;
203 interrupt-parent = <&vic1>;
205 clocks = <&clocks CLK_I2C0>;
207 pinctrl-names = "default";
208 pinctrl-0 = <&i2c0_bus>;
209 #address-cells = <1>;
215 compatible = "samsung,s3c2440-i2c";
216 reg = <0xe1a00000 0x1000>;
217 interrupt-parent = <&vic1>;
219 clocks = <&clocks CLK_I2C2>;
221 pinctrl-0 = <&i2c2_bus>;
222 pinctrl-names = "default";
223 #address-cells = <1>;
228 clk_audss: clock-controller@eee10000 {
229 compatible = "samsung,s5pv210-audss-clock";
230 reg = <0xeee10000 0x1000>;
231 clock-names = "hclk", "xxti",
234 clocks = <&clocks DOUT_HCLKP>, <&xxti>,
236 <&clocks SCLK_AUDIO0>;
241 compatible = "samsung,s5pv210-i2s";
242 reg = <0xeee30000 0x1000>;
243 interrupt-parent = <&vic2>;
245 dma-names = "rx", "tx", "tx-sec";
246 dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
250 clocks = <&clk_audss CLK_I2S>,
251 <&clk_audss CLK_I2S>,
252 <&clk_audss CLK_DOUT_AUD_BUS>;
253 samsung,idma-addr = <0xc0010000>;
254 pinctrl-names = "default";
255 pinctrl-0 = <&i2s0_bus>;
256 #sound-dai-cells = <0>;
261 compatible = "samsung,s3c6410-i2s";
262 reg = <0xe2100000 0x1000>;
263 interrupt-parent = <&vic2>;
265 dma-names = "rx", "tx";
266 dmas = <&pdma1 12>, <&pdma1 13>;
267 clock-names = "iis", "i2s_opclk0";
268 clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>;
269 pinctrl-names = "default";
270 pinctrl-0 = <&i2s1_bus>;
271 #sound-dai-cells = <0>;
276 compatible = "samsung,s3c6410-i2s";
277 reg = <0xe2a00000 0x1000>;
278 interrupt-parent = <&vic2>;
280 dma-names = "rx", "tx";
281 dmas = <&pdma1 14>, <&pdma1 15>;
282 clock-names = "iis", "i2s_opclk0";
283 clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>;
284 pinctrl-names = "default";
285 pinctrl-0 = <&i2s2_bus>;
286 #sound-dai-cells = <0>;
291 compatible = "samsung,s5pc100-pwm";
292 reg = <0xe2500000 0x1000>;
293 interrupt-parent = <&vic0>;
294 interrupts = <21>, <22>, <23>, <24>, <25>;
295 clock-names = "timers";
296 clocks = <&clocks CLK_PWM>;
300 watchdog: watchdog@e2700000 {
301 compatible = "samsung,s3c2410-wdt";
302 reg = <0xe2700000 0x1000>;
303 interrupt-parent = <&vic0>;
305 clock-names = "watchdog";
306 clocks = <&clocks CLK_WDT>;
310 compatible = "samsung,s3c6410-rtc";
311 reg = <0xe2800000 0x100>;
312 interrupt-parent = <&vic0>;
313 interrupts = <28>, <29>;
314 clocks = <&clocks CLK_RTC>;
319 uart0: serial@e2900000 {
320 compatible = "samsung,s5pv210-uart";
321 reg = <0xe2900000 0x400>;
322 interrupt-parent = <&vic1>;
324 clock-names = "uart", "clk_uart_baud0",
326 clocks = <&clocks CLK_UART0>, <&clocks CLK_UART0>,
327 <&clocks SCLK_UART0>;
331 uart1: serial@e2900400 {
332 compatible = "samsung,s5pv210-uart";
333 reg = <0xe2900400 0x400>;
334 interrupt-parent = <&vic1>;
336 clock-names = "uart", "clk_uart_baud0",
338 clocks = <&clocks CLK_UART1>, <&clocks CLK_UART1>,
339 <&clocks SCLK_UART1>;
343 uart2: serial@e2900800 {
344 compatible = "samsung,s5pv210-uart";
345 reg = <0xe2900800 0x400>;
346 interrupt-parent = <&vic1>;
348 clock-names = "uart", "clk_uart_baud0",
350 clocks = <&clocks CLK_UART2>, <&clocks CLK_UART2>,
351 <&clocks SCLK_UART2>;
355 uart3: serial@e2900c00 {
356 compatible = "samsung,s5pv210-uart";
357 reg = <0xe2900c00 0x400>;
358 interrupt-parent = <&vic1>;
360 clock-names = "uart", "clk_uart_baud0",
362 clocks = <&clocks CLK_UART3>, <&clocks CLK_UART3>,
363 <&clocks SCLK_UART3>;
367 sdhci0: sdhci@eb000000 {
368 compatible = "samsung,s3c6410-sdhci";
369 reg = <0xeb000000 0x100000>;
370 interrupt-parent = <&vic1>;
372 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
373 clocks = <&clocks CLK_HSMMC0>, <&clocks CLK_HSMMC0>,
378 sdhci1: sdhci@eb100000 {
379 compatible = "samsung,s3c6410-sdhci";
380 reg = <0xeb100000 0x100000>;
381 interrupt-parent = <&vic1>;
383 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
384 clocks = <&clocks CLK_HSMMC1>, <&clocks CLK_HSMMC1>,
389 sdhci2: sdhci@eb200000 {
390 compatible = "samsung,s3c6410-sdhci";
391 reg = <0xeb200000 0x100000>;
392 interrupt-parent = <&vic1>;
394 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
395 clocks = <&clocks CLK_HSMMC2>, <&clocks CLK_HSMMC2>,
400 sdhci3: sdhci@eb300000 {
401 compatible = "samsung,s3c6410-sdhci";
402 reg = <0xeb300000 0x100000>;
403 interrupt-parent = <&vic3>;
405 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";
406 clocks = <&clocks CLK_HSMMC3>, <&clocks CLK_HSMMC3>,
411 hsotg: hsotg@ec000000 {
412 compatible = "samsung,s3c6400-hsotg";
413 reg = <0xec000000 0x20000>;
414 interrupt-parent = <&vic1>;
416 clocks = <&clocks CLK_USB_OTG>;
418 phy-names = "usb2-phy";
423 usbphy: usbphy@ec100000 {
424 compatible = "samsung,s5pv210-usb2-phy";
425 reg = <0xec100000 0x100>;
426 samsung,pmureg-phandle = <&pmu_syscon>;
427 clocks = <&clocks CLK_USB_OTG>, <&xusbxti>;
428 clock-names = "phy", "ref";
433 ehci: ehci@ec200000 {
434 compatible = "samsung,exynos4210-ehci";
435 reg = <0xec200000 0x100>;
437 interrupt-parent = <&vic1>;
438 clocks = <&clocks CLK_USB_HOST>;
439 clock-names = "usbhost";
440 #address-cells = <1>;
450 ohci: ohci@ec300000 {
451 compatible = "samsung,exynos4210-ohci";
452 reg = <0xec300000 0x100>;
454 interrupt-parent = <&vic1>;
455 clocks = <&clocks CLK_USB_HOST>;
456 clock-names = "usbhost";
457 #address-cells = <1>;
467 mfc: codec@f1700000 {
468 compatible = "samsung,mfc-v5";
469 reg = <0xf1700000 0x10000>;
470 interrupt-parent = <&vic2>;
472 clocks = <&clocks DOUT_MFC>, <&clocks CLK_MFC>;
473 clock-names = "sclk_mfc", "mfc";
476 vic0: interrupt-controller@f2000000 {
477 compatible = "arm,pl192-vic";
478 interrupt-controller;
479 reg = <0xf2000000 0x1000>;
480 #interrupt-cells = <1>;
483 vic1: interrupt-controller@f2100000 {
484 compatible = "arm,pl192-vic";
485 interrupt-controller;
486 reg = <0xf2100000 0x1000>;
487 #interrupt-cells = <1>;
490 vic2: interrupt-controller@f2200000 {
491 compatible = "arm,pl192-vic";
492 interrupt-controller;
493 reg = <0xf2200000 0x1000>;
494 #interrupt-cells = <1>;
497 vic3: interrupt-controller@f2300000 {
498 compatible = "arm,pl192-vic";
499 interrupt-controller;
500 reg = <0xf2300000 0x1000>;
501 #interrupt-cells = <1>;
504 fimd: fimd@f8000000 {
505 compatible = "samsung,exynos4210-fimd";
506 interrupt-parent = <&vic2>;
507 reg = <0xf8000000 0x20000>;
508 interrupt-names = "fifo", "vsync", "lcd_sys";
509 interrupts = <0>, <1>, <2>;
510 clocks = <&clocks SCLK_FIMD>, <&clocks CLK_FIMD>;
511 clock-names = "sclk_fimd", "fimd";
516 compatible = "samsung,s5pv210-g2d";
517 reg = <0xfa000000 0x1000>;
518 interrupt-parent = <&vic2>;
520 clocks = <&clocks DOUT_G2D>, <&clocks CLK_G2D>;
521 clock-names = "sclk_fimg2d", "fimg2d";
524 mdma1: mdma@fa200000 {
525 compatible = "arm,pl330", "arm,primecell";
526 reg = <0xfa200000 0x1000>;
527 interrupt-parent = <&vic0>;
529 clocks = <&clocks CLK_MDMA>;
530 clock-names = "apb_pclk";
537 compatible = "samsung,s3c2440-i2c";
538 reg = <0xfab00000 0x1000>;
539 interrupt-parent = <&vic2>;
541 clocks = <&clocks CLK_I2C1>;
543 pinctrl-names = "default";
544 pinctrl-0 = <&i2c1_bus>;
545 #address-cells = <1>;
551 compatible = "samsung,fimc", "simple-bus";
552 pinctrl-names = "default";
554 clocks = <&clocks SCLK_CAM0>, <&clocks SCLK_CAM1>;
555 clock-names = "sclk_cam0", "sclk_cam1";
556 #address-cells = <1>;
560 clock_cam: clock-controller {
564 csis0: csis@fa600000 {
565 compatible = "samsung,s5pv210-csis";
566 reg = <0xfa600000 0x4000>;
567 interrupt-parent = <&vic2>;
569 clocks = <&clocks CLK_CSIS>,
571 clock-names = "clk_csis",
575 #address-cells = <1>;
579 fimc0: fimc@fb200000 {
580 compatible = "samsung,s5pv210-fimc";
581 reg = <0xfb200000 0x1000>;
583 interrupt-parent = <&vic2>;
584 clocks = <&clocks CLK_FIMC0>,
585 <&clocks SCLK_FIMC0>;
586 clock-names = "fimc",
588 samsung,pix-limits = <4224 8192 1920 4224>;
589 samsung,mainscaler-ext;
593 fimc1: fimc@fb300000 {
594 compatible = "samsung,s5pv210-fimc";
595 reg = <0xfb300000 0x1000>;
596 interrupt-parent = <&vic2>;
598 clocks = <&clocks CLK_FIMC1>,
599 <&clocks SCLK_FIMC1>;
600 clock-names = "fimc",
602 samsung,pix-limits = <4224 8192 1920 4224>;
603 samsung,mainscaler-ext;
607 fimc2: fimc@fb400000 {
608 compatible = "samsung,s5pv210-fimc";
609 reg = <0xfb400000 0x1000>;
610 interrupt-parent = <&vic2>;
612 clocks = <&clocks CLK_FIMC2>,
613 <&clocks SCLK_FIMC2>;
614 clock-names = "fimc",
616 samsung,pix-limits = <4224 8192 1920 4224>;
617 samsung,mainscaler-ext;
624 #include "s5pv210-pinctrl.dtsi"