exynos4.dtsi 23.9 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 "skeleton.dtsi"
25 26 27 28 29 30 31 32

/ {
	interrupt-parent = <&gic>;

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

54 55 56 57 58 59 60 61 62 63 64
	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";
65 66
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk0";
67 68 69
		dmas = <&pdma0 12>, <&pdma0 11>, <&pdma0 10>;
		dma-names = "tx", "rx", "tx-sec";
		samsung,idma-addr = <0x03000000>;
70
		#sound-dai-cells = <1>;
71 72 73
		status = "disabled";
	};

74 75 76 77 78
	chipid@10000000 {
		compatible = "samsung,exynos4210-chipid";
		reg = <0x10000000 0x100>;
	};

79 80 81
	mipi_phy: video-phy@10020710 {
		compatible = "samsung,s5pv210-mipi-video-phy";
		#phy-cells = <1>;
82
		syscon = <&pmu_system_controller>;
83 84
	};

85 86 87
	pd_mfc: mfc-power-domain@10023C40 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C40 0x20>;
88
		#power-domain-cells = <0>;
89 90 91 92 93
	};

	pd_g3d: g3d-power-domain@10023C60 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C60 0x20>;
94
		#power-domain-cells = <0>;
95 96 97 98 99
	};

	pd_lcd0: lcd0-power-domain@10023C80 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C80 0x20>;
100
		#power-domain-cells = <0>;
101 102 103 104 105
	};

	pd_tv: tv-power-domain@10023C20 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C20 0x20>;
106
		#power-domain-cells = <0>;
107
		power-domains = <&pd_lcd0>;
108 109 110 111 112
	};

	pd_cam: cam-power-domain@10023C00 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023C00 0x20>;
113
		#power-domain-cells = <0>;
114 115 116 117 118
	};

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

122 123 124
	pd_gps_alive: gps-alive-power-domain@10023D00 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10023D00 0x20>;
125
		#power-domain-cells = <0>;
126 127
	};

128
	gic: interrupt-controller@10490000 {
129 130 131
		compatible = "arm,cortex-a9-gic";
		#interrupt-cells = <3>;
		interrupt-controller;
132
		reg = <0x10490000 0x10000>, <0x10480000 0x10000>;
133 134
	};

135
	combiner: interrupt-controller@10440000 {
136 137 138 139 140 141
		compatible = "samsung,exynos4210-combiner";
		#interrupt-cells = <2>;
		interrupt-controller;
		reg = <0x10440000 0x1000>;
	};

142 143 144 145 146 147
	pmu {
		compatible = "arm,cortex-a9-pmu";
		interrupt-parent = <&combiner>;
		interrupts = <2 2>, <3 2>;
	};

148
	sys_reg: syscon@10010000 {
149 150 151 152
		compatible = "samsung,exynos4-sysreg", "syscon";
		reg = <0x10010000 0x400>;
	};

153 154 155
	pmu_system_controller: system-controller@10020000 {
		compatible = "samsung,exynos4210-pmu", "syscon";
		reg = <0x10020000 0x4000>;
156 157 158
		interrupt-controller;
		#interrupt-cells = <3>;
		interrupt-parent = <&gic>;
159 160
	};

161 162 163 164
	dsi_0: dsi@11C80000 {
		compatible = "samsung,exynos4210-mipi-dsi";
		reg = <0x11C80000 0x10000>;
		interrupts = <0 79 0>;
165
		power-domains = <&pd_lcd0>;
166 167
		phys = <&mipi_phy 1>;
		phy-names = "dsim";
168
		clocks = <&clock CLK_DSIM0>, <&clock CLK_SCLK_MIPI0>;
169
		clock-names = "bus_clk", "sclk_mipi";
170 171 172 173 174
		status = "disabled";
		#address-cells = <1>;
		#size-cells = <0>;
	};

