dbx5x0.dtsi 15.0 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/*
 * Copyright 2012 Linaro Ltd
 *
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 *
 * http://www.opensource.org/licenses/gpl-license.html
 * http://www.gnu.org/copyleft/gpl.html
 */

/include/ "skeleton.dtsi"

/ {
	soc-u9500 {
		#address-cells = <1>;
		#size-cells = <1>;
18
		compatible = "stericsson,db8500";
19
		interrupt-parent = <&intc>;
20
		ranges;
21

22 23 24 25 26 27 28 29 30
		intc: interrupt-controller@a0411000 {
			compatible = "arm,cortex-a9-gic";
			#interrupt-cells = <3>;
			#address-cells = <1>;
			interrupt-controller;
			reg = <0xa0411000 0x1000>,
			      <0xa0410100 0x100>;
		};

31 32 33 34 35 36 37 38
		L2: l2-cache {
			compatible = "arm,pl310-cache";
			reg = <0xa0412000 0x1000>;
			interrupts = <0 13 4>;
			cache-unified;
			cache-level = <2>;
		};

39 40 41 42 43
		pmu {
			compatible = "arm,cortex-a9-pmu";
			interrupts = <0 7 0x4>;
		};

44 45 46 47 48 49
		timer@a0410600 {
			compatible = "arm,cortex-a9-twd-timer";
			reg = <0xa0410600 0x20>;
			interrupts = <1 13 0x304>;
		};

50
		rtc@80154000 {
51
			compatible = "arm,rtc-pl031", "arm,primecell";
52 53 54 55 56 57
			reg = <0x80154000 0x1000>;
			interrupts = <0 18 0x4>;
		};

		gpio0: gpio@8012e000 {
			compatible = "stericsson,db8500-gpio",
58
				"st,nomadik-gpio";
59 60
			reg =  <0x8012e000 0x80>;
			interrupts = <0 119 0x4>;
61 62
			interrupt-controller;
			#interrupt-cells = <2>;
63
			st,supports-sleepmode;
64
			gpio-controller;
65 66
			#gpio-cells = <2>;
			gpio-bank = <0>;
67 68 69 70
		};

		gpio1: gpio@8012e080 {
			compatible = "stericsson,db8500-gpio",
71
				"st,nomadik-gpio";
72 73
			reg =  <0x8012e080 0x80>;
			interrupts = <0 120 0x4>;
74 75
			interrupt-controller;
			#interrupt-cells = <2>;
76
			st,supports-sleepmode;
77
			gpio-controller;
78 79
			#gpio-cells = <2>;
			gpio-bank = <1>;
80 81 82 83
		};

		gpio2: gpio@8000e000 {
			compatible = "stericsson,db8500-gpio",
84
				"st,nomadik-gpio";
85 86
			reg =  <0x8000e000 0x80>;
			interrupts = <0 121 0x4>;
87 88
			interrupt-controller;
			#interrupt-cells = <2>;
89
			st,supports-sleepmode;
90
			gpio-controller;
91 92
			#gpio-cells = <2>;
			gpio-bank = <2>;
93 94 95 96
		};

		gpio3: gpio@8000e080 {
			compatible = "stericsson,db8500-gpio",
97
				"st,nomadik-gpio";
98 99
			reg =  <0x8000e080 0x80>;
			interrupts = <0 122 0x4>;
100 101
			interrupt-controller;
			#interrupt-cells = <2>;
102
			st,supports-sleepmode;
103
			gpio-controller;
104 105
			#gpio-cells = <2>;
			gpio-bank = <3>;
106 107 108 109
		};

		gpio4: gpio@8000e100 {
			compatible = "stericsson,db8500-gpio",
110
				"st,nomadik-gpio";
111 112
			reg =  <0x8000e100 0x80>;
			interrupts = <0 123 0x4>;
113 114
			interrupt-controller;
			#interrupt-cells = <2>;
115
			st,supports-sleepmode;
116
			gpio-controller;
117 118
			#gpio-cells = <2>;
			gpio-bank = <4>;
119 120 121 122
		};

		gpio5: gpio@8000e180 {
			compatible = "stericsson,db8500-gpio",
123
				"st,nomadik-gpio";
124 125
			reg =  <0x8000e180 0x80>;
			interrupts = <0 124 0x4>;
126 127
			interrupt-controller;
			#interrupt-cells = <2>;
128
			st,supports-sleepmode;
129
			gpio-controller;
130 131
			#gpio-cells = <2>;
			gpio-bank = <5>;
132 133 134 135
		};

		gpio6: gpio@8011e000 {
			compatible = "stericsson,db8500-gpio",
136
				"st,nomadik-gpio";
137 138
			reg =  <0x8011e000 0x80>;
			interrupts = <0 125 0x4>;
139 140
			interrupt-controller;
			#interrupt-cells = <2>;
141
			st,supports-sleepmode;
142
			gpio-controller;
143 144
			#gpio-cells = <2>;
			gpio-bank = <6>;
145 146 147 148
		};

		gpio7: gpio@8011e080 {
			compatible = "stericsson,db8500-gpio",
149
				"st,nomadik-gpio";
150 151
			reg =  <0x8011e080 0x80>;
			interrupts = <0 126 0x4>;
152 153
			interrupt-controller;
			#interrupt-cells = <2>;
154
			st,supports-sleepmode;
155
			gpio-controller;
156 157
			#gpio-cells = <2>;
			gpio-bank = <7>;
158 159 160 161
		};

		gpio8: gpio@a03fe000 {
			compatible = "stericsson,db8500-gpio",
162
				"st,nomadik-gpio";
163 164
			reg =  <0xa03fe000 0x80>;
			interrupts = <0 127 0x4>;
165 166
			interrupt-controller;
			#interrupt-cells = <2>;
167
			st,supports-sleepmode;
168
			gpio-controller;
169 170
			#gpio-cells = <2>;
			gpio-bank = <8>;
171 172
		};

173 174 175 176
		pinctrl {
			compatible = "stericsson,nmk_pinctrl";
		};

177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
		usb@a03e0000 {
			compatible = "stericsson,db8500-musb",
				"mentor,musb";
			reg = <0xa03e0000 0x10000>;
			interrupts = <0 23 0x4>;
		};

		dma-controller@801C0000 {
			compatible = "stericsson,db8500-dma40",
					"stericsson,dma40";
			reg = <0x801C0000 0x1000 0x40010000 0x800>;
			interrupts = <0 25 0x4>;
		};

		prcmu@80157000 {
			compatible = "stericsson,db8500-prcmu";
			reg = <0x80157000 0x1000>;
194
			interrupts = <0 47 0x4>;
195
			#address-cells = <1>;
196
			#size-cells = <1>;
197 198
			interrupt-controller;
			#interrupt-cells = <2>;
199 200
			ranges;

201
			prcmu-timer-4@80157450 {
202 203 204
				compatible = "stericsson,db8500-prcmu-timer-4";
				reg = <0x80157450 0xC>;
			};
205

206 207 208 209 210
			db8500-prcmu-regulators {
				compatible = "stericsson,db8500-prcmu-regulator";

				// DB8500_REGULATOR_VAPE
				db8500_vape_reg: db8500_vape {
211
					regulator-compatible = "db8500_vape";
212 213 214 215 216
					regulator-always-on;
				};

				// DB8500_REGULATOR_VARM
				db8500_varm_reg: db8500_varm {
217
					regulator-compatible = "db8500_varm";
218 219 220 221
				};

				// DB8500_REGULATOR_VMODEM
				db8500_vmodem_reg: db8500_vmodem {
222
					regulator-compatible = "db8500_vmodem";
223 224 225 226
				};

				// DB8500_REGULATOR_VPLL
				db8500_vpll_reg: db8500_vpll {
227
					regulator-compatible = "db8500_vpll";
228 229 230 231
				};

				// DB8500_REGULATOR_VSMPS1
				db8500_vsmps1_reg: db8500_vsmps1 {
232
					regulator-compatible = "db8500_vsmps1";
233 234 235 236
				};

				// DB8500_REGULATOR_VSMPS2
				db8500_vsmps2_reg: db8500_vsmps2 {
237
					regulator-compatible = "db8500_vsmps2";
238 239 240 241
				};

				// DB8500_REGULATOR_VSMPS3
				db8500_vsmps3_reg: db8500_vsmps3 {
242
					regulator-compatible = "db8500_vsmps3";
243 244 245 246
				};

				// DB8500_REGULATOR_VRF1
				db8500_vrf1_reg: db8500_vrf1 {
247
					regulator-compatible = "db8500_vrf1";
248 249 250 251
				};

				// DB8500_REGULATOR_SWITCH_SVAMMDSP
				db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
252
					regulator-compatible = "db8500_sva_mmdsp";
253 254 255 256
				};

				// DB8500_REGULATOR_SWITCH_SVAMMDSPRET
				db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
257
					regulator-compatible = "db8500_sva_mmdsp_ret";
258 259 260 261
				};

				// DB8500_REGULATOR_SWITCH_SVAPIPE
				db8500_sva_pipe_reg: db8500_sva_pipe {
262
					regulator-compatible = "db8500_sva_pipe";
263 264 265 266
				};

				// DB8500_REGULATOR_SWITCH_SIAMMDSP
				db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
267
					regulator-compatible = "db8500_sia_mmdsp";
268 269 270 271 272 273 274 275
				};

				// DB8500_REGULATOR_SWITCH_SIAMMDSPRET
				db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
				};

				// DB8500_REGULATOR_SWITCH_SIAPIPE
				db8500_sia_pipe_reg: db8500_sia_pipe {
276
					regulator-compatible = "db8500_sia_pipe";
277 278 279 280
				};

				// DB8500_REGULATOR_SWITCH_SGA
				db8500_sga_reg: db8500_sga {
281
					regulator-compatible = "db8500_sga";
282 283 284 285 286
					vin-supply = <&db8500_vape_reg>;
				};

				// DB8500_REGULATOR_SWITCH_B2R2_MCDE
				db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
