exynos5250.dtsi 13.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/*
 * SAMSUNG EXYNOS5250 SoC device tree source
 *
 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
 *
 * SAMSUNG EXYNOS5250 SoC device nodes are listed in this file.
 * EXYNOS5250 based board files can include this file and provide
 * values for board specfic bindings.
 *
 * Note: This file does not include device nodes for all the controllers in
 * EXYNOS5250 SoC. As device tree coverage for EXYNOS5250 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.
*/

/include/ "skeleton.dtsi"
21
/include/ "exynos5250-pinctrl.dtsi"
22 23 24 25 26

/ {
	compatible = "samsung,exynos5250";
	interrupt-parent = <&gic>;

27 28 29 30
	aliases {
		spi0 = &spi_0;
		spi1 = &spi_1;
		spi2 = &spi_2;
31 32 33 34
		gsc0 = &gsc_0;
		gsc1 = &gsc_1;
		gsc2 = &gsc_2;
		gsc3 = &gsc_3;
35 36 37 38
		mshc0 = &dwmmc_0;
		mshc1 = &dwmmc_1;
		mshc2 = &dwmmc_2;
		mshc3 = &dwmmc_3;
39 40 41 42 43 44 45 46 47
		i2c0 = &i2c_0;
		i2c1 = &i2c_1;
		i2c2 = &i2c_2;
		i2c3 = &i2c_3;
		i2c4 = &i2c_4;
		i2c5 = &i2c_5;
		i2c6 = &i2c_6;
		i2c7 = &i2c_7;
		i2c8 = &i2c_8;
48 49 50 51
		pinctrl0 = &pinctrl_0;
		pinctrl1 = &pinctrl_1;
		pinctrl2 = &pinctrl_2;
		pinctrl3 = &pinctrl_3;
52 53
	};

54 55 56 57 58 59 60 61 62 63
	pd_gsc: gsc-power-domain@0x10044000 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10044000 0x20>;
	};

	pd_mfc: mfc-power-domain@0x10044040 {
		compatible = "samsung,exynos4210-pd";
		reg = <0x10044040 0x20>;
	};

64 65 66 67 68 69
	clock: clock-controller@0x10010000 {
		compatible = "samsung,exynos5250-clock";
		reg = <0x10010000 0x30000>;
		#clock-cells = <1>;
	};

70
	gic:interrupt-controller@10481000 {
71
		compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic";
72 73
		#interrupt-cells = <3>;
		interrupt-controller;
74 75 76 77 78
		reg = <0x10481000 0x1000>,
		      <0x10482000 0x1000>,
		      <0x10484000 0x2000>,
		      <0x10486000 0x2000>;
		interrupts = <1 9 0xf04>;
79 80
	};

81 82 83 84 85 86 87 88
	timer {
		compatible = "arm,armv7-timer";
		interrupts = <1 13 0xf08>,
			     <1 14 0xf08>,
			     <1 11 0xf08>,
			     <1 10 0xf08>;
	};

89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
	combiner:interrupt-controller@10440000 {
		compatible = "samsung,exynos4210-combiner";
		#interrupt-cells = <2>;
		interrupt-controller;
		samsung,combiner-nr = <32>;
		reg = <0x10440000 0x1000>;
		interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>,
			     <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>,
			     <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>,
			     <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>,
			     <0 16 0>, <0 17 0>, <0 18 0>, <0 19 0>,
			     <0 20 0>, <0 21 0>, <0 22 0>, <0 23 0>,
			     <0 24 0>, <0 25 0>, <0 26 0>, <0 27 0>,
			     <0 28 0>, <0 29 0>, <0 30 0>, <0 31 0>;
	};

