omap3.dtsi 11.7 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 22 23 24 25 26
	aliases {
		serial0 = &uart1;
		serial1 = &uart2;
		serial2 = &uart3;
	};

27
	cpus {
28 29 30
		#address-cells = <1>;
		#size-cells = <0>;

31 32
		cpu@0 {
			compatible = "arm,cortex-a8";
33 34
			device_type = "cpu";
			reg = <0x0>;
35 36 37
		};
	};

J
Jon Hunter 已提交
38 39 40 41 42 43
	pmu {
		compatible = "arm,cortex-a8-pmu";
		interrupts = <3>;
		ti,hwmods = "debugss";
	};

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

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

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

	/*
	 * 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";
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;
		ti,hwmods = "l3_main";

J
Jon Hunter 已提交
79 80 81 82 83 84
		counter32k: counter@48320000 {
			compatible = "ti,omap-counter32k";
			reg = <0x48320000 0x20>;
			ti,hwmods = "counter_32k";
		};

85 86
		intc: interrupt-controller@48200000 {
			compatible = "ti,omap2-intc";
87 88
			interrupt-controller;
			#interrupt-cells = <1>;
89 90
			ti,intc-size = <96>;
			reg = <0x48200000 0x1000>;
91
		};
92

93 94 95 96 97 98 99 100 101 102 103 104
		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>;
		};

105 106 107 108 109 110
		omap3_pmx_core: pinmux@48002030 {
			compatible = "ti,omap3-padconf", "pinctrl-single";
			reg = <0x48002030 0x05cc>;
			#address-cells = <1>;
			#size-cells = <0>;
			pinctrl-single,register-width = <16>;
111
			pinctrl-single,function-mask = <0x7f1f>;
112 113
		};

114
		omap3_pmx_wkup: pinmux@48002a00 {
115
			compatible = "ti,omap3-padconf", "pinctrl-single";
116
			reg = <0x48002a00 0x5c>;
117 118 119
			#address-cells = <1>;
			#size-cells = <0>;
			pinctrl-single,register-width = <16>;
120
			pinctrl-single,function-mask = <0x7f1f>;
121 122
		};

B
Benoit Cousson 已提交
123 124
		gpio1: gpio@48310000 {
			compatible = "ti,omap3-gpio";
125 126
			reg = <0x48310000 0x200>;
			interrupts = <29>;
B
Benoit Cousson 已提交
127
			ti,hwmods = "gpio1";
128
			ti,gpio-always-on;
B
Benoit Cousson 已提交
129 130 131
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
132
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
133 134 135 136
		};

		gpio2: gpio@49050000 {
			compatible = "ti,omap3-gpio";
137 138
			reg = <0x49050000 0x200>;
			interrupts = <30>;
B
Benoit Cousson 已提交
139 140 141 142
			ti,hwmods = "gpio2";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
143
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
144 145 146 147
		};

		gpio3: gpio@49052000 {
			compatible = "ti,omap3-gpio";
148 149
			reg = <0x49052000 0x200>;
			interrupts = <31>;
B
Benoit Cousson 已提交
150 151 152 153
			ti,hwmods = "gpio3";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
154
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
155 156 157 158
		};

		gpio4: gpio@49054000 {
			compatible = "ti,omap3-gpio";
159 160
			reg = <0x49054000 0x200>;
			interrupts = <32>;
B
Benoit Cousson 已提交
161 162 163 164
			ti,hwmods = "gpio4";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
165
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
166 167 168 169
		};

		gpio5: gpio@49056000 {
			compatible = "ti,omap3-gpio";
170 171
			reg = <0x49056000 0x200>;
			interrupts = <33>;
B
Benoit Cousson 已提交
172 173 174 175
			ti,hwmods = "gpio5";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
176
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
177 178 179 180
		};

		gpio6: gpio@49058000 {
			compatible = "ti,omap3-gpio";
181 182
			reg = <0x49058000 0x200>;
			interrupts = <34>;
B
Benoit Cousson 已提交
183 184 185 186
			ti,hwmods = "gpio6";
			gpio-controller;
			#gpio-cells = <2>;
			interrupt-controller;
187
			#interrupt-cells = <2>;
B
Benoit Cousson 已提交
188 189
		};

190
		uart1: serial@4806a000 {
191 192 193 194 195
			compatible = "ti,omap3-uart";
			ti,hwmods = "uart1";
			clock-frequency = <48000000>;
		};

196
		uart2: serial@4806c000 {
197 198 199 200 201
			compatible = "ti,omap3-uart";
			ti,hwmods = "uart2";
			clock-frequency = <48000000>;
		};

202
		uart3: serial@49020000 {
203 204 205 206 207
			compatible = "ti,omap3-uart";
			ti,hwmods = "uart3";
			clock-frequency = <48000000>;
		};

208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
		i2c1: i2c@48070000 {
			compatible = "ti,omap3-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c1";
		};

		i2c2: i2c@48072000 {
			compatible = "ti,omap3-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c2";
		};

		i2c3: i2c@48060000 {
			compatible = "ti,omap3-i2c";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "i2c3";
		};
228 229 230 231 232 233 234

		mcspi1: spi@48098000 {
			compatible = "ti,omap2-mcspi";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi1";
			ti,spi-num-cs = <4>;
235 236 237 238 239 240 241 242 243 244
			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";
245 246 247 248 249 250 251 252
		};

		mcspi2: spi@4809a000 {
			compatible = "ti,omap2-mcspi";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi2";
			ti,spi-num-cs = <2>;
253 254 255 256 257
			dmas = <&sdma 43>,
			       <&sdma 44>,
			       <&sdma 45>,
			       <&sdma 46>;
			dma-names = "tx0", "rx0", "tx1", "rx1";
258 259 260 261 262 263 264 265
		};

		mcspi3: spi@480b8000 {
			compatible = "ti,omap2-mcspi";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi3";
			ti,spi-num-cs = <2>;
266 267 268 269 270
			dmas = <&sdma 15>,
			       <&sdma 16>,
			       <&sdma 23>,
			       <&sdma 24>;
			dma-names = "tx0", "rx0", "tx1", "rx1";
271 272 273 274 275 276 277 278
		};

		mcspi4: spi@480ba000 {
			compatible = "ti,omap2-mcspi";
			#address-cells = <1>;
			#size-cells = <0>;
			ti,hwmods = "mcspi4";
			ti,spi-num-cs = <1>;
279 280
			dmas = <&sdma 70>, <&sdma 71>;
			dma-names = "tx0", "rx0";
281
		};
282 283 284 285 286

		mmc1: mmc@4809c000 {
			compatible = "ti,omap3-hsmmc";
			ti,hwmods = "mmc1";
			ti,dual-volt;
287 288
			dmas = <&sdma 61>, <&sdma 62>;
			dma-names = "tx", "rx";
289 290 291 292 293
		};

		mmc2: mmc@480b4000 {
			compatible = "ti,omap3-hsmmc";
			ti,hwmods = "mmc2";
294 295
			dmas = <&sdma 47>, <&sdma 48>;
			dma-names = "tx", "rx";
296 297 298 299 300
		};

		mmc3: mmc@480ad000 {
			compatible = "ti,omap3-hsmmc";
			ti,hwmods = "mmc3";
301 302
			dmas = <&sdma 77>, <&sdma 78>;
			dma-names = "tx", "rx";
303
		};
304 305 306 307 308

		wdt2: wdt@48314000 {
			compatible = "ti,omap3-wdt";
			ti,hwmods = "wd_timer2";
		};
309 310 311 312 313 314 315 316 317 318 319

		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";
320 321 322
			dmas = <&sdma 31>,
			       <&sdma 32>;
			dma-names = "tx", "rx";
323 324 325 326 327 328 329 330 331 332 333 334 335
		};

		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>;
336
			ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
337 338 339
			dmas = <&sdma 33>,
			       <&sdma 34>;
			dma-names = "tx", "rx";
340 341 342 343 344 345 346 347 348 349 350 351 352
		};

		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>;
353
			ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
354 355 356
			dmas = <&sdma 17>,
			       <&sdma 18>;
			dma-names = "tx", "rx";
357 358 359 360 361 362 363 364 365 366 367 368
		};

		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";
369 370 371
			dmas = <&sdma 19>,
			       <&sdma 20>;
			dma-names = "tx", "rx";
372 373 374 375 376 377 378 379 380 381 382 383
		};

		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";
384 385 386
			dmas = <&sdma 21>,
			       <&sdma 22>;
			dma-names = "tx", "rx";
387
		};
J
Jon Hunter 已提交
388 389

		timer1: timer@48318000 {
390
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
391 392 393 394 395 396 397
			reg = <0x48318000 0x400>;
			interrupts = <37>;
			ti,hwmods = "timer1";
			ti,timer-alwon;
		};

		timer2: timer@49032000 {
398
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
399 400 401 402 403 404
			reg = <0x49032000 0x400>;
			interrupts = <38>;
			ti,hwmods = "timer2";
		};

		timer3: timer@49034000 {
405
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
406 407 408 409 410 411
			reg = <0x49034000 0x400>;
			interrupts = <39>;
			ti,hwmods = "timer3";
		};

		timer4: timer@49036000 {
412
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
413 414 415 416 417 418
			reg = <0x49036000 0x400>;
			interrupts = <40>;
			ti,hwmods = "timer4";
		};

		timer5: timer@49038000 {
419
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
420 421 422 423 424 425 426
			reg = <0x49038000 0x400>;
			interrupts = <41>;
			ti,hwmods = "timer5";
			ti,timer-dsp;
		};

		timer6: timer@4903a000 {
427
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
428 429 430 431 432 433 434
			reg = <0x4903a000 0x400>;
			interrupts = <42>;
			ti,hwmods = "timer6";
			ti,timer-dsp;
		};

		timer7: timer@4903c000 {
435
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
436 437 438 439 440 441 442
			reg = <0x4903c000 0x400>;
			interrupts = <43>;
			ti,hwmods = "timer7";
			ti,timer-dsp;
		};

		timer8: timer@4903e000 {
443
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
444 445 446 447 448 449 450 451
			reg = <0x4903e000 0x400>;
			interrupts = <44>;
			ti,hwmods = "timer8";
			ti,timer-pwm;
			ti,timer-dsp;
		};

		timer9: timer@49040000 {
452
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
453 454 455 456 457 458 459
			reg = <0x49040000 0x400>;
			interrupts = <45>;
			ti,hwmods = "timer9";
			ti,timer-pwm;
		};

		timer10: timer@48086000 {
460
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
461 462 463 464 465 466 467
			reg = <0x48086000 0x400>;
			interrupts = <46>;
			ti,hwmods = "timer10";
			ti,timer-pwm;
		};

		timer11: timer@48088000 {
468
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
469 470 471 472 473 474 475
			reg = <0x48088000 0x400>;
			interrupts = <47>;
			ti,hwmods = "timer11";
			ti,timer-pwm;
		};

		timer12: timer@48304000 {
476
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
477 478 479 480 481 482
			reg = <0x48304000 0x400>;
			interrupts = <95>;
			ti,hwmods = "timer12";
			ti,timer-alwon;
			ti,timer-secure;
		};
483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513

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

514 515 516
		gpmc: gpmc@6e000000 {
			compatible = "ti,omap3430-gpmc";
			ti,hwmods = "gpmc";
517
			reg = <0x6e000000 0x02d0>;
518 519 520 521 522 523
			interrupts = <20>;
			gpmc,num-cs = <8>;
			gpmc,num-waitpins = <4>;
			#address-cells = <2>;
			#size-cells = <1>;
		};
524 525 526 527

		usb_otg_hs: usb_otg_hs@480ab000 {
			compatible = "ti,omap3-musb";
			reg = <0x480ab000 0x1000>;
528
			interrupts = <92>, <93>;
529 530 531 532 533 534
			interrupt-names = "mc", "dma";
			ti,hwmods = "usb_otg_hs";
			multipoint = <1>;
			num-eps = <16>;
			ram-bits = <12>;
		};
535 536
	};
};