exynos5250.dtsi 14.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
/*
 * 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.
*/

20
#include "exynos5.dtsi"
21
#include "exynos5250-pinctrl.dtsi"
22

23
#include <dt-bindings/clk/exynos-audss-clk.h>
24 25 26 27

/ {
	compatible = "samsung,exynos5250";

28 29 30 31
	aliases {
		spi0 = &spi_0;
		spi1 = &spi_1;
		spi2 = &spi_2;
32 33 34 35
		gsc0 = &gsc_0;
		gsc1 = &gsc_1;
		gsc2 = &gsc_2;
		gsc3 = &gsc_3;
36 37 38 39
		mshc0 = &dwmmc_0;
		mshc1 = &dwmmc_1;
		mshc2 = &dwmmc_2;
		mshc3 = &dwmmc_3;
40 41 42 43 44 45 46 47 48
		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;
49 50 51 52
		pinctrl0 = &pinctrl_0;
		pinctrl1 = &pinctrl_1;
		pinctrl2 = &pinctrl_2;
		pinctrl3 = &pinctrl_3;
53 54
	};

55 56 57 58 59 60 61 62 63 64 65 66 67 68
	cpus {
		#address-cells = <1>;
		#size-cells = <0>;

		cpu@0 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <0>;
		};
		cpu@1 {
			device_type = "cpu";
			compatible = "arm,cortex-a15";
			reg = <1>;
		};
69 70
	};

71
	pd_gsc: gsc-power-domain@10044000 {
72 73 74 75
		compatible = "samsung,exynos4210-pd";
		reg = <0x10044000 0x20>;
	};

76
	pd_mfc: mfc-power-domain@10044040 {
77 78 79 80
		compatible = "samsung,exynos4210-pd";
		reg = <0x10044040 0x20>;
	};

81
	clock: clock-controller@10010000 {
82 83 84 85 86
		compatible = "samsung,exynos5250-clock";
		reg = <0x10010000 0x30000>;
		#clock-cells = <1>;
	};

87 88 89 90 91 92
	clock_audss: audss-clock-controller@3810000 {
		compatible = "samsung,exynos5250-audss-clock";
		reg = <0x03810000 0x0C>;
		#clock-cells = <1>;
	};

93 94 95 96 97 98
	timer {
		compatible = "arm,armv7-timer";
		interrupts = <1 13 0xf08>,
			     <1 14 0xf08>,
			     <1 11 0xf08>,
			     <1 10 0xf08>;
99 100 101 102 103
		/* Unfortunately we need this since some versions of U-Boot
		 * on Exynos don't set the CNTFRQ register, so we need the
		 * value from DT.
		 */
		clock-frequency = <24000000>;
104 105
	};

106 107 108 109 110 111 112 113
	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>;
114 115
		clocks = <&clock 1>, <&clock 335>;
		clock-names = "fin_pll", "mct";
116 117 118 119 120 121 122 123 124 125 126 127 128 129

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

130 131 132 133 134 135
	pmu {
		compatible = "arm,cortex-a15-pmu";
		interrupt-parent = <&combiner>;
		interrupts = <1 2>, <22 4>;
	};

136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
	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>;
	};

160
	pinctrl_3: pinctrl@03860000 {
161
		compatible = "samsung,exynos5250-pinctrl";
162
		reg = <0x03860000 0x1000>;
163 164 165
		interrupts = <0 47 0>;
	};

166
	watchdog {
167 168
		clocks = <&clock 336>;
		clock-names = "watchdog";
169 170
	};

171 172 173 174 175 176 177 178
	g2d@10850000 {
		compatible = "samsung,exynos5250-g2d";
		reg = <0x10850000 0x1000>;
		interrupts = <0 91 0>;
		clocks = <&clock 345>;
		clock-names = "fimg2d";
	};

179 180 181 182
	codec@11000000 {
		compatible = "samsung,mfc-v6";
		reg = <0x11000000 0x10000>;
		interrupts = <0 96 0>;
183
		samsung,power-domain = <&pd_mfc>;
A
Arun Kumar K 已提交
184 185
		clocks = <&clock 266>;
		clock-names = "mfc";
186 187
	};

188
	rtc@101E0000 {
189 190
		clocks = <&clock 337>;
		clock-names = "rtc";
191
		status = "okay";
192 193
	};

194 195 196 197
	tmu@10060000 {
		compatible = "samsung,exynos5250-tmu";
		reg = <0x10060000 0x100>;
		interrupts = <0 65 0>;
198 199
		clocks = <&clock 338>;
		clock-names = "tmu_apbif";
200 201
	};

