exynos5250.dtsi 13.5 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 89 90 91 92 93 94 95 96
	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>;
	};

97 98 99 100 101 102 103 104
	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>;
105 106
		clocks = <&clock 1>, <&clock 335>;
		clock-names = "fin_pll", "mct";
107 108 109 110 111 112 113 114 115 116 117 118 119 120

		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>;
		};
	};

121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
	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>;
	};

151 152 153 154
	watchdog {
		compatible = "samsung,s3c2410-wdt";
		reg = <0x101D0000 0x100>;
		interrupts = <0 42 0>;
155 156
		clocks = <&clock 336>;
		clock-names = "watchdog";
157 158
	};

159 160 161 162
	codec@11000000 {
		compatible = "samsung,mfc-v6";
		reg = <0x11000000 0x10000>;
		interrupts = <0 96 0>;
163
		samsung,power-domain = <&pd_mfc>;
164 165
	};

166 167 168 169
	rtc {
		compatible = "samsung,s3c6410-rtc";
		reg = <0x101E0000 0x100>;
		interrupts = <0 43 0>, <0 44 0>;
170 171
		clocks = <&clock 337>;
		clock-names = "rtc";
172 173
	};

174 175 176 177
	tmu@10060000 {
		compatible = "samsung,exynos5250-tmu";
		reg = <0x10060000 0x100>;
		interrupts = <0 65 0>;
178 179
		clocks = <&clock 338>;
		clock-names = "tmu_apbif";
180 181
	};

182 183 184 185
	serial@12C00000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C00000 0x100>;
		interrupts = <0 51 0>;
186 187
		clocks = <&clock 289>, <&clock 146>;
		clock-names = "uart", "clk_uart_baud0";
188 189 190 191 192 193
	};

	serial@12C10000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C10000 0x100>;
		interrupts = <0 52 0>;
194 195
		clocks = <&clock 290>, <&clock 147>;
		clock-names = "uart", "clk_uart_baud0";
196 197 198 199 200 201
	};

	serial@12C20000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C20000 0x100>;
		interrupts = <0 53 0>;
202 203
		clocks = <&clock 291>, <&clock 148>;
		clock-names = "uart", "clk_uart_baud0";
204 205 206 207 208 209
	};

	serial@12C30000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C30000 0x100>;
		interrupts = <0 54 0>;
210 211
		clocks = <&clock 292>, <&clock 149>;
		clock-names = "uart", "clk_uart_baud0";
212 213
	};

214 215 216 217
	sata@122F0000 {
		compatible = "samsung,exynos5-sata-ahci";
		reg = <0x122F0000 0x1ff>;
		interrupts = <0 115 0>;
218 219
		clocks = <&clock 277>, <&clock 143>;
		clock-names = "sata", "sclk_sata";
220 221 222 223 224 225 226
	};

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

227
	i2c_0: i2c@12C60000 {
228 229 230
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C60000 0x100>;
		interrupts = <0 56 0>;
231 232
		#address-cells = <1>;
		#size-cells = <0>;
233 234
		clocks = <&clock 294>;
		clock-names = "i2c";
235 236
		pinctrl-names = "default";
		pinctrl-0 = <&i2c0_bus>;
237 238
	};

239
	i2c_1: i2c@12C70000 {
240 241 242
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C70000 0x100>;
		interrupts = <0 57 0>;
243 244
		#address-cells = <1>;
		#size-cells = <0>;
245 246
		clocks = <&clock 295>;
		clock-names = "i2c";
247 248
		pinctrl-names = "default";
		pinctrl-0 = <&i2c1_bus>;
249 250
	};

251
	i2c_2: i2c@12C80000 {
252 253 254
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C80000 0x100>;
		interrupts = <0 58 0>;
255 256
		#address-cells = <1>;
		#size-cells = <0>;
257 258
		clocks = <&clock 296>;
		clock-names = "i2c";
259 260
		pinctrl-names = "default";
		pinctrl-0 = <&i2c2_bus>;
261 262
	};

263
	i2c_3: i2c@12C90000 {
264 265 266
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12C90000 0x100>;
		interrupts = <0 59 0>;
267 268
		#address-cells = <1>;
		#size-cells = <0>;
269 270
		clocks = <&clock 297>;
		clock-names = "i2c";
271 272
		pinctrl-names = "default";
		pinctrl-0 = <&i2c3_bus>;
273 274
	};

275
	i2c_4: i2c@12CA0000 {
276 277 278
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CA0000 0x100>;
		interrupts = <0 60 0>;
279 280
		#address-cells = <1>;
		#size-cells = <0>;
281 282
		clocks = <&clock 298>;
		clock-names = "i2c";
283 284
		pinctrl-names = "default";
		pinctrl-0 = <&i2c4_bus>;
285 286
	};

