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 28 29 30 31 32
	cpus {
		cpu@0 {
			compatible = "arm,cortex-a8";
		};
	};

J
Jon Hunter 已提交
33 34 35 36 37 38
	pmu {
		compatible = "arm,cortex-a8-pmu";
		interrupts = <3>;
		ti,hwmods = "debugss";
	};

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

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

			dsp {
				compatible = "ti,omap3-c64";
			};
		};
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
	};

	/*
	 * 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 已提交
74 75 76 77 78 79
		counter32k: counter@48320000 {
			compatible = "ti,omap-counter32k";
			reg = <0x48320000 0x20>;
			ti,hwmods = "counter_32k";
		};

80 81
		intc: interrupt-controller@48200000 {
			compatible = "ti,omap2-intc";
82 83
			interrupt-controller;
			#interrupt-cells = <1>;
84 85
			ti,intc-size = <96>;
			reg = <0x48200000 0x1000>;
86
		};
87

88 89 90 91 92 93 94 95 96 97 98 99
		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>;
		};

100 101 102 103 104 105
		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>;
106
			pinctrl-single,function-mask = <0x7f1f>;
107 108
		};

109
		omap3_pmx_wkup: pinmux@0x48002a00 {
110
			compatible = "ti,omap3-padconf", "pinctrl-single";
111
			reg = <0x48002a00 0x5c>;
112 113 114
			#address-cells = <1>;
			#size-cells = <0>;
			pinctrl-single,register-width = <16>;
115
			pinctrl-single,function-mask = <0x7f1f>;
116 117
		};

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

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

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

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

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

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

185
		uart1: serial@4806a000 {
186 187 188 189 190
			compatible = "ti,omap3-uart";
			ti,hwmods = "uart1";
			clock-frequency = <48000000>;
		};

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

197
		uart3: serial@49020000 {
198 199 200 201 202
			compatible = "ti,omap3-uart";
			ti,hwmods = "uart3";
			clock-frequency = <48000000>;
		};

203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222
		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";
		};
223 224 225 226 227 228 229

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

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

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

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

		mmc1: mmc@4809c000 {
			compatible = "ti,omap3-hsmmc";
			ti,hwmods = "mmc1";
			ti,dual-volt;
282 283
			dmas = <&sdma 61>, <&sdma 62>;
			dma-names = "tx", "rx";
284 285 286 287 288
		};

		mmc2: mmc@480b4000 {
			compatible = "ti,omap3-hsmmc";
			ti,hwmods = "mmc2";
289 290
			dmas = <&sdma 47>, <&sdma 48>;
			dma-names = "tx", "rx";
291 292 293 294 295
		};

		mmc3: mmc@480ad000 {
			compatible = "ti,omap3-hsmmc";
			ti,hwmods = "mmc3";
296 297
			dmas = <&sdma 77>, <&sdma 78>;
			dma-names = "tx", "rx";
298
		};
299 300 301 302 303

		wdt2: wdt@48314000 {
			compatible = "ti,omap3-wdt";
			ti,hwmods = "wd_timer2";
		};
304 305 306 307 308 309 310 311 312 313 314

		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";
315 316 317
			dmas = <&sdma 31>,
			       <&sdma 32>;
			dma-names = "tx", "rx";
318 319 320 321 322 323 324 325 326 327 328 329 330
		};

		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>;
331
			ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
332 333 334
			dmas = <&sdma 33>,
			       <&sdma 34>;
			dma-names = "tx", "rx";
335 336 337 338 339 340 341 342 343 344 345 346 347
		};

		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>;
348
			ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
349 350 351
			dmas = <&sdma 17>,
			       <&sdma 18>;
			dma-names = "tx", "rx";
352 353 354 355 356 357 358 359 360 361 362 363
		};

		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";
364 365 366
			dmas = <&sdma 19>,
			       <&sdma 20>;
			dma-names = "tx", "rx";
367 368 369 370 371 372 373 374 375 376 377 378
		};

		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";
379 380 381
			dmas = <&sdma 21>,
			       <&sdma 22>;
			dma-names = "tx", "rx";
382
		};
J
Jon Hunter 已提交
383 384

		timer1: timer@48318000 {
385
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
386 387 388 389 390 391 392
			reg = <0x48318000 0x400>;
			interrupts = <37>;
			ti,hwmods = "timer1";
			ti,timer-alwon;
		};

		timer2: timer@49032000 {
393
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
394 395 396 397 398 399
			reg = <0x49032000 0x400>;
			interrupts = <38>;
			ti,hwmods = "timer2";
		};

		timer3: timer@49034000 {
400
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
401 402 403 404 405 406
			reg = <0x49034000 0x400>;
			interrupts = <39>;
			ti,hwmods = "timer3";
		};

		timer4: timer@49036000 {
407
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
408 409 410 411 412 413
			reg = <0x49036000 0x400>;
			interrupts = <40>;
			ti,hwmods = "timer4";
		};

		timer5: timer@49038000 {
414
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
415 416 417 418 419 420 421
			reg = <0x49038000 0x400>;
			interrupts = <41>;
			ti,hwmods = "timer5";
			ti,timer-dsp;
		};

		timer6: timer@4903a000 {
422
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
423 424 425 426 427 428 429
			reg = <0x4903a000 0x400>;
			interrupts = <42>;
			ti,hwmods = "timer6";
			ti,timer-dsp;
		};

		timer7: timer@4903c000 {
430
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
431 432 433 434 435 436 437
			reg = <0x4903c000 0x400>;
			interrupts = <43>;
			ti,hwmods = "timer7";
			ti,timer-dsp;
		};

		timer8: timer@4903e000 {
438
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
439 440 441 442 443 444 445 446
			reg = <0x4903e000 0x400>;
			interrupts = <44>;
			ti,hwmods = "timer8";
			ti,timer-pwm;
			ti,timer-dsp;
		};

		timer9: timer@49040000 {
447
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
448 449 450 451 452 453 454
			reg = <0x49040000 0x400>;
			interrupts = <45>;
			ti,hwmods = "timer9";
			ti,timer-pwm;
		};

		timer10: timer@48086000 {
455
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
456 457 458 459 460 461 462
			reg = <0x48086000 0x400>;
			interrupts = <46>;
			ti,hwmods = "timer10";
			ti,timer-pwm;
		};

		timer11: timer@48088000 {
463
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
464 465 466 467 468 469 470
			reg = <0x48088000 0x400>;
			interrupts = <47>;
			ti,hwmods = "timer11";
			ti,timer-pwm;
		};

		timer12: timer@48304000 {
471
			compatible = "ti,omap3430-timer";
J
Jon Hunter 已提交
472 473 474 475 476 477
			reg = <0x48304000 0x400>;
			interrupts = <95>;
			ti,hwmods = "timer12";
			ti,timer-alwon;
			ti,timer-secure;
		};
478 479 480 481 482 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

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

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

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