105 106 107 108 109 110 111 112
	mct@101C0000 {
		compatible = "samsung,exynos4210-mct";
		reg = <0x101C0000 0x800>;
		interrupt-controller;
		#interrups-cells = <2>;
		interrupt-parent = <&mct_map>;
		interrupts = <0 0>, <1 0>, <2 0>, <3 0>,
			     <4 0>, <5 0>;
113 114
		clocks = <&clock 1>, <&clock 335>;
		clock-names = "fin_pll", "mct";
115 116 117 118 119 120 121 122 123 124 125 126 127 128

		mct_map: mct-map {
			#interrupt-cells = <2>;
			#address-cells = <0>;
			#size-cells = <0>;
			interrupt-map = <0x0 0 &combiner 23 3>,
					<0x1 0 &combiner 23 4>,
					<0x2 0 &combiner 25 2>,
					<0x3 0 &combiner 25 3>,
					<0x4 0 &gic 0 120 0>,
					<0x5 0 &gic 0 121 0>;
		};
	};

129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
	pinctrl_0: pinctrl@11400000 {
		compatible = "samsung,exynos5250-pinctrl";
		reg = <0x11400000 0x1000>;
		interrupts = <0 46 0>;

		wakup_eint: wakeup-interrupt-controller {
			compatible = "samsung,exynos4210-wakeup-eint";
			interrupt-parent = <&gic>;
			interrupts = <0 32 0>;
		};
	};

	pinctrl_1: pinctrl@13400000 {
		compatible = "samsung,exynos5250-pinctrl";
		reg = <0x13400000 0x1000>;
		interrupts = <0 45 0>;
	};

	pinctrl_2: pinctrl@10d10000 {
		compatible = "samsung,exynos5250-pinctrl";
		reg = <0x10d10000 0x1000>;
		interrupts = <0 50 0>;
	};

	pinctrl_3: pinctrl@03680000 {
		compatible = "samsung,exynos5250-pinctrl";
		reg = <0x0368000 0x1000>;
		interrupts = <0 47 0>;
	};

159 160 161 162
	watchdog {
		compatible = "samsung,s3c2410-wdt";
		reg = <0x101D0000 0x100>;
		interrupts = <0 42 0>;
163 164
		clocks = <&clock 336>;
		clock-names = "watchdog";
165 166
	};

167 168 169 170
	codec@11000000 {
		compatible = "samsung,mfc-v6";
		reg = <0x11000000 0x10000>;
		interrupts = <0 96 0>;
171
		samsung,power-domain = <&pd_mfc>;
172 173
	};

174 175 176 177
	rtc {
		compatible = "samsung,s3c6410-rtc";
		reg = <0x101E0000 0x100>;
		interrupts = <0 43 0>, <0 44 0>;
178 179
		clocks = <&clock 337>;
		clock-names = "rtc";
180 181
	};

182 183 184 185
	tmu@10060000 {
		compatible = "samsung,exynos5250-tmu";
		reg = <0x10060000 0x100>;
		interrupts = <0 65 0>;
186 187
		clocks = <&clock 338>;
		clock-names = "tmu_apbif";
188 189
	};

190 191 192 193
	serial@12C00000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C00000 0x100>;
		interrupts = <0 51 0>;
194 195
		clocks = <&clock 289>, <&clock 146>;
		clock-names = "uart", "clk_uart_baud0";
196 197 198 199 200 201
	};

	serial@12C10000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C10000 0x100>;
		interrupts = <0 52 0>;
202 203
		clocks = <&clock 290>, <&clock 147>;
		clock-names = "uart", "clk_uart_baud0";
204 205 206 207 208 209
	};

	serial@12C20000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C20000 0x100>;
		interrupts = <0 53 0>;
210 211
		clocks = <&clock 291>, <&clock 148>;
		clock-names = "uart", "clk_uart_baud0";
212 213 214 215 216 217
	};

	serial@12C30000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C30000 0x100>;
		interrupts = <0 54 0>;
218 219
		clocks = <&clock 292>, <&clock 149>;
		clock-names = "uart", "clk_uart_baud0";
220 221
	};

222 223 224 225
	sata@122F0000 {
		compatible = "samsung,exynos5-sata-ahci";
		reg = <0x122F0000 0x1ff>;
		interrupts = <0 115 0>;
226 227
		clocks = <&clock 277>, <&clock 143>;
		clock-names = "sata", "sclk_sata";
228 229 230 231 232 233 234
	};

	sata-phy@12170000 {
		compatible = "samsung,exynos5-sata-phy";
		reg = <0x12170000 0x1ff>;
	};

