am33xx.dtsi 24.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
/*
 * Device Tree Source for AM33XX SoC
 *
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
 *
 * This file is licensed under the terms of the GNU General Public License
 * version 2.  This program is licensed "as is" without any warranty of any
 * kind, whether express or implied.
 */

11
#include <dt-bindings/gpio/gpio.h>
12
#include <dt-bindings/pinctrl/am33xx.h>
T
Tero Kristo 已提交
13
#include <dt-bindings/clock/am3.h>
14

15 16
/ {
	compatible = "ti,am33xx";
17
	interrupt-parent = <&intc>;
18 19
	#address-cells = <1>;
	#size-cells = <1>;
20
	chosen { };
21 22

	aliases {
23 24 25
		i2c0 = &i2c0;
		i2c1 = &i2c1;
		i2c2 = &i2c2;
26 27 28 29 30 31
		serial0 = &uart0;
		serial1 = &uart1;
		serial2 = &uart2;
		serial3 = &uart3;
		serial4 = &uart4;
		serial5 = &uart5;
32 33
		d-can0 = &dcan0;
		d-can1 = &dcan1;
34 35 36 37
		usb0 = &usb0;
		usb1 = &usb1;
		phy0 = &usb0_phy;
		phy1 = &usb1_phy;
38 39
		ethernet0 = &cpsw_emac0;
		ethernet1 = &cpsw_emac1;
40 41
		spi0 = &spi0;
		spi1 = &spi1;
42 43 44
	};

	cpus {
45 46
		#address-cells = <1>;
		#size-cells = <0>;
47 48
		cpu@0 {
			compatible = "arm,cortex-a8";
49 50
			device_type = "cpu";
			reg = <0>;
51

52
			operating-points-v2 = <&cpu0_opp_table>;
53 54 55 56

			clocks = <&dpll_mpu_ck>;
			clock-names = "cpu";

57
			clock-latency = <300000>; /* From omap-cpufreq driver */
58 59 60
		};
	};

61 62 63 64 65 66 67 68 69
	cpu0_opp_table: opp-table {
		compatible = "operating-points-v2-ti-cpu";
		syscon = <&scm_conf>;

		/*
		 * The three following nodes are marked with opp-suspend
		 * because the can not be enabled simultaneously on a
		 * single SoC.
		 */
70
		opp50-300000000 {
71 72 73 74 75 76
			opp-hz = /bits/ 64 <300000000>;
			opp-microvolt = <950000 931000 969000>;
			opp-supported-hw = <0x06 0x0010>;
			opp-suspend;
		};

77
		opp100-275000000 {
78 79 80 81 82 83
			opp-hz = /bits/ 64 <275000000>;
			opp-microvolt = <1100000 1078000 1122000>;
			opp-supported-hw = <0x01 0x00FF>;
			opp-suspend;
		};

84
		opp100-300000000 {
85 86 87 88 89 90
			opp-hz = /bits/ 64 <300000000>;
			opp-microvolt = <1100000 1078000 1122000>;
			opp-supported-hw = <0x06 0x0020>;
			opp-suspend;
		};

91
		opp100-500000000 {
92 93 94 95 96
			opp-hz = /bits/ 64 <500000000>;
			opp-microvolt = <1100000 1078000 1122000>;
			opp-supported-hw = <0x01 0xFFFF>;
		};

97
		opp100-600000000 {
98 99 100 101 102
			opp-hz = /bits/ 64 <600000000>;
			opp-microvolt = <1100000 1078000 1122000>;
			opp-supported-hw = <0x06 0x0040>;
		};

103
		opp120-600000000 {
104 105 106 107 108
			opp-hz = /bits/ 64 <600000000>;
			opp-microvolt = <1200000 1176000 1224000>;
			opp-supported-hw = <0x01 0xFFFF>;
		};

109
		opp120-720000000 {
110 111 112 113 114
			opp-hz = /bits/ 64 <720000000>;
			opp-microvolt = <1200000 1176000 1224000>;
			opp-supported-hw = <0x06 0x0080>;
		};

115
		oppturbo-720000000 {
116 117 118 119 120
			opp-hz = /bits/ 64 <720000000>;
			opp-microvolt = <1260000 1234800 1285200>;
			opp-supported-hw = <0x01 0xFFFF>;
		};

121
		oppturbo-800000000 {
122 123 124 125 126
			opp-hz = /bits/ 64 <800000000>;
			opp-microvolt = <1260000 1234800 1285200>;
			opp-supported-hw = <0x06 0x0100>;
		};

127
		oppnitro-1000000000 {
128 129 130 131 132 133
			opp-hz = /bits/ 64 <1000000000>;
			opp-microvolt = <1325000 1298500 1351500>;
			opp-supported-hw = <0x04 0x0200>;
		};
	};

134
	pmu@4b000000 {
135 136
		compatible = "arm,cortex-a8-pmu";
		interrupts = <3>;
137 138
		reg = <0x4b000000 0x1000000>;
		ti,hwmods = "debugss";
139 140
	};

141
	/*
142
	 * The soc node represents the soc top level view. It is used for IPs
143 144 145 146 147 148 149
	 * that are not memory mapped in the MPU view or for the MPU itself.
	 */
	soc {
		compatible = "ti,omap-infra";
		mpu {
			compatible = "ti,omap3-mpu";
			ti,hwmods = "mpu";
150 151
			pm-sram = <&pm_sram_code
				   &pm_sram_data>;
152 153 154 155 156
		};
	};

	/*
	 * XXX: Use a flat representation of the AM33XX interconnect.
157 158
	 * The real AM33XX interconnect network is quite complex. Since
	 * it will not bring real advantage to represent that in DT
159 160 161 162 163 164 165 166 167 168
	 * for the moment, just use a fake OCP bus entry to represent
	 * the whole bus hierarchy.
	 */
	ocp {
		compatible = "simple-bus";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		ti,hwmods = "l3_main";

169 170 171 172 173
		l4_wkup: l4_wkup@44c00000 {
			compatible = "ti,am3-l4-wkup", "simple-bus";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x44c00000 0x280000>;
T
Tero Kristo 已提交
174

175 176 177 178 179 180 181 182 183
			wkup_m3: wkup_m3@100000 {
				compatible = "ti,am3352-wkup-m3";
				reg = <0x100000 0x4000>,
				      <0x180000	0x2000>;
				reg-names = "umem", "dmem";
				ti,hwmods = "wkup_m3";
				ti,pm-firmware = "am335x-pm-firmware.elf";
			};

184
			prcm: prcm@200000 {
185
				compatible = "ti,am3-prcm", "simple-bus";
186
				reg = <0x200000 0x4000>;
187 188 189
				#address-cells = <1>;
				#size-cells = <1>;
				ranges = <0 0x200000 0x4000>;
T
Tero Kristo 已提交
190

191 192 193 194
				prcm_clocks: clocks {
					#address-cells = <1>;
					#size-cells = <0>;
				};
T
Tero Kristo 已提交
195

196 197
				prcm_clockdomains: clockdomains {
				};
T
Tero Kristo 已提交
198 199
			};

200 201 202 203 204
			scm: scm@210000 {
				compatible = "ti,am3-scm", "simple-bus";
				reg = <0x210000 0x2000>;
				#address-cells = <1>;
				#size-cells = <1>;
205
				#pinctrl-cells = <1>;
206 207 208 209 210 211 212
				ranges = <0 0x210000 0x2000>;

				am33xx_pinmux: pinmux@800 {
					compatible = "pinctrl-single";
					reg = <0x800 0x238>;
					#address-cells = <1>;
					#size-cells = <0>;
213
					#pinctrl-cells = <1>;
214 215 216 217 218
					pinctrl-single,register-width = <32>;
					pinctrl-single,function-mask = <0x7f>;
				};

				scm_conf: scm_conf@0 {
219
					compatible = "syscon", "simple-bus";
220 221 222
					reg = <0x0 0x800>;
					#address-cells = <1>;
					#size-cells = <1>;
223
					ranges = <0 0 0x800>;
224 225 226 227 228 229 230

					scm_clocks: clocks {
						#address-cells = <1>;
						#size-cells = <0>;
					};
				};

231 232 233 234 235 236 237 238
				wkup_m3_ipc: wkup_m3_ipc@1324 {
					compatible = "ti,am3352-wkup-m3-ipc";
					reg = <0x1324 0x24>;
					interrupts = <78>;
					ti,rproc = <&wkup_m3>;
					mboxes = <&mailbox &mbox_wkupm3>;
				};

239 240 241 242 243 244 245 246
				edma_xbar: dma-router@f90 {
					compatible = "ti,am335x-edma-crossbar";
					reg = <0xf90 0x40>;
					#dma-cells = <3>;
					dma-requests = <32>;
					dma-masters = <&edma>;
				};

247 248
				scm_clockdomains: clockdomains {
				};
T
Tero Kristo 已提交
249 250 251
			};
		};

252
		intc: interrupt-controller@48200000 {
253
			compatible = "ti,am33xx-intc";
254 255 256 257 258
			interrupt-controller;
			#interrupt-cells = <1>;
			reg = <0x48200000 0x1000>;
		};

M
Matt Porter 已提交
259
		edma: edma@49000000 {
260 261 262 263
			compatible = "ti,edma3-tpcc";
			ti,hwmods = "tpcc";
			reg =	<0x49000000 0x10000>;
			reg-names = "edma3_cc";
M
Matt Porter 已提交
264
			interrupts = <12 13 14>;
265
			interrupt-names = "edma3_ccint", "edma3_mperr",
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297
					  "edma3_ccerrint";
			dma-requests = <64>;
			#dma-cells = <2>;

			ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 5>,
				   <&edma_tptc2 0>;

			ti,edma-memcpy-channels = <20 21>;
		};

		edma_tptc0: tptc@49800000 {
			compatible = "ti,edma3-tptc";
			ti,hwmods = "tptc0";
			reg =	<0x49800000 0x100000>;
			interrupts = <112>;
			interrupt-names = "edma3_tcerrint";
		};

		edma_tptc1: tptc@49900000 {
			compatible = "ti,edma3-tptc";
			ti,hwmods = "tptc1";
			reg =	<0x49900000 0x100000>;
			interrupts = <113>;
			interrupt-names = "edma3_tcerrint";
		};

		edma_tptc2: tptc@49a00000 {
			compatible = "ti,edma3-tptc";
			ti,hwmods = "tptc2";
			reg =	<0x49a00000 0x100000>;
			interrupts = <114>;
			interrupt-names = "edma3_tcerrint";
M
Matt Porter 已提交
298 299
		};

300
		gpio0: gpio@44e07000 {
301 302 303 304 305
			compatible = "ti,omap4-gpio";
			ti,hwmods = "gpio1";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
306
			#interrupt-cells = <2>;
307 308
			reg = <0x44e07000 0x1000>;
			interrupts = <96>;
309 310
		};

311
		gpio1: gpio@4804c000 {
312 313 314 315 316
			compatible = "ti,omap4-gpio";
			ti,hwmods = "gpio2";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
317
			#interrupt-cells = <2>;
318 319
			reg = <0x4804c000 0x1000>;
			interrupts = <98>;
320 321
		};

322
		gpio2: gpio@481ac000 {
323 324 325 326 327
			compatible = "ti,omap4-gpio";
			ti,hwmods = "gpio3";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
328
			#interrupt-cells = <2>;
329 330
			reg = <0x481ac000 0x1000>;
			interrupts = <32>;
331 332
		};

333
		gpio3: gpio@481ae000 {
334 335 336 337 338
			compatible = "ti,omap4-gpio";
			ti,hwmods = "gpio4";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
339
			#interrupt-cells = <2>;
340 341
			reg = <0x481ae000 0x1000>;
			interrupts = <62>;
342 343
		};

344
		uart0: serial@44e09000 {
345
			compatible = "ti,am3352-uart", "ti,omap3-uart";
346 347
			ti,hwmods = "uart1";
			clock-frequency = <48000000>;
348 349
			reg = <0x44e09000 0x2000>;
			interrupts = <72>;
350
			status = "disabled";
351
			dmas = <&edma 26 0>, <&edma 27 0>;
352
			dma-names = "tx", "rx";
353 354
		};

355
		uart1: serial@48022000 {
356
			compatible = "ti,am3352-uart", "ti,omap3-uart";
357 358
			ti,hwmods = "uart2";
			clock-frequency = <48000000>;
359 360
			reg = <0x48022000 0x2000>;
			interrupts = <73>;
361
			status = "disabled";
362
			dmas = <&edma 28 0>, <&edma 29 0>;
363
			dma-names = "tx", "rx";
364 365
		};

366
		uart2: serial@48024000 {
367
			compatible = "ti,am3352-uart", "ti,omap3-uart";
368 369
			ti,hwmods = "uart3";
			clock-frequency = <48000000>;
370 371
			reg = <0x48024000 0x2000>;
			interrupts = <74>;
372
			status = "disabled";
373
			dmas = <&edma 30 0>, <&edma 31 0>;
374
			dma-names = "tx", "rx";
375 376
		};

377
		uart3: serial@481a6000 {
378
			compatible = "ti,am3352-uart", "ti,omap3-uart";
379 380
			ti,hwmods = "uart4";
			clock-frequency = <48000000>;
381 382
			reg = <0x481a6000 0x2000>;
			interrupts = <44>;
383
			status = "disabled";
384 385
		};

386
		uart4: serial@481a8000 {
387
			compatible = "ti,am3352-uart", "ti,omap3-uart";
388 389
			ti,hwmods = "uart5";
			clock-frequency = <48000000>;
390 391
			reg = <0x481a8000 0x2000>;
			interrupts = <45>;
392
			status = "disabled";
393 394
		};

395
		uart5: serial@481aa000 {
396
			compatible = "ti,am3352-uart", "ti,omap3-uart";
397 398
			ti,hwmods = "uart6";
			clock-frequency = <48000000>;
399 400
			reg = <0x481aa000 0x2000>;
			interrupts = <46>;
401
			status = "disabled";
402 403
		};

404
		i2c0: i2c@44e0b000 {
405 406 407 408
			compatible = "ti,omap4-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c1";
409 410
			reg = <0x44e0b000 0x1000>;
			interrupts = <70>;
411
			status = "disabled";
412 413
		};

414
		i2c1: i2c@4802a000 {
415 416 417 418
			compatible = "ti,omap4-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c2";
419 420
			reg = <0x4802a000 0x1000>;
			interrupts = <71>;
421
			status = "disabled";
422 423
		};

424
		i2c2: i2c@4819c000 {
425 426 427 428
			compatible = "ti,omap4-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c3";
429 430
			reg = <0x4819c000 0x1000>;
			interrupts = <30>;
431
			status = "disabled";
432
		};
A
Afzal Mohammed 已提交
433

434 435 436 437 438 439
		mmc1: mmc@48060000 {
			compatible = "ti,omap4-hsmmc";
			ti,hwmods = "mmc1";
			ti,dual-volt;
			ti,needs-special-reset;
			ti,needs-special-hs-handling;
440 441
			dmas = <&edma_xbar 24 0 0
				&edma_xbar 25 0 0>;
442 443 444 445 446 447 448 449 450 451
			dma-names = "tx", "rx";
			interrupts = <64>;
			reg = <0x48060000 0x1000>;
			status = "disabled";
		};

		mmc2: mmc@481d8000 {
			compatible = "ti,omap4-hsmmc";
			ti,hwmods = "mmc2";
			ti,needs-special-reset;
452 453
			dmas = <&edma 2 0
				&edma 3 0>;
454 455 456 457 458 459 460 461 462 463 464 465 466 467 468
			dma-names = "tx", "rx";
			interrupts = <28>;
			reg = <0x481d8000 0x1000>;
			status = "disabled";
		};

		mmc3: mmc@47810000 {
			compatible = "ti,omap4-hsmmc";
			ti,hwmods = "mmc3";
			ti,needs-special-reset;
			interrupts = <29>;
			reg = <0x47810000 0x1000>;
			status = "disabled";
		};

S
Suman Anna 已提交
469 470 471 472
		hwspinlock: spinlock@480ca000 {
			compatible = "ti,omap4-hwspinlock";
			reg = <0x480ca000 0x1000>;
			ti,hwmods = "spinlock";
473
			#hwlock-cells = <1>;
S
Suman Anna 已提交
474 475
		};

A
Afzal Mohammed 已提交
476 477 478
		wdt2: wdt@44e35000 {
			compatible = "ti,omap3-wdt";
			ti,hwmods = "wd_timer2";
479 480
			reg = <0x44e35000 0x1000>;
			interrupts = <91>;
A
Afzal Mohammed 已提交
481
		};
482

483 484
		dcan0: can@481cc000 {
			compatible = "ti,am3352-d_can";
485
			ti,hwmods = "d_can0";
486 487 488
			reg = <0x481cc000 0x2000>;
			clocks = <&dcan0_fck>;
			clock-names = "fck";
489
			syscon-raminit = <&scm_conf 0x644 0>;
490 491 492 493
			interrupts = <52>;
			status = "disabled";
		};

494 495
		dcan1: can@481d0000 {
			compatible = "ti,am3352-d_can";
496
			ti,hwmods = "d_can1";
497 498 499
			reg = <0x481d0000 0x2000>;
			clocks = <&dcan1_fck>;
			clock-names = "fck";
500
			syscon-raminit = <&scm_conf 0x644 1>;
501 502 503
			interrupts = <55>;
			status = "disabled";
		};
J
Jon Hunter 已提交
504

505
		mailbox: mailbox@480c8000 {
S
Suman Anna 已提交
506 507 508 509
			compatible = "ti,omap4-mailbox";
			reg = <0x480C8000 0x200>;
			interrupts = <77>;
			ti,hwmods = "mailbox";
510
			#mbox-cells = <1>;
S
Suman Anna 已提交
511 512
			ti,mbox-num-users = <4>;
			ti,mbox-num-fifos = <8>;
513
			mbox_wkupm3: wkup_m3 {
514
				ti,mbox-send-noirq;
515 516 517
				ti,mbox-tx = <0 0 0>;
				ti,mbox-rx = <0 0 3>;
			};
S
Suman Anna 已提交
518 519
		};

J
Jon Hunter 已提交
520
		timer1: timer@44e31000 {
521
			compatible = "ti,am335x-timer-1ms";
J
Jon Hunter 已提交
522 523 524 525
			reg = <0x44e31000 0x400>;
			interrupts = <67>;
			ti,hwmods = "timer1";
			ti,timer-alwon;
526 527
			clocks = <&timer1_fck>;
			clock-names = "fck";
J
Jon Hunter 已提交
528 529 530
		};

		timer2: timer@48040000 {
531
			compatible = "ti,am335x-timer";
J
Jon Hunter 已提交
532 533 534
			reg = <0x48040000 0x400>;
			interrupts = <68>;
			ti,hwmods = "timer2";
535 536
			clocks = <&timer2_fck>;
			clock-names = "fck";
J
Jon Hunter 已提交
537 538 539
		};

		timer3: timer@48042000 {
540
			compatible = "ti,am335x-timer";
J
Jon Hunter 已提交
541 542 543 544 545 546
			reg = <0x48042000 0x400>;
			interrupts = <69>;
			ti,hwmods = "timer3";
		};

		timer4: timer@48044000 {
547
			compatible = "ti,am335x-timer";
J
Jon Hunter 已提交
548 549 550 551 552 553 554
			reg = <0x48044000 0x400>;
			interrupts = <92>;
			ti,hwmods = "timer4";
			ti,timer-pwm;
		};

		timer5: timer@48046000 {
555
			compatible = "ti,am335x-timer";
J
Jon Hunter 已提交
556 557 558 559 560 561 562
			reg = <0x48046000 0x400>;
			interrupts = <93>;
			ti,hwmods = "timer5";
			ti,timer-pwm;
		};

		timer6: timer@48048000 {
563
			compatible = "ti,am335x-timer";
J
Jon Hunter 已提交
564 565 566 567 568 569 570
			reg = <0x48048000 0x400>;
			interrupts = <94>;
			ti,hwmods = "timer6";
			ti,timer-pwm;
		};

		timer7: timer@4804a000 {
571
			compatible = "ti,am335x-timer";
J
Jon Hunter 已提交
572 573 574 575 576
			reg = <0x4804a000 0x400>;
			interrupts = <95>;
			ti,hwmods = "timer7";
			ti,timer-pwm;
		};
A
Afzal Mohammed 已提交
577

578
		rtc: rtc@44e3e000 {
579
			compatible = "ti,am3352-rtc", "ti,da830-rtc";
A
Afzal Mohammed 已提交
580 581 582 583
			reg = <0x44e3e000 0x1000>;
			interrupts = <75
				      76>;
			ti,hwmods = "rtc";
584
			clocks = <&clk_24mhz_clkctrl AM3_CLK_24MHZ_CLKDIV32K_CLKCTRL 0>;
585
			clock-names = "int-clk";
A
Afzal Mohammed 已提交
586
		};
P
Philip, Avinash 已提交
587 588 589 590 591 592

		spi0: spi@48030000 {
			compatible = "ti,omap4-mcspi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x48030000 0x400>;
593
			interrupts = <65>;
P
Philip, Avinash 已提交
594 595
			ti,spi-num-cs = <2>;
			ti,hwmods = "spi0";
596 597 598 599
			dmas = <&edma 16 0
				&edma 17 0
				&edma 18 0
				&edma 19 0>;
600
			dma-names = "tx0", "rx0", "tx1", "rx1";
P
Philip, Avinash 已提交
601 602 603 604 605 606 607 608
			status = "disabled";
		};

		spi1: spi@481a0000 {
			compatible = "ti,omap4-mcspi";
			#address-cells = <1>;
			#size-cells = <0>;
			reg = <0x481a0000 0x400>;
609
			interrupts = <125>;
P
Philip, Avinash 已提交
610 611
			ti,spi-num-cs = <2>;
			ti,hwmods = "spi1";
612 613 614 615
			dmas = <&edma 42 0
				&edma 43 0
				&edma 44 0
				&edma 45 0>;
616
			dma-names = "tx0", "rx0", "tx1", "rx1";
P
Philip, Avinash 已提交
617 618
			status = "disabled";
		};
619

620 621 622 623 624 625
		usb: usb@47400000 {
			compatible = "ti,am33xx-usb";
			reg = <0x47400000 0x1000>;
			ranges;
			#address-cells = <1>;
			#size-cells = <1>;
626
			ti,hwmods = "usb_otg_hs";
627 628
			status = "disabled";

629
			usb_ctrl_mod: control@44e10620 {
630 631 632 633 634 635 636
				compatible = "ti,am335x-usb-ctrl-module";
				reg = <0x44e10620 0x10
					0x44e10648 0x4>;
				reg-names = "phy_ctrl", "wakeup";
				status = "disabled";
			};

637
			usb0_phy: usb-phy@47401300 {
638 639 640 641
				compatible = "ti,am335x-usb-phy";
				reg = <0x47401300 0x100>;
				reg-names = "phy";
				status = "disabled";
642
				ti,ctrl_mod = <&usb_ctrl_mod>;
643
				#phy-cells = <0>;
644 645 646 647 648
			};

			usb0: usb@47401000 {
				compatible = "ti,musb-am33xx";
				status = "disabled";
649 650 651 652 653 654 655 656 657 658 659 660
				reg = <0x47401400 0x400
					0x47401000 0x200>;
				reg-names = "mc", "control";

				interrupts = <18>;
				interrupt-names = "mc";
				dr_mode = "otg";
				mentor,multipoint = <1>;
				mentor,num-eps = <16>;
				mentor,ram-bits = <12>;
				mentor,power = <500>;
				phys = <&usb0_phy>;
661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683

				dmas = <&cppi41dma  0 0 &cppi41dma  1 0
					&cppi41dma  2 0 &cppi41dma  3 0
					&cppi41dma  4 0 &cppi41dma  5 0
					&cppi41dma  6 0 &cppi41dma  7 0
					&cppi41dma  8 0 &cppi41dma  9 0
					&cppi41dma 10 0 &cppi41dma 11 0
					&cppi41dma 12 0 &cppi41dma 13 0
					&cppi41dma 14 0 &cppi41dma  0 1
					&cppi41dma  1 1 &cppi41dma  2 1
					&cppi41dma  3 1 &cppi41dma  4 1
					&cppi41dma  5 1 &cppi41dma  6 1
					&cppi41dma  7 1 &cppi41dma  8 1
					&cppi41dma  9 1 &cppi41dma 10 1
					&cppi41dma 11 1 &cppi41dma 12 1
					&cppi41dma 13 1 &cppi41dma 14 1>;
				dma-names =
					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
					"rx14", "rx15",
					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
					"tx14", "tx15";
684 685
			};

686
			usb1_phy: usb-phy@47401b00 {
687 688 689 690
				compatible = "ti,am335x-usb-phy";
				reg = <0x47401b00 0x100>;
				reg-names = "phy";
				status = "disabled";
691
				ti,ctrl_mod = <&usb_ctrl_mod>;
692
				#phy-cells = <0>;
693 694 695 696 697
			};

			usb1: usb@47401800 {
				compatible = "ti,musb-am33xx";
				status = "disabled";
698 699 700 701 702 703 704 705 706 707 708
				reg = <0x47401c00 0x400
					0x47401800 0x200>;
				reg-names = "mc", "control";
				interrupts = <19>;
				interrupt-names = "mc";
				dr_mode = "otg";
				mentor,multipoint = <1>;
				mentor,num-eps = <16>;
				mentor,ram-bits = <12>;
				mentor,power = <500>;
				phys = <&usb1_phy>;
709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731

				dmas = <&cppi41dma 15 0 &cppi41dma 16 0
					&cppi41dma 17 0 &cppi41dma 18 0
					&cppi41dma 19 0 &cppi41dma 20 0
					&cppi41dma 21 0 &cppi41dma 22 0
					&cppi41dma 23 0 &cppi41dma 24 0
					&cppi41dma 25 0 &cppi41dma 26 0
					&cppi41dma 27 0 &cppi41dma 28 0
					&cppi41dma 29 0 &cppi41dma 15 1
					&cppi41dma 16 1 &cppi41dma 17 1
					&cppi41dma 18 1 &cppi41dma 19 1
					&cppi41dma 20 1 &cppi41dma 21 1
					&cppi41dma 22 1 &cppi41dma 23 1
					&cppi41dma 24 1 &cppi41dma 25 1
					&cppi41dma 26 1 &cppi41dma 27 1
					&cppi41dma 28 1 &cppi41dma 29 1>;
				dma-names =
					"rx1", "rx2", "rx3", "rx4", "rx5", "rx6", "rx7",
					"rx8", "rx9", "rx10", "rx11", "rx12", "rx13",
					"rx14", "rx15",
					"tx1", "tx2", "tx3", "tx4", "tx5", "tx6", "tx7",
					"tx8", "tx9", "tx10", "tx11", "tx12", "tx13",
					"tx14", "tx15";
732
			};
733

734
			cppi41dma: dma-controller@47402000 {
735 736 737 738 739
				compatible = "ti,am3359-cppi41";
				reg =  <0x47400000 0x1000
					0x47402000 0x1000
					0x47403000 0x1000
					0x47404000 0x4000>;
740
				reg-names = "glue", "controller", "scheduler", "queuemgr";
741 742 743 744 745 746 747
				interrupts = <17>;
				interrupt-names = "glue";
				#dma-cells = <2>;
				#dma-channels = <30>;
				#dma-requests = <256>;
				status = "disabled";
			};
748
		};
749

750 751 752 753 754 755 756 757 758 759 760 761
		epwmss0: epwmss@48300000 {
			compatible = "ti,am33xx-pwmss";
			reg = <0x48300000 0x10>;
			ti,hwmods = "epwmss0";
			#address-cells = <1>;
			#size-cells = <1>;
			status = "disabled";
			ranges = <0x48300100 0x48300100 0x80   /* ECAP */
				  0x48300180 0x48300180 0x80   /* EQEP */
				  0x48300200 0x48300200 0x80>; /* EHRPWM */

			ecap0: ecap@48300100 {
762 763
				compatible = "ti,am3352-ecap",
					     "ti,am33xx-ecap";
764 765
				#pwm-cells = <3>;
				reg = <0x48300100 0x80>;
766 767
				clocks = <&l4ls_gclk>;
				clock-names = "fck";
768 769
				interrupts = <31>;
				interrupt-names = "ecap0";
770 771 772
				status = "disabled";
			};

773
			ehrpwm0: pwm@48300200 {
774 775
				compatible = "ti,am3352-ehrpwm",
					     "ti,am33xx-ehrpwm";
776 777
				#pwm-cells = <3>;
				reg = <0x48300200 0x80>;
778 779
				clocks = <&ehrpwm0_tbclk>, <&l4ls_gclk>;
				clock-names = "tbclk", "fck";
780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795
				status = "disabled";
			};
		};

		epwmss1: epwmss@48302000 {
			compatible = "ti,am33xx-pwmss";
			reg = <0x48302000 0x10>;
			ti,hwmods = "epwmss1";
			#address-cells = <1>;
			#size-cells = <1>;
			status = "disabled";
			ranges = <0x48302100 0x48302100 0x80   /* ECAP */
				  0x48302180 0x48302180 0x80   /* EQEP */
				  0x48302200 0x48302200 0x80>; /* EHRPWM */

			ecap1: ecap@48302100 {
796 797
				compatible = "ti,am3352-ecap",
					     "ti,am33xx-ecap";
798 799
				#pwm-cells = <3>;
				reg = <0x48302100 0x80>;
800 801
				clocks = <&l4ls_gclk>;
				clock-names = "fck";
802 803
				interrupts = <47>;
				interrupt-names = "ecap1";
804 805 806
				status = "disabled";
			};

807
			ehrpwm1: pwm@48302200 {
808 809
				compatible = "ti,am3352-ehrpwm",
					     "ti,am33xx-ehrpwm";
810 811
				#pwm-cells = <3>;
				reg = <0x48302200 0x80>;
812 813
				clocks = <&ehrpwm1_tbclk>, <&l4ls_gclk>;
				clock-names = "tbclk", "fck";
814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829
				status = "disabled";
			};
		};

		epwmss2: epwmss@48304000 {
			compatible = "ti,am33xx-pwmss";
			reg = <0x48304000 0x10>;
			ti,hwmods = "epwmss2";
			#address-cells = <1>;
			#size-cells = <1>;
			status = "disabled";
			ranges = <0x48304100 0x48304100 0x80   /* ECAP */
				  0x48304180 0x48304180 0x80   /* EQEP */
				  0x48304200 0x48304200 0x80>; /* EHRPWM */

			ecap2: ecap@48304100 {
830 831
				compatible = "ti,am3352-ecap",
					     "ti,am33xx-ecap";
832 833
				#pwm-cells = <3>;
				reg = <0x48304100 0x80>;
834 835
				clocks = <&l4ls_gclk>;
				clock-names = "fck";
836 837
				interrupts = <61>;
				interrupt-names = "ecap2";
838 839 840
				status = "disabled";
			};

841
			ehrpwm2: pwm@48304200 {
842 843
				compatible = "ti,am3352-ehrpwm",
					     "ti,am33xx-ehrpwm";
844 845
				#pwm-cells = <3>;
				reg = <0x48304200 0x80>;
846 847
				clocks = <&ehrpwm2_tbclk>, <&l4ls_gclk>;
				clock-names = "tbclk", "fck";
848 849 850 851
				status = "disabled";
			};
		};

852
		mac: ethernet@4a100000 {
853
			compatible = "ti,am335x-cpsw","ti,cpsw";
854
			ti,hwmods = "cpgmac0";
855 856
			clocks = <&cpsw_125mhz_gclk>, <&cpsw_cpts_rft_clk>;
			clock-names = "fck", "cpts";
857 858 859 860 861
			cpdma_channels = <8>;
			ale_entries = <1024>;
			bd_ram_size = <0x2000>;
			mac_control = <0x20>;
			slaves = <2>;
862
			active_slave = <0>;
863 864 865 866 867 868 869 870 871 872 873 874 875 876
			cpts_clock_mult = <0x80000000>;
			cpts_clock_shift = <29>;
			reg = <0x4a100000 0x800
			       0x4a101200 0x100>;
			#address-cells = <1>;
			#size-cells = <1>;
			/*
			 * c0_rx_thresh_pend
			 * c0_rx_pend
			 * c0_tx_pend
			 * c0_misc_pend
			 */
			interrupts = <40 41 42 43>;
			ranges;
877
			syscon = <&scm_conf>;
878
			status = "disabled";
879 880

			davinci_mdio: mdio@4a101000 {
881
				compatible = "ti,cpsw-mdio","ti,davinci_mdio";
882 883 884 885 886
				#address-cells = <1>;
				#size-cells = <0>;
				ti,hwmods = "davinci_mdio";
				bus_freq = <1000000>;
				reg = <0x4a101000 0x100>;
887
				status = "disabled";
888 889 890 891 892 893 894 895 896 897 898
			};

			cpsw_emac0: slave@4a100200 {
				/* Filled in by U-Boot */
				mac-address = [ 00 00 00 00 00 00 ];
			};

			cpsw_emac1: slave@4a100300 {
				/* Filled in by U-Boot */
				mac-address = [ 00 00 00 00 00 00 ];
			};
899 900 901 902 903 904

			phy_sel: cpsw-phy-sel@44e10650 {
				compatible = "ti,am3352-cpsw-phy-sel";
				reg= <0x44e10650 0x4>;
				reg-names = "gmii-sel";
			};
905
		};
906 907

		ocmcram: ocmcram@40300000 {
908 909
			compatible = "mmio-sram";
			reg = <0x40300000 0x10000>; /* 64k */
910 911 912 913 914 915 916 917 918 919 920 921 922 923 924
			ranges = <0x0 0x40300000 0x10000>;
			#address-cells = <1>;
			#size-cells = <1>;

			pm_sram_code: pm-sram-code@0 {
				compatible = "ti,sram";
				reg = <0x0 0x1000>;
				protect-exec;
			};

			pm_sram_data: pm-sram-data@1000 {
				compatible = "ti,sram";
				reg = <0x1000 0x1000>;
				pool;
			};
925 926
		};

P
Philip, Avinash 已提交
927 928 929 930 931
		elm: elm@48080000 {
			compatible = "ti,am3352-elm";
			reg = <0x48080000 0x2000>;
			interrupts = <4>;
			ti,hwmods = "elm";
932 933 934 935 936 937 938 939
			status = "disabled";
		};

		lcdc: lcdc@4830e000 {
			compatible = "ti,am33xx-tilcdc";
			reg = <0x4830e000 0x1000>;
			interrupts = <36>;
			ti,hwmods = "lcdc";
P
Philip, Avinash 已提交
940 941 942
			status = "disabled";
		};

943 944 945 946 947 948
		tscadc: tscadc@44e0d000 {
			compatible = "ti,am3359-tscadc";
			reg = <0x44e0d000 0x1000>;
			interrupts = <16>;
			ti,hwmods = "adc_tsc";
			status = "disabled";
949 950
			dmas = <&edma 53 0>, <&edma 57 0>;
			dma-names = "fifo0", "fifo1";
951 952 953 954 955 956 957 958 959 960

			tsc {
				compatible = "ti,am3359-tsc";
			};
			am335x_adc: adc {
				#io-channel-cells = <1>;
				compatible = "ti,am3359-adc";
			};
		};

961 962 963 964
		emif: emif@4c000000 {
			compatible = "ti,emif-am3352";
			reg = <0x4c000000 0x1000000>;
			ti,hwmods = "emif";
965
			interrupts = <101>;
966 967
			sram = <&pm_sram_code
				&pm_sram_data>;
968
			ti,no-idle;
969 970
		};

P
Philip Avinash 已提交
971 972 973
		gpmc: gpmc@50000000 {
			compatible = "ti,am3352-gpmc";
			ti,hwmods = "gpmc";
974
			ti,no-idle-on-init;
P
Philip Avinash 已提交
975 976
			reg = <0x50000000 0x2000>;
			interrupts = <100>;
977
			dmas = <&edma 52 0>;
978
			dma-names = "rxtx";
979 980
			gpmc,num-cs = <7>;
			gpmc,num-waitpins = <2>;
P
Philip Avinash 已提交
981 982
			#address-cells = <2>;
			#size-cells = <1>;
983 984
			interrupt-controller;
			#interrupt-cells = <2>;
985 986
			gpio-controller;
			#gpio-cells = <2>;
P
Philip Avinash 已提交
987 988
			status = "disabled";
		};
989 990 991 992 993 994

		sham: sham@53100000 {
			compatible = "ti,omap4-sham";
			ti,hwmods = "sham";
			reg = <0x53100000 0x200>;
			interrupts = <109>;
995
			dmas = <&edma 36 0>;
996 997
			dma-names = "rx";
		};
998 999 1000 1001 1002

		aes: aes@53500000 {
			compatible = "ti,omap4-aes";
			ti,hwmods = "aes";
			reg = <0x53500000 0xa0>;
1003
			interrupts = <103>;
1004 1005
			dmas = <&edma 6 0>,
			       <&edma 5 0>;
1006 1007
			dma-names = "tx", "rx";
		};
1008 1009 1010 1011

		mcasp0: mcasp@48038000 {
			compatible = "ti,am33xx-mcasp-audio";
			ti,hwmods = "mcasp0";
1012 1013 1014
			reg = <0x48038000 0x2000>,
			      <0x46000000 0x400000>;
			reg-names = "mpu", "dat";
1015
			interrupts = <80>, <81>;
1016
			interrupt-names = "tx", "rx";
1017
			status = "disabled";
1018 1019
			dmas = <&edma 8 2>,
				<&edma 9 2>;
1020 1021 1022
			dma-names = "tx", "rx";
		};

1023
		mcasp1: mcasp@4803c000 {
1024 1025
			compatible = "ti,am33xx-mcasp-audio";
			ti,hwmods = "mcasp1";
1026 1027 1028
			reg = <0x4803C000 0x2000>,
			      <0x46400000 0x400000>;
			reg-names = "mpu", "dat";
1029
			interrupts = <82>, <83>;
1030
			interrupt-names = "tx", "rx";
1031
			status = "disabled";
1032 1033
			dmas = <&edma 10 2>,
				<&edma 11 2>;
1034 1035
			dma-names = "tx", "rx";
		};
L
Lokesh Vutla 已提交
1036 1037 1038 1039 1040 1041 1042

		rng: rng@48310000 {
			compatible = "ti,omap4-rng";
			ti,hwmods = "rng";
			reg = <0x48310000 0x2000>;
			interrupts = <111>;
		};
1043 1044
	};
};
T
Tero Kristo 已提交
1045

T
Tero Kristo 已提交
1046
#include "am33xx-clocks.dtsi"