175 176 177 178 179
	camera {
		compatible = "samsung,fimc", "simple-bus";
		status = "disabled";
		#address-cells = <1>;
		#size-cells = <1>;
180 181
		#clock-cells = <1>;
		clock-output-names = "cam_a_clkout", "cam_b_clkout";
182 183 184 185 186 187
		ranges;

		fimc_0: fimc@11800000 {
			compatible = "samsung,exynos4210-fimc";
			reg = <0x11800000 0x1000>;
			interrupts = <0 84 0>;
188
			clocks = <&clock CLK_FIMC0>, <&clock CLK_SCLK_FIMC0>;
189
			clock-names = "fimc", "sclk_fimc";
190
			power-domains = <&pd_cam>;
191
			samsung,sysreg = <&sys_reg>;
192
			iommus = <&sysmmu_fimc0>;
193 194 195 196 197 198 199
			status = "disabled";
		};

		fimc_1: fimc@11810000 {
			compatible = "samsung,exynos4210-fimc";
			reg = <0x11810000 0x1000>;
			interrupts = <0 85 0>;
200
			clocks = <&clock CLK_FIMC1>, <&clock CLK_SCLK_FIMC1>;
201
			clock-names = "fimc", "sclk_fimc";
202
			power-domains = <&pd_cam>;
203
			samsung,sysreg = <&sys_reg>;
204
			iommus = <&sysmmu_fimc1>;
205 206 207 208 209 210 211
			status = "disabled";
		};

		fimc_2: fimc@11820000 {
			compatible = "samsung,exynos4210-fimc";
			reg = <0x11820000 0x1000>;
			interrupts = <0 86 0>;
212
			clocks = <&clock CLK_FIMC2>, <&clock CLK_SCLK_FIMC2>;
213
			clock-names = "fimc", "sclk_fimc";
214
			power-domains = <&pd_cam>;
215
			samsung,sysreg = <&sys_reg>;
216
			iommus = <&sysmmu_fimc2>;
217 218 219 220 221 222 223
			status = "disabled";
		};

		fimc_3: fimc@11830000 {
			compatible = "samsung,exynos4210-fimc";
			reg = <0x11830000 0x1000>;
			interrupts = <0 87 0>;
224
			clocks = <&clock CLK_FIMC3>, <&clock CLK_SCLK_FIMC3>;
225
			clock-names = "fimc", "sclk_fimc";
226
			power-domains = <&pd_cam>;
227
			samsung,sysreg = <&sys_reg>;
228
			iommus = <&sysmmu_fimc3>;
229 230 231 232 233 234 235
			status = "disabled";
		};

		csis_0: csis@11880000 {
			compatible = "samsung,exynos4210-csis";
			reg = <0x11880000 0x4000>;
			interrupts = <0 78 0>;
236
			clocks = <&clock CLK_CSIS0>, <&clock CLK_SCLK_CSIS0>;
237 238
			clock-names = "csis", "sclk_csis";
			bus-width = <4>;
239
			power-domains = <&pd_cam>;
240 241
			phys = <&mipi_phy 0>;
			phy-names = "csis";
242 243 244 245 246 247 248 249 250
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};

		csis_1: csis@11890000 {
			compatible = "samsung,exynos4210-csis";
			reg = <0x11890000 0x4000>;
			interrupts = <0 80 0>;
251
			clocks = <&clock CLK_CSIS1>, <&clock CLK_SCLK_CSIS1>;
252 253
			clock-names = "csis", "sclk_csis";
			bus-width = <2>;
254
			power-domains = <&pd_cam>;
255 256
			phys = <&mipi_phy 2>;
			phy-names = "csis";
257 258 259 260 261 262
			status = "disabled";
			#address-cells = <1>;
			#size-cells = <0>;
		};
	};

263
	watchdog: watchdog@10060000 {
264 265 266
		compatible = "samsung,s3c2410-wdt";
		reg = <0x10060000 0x100>;
		interrupts = <0 43 0>;
267
		clocks = <&clock CLK_WDT>;
268
		clock-names = "watchdog";
269
		status = "disabled";
270 271
	};

272
	rtc: rtc@10070000 {
273 274
		compatible = "samsung,s3c6410-rtc";
		reg = <0x10070000 0x100>;
275
		interrupt-parent = <&pmu_system_controller>;
276
		interrupts = <0 44 0>, <0 45 0>;
277
		clocks = <&clock CLK_RTC>;
278
		clock-names = "rtc";
279
		status = "disabled";
280 281
	};