287
	i2c_5: i2c@12CB0000 {
288 289 290
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CB0000 0x100>;
		interrupts = <0 61 0>;
291 292
		#address-cells = <1>;
		#size-cells = <0>;
293 294
		clocks = <&clock 299>;
		clock-names = "i2c";
295 296
		pinctrl-names = "default";
		pinctrl-0 = <&i2c5_bus>;
297 298
	};

299
	i2c_6: i2c@12CC0000 {
300 301 302
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CC0000 0x100>;
		interrupts = <0 62 0>;
303 304
		#address-cells = <1>;
		#size-cells = <0>;
305 306
		clocks = <&clock 300>;
		clock-names = "i2c";
307 308
		pinctrl-names = "default";
		pinctrl-0 = <&i2c6_bus>;
309 310
	};

311
	i2c_7: i2c@12CD0000 {
312 313 314
		compatible = "samsung,s3c2440-i2c";
		reg = <0x12CD0000 0x100>;
		interrupts = <0 63 0>;
315 316
		#address-cells = <1>;
		#size-cells = <0>;
317 318
		clocks = <&clock 301>;
		clock-names = "i2c";
319 320
		pinctrl-names = "default";
		pinctrl-0 = <&i2c7_bus>;
321 322
	};

323
	i2c_8: i2c@12CE0000 {
324 325 326 327 328
		compatible = "samsung,s3c2440-hdmiphy-i2c";
		reg = <0x12CE0000 0x1000>;
		interrupts = <0 64 0>;
		#address-cells = <1>;
		#size-cells = <0>;
329 330
		clocks = <&clock 302>;
		clock-names = "i2c";
331 332
	};

333 334 335 336 337
	i2c@121D0000 {
                compatible = "samsung,exynos5-sata-phy-i2c";
                reg = <0x121D0000 0x100>;
                #address-cells = <1>;
                #size-cells = <0>;
338 339
		clocks = <&clock 288>;
		clock-names = "i2c";
340 341
	};

342 343 344 345
	spi_0: spi@12d20000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x12d20000 0x100>;
		interrupts = <0 66 0>;
346 347 348
		dmas = <&pdma0 5
			&pdma0 4>;
		dma-names = "tx", "rx";
349 350
		#address-cells = <1>;
		#size-cells = <0>;
351 352
		clocks = <&clock 304>, <&clock 154>;
		clock-names = "spi", "spi_busclk0";
353 354
		pinctrl-names = "default";
		pinctrl-0 = <&spi0_bus>;
355 356 357 358 359 360
	};

	spi_1: spi@12d30000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x12d30000 0x100>;
		interrupts = <0 67 0>;
361 362 363
		dmas = <&pdma1 5
			&pdma1 4>;
		dma-names = "tx", "rx";
364 365
		#address-cells = <1>;
		#size-cells = <0>;
366 367
		clocks = <&clock 305>, <&clock 155>;
		clock-names = "spi", "spi_busclk0";
368 369
		pinctrl-names = "default";
		pinctrl-0 = <&spi1_bus>;
370 371 372 373 374 375
	};

	spi_2: spi@12d40000 {
		compatible = "samsung,exynos4210-spi";
		reg = <0x12d40000 0x100>;
		interrupts = <0 68 0>;
376 377 378
		dmas = <&pdma0 7
			&pdma0 6>;
		dma-names = "tx", "rx";
379 380
		#address-cells = <1>;
		#size-cells = <0>;
381 382
		clocks = <&clock 306>, <&clock 156>;
		clock-names = "spi", "spi_busclk0";
383 384
		pinctrl-names = "default";
		pinctrl-0 = <&spi2_bus>;
385 386
	};

387
	dwmmc_0: dwmmc0@12200000 {
388 389 390 391 392
		compatible = "samsung,exynos5250-dw-mshc";
		reg = <0x12200000 0x1000>;
		interrupts = <0 75 0>;
		#address-cells = <1>;
		#size-cells = <0>;
393 394
		clocks = <&clock 280>, <&clock 139>;
		clock-names = "biu", "ciu";
395 396
	};

397
	dwmmc_1: dwmmc1@12210000 {
398 399 400 401 402
		compatible = "samsung,exynos5250-dw-mshc";
		reg = <0x12210000 0x1000>;
		interrupts = <0 76 0>;
		#address-cells = <1>;
		#size-cells = <0>;
403 404
		clocks = <&clock 281>, <&clock 140>;
		clock-names = "biu", "ciu";
405 406
	};

407
	dwmmc_2: dwmmc2@12220000 {
408 409 410 411 412
		compatible = "samsung,exynos5250-dw-mshc";
		reg = <0x12220000 0x1000>;
		interrupts = <0 77 0>;
		#address-cells = <1>;
		#size-cells = <0>;
413 414
		clocks = <&clock 282>, <&clock 141>;
		clock-names = "biu", "ciu";
415 416
	};