287
					regulator-compatible = "db8500_b2r2_mcde";
288 289 290 291 292
					vin-supply = <&db8500_vape_reg>;
				};

				// DB8500_REGULATOR_SWITCH_ESRAM12
				db8500_esram12_reg: db8500_esram12 {
293
					regulator-compatible = "db8500_esram12";
294 295 296 297
				};

				// DB8500_REGULATOR_SWITCH_ESRAM12RET
				db8500_esram12_ret_reg: db8500_esram12_ret {
298
					regulator-compatible = "db8500_esram12_ret";
299 300 301 302
				};

				// DB8500_REGULATOR_SWITCH_ESRAM34
				db8500_esram34_reg: db8500_esram34 {
303
					regulator-compatible = "db8500_esram34";
304 305 306 307
				};

				// DB8500_REGULATOR_SWITCH_ESRAM34RET
				db8500_esram34_ret_reg: db8500_esram34_ret {
308
					regulator-compatible = "db8500_esram34_ret";
309 310 311
				};
			};

312 313 314
			ab8500@5 {
				compatible = "stericsson,ab8500";
				reg = <5>; /* mailbox 5 is i2c */
315
				interrupt-parent = <&intc>;
316
				interrupts = <0 40 0x4>;
317 318
				interrupt-controller;
				#interrupt-cells = <2>;
319

320 321 322 323 324 325 326
				ab8500-rtc {
					compatible = "stericsson,ab8500-rtc";
					interrupts = <17 0x4
					              18 0x4>;
					interrupt-names = "60S", "ALARM";
				};

327 328
				ab8500-gpadc {
					compatible = "stericsson,ab8500-gpadc";
329 330
					interrupts = <32 0x4
						      39 0x4>;
331 332 333 334
					interrupt-names = "HW_CONV_END", "SW_CONV_END";
					vddadc-supply = <&ab8500_ldo_tvout_reg>;
				};

335 336
				ab8500-usb {
					compatible = "stericsson,ab8500-usb";
337 338 339 340 341 342 343
					interrupts = < 90 0x4
						       96 0x4
						       14 0x4
						       15 0x4
						       79 0x4
						       74 0x4
						       75 0x4>;
344 345 346 347 348 349 350 351 352 353 354 355
					interrupt-names = "ID_WAKEUP_R",
							  "ID_WAKEUP_F",
							  "VBUS_DET_F",
							  "VBUS_DET_R",
							  "USB_LINK_STATUS",
							  "USB_ADP_PROBE_PLUG",
							  "USB_ADP_PROBE_UNPLUG";
					vddulpivio18-supply = <&ab8500_ldo_initcore_reg>;
					v-ape-supply = <&db8500_vape_reg>;
					musb_1v8-supply = <&db8500_vsmps2_reg>;
				};

356
				ab8500-ponkey {
357
					compatible = "stericsson,ab8500-poweron-key";
358 359
					interrupts = <6 0x4
						      7 0x4>;
360 361 362
					interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
				};

363 364 365 366
				ab8500-sysctrl {
					compatible = "stericsson,ab8500-sysctrl";
				};

367 368 369 370
				ab8500-pwm {
					compatible = "stericsson,ab8500-pwm";
				};

371 372 373
				ab8500-debugfs {
					compatible = "stericsson,ab8500-debug";
				};
374

375 376 377 378 379 380
				codec: ab8500-codec {
					compatible = "stericsson,ab8500-codec";

					stericsson,earpeice-cmv = <950>; /* Units in mV. */
				};

381 382 383 384 385
				ab8500-regulators {
					compatible = "stericsson,ab8500-regulator";

					// supplies to the display/camera
					ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
386
						regulator-compatible = "ab8500_ldo_aux1";
387 388 389 390 391 392 393 394 395
						regulator-min-microvolt = <2500000>;
						regulator-max-microvolt = <2900000>;
						regulator-boot-on;
						/* BUG: If turned off MMC will be affected. */
						regulator-always-on;
					};

					// supplies to the on-board eMMC
					ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
396
						regulator-compatible = "ab8500_ldo_aux2";
397 398 399 400 401 402
						regulator-min-microvolt = <1100000>;
						regulator-max-microvolt = <3300000>;
					};

					// supply for VAUX3; SDcard slots
					ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
