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/interrupt-controller/arm-gic.h>
14 #include <dt-bindings/mfd/dbx500-prcmu.h>
15 #include <dt-bindings/arm/ux500_pm_domains.h>
16 #include <dt-bindings/gpio/gpio.h>
17 #include <dt-bindings/clock/ste-ab8500.h>
18 #include "skeleton.dtsi"
24 enable-method = "ste,dbx500-smp";
38 compatible = "arm,cortex-a9";
40 /* cpufreq controls */
41 operating-points = <998400 0
45 clocks = <&prcmu_clk PRCMU_ARMSS>;
47 clock-latency = <20000>;
51 compatible = "arm,cortex-a9";
59 compatible = "stericsson,db8500";
60 interrupt-parent = <&intc>;
64 compatible = "arm,coresight-etm3x", "arm,primecell";
65 reg = <0x801ae000 0x1000>;
67 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
68 clock-names = "apb_pclk", "atclk";
71 ptm0_out_port: endpoint {
72 remote-endpoint = <&funnel_in_port0>;
78 compatible = "arm,coresight-etm3x", "arm,primecell";
79 reg = <0x801af000 0x1000>;
81 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
82 clock-names = "apb_pclk", "atclk";
85 ptm1_out_port: endpoint {
86 remote-endpoint = <&funnel_in_port1>;
92 compatible = "arm,coresight-funnel", "arm,primecell";
93 reg = <0x801a6000 0x1000>;
95 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
96 clock-names = "apb_pclk", "atclk";
101 /* funnel output ports */
104 funnel_out_port: endpoint {
106 <&replicator_in_port0>;
110 /* funnel input ports */
113 funnel_in_port0: endpoint {
115 remote-endpoint = <&ptm0_out_port>;
121 funnel_in_port1: endpoint {
123 remote-endpoint = <&ptm1_out_port>;
130 compatible = "arm,coresight-replicator";
131 clocks = <&prcmu_clk PRCMU_APEATCLK>;
132 clock-names = "atclk";
135 #address-cells = <1>;
138 /* replicator output ports */
141 replicator_out_port0: endpoint {
142 remote-endpoint = <&tpiu_in_port>;
147 replicator_out_port1: endpoint {
148 remote-endpoint = <&etb_in_port>;
152 /* replicator input port */
155 replicator_in_port0: endpoint {
157 remote-endpoint = <&funnel_out_port>;
164 compatible = "arm,coresight-tpiu", "arm,primecell";
165 reg = <0x80190000 0x1000>;
167 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
168 clock-names = "apb_pclk", "atclk";
170 tpiu_in_port: endpoint {
172 remote-endpoint = <&replicator_out_port0>;
178 compatible = "arm,coresight-etb10", "arm,primecell";
179 reg = <0x801a4000 0x1000>;
181 clocks = <&prcmu_clk PRCMU_APETRACECLK>, <&prcmu_clk PRCMU_APEATCLK>;
182 clock-names = "apb_pclk", "atclk";
184 etb_in_port: endpoint {
186 remote-endpoint = <&replicator_out_port1>;
191 intc: interrupt-controller@a0411000 {
192 compatible = "arm,cortex-a9-gic";
193 #interrupt-cells = <3>;
194 #address-cells = <1>;
195 interrupt-controller;
196 reg = <0xa0411000 0x1000>,
201 compatible = "arm,cortex-a9-scu";
202 reg = <0xa0410000 0x100>;
206 * The backup RAM is used for retention during sleep
207 * and various things like spin tables
210 compatible = "ste,dbx500-backupram";
211 reg = <0x80150000 0x2000>;
215 compatible = "arm,pl310-cache";
216 reg = <0xa0412000 0x1000>;
217 interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
223 compatible = "arm,cortex-a9-pmu";
224 interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
227 pm_domains: pm_domains0 {
228 compatible = "stericsson,ux500-pm-domains";
229 #power-domain-cells = <1>;
233 compatible = "stericsson,u8500-clks";
235 * Registers for the CLKRST block on peripheral
236 * groups 1, 2, 3, 5, 6,
238 reg = <0x8012f000 0x1000>, <0x8011f000 0x1000>,
239 <0x8000f000 0x1000>, <0xa03ff000 0x1000>,
242 prcmu_clk: prcmu-clock {
246 prcc_pclk: prcc-periph-clock {
250 prcc_kclk: prcc-kernel-clock {
254 rtc_clk: rtc32k-clock {
258 smp_twd_clk: smp-twd-clock {
264 /* Nomadik System Timer */
265 compatible = "st,nomadik-mtu";
266 reg = <0xa03c6000 0x1000>;
267 interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
269 clocks = <&prcmu_clk PRCMU_TIMCLK>, <&prcc_pclk 6 6>;
270 clock-names = "timclk", "apb_pclk";
274 compatible = "arm,cortex-a9-twd-timer";
275 reg = <0xa0410600 0x20>;
276 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
278 clocks = <&smp_twd_clk>;
282 compatible = "arm,cortex-a9-twd-wdt";
283 reg = <0xa0410620 0x20>;
284 interrupts = <GIC_PPI 14 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
285 clocks = <&smp_twd_clk>;
289 compatible = "arm,rtc-pl031", "arm,primecell";
290 reg = <0x80154000 0x1000>;
291 interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>;
294 clock-names = "apb_pclk";
297 gpio0: gpio@8012e000 {
298 compatible = "stericsson,db8500-gpio",
300 reg = <0x8012e000 0x80>;
301 interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>;
302 interrupt-controller;
303 #interrupt-cells = <2>;
304 st,supports-sleepmode;
308 gpio-ranges = <&pinctrl 0 0 32>;
309 clocks = <&prcc_pclk 1 9>;
312 gpio1: gpio@8012e080 {
313 compatible = "stericsson,db8500-gpio",
315 reg = <0x8012e080 0x80>;
316 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
317 interrupt-controller;
318 #interrupt-cells = <2>;
319 st,supports-sleepmode;
323 gpio-ranges = <&pinctrl 0 32 5>;
324 clocks = <&prcc_pclk 1 9>;
327 gpio2: gpio@8000e000 {
328 compatible = "stericsson,db8500-gpio",
330 reg = <0x8000e000 0x80>;
331 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
332 interrupt-controller;
333 #interrupt-cells = <2>;
334 st,supports-sleepmode;
338 gpio-ranges = <&pinctrl 0 64 32>;
339 clocks = <&prcc_pclk 3 8>;
342 gpio3: gpio@8000e080 {
343 compatible = "stericsson,db8500-gpio",
345 reg = <0x8000e080 0x80>;
346 interrupts = <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>;
347 interrupt-controller;
348 #interrupt-cells = <2>;
349 st,supports-sleepmode;
353 gpio-ranges = <&pinctrl 0 96 2>;
354 clocks = <&prcc_pclk 3 8>;
357 gpio4: gpio@8000e100 {
358 compatible = "stericsson,db8500-gpio",
360 reg = <0x8000e100 0x80>;
361 interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>;
362 interrupt-controller;
363 #interrupt-cells = <2>;
364 st,supports-sleepmode;
368 gpio-ranges = <&pinctrl 0 128 32>;
369 clocks = <&prcc_pclk 3 8>;
372 gpio5: gpio@8000e180 {
373 compatible = "stericsson,db8500-gpio",
375 reg = <0x8000e180 0x80>;
376 interrupts = <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>;
377 interrupt-controller;
378 #interrupt-cells = <2>;
379 st,supports-sleepmode;
383 gpio-ranges = <&pinctrl 0 160 12>;
384 clocks = <&prcc_pclk 3 8>;
387 gpio6: gpio@8011e000 {
388 compatible = "stericsson,db8500-gpio",
390 reg = <0x8011e000 0x80>;
391 interrupts = <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>;
392 interrupt-controller;
393 #interrupt-cells = <2>;
394 st,supports-sleepmode;
398 gpio-ranges = <&pinctrl 0 192 32>;
399 clocks = <&prcc_pclk 2 11>;
402 gpio7: gpio@8011e080 {
403 compatible = "stericsson,db8500-gpio",
405 reg = <0x8011e080 0x80>;
406 interrupts = <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>;
407 interrupt-controller;
408 #interrupt-cells = <2>;
409 st,supports-sleepmode;
413 gpio-ranges = <&pinctrl 0 224 7>;
414 clocks = <&prcc_pclk 2 11>;
417 gpio8: gpio@a03fe000 {
418 compatible = "stericsson,db8500-gpio",
420 reg = <0xa03fe000 0x80>;
421 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
422 interrupt-controller;
423 #interrupt-cells = <2>;
424 st,supports-sleepmode;
428 gpio-ranges = <&pinctrl 0 256 12>;
429 clocks = <&prcc_pclk 5 1>;
433 compatible = "stericsson,db8500-pinctrl";
434 nomadik-gpio-chips = <&gpio0>, <&gpio1>, <&gpio2>, <&gpio3>,
435 <&gpio4>, <&gpio5>, <&gpio6>, <&gpio7>,
441 compatible = "stericsson,db8500-musb";
442 reg = <0xa03e0000 0x10000>;
443 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
444 interrupt-names = "mc";
448 dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */
449 <&dma 38 0 0x0>, /* Logical - MemToDev */
450 <&dma 37 0 0x2>, /* Logical - DevToMem */
451 <&dma 37 0 0x0>, /* Logical - MemToDev */
452 <&dma 36 0 0x2>, /* Logical - DevToMem */
453 <&dma 36 0 0x0>, /* Logical - MemToDev */
454 <&dma 19 0 0x2>, /* Logical - DevToMem */
455 <&dma 19 0 0x0>, /* Logical - MemToDev */
456 <&dma 18 0 0x2>, /* Logical - DevToMem */
457 <&dma 18 0 0x0>, /* Logical - MemToDev */
458 <&dma 17 0 0x2>, /* Logical - DevToMem */
459 <&dma 17 0 0x0>, /* Logical - MemToDev */
460 <&dma 16 0 0x2>, /* Logical - DevToMem */
461 <&dma 16 0 0x0>, /* Logical - MemToDev */
462 <&dma 39 0 0x2>, /* Logical - DevToMem */
463 <&dma 39 0 0x0>; /* Logical - MemToDev */
465 dma-names = "iep_1_9", "oep_1_9",
466 "iep_2_10", "oep_2_10",
467 "iep_3_11", "oep_3_11",
468 "iep_4_12", "oep_4_12",
469 "iep_5_13", "oep_5_13",
470 "iep_6_14", "oep_6_14",
471 "iep_7_15", "oep_7_15",
474 clocks = <&prcc_pclk 5 0>;
477 dma: dma-controller@801C0000 {
478 compatible = "stericsson,db8500-dma40", "stericsson,dma40";
479 reg = <0x801C0000 0x1000 0x40010000 0x800>;
480 reg-names = "base", "lcpa";
481 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
484 memcpy-channels = <56 57 58 59 60>;
486 clocks = <&prcmu_clk PRCMU_DMACLK>;
489 prcmu: prcmu@80157000 {
490 compatible = "stericsson,db8500-prcmu";
491 reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>;
492 reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm";
493 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
494 #address-cells = <1>;
496 interrupt-controller;
497 #interrupt-cells = <2>;
500 prcmu-timer-4@80157450 {
501 compatible = "stericsson,db8500-prcmu-timer-4";
502 reg = <0x80157450 0xC>;
506 compatible = "stericsson,db8500-thermal";
507 reg = <0x801573c0 0x40>;
508 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>,
509 <22 IRQ_TYPE_LEVEL_HIGH>;
510 interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH";
514 db8500-prcmu-regulators {
515 compatible = "stericsson,db8500-prcmu-regulator";
517 // DB8500_REGULATOR_VAPE
518 db8500_vape_reg: db8500_vape {
522 // DB8500_REGULATOR_VARM
523 db8500_varm_reg: db8500_varm {
526 // DB8500_REGULATOR_VMODEM
527 db8500_vmodem_reg: db8500_vmodem {
530 // DB8500_REGULATOR_VPLL
531 db8500_vpll_reg: db8500_vpll {
534 // DB8500_REGULATOR_VSMPS1
535 db8500_vsmps1_reg: db8500_vsmps1 {
538 // DB8500_REGULATOR_VSMPS2
539 db8500_vsmps2_reg: db8500_vsmps2 {
542 // DB8500_REGULATOR_VSMPS3
543 db8500_vsmps3_reg: db8500_vsmps3 {
546 // DB8500_REGULATOR_VRF1
547 db8500_vrf1_reg: db8500_vrf1 {
550 // DB8500_REGULATOR_SWITCH_SVAMMDSP
551 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
554 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
555 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
558 // DB8500_REGULATOR_SWITCH_SVAPIPE
559 db8500_sva_pipe_reg: db8500_sva_pipe {
562 // DB8500_REGULATOR_SWITCH_SIAMMDSP
563 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
566 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
567 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
570 // DB8500_REGULATOR_SWITCH_SIAPIPE
571 db8500_sia_pipe_reg: db8500_sia_pipe {
574 // DB8500_REGULATOR_SWITCH_SGA
575 db8500_sga_reg: db8500_sga {
576 vin-supply = <&db8500_vape_reg>;
579 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
580 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
581 vin-supply = <&db8500_vape_reg>;
584 // DB8500_REGULATOR_SWITCH_ESRAM12
585 db8500_esram12_reg: db8500_esram12 {
588 // DB8500_REGULATOR_SWITCH_ESRAM12RET
589 db8500_esram12_ret_reg: db8500_esram12_ret {
592 // DB8500_REGULATOR_SWITCH_ESRAM34
593 db8500_esram34_reg: db8500_esram34 {
596 // DB8500_REGULATOR_SWITCH_ESRAM34RET
597 db8500_esram34_ret_reg: db8500_esram34_ret {
602 compatible = "stericsson,ab8500";
603 interrupt-parent = <&intc>;
604 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
605 interrupt-controller;
606 #interrupt-cells = <2>;
608 ab8500_clock: clock-controller {
609 compatible = "stericsson,ab8500-clk";
613 ab8500_gpio: ab8500-gpio {
614 compatible = "stericsson,ab8500-gpio";
620 compatible = "stericsson,ab8500-rtc";
621 interrupts = <17 IRQ_TYPE_LEVEL_HIGH
622 18 IRQ_TYPE_LEVEL_HIGH>;
623 interrupt-names = "60S", "ALARM";
627 compatible = "stericsson,ab8500-gpadc";
628 interrupts = <32 IRQ_TYPE_LEVEL_HIGH
629 39 IRQ_TYPE_LEVEL_HIGH>;
630 interrupt-names = "HW_CONV_END", "SW_CONV_END";
631 vddadc-supply = <&ab8500_ldo_tvout_reg>;
634 ab8500_battery: ab8500_battery {
635 stericsson,battery-type = "LIPO";
636 thermistor-on-batctrl;
640 compatible = "stericsson,ab8500-fg";
641 battery = <&ab8500_battery>;
645 compatible = "stericsson,ab8500-btemp";
646 battery = <&ab8500_battery>;
650 compatible = "stericsson,ab8500-charger";
651 battery = <&ab8500_battery>;
652 vddadc-supply = <&ab8500_ldo_tvout_reg>;
656 compatible = "stericsson,ab8500-chargalg";
657 battery = <&ab8500_battery>;
661 compatible = "stericsson,ab8500-usb";
662 interrupts = < 90 IRQ_TYPE_LEVEL_HIGH
663 96 IRQ_TYPE_LEVEL_HIGH
664 14 IRQ_TYPE_LEVEL_HIGH
665 15 IRQ_TYPE_LEVEL_HIGH
666 79 IRQ_TYPE_LEVEL_HIGH
667 74 IRQ_TYPE_LEVEL_HIGH
668 75 IRQ_TYPE_LEVEL_HIGH>;
669 interrupt-names = "ID_WAKEUP_R",
674 "USB_ADP_PROBE_PLUG",
675 "USB_ADP_PROBE_UNPLUG";
676 vddulpivio18-supply = <&ab8500_ldo_intcore_reg>;
677 v-ape-supply = <&db8500_vape_reg>;
678 musb_1v8-supply = <&db8500_vsmps2_reg>;
679 clocks = <&prcmu_clk PRCMU_SYSCLK>;
680 clock-names = "sysclk";
684 compatible = "stericsson,ab8500-poweron-key";
685 interrupts = <6 IRQ_TYPE_LEVEL_HIGH
686 7 IRQ_TYPE_LEVEL_HIGH>;
687 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
691 compatible = "stericsson,ab8500-sysctrl";
695 compatible = "stericsson,ab8500-pwm";
696 clocks = <&ab8500_clock AB8500_SYSCLK_INT>;
697 clock-names = "intclk";
701 compatible = "stericsson,ab8500-debug";
704 codec: ab8500-codec {
705 compatible = "stericsson,ab8500-codec";
707 V-AUD-supply = <&ab8500_ldo_audio_reg>;
708 V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>;
709 V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>;
710 V-DMIC-supply = <&ab8500_ldo_dmic_reg>;
712 clocks = <&ab8500_clock AB8500_SYSCLK_AUDIO>;
713 clock-names = "audioclk";
715 stericsson,earpeice-cmv = <950>; /* Units in mV. */
718 ext_regulators: ab8500-ext-regulators {
719 compatible = "stericsson,ab8500-ext-regulator";
721 ab8500_ext1_reg: ab8500_ext1 {
722 regulator-min-microvolt = <1800000>;
723 regulator-max-microvolt = <1800000>;
728 ab8500_ext2_reg: ab8500_ext2 {
729 regulator-min-microvolt = <1360000>;
730 regulator-max-microvolt = <1360000>;
735 ab8500_ext3_reg: ab8500_ext3 {
736 regulator-min-microvolt = <3400000>;
737 regulator-max-microvolt = <3400000>;
743 compatible = "stericsson,ab8500-regulator";
744 vin-supply = <&ab8500_ext3_reg>;
746 // supplies to the display/camera
747 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
748 regulator-min-microvolt = <2500000>;
749 regulator-max-microvolt = <2900000>;
751 /* BUG: If turned off MMC will be affected. */
755 // supplies to the on-board eMMC
756 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
757 regulator-min-microvolt = <1100000>;
758 regulator-max-microvolt = <3300000>;
761 // supply for VAUX3; SDcard slots
762 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
763 regulator-min-microvolt = <1100000>;
764 regulator-max-microvolt = <3300000>;
767 // supply for v-intcore12; VINTCORE12 LDO
768 ab8500_ldo_intcore_reg: ab8500_ldo_intcore {
771 // supply for tvout; gpadc; TVOUT LDO
772 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
775 // supply for ab8500-usb; USB LDO
776 ab8500_ldo_usb_reg: ab8500_ldo_usb {
779 // supply for ab8500-vaudio; VAUDIO LDO
780 ab8500_ldo_audio_reg: ab8500_ldo_audio {
783 // supply for v-anamic1 VAMIC1 LDO
784 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
787 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
788 ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 {
791 // supply for v-dmic; VDMIC LDO
792 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
795 // supply for U8500 CSI/DSI; VANA LDO
796 ab8500_ldo_ana_reg: ab8500_ldo_ana {
803 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
804 reg = <0x80004000 0x1000>;
805 interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
807 #address-cells = <1>;
809 v-i2c-supply = <&db8500_vape_reg>;
811 clock-frequency = <400000>;
812 clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>;
813 clock-names = "i2cclk", "apb_pclk";
814 power-domains = <&pm_domains DOMAIN_VAPE>;
818 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
819 reg = <0x80122000 0x1000>;
820 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
822 #address-cells = <1>;
824 v-i2c-supply = <&db8500_vape_reg>;
826 clock-frequency = <400000>;
828 clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>;
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 = <0x80128000 0x1000>;
836 interrupts = <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>;
838 #address-cells = <1>;
840 v-i2c-supply = <&db8500_vape_reg>;
842 clock-frequency = <400000>;
844 clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>;
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 = <0x80110000 0x1000>;
852 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
854 #address-cells = <1>;
856 v-i2c-supply = <&db8500_vape_reg>;
858 clock-frequency = <400000>;
860 clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>;
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 = <0x8012a000 0x1000>;
868 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
870 #address-cells = <1>;
872 v-i2c-supply = <&db8500_vape_reg>;
874 clock-frequency = <400000>;
876 clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 10>;
877 clock-names = "i2cclk", "apb_pclk";
878 power-domains = <&pm_domains DOMAIN_VAPE>;
882 compatible = "arm,pl022", "arm,primecell";
883 reg = <0x80002000 0x1000>;
884 interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
885 #address-cells = <1>;
887 clocks = <&prcc_kclk 3 1>, <&prcc_pclk 3 1>;
888 clock-names = "SSPCLK", "apb_pclk";
889 dmas = <&dma 8 0 0x2>, /* Logical - DevToMem */
890 <&dma 8 0 0x0>; /* Logical - MemToDev */
891 dma-names = "rx", "tx";
892 power-domains = <&pm_domains DOMAIN_VAPE>;
896 compatible = "arm,pl022", "arm,primecell";
897 reg = <0x80003000 0x1000>;
898 interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>;
899 #address-cells = <1>;
901 clocks = <&prcc_kclk 3 2>, <&prcc_pclk 3 2>;
902 clock-names = "SSPCLK", "apb_pclk";
903 dmas = <&dma 9 0 0x2>, /* Logical - DevToMem */
904 <&dma 9 0 0x0>; /* Logical - MemToDev */
905 dma-names = "rx", "tx";
906 power-domains = <&pm_domains DOMAIN_VAPE>;
910 compatible = "arm,pl022", "arm,primecell";
911 reg = <0x8011a000 0x1000>;
912 interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
913 #address-cells = <1>;
915 /* Same clock wired to kernel and pclk */
916 clocks = <&prcc_pclk 2 8>, <&prcc_pclk 2 8>;
917 clock-names = "SSPCLK", "apb_pclk";
918 dmas = <&dma 0 0 0x2>, /* Logical - DevToMem */
919 <&dma 0 0 0x0>; /* Logical - MemToDev */
920 dma-names = "rx", "tx";
921 power-domains = <&pm_domains DOMAIN_VAPE>;
925 compatible = "arm,pl022", "arm,primecell";
926 reg = <0x80112000 0x1000>;
927 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
928 #address-cells = <1>;
930 /* Same clock wired to kernel and pclk */
931 clocks = <&prcc_pclk 2 2>, <&prcc_pclk 2 2>;
932 clock-names = "SSPCLK", "apb_pclk";
933 dmas = <&dma 35 0 0x2>, /* Logical - DevToMem */
934 <&dma 35 0 0x0>; /* Logical - MemToDev */
935 dma-names = "rx", "tx";
936 power-domains = <&pm_domains DOMAIN_VAPE>;
940 compatible = "arm,pl022", "arm,primecell";
941 reg = <0x80111000 0x1000>;
942 interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
943 #address-cells = <1>;
945 /* Same clock wired to kernel and pclk */
946 clocks = <&prcc_pclk 2 1>, <&prcc_pclk 2 1>;
947 clock-names = "SSPCLK", "apb_pclk";
948 dmas = <&dma 33 0 0x2>, /* Logical - DevToMem */
949 <&dma 33 0 0x0>; /* Logical - MemToDev */
950 dma-names = "rx", "tx";
951 power-domains = <&pm_domains DOMAIN_VAPE>;
955 compatible = "arm,pl022", "arm,primecell";
956 reg = <0x80129000 0x1000>;
957 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
958 #address-cells = <1>;
960 /* Same clock wired to kernel and pclk */
961 clocks = <&prcc_pclk 1 7>, <&prcc_pclk 1 7>;
962 clock-names = "SSPCLK", "apb_pclk";
963 dmas = <&dma 40 0 0x2>, /* Logical - DevToMem */
964 <&dma 40 0 0x0>; /* Logical - MemToDev */
965 dma-names = "rx", "tx";
966 power-domains = <&pm_domains DOMAIN_VAPE>;
969 ux500_serial0: uart@80120000 {
970 compatible = "arm,pl011", "arm,primecell";
971 reg = <0x80120000 0x1000>;
972 interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
974 dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
975 <&dma 13 0 0x0>; /* Logical - MemToDev */
976 dma-names = "rx", "tx";
978 clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>;
979 clock-names = "uart", "apb_pclk";
984 ux500_serial1: uart@80121000 {
985 compatible = "arm,pl011", "arm,primecell";
986 reg = <0x80121000 0x1000>;
987 interrupts = <GIC_SPI 19 IRQ_TYPE_LEVEL_HIGH>;
989 dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */
990 <&dma 12 0 0x0>; /* Logical - MemToDev */
991 dma-names = "rx", "tx";
993 clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>;
994 clock-names = "uart", "apb_pclk";
999 ux500_serial2: uart@80007000 {
1000 compatible = "arm,pl011", "arm,primecell";
1001 reg = <0x80007000 0x1000>;
1002 interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
1004 dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */
1005 <&dma 11 0 0x0>; /* Logical - MemToDev */
1006 dma-names = "rx", "tx";
1008 clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>;
1009 clock-names = "uart", "apb_pclk";
1011 status = "disabled";
1014 sdi0_per1@80126000 {
1015 compatible = "arm,pl18x", "arm,primecell";
1016 reg = <0x80126000 0x1000>;
1017 interrupts = <GIC_SPI 60 IRQ_TYPE_LEVEL_HIGH>;
1019 dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */
1020 <&dma 29 0 0x0>; /* Logical - MemToDev */
1021 dma-names = "rx", "tx";
1023 clocks = <&prcc_kclk 1 5>, <&prcc_pclk 1 5>;
1024 clock-names = "sdi", "apb_pclk";
1025 power-domains = <&pm_domains DOMAIN_VAPE>;
1027 status = "disabled";
1030 sdi1_per2@80118000 {
1031 compatible = "arm,pl18x", "arm,primecell";
1032 reg = <0x80118000 0x1000>;
1033 interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
1035 dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */
1036 <&dma 32 0 0x0>; /* Logical - MemToDev */
1037 dma-names = "rx", "tx";
1039 clocks = <&prcc_kclk 2 4>, <&prcc_pclk 2 6>;
1040 clock-names = "sdi", "apb_pclk";
1041 power-domains = <&pm_domains DOMAIN_VAPE>;
1043 status = "disabled";
1046 sdi2_per3@80005000 {
1047 compatible = "arm,pl18x", "arm,primecell";
1048 reg = <0x80005000 0x1000>;
1049 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
1051 dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */
1052 <&dma 28 0 0x0>; /* Logical - MemToDev */
1053 dma-names = "rx", "tx";
1055 clocks = <&prcc_kclk 3 4>, <&prcc_pclk 3 4>;
1056 clock-names = "sdi", "apb_pclk";
1057 power-domains = <&pm_domains DOMAIN_VAPE>;
1059 status = "disabled";
1062 sdi3_per2@80119000 {
1063 compatible = "arm,pl18x", "arm,primecell";
1064 reg = <0x80119000 0x1000>;
1065 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
1067 dmas = <&dma 41 0 0x2>, /* Logical - DevToMem */
1068 <&dma 41 0 0x0>; /* Logical - MemToDev */
1069 dma-names = "rx", "tx";
1071 clocks = <&prcc_kclk 2 5>, <&prcc_pclk 2 7>;
1072 clock-names = "sdi", "apb_pclk";
1073 power-domains = <&pm_domains DOMAIN_VAPE>;
1075 status = "disabled";
1078 sdi4_per2@80114000 {
1079 compatible = "arm,pl18x", "arm,primecell";
1080 reg = <0x80114000 0x1000>;
1081 interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
1083 dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */
1084 <&dma 42 0 0x0>; /* Logical - MemToDev */
1085 dma-names = "rx", "tx";
1087 clocks = <&prcc_kclk 2 2>, <&prcc_pclk 2 4>;
1088 clock-names = "sdi", "apb_pclk";
1089 power-domains = <&pm_domains DOMAIN_VAPE>;
1091 status = "disabled";
1094 sdi5_per3@80008000 {
1095 compatible = "arm,pl18x", "arm,primecell";
1096 reg = <0x80008000 0x1000>;
1097 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
1099 dmas = <&dma 43 0 0x2>, /* Logical - DevToMem */
1100 <&dma 43 0 0x0>; /* Logical - MemToDev */
1101 dma-names = "rx", "tx";
1103 clocks = <&prcc_kclk 3 7>, <&prcc_pclk 3 7>;
1104 clock-names = "sdi", "apb_pclk";
1105 power-domains = <&pm_domains DOMAIN_VAPE>;
1107 status = "disabled";
1111 compatible = "stericsson,snd-soc-mop500";
1112 stericsson,cpu-dai = <&msp1 &msp3>;
1113 stericsson,audio-codec = <&codec>;
1114 clocks = <&prcmu_clk PRCMU_SYSCLK>, <&ab8500_clock AB8500_SYSCLK_ULP>, <&ab8500_clock AB8500_SYSCLK_INT>;
1115 clock-names = "sysclk", "ulpclk", "intclk";
1118 msp0: msp@80123000 {
1119 compatible = "stericsson,ux500-msp-i2s";
1120 reg = <0x80123000 0x1000>;
1121 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
1122 v-ape-supply = <&db8500_vape_reg>;
1124 dmas = <&dma 31 0 0x12>, /* Logical - DevToMem - HighPrio */
1125 <&dma 31 0 0x10>; /* Logical - MemToDev - HighPrio */
1126 dma-names = "rx", "tx";
1128 clocks = <&prcc_kclk 1 3>, <&prcc_pclk 1 3>;
1129 clock-names = "msp", "apb_pclk";
1131 status = "disabled";
1134 msp1: msp@80124000 {
1135 compatible = "stericsson,ux500-msp-i2s";
1136 reg = <0x80124000 0x1000>;
1137 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
1138 v-ape-supply = <&db8500_vape_reg>;
1140 /* This DMA channel only exist on DB8500 v1 */
1141 dmas = <&dma 30 0 0x10>; /* Logical - MemToDev - HighPrio */
1144 clocks = <&prcc_kclk 1 4>, <&prcc_pclk 1 4>;
1145 clock-names = "msp", "apb_pclk";
1147 status = "disabled";
1151 msp2: msp@80117000 {
1152 compatible = "stericsson,ux500-msp-i2s";
1153 reg = <0x80117000 0x1000>;
1154 interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
1155 v-ape-supply = <&db8500_vape_reg>;
1157 dmas = <&dma 14 0 0x12>, /* Logical - DevToMem - HighPrio */
1158 <&dma 14 1 0x19>; /* Physical Chan 1 - MemToDev
1160 dma-names = "rx", "tx";
1162 clocks = <&prcc_kclk 2 3>, <&prcc_pclk 2 5>;
1163 clock-names = "msp", "apb_pclk";
1165 status = "disabled";
1168 msp3: msp@80125000 {
1169 compatible = "stericsson,ux500-msp-i2s";
1170 reg = <0x80125000 0x1000>;
1171 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
1172 v-ape-supply = <&db8500_vape_reg>;
1174 /* This DMA channel only exist on DB8500 v2 */
1175 dmas = <&dma 30 0 0x12>; /* Logical - DevToMem - HighPrio */
1178 clocks = <&prcc_kclk 1 10>, <&prcc_pclk 1 11>;
1179 clock-names = "msp", "apb_pclk";
1181 status = "disabled";
1184 external-bus@50000000 {
1185 compatible = "simple-bus";
1186 reg = <0x50000000 0x4000000>;
1187 #address-cells = <1>;
1189 ranges = <0 0x50000000 0x4000000>;
1190 status = "disabled";
1194 compatible = "stericsson,mcde";
1195 reg = <0xa0350000 0x1000>, /* MCDE */
1196 <0xa0351000 0x1000>, /* DSI link 1 */
1197 <0xa0352000 0x1000>, /* DSI link 2 */
1198 <0xa0353000 0x1000>; /* DSI link 3 */
1199 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1200 clocks = <&prcmu_clk PRCMU_MCDECLK>, /* Main MCDE clock */
1201 <&prcmu_clk PRCMU_LCDCLK>, /* LCD clock */
1202 <&prcmu_clk PRCMU_PLLDSI>, /* HDMI clock */
1203 <&prcmu_clk PRCMU_DSI0CLK>, /* DSI 0 */
1204 <&prcmu_clk PRCMU_DSI1CLK>, /* DSI 1 */
1205 <&prcmu_clk PRCMU_DSI0ESCCLK>, /* TVout clock 0 */
1206 <&prcmu_clk PRCMU_DSI1ESCCLK>, /* TVout clock 1 */
1207 <&prcmu_clk PRCMU_DSI2ESCCLK>; /* TVout clock 2 */
1211 compatible = "stericsson,ux500-cryp";
1212 reg = <0xa03cb000 0x1000>;
1213 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
1215 v-ape-supply = <&db8500_vape_reg>;
1216 clocks = <&prcc_pclk 6 1>;
1220 compatible = "stericsson,ux500-hash";
1221 reg = <0xa03c2000 0x1000>;
1223 v-ape-supply = <&db8500_vape_reg>;
1224 clocks = <&prcc_pclk 6 2>;