omap4.dtsi 12.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
/*
 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
 *
 * 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.
 */

/*
 * Carveout for multimedia usecases
 * It should be the last 48MB of the first 512MB memory part
 * In theory, it should not even exist. That zone should be reserved
 * dynamically during the .reserve callback.
 */
/memreserve/ 0x9d000000 0x03000000;

/include/ "skeleton.dtsi"

/ {
	compatible = "ti,omap4430", "ti,omap4";
	interrupt-parent = <&gic>;

	aliases {
24 25 26 27
		serial0 = &uart1;
		serial1 = &uart2;
		serial2 = &uart3;
		serial3 = &uart4;
28 29
	};

30 31 32
	cpus {
		cpu@0 {
			compatible = "arm,cortex-a9";
33
			next-level-cache = <&L2>;
34 35 36
		};
		cpu@1 {
			compatible = "arm,cortex-a9";
37
			next-level-cache = <&L2>;
38 39 40
		};
	};

41 42 43 44 45 46 47 48
	gic: interrupt-controller@48241000 {
		compatible = "arm,cortex-a9-gic";
		interrupt-controller;
		#interrupt-cells = <3>;
		reg = <0x48241000 0x1000>,
		      <0x48240100 0x0100>;
	};

49 50 51 52 53 54 55
	L2: l2-cache-controller@48242000 {
		compatible = "arm,pl310-cache";
		reg = <0x48242000 0x1000>;
		cache-unified;
		cache-level = <2>;
	};

56 57 58 59 60 61
	local-timer@0x48240600 {
		compatible = "arm,cortex-a9-twd-timer";
		reg = <0x48240600 0x20>;
		interrupts = <1 13 0x304>;
	};

62 63 64 65 66 67
	/*
	 * The soc node represents the soc top level view. It is uses for IPs
	 * that are not memory mapped in the MPU view or for the MPU itself.
	 */
	soc {
		compatible = "ti,omap-infra";
68 69 70 71 72 73 74 75 76 77 78 79 80 81
		mpu {
			compatible = "ti,omap4-mpu";
			ti,hwmods = "mpu";
		};

		dsp {
			compatible = "ti,omap3-c64";
			ti,hwmods = "dsp";
		};

		iva {
			compatible = "ti,ivahd";
			ti,hwmods = "iva";
		};
82 83 84 85 86 87 88 89 90 91
	};

	/*
	 * XXX: Use a flat representation of the OMAP4 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 {
92
		compatible = "ti,omap4-l3-noc", "simple-bus";
93 94 95
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
96
		ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
97

J
Jon Hunter 已提交
98 99 100 101 102 103
		counter32k: counter@4a304000 {
			compatible = "ti,omap-counter32k";
			reg = <0x4a304000 0x20>;
			ti,hwmods = "counter_32k";
		};

104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120
		omap4_pmx_core: pinmux@4a100040 {
			compatible = "ti,omap4-padconf", "pinctrl-single";
			reg = <0x4a100040 0x0196>;
			#address-cells = <1>;
			#size-cells = <0>;
			pinctrl-single,register-width = <16>;
			pinctrl-single,function-mask = <0x7fff>;
		};
		omap4_pmx_wkup: pinmux@4a31e040 {
			compatible = "ti,omap4-padconf", "pinctrl-single";
			reg = <0x4a31e040 0x0038>;
			#address-cells = <1>;
			#size-cells = <0>;
			pinctrl-single,register-width = <16>;
			pinctrl-single,function-mask = <0x7fff>;
		};

B
Benoit Cousson 已提交
121 122
		gpio1: gpio@4a310000 {
			compatible = "ti,omap4-gpio";
123 124
			reg = <0x4a310000 0x200>;
			interrupts = <0 29 0x4>;
B
Benoit Cousson 已提交
125 126 127 128 129 130 131 132 133
			ti,hwmods = "gpio1";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <1>;
		};

		gpio2: gpio@48055000 {
			compatible = "ti,omap4-gpio";
134 135
			reg = <0x48055000 0x200>;
			interrupts = <0 30 0x4>;
B
Benoit Cousson 已提交
136 137 138 139 140 141 142 143 144
			ti,hwmods = "gpio2";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <1>;
		};

		gpio3: gpio@48057000 {
			compatible = "ti,omap4-gpio";
145 146
			reg = <0x48057000 0x200>;
			interrupts = <0 31 0x4>;
B
Benoit Cousson 已提交
147 148 149 150 151 152 153 154 155
			ti,hwmods = "gpio3";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <1>;
		};

		gpio4: gpio@48059000 {
			compatible = "ti,omap4-gpio";
156 157
			reg = <0x48059000 0x200>;
			interrupts = <0 32 0x4>;
B
Benoit Cousson 已提交
158 159 160 161 162 163 164 165 166
			ti,hwmods = "gpio4";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <1>;
		};

		gpio5: gpio@4805b000 {
			compatible = "ti,omap4-gpio";
167 168
			reg = <0x4805b000 0x200>;
			interrupts = <0 33 0x4>;
B
Benoit Cousson 已提交
169 170 171 172 173 174 175 176 177
			ti,hwmods = "gpio5";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <1>;
		};

		gpio6: gpio@4805d000 {
			compatible = "ti,omap4-gpio";
178 179
			reg = <0x4805d000 0x200>;
			interrupts = <0 34 0x4>;
B
Benoit Cousson 已提交
180 181 182 183 184 185
			ti,hwmods = "gpio6";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
			#interrupt-cells = <1>;
		};
186

187
		uart1: serial@4806a000 {
188
			compatible = "ti,omap4-uart";
189 190
			reg = <0x4806a000 0x100>;
			interrupts = <0 72 0x4>;
191 192 193 194
			ti,hwmods = "uart1";
			clock-frequency = <48000000>;
		};

195
		uart2: serial@4806c000 {
196
			compatible = "ti,omap4-uart";
197 198
			reg = <0x4806c000 0x100>;
			interrupts = <0 73 0x4>;
199 200 201 202
			ti,hwmods = "uart2";
			clock-frequency = <48000000>;
		};

203
		uart3: serial@48020000 {
204
			compatible = "ti,omap4-uart";
205 206
			reg = <0x48020000 0x100>;
			interrupts = <0 74 0x4>;
207 208 209 210
			ti,hwmods = "uart3";
			clock-frequency = <48000000>;
		};

211
		uart4: serial@4806e000 {
212
			compatible = "ti,omap4-uart";
213 214
			reg = <0x4806e000 0x100>;
			interrupts = <0 70 0x4>;
215 216 217
			ti,hwmods = "uart4";
			clock-frequency = <48000000>;
		};
218 219 220

		i2c1: i2c@48070000 {
			compatible = "ti,omap4-i2c";
221 222
			reg = <0x48070000 0x100>;
			interrupts = <0 56 0x4>;
223 224 225 226 227 228 229
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c1";
		};

		i2c2: i2c@48072000 {
			compatible = "ti,omap4-i2c";
230 231
			reg = <0x48072000 0x100>;
			interrupts = <0 57 0x4>;
232 233 234 235 236 237 238
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c2";
		};

		i2c3: i2c@48060000 {
			compatible = "ti,omap4-i2c";
239 240
			reg = <0x48060000 0x100>;
			interrupts = <0 61 0x4>;
241 242 243 244 245 246 247
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c3";
		};

		i2c4: i2c@48350000 {
			compatible = "ti,omap4-i2c";
248 249
			reg = <0x48350000 0x100>;
			interrupts = <0 62 0x4>;
250 251 252 253
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c4";
		};
254 255 256

		mcspi1: spi@48098000 {
			compatible = "ti,omap4-mcspi";
257 258
			reg = <0x48098000 0x200>;
			interrupts = <0 65 0x4>;
259 260 261 262 263 264 265 266
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi1";
			ti,spi-num-cs = <4>;
		};

		mcspi2: spi@4809a000 {
			compatible = "ti,omap4-mcspi";
267 268
			reg = <0x4809a000 0x200>;
			interrupts = <0 66 0x4>;
269 270 271 272 273 274 275 276
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi2";
			ti,spi-num-cs = <2>;
		};

		mcspi3: spi@480b8000 {
			compatible = "ti,omap4-mcspi";
277 278
			reg = <0x480b8000 0x200>;
			interrupts = <0 91 0x4>;
279 280 281 282 283 284 285 286
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi3";
			ti,spi-num-cs = <2>;
		};

		mcspi4: spi@480ba000 {
			compatible = "ti,omap4-mcspi";
287 288
			reg = <0x480ba000 0x200>;
			interrupts = <0 48 0x4>;
289 290 291 292 293
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi4";
			ti,spi-num-cs = <1>;
		};
294 295 296

		mmc1: mmc@4809c000 {
			compatible = "ti,omap4-hsmmc";
297 298
			reg = <0x4809c000 0x400>;
			interrupts = <0 83 0x4>;
299 300 301 302 303 304 305
			ti,hwmods = "mmc1";
			ti,dual-volt;
			ti,needs-special-reset;
		};

		mmc2: mmc@480b4000 {
			compatible = "ti,omap4-hsmmc";
306 307
			reg = <0x480b4000 0x400>;
			interrupts = <0 86 0x4>;
308 309 310 311 312 313
			ti,hwmods = "mmc2";
			ti,needs-special-reset;
		};

		mmc3: mmc@480ad000 {
			compatible = "ti,omap4-hsmmc";
314 315
			reg = <0x480ad000 0x400>;
			interrupts = <0 94 0x4>;
316 317 318 319 320 321
			ti,hwmods = "mmc3";
			ti,needs-special-reset;
		};

		mmc4: mmc@480d1000 {
			compatible = "ti,omap4-hsmmc";
322 323
			reg = <0x480d1000 0x400>;
			interrupts = <0 96 0x4>;
324 325 326 327 328 329
			ti,hwmods = "mmc4";
			ti,needs-special-reset;
		};

		mmc5: mmc@480d5000 {
			compatible = "ti,omap4-hsmmc";
330 331
			reg = <0x480d5000 0x400>;
			interrupts = <0 59 0x4>;
332 333 334
			ti,hwmods = "mmc5";
			ti,needs-special-reset;
		};
335 336 337

		wdt2: wdt@4a314000 {
			compatible = "ti,omap4-wdt", "ti,omap3-wdt";
338 339
			reg = <0x4a314000 0x80>;
			interrupts = <0 80 0x4>;
340 341
			ti,hwmods = "wd_timer2";
		};
342 343 344 345 346

		mcpdm: mcpdm@40132000 {
			compatible = "ti,omap4-mcpdm";
			reg = <0x40132000 0x7f>, /* MPU private access */
			      <0x49032000 0x7f>; /* L3 Interconnect */
347
			reg-names = "mpu", "dma";
348 349 350
			interrupts = <0 112 0x4>;
			ti,hwmods = "mcpdm";
		};
