exynos4.dtsi 25.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
/*
 * Samsung's Exynos4 SoC series common device tree source
 *
 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 * Copyright (c) 2010-2011 Linaro Ltd.
 *		www.linaro.org
 *
 * Samsung's Exynos4 SoC series device nodes are listed in this file.  Particular
 * SoCs from Exynos4 series can include this file and provide values for SoCs
 * specfic bindings.
 *
 * Note: This file does not include device nodes for all the controllers in
 * Exynos4 SoCs. As device tree coverage for Exynos4 increases, additional
 * nodes can be added to this file.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

22
#include <dt-bindings/clock/exynos4.h>
23
#include <dt-bindings/clock/exynos-audss-clk.h>
24
#include <dt-bindings/interrupt-controller/irq.h>
25
#include "exynos-syscon-restart.dtsi"
26 27 28

/ {
	interrupt-parent = <&gic>;
29 30
	#address-cells = <1>;
	#size-cells = <1>;
31 32 33 34 35

	aliases {
		spi0 = &spi_0;
		spi1 = &spi_1;
		spi2 = &spi_2;
36 37 38 39 40 41 42 43
		i2c0 = &i2c_0;
		i2c1 = &i2c_1;
		i2c2 = &i2c_2;
		i2c3 = &i2c_3;
		i2c4 = &i2c_4;
		i2c5 = &i2c_5;
		i2c6 = &i2c_6;
		i2c7 = &i2c_7;
44
		i2c8 = &i2c_8;
45 46 47 48 49 50
		csis0 = &csis_0;
		csis1 = &csis_1;
		fimc0 = &fimc_0;
		fimc1 = &fimc_1;
		fimc2 = &fimc_2;
		fimc3 = &fimc_3;
51 52 53 54
		serial0 = &serial_0;
		serial1 = &serial_1;
		serial2 = &serial_2;
		serial3 = &serial_3;
55 56
	};

57 58 59 60 61 62 63 64 65 66 67
	clock_audss: clock-controller@03810000 {
		compatible = "samsung,exynos4210-audss-clock";
		reg = <0x03810000 0x0C>;
		#clock-cells = <1>;
	};

	i2s0: i2s@03830000 {
		compatible = "samsung,s5pv210-i2s";
		reg = <0x03830000 0x100>;
		clocks = <&clock_audss EXYNOS_I2S_BUS>;
		clock-names = "iis";
68 69
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk0";
70 71 72
		dmas = <&pdma0 12>, <&pdma0 11>, <&pdma0 10>;
		dma-names = "tx", "rx", "tx-sec";
		samsung,idma-addr = <0x03000000>;
73
		#sound-dai-cells = <1>;
74 75 76
		status = "disabled";
	};

77 78 79 80 81
	chipid@10000000 {
		compatible = "samsung,exynos4210-chipid";
		reg = <0x10000000 0x100>;
	};

82 83
	memory-controller@12570000 {
		compatible = "samsung,exynos4210-srom";
84 85 86
		reg = <0x12570000 0x14>;
	};

87
	mipi_phy: video-phy {
88 89
		compatible = "samsung,s5pv210-mipi-video-phy";
		#phy-cells = <1>;
90
		syscon = <&pmu_system_controller>;
91 92
	};

93 94 95
	pd_mfc: mfc-power-domain@10023C40 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C40 0x20>;
96
		#power-domain-cells = <0>;
97 98 99 100 101
	};

	pd_g3d: g3d-power-domain@10023C60 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C60 0x20>;
102
		#power-domain-cells = <0>;
103 104 105 106 107
	};

	pd_lcd0: lcd0-power-domain@10023C80 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C80 0x20>;
108
		#power-domain-cells = <0>;
109 110 111 112 113
	};

	pd_tv: tv-power-domain@10023C20 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C20 0x20>;
114
		#power-domain-cells = <0>;
115
		power-domains = <&pd_lcd0>;
116 117 118 119 120
	};

	pd_cam: cam-power-domain@10023C00 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C00 0x20>;
121
		#power-domain-cells = <0>;
122 123 124 125 126
	};

	pd_gps: gps-power-domain@10023CE0 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023CE0 0x20>;
127
		#power-domain-cells = <0>;
128 129
	};

130 131 132
	pd_gps_alive: gps-alive-power-domain@10023D00 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023D00 0x20>;
133
		#power-domain-cells = <0>;
134 135
	};

136
	gic: interrupt-controller@10490000 {
137 138 139
		compatible = "arm,cortex-a9-gic";
		#interrupt-cells = <3>;
		interrupt-controller;
140
		reg = <0x10490000 0x10000>, <0x10480000 0x10000>;
141 142
	};

143
	combiner: interrupt-controller@10440000 {
144 145 146 147 148 149
		compatible = "samsung,exynos4210-combiner";
		#interrupt-cells = <2>;
		interrupt-controller;
		reg = <0x10440000 0x1000>;
	};

150 151 152 153 154 155
	pmu {
		compatible = "arm,cortex-a9-pmu";
		interrupt-parent = <&combiner>;
		interrupts = <2 2>, <3 2>;
	};

156
	sys_reg: syscon@10010000 {
157 158 159 160
		compatible = "samsung,exynos4-sysreg", "syscon";
		reg = <0x10010000 0x400>;
	};

161 162 163
	pmu_system_controller: system-controller@10020000 {
		compatible = "samsung,exynos4210-pmu", "syscon";
		reg = <0x10020000 0x4000>;
164 165 166
		interrupt-controller;
		#interrupt-cells = <3>;
		interrupt-parent = <&gic>;
167 168
	};

169 170 171
	dsi_0: dsi@11C80000 {
		compatible = "samsung,exynos4210-mipi-dsi";
		reg = <0x11C80000 0x10000>;
172
		interrupts = <0 79 IRQ_TYPE_LEVEL_HIGH>;
173
		power-domains = <&pd_lcd0>;
174 175
		phys = <&mipi_phy 1>;
		phy-names = "dsim";
176
		clocks = <&clock CLK_DSIM0>, <&clock CLK_SCLK_MIPI0>;
177
		clock-names = "bus_clk", "sclk_mipi";
178 179 180 181 182
		status = "disabled";
		#address-cells = <1>;
		#size-cells = <0>;
	};

183 184 185 186 187
	camera {
		compatible = "samsung,fimc", "simple-bus";
		status = "disabled";
		#address-cells = <1>;
		#size-cells = <1>;
188 189
		#clock-cells = <1>;
		clock-output-names = "cam_a_clkout", "cam_b_clkout";
190 191 192 193 194
		ranges;

		fimc_0: fimc@11800000 {
			compatible = "samsung,exynos4210-fimc";
			reg = <0x11800000 0x1000>;
195
			interrupts = <0 84 IRQ_TYPE_LEVEL_HIGH>;
196
			clocks = <&clock CLK_FIMC0>, <&clock CLK_SCLK_FIMC0>;
197
			clock-names = "fimc", "sclk_fimc";
198
			power-domains = <&pd_cam>;
199
			samsung,sysreg = <&sys_reg>;
200
			iommus = <&sysmmu_fimc0>;
201 202 203 204 205 206
			status = "disabled";
		};

		fimc_1: fimc@11810000 {
			compatible = "samsung,exynos4210-fimc";
			reg = <0x11810000 0x1000>;
207
			interrupts = <0 85 IRQ_TYPE_LEVEL_HIGH>;
208
			clocks = <&clock CLK_FIMC1>, <&clock CLK_SCLK_FIMC1>;
209
			clock-names = "fimc", "sclk_fimc";
210
			power-domains = <&pd_cam>;
211
			samsung,sysreg = <&sys_reg>;
212
			iommus = <&sysmmu_fimc1>;
213 214 215 216 217 218
			status = "disabled";
		};

		fimc_2: fimc@11820000 {
			compatible = "samsung,exynos4210-fimc";
			reg = <0x11820000 0x1000>;
219
			interrupts = <0 86 IRQ_TYPE_LEVEL_HIGH>;
220
			clocks = <&clock CLK_FIMC2>, <&clock CLK_SCLK_FIMC2>;
221
			clock-names = "fimc", "sclk_fimc";
222
			power-domains = <&pd_cam>;
223
			samsung,sysreg = <&sys_reg>;
224
			iommus = <&sysmmu_fimc2>;
225 226 227 228 229 230
			status = "disabled";
		};

		fimc_3: fimc@11830000 {
			compatible = "samsung,exynos4210-fimc";
			reg = <0x11830000 0x1000>;
231
			interrupts = <0 87 IRQ_TYPE_LEVEL_HIGH>;
232
			clocks = <&clock CLK_FIMC3>, <&clock CLK_SCLK_FIMC3>;
233
			clock-names = "fimc", "sclk_fimc";
234
			power-domains = <&pd_cam>;
235
			samsung,sysreg = <&sys_reg>;
236
			iommus = <&sysmmu_fimc3>;
237 238 239 240 241 242
			status = "disabled";
		};

		csis_0: csis@11880000 {
			compatible = "samsung,exynos4210-csis";
			reg = <0x11880000 0x4000>;
243
			interrupts = <0 78 IRQ_TYPE_LEVEL_HIGH>;
244
			clocks = <&clock CLK_CSIS0>, <&clock CLK_SCLK_CSIS0>;
245 246
			clock-names = "csis", "sclk_csis";
			bus-width = <4>;
247
			power-domains = <&pd_cam>;
248 249
			phys = <&mipi_phy 0>;
			phy-names = "csis";
250 251 252 253 254 255 256 257
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		csis_1: csis@11890000 {
			compatible = "samsung,exynos4210-csis";
			reg = <0x11890000 0x4000>;
258
			interrupts = <0 80 IRQ_TYPE_LEVEL_HIGH>;
259
			clocks = <&clock CLK_CSIS1>, <&clock CLK_SCLK_CSIS1>;
260 261
			clock-names = "csis", "sclk_csis";
			bus-width = <2>;
262
			power-domains = <&pd_cam>;
263 264
			phys = <&mipi_phy 2>;
			phy-names = "csis";
265 266 267 268 269 270
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};
	};

271
	watchdog: watchdog@10060000 {
272 273
		compatible = "samsung,s3c2410-wdt";
		reg = <0x10060000 0x100>;
274
		interrupts = <0 43 IRQ_TYPE_LEVEL_HIGH>;
275
		clocks = <&clock CLK_WDT>;
276
		clock-names = "watchdog";
277
		status = "disabled";
278 279
	};

280
	rtc: rtc@10070000 {
281 282
		compatible = "samsung,s3c6410-rtc";
		reg = <0x10070000 0x100>;
283
		interrupt-parent = <&pmu_system_controller>;
284 285
		interrupts = <0 44 IRQ_TYPE_LEVEL_HIGH>,
			     <0 45 IRQ_TYPE_LEVEL_HIGH>;
286
		clocks = <&clock CLK_RTC>;
287
		clock-names = "rtc";
288
		status = "disabled";
289 290
	};

291
	keypad: keypad@100A0000 {
292 293
		compatible = "samsung,s5pv210-keypad";
		reg = <0x100A0000 0x100>;
294
		interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
295
		clocks = <&clock CLK_KEYIF>;
296
		clock-names = "keypad";
297
		status = "disabled";
298 299
	};

300
	sdhci_0: sdhci@12510000 {
301 302
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12510000 0x100>;
303
		interrupts = <0 73 IRQ_TYPE_LEVEL_HIGH>;
304
		clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
305
		clock-names = "hsmmc", "mmc_busclk.2";
306
		status = "disabled";
307 308
	};

309
	sdhci_1: sdhci@12520000 {
310 311
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12520000 0x100>;
312
		interrupts = <0 74 IRQ_TYPE_LEVEL_HIGH>;
313
		clocks = <&clock CLK_SDMMC1>, <&clock CLK_SCLK_MMC1>;
314
		clock-names = "hsmmc", "mmc_busclk.2";
315
		status = "disabled";
316 317
	};

318
	sdhci_2: sdhci@12530000 {
319 320
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12530000 0x100>;
321
		interrupts = <0 75 IRQ_TYPE_LEVEL_HIGH>;
322
		clocks = <&clock CLK_SDMMC2>, <&clock CLK_SCLK_MMC2>;
323
		clock-names = "hsmmc", "mmc_busclk.2";
324
		status = "disabled";
325 326
	};

327
	sdhci_3: sdhci@12540000 {
328 329
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12540000 0x100>;
330
		interrupts = <0 76 IRQ_TYPE_LEVEL_HIGH>;
331
		clocks = <&clock CLK_SDMMC3>, <&clock CLK_SCLK_MMC3>;
332
		clock-names = "hsmmc", "mmc_busclk.2";
333
		status = "disabled";
334 335 336 337 338 339 340 341 342 343
	};

	exynos_usbphy: exynos-usbphy@125B0000 {
		compatible = "samsung,exynos4210-usb2-phy";
		reg = <0x125B0000 0x100>;
		samsung,pmureg-phandle = <&pmu_system_controller>;
		clocks = <&clock CLK_USB_DEVICE>, <&clock CLK_XUSBXTI>;
		clock-names = "phy", "ref";
		#phy-cells = <1>;
		status = "disabled";
344 345
	};

346
	hsotg: hsotg@12480000 {
347 348
		compatible = "samsung,s3c6400-hsotg";
		reg = <0x12480000 0x20000>;
349
		interrupts = <0 71 IRQ_TYPE_LEVEL_HIGH>;
350 351 352 353 354
		clocks = <&clock CLK_USB_DEVICE>;
		clock-names = "otg";
		phys = <&exynos_usbphy 0>;
		phy-names = "usb2-phy";
		status = "disabled";
355 356
	};

357
	ehci: ehci@12580000 {
358 359
		compatible = "samsung,exynos4210-ehci";
		reg = <0x12580000 0x100>;
360
		interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>;
361
		clocks = <&clock CLK_USB_HOST>;
362 363
		clock-names = "usbhost";
		status = "disabled";
364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380
		#address-cells = <1>;
		#size-cells = <0>;
		port@0 {
		    reg = <0>;
		    phys = <&exynos_usbphy 1>;
		    status = "disabled";
		};
		port@1 {
		    reg = <1>;
		    phys = <&exynos_usbphy 2>;
		    status = "disabled";
		};
		port@2 {
		    reg = <2>;
		    phys = <&exynos_usbphy 3>;
		    status = "disabled";
		};
381 382
	};

383
	ohci: ohci@12590000 {
384 385
		compatible = "samsung,exynos4210-ohci";
		reg = <0x12590000 0x100>;
386
		interrupts = <0 70 IRQ_TYPE_LEVEL_HIGH>;
387
		clocks = <&clock CLK_USB_HOST>;
388 389
		clock-names = "usbhost";
		status = "disabled";
390 391 392 393 394 395 396
		#address-cells = <1>;
		#size-cells = <0>;
		port@0 {
		    reg = <0>;
		    phys = <&exynos_usbphy 1>;
		    status = "disabled";
		};
397 398
	};

399
	i2s1: i2s@13960000 {
400
		compatible = "samsung,s3c6410-i2s";
401 402 403
		reg = <0x13960000 0x100>;
		clocks = <&clock CLK_I2S1>;
		clock-names = "iis";
404 405
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk1";
406 407
		dmas = <&pdma1 12>, <&pdma1 11>;
		dma-names = "tx", "rx";
408
		#sound-dai-cells = <1>;
409 410 411 412
		status = "disabled";
	};

	i2s2: i2s@13970000 {
413
		compatible = "samsung,s3c6410-i2s";
414 415 416
		reg = <0x13970000 0x100>;
		clocks = <&clock CLK_I2S2>;
		clock-names = "iis";
417 418
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk2";
419 420
		dmas = <&pdma0 14>, <&pdma0 13>;
		dma-names = "tx", "rx";
421
		#sound-dai-cells = <1>;
422 423 424
		status = "disabled";
	};

425 426 427
	mfc: codec@13400000 {
		compatible = "samsung,mfc-v5";
		reg = <0x13400000 0x10000>;
428
		interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
429
		power-domains = <&pd_mfc>;
430 431
		clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>;
		clock-names = "mfc", "sclk_mfc";
432 433
		iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
		iommu-names = "left", "right";
434 435
	};

436
	serial_0: serial@13800000 {
437 438
		compatible = "samsung,exynos4210-uart";
		reg = <0x13800000 0x100>;
439
		interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
440
		clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
441
		clock-names = "uart", "clk_uart_baud0";
442 443
		dmas = <&pdma0 15>, <&pdma0 16>;
		dma-names = "rx", "tx";
444
		status = "disabled";
445 446
	};

447
	serial_1: serial@13810000 {
448 449
		compatible = "samsung,exynos4210-uart";
		reg = <0x13810000 0x100>;
450
		interrupts = <0 53 IRQ_TYPE_LEVEL_HIGH>;
451
		clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
452
		clock-names = "uart", "clk_uart_baud0";
453 454
		dmas = <&pdma1 15>, <&pdma1 16>;
		dma-names = "rx", "tx";
455
		status = "disabled";
456 457
	};

458
	serial_2: serial@13820000 {
459 460
		compatible = "samsung,exynos4210-uart";
		reg = <0x13820000 0x100>;
461
		interrupts = <0 54 IRQ_TYPE_LEVEL_HIGH>;
462
		clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
463
		clock-names = "uart", "clk_uart_baud0";
464 465
		dmas = <&pdma0 17>, <&pdma0 18>;
		dma-names = "rx", "tx";
466
		status = "disabled";
467 468
	};

469
	serial_3: serial@13830000 {
470 471
		compatible = "samsung,exynos4210-uart";
		reg = <0x13830000 0x100>;
472
		interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
473
		clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
474
		clock-names = "uart", "clk_uart_baud0";
475 476
		dmas = <&pdma1 17>, <&pdma1 18>;
		dma-names = "rx", "tx";
477
		status = "disabled";
478 479
	};

480
	i2c_0: i2c@13860000 {
481 482
		#address-cells = <1>;
		#size-cells = <0>;
483 484
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13860000 0x100>;
485
		interrupts = <0 58 IRQ_TYPE_LEVEL_HIGH>;
486
		clocks = <&clock CLK_I2C0>;
487
		clock-names = "i2c";
488 489
		pinctrl-names = "default";
		pinctrl-0 = <&i2c0_bus>;
490
		status = "disabled";
491 492
	};

493
	i2c_1: i2c@13870000 {
494 495
		#address-cells = <1>;
		#size-cells = <0>;
496 497
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13870000 0x100>;
498
		interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
499
		clocks = <&clock CLK_I2C1>;
500
		clock-names = "i2c";
501 502
		pinctrl-names = "default";
		pinctrl-0 = <&i2c1_bus>;
503
		status = "disabled";
504 505
	};

506
	i2c_2: i2c@13880000 {
507 508
		#address-cells = <1>;
		#size-cells = <0>;
509 510
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13880000 0x100>;
511
		interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
512
		clocks = <&clock CLK_I2C2>;
513
		clock-names = "i2c";
514 515
		pinctrl-names = "default";
		pinctrl-0 = <&i2c2_bus>;
516
		status = "disabled";
517 518
	};

519
	i2c_3: i2c@13890000 {
520 521
		#address-cells = <1>;
		#size-cells = <0>;
522 523
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13890000 0x100>;
524
		interrupts = <0 61 IRQ_TYPE_LEVEL_HIGH>;
525
		clocks = <&clock CLK_I2C3>;
526
		clock-names = "i2c";
527 528
		pinctrl-names = "default";
		pinctrl-0 = <&i2c3_bus>;
529
		status = "disabled";
530 531
	};

532
	i2c_4: i2c@138A0000 {
533 534
		#address-cells = <1>;
		#size-cells = <0>;
535 536
		compatible = "samsung,s3c2440-i2c";
		reg = <0x138A0000 0x100>;
537
		interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
538
		clocks = <&clock CLK_I2C4>;
539
		clock-names = "i2c";
540 541
		pinctrl-names = "default";
		pinctrl-0 = <&i2c4_bus>;
542
		status = "disabled";
543 544
	};

545
	i2c_5: i2c@138B0000 {
546 547
		#address-cells = <1>;
		#size-cells = <0>;
548 549
		compatible = "samsung,s3c2440-i2c";
		reg = <0x138B0000 0x100>;
550
		interrupts = <0 63 IRQ_TYPE_LEVEL_HIGH>;
551
		clocks = <&clock CLK_I2C5>;
552
		clock-names = "i2c";
553 554
		pinctrl-names = "default";
		pinctrl-0 = <&i2c5_bus>;
555
		status = "disabled";
556 557
	};

558
	i2c_6: i2c@138C0000 {
559 560
		#address-cells = <1>;
		#size-cells = <0>;
561 562
		compatible = "samsung,s3c2440-i2c";
		reg = <0x138C0000 0x100>;
563
		interrupts = <0 64 IRQ_TYPE_LEVEL_HIGH>;
564
		clocks = <&clock CLK_I2C6>;
565
		clock-names = "i2c";
566 567
		pinctrl-names = "default";
		pinctrl-0 = <&i2c6_bus>;
568
		status = "disabled";
569 570
	};

571
	i2c_7: i2c@138D0000 {
572 573
		#address-cells = <1>;
		#size-cells = <0>;
574 575
		compatible = "samsung,s3c2440-i2c";
		reg = <0x138D0000 0x100>;
576
		interrupts = <0 65 IRQ_TYPE_LEVEL_HIGH>;
577
		clocks = <&clock CLK_I2C7>;
578
		clock-names = "i2c";
579 580
		pinctrl-names = "default";
		pinctrl-0 = <&i2c7_bus>;
581
		status = "disabled";
582 583
	};

584 585 586 587 588
	i2c_8: i2c@138E0000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-hdmiphy-i2c";
		reg = <0x138E0000 0x100>;
589
		interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>;
590 591 592 593 594 595 596 597 598 599
		clocks = <&clock CLK_I2C_HDMI>;
		clock-names = "i2c";
		status = "disabled";

		hdmi_i2c_phy: hdmiphy@38 {
			compatible = "exynos4210-hdmiphy";
			reg = <0x38>;
		};
	};

600 601 602
	spi_0: spi@13920000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x13920000 0x100>;
603
		interrupts = <0 66 IRQ_TYPE_LEVEL_HIGH>;
604 605
		dmas = <&pdma0 7>, <&pdma0 6>;
		dma-names = "tx", "rx";
606 607
		#address-cells = <1>;
		#size-cells = <0>;
608
		clocks = <&clock CLK_SPI0>, <&clock CLK_SCLK_SPI0>;
609
		clock-names = "spi", "spi_busclk0";
610 611
		pinctrl-names = "default";
		pinctrl-0 = <&spi0_bus>;
612
		status = "disabled";
613 614 615 616 617
	};

	spi_1: spi@13930000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x13930000 0x100>;
618
		interrupts = <0 67 IRQ_TYPE_LEVEL_HIGH>;
619 620
		dmas = <&pdma1 7>, <&pdma1 6>;
		dma-names = "tx", "rx";
621 622
		#address-cells = <1>;
		#size-cells = <0>;
623
		clocks = <&clock CLK_SPI1>, <&clock CLK_SCLK_SPI1>;
624
		clock-names = "spi", "spi_busclk0";
625 626
		pinctrl-names = "default";
		pinctrl-0 = <&spi1_bus>;
627
		status = "disabled";
628 629 630 631 632
	};

	spi_2: spi@13940000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x13940000 0x100>;
633
		interrupts = <0 68 IRQ_TYPE_LEVEL_HIGH>;
634 635
		dmas = <&pdma0 9>, <&pdma0 8>;
		dma-names = "tx", "rx";
636 637
		#address-cells = <1>;
		#size-cells = <0>;
638
		clocks = <&clock CLK_SPI2>, <&clock CLK_SCLK_SPI2>;
639
		clock-names = "spi", "spi_busclk0";
640 641
		pinctrl-names = "default";
		pinctrl-0 = <&spi2_bus>;
642
		status = "disabled";
643 644
	};

645
	pwm: pwm@139D0000 {
646 647
		compatible = "samsung,exynos4210-pwm";
		reg = <0x139D0000 0x1000>;
648 649 650 651 652
		interrupts = <0 37 IRQ_TYPE_LEVEL_HIGH>,
			     <0 38 IRQ_TYPE_LEVEL_HIGH>,
			     <0 39 IRQ_TYPE_LEVEL_HIGH>,
			     <0 40 IRQ_TYPE_LEVEL_HIGH>,
			     <0 41 IRQ_TYPE_LEVEL_HIGH>;
653
		clocks = <&clock CLK_PWM>;
654
		clock-names = "timers";
655
		#pwm-cells = <3>;
656 657 658
		status = "disabled";
	};

659 660 661
	amba {
		#address-cells = <1>;
		#size-cells = <1>;
662
		compatible = "simple-bus";
663 664 665 666 667 668
		interrupt-parent = <&gic>;
		ranges;

		pdma0: pdma@12680000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x12680000 0x1000>;
669
			interrupts = <0 35 IRQ_TYPE_LEVEL_HIGH>;
670
			clocks = <&clock CLK_PDMA0>;
671
			clock-names = "apb_pclk";
672 673 674
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
675 676 677 678 679
		};

		pdma1: pdma@12690000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x12690000 0x1000>;
680
			interrupts = <0 36 IRQ_TYPE_LEVEL_HIGH>;
681
			clocks = <&clock CLK_PDMA1>;
682
			clock-names = "apb_pclk";
683 684 685
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
686
		};
687 688 689 690

		mdma1: mdma@12850000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x12850000 0x1000>;
691
			interrupts = <0 34 IRQ_TYPE_LEVEL_HIGH>;
692
			clocks = <&clock CLK_MDMA>;
693
			clock-names = "apb_pclk";
694 695 696
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <1>;
697
		};
698
	};
699 700 701 702 703 704 705

	fimd: fimd@11c00000 {
		compatible = "samsung,exynos4210-fimd";
		interrupt-parent = <&combiner>;
		reg = <0x11c00000 0x20000>;
		interrupt-names = "fifo", "vsync", "lcd_sys";
		interrupts = <11 0>, <11 1>, <11 2>;
706
		clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>;
707
		clock-names = "sclk_fimd", "fimd";
708
		power-domains = <&pd_lcd0>;
709
		iommus = <&sysmmu_fimd0>;
710
		samsung,sysreg = <&sys_reg>;
711 712
		status = "disabled";
	};
713

714 715 716 717
	tmu: tmu@100C0000 {
		#include "exynos4412-tmu-sensor-conf.dtsi"
	};

718
	jpeg_codec: jpeg-codec@11840000 {
719 720
		compatible = "samsung,exynos4210-jpeg";
		reg = <0x11840000 0x1000>;
721
		interrupts = <0 88 IRQ_TYPE_LEVEL_HIGH>;
722 723 724
		clocks = <&clock CLK_JPEG>;
		clock-names = "jpeg";
		power-domains = <&pd_cam>;
725
		iommus = <&sysmmu_jpeg>;
726 727
	};

728 729 730
	rotator: rotator@12810000 {
		compatible = "samsung,exynos4210-rotator";
		reg = <0x12810000 0x64>;
731
		interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>;
732 733 734 735 736
		clocks = <&clock CLK_ROTATOR>;
		clock-names = "rotator";
		iommus = <&sysmmu_rotator>;
	};

737 738 739
	hdmi: hdmi@12D00000 {
		compatible = "samsung,exynos4210-hdmi";
		reg = <0x12D00000 0x70000>;
740
		interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
741 742 743 744 745 746 747 748 749
		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel", "sclk_hdmiphy",
			"mout_hdmi";
		clocks = <&clock CLK_HDMI>, <&clock CLK_SCLK_HDMI>,
			<&clock CLK_SCLK_PIXEL>, <&clock CLK_SCLK_HDMIPHY>,
			<&clock CLK_MOUT_HDMI>;
		phy = <&hdmi_i2c_phy>;
		power-domains = <&pd_tv>;
		samsung,syscon-phandle = <&pmu_system_controller>;
		status = "disabled";
750 751 752 753 754
	};

	hdmicec: cec@100B0000 {
		compatible = "samsung,s5p-cec";
		reg = <0x100B0000 0x200>;
755
		interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
756 757 758 759 760 761
		clocks = <&clock CLK_HDMI_CEC>;
		clock-names = "hdmicec";
		samsung,syscon-phandle = <&pmu_system_controller>;
		pinctrl-names = "default";
		pinctrl-0 = <&hdmi_cec>;
		status = "disabled";
762 763 764 765
	};

	mixer: mixer@12C10000 {
		compatible = "samsung,exynos4210-mixer";
766
		interrupts = <0 91 IRQ_TYPE_LEVEL_HIGH>;
767 768
		reg = <0x12C10000 0x2100>, <0x12c00000 0x300>;
		power-domains = <&pd_tv>;
769
		iommus = <&sysmmu_tv>;
770 771 772
		status = "disabled";
	};

773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879
	ppmu_dmc0: ppmu_dmc0@106a0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x106a0000 0x2000>;
		clocks = <&clock CLK_PPMUDMC0>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_dmc1: ppmu_dmc1@106b0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x106b0000 0x2000>;
		clocks = <&clock CLK_PPMUDMC1>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_cpu: ppmu_cpu@106c0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x106c0000 0x2000>;
		clocks = <&clock CLK_PPMUCPU>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_acp: ppmu_acp@10ae0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x106e0000 0x2000>;
		status = "disabled";
	};

	ppmu_rightbus: ppmu_rightbus@112a0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x112a0000 0x2000>;
		clocks = <&clock CLK_PPMURIGHT>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_leftbus: ppmu_leftbus0@116a0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x116a0000 0x2000>;
		clocks = <&clock CLK_PPMULEFT>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_camif: ppmu_camif@11ac0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x11ac0000 0x2000>;
		clocks = <&clock CLK_PPMUCAMIF>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_lcd0: ppmu_lcd0@11e40000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x11e40000 0x2000>;
		clocks = <&clock CLK_PPMULCD0>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_fsys: ppmu_g3d@12630000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x12630000 0x2000>;
		status = "disabled";
	};

	ppmu_image: ppmu_image@12aa0000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x12aa0000 0x2000>;
		clocks = <&clock CLK_PPMUIMAGE>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_tv: ppmu_tv@12e40000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x12e40000 0x2000>;
		clocks = <&clock CLK_PPMUTV>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_g3d: ppmu_g3d@13220000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x13220000 0x2000>;
		clocks = <&clock CLK_PPMUG3D>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_mfc_left: ppmu_mfc_left@13660000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x13660000 0x2000>;
		clocks = <&clock CLK_PPMUMFC_L>;
		clock-names = "ppmu";
		status = "disabled";
	};

	ppmu_mfc_right: ppmu_mfc_right@13670000 {
		compatible = "samsung,exynos-ppmu";
		reg = <0x13670000 0x2000>;
		clocks = <&clock CLK_PPMUMFC_R>;
		clock-names = "ppmu";
		status = "disabled";
	};
880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988

	sysmmu_mfc_l: sysmmu@13620000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x13620000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <5 5>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_MFCL>, <&clock CLK_MFC>;
		power-domains = <&pd_mfc>;
		#iommu-cells = <0>;
	};

	sysmmu_mfc_r: sysmmu@13630000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x13630000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <5 6>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_MFCR>, <&clock CLK_MFC>;
		power-domains = <&pd_mfc>;
		#iommu-cells = <0>;
	};

	sysmmu_tv: sysmmu@12E20000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x12E20000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <5 4>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_TV>, <&clock CLK_MIXER>;
		power-domains = <&pd_tv>;
		#iommu-cells = <0>;
	};

	sysmmu_fimc0: sysmmu@11A20000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x11A20000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <4 2>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_FIMC0>, <&clock CLK_FIMC0>;
		power-domains = <&pd_cam>;
		#iommu-cells = <0>;
	};

	sysmmu_fimc1: sysmmu@11A30000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x11A30000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <4 3>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_FIMC1>, <&clock CLK_FIMC1>;
		power-domains = <&pd_cam>;
		#iommu-cells = <0>;
	};

	sysmmu_fimc2: sysmmu@11A40000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x11A40000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <4 4>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_FIMC2>, <&clock CLK_FIMC2>;
		power-domains = <&pd_cam>;
		#iommu-cells = <0>;
	};

	sysmmu_fimc3: sysmmu@11A50000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x11A50000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <4 5>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_FIMC3>, <&clock CLK_FIMC3>;
		power-domains = <&pd_cam>;
		#iommu-cells = <0>;
	};

	sysmmu_jpeg: sysmmu@11A60000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x11A60000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <4 6>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_JPEG>, <&clock CLK_JPEG>;
		power-domains = <&pd_cam>;
		#iommu-cells = <0>;
	};

	sysmmu_rotator: sysmmu@12A30000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x12A30000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <5 0>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_ROTATOR>, <&clock CLK_ROTATOR>;
		#iommu-cells = <0>;
	};

	sysmmu_fimd0: sysmmu@11E20000 {
		compatible = "samsung,exynos-sysmmu";
		reg = <0x11E20000 0x1000>;
		interrupt-parent = <&combiner>;
		interrupts = <5 2>;
		clock-names = "sysmmu", "master";
		clocks = <&clock CLK_SMMU_FIMD0>, <&clock CLK_FIMD0>;
		power-domains = <&pd_lcd0>;
		#iommu-cells = <0>;
	};
989

990 991 992
	sss: sss@10830000 {
		compatible = "samsung,exynos4210-secss";
		reg = <0x10830000 0x300>;
993
		interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>;
994 995 996 997
		clocks = <&clock CLK_SSS>;
		clock-names = "secss";
	};

998 999 1000 1001 1002 1003
	prng: rng@10830400 {
		compatible = "samsung,exynos4-rng";
		reg = <0x10830400 0x200>;
		clocks = <&clock CLK_SSS>;
		clock-names = "secss";
	};
1004
};