]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - arch/arm/boot/dts/dbx5x0.dtsi
Merge remote-tracking branch 'regulator/topic/palmas' into v3.9-rc8
[mirror_ubuntu-hirsute-kernel.git] / arch / arm / boot / dts / dbx5x0.dtsi
1 /*
2 * Copyright 2012 Linaro Ltd
3 *
4 * The code contained herein is licensed under the GNU General Public
5 * License. You may obtain a copy of the GNU General Public License
6 * Version 2 or later at the following locations:
7 *
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
10 */
11
12 /include/ "skeleton.dtsi"
13
14 / {
15 soc-u9500 {
16 #address-cells = <1>;
17 #size-cells = <1>;
18 compatible = "stericsson,db8500";
19 interrupt-parent = <&intc>;
20 ranges;
21
22 intc: interrupt-controller@a0411000 {
23 compatible = "arm,cortex-a9-gic";
24 #interrupt-cells = <3>;
25 #address-cells = <1>;
26 interrupt-controller;
27 reg = <0xa0411000 0x1000>,
28 <0xa0410100 0x100>;
29 };
30
31 L2: l2-cache {
32 compatible = "arm,pl310-cache";
33 reg = <0xa0412000 0x1000>;
34 interrupts = <0 13 4>;
35 cache-unified;
36 cache-level = <2>;
37 };
38
39 pmu {
40 compatible = "arm,cortex-a9-pmu";
41 interrupts = <0 7 0x4>;
42 };
43
44 timer@a0410600 {
45 compatible = "arm,cortex-a9-twd-timer";
46 reg = <0xa0410600 0x20>;
47 interrupts = <1 13 0x304>;
48 };
49
50 rtc@80154000 {
51 compatible = "arm,rtc-pl031", "arm,primecell";
52 reg = <0x80154000 0x1000>;
53 interrupts = <0 18 0x4>;
54 };
55
56 gpio0: gpio@8012e000 {
57 compatible = "stericsson,db8500-gpio",
58 "st,nomadik-gpio";
59 reg = <0x8012e000 0x80>;
60 interrupts = <0 119 0x4>;
61 interrupt-controller;
62 #interrupt-cells = <2>;
63 st,supports-sleepmode;
64 gpio-controller;
65 #gpio-cells = <2>;
66 gpio-bank = <0>;
67 };
68
69 gpio1: gpio@8012e080 {
70 compatible = "stericsson,db8500-gpio",
71 "st,nomadik-gpio";
72 reg = <0x8012e080 0x80>;
73 interrupts = <0 120 0x4>;
74 interrupt-controller;
75 #interrupt-cells = <2>;
76 st,supports-sleepmode;
77 gpio-controller;
78 #gpio-cells = <2>;
79 gpio-bank = <1>;
80 };
81
82 gpio2: gpio@8000e000 {
83 compatible = "stericsson,db8500-gpio",
84 "st,nomadik-gpio";
85 reg = <0x8000e000 0x80>;
86 interrupts = <0 121 0x4>;
87 interrupt-controller;
88 #interrupt-cells = <2>;
89 st,supports-sleepmode;
90 gpio-controller;
91 #gpio-cells = <2>;
92 gpio-bank = <2>;
93 };
94
95 gpio3: gpio@8000e080 {
96 compatible = "stericsson,db8500-gpio",
97 "st,nomadik-gpio";
98 reg = <0x8000e080 0x80>;
99 interrupts = <0 122 0x4>;
100 interrupt-controller;
101 #interrupt-cells = <2>;
102 st,supports-sleepmode;
103 gpio-controller;
104 #gpio-cells = <2>;
105 gpio-bank = <3>;
106 };
107
108 gpio4: gpio@8000e100 {
109 compatible = "stericsson,db8500-gpio",
110 "st,nomadik-gpio";
111 reg = <0x8000e100 0x80>;
112 interrupts = <0 123 0x4>;
113 interrupt-controller;
114 #interrupt-cells = <2>;
115 st,supports-sleepmode;
116 gpio-controller;
117 #gpio-cells = <2>;
118 gpio-bank = <4>;
119 };
120
121 gpio5: gpio@8000e180 {
122 compatible = "stericsson,db8500-gpio",
123 "st,nomadik-gpio";
124 reg = <0x8000e180 0x80>;
125 interrupts = <0 124 0x4>;
126 interrupt-controller;
127 #interrupt-cells = <2>;
128 st,supports-sleepmode;
129 gpio-controller;
130 #gpio-cells = <2>;
131 gpio-bank = <5>;
132 };
133
134 gpio6: gpio@8011e000 {
135 compatible = "stericsson,db8500-gpio",
136 "st,nomadik-gpio";
137 reg = <0x8011e000 0x80>;
138 interrupts = <0 125 0x4>;
139 interrupt-controller;
140 #interrupt-cells = <2>;
141 st,supports-sleepmode;
142 gpio-controller;
143 #gpio-cells = <2>;
144 gpio-bank = <6>;
145 };
146
147 gpio7: gpio@8011e080 {
148 compatible = "stericsson,db8500-gpio",
149 "st,nomadik-gpio";
150 reg = <0x8011e080 0x80>;
151 interrupts = <0 126 0x4>;
152 interrupt-controller;
153 #interrupt-cells = <2>;
154 st,supports-sleepmode;
155 gpio-controller;
156 #gpio-cells = <2>;
157 gpio-bank = <7>;
158 };
159
160 gpio8: gpio@a03fe000 {
161 compatible = "stericsson,db8500-gpio",
162 "st,nomadik-gpio";
163 reg = <0xa03fe000 0x80>;
164 interrupts = <0 127 0x4>;
165 interrupt-controller;
166 #interrupt-cells = <2>;
167 st,supports-sleepmode;
168 gpio-controller;
169 #gpio-cells = <2>;
170 gpio-bank = <8>;
171 };
172
173 pinctrl {
174 compatible = "stericsson,nmk-pinctrl";
175 prcm = <&prcmu>;
176 };
177
178 usb@a03e0000 {
179 compatible = "stericsson,db8500-musb",
180 "mentor,musb";
181 reg = <0xa03e0000 0x10000>;
182 interrupts = <0 23 0x4>;
183 };
184
185 dma-controller@801C0000 {
186 compatible = "stericsson,db8500-dma40",
187 "stericsson,dma40";
188 reg = <0x801C0000 0x1000 0x40010000 0x800>;
189 interrupts = <0 25 0x4>;
190 };
191
192 prcmu: prcmu@80157000 {
193 compatible = "stericsson,db8500-prcmu";
194 reg = <0x80157000 0x1000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
195 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
196 interrupts = <0 47 0x4>;
197 #address-cells = <1>;
198 #size-cells = <1>;
199 interrupt-controller;
200 #interrupt-cells = <2>;
201 ranges;
202
203 prcmu-timer-4@80157450 {
204 compatible = "stericsson,db8500-prcmu-timer-4";
205 reg = <0x80157450 0xC>;
206 };
207
208 thermal@801573c0 {
209 compatible = "stericsson,db8500-thermal";
210 reg = <0x801573c0 0x40>;
211 interrupts = <21 0x4>, <22 0x4>;
212 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
213 status = "disabled";
214 };
215
216 db8500-prcmu-regulators {
217 compatible = "stericsson,db8500-prcmu-regulator";
218
219 // DB8500_REGULATOR_VAPE
220 db8500_vape_reg: db8500_vape {
221 regulator-compatible = "db8500_vape";
222 regulator-always-on;
223 };
224
225 // DB8500_REGULATOR_VARM
226 db8500_varm_reg: db8500_varm {
227 regulator-compatible = "db8500_varm";
228 };
229
230 // DB8500_REGULATOR_VMODEM
231 db8500_vmodem_reg: db8500_vmodem {
232 regulator-compatible = "db8500_vmodem";
233 };
234
235 // DB8500_REGULATOR_VPLL
236 db8500_vpll_reg: db8500_vpll {
237 regulator-compatible = "db8500_vpll";
238 };
239
240 // DB8500_REGULATOR_VSMPS1
241 db8500_vsmps1_reg: db8500_vsmps1 {
242 regulator-compatible = "db8500_vsmps1";
243 };
244
245 // DB8500_REGULATOR_VSMPS2
246 db8500_vsmps2_reg: db8500_vsmps2 {
247 regulator-compatible = "db8500_vsmps2";
248 };
249
250 // DB8500_REGULATOR_VSMPS3
251 db8500_vsmps3_reg: db8500_vsmps3 {
252 regulator-compatible = "db8500_vsmps3";
253 };
254
255 // DB8500_REGULATOR_VRF1
256 db8500_vrf1_reg: db8500_vrf1 {
257 regulator-compatible = "db8500_vrf1";
258 };
259
260 // DB8500_REGULATOR_SWITCH_SVAMMDSP
261 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
262 regulator-compatible = "db8500_sva_mmdsp";
263 };
264
265 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
266 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
267 regulator-compatible = "db8500_sva_mmdsp_ret";
268 };
269
270 // DB8500_REGULATOR_SWITCH_SVAPIPE
271 db8500_sva_pipe_reg: db8500_sva_pipe {
272 regulator-compatible = "db8500_sva_pipe";
273 };
274
275 // DB8500_REGULATOR_SWITCH_SIAMMDSP
276 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
277 regulator-compatible = "db8500_sia_mmdsp";
278 };
279
280 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
281 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
282 };
283
284 // DB8500_REGULATOR_SWITCH_SIAPIPE
285 db8500_sia_pipe_reg: db8500_sia_pipe {
286 regulator-compatible = "db8500_sia_pipe";
287 };
288
289 // DB8500_REGULATOR_SWITCH_SGA
290 db8500_sga_reg: db8500_sga {
291 regulator-compatible = "db8500_sga";
292 vin-supply = <&db8500_vape_reg>;
293 };
294
295 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
296 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
297 regulator-compatible = "db8500_b2r2_mcde";
298 vin-supply = <&db8500_vape_reg>;
299 };
300
301 // DB8500_REGULATOR_SWITCH_ESRAM12
302 db8500_esram12_reg: db8500_esram12 {
303 regulator-compatible = "db8500_esram12";
304 };
305
306 // DB8500_REGULATOR_SWITCH_ESRAM12RET
307 db8500_esram12_ret_reg: db8500_esram12_ret {
308 regulator-compatible = "db8500_esram12_ret";
309 };
310
311 // DB8500_REGULATOR_SWITCH_ESRAM34
312 db8500_esram34_reg: db8500_esram34 {
313 regulator-compatible = "db8500_esram34";
314 };
315
316 // DB8500_REGULATOR_SWITCH_ESRAM34RET
317 db8500_esram34_ret_reg: db8500_esram34_ret {
318 regulator-compatible = "db8500_esram34_ret";
319 };
320 };
321
322 ab8500 {
323 compatible = "stericsson,ab8500";
324 interrupt-parent = <&intc>;
325 interrupts = <0 40 0x4>;
326 interrupt-controller;
327 #interrupt-cells = <2>;
328
329 ab8500-rtc {
330 compatible = "stericsson,ab8500-rtc";
331 interrupts = <17 0x4
332 18 0x4>;
333 interrupt-names = "60S", "ALARM";
334 };
335
336 ab8500-gpadc {
337 compatible = "stericsson,ab8500-gpadc";
338 interrupts = <32 0x4
339 39 0x4>;
340 interrupt-names = "HW_CONV_END", "SW_CONV_END";
341 vddadc-supply = <&ab8500_ldo_tvout_reg>;
342 };
343
344 ab8500_battery: ab8500_battery {
345 stericsson,battery-type = "LIPO";
346 thermistor-on-batctrl;
347 };
348
349 ab8500_fg {
350 compatible = "stericsson,ab8500-fg";
351 battery = <&ab8500_battery>;
352 };
353
354 ab8500_btemp {
355 compatible = "stericsson,ab8500-btemp";
356 battery = <&ab8500_battery>;
357 };
358
359 ab8500_charger {
360 compatible = "stericsson,ab8500-charger";
361 battery = <&ab8500_battery>;
362 vddadc-supply = <&ab8500_ldo_tvout_reg>;
363 };
364
365 ab8500_chargalg {
366 compatible = "stericsson,ab8500-chargalg";
367 battery = <&ab8500_battery>;
368 };
369
370 ab8500_usb {
371 compatible = "stericsson,ab8500-usb";
372 interrupts = < 90 0x4
373 96 0x4
374 14 0x4
375 15 0x4
376 79 0x4
377 74 0x4
378 75 0x4>;
379 interrupt-names = "ID_WAKEUP_R",
380 "ID_WAKEUP_F",
381 "VBUS_DET_F",
382 "VBUS_DET_R",
383 "USB_LINK_STATUS",
384 "USB_ADP_PROBE_PLUG",
385 "USB_ADP_PROBE_UNPLUG";
386 vddulpivio18-supply = <&ab8500_ldo_initcore_reg>;
387 v-ape-supply = <&db8500_vape_reg>;
388 musb_1v8-supply = <&db8500_vsmps2_reg>;
389 };
390
391 ab8500-ponkey {
392 compatible = "stericsson,ab8500-poweron-key";
393 interrupts = <6 0x4
394 7 0x4>;
395 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
396 };
397
398 ab8500-sysctrl {
399 compatible = "stericsson,ab8500-sysctrl";
400 };
401
402 ab8500-pwm {
403 compatible = "stericsson,ab8500-pwm";
404 };
405
406 ab8500-debugfs {
407 compatible = "stericsson,ab8500-debug";
408 };
409
410 codec: ab8500-codec {
411 compatible = "stericsson,ab8500-codec";
412
413 stericsson,earpeice-cmv = <950>; /* Units in mV. */
414 };
415
416 ab8500-regulators {
417 compatible = "stericsson,ab8500-regulator";
418
419 // supplies to the display/camera
420 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
421 regulator-compatible = "ab8500_ldo_aux1";
422 regulator-min-microvolt = <2500000>;
423 regulator-max-microvolt = <2900000>;
424 regulator-boot-on;
425 /* BUG: If turned off MMC will be affected. */
426 regulator-always-on;
427 };
428
429 // supplies to the on-board eMMC
430 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
431 regulator-compatible = "ab8500_ldo_aux2";
432 regulator-min-microvolt = <1100000>;
433 regulator-max-microvolt = <3300000>;
434 };
435
436 // supply for VAUX3; SDcard slots
437 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
438 regulator-compatible = "ab8500_ldo_aux3";
439 regulator-min-microvolt = <1100000>;
440 regulator-max-microvolt = <3300000>;
441 };
442
443 // supply for v-intcore12; VINTCORE12 LDO
444 ab8500_ldo_initcore_reg: ab8500_ldo_initcore {
445 regulator-compatible = "ab8500_ldo_initcore";
446 };
447
448 // supply for tvout; gpadc; TVOUT LDO
449 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
450 regulator-compatible = "ab8500_ldo_tvout";
451 };
452
453 // supply for ab8500-usb; USB LDO
454 ab8500_ldo_usb_reg: ab8500_ldo_usb {
455 regulator-compatible = "ab8500_ldo_usb";
456 };
457
458 // supply for ab8500-vaudio; VAUDIO LDO
459 ab8500_ldo_audio_reg: ab8500_ldo_audio {
460 regulator-compatible = "ab8500_ldo_audio";
461 };
462
463 // supply for v-anamic1 VAMic1-LDO
464 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
465 regulator-compatible = "ab8500_ldo_anamic1";
466 };
467
468 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
469 ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
470 regulator-compatible = "ab8500_ldo_amamic2";
471 };
472
473 // supply for v-dmic; VDMIC LDO
474 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
475 regulator-compatible = "ab8500_ldo_dmic";
476 };
477
478 // supply for U8500 CSI/DSI; VANA LDO
479 ab8500_ldo_ana_reg: ab8500_ldo_ana {
480 regulator-compatible = "ab8500_ldo_ana";
481 };
482 };
483 };
484 };
485
486 i2c@80004000 {
487 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
488 reg = <0x80004000 0x1000>;
489 interrupts = <0 21 0x4>;
490 arm,primecell-periphid = <0x180024>;
491
492 #address-cells = <1>;
493 #size-cells = <0>;
494 v-i2c-supply = <&db8500_vape_reg>;
495
496 clock-frequency = <400000>;
497 };
498
499 i2c@80122000 {
500 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
501 reg = <0x80122000 0x1000>;
502 interrupts = <0 22 0x4>;
503 arm,primecell-periphid = <0x180024>;
504
505 #address-cells = <1>;
506 #size-cells = <0>;
507 v-i2c-supply = <&db8500_vape_reg>;
508
509 clock-frequency = <400000>;
510 };
511
512 i2c@80128000 {
513 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
514 reg = <0x80128000 0x1000>;
515 interrupts = <0 55 0x4>;
516 arm,primecell-periphid = <0x180024>;
517
518 #address-cells = <1>;
519 #size-cells = <0>;
520 v-i2c-supply = <&db8500_vape_reg>;
521
522 clock-frequency = <400000>;
523 };
524
525 i2c@80110000 {
526 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
527 reg = <0x80110000 0x1000>;
528 interrupts = <0 12 0x4>;
529 arm,primecell-periphid = <0x180024>;
530
531 #address-cells = <1>;
532 #size-cells = <0>;
533 v-i2c-supply = <&db8500_vape_reg>;
534
535 clock-frequency = <400000>;
536 };
537
538 i2c@8012a000 {
539 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
540 reg = <0x8012a000 0x1000>;
541 interrupts = <0 51 0x4>;
542 arm,primecell-periphid = <0x180024>;
543
544 #address-cells = <1>;
545 #size-cells = <0>;
546 v-i2c-supply = <&db8500_vape_reg>;
547
548 clock-frequency = <400000>;
549 };
550
551 ssp@80002000 {
552 compatible = "arm,pl022", "arm,primecell";
553 reg = <0x80002000 0x1000>;
554 interrupts = <0 14 0x4>;
555 #address-cells = <1>;
556 #size-cells = <0>;
557 status = "disabled";
558
559 // Add one of these for each child device
560 cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
561 &gpio6 22 0x4 &gpio7 0 0x4>;
562
563 };
564
565 uart@80120000 {
566 compatible = "arm,pl011", "arm,primecell";
567 reg = <0x80120000 0x1000>;
568 interrupts = <0 11 0x4>;
569 status = "disabled";
570 };
571 uart@80121000 {
572 compatible = "arm,pl011", "arm,primecell";
573 reg = <0x80121000 0x1000>;
574 interrupts = <0 19 0x4>;
575 status = "disabled";
576 };
577 uart@80007000 {
578 compatible = "arm,pl011", "arm,primecell";
579 reg = <0x80007000 0x1000>;
580 interrupts = <0 26 0x4>;
581 status = "disabled";
582 };
583
584 sdi0_per1@80126000 {
585 compatible = "arm,pl18x", "arm,primecell";
586 reg = <0x80126000 0x1000>;
587 interrupts = <0 60 0x4>;
588 status = "disabled";
589 };
590
591 sdi1_per2@80118000 {
592 compatible = "arm,pl18x", "arm,primecell";
593 reg = <0x80118000 0x1000>;
594 interrupts = <0 50 0x4>;
595 status = "disabled";
596 };
597
598 sdi2_per3@80005000 {
599 compatible = "arm,pl18x", "arm,primecell";
600 reg = <0x80005000 0x1000>;
601 interrupts = <0 41 0x4>;
602 status = "disabled";
603 };
604
605 sdi3_per2@80119000 {
606 compatible = "arm,pl18x", "arm,primecell";
607 reg = <0x80119000 0x1000>;
608 interrupts = <0 59 0x4>;
609 status = "disabled";
610 };
611
612 sdi4_per2@80114000 {
613 compatible = "arm,pl18x", "arm,primecell";
614 reg = <0x80114000 0x1000>;
615 interrupts = <0 99 0x4>;
616 status = "disabled";
617 };
618
619 sdi5_per3@80008000 {
620 compatible = "arm,pl18x", "arm,primecell";
621 reg = <0x80008000 0x1000>;
622 interrupts = <0 100 0x4>;
623 status = "disabled";
624 };
625
626 msp0: msp@80123000 {
627 compatible = "stericsson,ux500-msp-i2s";
628 reg = <0x80123000 0x1000>;
629 interrupts = <0 31 0x4>;
630 v-ape-supply = <&db8500_vape_reg>;
631 status = "disabled";
632 };
633
634 msp1: msp@80124000 {
635 compatible = "stericsson,ux500-msp-i2s";
636 reg = <0x80124000 0x1000>;
637 interrupts = <0 62 0x4>;
638 v-ape-supply = <&db8500_vape_reg>;
639 status = "disabled";
640 };
641
642 // HDMI sound
643 msp2: msp@80117000 {
644 compatible = "stericsson,ux500-msp-i2s";
645 reg = <0x80117000 0x1000>;
646 interrupts = <0 98 0x4>;
647 v-ape-supply = <&db8500_vape_reg>;
648 status = "disabled";
649 };
650
651 msp3: msp@80125000 {
652 compatible = "stericsson,ux500-msp-i2s";
653 reg = <0x80125000 0x1000>;
654 interrupts = <0 62 0x4>;
655 v-ape-supply = <&db8500_vape_reg>;
656 status = "disabled";
657 };
658
659 external-bus@50000000 {
660 compatible = "simple-bus";
661 reg = <0x50000000 0x4000000>;
662 #address-cells = <1>;
663 #size-cells = <1>;
664 ranges = <0 0x50000000 0x4000000>;
665 status = "disabled";
666 };
667
668 cpufreq-cooling {
669 compatible = "stericsson,db8500-cpufreq-cooling";
670 status = "disabled";
671 };
672
673 vmmci: regulator-gpio {
674 compatible = "regulator-gpio";
675
676 regulator-min-microvolt = <1800000>;
677 regulator-max-microvolt = <2600000>;
678 regulator-name = "mmci-reg";
679 regulator-type = "voltage";
680
681 states = <1800000 0x1
682 2900000 0x0>;
683
684 status = "disabled";
685 };
686 };
687 };