351 352 353 354 355

		dmic: dmic@4012e000 {
			compatible = "ti,omap4-dmic";
			reg = <0x4012e000 0x7f>, /* MPU private access */
			      <0x4902e000 0x7f>; /* L3 Interconnect */
356
			reg-names = "mpu", "dma";
357 358 359
			interrupts = <0 114 0x4>;
			ti,hwmods = "dmic";
		};
360

361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403
		mcbsp1: mcbsp@40122000 {
			compatible = "ti,omap4-mcbsp";
			reg = <0x40122000 0xff>, /* MPU private access */
			      <0x49022000 0xff>; /* L3 Interconnect */
			reg-names = "mpu", "dma";
			interrupts = <0 17 0x4>;
			interrupt-names = "common";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp1";
		};

		mcbsp2: mcbsp@40124000 {
			compatible = "ti,omap4-mcbsp";
			reg = <0x40124000 0xff>, /* MPU private access */
			      <0x49024000 0xff>; /* L3 Interconnect */
			reg-names = "mpu", "dma";
			interrupts = <0 22 0x4>;
			interrupt-names = "common";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp2";
		};

		mcbsp3: mcbsp@40126000 {
			compatible = "ti,omap4-mcbsp";
			reg = <0x40126000 0xff>, /* MPU private access */
			      <0x49026000 0xff>; /* L3 Interconnect */
			reg-names = "mpu", "dma";
			interrupts = <0 23 0x4>;
			interrupt-names = "common";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp3";
		};

		mcbsp4: mcbsp@48096000 {
			compatible = "ti,omap4-mcbsp";
			reg = <0x48096000 0xff>; /* L4 Interconnect */
			reg-names = "mpu";
			interrupts = <0 16 0x4>;
			interrupt-names = "common";
			ti,buffer-size = <128>;
			ti,hwmods = "mcbsp4";
		};