403
						regulator-compatible = "ab8500_ldo_aux3";
404 405 406 407 408 409
						regulator-min-microvolt = <1100000>;
						regulator-max-microvolt = <3300000>;
					};

					// supply for v-intcore12; VINTCORE12 LDO
					ab8500_ldo_initcore_reg: ab8500_ldo_initcore {
410
						regulator-compatible = "ab8500_ldo_initcore";
411 412 413 414
					};

					// supply for tvout; gpadc; TVOUT LDO
					ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
415
						regulator-compatible = "ab8500_ldo_tvout";
416 417 418 419
					};

					// supply for ab8500-usb; USB LDO
					ab8500_ldo_usb_reg: ab8500_ldo_usb {
420
						regulator-compatible = "ab8500_ldo_usb";
421 422 423 424
					};

					// supply for ab8500-vaudio; VAUDIO LDO
					ab8500_ldo_audio_reg: ab8500_ldo_audio {
425
						regulator-compatible = "ab8500_ldo_audio";
426 427 428 429
					};

					// supply for v-anamic1 VAMic1-LDO
					ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
430
						regulator-compatible = "ab8500_ldo_anamic1";
431 432 433 434
					};

					// supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
					ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
435
						regulator-compatible = "ab8500_ldo_amamic2";
436 437 438 439
					};

					// supply for v-dmic; VDMIC LDO
					ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
