omap3.dtsi 14.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
/*
 * Device Tree Source for OMAP3 SoC
 *
 * Copyright (C) 2011 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/interrupt-controller/irq.h>
13
#include <dt-bindings/pinctrl/omap.h>
14

15
#include "skeleton.dtsi"
16 17 18

/ {
	compatible = "ti,omap3430", "ti,omap3";
19
	interrupt-parent = <&intc>;
20

21
	aliases {
N
Nishanth Menon 已提交
22 23 24
		i2c0 = &i2c1;
		i2c1 = &i2c2;
		i2c2 = &i2c3;
25 26 27 28 29
		serial0 = &uart1;
		serial1 = &uart2;
		serial2 = &uart3;
	};

30
	cpus {
31 32 33
		#address-cells = <1>;
		#size-cells = <0>;

34 35
		cpu@0 {
			compatible = "arm,cortex-a8";
36 37
			device_type = "cpu";
			reg = <0x0>;
38 39 40
		};
	};

J
Jon Hunter 已提交
41 42
	pmu {
		compatible = "arm,cortex-a8-pmu";
43
		reg = <0x54000000 0x800000>;
J
Jon Hunter 已提交
44 45 46 47
		interrupts = <3>;
		ti,hwmods = "debugss";
	};

48
	/*
49
	 * The soc node represents the soc top level view. It is used for IPs
50 51 52 53
	 * that are not memory mapped in the MPU view or for the MPU itself.
	 */
	soc {
		compatible = "ti,omap-infra";
54 55 56 57 58 59 60 61 62 63 64 65 66
		mpu {
			compatible = "ti,omap3-mpu";
			ti,hwmods = "mpu";
		};

		iva {
			compatible = "ti,iva2.2";
			ti,hwmods = "iva";

			dsp {
				compatible = "ti,omap3-c64";
			};
		};
67 68 69 70 71 72 73 74 75 76 77
	};

	/*
	 * XXX: Use a flat representation of the OMAP3 interconnect.
	 * The real OMAP interconnect network is quite complex.
	 * Since that will not bring real advantage to represent that in DT for
	 * the moment, just use a fake OCP bus entry to represent the whole bus
	 * hierarchy.
	 */
	ocp {
		compatible = "simple-bus";
78 79
		reg = <0x68000000 0x10000>;
		interrupts = <9 10>;
80 81 82 83 84
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		ti,hwmods = "l3_main";

85 86 87 88 89 90 91
		aes: aes@480c5000 {
			compatible = "ti,omap3-aes";
			ti,hwmods = "aes";
			reg = <0x480c5000 0x50>;
			interrupts = <0>;
		};

J
Jon Hunter 已提交
92 93 94 95 96 97
		counter32k: counter@48320000 {
			compatible = "ti,omap-counter32k";
			reg = <0x48320000 0x20>;
			ti,hwmods = "counter_32k";
		};

98 99
		intc: interrupt-controller@48200000 {
			compatible = "ti,omap2-intc";
100 101
			interrupt-controller;
			#interrupt-cells = <1>;
102 103
			ti,intc-size = <96>;
			reg = <0x48200000 0x1000>;
104
		};
105

106 107 108 109 110 111 112 113 114 115 116 117
		sdma: dma-controller@48056000 {
			compatible = "ti,omap3630-sdma", "ti,omap3430-sdma";
			reg = <0x48056000 0x1000>;
			interrupts = <12>,
				     <13>,
				     <14>,
				     <15>;
			#dma-cells = <1>;
			#dma-channels = <32>;
			#dma-requests = <96>;
		};

118 119 120 121 122
		omap3_pmx_core: pinmux@48002030 {
			compatible = "ti,omap3-padconf", "pinctrl-single";
			reg = <0x48002030 0x05cc>;
			#address-cells = <1>;
			#size-cells = <0>;
123 124
			#interrupt-cells = <1>;
			interrupt-controller;
125
			pinctrl-single,register-width = <16>;
126
			pinctrl-single,function-mask = <0xff1f>;
127 128
		};

129
		omap3_pmx_wkup: pinmux@48002a00 {
130
			compatible = "ti,omap3-padconf", "pinctrl-single";
131
			reg = <0x48002a00 0x5c>;
132 133
			#address-cells = <1>;
			#size-cells = <0>;
134 135
			#interrupt-cells = <1>;
			interrupt-controller;
136
			pinctrl-single,register-width = <16>;
137
			pinctrl-single,function-mask = <0xff1f>;
138 139
		};

B
Benoit Cousson 已提交
140 141
		gpio1: gpio@48310000 {
			compatible = "ti,omap3-gpio";
142 143
			reg = <0x48310000 0x200>;
			interrupts = <29>;
B
Benoit Cousson 已提交
144
			ti,hwmods = "gpio1";
145
			ti,gpio-always-on;
B
Benoit Cousson 已提交
146 147 148
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
149
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
150 151 152 153
		};

		gpio2: gpio@49050000 {
			compatible = "ti,omap3-gpio";
154 155
			reg = <0x49050000 0x200>;
			interrupts = <30>;
B
Benoit Cousson 已提交
156 157 158 159
			ti,hwmods = "gpio2";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
160
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
161 162 163 164
		};

		gpio3: gpio@49052000 {
			compatible = "ti,omap3-gpio";
165 166
			reg = <0x49052000 0x200>;
			interrupts = <31>;
B
Benoit Cousson 已提交
167 168 169 170
			ti,hwmods = "gpio3";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
171
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
172 173 174 175
		};

		gpio4: gpio@49054000 {
			compatible = "ti,omap3-gpio";
176 177
			reg = <0x49054000 0x200>;
			interrupts = <32>;
B
Benoit Cousson 已提交
178 179 180 181
			ti,hwmods = "gpio4";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
182
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
183 184 185 186
		};

		gpio5: gpio@49056000 {
			compatible = "ti,omap3-gpio";
187 188
			reg = <0x49056000 0x200>;
			interrupts = <33>;
B
Benoit Cousson 已提交
189 190 191 192
			ti,hwmods = "gpio5";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
193
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
194 195 196 197
		};

		gpio6: gpio@49058000 {
			compatible = "ti,omap3-gpio";
198 199
			reg = <0x49058000 0x200>;
			interrupts = <34>;
B
Benoit Cousson 已提交
200 201 202 203
			ti,hwmods = "gpio6";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
204
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
205 206
		};

207
		uart1: serial@4806a000 {
208
			compatible = "ti,omap3-uart";
209 210 211 212
			reg = <0x4806a000 0x2000>;
			interrupts = <72>;
			dmas = <&sdma 49 &sdma 50>;
			dma-names = "tx", "rx";
213 214 215 216
			ti,hwmods = "uart1";
			clock-frequency = <48000000>;
		};

217
		uart2: serial@4806c000 {
218
			compatible = "ti,omap3-uart";
219 220 221 222
			reg = <0x4806c000 0x400>;
			interrupts = <73>;
			dmas = <&sdma 51 &sdma 52>;
			dma-names = "tx", "rx";
223 224 225 226
			ti,hwmods = "uart2";
			clock-frequency = <48000000>;
		};

227
		uart3: serial@49020000 {
228
			compatible = "ti,omap3-uart";
229 230 231 232
			reg = <0x49020000 0x400>;
			interrupts = <74>;
			dmas = <&sdma 53 &sdma 54>;
			dma-names = "tx", "rx";
233 234 235 236
			ti,hwmods = "uart3";
			clock-frequency = <48000000>;
		};

237 238
		i2c1: i2c@48070000 {
			compatible = "ti,omap3-i2c";
239 240 241 242
			reg = <0x48070000 0x80>;
			interrupts = <56>;
			dmas = <&sdma 27 &sdma 28>;
			dma-names = "tx", "rx";
243 244 245 246 247 248 249
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c1";
		};

		i2c2: i2c@48072000 {
			compatible = "ti,omap3-i2c";
250 251 252 253
			reg = <0x48072000 0x80>;
			interrupts = <57>;
			dmas = <&sdma 29 &sdma 30>;
			dma-names = "tx", "rx";
254 255 256 257 258 259 260
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c2";
		};

		i2c3: i2c@48060000 {
			compatible = "ti,omap3-i2c";
261 262 263 264
			reg = <0x48060000 0x80>;
			interrupts = <61>;
			dmas = <&sdma 25 &sdma 26>;
			dma-names = "tx", "rx";
265 266 267 268
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c3";
		};
269

270 271 272 273 274 275 276
		mailbox: mailbox@48094000 {
			compatible = "ti,omap3-mailbox";
			ti,hwmods = "mailbox";
			reg = <0x48094000 0x200>;
			interrupts = <26>;
		};

277 278
		mcspi1: spi@48098000 {
			compatible = "ti,omap2-mcspi";
279 280
			reg = <0x48098000 0x100>;
			interrupts = <65>;
281 282 283 284
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi1";
			ti,spi-num-cs = <4>;
285 286 287 288 289 290 291 292 293 294
			dmas = <&sdma 35>,
			       <&sdma 36>,
			       <&sdma 37>,
			       <&sdma 38>,
			       <&sdma 39>,
			       <&sdma 40>,
			       <&sdma 41>,
			       <&sdma 42>;
			dma-names = "tx0", "rx0", "tx1", "rx1",
				    "tx2", "rx2", "tx3", "rx3";
295 296 297 298
		};

		mcspi2: spi@4809a000 {
			compatible = "ti,omap2-mcspi";
299 300
			reg = <0x4809a000 0x100>;
			interrupts = <66>;
301 302 303 304
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi2";
			ti,spi-num-cs = <2>;
305 306 307 308 309
			dmas = <&sdma 43>,
			       <&sdma 44>,
			       <&sdma 45>,
			       <&sdma 46>;
			dma-names = "tx0", "rx0", "tx1", "rx1";
310 311 312 313
		};

		mcspi3: spi@480b8000 {
			compatible = "ti,omap2-mcspi";
314 315
			reg = <0x480b8000 0x100>;
			interrupts = <91>;
316 317 318 319
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi3";
			ti,spi-num-cs = <2>;
320 321 322 323 324
			dmas = <&sdma 15>,
			       <&sdma 16>,
			       <&sdma 23>,
			       <&sdma 24>;
			dma-names = "tx0", "rx0", "tx1", "rx1";
325 326 327 328
		};

		mcspi4: spi@480ba000 {
			compatible = "ti,omap2-mcspi";
329 330
			reg = <0x480ba000 0x100>;
			interrupts = <48>;
331 332 333 334
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi4";
			ti,spi-num-cs = <1>;
335 336
			dmas = <&sdma 70>, <&sdma 71>;
			dma-names = "tx0", "rx0";
337
		};
338

339 340 341 342 343 344 345
		hdqw1w: 1w@480b2000 {
			compatible = "ti,omap3-1w";
			reg = <0x480b2000 0x1000>;
			interrupts = <58>;
			ti,hwmods = "hdq1w";
		};

346 347
		mmc1: mmc@4809c000 {
			compatible = "ti,omap3-hsmmc";
348 349
			reg = <0x4809c000 0x200>;
			interrupts = <83>;
350 351
			ti,hwmods = "mmc1";
			ti,dual-volt;
352 353
			dmas = <&sdma 61>, <&sdma 62>;
			dma-names = "tx", "rx";
354 355 356 357
		};

		mmc2: mmc@480b4000 {
			compatible = "ti,omap3-hsmmc";
358 359
			reg = <0x480b4000 0x200>;
			interrupts = <86>;
360
			ti,hwmods = "mmc2";
361 362
			dmas = <&sdma 47>, <&sdma 48>;
			dma-names = "tx", "rx";
363 364 365 366
		};

		mmc3: mmc@480ad000 {
			compatible = "ti,omap3-hsmmc";
367 368
			reg = <0x480ad000 0x200>;
			interrupts = <94>;
369
			ti,hwmods = "mmc3";
370 371
			dmas = <&sdma 77>, <&sdma 78>;
			dma-names = "tx", "rx";
372
		};
373

374 375 376 377 378 379 380
		mmu_isp: mmu@480bd400 {
			compatible = "ti,omap3-mmu-isp";
			ti,hwmods = "mmu_isp";
			reg = <0x480bd400 0x80>;
			interrupts = <8>;
		};

381 382
		wdt2: wdt@48314000 {
			compatible = "ti,omap3-wdt";
383
			reg = <0x48314000 0x80>;
384 385
			ti,hwmods = "wd_timer2";
		};
386 387 388 389 390 391 392 393 394 395 396

		mcbsp1: mcbsp@48074000 {
			compatible = "ti,omap3-mcbsp";
			reg = <0x48074000 0xff>;
			reg-names = "mpu";
			interrupts = <16>, /* OCP compliant interrupt */
				     <59>, /* TX interrupt */
				     <60>; /* RX interrupt */
			interrupt-names = "common", "tx", "rx";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp1";
397 398 399
			dmas = <&sdma 31>,
			       <&sdma 32>;
			dma-names = "tx", "rx";
400 401 402 403 404 405 406 407 408 409 410 411 412
		};

		mcbsp2: mcbsp@49022000 {
			compatible = "ti,omap3-mcbsp";
			reg = <0x49022000 0xff>,
			      <0x49028000 0xff>;
			reg-names = "mpu", "sidetone";
			interrupts = <17>, /* OCP compliant interrupt */
				     <62>, /* TX interrupt */
				     <63>, /* RX interrupt */
				     <4>;  /* Sidetone */
			interrupt-names = "common", "tx", "rx", "sidetone";
			ti,buffer-size = <1280>;
413
			ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
414 415 416
			dmas = <&sdma 33>,
			       <&sdma 34>;
			dma-names = "tx", "rx";
417 418 419 420 421 422 423 424 425 426 427 428 429
		};

		mcbsp3: mcbsp@49024000 {
			compatible = "ti,omap3-mcbsp";
			reg = <0x49024000 0xff>,
			      <0x4902a000 0xff>;
			reg-names = "mpu", "sidetone";
			interrupts = <22>, /* OCP compliant interrupt */
				     <89>, /* TX interrupt */
				     <90>, /* RX interrupt */
				     <5>;  /* Sidetone */
			interrupt-names = "common", "tx", "rx", "sidetone";
			ti,buffer-size = <128>;
430
			ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
431 432 433
			dmas = <&sdma 17>,
			       <&sdma 18>;
			dma-names = "tx", "rx";
434 435 436 437 438 439 440 441 442 443 444 445
		};

		mcbsp4: mcbsp@49026000 {
			compatible = "ti,omap3-mcbsp";
			reg = <0x49026000 0xff>;
			reg-names = "mpu";
			interrupts = <23>, /* OCP compliant interrupt */
				     <54>, /* TX interrupt */
				     <55>; /* RX interrupt */
			interrupt-names = "common", "tx", "rx";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp4";
446 447 448
			dmas = <&sdma 19>,
			       <&sdma 20>;
			dma-names = "tx", "rx";
449 450 451 452 453 454 455 456 457 458 459 460
		};

		mcbsp5: mcbsp@48096000 {
			compatible = "ti,omap3-mcbsp";
			reg = <0x48096000 0xff>;
			reg-names = "mpu";
			interrupts = <27>, /* OCP compliant interrupt */
				     <81>, /* TX interrupt */
				     <82>; /* RX interrupt */
			interrupt-names = "common", "tx", "rx";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp5";
461 462 463
			dmas = <&sdma 21>,
			       <&sdma 22>;
			dma-names = "tx", "rx";
464
		};
J
Jon Hunter 已提交
465

466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486
		sham: sham@480c3000 {
			compatible = "ti,omap3-sham";
			ti,hwmods = "sham";
			reg = <0x480c3000 0x64>;
			interrupts = <49>;
		};

		smartreflex_core: smartreflex@480cb000 {
			compatible = "ti,omap3-smartreflex-core";
			ti,hwmods = "smartreflex_core";
			reg = <0x480cb000 0x400>;
			interrupts = <19>;
		};

		smartreflex_mpu_iva: smartreflex@480c9000 {
			compatible = "ti,omap3-smartreflex-iva";
			ti,hwmods = "smartreflex_mpu_iva";
			reg = <0x480c9000 0x400>;
			interrupts = <18>;
		};

J
Jon Hunter 已提交
487
		timer1: timer@48318000 {
488
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
489 490 491 492 493 494 495
			reg = <0x48318000 0x400>;
			interrupts = <37>;
			ti,hwmods = "timer1";
			ti,timer-alwon;
		};

		timer2: timer@49032000 {
496
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
497 498 499 500 501 502
			reg = <0x49032000 0x400>;
			interrupts = <38>;
			ti,hwmods = "timer2";
		};

		timer3: timer@49034000 {
503
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
504 505 506 507 508 509
			reg = <0x49034000 0x400>;
			interrupts = <39>;
			ti,hwmods = "timer3";
		};

		timer4: timer@49036000 {
510
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
511 512 513 514 515 516
			reg = <0x49036000 0x400>;
			interrupts = <40>;
			ti,hwmods = "timer4";
		};

		timer5: timer@49038000 {
517
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
518 519 520 521 522 523 524
			reg = <0x49038000 0x400>;
			interrupts = <41>;
			ti,hwmods = "timer5";
			ti,timer-dsp;
		};

		timer6: timer@4903a000 {
525
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
526 527 528 529 530 531 532
			reg = <0x4903a000 0x400>;
			interrupts = <42>;
			ti,hwmods = "timer6";
			ti,timer-dsp;
		};

		timer7: timer@4903c000 {
533
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
534 535 536 537 538 539 540
			reg = <0x4903c000 0x400>;
			interrupts = <43>;
			ti,hwmods = "timer7";
			ti,timer-dsp;
		};

		timer8: timer@4903e000 {
541
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
542 543 544 545 546 547 548 549
			reg = <0x4903e000 0x400>;
			interrupts = <44>;
			ti,hwmods = "timer8";
			ti,timer-pwm;
			ti,timer-dsp;
		};

		timer9: timer@49040000 {
550
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
551 552 553 554 555 556 557
			reg = <0x49040000 0x400>;
			interrupts = <45>;
			ti,hwmods = "timer9";
			ti,timer-pwm;
		};

		timer10: timer@48086000 {
558
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
559 560 561 562 563 564 565
			reg = <0x48086000 0x400>;
			interrupts = <46>;
			ti,hwmods = "timer10";
			ti,timer-pwm;
		};

		timer11: timer@48088000 {
566
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
567 568 569 570 571 572 573
			reg = <0x48088000 0x400>;
			interrupts = <47>;
			ti,hwmods = "timer11";
			ti,timer-pwm;
		};

		timer12: timer@48304000 {
574
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
575 576 577 578 579 580
			reg = <0x48304000 0x400>;
			interrupts = <95>;
			ti,hwmods = "timer12";
			ti,timer-alwon;
			ti,timer-secure;
		};
581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611

		usbhstll: usbhstll@48062000 {
			compatible = "ti,usbhs-tll";
			reg = <0x48062000 0x1000>;
			interrupts = <78>;
			ti,hwmods = "usb_tll_hs";
		};

		usbhshost: usbhshost@48064000 {
			compatible = "ti,usbhs-host";
			reg = <0x48064000 0x400>;
			ti,hwmods = "usb_host_hs";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			usbhsohci: ohci@48064400 {
				compatible = "ti,ohci-omap3", "usb-ohci";
				reg = <0x48064400 0x400>;
				interrupt-parent = <&intc>;
				interrupts = <76>;
			};

			usbhsehci: ehci@48064800 {
				compatible = "ti,ehci-omap", "usb-ehci";
				reg = <0x48064800 0x400>;
				interrupt-parent = <&intc>;
				interrupts = <77>;
			};
		};

612 613 614
		gpmc: gpmc@6e000000 {
			compatible = "ti,omap3430-gpmc";
			ti,hwmods = "gpmc";
615
			reg = <0x6e000000 0x02d0>;
616 617 618 619 620 621
			interrupts = <20>;
			gpmc,num-cs = <8>;
			gpmc,num-waitpins = <4>;
			#address-cells = <2>;
			#size-cells = <1>;
		};
622 623 624 625

		usb_otg_hs: usb_otg_hs@480ab000 {
			compatible = "ti,omap3-musb";
			reg = <0x480ab000 0x1000>;
626
			interrupts = <92>, <93>;
627 628 629 630 631 632
			interrupt-names = "mc", "dma";
			ti,hwmods = "usb_otg_hs";
			multipoint = <1>;
			num-eps = <16>;
			ram-bits = <12>;
		};
633 634
	};
};