235
	i2c_0: i2c@12C60000 {
236 237 238
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C60000 0x100>;
		interrupts = <0 56 0>;
239 240
		#address-cells = <1>;
		#size-cells = <0>;
241 242
		clocks = <&clock 294>;
		clock-names = "i2c";
243 244
		pinctrl-names = "default";
		pinctrl-0 = <&i2c0_bus>;
245 246
	};

247
	i2c_1: i2c@12C70000 {
248 249 250
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C70000 0x100>;
		interrupts = <0 57 0>;
251 252
		#address-cells = <1>;
		#size-cells = <0>;
253 254
		clocks = <&clock 295>;
		clock-names = "i2c";
255 256
		pinctrl-names = "default";
		pinctrl-0 = <&i2c1_bus>;
257 258
	};

259
	i2c_2: i2c@12C80000 {
260 261 262
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C80000 0x100>;
		interrupts = <0 58 0>;
263 264
		#address-cells = <1>;
		#size-cells = <0>;
265 266
		clocks = <&clock 296>;
		clock-names = "i2c";
267 268
		pinctrl-names = "default";
		pinctrl-0 = <&i2c2_bus>;
269 270
	};

271
	i2c_3: i2c@12C90000 {
272 273 274
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C90000 0x100>;
		interrupts = <0 59 0>;
275 276
		#address-cells = <1>;
		#size-cells = <0>;
277 278
		clocks = <&clock 297>;
		clock-names = "i2c";
279 280
		pinctrl-names = "default";
		pinctrl-0 = <&i2c3_bus>;
281 282
	};

283
	i2c_4: i2c@12CA0000 {
284 285 286
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CA0000 0x100>;
		interrupts = <0 60 0>;
287 288
		#address-cells = <1>;
		#size-cells = <0>;
289 290
		clocks = <&clock 298>;
		clock-names = "i2c";
291 292
		pinctrl-names = "default";
		pinctrl-0 = <&i2c4_bus>;
293 294
	};

295
	i2c_5: i2c@12CB0000 {
296 297 298
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CB0000 0x100>;
		interrupts = <0 61 0>;
299 300
		#address-cells = <1>;
		#size-cells = <0>;
301 302
		clocks = <&clock 299>;
		clock-names = "i2c";
303 304
		pinctrl-names = "default";
		pinctrl-0 = <&i2c5_bus>;
305 306
	};

307
	i2c_6: i2c@12CC0000 {
308 309 310
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CC0000 0x100>;
		interrupts = <0 62 0>;
311 312
		#address-cells = <1>;
		#size-cells = <0>;
313 314
		clocks = <&clock 300>;
		clock-names = "i2c";
315 316
		pinctrl-names = "default";
		pinctrl-0 = <&i2c6_bus>;
317 318
	};

319
	i2c_7: i2c@12CD0000 {
320 321 322
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CD0000 0x100>;
		interrupts = <0 63 0>;
323 324
		#address-cells = <1>;
		#size-cells = <0>;
325 326
		clocks = <&clock 301>;
		clock-names = "i2c";
327 328
		pinctrl-names = "default";
		pinctrl-0 = <&i2c7_bus>;
329 330
	};

331
	i2c_8: i2c@12CE0000 {
332 333 334 335 336
		compatible = "samsung,s3c2440-hdmiphy-i2c";
		reg = <0x12CE0000 0x1000>;
		interrupts = <0 64 0>;
		#address-cells = <1>;
		#size-cells = <0>;
337 338
		clocks = <&clock 302>;
		clock-names = "i2c";
339 340
	};

341 342 343 344 345
	i2c@121D0000 {
                compatible = "samsung,exynos5-sata-phy-i2c";
                reg = <0x121D0000 0x100>;
                #address-cells = <1>;
                #size-cells = <0>;
346 347
		clocks = <&clock 288>;
		clock-names = "i2c";
348 349
	};

350 351 352 353
	spi_0: spi@12d20000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x12d20000 0x100>;
		interrupts = <0 66 0>;
354 355 356
		dmas = <&pdma0 5
			&pdma0 4>;
		dma-names = "tx", "rx";