440
						regulator-compatible = "ab8500_ldo_dmic";
441 442 443 444
					};

					// supply for U8500 CSI/DSI; VANA LDO
					ab8500_ldo_ana_reg: ab8500_ldo_ana {
445
						regulator-compatible = "ab8500_ldo_ana";
446 447
					};
				};
448 449 450 451
			};
		};

		i2c@80004000 {
452
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
453 454
			reg = <0x80004000 0x1000>;
			interrupts = <0 21 0x4>;
455 456
			arm,primecell-periphid = <0x180024>;

457 458
			#address-cells = <1>;
			#size-cells = <0>;
459 460 461
			v-i2c-supply = <&db8500_vape_reg>;

			clock-frequency = <400000>;
462 463 464
		};

		i2c@80122000 {
465
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
466 467
			reg = <0x80122000 0x1000>;
			interrupts = <0 22 0x4>;
468 469
			arm,primecell-periphid = <0x180024>;

470 471
			#address-cells = <1>;
			#size-cells = <0>;
472 473 474
			v-i2c-supply = <&db8500_vape_reg>;

			clock-frequency = <400000>;
475 476 477
		};

		i2c@80128000 {
478
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
479 480
			reg = <0x80128000 0x1000>;
			interrupts = <0 55 0x4>;
481 482
			arm,primecell-periphid = <0x180024>;

483 484
			#address-cells = <1>;
			#size-cells = <0>;
485 486 487
			v-i2c-supply = <&db8500_vape_reg>;

			clock-frequency = <400000>;
488 489 490
		};

		i2c@80110000 {
491
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
492 493
			reg = <0x80110000 0x1000>;
			interrupts = <0 12 0x4>;
494 495
			arm,primecell-periphid = <0x180024>;

496 497
			#address-cells = <1>;
			#size-cells = <0>;
498 499 500
			v-i2c-supply = <&db8500_vape_reg>;

			clock-frequency = <400000>;
501 502 503
		};

		i2c@8012a000 {
504
			compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
505 506
			reg = <0x8012a000 0x1000>;
			interrupts = <0 51 0x4>;
507 508
			arm,primecell-periphid = <0x180024>;

509 510
			#address-cells = <1>;
			#size-cells = <0>;
511 512 513
			v-i2c-supply = <&db8500_vape_reg>;

			clock-frequency = <400000>;
514 515 516 517
		};

		ssp@80002000 {
			compatible = "arm,pl022", "arm,primecell";
518
			reg = <0x80002000 0x1000>;
519 520 521 522
			interrupts = <0 14 0x4>;
			#address-cells = <1>;
			#size-cells = <0>;
			status = "disabled";
523 524

			// Add one of these for each child device
525 526
			cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
				    &gpio6 22 0x4 &gpio7 0 0x4>;
527

528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548
		};

		uart@80120000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x80120000 0x1000>;
			interrupts = <0 11 0x4>;
			status = "disabled";
		};
		uart@80121000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x80121000 0x1000>;
			interrupts = <0 19 0x4>;
			status = "disabled";
		};
		uart@80007000 {
			compatible = "arm,pl011", "arm,primecell";
			reg = <0x80007000 0x1000>;
			interrupts = <0 26 0x4>;
			status = "disabled";
		};

