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/ "skeleton.dtsi"
18 compatible = "stericsson,db8500";
19 interrupt-parent = <&intc>;
22 intc: interrupt-controller@a0411000 {
23 compatible = "arm,cortex-a9-gic";
24 #interrupt-cells = <3>;
27 reg = <0xa0411000 0x1000>,
32 compatible = "arm,pl310-cache";
33 reg = <0xa0412000 0x1000>;
34 interrupts = <0 13 4>;
40 compatible = "arm,cortex-a9-pmu";
41 interrupts = <0 7 0x4>;
45 compatible = "arm,cortex-a9-twd-timer";
46 reg = <0xa0410600 0x20>;
47 interrupts = <1 13 0x304>;
51 compatible = "arm,rtc-pl031", "arm,primecell";
52 reg = <0x80154000 0x1000>;
53 interrupts = <0 18 0x4>;
56 gpio0: gpio@8012e000 {
57 compatible = "stericsson,db8500-gpio",
59 reg = <0x8012e000 0x80>;
60 interrupts = <0 119 0x4>;
62 #interrupt-cells = <2>;
63 st,supports-sleepmode;
69 gpio1: gpio@8012e080 {
70 compatible = "stericsson,db8500-gpio",
72 reg = <0x8012e080 0x80>;
73 interrupts = <0 120 0x4>;
75 #interrupt-cells = <2>;
76 st,supports-sleepmode;
82 gpio2: gpio@8000e000 {
83 compatible = "stericsson,db8500-gpio",
85 reg = <0x8000e000 0x80>;
86 interrupts = <0 121 0x4>;
88 #interrupt-cells = <2>;
89 st,supports-sleepmode;
95 gpio3: gpio@8000e080 {
96 compatible = "stericsson,db8500-gpio",
98 reg = <0x8000e080 0x80>;
99 interrupts = <0 122 0x4>;
100 interrupt-controller;
101 #interrupt-cells = <2>;
102 st,supports-sleepmode;
108 gpio4: gpio@8000e100 {
109 compatible = "stericsson,db8500-gpio",
111 reg = <0x8000e100 0x80>;
112 interrupts = <0 123 0x4>;
113 interrupt-controller;
114 #interrupt-cells = <2>;
115 st,supports-sleepmode;
121 gpio5: gpio@8000e180 {
122 compatible = "stericsson,db8500-gpio",
124 reg = <0x8000e180 0x80>;
125 interrupts = <0 124 0x4>;
126 interrupt-controller;
127 #interrupt-cells = <2>;
128 st,supports-sleepmode;
134 gpio6: gpio@8011e000 {
135 compatible = "stericsson,db8500-gpio",
137 reg = <0x8011e000 0x80>;
138 interrupts = <0 125 0x4>;
139 interrupt-controller;
140 #interrupt-cells = <2>;
141 st,supports-sleepmode;
147 gpio7: gpio@8011e080 {
148 compatible = "stericsson,db8500-gpio",
150 reg = <0x8011e080 0x80>;
151 interrupts = <0 126 0x4>;
152 interrupt-controller;
153 #interrupt-cells = <2>;
154 st,supports-sleepmode;
160 gpio8: gpio@a03fe000 {
161 compatible = "stericsson,db8500-gpio",
163 reg = <0xa03fe000 0x80>;
164 interrupts = <0 127 0x4>;
165 interrupt-controller;
166 #interrupt-cells = <2>;
167 st,supports-sleepmode;
174 compatible = "stericsson,nmk-pinctrl";
179 compatible = "stericsson,db8500-musb",
181 reg = <0xa03e0000 0x10000>;
182 interrupts = <0 23 0x4>;
185 dma: dma-controller@801C0000 {
186 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
187 reg = <0x801C0000 0x1000 0x40010000 0x800>;
188 reg-names = "base", "lcpa";
189 interrupts = <0 25 0x4>;
194 prcmu: prcmu@80157000 {
195 compatible = "stericsson,db8500-prcmu";
196 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
197 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
198 interrupts = <0 47 0x4>;
199 #address-cells = <1>;
201 interrupt-controller;
202 #interrupt-cells = <2>;
205 prcmu-timer-4@80157450 {
206 compatible = "stericsson,db8500-prcmu-timer-4";
207 reg = <0x80157450 0xC>;
211 compatible = "stericsson,db8500-thermal";
212 reg = <0x801573c0 0x40>;
213 interrupts = <21 0x4>, <22 0x4>;
214 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
218 db8500-prcmu-regulators {
219 compatible = "stericsson,db8500-prcmu-regulator";
221 // DB8500_REGULATOR_VAPE
222 db8500_vape_reg: db8500_vape {
223 regulator-compatible = "db8500_vape";
227 // DB8500_REGULATOR_VARM
228 db8500_varm_reg: db8500_varm {
229 regulator-compatible = "db8500_varm";
232 // DB8500_REGULATOR_VMODEM
233 db8500_vmodem_reg: db8500_vmodem {
234 regulator-compatible = "db8500_vmodem";
237 // DB8500_REGULATOR_VPLL
238 db8500_vpll_reg: db8500_vpll {
239 regulator-compatible = "db8500_vpll";
242 // DB8500_REGULATOR_VSMPS1
243 db8500_vsmps1_reg: db8500_vsmps1 {
244 regulator-compatible = "db8500_vsmps1";
247 // DB8500_REGULATOR_VSMPS2
248 db8500_vsmps2_reg: db8500_vsmps2 {
249 regulator-compatible = "db8500_vsmps2";
252 // DB8500_REGULATOR_VSMPS3
253 db8500_vsmps3_reg: db8500_vsmps3 {
254 regulator-compatible = "db8500_vsmps3";
257 // DB8500_REGULATOR_VRF1
258 db8500_vrf1_reg: db8500_vrf1 {
259 regulator-compatible = "db8500_vrf1";
262 // DB8500_REGULATOR_SWITCH_SVAMMDSP
263 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
264 regulator-compatible = "db8500_sva_mmdsp";
267 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
268 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
269 regulator-compatible = "db8500_sva_mmdsp_ret";
272 // DB8500_REGULATOR_SWITCH_SVAPIPE
273 db8500_sva_pipe_reg: db8500_sva_pipe {
274 regulator-compatible = "db8500_sva_pipe";
277 // DB8500_REGULATOR_SWITCH_SIAMMDSP
278 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
279 regulator-compatible = "db8500_sia_mmdsp";
282 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
283 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
286 // DB8500_REGULATOR_SWITCH_SIAPIPE
287 db8500_sia_pipe_reg: db8500_sia_pipe {
288 regulator-compatible = "db8500_sia_pipe";
291 // DB8500_REGULATOR_SWITCH_SGA
292 db8500_sga_reg: db8500_sga {
293 regulator-compatible = "db8500_sga";
294 vin-supply = <&db8500_vape_reg>;
297 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
298 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
299 regulator-compatible = "db8500_b2r2_mcde";
300 vin-supply = <&db8500_vape_reg>;
303 // DB8500_REGULATOR_SWITCH_ESRAM12
304 db8500_esram12_reg: db8500_esram12 {
305 regulator-compatible = "db8500_esram12";
308 // DB8500_REGULATOR_SWITCH_ESRAM12RET
309 db8500_esram12_ret_reg: db8500_esram12_ret {
310 regulator-compatible = "db8500_esram12_ret";
313 // DB8500_REGULATOR_SWITCH_ESRAM34
314 db8500_esram34_reg: db8500_esram34 {
315 regulator-compatible = "db8500_esram34";
318 // DB8500_REGULATOR_SWITCH_ESRAM34RET
319 db8500_esram34_ret_reg: db8500_esram34_ret {
320 regulator-compatible = "db8500_esram34_ret";
325 compatible = "stericsson,ab8500";
326 interrupt-parent = <&intc>;
327 interrupts = <0 40 0x4>;
328 interrupt-controller;
329 #interrupt-cells = <2>;
332 compatible = "stericsson,ab8500-rtc";
335 interrupt-names = "60S", "ALARM";
339 compatible = "stericsson,ab8500-gpadc";
342 interrupt-names = "HW_CONV_END", "SW_CONV_END";
343 vddadc-supply = <&ab8500_ldo_tvout_reg>;
346 ab8500_battery: ab8500_battery {
347 stericsson,battery-type = "LIPO";
348 thermistor-on-batctrl;
352 compatible = "stericsson,ab8500-fg";
353 battery = <&ab8500_battery>;
357 compatible = "stericsson,ab8500-btemp";
358 battery = <&ab8500_battery>;
362 compatible = "stericsson,ab8500-charger";
363 battery = <&ab8500_battery>;
364 vddadc-supply = <&ab8500_ldo_tvout_reg>;
368 compatible = "stericsson,ab8500-chargalg";
369 battery = <&ab8500_battery>;
373 compatible = "stericsson,ab8500-usb";
374 interrupts = < 90 0x4
381 interrupt-names = "ID_WAKEUP_R",
386 "USB_ADP_PROBE_PLUG",
387 "USB_ADP_PROBE_UNPLUG";
388 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
389 v-ape-supply = <&db8500_vape_reg>;
390 musb_1v8-supply = <&db8500_vsmps2_reg>;
394 compatible = "stericsson,ab8500-poweron-key";
397 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
401 compatible = "stericsson,ab8500-sysctrl";
405 compatible = "stericsson,ab8500-pwm";
409 compatible = "stericsson,ab8500-debug";
412 codec: ab8500-codec {
413 compatible = "stericsson,ab8500-codec";
415 stericsson,earpeice-cmv = <950>; /* Units in mV. */
419 compatible = "stericsson,ab8500-regulator";
421 // supplies to the display/camera
422 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
423 regulator-compatible = "ab8500_ldo_aux1";
424 regulator-min-microvolt = <2500000>;
425 regulator-max-microvolt = <2900000>;
427 /* BUG: If turned off MMC will be affected. */
431 // supplies to the on-board eMMC
432 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
433 regulator-compatible = "ab8500_ldo_aux2";
434 regulator-min-microvolt = <1100000>;
435 regulator-max-microvolt = <3300000>;
438 // supply for VAUX3; SDcard slots
439 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
440 regulator-compatible = "ab8500_ldo_aux3";
441 regulator-min-microvolt = <1100000>;
442 regulator-max-microvolt = <3300000>;
445 // supply for v-intcore12; VINTCORE12 LDO
446 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
447 regulator-compatible = "ab8500_ldo_intcore";
450 // supply for tvout; gpadc; TVOUT LDO
451 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
452 regulator-compatible = "ab8500_ldo_tvout";
455 // supply for ab8500-usb; USB LDO
456 ab8500_ldo_usb_reg: ab8500_ldo_usb {
457 regulator-compatible = "ab8500_ldo_usb";
460 // supply for ab8500-vaudio; VAUDIO LDO
461 ab8500_ldo_audio_reg: ab8500_ldo_audio {
462 regulator-compatible = "ab8500_ldo_audio";
465 // supply for v-anamic1 VAMic1-LDO
466 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
467 regulator-compatible = "ab8500_ldo_anamic1";
470 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
471 ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
472 regulator-compatible = "ab8500_ldo_amamic2";
475 // supply for v-dmic; VDMIC LDO
476 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
477 regulator-compatible = "ab8500_ldo_dmic";
480 // supply for U8500 CSI/DSI; VANA LDO
481 ab8500_ldo_ana_reg: ab8500_ldo_ana {
482 regulator-compatible = "ab8500_ldo_ana";
489 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
490 reg = <0x80004000 0x1000>;
491 interrupts = <0 21 0x4>;
492 arm,primecell-periphid = <0x180024>;
494 #address-cells = <1>;
496 v-i2c-supply = <&db8500_vape_reg>;
498 clock-frequency = <400000>;
502 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
503 reg = <0x80122000 0x1000>;
504 interrupts = <0 22 0x4>;
505 arm,primecell-periphid = <0x180024>;
507 #address-cells = <1>;
509 v-i2c-supply = <&db8500_vape_reg>;
511 clock-frequency = <400000>;
515 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
516 reg = <0x80128000 0x1000>;
517 interrupts = <0 55 0x4>;
518 arm,primecell-periphid = <0x180024>;
520 #address-cells = <1>;
522 v-i2c-supply = <&db8500_vape_reg>;
524 clock-frequency = <400000>;
528 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
529 reg = <0x80110000 0x1000>;
530 interrupts = <0 12 0x4>;
531 arm,primecell-periphid = <0x180024>;
533 #address-cells = <1>;
535 v-i2c-supply = <&db8500_vape_reg>;
537 clock-frequency = <400000>;
541 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
542 reg = <0x8012a000 0x1000>;
543 interrupts = <0 51 0x4>;
544 arm,primecell-periphid = <0x180024>;
546 #address-cells = <1>;
548 v-i2c-supply = <&db8500_vape_reg>;
550 clock-frequency = <400000>;
554 compatible = "arm,pl022", "arm,primecell";
555 reg = <0x80002000 0x1000>;
556 interrupts = <0 14 0x4>;
557 #address-cells = <1>;
561 // Add one of these for each child device
562 cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
563 &gpio6 22 0x4 &gpio7 0 0x4>;
568 compatible = "arm,pl011", "arm,primecell";
569 reg = <0x80120000 0x1000>;
570 interrupts = <0 11 0x4>;
572 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
573 <&dma 13 0 0x0>; /* Logical - MemToDev */
574 dma-names = "rx", "tx";
580 compatible = "arm,pl011", "arm,primecell";
581 reg = <0x80121000 0x1000>;
582 interrupts = <0 19 0x4>;
584 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
585 <&dma 12 0 0x0>; /* Logical - MemToDev */
586 dma-names = "rx", "tx";
592 compatible = "arm,pl011", "arm,primecell";
593 reg = <0x80007000 0x1000>;
594 interrupts = <0 26 0x4>;
596 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
597 <&dma 11 0 0x0>; /* Logical - MemToDev */
598 dma-names = "rx", "tx";
604 compatible = "arm,pl18x", "arm,primecell";
605 reg = <0x80126000 0x1000>;
606 interrupts = <0 60 0x4>;
608 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
609 <&dma 29 0 0x0>; /* Logical - MemToDev */
610 dma-names = "rx", "tx";
616 compatible = "arm,pl18x", "arm,primecell";
617 reg = <0x80118000 0x1000>;
618 interrupts = <0 50 0x4>;
620 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
621 <&dma 32 0 0x0>; /* Logical - MemToDev */
622 dma-names = "rx", "tx";
628 compatible = "arm,pl18x", "arm,primecell";
629 reg = <0x80005000 0x1000>;
630 interrupts = <0 41 0x4>;
632 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
633 <&dma 28 0 0x0>; /* Logical - MemToDev */
634 dma-names = "rx", "tx";
640 compatible = "arm,pl18x", "arm,primecell";
641 reg = <0x80119000 0x1000>;
642 interrupts = <0 59 0x4>;
647 compatible = "arm,pl18x", "arm,primecell";
648 reg = <0x80114000 0x1000>;
649 interrupts = <0 99 0x4>;
651 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
652 <&dma 42 0 0x0>; /* Logical - MemToDev */
653 dma-names = "rx", "tx";
659 compatible = "arm,pl18x", "arm,primecell";
660 reg = <0x80008000 0x1000>;
661 interrupts = <0 100 0x4>;
666 compatible = "stericsson,ux500-msp-i2s";
667 reg = <0x80123000 0x1000>;
668 interrupts = <0 31 0x4>;
669 v-ape-supply = <&db8500_vape_reg>;
674 compatible = "stericsson,ux500-msp-i2s";
675 reg = <0x80124000 0x1000>;
676 interrupts = <0 62 0x4>;
677 v-ape-supply = <&db8500_vape_reg>;
683 compatible = "stericsson,ux500-msp-i2s";
684 reg = <0x80117000 0x1000>;
685 interrupts = <0 98 0x4>;
686 v-ape-supply = <&db8500_vape_reg>;
691 compatible = "stericsson,ux500-msp-i2s";
692 reg = <0x80125000 0x1000>;
693 interrupts = <0 62 0x4>;
694 v-ape-supply = <&db8500_vape_reg>;
698 external-bus@50000000 {
699 compatible = "simple-bus";
700 reg = <0x50000000 0x4000000>;
701 #address-cells = <1>;
703 ranges = <0 0x50000000 0x4000000>;
708 compatible = "stericsson,db8500-cpufreq-cooling";
712 vmmci: regulator-gpio {
713 compatible = "regulator-gpio";
715 regulator-min-microvolt = <1800000>;
716 regulator-max-microvolt = <2900000>;
717 regulator-name = "mmci-reg";
718 regulator-type = "voltage";
720 startup-delay-us = <100>;
723 states = <1800000 0x1