404 405
		keypad: keypad@4a31c000 {
			compatible = "ti,omap4-keypad";
406 407 408
			reg = <0x4a31c000 0x80>;
			interrupts = <0 120 0x4>;
			reg-names = "mpu";
409 410
			ti,hwmods = "kbd";
		};
411 412 413

		emif1: emif@4c000000 {
			compatible = "ti,emif-4d";
414 415
			reg = <0x4c000000 0x100>;
			interrupts = <0 110 0x4>;
416 417 418 419 420 421 422 423 424
			ti,hwmods = "emif1";
			phy-type = <1>;
			hw-caps-read-idle-ctrl;
			hw-caps-ll-interface;
			hw-caps-temp-alert;
		};

		emif2: emif@4d000000 {
			compatible = "ti,emif-4d";
425 426
			reg = <0x4d000000 0x100>;
			interrupts = <0 111 0x4>;
427 428 429 430 431 432
			ti,hwmods = "emif2";
			phy-type = <1>;
			hw-caps-read-idle-ctrl;
			hw-caps-ll-interface;
			hw-caps-temp-alert;
		};
433

434
		ocp2scp@4a0ad000 {
435
			compatible = "ti,omap-ocp2scp";
436
			reg = <0x4a0ad000 0x1f>;
437 438 439 440 441
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;
			ti,hwmods = "ocp2scp_usb_phy";
		};