282
	keypad: keypad@100A0000 {
283 284 285
		compatible = "samsung,s5pv210-keypad";
		reg = <0x100A0000 0x100>;
		interrupts = <0 109 0>;
286
		clocks = <&clock CLK_KEYIF>;
287
		clock-names = "keypad";
288
		status = "disabled";
289 290
	};

291
	sdhci_0: sdhci@12510000 {
292 293 294
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12510000 0x100>;
		interrupts = <0 73 0>;
295
		clocks = <&clock CLK_SDMMC0>, <&clock CLK_SCLK_MMC0>;
296
		clock-names = "hsmmc", "mmc_busclk.2";
297
		status = "disabled";
298 299
	};

300
	sdhci_1: sdhci@12520000 {
301 302 303
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12520000 0x100>;
		interrupts = <0 74 0>;
304
		clocks = <&clock CLK_SDMMC1>, <&clock CLK_SCLK_MMC1>;
305
		clock-names = "hsmmc", "mmc_busclk.2";
306
		status = "disabled";
307 308
	};

309
	sdhci_2: sdhci@12530000 {
310 311 312
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12530000 0x100>;
		interrupts = <0 75 0>;
313
		clocks = <&clock CLK_SDMMC2>, <&clock CLK_SCLK_MMC2>;
314
		clock-names = "hsmmc", "mmc_busclk.2";
315
		status = "disabled";
316 317
	};

318
	sdhci_3: sdhci@12540000 {
319 320 321
		compatible = "samsung,exynos4210-sdhci";
		reg = <0x12540000 0x100>;
		interrupts = <0 76 0>;
322
		clocks = <&clock CLK_SDMMC3>, <&clock CLK_SCLK_MMC3>;
323
		clock-names = "hsmmc", "mmc_busclk.2";
324
		status = "disabled";
325 326 327 328 329 330 331 332 333 334
	};

	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";
335 336
	};

337
	hsotg: hsotg@12480000 {
338 339 340 341 342 343 344 345
		compatible = "samsung,s3c6400-hsotg";
		reg = <0x12480000 0x20000>;
		interrupts = <0 71 0>;
		clocks = <&clock CLK_USB_DEVICE>;
		clock-names = "otg";
		phys = <&exynos_usbphy 0>;
		phy-names = "usb2-phy";
		status = "disabled";
346 347
	};

348
	ehci: ehci@12580000 {
349 350 351
		compatible = "samsung,exynos4210-ehci";
		reg = <0x12580000 0x100>;
		interrupts = <0 70 0>;
352
		clocks = <&clock CLK_USB_HOST>;
353 354
		clock-names = "usbhost";
		status = "disabled";
355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371
		#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";
		};
372 373
	};

374
	ohci: ohci@12590000 {
375 376 377
		compatible = "samsung,exynos4210-ohci";
		reg = <0x12590000 0x100>;
		interrupts = <0 70 0>;
378
		clocks = <&clock CLK_USB_HOST>;
379 380
		clock-names = "usbhost";
		status = "disabled";
381 382 383 384 385 386 387
		#address-cells = <1>;
		#size-cells = <0>;
		port@0 {
		    reg = <0>;
		    phys = <&exynos_usbphy 1>;
		    status = "disabled";
		};
388 389
	};

390
	i2s1: i2s@13960000 {
391
		compatible = "samsung,s3c6410-i2s";
392 393 394
		reg = <0x13960000 0x100>;
		clocks = <&clock CLK_I2S1>;
		clock-names = "iis";
395 396
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk1";
397 398
		dmas = <&pdma1 12>, <&pdma1 11>;
		dma-names = "tx", "rx";
399
		#sound-dai-cells = <1>;
400 401 402 403
		status = "disabled";
	};

	i2s2: i2s@13970000 {
404
		compatible = "samsung,s3c6410-i2s";
405 406 407
		reg = <0x13970000 0x100>;
		clocks = <&clock CLK_I2S2>;
		clock-names = "iis";
408 409
		#clock-cells = <1>;
		clock-output-names = "i2s_cdclk2";
410 411
		dmas = <&pdma0 14>, <&pdma0 13>;
		dma-names = "tx", "rx";
412
		#sound-dai-cells = <1>;
413 414 415
		status = "disabled";
	};