357 358
		#address-cells = <1>;
		#size-cells = <0>;
359 360
		clocks = <&clock 304>, <&clock 154>;
		clock-names = "spi", "spi_busclk0";
361 362
		pinctrl-names = "default";
		pinctrl-0 = <&spi0_bus>;
363 364 365 366 367 368
	};

	spi_1: spi@12d30000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x12d30000 0x100>;
		interrupts = <0 67 0>;
369 370 371
		dmas = <&pdma1 5
			&pdma1 4>;
		dma-names = "tx", "rx";
372 373
		#address-cells = <1>;
		#size-cells = <0>;
374 375
		clocks = <&clock 305>, <&clock 155>;
		clock-names = "spi", "spi_busclk0";
376 377
		pinctrl-names = "default";
		pinctrl-0 = <&spi1_bus>;
378 379 380 381 382 383
	};

	spi_2: spi@12d40000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x12d40000 0x100>;
		interrupts = <0 68 0>;
384 385 386
		dmas = <&pdma0 7
			&pdma0 6>;
		dma-names = "tx", "rx";
387 388
		#address-cells = <1>;
		#size-cells = <0>;
389 390
		clocks = <&clock 306>, <&clock 156>;
		clock-names = "spi", "spi_busclk0";
391 392
		pinctrl-names = "default";
		pinctrl-0 = <&spi2_bus>;
393 394
	};

395
	dwmmc_0: dwmmc0@12200000 {
396 397 398 399 400
		compatible = "samsung,exynos5250-dw-mshc";
		reg = <0x12200000 0x1000>;
		interrupts = <0 75 0>;
		#address-cells = <1>;
		#size-cells = <0>;
401 402
		clocks = <&clock 280>, <&clock 139>;
		clock-names = "biu", "ciu";
403 404
	};

405
	dwmmc_1: dwmmc1@12210000 {
406 407 408 409 410
		compatible = "samsung,exynos5250-dw-mshc";
		reg = <0x12210000 0x1000>;
		interrupts = <0 76 0>;
		#address-cells = <1>;
		#size-cells = <0>;
411 412
		clocks = <&clock 281>, <&clock 140>;
		clock-names = "biu", "ciu";
413 414
	};

415
	dwmmc_2: dwmmc2@12220000 {
416 417 418 419 420
		compatible = "samsung,exynos5250-dw-mshc";
		reg = <0x12220000 0x1000>;
		interrupts = <0 77 0>;
		#address-cells = <1>;
		#size-cells = <0>;
421 422
		clocks = <&clock 282>, <&clock 141>;
		clock-names = "biu", "ciu";
423 424
	};

425
	dwmmc_3: dwmmc3@12230000 {
426 427 428 429 430
		compatible = "samsung,exynos5250-dw-mshc";
		reg = <0x12230000 0x1000>;
		interrupts = <0 78 0>;
		#address-cells = <1>;
		#size-cells = <0>;
431 432
		clocks = <&clock 283>, <&clock 142>;
		clock-names = "biu", "ciu";
433 434
	};

435
	i2s0: i2s@03830000 {
436 437 438 439 440 441 442 443 444 445
		compatible = "samsung,i2s-v5";
		reg = <0x03830000 0x100>;
		dmas = <&pdma0 10
			&pdma0 9
			&pdma0 8>;
		dma-names = "tx", "rx", "tx-sec";
		samsung,supports-6ch;
		samsung,supports-rstclr;
		samsung,supports-secdai;
		samsung,idma-addr = <0x03000000>;
446 447
		pinctrl-names = "default";
		pinctrl-0 = <&i2s0_bus>;
448 449
	};

450
	i2s1: i2s@12D60000 {
451 452 453 454 455
		compatible = "samsung,i2s-v5";
		reg = <0x12D60000 0x100>;
		dmas = <&pdma1 12
			&pdma1 11>;
		dma-names = "tx", "rx";
456 457
		pinctrl-names = "default";
		pinctrl-0 = <&i2s1_bus>;
458 459
	};

