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";
105 reg = <0xe0100000 0x10000>;
106 clock-names = "xxti", "xusbxti";
107 clocks = <&xxti>, <&xusbxti>;
111 pmu_syscon: syscon@e0108000 {
112 compatible = "samsung-s5pv210-pmu", "syscon";
113 reg = <0xe0108000 0x8000>;
116 pinctrl0: pinctrl@e0200000 {
117 compatible = "samsung,s5pv210-pinctrl";
118 reg = <0xe0200000 0x1000>;
119 interrupt-parent = <&vic0>;
122 wakeup-interrupt-controller {
123 compatible = "samsung,exynos4210-wakeup-eint";
125 interrupt-parent = <&vic0>;
129 pdma0: dma@e0900000 {
130 compatible = "arm,pl330", "arm,primecell";
131 reg = <0xe0900000 0x1000>;
132 interrupt-parent = <&vic0>;
134 clocks = <&clocks CLK_PDMA0>;
135 clock-names = "apb_pclk";
138 #dma-requests = <32>;
141 pdma1: dma@e0a00000 {
142 compatible = "arm,pl330", "arm,primecell";
143 reg = <0xe0a00000 0x1000>;
144 interrupt-parent = <&vic0>;
146 clocks = <&clocks CLK_PDMA1>;
147 clock-names = "apb_pclk";
150 #dma-requests = <32>;
154 compatible = "samsung,s5pv210-spi";
155 reg = <0xe1300000 0x1000>;
156 interrupt-parent = <&vic1>;
158 dmas = <&pdma0 7>, <&pdma0 6>;
159 dma-names = "tx", "rx";
160 clocks = <&clocks SCLK_SPI0>, <&clocks CLK_SPI0>;
161 clock-names = "spi", "spi_busclk0";
162 pinctrl-names = "default";
163 pinctrl-0 = <&spi0_bus>;
164 #address-cells = <1>;
170 compatible = "samsung,s5pv210-spi";
171 reg = <0xe1400000 0x1000>;
172 interrupt-parent = <&vic1>;
174 dmas = <&pdma1 7>, <&pdma1 6>;
175 dma-names = "tx", "rx";
176 clocks = <&clocks SCLK_SPI1>, <&clocks CLK_SPI1>;
177 clock-names = "spi", "spi_busclk0";
178 pinctrl-names = "default";
179 pinctrl-0 = <&spi1_bus>;
180 #address-cells = <1>;
185 keypad: keypad@e1600000 {
186 compatible = "samsung,s5pv210-keypad";
187 reg = <0xe1600000 0x1000>;
188 interrupt-parent = <&vic2>;
190 clocks = <&clocks CLK_KEYIF>;
191 clock-names = "keypad";
196 compatible = "samsung,s3c2440-i2c";
197 reg = <0xe1800000 0x1000>;
198 interrupt-parent = <&vic1>;
200 clocks = <&clocks CLK_I2C0>;
202 pinctrl-names = "default";
203 pinctrl-0 = <&i2c0_bus>;
204 #address-cells = <1>;
210 compatible = "samsung,s3c2440-i2c";
211 reg = <0xe1a00000 0x1000>;
212 interrupt-parent = <&vic1>;
214 clocks = <&clocks CLK_I2C2>;
216 pinctrl-0 = <&i2c2_bus>;
217 pinctrl-names = "default";
218 #address-cells = <1>;
223 clk_audss: clock-controller@eee10000 {
224 compatible = "samsung,s5pv210-audss-clock";
225 reg = <0xeee10000 0x1000>;
226 clock-names = "hclk", "xxti",
229 clocks = <&clocks DOUT_HCLKP>, <&xxti>,
231 <&clocks SCLK_AUDIO0>;
236 compatible = "samsung,s5pv210-i2s";
237 reg = <0xeee30000 0x1000>;
238 interrupt-parent = <&vic2>;
240 dma-names = "rx", "tx", "tx-sec";
241 dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
245 clocks = <&clk_audss CLK_I2S>,
246 <&clk_audss CLK_I2S>,
247 <&clk_audss CLK_DOUT_AUD_BUS>;
248 samsung,idma-addr = <0xc0010000>;
249 pinctrl-names = "default";
250 pinctrl-0 = <&i2s0_bus>;
251 #sound-dai-cells = <0>;
256 compatible = "samsung,s3c6410-i2s";
257 reg = <0xe2100000 0x1000>;
258 interrupt-parent = <&vic2>;
260 dma-names = "rx", "tx";
261 dmas = <&pdma1 12>, <&pdma1 13>;
262 clock-names = "iis", "i2s_opclk0";
263 clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>;
264 pinctrl-names = "default";
265 pinctrl-0 = <&i2s1_bus>;
266 #sound-dai-cells = <0>;
271 compatible = "samsung,s3c6410-i2s";
272 reg = <0xe2a00000 0x1000>;
273 interrupt-parent = <&vic2>;
275 dma-names = "rx", "tx";
276 dmas = <&pdma1 14>, <&pdma1 15>;
277 clock-names = "iis", "i2s_opclk0";
278 clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>;
279 pinctrl-names = "default";
280 pinctrl-0 = <&i2s2_bus>;
281 #sound-dai-cells = <0>;
286 compatible = "samsung,s5pc100-pwm";
287 reg = <0xe2500000 0x1000>;
288 interrupt-parent = <&vic0>;
289 interrupts = <21>, <22>, <23>, <24>, <25>;
290 clock-names = "timers";
291 clocks = <&clocks CLK_PWM>;
295 watchdog: watchdog@e2700000 {
296 compatible = "samsung,s3c2410-wdt";
297 reg = <0xe2700000 0x1000>;
298 interrupt-parent = <&vic0>;
300 clock-names = "watchdog";
301 clocks = <&clocks CLK_WDT>;
305 compatible = "samsung,s3c6410-rtc";
306 reg = <0xe2800000 0x100>;
307 interrupt-parent = <&vic0>;
308 interrupts = <28>, <29>;
309 clocks = <&clocks CLK_RTC>;
314 uart0: serial@e2900000 {
315 compatible = "samsung,s5pv210-uart";
316 reg = <0xe2900000 0x400>;
317 interrupt-parent = <&vic1>;
319 clock-names = "uart", "clk_uart_baud0",
321 clocks = <&clocks CLK_UART0>, <&clocks CLK_UART0>,
322 <&clocks SCLK_UART0>;
326 uart1: serial@e2900400 {
327 compatible = "samsung,s5pv210-uart";
328 reg = <0xe2900400 0x400>;
329 interrupt-parent = <&vic1>;
331 clock-names = "uart", "clk_uart_baud0",
333 clocks = <&clocks CLK_UART1>, <&clocks CLK_UART1>,
334 <&clocks SCLK_UART1>;
338 uart2: serial@e2900800 {
339 compatible = "samsung,s5pv210-uart";
340 reg = <0xe2900800 0x400>;
341 interrupt-parent = <&vic1>;
343 clock-names = "uart", "clk_uart_baud0",
345 clocks = <&clocks CLK_UART2>, <&clocks CLK_UART2>,
346 <&clocks SCLK_UART2>;
350 uart3: serial@e2900c00 {
351 compatible = "samsung,s5pv210-uart";
352 reg = <0xe2900c00 0x400>;
353 interrupt-parent = <&vic1>;
355 clock-names = "uart", "clk_uart_baud0",
357 clocks = <&clocks CLK_UART3>, <&clocks CLK_UART3>,
358 <&clocks SCLK_UART3>;
362 sdhci0: sdhci@eb000000 {
363 compatible = "samsung,s3c6410-sdhci";
364 reg = <0xeb000000 0x100000>;
365 interrupt-parent = <&vic1>;
367 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
368 clocks = <&clocks CLK_HSMMC0>, <&clocks CLK_HSMMC0>,
373 sdhci1: sdhci@eb100000 {
374 compatible = "samsung,s3c6410-sdhci";
375 reg = <0xeb100000 0x100000>;
376 interrupt-parent = <&vic1>;
378 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
379 clocks = <&clocks CLK_HSMMC1>, <&clocks CLK_HSMMC1>,
384 sdhci2: sdhci@eb200000 {
385 compatible = "samsung,s3c6410-sdhci";
386 reg = <0xeb200000 0x100000>;
387 interrupt-parent = <&vic1>;
389 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
390 clocks = <&clocks CLK_HSMMC2>, <&clocks CLK_HSMMC2>,
395 sdhci3: sdhci@eb300000 {
396 compatible = "samsung,s3c6410-sdhci";
397 reg = <0xeb300000 0x100000>;
398 interrupt-parent = <&vic3>;
400 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";
401 clocks = <&clocks CLK_HSMMC3>, <&clocks CLK_HSMMC3>,
406 hsotg: hsotg@ec000000 {
407 compatible = "samsung,s3c6400-hsotg";
408 reg = <0xec000000 0x20000>;
409 interrupt-parent = <&vic1>;
411 clocks = <&clocks CLK_USB_OTG>;
413 phy-names = "usb2-phy";
418 usbphy: usbphy@ec100000 {
419 compatible = "samsung,s5pv210-usb2-phy";
420 reg = <0xec100000 0x100>;
421 samsung,pmureg-phandle = <&pmu_syscon>;
422 clocks = <&clocks CLK_USB_OTG>, <&xusbxti>;
423 clock-names = "phy", "ref";
428 ehci: ehci@ec200000 {
429 compatible = "samsung,exynos4210-ehci";
430 reg = <0xec200000 0x100>;
432 interrupt-parent = <&vic1>;
433 clocks = <&clocks CLK_USB_HOST>;
434 clock-names = "usbhost";
435 #address-cells = <1>;
445 ohci: ohci@ec300000 {
446 compatible = "samsung,exynos4210-ohci";
447 reg = <0xec300000 0x100>;
449 interrupt-parent = <&vic1>;
450 clocks = <&clocks CLK_USB_HOST>;
451 clock-names = "usbhost";
452 #address-cells = <1>;
462 mfc: codec@f1700000 {
463 compatible = "samsung,mfc-v5";
464 reg = <0xf1700000 0x10000>;
465 interrupt-parent = <&vic2>;
467 clocks = <&clocks DOUT_MFC>, <&clocks CLK_MFC>;
468 clock-names = "sclk_mfc", "mfc";
471 vic0: interrupt-controller@f2000000 {
472 compatible = "arm,pl192-vic";
473 interrupt-controller;
474 reg = <0xf2000000 0x1000>;
475 #interrupt-cells = <1>;
478 vic1: interrupt-controller@f2100000 {
479 compatible = "arm,pl192-vic";
480 interrupt-controller;
481 reg = <0xf2100000 0x1000>;
482 #interrupt-cells = <1>;
485 vic2: interrupt-controller@f2200000 {
486 compatible = "arm,pl192-vic";
487 interrupt-controller;
488 reg = <0xf2200000 0x1000>;
489 #interrupt-cells = <1>;
492 vic3: interrupt-controller@f2300000 {
493 compatible = "arm,pl192-vic";
494 interrupt-controller;
495 reg = <0xf2300000 0x1000>;
496 #interrupt-cells = <1>;
499 fimd: fimd@f8000000 {
500 compatible = "samsung,exynos4210-fimd";
501 interrupt-parent = <&vic2>;
502 reg = <0xf8000000 0x20000>;
503 interrupt-names = "fifo", "vsync", "lcd_sys";
504 interrupts = <0>, <1>, <2>;
505 clocks = <&clocks SCLK_FIMD>, <&clocks CLK_FIMD>;
506 clock-names = "sclk_fimd", "fimd";
511 compatible = "samsung,s5pv210-g2d";
512 reg = <0xfa000000 0x1000>;
513 interrupt-parent = <&vic2>;
515 clocks = <&clocks DOUT_G2D>, <&clocks CLK_G2D>;
516 clock-names = "sclk_fimg2d", "fimg2d";
519 mdma1: mdma@fa200000 {
520 compatible = "arm,pl330", "arm,primecell";
521 reg = <0xfa200000 0x1000>;
522 interrupt-parent = <&vic0>;
524 clocks = <&clocks CLK_MDMA>;
525 clock-names = "apb_pclk";
532 compatible = "samsung,s3c2440-i2c";
533 reg = <0xfab00000 0x1000>;
534 interrupt-parent = <&vic2>;
536 clocks = <&clocks CLK_I2C1>;
538 pinctrl-names = "default";
539 pinctrl-0 = <&i2c1_bus>;
540 #address-cells = <1>;
546 compatible = "samsung,fimc", "simple-bus";
547 pinctrl-names = "default";
549 clocks = <&clocks SCLK_CAM0>, <&clocks SCLK_CAM1>;
550 clock-names = "sclk_cam0", "sclk_cam1";
551 #address-cells = <1>;
555 clock_cam: clock-controller {
559 csis0: csis@fa600000 {
560 compatible = "samsung,s5pv210-csis";
561 reg = <0xfa600000 0x4000>;
562 interrupt-parent = <&vic2>;
564 clocks = <&clocks CLK_CSIS>,
566 clock-names = "clk_csis",
570 #address-cells = <1>;
574 fimc0: fimc@fb200000 {
575 compatible = "samsung,s5pv210-fimc";
576 reg = <0xfb200000 0x1000>;
578 interrupt-parent = <&vic2>;
579 clocks = <&clocks CLK_FIMC0>,
580 <&clocks SCLK_FIMC0>;
581 clock-names = "fimc",
583 samsung,pix-limits = <4224 8192 1920 4224>;
584 samsung,mainscaler-ext;
588 fimc1: fimc@fb300000 {
589 compatible = "samsung,s5pv210-fimc";
590 reg = <0xfb300000 0x1000>;
591 interrupt-parent = <&vic2>;
593 clocks = <&clocks CLK_FIMC1>,
594 <&clocks SCLK_FIMC1>;
595 clock-names = "fimc",
597 samsung,pix-limits = <4224 8192 1920 4224>;
598 samsung,mainscaler-ext;
602 fimc2: fimc@fb400000 {
603 compatible = "samsung,s5pv210-fimc";
604 reg = <0xfb400000 0x1000>;
605 interrupt-parent = <&vic2>;
607 clocks = <&clocks CLK_FIMC2>,
608 <&clocks SCLK_FIMC2>;
609 clock-names = "fimc",
611 samsung,pix-limits = <4224 8192 1920 4224>;
612 samsung,mainscaler-ext;
619 #include "s5pv210-pinctrl.dtsi"