416 417 418 419
	mfc: codec@13400000 {
		compatible = "samsung,mfc-v5";
		reg = <0x13400000 0x10000>;
		interrupts = <0 94 0>;
420
		power-domains = <&pd_mfc>;
421 422
		clocks = <&clock CLK_MFC>, <&clock CLK_SCLK_MFC>;
		clock-names = "mfc", "sclk_mfc";
423 424
		iommus = <&sysmmu_mfc_l>, <&sysmmu_mfc_r>;
		iommu-names = "left", "right";
425 426 427
		status = "disabled";
	};

428
	serial_0: serial@13800000 {
429 430 431
		compatible = "samsung,exynos4210-uart";
		reg = <0x13800000 0x100>;
		interrupts = <0 52 0>;
432
		clocks = <&clock CLK_UART0>, <&clock CLK_SCLK_UART0>;
433
		clock-names = "uart", "clk_uart_baud0";
434 435
		dmas = <&pdma0 15>, <&pdma0 16>;
		dma-names = "rx", "tx";
436
		status = "disabled";
437 438
	};

439
	serial_1: serial@13810000 {
440 441 442
		compatible = "samsung,exynos4210-uart";
		reg = <0x13810000 0x100>;
		interrupts = <0 53 0>;
443
		clocks = <&clock CLK_UART1>, <&clock CLK_SCLK_UART1>;
444
		clock-names = "uart", "clk_uart_baud0";
445 446
		dmas = <&pdma1 15>, <&pdma1 16>;
		dma-names = "rx", "tx";
447
		status = "disabled";
448 449
	};

450
	serial_2: serial@13820000 {
451 452 453
		compatible = "samsung,exynos4210-uart";
		reg = <0x13820000 0x100>;
		interrupts = <0 54 0>;
454
		clocks = <&clock CLK_UART2>, <&clock CLK_SCLK_UART2>;
455
		clock-names = "uart", "clk_uart_baud0";
456 457
		dmas = <&pdma0 17>, <&pdma0 18>;
		dma-names = "rx", "tx";
458
		status = "disabled";
459 460
	};

461
	serial_3: serial@13830000 {
462 463 464
		compatible = "samsung,exynos4210-uart";
		reg = <0x13830000 0x100>;
		interrupts = <0 55 0>;
465
		clocks = <&clock CLK_UART3>, <&clock CLK_SCLK_UART3>;
466
		clock-names = "uart", "clk_uart_baud0";
467 468
		dmas = <&pdma1 17>, <&pdma1 18>;
		dma-names = "rx", "tx";
469
		status = "disabled";
470 471
	};

472
	i2c_0: i2c@13860000 {
473 474
		#address-cells = <1>;
		#size-cells = <0>;
475 476 477
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13860000 0x100>;
		interrupts = <0 58 0>;
478
		clocks = <&clock CLK_I2C0>;
479
		clock-names = "i2c";
480 481
		pinctrl-names = "default";
		pinctrl-0 = <&i2c0_bus>;
482
		status = "disabled";
483 484
	};

485
	i2c_1: i2c@13870000 {
486 487
		#address-cells = <1>;
		#size-cells = <0>;
488 489 490
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13870000 0x100>;
		interrupts = <0 59 0>;
491
		clocks = <&clock CLK_I2C1>;
492
		clock-names = "i2c";
493 494
		pinctrl-names = "default";
		pinctrl-0 = <&i2c1_bus>;
495
		status = "disabled";
496 497
	};

498
	i2c_2: i2c@13880000 {
499 500
		#address-cells = <1>;
		#size-cells = <0>;
501 502 503
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13880000 0x100>;
		interrupts = <0 60 0>;
504
		clocks = <&clock CLK_I2C2>;
505
		clock-names = "i2c";
506 507
		pinctrl-names = "default";
		pinctrl-0 = <&i2c2_bus>;
508
		status = "disabled";
509 510
	};

