1 // SPDX-License-Identifier: GPL-2.0
3 * Samsung's S5PV210 SoC device tree source
5 * Copyright (c) 2013-2014 Samsung Electronics, Co. Ltd.
7 * Mateusz Krawczuk <m.krawczuk@partner.samsung.com>
8 * Tomasz Figa <t.figa@samsung.com>
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
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.
19 #include <dt-bindings/clock/s5pv210.h>
20 #include <dt-bindings/clock/s5pv210-audss.h>
50 compatible = "arm,cortex-a8";
56 compatible = "simple-bus";
62 compatible = "simple-bus";
67 compatible = "fixed-clock";
69 clock-frequency = <0>;
70 clock-output-names = "xxti";
74 xusbxti: oscillator@1 {
75 compatible = "fixed-clock";
77 clock-frequency = <0>;
78 clock-output-names = "xusbxti";
83 onenand: onenand@b0600000 {
84 compatible = "samsung,s5pv210-onenand";
85 reg = <0xb0600000 0x2000>,
88 interrupt-parent = <&vic1>;
90 clocks = <&clocks CLK_NANDXL>, <&clocks DOUT_FLASH>;
91 clock-names = "bus", "onenand";
98 compatible = "samsung,s5pv210-chipid";
99 reg = <0xe0000000 0x1000>;
102 clocks: clock-controller@e0100000 {
103 compatible = "samsung,s5pv210-clock", "simple-bus";
104 reg = <0xe0100000 0x10000>;
105 clock-names = "xxti", "xusbxti";
106 clocks = <&xxti>, <&xusbxti>;
108 #address-cells = <1>;
112 pmu_syscon: syscon@e0108000 {
113 compatible = "samsung-s5pv210-pmu", "syscon";
114 reg = <0xe0108000 0x8000>;
118 pinctrl0: pinctrl@e0200000 {
119 compatible = "samsung,s5pv210-pinctrl";
120 reg = <0xe0200000 0x1000>;
121 interrupt-parent = <&vic0>;
124 wakeup-interrupt-controller {
125 compatible = "samsung,s5pv210-wakeup-eint";
127 interrupt-parent = <&vic0>;
132 #address-cells = <1>;
134 compatible = "simple-bus";
137 pdma0: dma@e0900000 {
138 compatible = "arm,pl330", "arm,primecell";
139 reg = <0xe0900000 0x1000>;
140 interrupt-parent = <&vic0>;
142 clocks = <&clocks CLK_PDMA0>;
143 clock-names = "apb_pclk";
146 #dma-requests = <32>;
149 pdma1: dma@e0a00000 {
150 compatible = "arm,pl330", "arm,primecell";
151 reg = <0xe0a00000 0x1000>;
152 interrupt-parent = <&vic0>;
154 clocks = <&clocks CLK_PDMA1>;
155 clock-names = "apb_pclk";
158 #dma-requests = <32>;
163 compatible = "samsung,s5pv210-spi";
164 reg = <0xe1300000 0x1000>;
165 interrupt-parent = <&vic1>;
167 dmas = <&pdma0 7>, <&pdma0 6>;
168 dma-names = "tx", "rx";
169 clocks = <&clocks SCLK_SPI0>, <&clocks CLK_SPI0>;
170 clock-names = "spi", "spi_busclk0";
171 pinctrl-names = "default";
172 pinctrl-0 = <&spi0_bus>;
173 #address-cells = <1>;
179 compatible = "samsung,s5pv210-spi";
180 reg = <0xe1400000 0x1000>;
181 interrupt-parent = <&vic1>;
183 dmas = <&pdma1 7>, <&pdma1 6>;
184 dma-names = "tx", "rx";
185 clocks = <&clocks SCLK_SPI1>, <&clocks CLK_SPI1>;
186 clock-names = "spi", "spi_busclk0";
187 pinctrl-names = "default";
188 pinctrl-0 = <&spi1_bus>;
189 #address-cells = <1>;
194 keypad: keypad@e1600000 {
195 compatible = "samsung,s5pv210-keypad";
196 reg = <0xe1600000 0x1000>;
197 interrupt-parent = <&vic2>;
199 clocks = <&clocks CLK_KEYIF>;
200 clock-names = "keypad";
205 compatible = "samsung,s3c2440-i2c";
206 reg = <0xe1800000 0x1000>;
207 interrupt-parent = <&vic1>;
209 clocks = <&clocks CLK_I2C0>;
211 pinctrl-names = "default";
212 pinctrl-0 = <&i2c0_bus>;
213 #address-cells = <1>;
219 compatible = "samsung,s3c2440-i2c";
220 reg = <0xe1a00000 0x1000>;
221 interrupt-parent = <&vic1>;
223 clocks = <&clocks CLK_I2C2>;
225 pinctrl-0 = <&i2c2_bus>;
226 pinctrl-names = "default";
227 #address-cells = <1>;
233 compatible = "samsung,s5pv210-audss", "simple-bus";
234 #address-cells = <1>;
238 clk_audss: clock-controller@eee10000 {
239 compatible = "samsung,s5pv210-audss-clock";
240 reg = <0xeee10000 0x1000>;
241 clock-names = "hclk", "xxti",
244 clocks = <&clocks DOUT_HCLKP>, <&xxti>,
246 <&clocks SCLK_AUDIO0>;
251 compatible = "samsung,s5pv210-i2s";
252 reg = <0xeee30000 0x1000>;
253 interrupt-parent = <&vic2>;
255 dma-names = "rx", "tx", "tx-sec";
256 dmas = <&pdma1 9>, <&pdma1 10>, <&pdma1 11>;
260 clocks = <&clk_audss CLK_I2S>,
261 <&clk_audss CLK_I2S>,
262 <&clk_audss CLK_DOUT_AUD_BUS>;
263 samsung,idma-addr = <0xc0010000>;
264 pinctrl-names = "default";
265 pinctrl-0 = <&i2s0_bus>;
266 #sound-dai-cells = <0>;
272 compatible = "samsung,s3c6410-i2s";
273 reg = <0xe2100000 0x1000>;
274 interrupt-parent = <&vic2>;
276 dma-names = "rx", "tx";
277 dmas = <&pdma1 12>, <&pdma1 13>;
278 clock-names = "iis", "i2s_opclk0";
279 clocks = <&clocks CLK_I2S1>, <&clocks SCLK_AUDIO1>;
280 pinctrl-names = "default";
281 pinctrl-0 = <&i2s1_bus>;
282 #sound-dai-cells = <0>;
287 compatible = "samsung,s3c6410-i2s";
288 reg = <0xe2a00000 0x1000>;
289 interrupt-parent = <&vic2>;
291 dma-names = "rx", "tx";
292 dmas = <&pdma1 14>, <&pdma1 15>;
293 clock-names = "iis", "i2s_opclk0";
294 clocks = <&clocks CLK_I2S2>, <&clocks SCLK_AUDIO2>;
295 pinctrl-names = "default";
296 pinctrl-0 = <&i2s2_bus>;
297 #sound-dai-cells = <0>;
302 compatible = "samsung,s5pc100-pwm";
303 reg = <0xe2500000 0x1000>;
304 interrupt-parent = <&vic0>;
305 interrupts = <21>, <22>, <23>, <24>, <25>;
306 clock-names = "timers";
307 clocks = <&clocks CLK_PWM>;
311 watchdog: watchdog@e2700000 {
312 compatible = "samsung,s3c6410-wdt";
313 reg = <0xe2700000 0x1000>;
314 interrupt-parent = <&vic0>;
316 clock-names = "watchdog";
317 clocks = <&clocks CLK_WDT>;
321 compatible = "samsung,s3c6410-rtc";
322 reg = <0xe2800000 0x100>;
323 interrupt-parent = <&vic0>;
324 interrupts = <28>, <29>;
325 clocks = <&clocks CLK_RTC>;
330 uart0: serial@e2900000 {
331 compatible = "samsung,s5pv210-uart";
332 reg = <0xe2900000 0x400>;
333 interrupt-parent = <&vic1>;
335 clock-names = "uart", "clk_uart_baud0",
337 clocks = <&clocks CLK_UART0>, <&clocks CLK_UART0>,
338 <&clocks SCLK_UART0>;
342 uart1: serial@e2900400 {
343 compatible = "samsung,s5pv210-uart";
344 reg = <0xe2900400 0x400>;
345 interrupt-parent = <&vic1>;
347 clock-names = "uart", "clk_uart_baud0",
349 clocks = <&clocks CLK_UART1>, <&clocks CLK_UART1>,
350 <&clocks SCLK_UART1>;
354 uart2: serial@e2900800 {
355 compatible = "samsung,s5pv210-uart";
356 reg = <0xe2900800 0x400>;
357 interrupt-parent = <&vic1>;
359 clock-names = "uart", "clk_uart_baud0",
361 clocks = <&clocks CLK_UART2>, <&clocks CLK_UART2>,
362 <&clocks SCLK_UART2>;
366 uart3: serial@e2900c00 {
367 compatible = "samsung,s5pv210-uart";
368 reg = <0xe2900c00 0x400>;
369 interrupt-parent = <&vic1>;
371 clock-names = "uart", "clk_uart_baud0",
373 clocks = <&clocks CLK_UART3>, <&clocks CLK_UART3>,
374 <&clocks SCLK_UART3>;
378 sdhci0: sdhci@eb000000 {
379 compatible = "samsung,s3c6410-sdhci";
380 reg = <0xeb000000 0x100000>;
381 interrupt-parent = <&vic1>;
383 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
384 clocks = <&clocks CLK_HSMMC0>, <&clocks CLK_HSMMC0>,
389 sdhci1: sdhci@eb100000 {
390 compatible = "samsung,s3c6410-sdhci";
391 reg = <0xeb100000 0x100000>;
392 interrupt-parent = <&vic1>;
394 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
395 clocks = <&clocks CLK_HSMMC1>, <&clocks CLK_HSMMC1>,
400 sdhci2: sdhci@eb200000 {
401 compatible = "samsung,s3c6410-sdhci";
402 reg = <0xeb200000 0x100000>;
403 interrupt-parent = <&vic1>;
405 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.2";
406 clocks = <&clocks CLK_HSMMC2>, <&clocks CLK_HSMMC2>,
411 sdhci3: sdhci@eb300000 {
412 compatible = "samsung,s3c6410-sdhci";
413 reg = <0xeb300000 0x100000>;
414 interrupt-parent = <&vic3>;
416 clock-names = "hsmmc", "mmc_busclk.0", "mmc_busclk.3";
417 clocks = <&clocks CLK_HSMMC3>, <&clocks CLK_HSMMC3>,
422 hsotg: hsotg@ec000000 {
423 compatible = "samsung,s3c6400-hsotg";
424 reg = <0xec000000 0x20000>;
425 interrupt-parent = <&vic1>;
427 clocks = <&clocks CLK_USB_OTG>;
429 phy-names = "usb2-phy";
434 usbphy: usbphy@ec100000 {
435 compatible = "samsung,s5pv210-usb2-phy";
436 reg = <0xec100000 0x100>;
437 samsung,pmureg-phandle = <&pmu_syscon>;
438 clocks = <&clocks CLK_USB_OTG>, <&xusbxti>;
439 clock-names = "phy", "ref";
444 ehci: ehci@ec200000 {
445 compatible = "samsung,exynos4210-ehci";
446 reg = <0xec200000 0x100>;
448 interrupt-parent = <&vic1>;
449 clocks = <&clocks CLK_USB_HOST>;
450 clock-names = "usbhost";
451 #address-cells = <1>;
461 ohci: ohci@ec300000 {
462 compatible = "samsung,exynos4210-ohci";
463 reg = <0xec300000 0x100>;
465 interrupt-parent = <&vic1>;
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,s5pv210-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-dmc";
528 reg = <0xf0000000 0x1000>;
532 compatible = "samsung,s5pv210-dmc";
533 reg = <0xf1400000 0x1000>;
537 compatible = "samsung,s5pv210-g2d";
538 reg = <0xfa000000 0x1000>;
539 interrupt-parent = <&vic2>;
541 clocks = <&clocks DOUT_G2D>, <&clocks CLK_G2D>;
542 clock-names = "sclk_fimg2d", "fimg2d";
545 mdma1: mdma@fa200000 {
546 compatible = "arm,pl330", "arm,primecell";
547 reg = <0xfa200000 0x1000>;
548 interrupt-parent = <&vic0>;
550 clocks = <&clocks CLK_MDMA>;
551 clock-names = "apb_pclk";
557 rotator: rotator@fa300000 {
558 compatible = "samsung,s5pv210-rotator";
559 reg = <0xfa300000 0x1000>;
560 interrupt-parent = <&vic2>;
562 clocks = <&clocks CLK_ROTATOR>;
563 clock-names = "rotator";
567 compatible = "samsung,s3c2440-i2c";
568 reg = <0xfab00000 0x1000>;
569 interrupt-parent = <&vic2>;
571 clocks = <&clocks CLK_I2C1>;
573 pinctrl-names = "default";
574 pinctrl-0 = <&i2c1_bus>;
575 #address-cells = <1>;
581 compatible = "samsung,fimc", "simple-bus";
582 pinctrl-names = "default";
584 clocks = <&clocks SCLK_CAM0>, <&clocks SCLK_CAM1>;
585 clock-names = "sclk_cam0", "sclk_cam1";
586 #address-cells = <1>;
589 clock-output-names = "cam_a_clkout", "cam_b_clkout";
592 csis0: csis@fa600000 {
593 compatible = "samsung,s5pv210-csis";
594 reg = <0xfa600000 0x4000>;
595 interrupt-parent = <&vic2>;
597 clocks = <&clocks CLK_CSIS>,
599 clock-names = "clk_csis",
603 #address-cells = <1>;
607 fimc0: fimc@fb200000 {
608 compatible = "samsung,s5pv210-fimc";
609 reg = <0xfb200000 0x1000>;
611 interrupt-parent = <&vic2>;
612 clocks = <&clocks CLK_FIMC0>,
613 <&clocks SCLK_FIMC0>;
614 clock-names = "fimc",
616 samsung,pix-limits = <4224 8192 1920 4224>;
617 samsung,mainscaler-ext;
621 fimc1: fimc@fb300000 {
622 compatible = "samsung,s5pv210-fimc";
623 reg = <0xfb300000 0x1000>;
624 interrupt-parent = <&vic2>;
626 clocks = <&clocks CLK_FIMC1>,
627 <&clocks SCLK_FIMC1>;
628 clock-names = "fimc",
630 samsung,pix-limits = <4224 8192 1920 4224>;
631 samsung,mainscaler-ext;
635 fimc2: fimc@fb400000 {
636 compatible = "samsung,s5pv210-fimc";
637 reg = <0xfb400000 0x1000>;
638 interrupt-parent = <&vic2>;
640 clocks = <&clocks CLK_FIMC2>,
641 <&clocks SCLK_FIMC2>;
642 clock-names = "fimc",
644 samsung,pix-limits = <4224 8192 1920 4224>;
645 samsung,mainscaler-ext;
650 jpeg_codec: jpeg-codec@fb600000 {
651 compatible = "samsung,s5pv210-jpeg";
652 reg = <0xfb600000 0x1000>;
653 interrupt-parent = <&vic2>;
655 clocks = <&clocks CLK_JPEG>;
656 clock-names = "jpeg";
661 #include "s5pv210-pinctrl.dtsi"