549
		sdi0_per1@80126000 {
550 551 552 553 554
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80126000 0x1000>;
			interrupts = <0 60 0x4>;
			status = "disabled";
		};
555

556
		sdi1_per2@80118000 {
557 558 559 560 561
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80118000 0x1000>;
			interrupts = <0 50 0x4>;
			status = "disabled";
		};
562

563
		sdi2_per3@80005000 {
564 565 566 567 568
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80005000 0x1000>;
			interrupts = <0 41 0x4>;
			status = "disabled";
		};
569

570
		sdi3_per2@80119000 {
571 572 573 574 575
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80119000 0x1000>;
			interrupts = <0 59 0x4>;
			status = "disabled";
		};
576

577
		sdi4_per2@80114000 {
578 579 580 581 582
			compatible = "arm,pl18x", "arm,primecell";
			reg = <0x80114000 0x1000>;
			interrupts = <0 99 0x4>;
			status = "disabled";
		};
583

584
		sdi5_per3@80008000 {
585
			compatible = "arm,pl18x", "arm,primecell";
586
			reg = <0x80008000 0x1000>;
587 588 589
			interrupts = <0 100 0x4>;
			status = "disabled";
		};
590

591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623
		msp0: msp@80123000 {
			compatible = "stericsson,ux500-msp-i2s";
			reg = <0x80123000 0x1000>;
			interrupts = <0 31 0x4>;
			v-ape-supply = <&db8500_vape_reg>;
			status = "disabled";
		};

		msp1: msp@80124000 {
			compatible = "stericsson,ux500-msp-i2s";
			reg = <0x80124000 0x1000>;
			interrupts = <0 62 0x4>;
			v-ape-supply = <&db8500_vape_reg>;
			status = "disabled";
		};

		// HDMI sound
		msp2: msp@80117000 {
			compatible = "stericsson,ux500-msp-i2s";
			reg = <0x80117000 0x1000>;
			interrupts = <0 98 0x4>;
			v-ape-supply = <&db8500_vape_reg>;
			status = "disabled";
		};

		msp3: msp@80125000 {
			compatible = "stericsson,ux500-msp-i2s";
			reg = <0x80125000 0x1000>;
			interrupts = <0 62 0x4>;
			v-ape-supply = <&db8500_vape_reg>;
			status = "disabled";
		};

624 625 626 627 628 629 630 631
		external-bus@50000000 {
			compatible = "simple-bus";
			reg = <0x50000000 0x4000000>;
			#address-cells = <1>;
			#size-cells = <1>;
			ranges = <0 0x50000000 0x4000000>;
			status = "disabled";
		};
632 633
	};
};