511
	i2c_3: i2c@13890000 {
512 513
		#address-cells = <1>;
		#size-cells = <0>;
514 515 516
		compatible = "samsung,s3c2440-i2c";
		reg = <0x13890000 0x100>;
		interrupts = <0 61 0>;
517
		clocks = <&clock CLK_I2C3>;
518
		clock-names = "i2c";
519 520
		pinctrl-names = "default";
		pinctrl-0 = <&i2c3_bus>;
521
		status = "disabled";
522 523
	};

524
	i2c_4: i2c@138A0000 {
525 526
		#address-cells = <1>;
		#size-cells = <0>;
527 528 529
		compatible = "samsung,s3c2440-i2c";
		reg = <0x138A0000 0x100>;
		interrupts = <0 62 0>;
530
		clocks = <&clock CLK_I2C4>;
531
		clock-names = "i2c";
532 533
		pinctrl-names = "default";
		pinctrl-0 = <&i2c4_bus>;
534
		status = "disabled";
535 536
	};

537
	i2c_5: i2c@138B0000 {
538 539
		#address-cells = <1>;
		#size-cells = <0>;
540 541 542
		compatible = "samsung,s3c2440-i2c";
		reg = <0x138B0000 0x100>;
		interrupts = <0 63 0>;
543
		clocks = <&clock CLK_I2C5>;
544
		clock-names = "i2c";
545 546
		pinctrl-names = "default";
		pinctrl-0 = <&i2c5_bus>;
547
		status = "disabled";
548 549
	};

550
	i2c_6: i2c@138C0000 {
551 552
		#address-cells = <1>;
		#size-cells = <0>;
553 554 555
		compatible = "samsung,s3c2440-i2c";
		reg = <0x138C0000 0x100>;
		interrupts = <0 64 0>;
556
		clocks = <&clock CLK_I2C6>;
557
		clock-names = "i2c";
558 559
		pinctrl-names = "default";
		pinctrl-0 = <&i2c6_bus>;
560
		status = "disabled";
561 562
	};

563
	i2c_7: i2c@138D0000 {
564 565
		#address-cells = <1>;
		#size-cells = <0>;
566 567 568
		compatible = "samsung,s3c2440-i2c";
		reg = <0x138D0000 0x100>;
		interrupts = <0 65 0>;
569
		clocks = <&clock CLK_I2C7>;
570
		clock-names = "i2c";
571 572
		pinctrl-names = "default";
		pinctrl-0 = <&i2c7_bus>;
573
		status = "disabled";
574 575
	};

576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591
	i2c_8: i2c@138E0000 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "samsung,s3c2440-hdmiphy-i2c";
		reg = <0x138E0000 0x100>;
		interrupts = <0 93 0>;
		clocks = <&clock CLK_I2C_HDMI>;
		clock-names = "i2c";
		status = "disabled";

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

592 593 594 595
	spi_0: spi@13920000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x13920000 0x100>;
		interrupts = <0 66 0>;
596 597
		dmas = <&pdma0 7>, <&pdma0 6>;
		dma-names = "tx", "rx";
598 599
		#address-cells = <1>;
		#size-cells = <0>;
600
		clocks = <&clock CLK_SPI0>, <&clock CLK_SCLK_SPI0>;
601
		clock-names = "spi", "spi_busclk0";
602 603
		pinctrl-names = "default";
		pinctrl-0 = <&spi0_bus>;
604
		status = "disabled";
605 606 607 608 609 610
	};

	spi_1: spi@13930000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x13930000 0x100>;
		interrupts = <0 67 0>;
611 612
		dmas = <&pdma1 7>, <&pdma1 6>;
		dma-names = "tx", "rx";
613 614
		#address-cells = <1>;
		#size-cells = <0>;
615
		clocks = <&clock CLK_SPI1>, <&clock CLK_SCLK_SPI1>;
616
		clock-names = "spi", "spi_busclk0";
617 618
		pinctrl-names = "default";
		pinctrl-0 = <&spi1_bus>;