202
	serial@12C00000 {
203 204
		clocks = <&clock 289>, <&clock 146>;
		clock-names = "uart", "clk_uart_baud0";
205 206 207
	};

	serial@12C10000 {
208 209
		clocks = <&clock 290>, <&clock 147>;
		clock-names = "uart", "clk_uart_baud0";
210 211 212
	};

	serial@12C20000 {
213 214
		clocks = <&clock 291>, <&clock 148>;
		clock-names = "uart", "clk_uart_baud0";
215 216 217
	};

	serial@12C30000 {
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
		reg = <0x12200000 0x1000>;
397 398
		clocks = <&clock 280>, <&clock 139>;
		clock-names = "biu", "ciu";
399 400
	};

401
	dwmmc_1: dwmmc1@12210000 {
402
		reg = <0x12210000 0x1000>;
403 404
		clocks = <&clock 281>, <&clock 140>;
		clock-names = "biu", "ciu";
405 406
	};

407
	dwmmc_2: dwmmc2@12220000 {
408
		reg = <0x12220000 0x1000>;
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
		compatible = "samsung,s5pv210-i2s";
425
		status = "disabled";
426
		reg = <0x03830000 0x100>;
427 428 429 430
		dmas = <&pdma0 10
			&pdma0 9
			&pdma0 8>;
		dma-names = "tx", "rx", "tx-sec";
431 432 433 434
		clocks = <&clock_audss EXYNOS_I2S_BUS>,
			<&clock_audss EXYNOS_I2S_BUS>,
			<&clock_audss EXYNOS_SCLK_I2S>;
		clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
435
		samsung,idma-addr = <0x03000000>;
436 437
		pinctrl-names = "default";
		pinctrl-0 = <&i2s0_bus>;
438 439
	};

440
	i2s1: i2s@12D60000 {
441
		compatible = "samsung,s3c6410-i2s";
442
		status = "disabled";
443 444 445 446
		reg = <0x12D60000 0x100>;
		dmas = <&pdma1 12
			&pdma1 11>;
		dma-names = "tx", "rx";
447 448
		clocks = <&clock 307>, <&clock 157>;
		clock-names = "iis", "i2s_opclk0";
449 450
		pinctrl-names = "default";
		pinctrl-0 = <&i2s1_bus>;
451 452
	};

453
	i2s2: i2s@12D70000 {
454
		compatible = "samsung,s3c6410-i2s";
455
		status = "disabled";
456 457 458 459
		reg = <0x12D70000 0x100>;
		dmas = <&pdma0 12
			&pdma0 11>;
		dma-names = "tx", "rx";
460 461
		clocks = <&clock 308>, <&clock 158>;
		clock-names = "iis", "i2s_opclk0";
462 463
		pinctrl-names = "default";
		pinctrl-0 = <&i2s2_bus>;
464 465
	};

466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482
	usb@12000000 {
		compatible = "samsung,exynos5250-dwusb3";
		clocks = <&clock 286>;
		clock-names = "usbdrd30";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		dwc3 {
			compatible = "synopsys,dwc3";
			reg = <0x12000000 0x10000>;
			interrupts = <0 72 0>;
			usb-phy = <&usb2_phy &usb3_phy>;
		};
	};

	usb3_phy: usbphy@12100000 {
483 484 485 486 487 488 489 490 491 492 493 494 495
		compatible = "samsung,exynos5250-usb3phy";
		reg = <0x12100000 0x100>;
		clocks = <&clock 1>, <&clock 286>;
		clock-names = "ext_xtal", "usbdrd30";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		usbphy-sys {
			reg = <0x10040704 0x8>;
		};
	};

496 497 498 499
	usb@12110000 {
		compatible = "samsung,exynos4210-ehci";
		reg = <0x12110000 0x100>;
		interrupts = <0 71 0>;
500 501 502

		clocks = <&clock 285>;
		clock-names = "usbhost";
503 504
	};

505 506 507 508
	usb@12120000 {
		compatible = "samsung,exynos4210-ohci";
		reg = <0x12120000 0x100>;
		interrupts = <0 71 0>;
509 510 511

		clocks = <&clock 285>;
		clock-names = "usbhost";
512 513
	};