417
	dwmmc_3: dwmmc3@12230000 {
418 419 420 421 422
		compatible = "samsung,exynos5250-dw-mshc";
		reg = <0x12230000 0x1000>;
		interrupts = <0 78 0>;
		#address-cells = <1>;
		#size-cells = <0>;
423 424
		clocks = <&clock 283>, <&clock 142>;
		clock-names = "biu", "ciu";
425 426
	};

427
	i2s0: i2s@03830000 {
428 429 430 431 432 433 434 435 436 437
		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>;
438 439
		pinctrl-names = "default";
		pinctrl-0 = <&i2s0_bus>;
440 441
	};

442
	i2s1: i2s@12D60000 {
443 444 445 446 447
		compatible = "samsung,i2s-v5";
		reg = <0x12D60000 0x100>;
		dmas = <&pdma1 12
			&pdma1 11>;
		dma-names = "tx", "rx";
448 449
		pinctrl-names = "default";
		pinctrl-0 = <&i2s1_bus>;
450 451
	};

452
	i2s2: i2s@12D70000 {
453 454 455 456 457
		compatible = "samsung,i2s-v5";
		reg = <0x12D70000 0x100>;
		dmas = <&pdma0 12
			&pdma0 11>;
		dma-names = "tx", "rx";
458 459
		pinctrl-names = "default";
		pinctrl-0 = <&i2s2_bus>;
460 461
	};

462 463 464 465 466 467
	usb@12110000 {
		compatible = "samsung,exynos4210-ehci";
		reg = <0x12110000 0x100>;
		interrupts = <0 71 0>;
	};

468 469 470 471 472 473
	usb@12120000 {
		compatible = "samsung,exynos4210-ohci";
		reg = <0x12120000 0x100>;
		interrupts = <0 71 0>;
	};

474 475 476 477 478 479 480 481 482 483 484
	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>;
485 486
			clocks = <&clock 275>;
			clock-names = "apb_pclk";
487 488 489
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
490 491 492 493 494 495
		};

		pdma1: pdma@121B0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x121B0000 0x1000>;
			interrupts = <0 35 0>;
496 497
			clocks = <&clock 276>;
			clock-names = "apb_pclk";
498 499 500
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
501 502
		};

503
		mdma0: mdma@10800000 {
504 505 506
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x10800000 0x1000>;
			interrupts = <0 33 0>;
507 508
			clocks = <&clock 271>;
			clock-names = "apb_pclk";
509 510 511
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <1>;
512 513
		};

514
		mdma1: mdma@11C10000 {
515 516 517
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x11C10000 0x1000>;
			interrupts = <0 124 0>;
518 519
			clocks = <&clock 271>;
			clock-names = "apb_pclk";
520 521 522
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <1>;
523 524 525
		};
	};

526 527 528 529
	gsc_0:  gsc@0x13e00000 {
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e00000 0x1000>;
		interrupts = <0 85 0>;
530
		samsung,power-domain = <&pd_gsc>;
531 532
		clocks = <&clock 256>;
		clock-names = "gscl";
533 534 535 536 537 538
	};

	gsc_1:  gsc@0x13e10000 {
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e10000 0x1000>;
		interrupts = <0 86 0>;
539
		samsung,power-domain = <&pd_gsc>;
540 541
		clocks = <&clock 257>;
		clock-names = "gscl";
542 543 544 545 546 547
	};

	gsc_2:  gsc@0x13e20000 {
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e20000 0x1000>;
		interrupts = <0 87 0>;
548
		samsung,power-domain = <&pd_gsc>;
549 550
		clocks = <&clock 258>;
		clock-names = "gscl";
551 552 553 554 555 556
	};

	gsc_3:  gsc@0x13e30000 {
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e30000 0x1000>;
		interrupts = <0 88 0>;
557
		samsung,power-domain = <&pd_gsc>;
558 559
		clocks = <&clock 259>;
		clock-names = "gscl";
560
	};
561 562 563

	hdmi {
		compatible = "samsung,exynos5-hdmi";
S
Sean Paul 已提交
564
		reg = <0x14530000 0x70000>;
565
		interrupts = <0 95 0>;
566 567 568 569
		clocks = <&clock 333>, <&clock 136>, <&clock 137>,
				<&clock 333>, <&clock 333>;
		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
				"sclk_hdmiphy", "hdmiphy";
570
	};
571 572 573 574 575 576

	mixer {
		compatible = "samsung,exynos5-mixer";
		reg = <0x14450000 0x10000>;
		interrupts = <0 94 0>;
	};
577 578 579 580 581 582 583 584 585 586 587 588 589 590

	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>;
		};
	};
591
};