exynos5250.dtsi 13.4 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 72 73
		compatible = "arm,cortex-a9-gic";
		#interrupt-cells = <3>;
		interrupt-controller;
74
		reg = <0x10481000 0x1000>, <0x10482000 0x2000>;
75 76
	};

77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
	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>;
	};

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

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

117 118 119 120 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
	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>;
	};

147 148 149 150
	watchdog {
		compatible = "samsung,s3c2410-wdt";
		reg = <0x101D0000 0x100>;
		interrupts = <0 42 0>;
151 152
		clocks = <&clock 336>;
		clock-names = "watchdog";
153 154
	};

155 156 157 158
	codec@11000000 {
		compatible = "samsung,mfc-v6";
		reg = <0x11000000 0x10000>;
		interrupts = <0 96 0>;
159
		samsung,power-domain = <&pd_mfc>;
160 161
	};

162 163 164 165
	rtc {
		compatible = "samsung,s3c6410-rtc";
		reg = <0x101E0000 0x100>;
		interrupts = <0 43 0>, <0 44 0>;
166 167
		clocks = <&clock 337>;
		clock-names = "rtc";
168 169
	};

170 171 172 173
	tmu@10060000 {
		compatible = "samsung,exynos5250-tmu";
		reg = <0x10060000 0x100>;
		interrupts = <0 65 0>;
174 175
		clocks = <&clock 338>;
		clock-names = "tmu_apbif";
176 177
	};

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

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

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

	serial@12C30000 {
		compatible = "samsung,exynos4210-uart";
		reg = <0x12C30000 0x100>;
		interrupts = <0 54 0>;
206 207
		clocks = <&clock 292>, <&clock 149>;
		clock-names = "uart", "clk_uart_baud0";
208 209
	};

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

458 459 460 461 462 463
	usb@12110000 {
		compatible = "samsung,exynos4210-ehci";
		reg = <0x12110000 0x100>;
		interrupts = <0 71 0>;
	};

464 465 466 467 468 469
	usb@12120000 {
		compatible = "samsung,exynos4210-ohci";
		reg = <0x12120000 0x100>;
		interrupts = <0 71 0>;
	};

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

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

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

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

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

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

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

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

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

	mixer {
		compatible = "samsung,exynos5-mixer";
		reg = <0x14450000 0x10000>;
		interrupts = <0 94 0>;
	};
573 574 575 576 577 578 579 580 581 582 583 584 585 586

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