2 * Copyright 2012 Linaro Ltd
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:
8 * http://www.opensource.org/licenses/gpl-license.html
9 * http://www.gnu.org/copyleft/gpl.html
12 #include <dt-bindings/interrupt-controller/irq.h>
13 #include "skeleton.dtsi"
19 compatible = "stericsson,db8500";
20 interrupt-parent = <&intc>;
23 intc: interrupt-controller@a0411000 {
24 compatible = "arm,cortex-a9-gic";
25 #interrupt-cells = <3>;
28 reg = <0xa0411000 0x1000>,
33 compatible = "arm,pl310-cache";
34 reg = <0xa0412000 0x1000>;
35 interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
41 compatible = "arm,cortex-a9-pmu";
42 interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
46 compatible = "arm,cortex-a9-twd-timer";
47 reg = <0xa0410600 0x20>;
48 interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
52 compatible = "arm,rtc-pl031", "arm,primecell";
53 reg = <0x80154000 0x1000>;
54 interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
57 gpio0: gpio@8012e000 {
58 compatible = "stericsson,db8500-gpio",
60 reg = <0x8012e000 0x80>;
61 interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
63 #interrupt-cells = <2>;
64 st,supports-sleepmode;
70 gpio1: gpio@8012e080 {
71 compatible = "stericsson,db8500-gpio",
73 reg = <0x8012e080 0x80>;
74 interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
76 #interrupt-cells = <2>;
77 st,supports-sleepmode;
83 gpio2: gpio@8000e000 {
84 compatible = "stericsson,db8500-gpio",
86 reg = <0x8000e000 0x80>;
87 interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>;
89 #interrupt-cells = <2>;
90 st,supports-sleepmode;
96 gpio3: gpio@8000e080 {
97 compatible = "stericsson,db8500-gpio",
99 reg = <0x8000e080 0x80>;
100 interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>;
101 interrupt-controller;
102 #interrupt-cells = <2>;
103 st,supports-sleepmode;
109 gpio4: gpio@8000e100 {
110 compatible = "stericsson,db8500-gpio",
112 reg = <0x8000e100 0x80>;
113 interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
114 interrupt-controller;
115 #interrupt-cells = <2>;
116 st,supports-sleepmode;
122 gpio5: gpio@8000e180 {
123 compatible = "stericsson,db8500-gpio",
125 reg = <0x8000e180 0x80>;
126 interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
127 interrupt-controller;
128 #interrupt-cells = <2>;
129 st,supports-sleepmode;
135 gpio6: gpio@8011e000 {
136 compatible = "stericsson,db8500-gpio",
138 reg = <0x8011e000 0x80>;
139 interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
140 interrupt-controller;
141 #interrupt-cells = <2>;
142 st,supports-sleepmode;
148 gpio7: gpio@8011e080 {
149 compatible = "stericsson,db8500-gpio",
151 reg = <0x8011e080 0x80>;
152 interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
153 interrupt-controller;
154 #interrupt-cells = <2>;
155 st,supports-sleepmode;
161 gpio8: gpio@a03fe000 {
162 compatible = "stericsson,db8500-gpio",
164 reg = <0xa03fe000 0x80>;
165 interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>;
166 interrupt-controller;
167 #interrupt-cells = <2>;
168 st,supports-sleepmode;
175 compatible = "stericsson,db8500-pinctrl";
180 compatible = "stericsson,db8500-musb",
182 reg = <0xa03e0000 0x10000>;
183 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
184 interrupt-names = "mc";
188 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
189 <&dma 38 0 0x0>, /* Logical - MemToDev */
190 <&dma 37 0 0x2>, /* Logical - DevToMem */
191 <&dma 37 0 0x0>, /* Logical - MemToDev */
192 <&dma 36 0 0x2>, /* Logical - DevToMem */
193 <&dma 36 0 0x0>, /* Logical - MemToDev */
194 <&dma 19 0 0x2>, /* Logical - DevToMem */
195 <&dma 19 0 0x0>, /* Logical - MemToDev */
196 <&dma 18 0 0x2>, /* Logical - DevToMem */
197 <&dma 18 0 0x0>, /* Logical - MemToDev */
198 <&dma 17 0 0x2>, /* Logical - DevToMem */
199 <&dma 17 0 0x0>, /* Logical - MemToDev */
200 <&dma 16 0 0x2>, /* Logical - DevToMem */
201 <&dma 16 0 0x0>, /* Logical - MemToDev */
202 <&dma 39 0 0x2>, /* Logical - DevToMem */
203 <&dma 39 0 0x0>; /* Logical - MemToDev */
205 dma-names = "iep_1_9", "oep_1_9",
206 "iep_2_10", "oep_2_10",
207 "iep_3_11", "oep_3_11",
208 "iep_4_12", "oep_4_12",
209 "iep_5_13", "oep_5_13",
210 "iep_6_14", "oep_6_14",
211 "iep_7_15", "oep_7_15",
215 dma: dma-controller@801C0000 {
216 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
217 reg = <0x801C0000 0x1000 0x40010000 0x800>;
218 reg-names = "base", "lcpa";
219 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
222 memcpy-channels = <56 57 58 59 60>;
225 prcmu: prcmu@80157000 {
226 compatible = "stericsson,db8500-prcmu";
227 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
228 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
229 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
230 #address-cells = <1>;
232 interrupt-controller;
233 #interrupt-cells = <2>;
236 prcmu-timer-4@80157450 {
237 compatible = "stericsson,db8500-prcmu-timer-4";
238 reg = <0x80157450 0xC>;
242 compatible = "stericsson,db8500-thermal";
243 reg = <0x801573c0 0x40>;
244 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
245 <22 IRQ_TYPE_LEVEL_HIGH>;
246 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
250 db8500-prcmu-regulators {
251 compatible = "stericsson,db8500-prcmu-regulator";
253 // DB8500_REGULATOR_VAPE
254 db8500_vape_reg: db8500_vape {
255 regulator-compatible = "db8500_vape";
259 // DB8500_REGULATOR_VARM
260 db8500_varm_reg: db8500_varm {
261 regulator-compatible = "db8500_varm";
264 // DB8500_REGULATOR_VMODEM
265 db8500_vmodem_reg: db8500_vmodem {
266 regulator-compatible = "db8500_vmodem";
269 // DB8500_REGULATOR_VPLL
270 db8500_vpll_reg: db8500_vpll {
271 regulator-compatible = "db8500_vpll";
274 // DB8500_REGULATOR_VSMPS1
275 db8500_vsmps1_reg: db8500_vsmps1 {
276 regulator-compatible = "db8500_vsmps1";
279 // DB8500_REGULATOR_VSMPS2
280 db8500_vsmps2_reg: db8500_vsmps2 {
281 regulator-compatible = "db8500_vsmps2";
284 // DB8500_REGULATOR_VSMPS3
285 db8500_vsmps3_reg: db8500_vsmps3 {
286 regulator-compatible = "db8500_vsmps3";
289 // DB8500_REGULATOR_VRF1
290 db8500_vrf1_reg: db8500_vrf1 {
291 regulator-compatible = "db8500_vrf1";
294 // DB8500_REGULATOR_SWITCH_SVAMMDSP
295 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
296 regulator-compatible = "db8500_sva_mmdsp";
299 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
300 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
301 regulator-compatible = "db8500_sva_mmdsp_ret";
304 // DB8500_REGULATOR_SWITCH_SVAPIPE
305 db8500_sva_pipe_reg: db8500_sva_pipe {
306 regulator-compatible = "db8500_sva_pipe";
309 // DB8500_REGULATOR_SWITCH_SIAMMDSP
310 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
311 regulator-compatible = "db8500_sia_mmdsp";
314 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
315 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
318 // DB8500_REGULATOR_SWITCH_SIAPIPE
319 db8500_sia_pipe_reg: db8500_sia_pipe {
320 regulator-compatible = "db8500_sia_pipe";
323 // DB8500_REGULATOR_SWITCH_SGA
324 db8500_sga_reg: db8500_sga {
325 regulator-compatible = "db8500_sga";
326 vin-supply = <&db8500_vape_reg>;
329 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
330 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
331 regulator-compatible = "db8500_b2r2_mcde";
332 vin-supply = <&db8500_vape_reg>;
335 // DB8500_REGULATOR_SWITCH_ESRAM12
336 db8500_esram12_reg: db8500_esram12 {
337 regulator-compatible = "db8500_esram12";
340 // DB8500_REGULATOR_SWITCH_ESRAM12RET
341 db8500_esram12_ret_reg: db8500_esram12_ret {
342 regulator-compatible = "db8500_esram12_ret";
345 // DB8500_REGULATOR_SWITCH_ESRAM34
346 db8500_esram34_reg: db8500_esram34 {
347 regulator-compatible = "db8500_esram34";
350 // DB8500_REGULATOR_SWITCH_ESRAM34RET
351 db8500_esram34_ret_reg: db8500_esram34_ret {
352 regulator-compatible = "db8500_esram34_ret";
357 compatible = "stericsson,ab8500";
358 interrupt-parent = <&intc>;
359 interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
360 interrupt-controller;
361 #interrupt-cells = <2>;
363 ab8500_gpio: ab8500-gpio {
369 compatible = "stericsson,ab8500-rtc";
370 interrupts = <17 IRQ_TYPE_LEVEL_HIGH
371 18 IRQ_TYPE_LEVEL_HIGH>;
372 interrupt-names = "60S", "ALARM";
376 compatible = "stericsson,ab8500-gpadc";
377 interrupts = <32 IRQ_TYPE_LEVEL_HIGH
378 39 IRQ_TYPE_LEVEL_HIGH>;
379 interrupt-names = "HW_CONV_END", "SW_CONV_END";
380 vddadc-supply = <&ab8500_ldo_tvout_reg>;
383 ab8500_battery: ab8500_battery {
384 stericsson,battery-type = "LIPO";
385 thermistor-on-batctrl;
389 compatible = "stericsson,ab8500-fg";
390 battery = <&ab8500_battery>;
394 compatible = "stericsson,ab8500-btemp";
395 battery = <&ab8500_battery>;
399 compatible = "stericsson,ab8500-charger";
400 battery = <&ab8500_battery>;
401 vddadc-supply = <&ab8500_ldo_tvout_reg>;
405 compatible = "stericsson,ab8500-chargalg";
406 battery = <&ab8500_battery>;
410 compatible = "stericsson,ab8500-usb";
411 interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
412 96 IRQ_TYPE_LEVEL_HIGH
413 14 IRQ_TYPE_LEVEL_HIGH
414 15 IRQ_TYPE_LEVEL_HIGH
415 79 IRQ_TYPE_LEVEL_HIGH
416 74 IRQ_TYPE_LEVEL_HIGH
417 75 IRQ_TYPE_LEVEL_HIGH>;
418 interrupt-names = "ID_WAKEUP_R",
423 "USB_ADP_PROBE_PLUG",
424 "USB_ADP_PROBE_UNPLUG";
425 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
426 v-ape-supply = <&db8500_vape_reg>;
427 musb_1v8-supply = <&db8500_vsmps2_reg>;
431 compatible = "stericsson,ab8500-poweron-key";
432 interrupts = <6 IRQ_TYPE_LEVEL_HIGH
433 7 IRQ_TYPE_LEVEL_HIGH>;
434 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
438 compatible = "stericsson,ab8500-sysctrl";
442 compatible = "stericsson,ab8500-pwm";
446 compatible = "stericsson,ab8500-debug";
449 codec: ab8500-codec {
450 compatible = "stericsson,ab8500-codec";
452 V-AUD-supply = <&ab8500_ldo_audio_reg>;
453 V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
454 V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
455 V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
457 stericsson,earpeice-cmv = <950>; /* Units in mV. */
461 compatible = "stericsson,ab8500-regulator";
463 // supplies to the display/camera
464 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
465 regulator-compatible = "ab8500_ldo_aux1";
466 regulator-min-microvolt = <2500000>;
467 regulator-max-microvolt = <2900000>;
469 /* BUG: If turned off MMC will be affected. */
473 // supplies to the on-board eMMC
474 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
475 regulator-compatible = "ab8500_ldo_aux2";
476 regulator-min-microvolt = <1100000>;
477 regulator-max-microvolt = <3300000>;
480 // supply for VAUX3; SDcard slots
481 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
482 regulator-compatible = "ab8500_ldo_aux3";
483 regulator-min-microvolt = <1100000>;
484 regulator-max-microvolt = <3300000>;
487 // supply for v-intcore12; VINTCORE12 LDO
488 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
489 regulator-compatible = "ab8500_ldo_intcore";
492 // supply for tvout; gpadc; TVOUT LDO
493 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
494 regulator-compatible = "ab8500_ldo_tvout";
497 // supply for ab8500-usb; USB LDO
498 ab8500_ldo_usb_reg: ab8500_ldo_usb {
499 regulator-compatible = "ab8500_ldo_usb";
502 // supply for ab8500-vaudio; VAUDIO LDO
503 ab8500_ldo_audio_reg: ab8500_ldo_audio {
504 regulator-compatible = "ab8500_ldo_audio";
507 // supply for v-anamic1 VAMIC1 LDO
508 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
509 regulator-compatible = "ab8500_ldo_anamic1";
512 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
513 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
514 regulator-compatible = "ab8500_ldo_anamic2";
517 // supply for v-dmic; VDMIC LDO
518 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
519 regulator-compatible = "ab8500_ldo_dmic";
522 // supply for U8500 CSI/DSI; VANA LDO
523 ab8500_ldo_ana_reg: ab8500_ldo_ana {
524 regulator-compatible = "ab8500_ldo_ana";
531 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
532 reg = <0x80004000 0x1000>;
533 interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
534 arm,primecell-periphid = <0x180024>;
536 #address-cells = <1>;
538 v-i2c-supply = <&db8500_vape_reg>;
540 clock-frequency = <400000>;
544 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
545 reg = <0x80122000 0x1000>;
546 interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
547 arm,primecell-periphid = <0x180024>;
549 #address-cells = <1>;
551 v-i2c-supply = <&db8500_vape_reg>;
553 clock-frequency = <400000>;
557 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
558 reg = <0x80128000 0x1000>;
559 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
560 arm,primecell-periphid = <0x180024>;
562 #address-cells = <1>;
564 v-i2c-supply = <&db8500_vape_reg>;
566 clock-frequency = <400000>;
570 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
571 reg = <0x80110000 0x1000>;
572 interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
573 arm,primecell-periphid = <0x180024>;
575 #address-cells = <1>;
577 v-i2c-supply = <&db8500_vape_reg>;
579 clock-frequency = <400000>;
583 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
584 reg = <0x8012a000 0x1000>;
585 interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
586 arm,primecell-periphid = <0x180024>;
588 #address-cells = <1>;
590 v-i2c-supply = <&db8500_vape_reg>;
592 clock-frequency = <400000>;
596 compatible = "arm,pl022", "arm,primecell";
597 reg = <0x80002000 0x1000>;
598 interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
599 #address-cells = <1>;
605 compatible = "arm,pl011", "arm,primecell";
606 reg = <0x80120000 0x1000>;
607 interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
609 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
610 <&dma 13 0 0x0>; /* Logical - MemToDev */
611 dma-names = "rx", "tx";
617 compatible = "arm,pl011", "arm,primecell";
618 reg = <0x80121000 0x1000>;
619 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
621 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
622 <&dma 12 0 0x0>; /* Logical - MemToDev */
623 dma-names = "rx", "tx";
629 compatible = "arm,pl011", "arm,primecell";
630 reg = <0x80007000 0x1000>;
631 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
633 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
634 <&dma 11 0 0x0>; /* Logical - MemToDev */
635 dma-names = "rx", "tx";
641 compatible = "arm,pl18x", "arm,primecell";
642 reg = <0x80126000 0x1000>;
643 interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
645 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
646 <&dma 29 0 0x0>; /* Logical - MemToDev */
647 dma-names = "rx", "tx";
653 compatible = "arm,pl18x", "arm,primecell";
654 reg = <0x80118000 0x1000>;
655 interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
657 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
658 <&dma 32 0 0x0>; /* Logical - MemToDev */
659 dma-names = "rx", "tx";
665 compatible = "arm,pl18x", "arm,primecell";
666 reg = <0x80005000 0x1000>;
667 interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
669 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
670 <&dma 28 0 0x0>; /* Logical - MemToDev */
671 dma-names = "rx", "tx";
677 compatible = "arm,pl18x", "arm,primecell";
678 reg = <0x80119000 0x1000>;
679 interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
684 compatible = "arm,pl18x", "arm,primecell";
685 reg = <0x80114000 0x1000>;
686 interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
688 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
689 <&dma 42 0 0x0>; /* Logical - MemToDev */
690 dma-names = "rx", "tx";
696 compatible = "arm,pl18x", "arm,primecell";
697 reg = <0x80008000 0x1000>;
698 interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
703 compatible = "stericsson,ux500-msp-i2s";
704 reg = <0x80123000 0x1000>;
705 interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
706 v-ape-supply = <&db8500_vape_reg>;
711 compatible = "stericsson,ux500-msp-i2s";
712 reg = <0x80124000 0x1000>;
713 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
714 v-ape-supply = <&db8500_vape_reg>;
720 compatible = "stericsson,ux500-msp-i2s";
721 reg = <0x80117000 0x1000>;
722 interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
723 v-ape-supply = <&db8500_vape_reg>;
728 compatible = "stericsson,ux500-msp-i2s";
729 reg = <0x80125000 0x1000>;
730 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
731 v-ape-supply = <&db8500_vape_reg>;
735 external-bus@50000000 {
736 compatible = "simple-bus";
737 reg = <0x50000000 0x4000000>;
738 #address-cells = <1>;
740 ranges = <0 0x50000000 0x4000000>;
745 compatible = "stericsson,db8500-cpufreq-cooling";
749 vmmci: regulator-gpio {
750 compatible = "regulator-gpio";
752 regulator-min-microvolt = <1800000>;
753 regulator-max-microvolt = <2900000>;
754 regulator-name = "mmci-reg";
755 regulator-type = "voltage";
757 startup-delay-us = <100>;
760 states = <1800000 0x1
767 compatible = "stericsson,ux500-cryp";
768 reg = <0xa03cb000 0x1000>;
769 interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
771 v-ape-supply = <&db8500_vape_reg>;
775 compatible = "stericsson,ux500-hash";
776 reg = <0xa03c2000 0x1000>;
778 v-ape-supply = <&db8500_vape_reg>;