J
Jon Hunter 已提交
442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471

		timer1: timer@4a318000 {
			compatible = "ti,omap2-timer";
			reg = <0x4a318000 0x80>;
			interrupts = <0 37 0x4>;
			ti,hwmods = "timer1";
			ti,timer-alwon;
		};

		timer2: timer@48032000 {
			compatible = "ti,omap2-timer";
			reg = <0x48032000 0x80>;
			interrupts = <0 38 0x4>;
			ti,hwmods = "timer2";
		};

		timer3: timer@48034000 {
			compatible = "ti,omap2-timer";
			reg = <0x48034000 0x80>;
			interrupts = <0 39 0x4>;
			ti,hwmods = "timer3";
		};

		timer4: timer@48036000 {
			compatible = "ti,omap2-timer";
			reg = <0x48036000 0x80>;
			interrupts = <0 40 0x4>;
			ti,hwmods = "timer4";
		};

472
		timer5: timer@40138000 {
J
Jon Hunter 已提交
473
			compatible = "ti,omap2-timer";
474 475
			reg = <0x40138000 0x80>,
			      <0x49038000 0x80>;
J
Jon Hunter 已提交
476 477 478 479 480
			interrupts = <0 41 0x4>;
			ti,hwmods = "timer5";
			ti,timer-dsp;
		};

481
		timer6: timer@4013a000 {
J
Jon Hunter 已提交
482
			compatible = "ti,omap2-timer";
483 484
			reg = <0x4013a000 0x80>,
			      <0x4903a000 0x80>;
J
Jon Hunter 已提交
485 486 487 488 489
			interrupts = <0 42 0x4>;
			ti,hwmods = "timer6";
			ti,timer-dsp;
		};

490
		timer7: timer@4013c000 {
J
Jon Hunter 已提交
491
			compatible = "ti,omap2-timer";
492 493
			reg = <0x4013c000 0x80>,
			      <0x4903c000 0x80>;
J
Jon Hunter 已提交
494 495 496 497 498
			interrupts = <0 43 0x4>;
			ti,hwmods = "timer7";
			ti,timer-dsp;
		};

499
		timer8: timer@4013e000 {
J
Jon Hunter 已提交
500
			compatible = "ti,omap2-timer";
501 502
			reg = <0x4013e000 0x80>,
			      <0x4903e000 0x80>;
J
Jon Hunter 已提交
503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531
			interrupts = <0 44 0x4>;
			ti,hwmods = "timer8";
			ti,timer-pwm;
			ti,timer-dsp;
		};

		timer9: timer@4803e000 {
			compatible = "ti,omap2-timer";
			reg = <0x4803e000 0x80>;
			interrupts = <0 45 0x4>;
			ti,hwmods = "timer9";
			ti,timer-pwm;
		};

		timer10: timer@48086000 {
			compatible = "ti,omap2-timer";
			reg = <0x48086000 0x80>;
			interrupts = <0 46 0x4>;
			ti,hwmods = "timer10";
			ti,timer-pwm;
		};

		timer11: timer@48088000 {
			compatible = "ti,omap2-timer";
			reg = <0x48088000 0x80>;
			interrupts = <0 47 0x4>;
			ti,hwmods = "timer11";
			ti,timer-pwm;
		};
532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561

		usbhstll: usbhstll@4a062000 {
			compatible = "ti,usbhs-tll";
			reg = <0x4a062000 0x1000>;
			interrupts = <0 78 0x4>;
			ti,hwmods = "usb_tll_hs";
		};

		usbhshost: usbhshost@4a064000 {
			compatible = "ti,usbhs-host";
			reg = <0x4a064000 0x800>;
			ti,hwmods = "usb_host_hs";
			#address-cells = <1>;
			#size-cells = <1>;
			ranges;

			usbhsohci: ohci@4a064800 {
				compatible = "ti,ohci-omap3", "usb-ohci";
				reg = <0x4a064800 0x400>;
				interrupt-parent = <&gic>;
				interrupts = <0 76 0x4>;
			};

			usbhsehci: ehci@4a064c00 {
				compatible = "ti,ehci-omap", "usb-ehci";
				reg = <0x4a064c00 0x400>;
				interrupt-parent = <&gic>;
				interrupts = <0 77 0x4>;
			};
		};
562 563
	};
};