514
	usb2_phy: usbphy@12130000 {
515 516 517 518 519 520 521 522 523 524 525 526 527 528
		compatible = "samsung,exynos5250-usb2phy";
		reg = <0x12130000 0x100>;
		clocks = <&clock 1>, <&clock 285>;
		clock-names = "ext_xtal", "usbhost";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		usbphy-sys {
			reg = <0x10040704 0x8>,
			      <0x10050230 0x4>;
		};
	};

529 530 531 532 533 534 535 536 537 538 539
	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>;
540 541
			clocks = <&clock 275>;
			clock-names = "apb_pclk";
542 543 544
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
545 546 547 548 549 550
		};

		pdma1: pdma@121B0000 {
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x121B0000 0x1000>;
			interrupts = <0 35 0>;
551 552
			clocks = <&clock 276>;
			clock-names = "apb_pclk";
553 554 555
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <32>;
556 557
		};

558
		mdma0: mdma@10800000 {
559 560 561
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x10800000 0x1000>;
			interrupts = <0 33 0>;
562
			clocks = <&clock 346>;
563
			clock-names = "apb_pclk";
564 565 566
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <1>;
567 568
		};

569
		mdma1: mdma@11C10000 {
570 571 572
			compatible = "arm,pl330", "arm,primecell";
			reg = <0x11C10000 0x1000>;
			interrupts = <0 124 0>;
573 574
			clocks = <&clock 271>;
			clock-names = "apb_pclk";
575 576 577
			#dma-cells = <1>;
			#dma-channels = <8>;
			#dma-requests = <1>;
578 579 580
		};
	};

581
	gsc_0:  gsc@13e00000 {
582 583 584
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e00000 0x1000>;
		interrupts = <0 85 0>;
585
		samsung,power-domain = <&pd_gsc>;
586 587
		clocks = <&clock 256>;
		clock-names = "gscl";
588 589
	};

590
	gsc_1:  gsc@13e10000 {
591 592 593
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e10000 0x1000>;
		interrupts = <0 86 0>;
594
		samsung,power-domain = <&pd_gsc>;
595 596
		clocks = <&clock 257>;
		clock-names = "gscl";
597 598
	};

599
	gsc_2:  gsc@13e20000 {
600 601 602
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e20000 0x1000>;
		interrupts = <0 87 0>;
603
		samsung,power-domain = <&pd_gsc>;
604 605
		clocks = <&clock 258>;
		clock-names = "gscl";
606 607
	};

608
	gsc_3:  gsc@13e30000 {
609 610 611
		compatible = "samsung,exynos5-gsc";
		reg = <0x13e30000 0x1000>;
		interrupts = <0 88 0>;
612
		samsung,power-domain = <&pd_gsc>;
613 614
		clocks = <&clock 259>;
		clock-names = "gscl";
615
	};
616 617

	hdmi {
618
		compatible = "samsung,exynos4212-hdmi";
S
Sean Paul 已提交
619
		reg = <0x14530000 0x70000>;
620
		interrupts = <0 95 0>;
621 622
		clocks = <&clock 344>, <&clock 136>, <&clock 137>,
				<&clock 159>, <&clock 1024>;
623
		clock-names = "hdmi", "sclk_hdmi", "sclk_pixel",
624
				"sclk_hdmiphy", "mout_hdmi";
625
	};
626 627

	mixer {
628
		compatible = "samsung,exynos5250-mixer";
629 630
		reg = <0x14450000 0x10000>;
		interrupts = <0 94 0>;
631 632
		clocks = <&clock 343>, <&clock 136>;
		clock-names = "mixer", "sclk_hdmi";
633
	};
634

635 636 637 638 639 640 641
	dp_phy: video-phy@10040720 {
		compatible = "samsung,exynos5250-dp-video-phy";
		reg = <0x10040720 4>;
		#phy-cells = <0>;
	};

	dp-controller@145B0000 {
642 643
		clocks = <&clock 342>;
		clock-names = "dp";
644 645
		phys = <&dp_phy>;
		phy-names = "dp";
646
	};
647

648
	fimd@14400000 {
649 650 651
		clocks = <&clock 133>, <&clock 339>;
		clock-names = "sclk_fimd", "fimd";
	};
652 653 654 655 656 657 658 659 660 661 662

	adc: adc@12D10000 {
		compatible = "samsung,exynos-adc-v1";
		reg = <0x12D10000 0x100>, <0x10040718 0x4>;
		interrupts = <0 106 0>;
		clocks = <&clock 303>;
		clock-names = "adc";
		#io-channel-cells = <1>;
		io-channel-ranges;
		status = "disabled";
	};
663
};