460
	i2s2: i2s@12D70000 {
461 462 463 464 465
		compatible = "samsung,i2s-v5";
		reg = <0x12D70000 0x100>;
		dmas = <&pdma0 12
			&pdma0 11>;
		dma-names = "tx", "rx";
466 467
		pinctrl-names = "default";
		pinctrl-0 = <&i2s2_bus>;
468 469
	};

470 471 472 473 474 475
	usb@12110000 {
		compatible = "samsung,exynos4210-ehci";
		reg = <0x12110000 0x100>;
		interrupts = <0 71 0>;
	};

476 477 478 479 480 481
	usb@12120000 {
		compatible = "samsung,exynos4210-ohci";
		reg = <0x12120000 0x100>;
		interrupts = <0 71 0>;
	};

482 483 484 485 486 487 488 489 490 491 492
	amba {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "arm,amba-bus";
		interrupt-parent = <&gic>;
		ranges;

		pdma0: pdma@121A0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x121A0000 0x1000>;
			interrupts = <0 34 0>;
493 494
			clocks = <&clock 275>;
			clock-names = "apb_pclk";
495 496 497
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
498 499 500 501 502 503
		};

		pdma1: pdma@121B0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x121B0000 0x1000>;
			interrupts = <0 35 0>;
504 505
			clocks = <&clock 276>;
			clock-names = "apb_pclk";
506 507 508
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
509 510
		};

511
		mdma0: mdma@10800000 {
512 513 514
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x10800000 0x1000>;
			interrupts = <0 33 0>;
515 516
			clocks = <&clock 271>;
			clock-names = "apb_pclk";
517 518 519
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <1>;
520 521
		};

522
		mdma1: mdma@11C10000 {
523 524 525
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x11C10000 0x1000>;
			interrupts = <0 124 0>;
526 527
			clocks = <&clock 271>;
			clock-names = "apb_pclk";
528 529 530
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <1>;
531 532 533
		};
	};

534 535 536 537
	gsc_0:  gsc@0x13e00000 {
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e00000 0x1000>;
		interrupts = <0 85 0>;
538
		samsung,power-domain = <&pd_gsc>;
539 540
		clocks = <&clock 256>;
		clock-names = "gscl";
541 542 543 544 545 546
	};

	gsc_1:  gsc@0x13e10000 {
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e10000 0x1000>;
		interrupts = <0 86 0>;
547
		samsung,power-domain = <&pd_gsc>;
548 549
		clocks = <&clock 257>;
		clock-names = "gscl";
550 551 552 553 554 555
	};

	gsc_2:  gsc@0x13e20000 {
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e20000 0x1000>;
		interrupts = <0 87 0>;
556
		samsung,power-domain = <&pd_gsc>;
557 558
		clocks = <&clock 258>;
		clock-names = "gscl";
559 560 561 562 563 564
	};

	gsc_3:  gsc@0x13e30000 {
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e30000 0x1000>;
		interrupts = <0 88 0>;
565
		samsung,power-domain = <&pd_gsc>;
566 567
		clocks = <&clock 259>;
		clock-names = "gscl";
568
	};
569 570 571

	hdmi {
		compatible = "samsung,exynos5-hdmi";
S
Sean Paul 已提交
572
		reg = <0x14530000 0x70000>;
573
		interrupts = <0 95 0>;
574 575 576 577
		clocks = <&clock 333>, <&clock 136>, <&clock 137>,
				<&clock 333>, <&clock 333>;
		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
				"sclk_hdmiphy", "hdmiphy";
578
	};
579 580 581 582 583 584

	mixer {
		compatible = "samsung,exynos5-mixer";
		reg = <0x14450000 0x10000>;
		interrupts = <0 94 0>;
	};
585 586 587 588 589 590 591 592 593 594 595 596 597 598

	dp-controller {
		compatible = "samsung,exynos5-dp";
		reg = <0x145b0000 0x1000>;
		interrupts = <10 3>;
		interrupt-parent = <&combiner>;
		#address-cells = <1>;
		#size-cells = <0>;

		dptx-phy {
			reg = <0x10040720>;
			samsung,enable-mask = <1>;
		};
	};
599
};