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 <dt-bindings/mfd/dbx500-prcmu.h>
14 #include <dt-bindings/arm/ux500_pm_domains.h>
15 #include "skeleton.dtsi"
21 enable-method = "ste,dbx500-smp";
35 compatible = "arm,cortex-a9";
40 compatible = "arm,cortex-a9";
48 compatible = "stericsson,db8500";
49 interrupt-parent = <&intc>;
53 compatible = "arm,coresight-etm3x", "arm,primecell";
54 reg = <0x801ae000 0x1000>;
56 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
57 clock-names = "apb_pclk", "atclk";
60 ptm0_out_port: endpoint {
61 remote-endpoint = <&funnel_in_port0>;
67 compatible = "arm,coresight-etm3x", "arm,primecell";
68 reg = <0x801af000 0x1000>;
70 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
71 clock-names = "apb_pclk", "atclk";
74 ptm1_out_port: endpoint {
75 remote-endpoint = <&funnel_in_port1>;
81 compatible = "arm,coresight-funnel", "arm,primecell";
82 reg = <0x801a6000 0x1000>;
84 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
85 clock-names = "apb_pclk", "atclk";
90 /* funnel output ports */
93 funnel_out_port: endpoint {
95 <&replicator_in_port0>;
99 /* funnel input ports */
102 funnel_in_port0: endpoint {
104 remote-endpoint = <&ptm0_out_port>;
110 funnel_in_port1: endpoint {
112 remote-endpoint = <&ptm1_out_port>;
119 compatible = "arm,coresight-replicator";
120 clocks = <&prcmu_clk PRCMU_APEATCLK>;
121 clock-names = "atclk";
124 #address-cells = <1>;
127 /* replicator output ports */
130 replicator_out_port0: endpoint {
131 remote-endpoint = <&tpiu_in_port>;
136 replicator_out_port1: endpoint {
137 remote-endpoint = <&etb_in_port>;
141 /* replicator input port */
144 replicator_in_port0: endpoint {
146 remote-endpoint = <&funnel_out_port>;
153 compatible = "arm,coresight-tpiu", "arm,primecell";
154 reg = <0x80190000 0x1000>;
156 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
157 clock-names = "apb_pclk", "atclk";
159 tpiu_in_port: endpoint {
161 remote-endpoint = <&replicator_out_port0>;
167 compatible = "arm,coresight-etb10", "arm,primecell";
168 reg = <0x801a4000 0x1000>;
170 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
171 clock-names = "apb_pclk", "atclk";
173 etb_in_port: endpoint {
175 remote-endpoint = <&replicator_out_port1>;
180 intc: interrupt-controller@a0411000 {
181 compatible = "arm,cortex-a9-gic";
182 #interrupt-cells = <3>;
183 #address-cells = <1>;
184 interrupt-controller;
185 reg = <0xa0411000 0x1000>,
190 compatible = "arm,cortex-a9-scu";
191 reg = <0xa0410000 0x100>;
195 * The backup RAM is used for retention during sleep
196 * and various things like spin tables
199 compatible = "ste,dbx500-backupram";
200 reg = <0x80150000 0x2000>;
204 compatible = "arm,pl310-cache";
205 reg = <0xa0412000 0x1000>;
206 interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
212 compatible = "arm,cortex-a9-pmu";
213 interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>;
216 pm_domains: pm_domains0 {
217 compatible = "stericsson,ux500-pm-domains";
218 #power-domain-cells = <1>;
222 compatible = "stericsson,u8500-clks";
224 * Registers for the CLKRST block on peripheral
225 * groups 1, 2, 3, 5, 6,
227 reg = <0x8012f000 0x1000>, <0x8011f000 0x1000>,
228 <0x8000f000 0x1000>, <0xa03ff000 0x1000>,
231 prcmu_clk: prcmu-clock {
235 prcc_pclk: prcc-periph-clock {
239 prcc_kclk: prcc-kernel-clock {
243 rtc_clk: rtc32k-clock {
247 smp_twd_clk: smp-twd-clock {
253 /* Nomadik System Timer */
254 compatible = "st,nomadik-mtu";
255 reg = <0xa03c6000 0x1000>;
256 interrupts = <0 4 IRQ_TYPE_LEVEL_HIGH>;
258 clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>;
259 clock-names = "timclk", "apb_pclk";
263 compatible = "arm,cortex-a9-twd-timer";
264 reg = <0xa0410600 0x20>;
265 interrupts = <1 13 0x304>; /* IRQ level high per-CPU */
267 clocks = <&smp_twd_clk>;
271 compatible = "arm,cortex-a9-twd-wdt";
272 reg = <0xa0410620 0x20>;
273 interrupts = <1 14 0x304>;
274 clocks = <&smp_twd_clk>;
278 compatible = "arm,rtc-pl031", "arm,primecell";
279 reg = <0x80154000 0x1000>;
280 interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
283 clock-names = "apb_pclk";
286 gpio0: gpio@8012e000 {
287 compatible = "stericsson,db8500-gpio",
289 reg = <0x8012e000 0x80>;
290 interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
291 interrupt-controller;
292 #interrupt-cells = <2>;
293 st,supports-sleepmode;
297 gpio-ranges = <&pinctrl 0 0 32>;
298 clocks = <&prcc_pclk 1 9>;
301 gpio1: gpio@8012e080 {
302 compatible = "stericsson,db8500-gpio",
304 reg = <0x8012e080 0x80>;
305 interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
306 interrupt-controller;
307 #interrupt-cells = <2>;
308 st,supports-sleepmode;
312 gpio-ranges = <&pinctrl 0 32 5>;
313 clocks = <&prcc_pclk 1 9>;
316 gpio2: gpio@8000e000 {
317 compatible = "stericsson,db8500-gpio",
319 reg = <0x8000e000 0x80>;
320 interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>;
321 interrupt-controller;
322 #interrupt-cells = <2>;
323 st,supports-sleepmode;
327 gpio-ranges = <&pinctrl 0 64 32>;
328 clocks = <&prcc_pclk 3 8>;
331 gpio3: gpio@8000e080 {
332 compatible = "stericsson,db8500-gpio",
334 reg = <0x8000e080 0x80>;
335 interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>;
336 interrupt-controller;
337 #interrupt-cells = <2>;
338 st,supports-sleepmode;
342 gpio-ranges = <&pinctrl 0 96 2>;
343 clocks = <&prcc_pclk 3 8>;
346 gpio4: gpio@8000e100 {
347 compatible = "stericsson,db8500-gpio",
349 reg = <0x8000e100 0x80>;
350 interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>;
351 interrupt-controller;
352 #interrupt-cells = <2>;
353 st,supports-sleepmode;
357 gpio-ranges = <&pinctrl 0 128 32>;
358 clocks = <&prcc_pclk 3 8>;
361 gpio5: gpio@8000e180 {
362 compatible = "stericsson,db8500-gpio",
364 reg = <0x8000e180 0x80>;
365 interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>;
366 interrupt-controller;
367 #interrupt-cells = <2>;
368 st,supports-sleepmode;
372 gpio-ranges = <&pinctrl 0 160 12>;
373 clocks = <&prcc_pclk 3 8>;
376 gpio6: gpio@8011e000 {
377 compatible = "stericsson,db8500-gpio",
379 reg = <0x8011e000 0x80>;
380 interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>;
381 interrupt-controller;
382 #interrupt-cells = <2>;
383 st,supports-sleepmode;
387 gpio-ranges = <&pinctrl 0 192 32>;
388 clocks = <&prcc_pclk 2 11>;
391 gpio7: gpio@8011e080 {
392 compatible = "stericsson,db8500-gpio",
394 reg = <0x8011e080 0x80>;
395 interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>;
396 interrupt-controller;
397 #interrupt-cells = <2>;
398 st,supports-sleepmode;
402 gpio-ranges = <&pinctrl 0 224 7>;
403 clocks = <&prcc_pclk 2 11>;
406 gpio8: gpio@a03fe000 {
407 compatible = "stericsson,db8500-gpio",
409 reg = <0xa03fe000 0x80>;
410 interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>;
411 interrupt-controller;
412 #interrupt-cells = <2>;
413 st,supports-sleepmode;
417 gpio-ranges = <&pinctrl 0 256 12>;
418 clocks = <&prcc_pclk 5 1>;
422 compatible = "stericsson,db8500-pinctrl";
423 nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>,
424 <&gpio4>, <&gpio5>, <&gpio6>, <&gpio7>,
430 compatible = "stericsson,db8500-musb";
431 reg = <0xa03e0000 0x10000>;
432 interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>;
433 interrupt-names = "mc";
437 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
438 <&dma 38 0 0x0>, /* Logical - MemToDev */
439 <&dma 37 0 0x2>, /* Logical - DevToMem */
440 <&dma 37 0 0x0>, /* Logical - MemToDev */
441 <&dma 36 0 0x2>, /* Logical - DevToMem */
442 <&dma 36 0 0x0>, /* Logical - MemToDev */
443 <&dma 19 0 0x2>, /* Logical - DevToMem */
444 <&dma 19 0 0x0>, /* Logical - MemToDev */
445 <&dma 18 0 0x2>, /* Logical - DevToMem */
446 <&dma 18 0 0x0>, /* Logical - MemToDev */
447 <&dma 17 0 0x2>, /* Logical - DevToMem */
448 <&dma 17 0 0x0>, /* Logical - MemToDev */
449 <&dma 16 0 0x2>, /* Logical - DevToMem */
450 <&dma 16 0 0x0>, /* Logical - MemToDev */
451 <&dma 39 0 0x2>, /* Logical - DevToMem */
452 <&dma 39 0 0x0>; /* Logical - MemToDev */
454 dma-names = "iep_1_9", "oep_1_9",
455 "iep_2_10", "oep_2_10",
456 "iep_3_11", "oep_3_11",
457 "iep_4_12", "oep_4_12",
458 "iep_5_13", "oep_5_13",
459 "iep_6_14", "oep_6_14",
460 "iep_7_15", "oep_7_15",
463 clocks = <&prcc_pclk 5 0>;
466 dma: dma-controller@801C0000 {
467 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
468 reg = <0x801C0000 0x1000 0x40010000 0x800>;
469 reg-names = "base", "lcpa";
470 interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>;
473 memcpy-channels = <56 57 58 59 60>;
475 clocks = <&prcmu_clk PRCMU_DMACLK>;
478 prcmu: prcmu@80157000 {
479 compatible = "stericsson,db8500-prcmu";
480 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
481 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
482 interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>;
483 #address-cells = <1>;
485 interrupt-controller;
486 #interrupt-cells = <2>;
489 prcmu-timer-4@80157450 {
490 compatible = "stericsson,db8500-prcmu-timer-4";
491 reg = <0x80157450 0xC>;
495 compatible = "stericsson,cpufreq-ux500";
496 clocks = <&prcmu_clk PRCMU_ARMSS>;
497 clock-names = "armss";
502 compatible = "stericsson,db8500-thermal";
503 reg = <0x801573c0 0x40>;
504 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
505 <22 IRQ_TYPE_LEVEL_HIGH>;
506 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
510 db8500-prcmu-regulators {
511 compatible = "stericsson,db8500-prcmu-regulator";
513 // DB8500_REGULATOR_VAPE
514 db8500_vape_reg: db8500_vape {
515 regulator-compatible = "db8500_vape";
519 // DB8500_REGULATOR_VARM
520 db8500_varm_reg: db8500_varm {
521 regulator-compatible = "db8500_varm";
524 // DB8500_REGULATOR_VMODEM
525 db8500_vmodem_reg: db8500_vmodem {
526 regulator-compatible = "db8500_vmodem";
529 // DB8500_REGULATOR_VPLL
530 db8500_vpll_reg: db8500_vpll {
531 regulator-compatible = "db8500_vpll";
534 // DB8500_REGULATOR_VSMPS1
535 db8500_vsmps1_reg: db8500_vsmps1 {
536 regulator-compatible = "db8500_vsmps1";
539 // DB8500_REGULATOR_VSMPS2
540 db8500_vsmps2_reg: db8500_vsmps2 {
541 regulator-compatible = "db8500_vsmps2";
544 // DB8500_REGULATOR_VSMPS3
545 db8500_vsmps3_reg: db8500_vsmps3 {
546 regulator-compatible = "db8500_vsmps3";
549 // DB8500_REGULATOR_VRF1
550 db8500_vrf1_reg: db8500_vrf1 {
551 regulator-compatible = "db8500_vrf1";
554 // DB8500_REGULATOR_SWITCH_SVAMMDSP
555 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
556 regulator-compatible = "db8500_sva_mmdsp";
559 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
560 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
561 regulator-compatible = "db8500_sva_mmdsp_ret";
564 // DB8500_REGULATOR_SWITCH_SVAPIPE
565 db8500_sva_pipe_reg: db8500_sva_pipe {
566 regulator-compatible = "db8500_sva_pipe";
569 // DB8500_REGULATOR_SWITCH_SIAMMDSP
570 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
571 regulator-compatible = "db8500_sia_mmdsp";
574 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
575 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
578 // DB8500_REGULATOR_SWITCH_SIAPIPE
579 db8500_sia_pipe_reg: db8500_sia_pipe {
580 regulator-compatible = "db8500_sia_pipe";
583 // DB8500_REGULATOR_SWITCH_SGA
584 db8500_sga_reg: db8500_sga {
585 regulator-compatible = "db8500_sga";
586 vin-supply = <&db8500_vape_reg>;
589 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
590 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
591 regulator-compatible = "db8500_b2r2_mcde";
592 vin-supply = <&db8500_vape_reg>;
595 // DB8500_REGULATOR_SWITCH_ESRAM12
596 db8500_esram12_reg: db8500_esram12 {
597 regulator-compatible = "db8500_esram12";
600 // DB8500_REGULATOR_SWITCH_ESRAM12RET
601 db8500_esram12_ret_reg: db8500_esram12_ret {
602 regulator-compatible = "db8500_esram12_ret";
605 // DB8500_REGULATOR_SWITCH_ESRAM34
606 db8500_esram34_reg: db8500_esram34 {
607 regulator-compatible = "db8500_esram34";
610 // DB8500_REGULATOR_SWITCH_ESRAM34RET
611 db8500_esram34_ret_reg: db8500_esram34_ret {
612 regulator-compatible = "db8500_esram34_ret";
617 compatible = "stericsson,ab8500";
618 interrupt-parent = <&intc>;
619 interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>;
620 interrupt-controller;
621 #interrupt-cells = <2>;
623 ab8500_gpio: ab8500-gpio {
629 compatible = "stericsson,ab8500-rtc";
630 interrupts = <17 IRQ_TYPE_LEVEL_HIGH
631 18 IRQ_TYPE_LEVEL_HIGH>;
632 interrupt-names = "60S", "ALARM";
636 compatible = "stericsson,ab8500-gpadc";
637 interrupts = <32 IRQ_TYPE_LEVEL_HIGH
638 39 IRQ_TYPE_LEVEL_HIGH>;
639 interrupt-names = "HW_CONV_END", "SW_CONV_END";
640 vddadc-supply = <&ab8500_ldo_tvout_reg>;
643 ab8500_battery: ab8500_battery {
644 stericsson,battery-type = "LIPO";
645 thermistor-on-batctrl;
649 compatible = "stericsson,ab8500-fg";
650 battery = <&ab8500_battery>;
654 compatible = "stericsson,ab8500-btemp";
655 battery = <&ab8500_battery>;
659 compatible = "stericsson,ab8500-charger";
660 battery = <&ab8500_battery>;
661 vddadc-supply = <&ab8500_ldo_tvout_reg>;
665 compatible = "stericsson,ab8500-chargalg";
666 battery = <&ab8500_battery>;
670 compatible = "stericsson,ab8500-usb";
671 interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
672 96 IRQ_TYPE_LEVEL_HIGH
673 14 IRQ_TYPE_LEVEL_HIGH
674 15 IRQ_TYPE_LEVEL_HIGH
675 79 IRQ_TYPE_LEVEL_HIGH
676 74 IRQ_TYPE_LEVEL_HIGH
677 75 IRQ_TYPE_LEVEL_HIGH>;
678 interrupt-names = "ID_WAKEUP_R",
683 "USB_ADP_PROBE_PLUG",
684 "USB_ADP_PROBE_UNPLUG";
685 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
686 v-ape-supply = <&db8500_vape_reg>;
687 musb_1v8-supply = <&db8500_vsmps2_reg>;
691 compatible = "stericsson,ab8500-poweron-key";
692 interrupts = <6 IRQ_TYPE_LEVEL_HIGH
693 7 IRQ_TYPE_LEVEL_HIGH>;
694 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
698 compatible = "stericsson,ab8500-sysctrl";
702 compatible = "stericsson,ab8500-pwm";
706 compatible = "stericsson,ab8500-debug";
709 codec: ab8500-codec {
710 compatible = "stericsson,ab8500-codec";
712 V-AUD-supply = <&ab8500_ldo_audio_reg>;
713 V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
714 V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
715 V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
717 stericsson,earpeice-cmv = <950>; /* Units in mV. */
720 ext_regulators: ab8500-ext-regulators {
721 compatible = "stericsson,ab8500-ext-regulator";
723 ab8500_ext1_reg: ab8500_ext1 {
724 regulator-compatible = "ab8500_ext1";
725 regulator-min-microvolt = <1800000>;
726 regulator-max-microvolt = <1800000>;
731 ab8500_ext2_reg: ab8500_ext2 {
732 regulator-compatible = "ab8500_ext2";
733 regulator-min-microvolt = <1360000>;
734 regulator-max-microvolt = <1360000>;
739 ab8500_ext3_reg: ab8500_ext3 {
740 regulator-compatible = "ab8500_ext3";
741 regulator-min-microvolt = <3400000>;
742 regulator-max-microvolt = <3400000>;
748 compatible = "stericsson,ab8500-regulator";
749 vin-supply = <&ab8500_ext3_reg>;
751 // supplies to the display/camera
752 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
753 regulator-compatible = "ab8500_ldo_aux1";
754 regulator-min-microvolt = <2500000>;
755 regulator-max-microvolt = <2900000>;
757 /* BUG: If turned off MMC will be affected. */
761 // supplies to the on-board eMMC
762 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
763 regulator-compatible = "ab8500_ldo_aux2";
764 regulator-min-microvolt = <1100000>;
765 regulator-max-microvolt = <3300000>;
768 // supply for VAUX3; SDcard slots
769 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
770 regulator-compatible = "ab8500_ldo_aux3";
771 regulator-min-microvolt = <1100000>;
772 regulator-max-microvolt = <3300000>;
775 // supply for v-intcore12; VINTCORE12 LDO
776 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
777 regulator-compatible = "ab8500_ldo_intcore";
780 // supply for tvout; gpadc; TVOUT LDO
781 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
782 regulator-compatible = "ab8500_ldo_tvout";
785 // supply for ab8500-usb; USB LDO
786 ab8500_ldo_usb_reg: ab8500_ldo_usb {
787 regulator-compatible = "ab8500_ldo_usb";
790 // supply for ab8500-vaudio; VAUDIO LDO
791 ab8500_ldo_audio_reg: ab8500_ldo_audio {
792 regulator-compatible = "ab8500_ldo_audio";
795 // supply for v-anamic1 VAMIC1 LDO
796 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
797 regulator-compatible = "ab8500_ldo_anamic1";
800 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
801 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
802 regulator-compatible = "ab8500_ldo_anamic2";
805 // supply for v-dmic; VDMIC LDO
806 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
807 regulator-compatible = "ab8500_ldo_dmic";
810 // supply for U8500 CSI/DSI; VANA LDO
811 ab8500_ldo_ana_reg: ab8500_ldo_ana {
812 regulator-compatible = "ab8500_ldo_ana";
819 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
820 reg = <0x80004000 0x1000>;
821 interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>;
823 #address-cells = <1>;
825 v-i2c-supply = <&db8500_vape_reg>;
827 clock-frequency = <400000>;
828 clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>;
829 clock-names = "i2cclk", "apb_pclk";
830 power-domains = <&pm_domains DOMAIN_VAPE>;
834 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
835 reg = <0x80122000 0x1000>;
836 interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>;
838 #address-cells = <1>;
840 v-i2c-supply = <&db8500_vape_reg>;
842 clock-frequency = <400000>;
844 clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>;
845 clock-names = "i2cclk", "apb_pclk";
846 power-domains = <&pm_domains DOMAIN_VAPE>;
850 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
851 reg = <0x80128000 0x1000>;
852 interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>;
854 #address-cells = <1>;
856 v-i2c-supply = <&db8500_vape_reg>;
858 clock-frequency = <400000>;
860 clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>;
861 clock-names = "i2cclk", "apb_pclk";
862 power-domains = <&pm_domains DOMAIN_VAPE>;
866 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
867 reg = <0x80110000 0x1000>;
868 interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>;
870 #address-cells = <1>;
872 v-i2c-supply = <&db8500_vape_reg>;
874 clock-frequency = <400000>;
876 clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>;
877 clock-names = "i2cclk", "apb_pclk";
878 power-domains = <&pm_domains DOMAIN_VAPE>;
882 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
883 reg = <0x8012a000 0x1000>;
884 interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>;
886 #address-cells = <1>;
888 v-i2c-supply = <&db8500_vape_reg>;
890 clock-frequency = <400000>;
892 clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 10>;
893 clock-names = "i2cclk", "apb_pclk";
894 power-domains = <&pm_domains DOMAIN_VAPE>;
898 compatible = "arm,pl022", "arm,primecell";
899 reg = <0x80002000 0x1000>;
900 interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>;
901 #address-cells = <1>;
903 clocks = <&prcc_kclk 3 1>, <&prcc_pclk 3 1>;
904 clock-names = "SSPCLK", "apb_pclk";
905 dmas = <&dma 8 0 0x2>, /* Logical - DevToMem */
906 <&dma 8 0 0x0>; /* Logical - MemToDev */
907 dma-names = "rx", "tx";
908 power-domains = <&pm_domains DOMAIN_VAPE>;
912 compatible = "arm,pl022", "arm,primecell";
913 reg = <0x80003000 0x1000>;
914 interrupts = <0 52 IRQ_TYPE_LEVEL_HIGH>;
915 #address-cells = <1>;
917 clocks = <&prcc_kclk 3 2>, <&prcc_pclk 3 2>;
918 clock-names = "SSPCLK", "apb_pclk";
919 dmas = <&dma 9 0 0x2>, /* Logical - DevToMem */
920 <&dma 9 0 0x0>; /* Logical - MemToDev */
921 dma-names = "rx", "tx";
922 power-domains = <&pm_domains DOMAIN_VAPE>;
926 compatible = "arm,pl022", "arm,primecell";
927 reg = <0x8011a000 0x1000>;
928 interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>;
929 #address-cells = <1>;
931 /* Same clock wired to kernel and pclk */
932 clocks = <&prcc_pclk 2 8>, <&prcc_pclk 2 8>;
933 clock-names = "SSPCLK", "apb_pclk";
934 dmas = <&dma 0 0 0x2>, /* Logical - DevToMem */
935 <&dma 0 0 0x0>; /* Logical - MemToDev */
936 dma-names = "rx", "tx";
937 power-domains = <&pm_domains DOMAIN_VAPE>;
941 compatible = "arm,pl022", "arm,primecell";
942 reg = <0x80112000 0x1000>;
943 interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>;
944 #address-cells = <1>;
946 /* Same clock wired to kernel and pclk */
947 clocks = <&prcc_pclk 2 2>, <&prcc_pclk 2 2>;
948 clock-names = "SSPCLK", "apb_pclk";
949 dmas = <&dma 35 0 0x2>, /* Logical - DevToMem */
950 <&dma 35 0 0x0>; /* Logical - MemToDev */
951 dma-names = "rx", "tx";
952 power-domains = <&pm_domains DOMAIN_VAPE>;
956 compatible = "arm,pl022", "arm,primecell";
957 reg = <0x80111000 0x1000>;
958 interrupts = <0 6 IRQ_TYPE_LEVEL_HIGH>;
959 #address-cells = <1>;
961 /* Same clock wired to kernel and pclk */
962 clocks = <&prcc_pclk 2 1>, <&prcc_pclk 2 1>;
963 clock-names = "SSPCLK", "apb_pclk";
964 dmas = <&dma 33 0 0x2>, /* Logical - DevToMem */
965 <&dma 33 0 0x0>; /* Logical - MemToDev */
966 dma-names = "rx", "tx";
967 power-domains = <&pm_domains DOMAIN_VAPE>;
971 compatible = "arm,pl022", "arm,primecell";
972 reg = <0x80129000 0x1000>;
973 interrupts = <0 49 IRQ_TYPE_LEVEL_HIGH>;
974 #address-cells = <1>;
976 /* Same clock wired to kernel and pclk */
977 clocks = <&prcc_pclk 1 7>, <&prcc_pclk 1 7>;
978 clock-names = "SSPCLK", "apb_pclk";
979 dmas = <&dma 40 0 0x2>, /* Logical - DevToMem */
980 <&dma 40 0 0x0>; /* Logical - MemToDev */
981 dma-names = "rx", "tx";
982 power-domains = <&pm_domains DOMAIN_VAPE>;
985 ux500_serial0: uart@80120000 {
986 compatible = "arm,pl011", "arm,primecell";
987 reg = <0x80120000 0x1000>;
988 interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
990 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
991 <&dma 13 0 0x0>; /* Logical - MemToDev */
992 dma-names = "rx", "tx";
994 clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>;
995 clock-names = "uart", "apb_pclk";
1000 ux500_serial1: uart@80121000 {
1001 compatible = "arm,pl011", "arm,primecell";
1002 reg = <0x80121000 0x1000>;
1003 interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>;
1005 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
1006 <&dma 12 0 0x0>; /* Logical - MemToDev */
1007 dma-names = "rx", "tx";
1009 clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>;
1010 clock-names = "uart", "apb_pclk";
1012 status = "disabled";
1015 ux500_serial2: uart@80007000 {
1016 compatible = "arm,pl011", "arm,primecell";
1017 reg = <0x80007000 0x1000>;
1018 interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>;
1020 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
1021 <&dma 11 0 0x0>; /* Logical - MemToDev */
1022 dma-names = "rx", "tx";
1024 clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>;
1025 clock-names = "uart", "apb_pclk";
1027 status = "disabled";
1030 sdi0_per1@80126000 {
1031 compatible = "arm,pl18x", "arm,primecell";
1032 reg = <0x80126000 0x1000>;
1033 interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>;
1035 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
1036 <&dma 29 0 0x0>; /* Logical - MemToDev */
1037 dma-names = "rx", "tx";
1039 clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
1040 clock-names = "sdi", "apb_pclk";
1041 power-domains = <&pm_domains DOMAIN_VAPE>;
1043 status = "disabled";
1046 sdi1_per2@80118000 {
1047 compatible = "arm,pl18x", "arm,primecell";
1048 reg = <0x80118000 0x1000>;
1049 interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>;
1051 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
1052 <&dma 32 0 0x0>; /* Logical - MemToDev */
1053 dma-names = "rx", "tx";
1055 clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>;
1056 clock-names = "sdi", "apb_pclk";
1057 power-domains = <&pm_domains DOMAIN_VAPE>;
1059 status = "disabled";
1062 sdi2_per3@80005000 {
1063 compatible = "arm,pl18x", "arm,primecell";
1064 reg = <0x80005000 0x1000>;
1065 interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>;
1067 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
1068 <&dma 28 0 0x0>; /* Logical - MemToDev */
1069 dma-names = "rx", "tx";
1071 clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>;
1072 clock-names = "sdi", "apb_pclk";
1073 power-domains = <&pm_domains DOMAIN_VAPE>;
1075 status = "disabled";
1078 sdi3_per2@80119000 {
1079 compatible = "arm,pl18x", "arm,primecell";
1080 reg = <0x80119000 0x1000>;
1081 interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>;
1083 dmas = <&dma 41 0 0x2>, /* Logical - DevToMem */
1084 <&dma 41 0 0x0>; /* Logical - MemToDev */
1085 dma-names = "rx", "tx";
1087 clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>;
1088 clock-names = "sdi", "apb_pclk";
1089 power-domains = <&pm_domains DOMAIN_VAPE>;
1091 status = "disabled";
1094 sdi4_per2@80114000 {
1095 compatible = "arm,pl18x", "arm,primecell";
1096 reg = <0x80114000 0x1000>;
1097 interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>;
1099 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
1100 <&dma 42 0 0x0>; /* Logical - MemToDev */
1101 dma-names = "rx", "tx";
1103 clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>;
1104 clock-names = "sdi", "apb_pclk";
1105 power-domains = <&pm_domains DOMAIN_VAPE>;
1107 status = "disabled";
1110 sdi5_per3@80008000 {
1111 compatible = "arm,pl18x", "arm,primecell";
1112 reg = <0x80008000 0x1000>;
1113 interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
1115 dmas = <&dma 43 0 0x2>, /* Logical - DevToMem */
1116 <&dma 43 0 0x0>; /* Logical - MemToDev */
1117 dma-names = "rx", "tx";
1119 clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>;
1120 clock-names = "sdi", "apb_pclk";
1121 power-domains = <&pm_domains DOMAIN_VAPE>;
1123 status = "disabled";
1126 msp0: msp@80123000 {
1127 compatible = "stericsson,ux500-msp-i2s";
1128 reg = <0x80123000 0x1000>;
1129 interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>;
1130 v-ape-supply = <&db8500_vape_reg>;
1132 dmas = <&dma 31 0 0x12>, /* Logical - DevToMem - HighPrio */
1133 <&dma 31 0 0x10>; /* Logical - MemToDev - HighPrio */
1134 dma-names = "rx", "tx";
1136 clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>;
1137 clock-names = "msp", "apb_pclk";
1139 status = "disabled";
1142 msp1: msp@80124000 {
1143 compatible = "stericsson,ux500-msp-i2s";
1144 reg = <0x80124000 0x1000>;
1145 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
1146 v-ape-supply = <&db8500_vape_reg>;
1148 /* This DMA channel only exist on DB8500 v1 */
1149 dmas = <&dma 30 0 0x10>; /* Logical - MemToDev - HighPrio */
1152 clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>;
1153 clock-names = "msp", "apb_pclk";
1155 status = "disabled";
1159 msp2: msp@80117000 {
1160 compatible = "stericsson,ux500-msp-i2s";
1161 reg = <0x80117000 0x1000>;
1162 interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
1163 v-ape-supply = <&db8500_vape_reg>;
1165 dmas = <&dma 14 0 0x12>, /* Logical - DevToMem - HighPrio */
1166 <&dma 14 1 0x19>; /* Physical Chan 1 - MemToDev
1168 dma-names = "rx", "tx";
1170 clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>;
1171 clock-names = "msp", "apb_pclk";
1173 status = "disabled";
1176 msp3: msp@80125000 {
1177 compatible = "stericsson,ux500-msp-i2s";
1178 reg = <0x80125000 0x1000>;
1179 interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>;
1180 v-ape-supply = <&db8500_vape_reg>;
1182 /* This DMA channel only exist on DB8500 v2 */
1183 dmas = <&dma 30 0 0x12>; /* Logical - DevToMem - HighPrio */
1186 clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>;
1187 clock-names = "msp", "apb_pclk";
1189 status = "disabled";
1192 external-bus@50000000 {
1193 compatible = "simple-bus";
1194 reg = <0x50000000 0x4000000>;
1195 #address-cells = <1>;
1197 ranges = <0 0x50000000 0x4000000>;
1198 status = "disabled";
1202 compatible = "stericsson,db8500-cpufreq-cooling";
1203 status = "disabled";
1207 compatible = "stericsson,mcde";
1208 reg = <0xa0350000 0x1000>, /* MCDE */
1209 <0xa0351000 0x1000>, /* DSI link 1 */
1210 <0xa0352000 0x1000>, /* DSI link 2 */
1211 <0xa0353000 0x1000>; /* DSI link 3 */
1212 interrupts = <0 48 IRQ_TYPE_LEVEL_HIGH>;
1213 clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */
1214 <&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */
1215 <&prcmu_clk PRCMU_PLLDSI>, /* HDMI clock */
1216 <&prcmu_clk PRCMU_DSI0CLK>, /* DSI 0 */
1217 <&prcmu_clk PRCMU_DSI1CLK>, /* DSI 1 */
1218 <&prcmu_clk PRCMU_DSI0ESCCLK>, /* TVout clock 0 */
1219 <&prcmu_clk PRCMU_DSI1ESCCLK>, /* TVout clock 1 */
1220 <&prcmu_clk PRCMU_DSI2ESCCLK>; /* TVout clock 2 */
1224 compatible = "stericsson,ux500-cryp";
1225 reg = <0xa03cb000 0x1000>;
1226 interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>;
1228 v-ape-supply = <&db8500_vape_reg>;
1229 clocks = <&prcc_pclk 6 1>;
1233 compatible = "stericsson,ux500-hash";
1234 reg = <0xa03c2000 0x1000>;
1236 v-ape-supply = <&db8500_vape_reg>;
1237 clocks = <&prcc_pclk 6 2>;