619
		status = "disabled";
620 621 622 623 624 625
	};

	spi_2: spi@13940000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x13940000 0x100>;
		interrupts = <0 68 0>;
626 627
		dmas = <&pdma0 9>, <&pdma0 8>;
		dma-names = "tx", "rx";
628 629
		#address-cells = <1>;
		#size-cells = <0>;
630
		clocks = <&clock CLK_SPI2>, <&clock CLK_SCLK_SPI2>;
631
		clock-names = "spi", "spi_busclk0";
632 633
		pinctrl-names = "default";
		pinctrl-0 = <&spi2_bus>;
634
		status = "disabled";
635 636
	};

637
	pwm: pwm@139D0000 {
638 639 640
		compatible = "samsung,exynos4210-pwm";
		reg = <0x139D0000 0x1000>;
		interrupts = <0 37 0>, <0 38 0>, <0 39 0>, <0 40 0>, <0 41 0>;
641
		clocks = <&clock CLK_PWM>;
642
		clock-names = "timers";
643
		#pwm-cells = <3>;
644 645 646
		status = "disabled";
	};

647 648 649 650 651 652 653 654 655 656 657
	amba {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "arm,amba-bus";
		interrupt-parent = <&gic>;
		ranges;

		pdma0: pdma@12680000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x12680000 0x1000>;
			interrupts = <0 35 0>;
658
			clocks = <&clock CLK_PDMA0>;
659
			clock-names = "apb_pclk";
660 661 662
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
663 664 665 666 667 668
		};

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

		mdma1: mdma@12850000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x12850000 0x1000>;
			interrupts = <0 34 0>;
680
			clocks = <&clock CLK_MDMA>;
681
			clock-names = "apb_pclk";
682 683 684
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <1>;
685
		};
686
	};
687 688 689 690 691 692 693

	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>;
694
		clocks = <&clock CLK_SCLK_FIMD0>, <&clock CLK_FIMD0>;
695
		clock-names = "sclk_fimd", "fimd";
696
		power-domains = <&pd_lcd0>;
697
		iommus = <&sysmmu_fimd0>;
698
		samsung,sysreg = <&sys_reg>;
699 700
		status = "disabled";
	};
701

702 703 704 705
	tmu: tmu@100C0000 {
		#include "exynos4412-tmu-sensor-conf.dtsi"
	};

706
	jpeg_codec: jpeg-codec@11840000 {
707 708 709 710 711 712
		compatible = "samsung,exynos4210-jpeg";
		reg = <0x11840000 0x1000>;
		interrupts = <0 88 0>;
		clocks = <&clock CLK_JPEG>;
		clock-names = "jpeg";
		power-domains = <&pd_cam>;
713
		iommus = <&sysmmu_jpeg>;
714 715
	};

716 717 718 719 720 721 722 723 724
	rotator: rotator@12810000 {
		compatible = "samsung,exynos4210-rotator";
		reg = <0x12810000 0x64>;
		interrupts = <0 83 0>;
		clocks = <&clock CLK_ROTATOR>;
		clock-names = "rotator";
		iommus = <&sysmmu_rotator>;
	};

725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744
	hdmi: hdmi@12D00000 {
		compatible = "samsung,exynos4210-hdmi";
		reg = <0x12D00000 0x70000>;
		interrupts = <0 92 0>;
		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";
	};

	mixer: mixer@12C10000 {
		compatible = "samsung,exynos4210-mixer";
		interrupts = <0 91 0>;
		reg = <0x12C10000 0x2100>, <0x12c00000 0x300>;
		power-domains = <&pd_tv>;
745
		iommus = <&sysmmu_tv>;
746 747 748
		status = "disabled";
	};

749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 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
	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";
	};
856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 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

	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>;
		power-domains = <&pd_lcd0>;
		#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>;
	};
966 967 968 969 970 971 972 973

	prng: rng@10830400 {
		compatible = "samsung,exynos4-rng";
		reg = <0x10830400 0x200>;
		clocks = <&clock CLK_SSS>;
		clock-names = "secss";
		status = "disabled";
	};
974
};