1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
5 * Based on "omap4.dtsi"
8 #include <dt-bindings/bus/ti-sysc.h>
9 #include <dt-bindings/clock/dra7.h>
10 #include <dt-bindings/interrupt-controller/arm-gic.h>
11 #include <dt-bindings/pinctrl/dra.h>
12 #include <dt-bindings/clock/dra7.h>
14 #define MAX_SOURCES 400
20 compatible = "ti,dra7xx";
21 interrupt-parent = <&crossbar_mpu>;
40 ethernet0 = &cpsw_port1;
41 ethernet1 = &cpsw_port2;
48 compatible = "arm,armv7-timer";
49 status = "disabled"; /* See ARM architected timer wrap erratum i940 */
50 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
51 <GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
52 <GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
53 <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
54 interrupt-parent = <&gic>;
57 gic: interrupt-controller@48211000 {
58 compatible = "arm,cortex-a15-gic";
60 #interrupt-cells = <3>;
61 reg = <0x0 0x48211000 0x0 0x1000>,
62 <0x0 0x48212000 0x0 0x2000>,
63 <0x0 0x48214000 0x0 0x2000>,
64 <0x0 0x48216000 0x0 0x2000>;
65 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
66 interrupt-parent = <&gic>;
69 wakeupgen: interrupt-controller@48281000 {
70 compatible = "ti,omap5-wugen-mpu", "ti,omap4-wugen-mpu";
72 #interrupt-cells = <3>;
73 reg = <0x0 0x48281000 0x0 0x1000>;
74 interrupt-parent = <&gic>;
83 compatible = "arm,cortex-a15";
86 operating-points-v2 = <&cpu0_opp_table>;
88 clocks = <&dpll_mpu_ck>;
91 clock-latency = <300000>; /* From omap-cpufreq driver */
94 #cooling-cells = <2>; /* min followed by max */
96 vbb-supply = <&abb_mpu>;
100 cpu0_opp_table: opp-table {
101 compatible = "operating-points-v2-ti-cpu";
102 syscon = <&scm_wkup>;
106 opp-hz = /bits/ 64 <1000000000>;
107 opp-microvolt = <1060000 850000 1150000>,
108 <1060000 850000 1150000>;
109 opp-supported-hw = <0xFF 0x01>;
115 opp-hz = /bits/ 64 <1176000000>;
116 opp-microvolt = <1160000 885000 1160000>,
117 <1160000 885000 1160000>;
119 opp-supported-hw = <0xFF 0x02>;
124 opp-hz = /bits/ 64 <1500000000>;
125 opp-microvolt = <1210000 950000 1250000>,
126 <1210000 950000 1250000>;
127 opp-supported-hw = <0xFF 0x04>;
132 * XXX: Use a flat representation of the SOC interconnect.
133 * The real OMAP interconnect network is quite complex.
134 * Since it will not bring real advantage to represent that in DT for
135 * the moment, just use a fake OCP bus entry to represent the whole bus
139 compatible = "simple-pm-bus";
140 power-domains = <&prm_core>;
141 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_L3_MAIN_1_CLKCTRL 0>,
142 <&l3instr_clkctrl DRA7_L3INSTR_L3_MAIN_2_CLKCTRL 0>;
143 #address-cells = <1>;
145 ranges = <0x0 0x0 0x0 0xc0000000>;
146 dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>;
149 compatible = "ti,dra7-l3-noc";
150 reg = <0x44000000 0x1000>,
152 interrupts-extended = <&crossbar_mpu GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
153 <&wakeupgen GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
156 l4_cfg: interconnect@4a000000 {
158 l4_wkup: interconnect@4ae00000 {
160 l4_per1: interconnect@48000000 {
163 target-module@48210000 {
164 compatible = "ti,sysc-omap4-simple", "ti,sysc";
165 power-domains = <&prm_mpu>;
166 clocks = <&mpu_clkctrl DRA7_MPU_MPU_CLKCTRL 0>;
168 #address-cells = <1>;
170 ranges = <0 0x48210000 0x1f0000>;
173 compatible = "ti,omap5-mpu";
177 l4_per2: interconnect@48400000 {
179 l4_per3: interconnect@48800000 {
183 * Register access seems to have complex dependencies and also
184 * seems to need an enabled phy. See the TRM chapter for "Table
185 * 26-678. Main Sequence PCIe Controller Global Initialization"
186 * and also dra7xx_pcie_probe().
188 axi0: target-module@51000000 {
189 compatible = "ti,sysc-omap4", "ti,sysc";
190 power-domains = <&prm_l3init>;
191 resets = <&prm_l3init 0>;
192 reset-names = "rstctrl";
193 clocks = <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 0>,
194 <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 9>,
195 <&pcie_clkctrl DRA7_PCIE_PCIE1_CLKCTRL 10>;
196 clock-names = "fck", "phy-clk", "phy-clk-div";
198 #address-cells = <1>;
199 ranges = <0x51000000 0x51000000 0x3000>,
200 <0x20000000 0x20000000 0x10000000>;
203 * To enable PCI endpoint mode, disable the pcie1_rc
204 * node and enable pcie1_ep mode.
206 pcie1_rc: pcie@51000000 {
207 reg = <0x51000000 0x2000>,
210 reg-names = "rc_dbics", "ti_conf", "config";
211 interrupts = <0 232 0x4>, <0 233 0x4>;
212 #address-cells = <3>;
215 ranges = <0x81000000 0 0x00000000 0x20003000 0 0x00010000>,
216 <0x82000000 0 0x20013000 0x20013000 0 0x0ffed000>;
217 bus-range = <0x00 0xff>;
218 #interrupt-cells = <1>;
220 linux,pci-domain = <0>;
222 phy-names = "pcie-phy0";
223 ti,syscon-lane-sel = <&scm_conf_pcie 0x18>;
224 interrupt-map-mask = <0 0 0 7>;
225 interrupt-map = <0 0 0 1 &pcie1_intc 1>,
226 <0 0 0 2 &pcie1_intc 2>,
227 <0 0 0 3 &pcie1_intc 3>,
228 <0 0 0 4 &pcie1_intc 4>;
229 ti,syscon-unaligned-access = <&scm_conf1 0x14 1>;
231 pcie1_intc: interrupt-controller {
232 interrupt-controller;
233 #address-cells = <0>;
234 #interrupt-cells = <1>;
238 pcie1_ep: pcie_ep@51000000 {
239 reg = <0x51000000 0x28>,
242 <0x20001000 0x10000000>;
243 reg-names = "ep_dbics", "ti_conf", "ep_dbics2", "addr_space";
244 interrupts = <0 232 0x4>;
246 num-ib-windows = <4>;
247 num-ob-windows = <16>;
249 phy-names = "pcie-phy0";
250 ti,syscon-unaligned-access = <&scm_conf1 0x14 1>;
251 ti,syscon-lane-sel = <&scm_conf_pcie 0x18>;
257 * Register access seems to have complex dependencies and also
258 * seems to need an enabled phy. See the TRM chapter for "Table
259 * 26-678. Main Sequence PCIe Controller Global Initialization"
260 * and also dra7xx_pcie_probe().
262 axi1: target-module@51800000 {
263 compatible = "ti,sysc-omap4", "ti,sysc";
264 clocks = <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 0>,
265 <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 9>,
266 <&pcie_clkctrl DRA7_PCIE_PCIE2_CLKCTRL 10>;
267 clock-names = "fck", "phy-clk", "phy-clk-div";
268 power-domains = <&prm_l3init>;
269 resets = <&prm_l3init 1>;
270 reset-names = "rstctrl";
272 #address-cells = <1>;
273 ranges = <0x51800000 0x51800000 0x3000>,
274 <0x30000000 0x30000000 0x10000000>;
277 pcie2_rc: pcie@51800000 {
278 reg = <0x51800000 0x2000>,
281 reg-names = "rc_dbics", "ti_conf", "config";
282 interrupts = <0 355 0x4>, <0 356 0x4>;
283 #address-cells = <3>;
286 ranges = <0x81000000 0 0x00000000 0x30003000 0 0x00010000>,
287 <0x82000000 0 0x30013000 0x30013000 0 0x0ffed000>;
288 bus-range = <0x00 0xff>;
289 #interrupt-cells = <1>;
291 linux,pci-domain = <1>;
293 phy-names = "pcie-phy0";
294 interrupt-map-mask = <0 0 0 7>;
295 interrupt-map = <0 0 0 1 &pcie2_intc 1>,
296 <0 0 0 2 &pcie2_intc 2>,
297 <0 0 0 3 &pcie2_intc 3>,
298 <0 0 0 4 &pcie2_intc 4>;
299 ti,syscon-unaligned-access = <&scm_conf1 0x14 2>;
300 pcie2_intc: interrupt-controller {
301 interrupt-controller;
302 #address-cells = <0>;
303 #interrupt-cells = <1>;
308 ocmcram1: ocmcram@40300000 {
309 compatible = "mmio-sram";
310 reg = <0x40300000 0x80000>;
311 ranges = <0x0 0x40300000 0x80000>;
312 #address-cells = <1>;
315 * This is a placeholder for an optional reserved
316 * region for use by secure software. The size
317 * of this region is not known until runtime so it
318 * is set as zero to either be updated to reserve
319 * space or left unchanged to leave all SRAM for use.
320 * On HS parts that that require the reserved region
321 * either the bootloader can update the size to
322 * the required amount or the node can be overridden
323 * from the board dts file for the secure platform.
326 compatible = "ti,secure-ram";
332 * NOTE: ocmcram2 and ocmcram3 are not available on all
333 * DRA7xx and AM57xx variants. Confirm availability in
334 * the data manual for the exact part number in use
335 * before enabling these nodes in the board dts file.
337 ocmcram2: ocmcram@40400000 {
339 compatible = "mmio-sram";
340 reg = <0x40400000 0x100000>;
341 ranges = <0x0 0x40400000 0x100000>;
342 #address-cells = <1>;
346 ocmcram3: ocmcram@40500000 {
348 compatible = "mmio-sram";
349 reg = <0x40500000 0x100000>;
350 ranges = <0x0 0x40500000 0x100000>;
351 #address-cells = <1>;
355 bandgap: bandgap@4a0021e0 {
356 reg = <0x4a0021e0 0xc
362 compatible = "ti,dra752-bandgap";
363 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
364 #thermal-sensor-cells = <1>;
367 dsp1_system: dsp_system@40d00000 {
368 compatible = "syscon";
369 reg = <0x40d00000 0x100>;
372 dra7_iodelay_core: padconf@4844a000 {
373 compatible = "ti,dra7-iodelay";
374 reg = <0x4844a000 0x0d1c>;
375 #address-cells = <1>;
377 #pinctrl-cells = <2>;
380 target-module@43300000 {
381 compatible = "ti,sysc-omap4", "ti,sysc";
382 reg = <0x43300000 0x4>,
384 reg-names = "rev", "sysc";
385 ti,sysc-midle = <SYSC_IDLE_FORCE>,
388 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
391 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPCC_CLKCTRL 0>;
393 #address-cells = <1>;
395 ranges = <0x0 0x43300000 0x100000>;
398 compatible = "ti,edma3-tpcc";
400 reg-names = "edma3_cc";
401 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
402 <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
403 <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
404 interrupt-names = "edma3_ccint", "edma3_mperr",
409 ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 0>;
412 * memcpy is disabled, can be enabled with:
413 * ti,edma-memcpy-channels = <20 21>;
414 * for example. Note that these channels need to be
415 * masked in the xbar as well.
420 target-module@43400000 {
421 compatible = "ti,sysc-omap4", "ti,sysc";
422 reg = <0x43400000 0x4>,
424 reg-names = "rev", "sysc";
425 ti,sysc-midle = <SYSC_IDLE_FORCE>,
428 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
431 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC0_CLKCTRL 0>;
433 #address-cells = <1>;
435 ranges = <0x0 0x43400000 0x100000>;
438 compatible = "ti,edma3-tptc";
440 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
441 interrupt-names = "edma3_tcerrint";
445 target-module@43500000 {
446 compatible = "ti,sysc-omap4", "ti,sysc";
447 reg = <0x43500000 0x4>,
449 reg-names = "rev", "sysc";
450 ti,sysc-midle = <SYSC_IDLE_FORCE>,
453 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
456 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC1_CLKCTRL 0>;
458 #address-cells = <1>;
460 ranges = <0x0 0x43500000 0x100000>;
463 compatible = "ti,edma3-tptc";
465 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
466 interrupt-names = "edma3_tcerrint";
470 target-module@4e000000 {
471 compatible = "ti,sysc-omap2", "ti,sysc";
472 reg = <0x4e000000 0x4>,
474 reg-names = "rev", "sysc";
475 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
478 ranges = <0x0 0x4e000000 0x2000000>;
480 #address-cells = <1>;
483 compatible = "ti,omap5-dmm";
485 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
490 compatible = "ti,dra7-ipu";
491 reg = <0x58820000 0x10000>;
493 iommus = <&mmu_ipu1>;
495 resets = <&prm_ipu 0>, <&prm_ipu 1>;
496 clocks = <&ipu1_clkctrl DRA7_IPU1_MMU_IPU1_CLKCTRL 0>;
497 firmware-name = "dra7-ipu1-fw.xem4";
501 compatible = "ti,dra7-ipu";
502 reg = <0x55020000 0x10000>;
504 iommus = <&mmu_ipu2>;
506 resets = <&prm_core 0>, <&prm_core 1>;
507 clocks = <&ipu2_clkctrl DRA7_IPU2_MMU_IPU2_CLKCTRL 0>;
508 firmware-name = "dra7-ipu2-fw.xem4";
512 compatible = "ti,dra7-dsp";
513 reg = <0x40800000 0x48000>,
516 reg-names = "l2ram", "l1pram", "l1dram";
517 ti,bootreg = <&scm_conf 0x55c 10>;
518 iommus = <&mmu0_dsp1>, <&mmu1_dsp1>;
520 resets = <&prm_dsp1 0>;
521 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
522 firmware-name = "dra7-dsp1-fw.xe66";
525 target-module@40d01000 {
526 compatible = "ti,sysc-omap2", "ti,sysc";
527 reg = <0x40d01000 0x4>,
530 reg-names = "rev", "sysc", "syss";
531 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
534 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
535 SYSC_OMAP2_SOFTRESET |
536 SYSC_OMAP2_AUTOIDLE)>;
537 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
539 resets = <&prm_dsp1 1>;
540 reset-names = "rstctrl";
541 ranges = <0x0 0x40d01000 0x1000>;
543 #address-cells = <1>;
546 compatible = "ti,dra7-dsp-iommu";
548 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
550 ti,syscon-mmuconfig = <&dsp1_system 0x0>;
554 target-module@40d02000 {
555 compatible = "ti,sysc-omap2", "ti,sysc";
556 reg = <0x40d02000 0x4>,
559 reg-names = "rev", "sysc", "syss";
560 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
563 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
564 SYSC_OMAP2_SOFTRESET |
565 SYSC_OMAP2_AUTOIDLE)>;
566 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
568 resets = <&prm_dsp1 1>;
569 reset-names = "rstctrl";
570 ranges = <0x0 0x40d02000 0x1000>;
572 #address-cells = <1>;
575 compatible = "ti,dra7-dsp-iommu";
577 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
579 ti,syscon-mmuconfig = <&dsp1_system 0x1>;
583 target-module@58882000 {
584 compatible = "ti,sysc-omap2", "ti,sysc";
585 reg = <0x58882000 0x4>,
588 reg-names = "rev", "sysc", "syss";
589 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
592 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
593 SYSC_OMAP2_SOFTRESET |
594 SYSC_OMAP2_AUTOIDLE)>;
595 clocks = <&ipu1_clkctrl DRA7_IPU1_MMU_IPU1_CLKCTRL 0>;
597 resets = <&prm_ipu 2>;
598 reset-names = "rstctrl";
599 #address-cells = <1>;
601 ranges = <0x0 0x58882000 0x100>;
604 compatible = "ti,dra7-iommu";
606 interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>;
608 ti,iommu-bus-err-back;
612 target-module@55082000 {
613 compatible = "ti,sysc-omap2", "ti,sysc";
614 reg = <0x55082000 0x4>,
617 reg-names = "rev", "sysc", "syss";
618 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
621 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
622 SYSC_OMAP2_SOFTRESET |
623 SYSC_OMAP2_AUTOIDLE)>;
624 clocks = <&ipu2_clkctrl DRA7_IPU2_MMU_IPU2_CLKCTRL 0>;
626 resets = <&prm_core 2>;
627 reset-names = "rstctrl";
628 #address-cells = <1>;
630 ranges = <0x0 0x55082000 0x100>;
633 compatible = "ti,dra7-iommu";
635 interrupts = <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>;
637 ti,iommu-bus-err-back;
641 abb_mpu: regulator-abb-mpu {
642 compatible = "ti,abb-v3";
643 regulator-name = "abb_mpu";
644 #address-cells = <0>;
646 clocks = <&sys_clkin1>;
647 ti,settling-time = <50>;
648 ti,clock-cycles = <16>;
650 reg = <0x4ae07ddc 0x4>, <0x4ae07de0 0x4>,
651 <0x4ae06014 0x4>, <0x4a003b20 0xc>,
653 reg-names = "setup-address", "control-address",
654 "int-address", "efuse-address",
656 ti,tranxdone-status-mask = <0x80>;
657 /* LDOVBBMPU_FBB_MUX_CTRL */
658 ti,ldovbb-override-mask = <0x400>;
659 /* LDOVBBMPU_FBB_VSET_OUT */
660 ti,ldovbb-vset-mask = <0x1F>;
663 * NOTE: only FBB mode used but actual vset will
664 * determine final biasing
667 /*uV ABB efuse rbb_m fbb_m vset_m*/
668 1060000 0 0x0 0 0x02000000 0x01F00000
669 1160000 0 0x4 0 0x02000000 0x01F00000
670 1210000 0 0x8 0 0x02000000 0x01F00000
674 abb_ivahd: regulator-abb-ivahd {
675 compatible = "ti,abb-v3";
676 regulator-name = "abb_ivahd";
677 #address-cells = <0>;
679 clocks = <&sys_clkin1>;
680 ti,settling-time = <50>;
681 ti,clock-cycles = <16>;
683 reg = <0x4ae07e34 0x4>, <0x4ae07e24 0x4>,
684 <0x4ae06010 0x4>, <0x4a0025cc 0xc>,
686 reg-names = "setup-address", "control-address",
687 "int-address", "efuse-address",
689 ti,tranxdone-status-mask = <0x40000000>;
690 /* LDOVBBIVA_FBB_MUX_CTRL */
691 ti,ldovbb-override-mask = <0x400>;
692 /* LDOVBBIVA_FBB_VSET_OUT */
693 ti,ldovbb-vset-mask = <0x1F>;
696 * NOTE: only FBB mode used but actual vset will
697 * determine final biasing
700 /*uV ABB efuse rbb_m fbb_m vset_m*/
701 1055000 0 0x0 0 0x02000000 0x01F00000
702 1150000 0 0x4 0 0x02000000 0x01F00000
703 1250000 0 0x8 0 0x02000000 0x01F00000
707 abb_dspeve: regulator-abb-dspeve {
708 compatible = "ti,abb-v3";
709 regulator-name = "abb_dspeve";
710 #address-cells = <0>;
712 clocks = <&sys_clkin1>;
713 ti,settling-time = <50>;
714 ti,clock-cycles = <16>;
716 reg = <0x4ae07e30 0x4>, <0x4ae07e20 0x4>,
717 <0x4ae06010 0x4>, <0x4a0025e0 0xc>,
719 reg-names = "setup-address", "control-address",
720 "int-address", "efuse-address",
722 ti,tranxdone-status-mask = <0x20000000>;
723 /* LDOVBBDSPEVE_FBB_MUX_CTRL */
724 ti,ldovbb-override-mask = <0x400>;
725 /* LDOVBBDSPEVE_FBB_VSET_OUT */
726 ti,ldovbb-vset-mask = <0x1F>;
729 * NOTE: only FBB mode used but actual vset will
730 * determine final biasing
733 /*uV ABB efuse rbb_m fbb_m vset_m*/
734 1055000 0 0x0 0 0x02000000 0x01F00000
735 1150000 0 0x4 0 0x02000000 0x01F00000
736 1250000 0 0x8 0 0x02000000 0x01F00000
740 abb_gpu: regulator-abb-gpu {
741 compatible = "ti,abb-v3";
742 regulator-name = "abb_gpu";
743 #address-cells = <0>;
745 clocks = <&sys_clkin1>;
746 ti,settling-time = <50>;
747 ti,clock-cycles = <16>;
749 reg = <0x4ae07de4 0x4>, <0x4ae07de8 0x4>,
750 <0x4ae06010 0x4>, <0x4a003b08 0xc>,
752 reg-names = "setup-address", "control-address",
753 "int-address", "efuse-address",
755 ti,tranxdone-status-mask = <0x10000000>;
756 /* LDOVBBGPU_FBB_MUX_CTRL */
757 ti,ldovbb-override-mask = <0x400>;
758 /* LDOVBBGPU_FBB_VSET_OUT */
759 ti,ldovbb-vset-mask = <0x1F>;
762 * NOTE: only FBB mode used but actual vset will
763 * determine final biasing
766 /*uV ABB efuse rbb_m fbb_m vset_m*/
767 1090000 0 0x0 0 0x02000000 0x01F00000
768 1210000 0 0x4 0 0x02000000 0x01F00000
769 1280000 0 0x8 0 0x02000000 0x01F00000
773 target-module@4b300000 {
774 compatible = "ti,sysc-omap4", "ti,sysc";
775 reg = <0x4b300000 0x4>,
777 reg-names = "rev", "sysc";
778 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
781 <SYSC_IDLE_SMART_WKUP>;
782 clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 0>;
784 #address-cells = <1>;
786 ranges = <0x0 0x4b300000 0x1000>,
787 <0x5c000000 0x5c000000 0x4000000>;
790 compatible = "ti,dra7xxx-qspi";
792 <0x5c000000 0x4000000>;
793 reg-names = "qspi_base", "qspi_mmap";
794 syscon-chipselects = <&scm_conf 0x558>;
795 #address-cells = <1>;
797 clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 25>;
800 interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
806 /* IRQ for DWC3_3 and DWC3_4 need IRQ crossbar */
808 target-module@50000000 {
809 compatible = "ti,sysc-omap2", "ti,sysc";
810 reg = <0x50000000 4>,
813 reg-names = "rev", "sysc", "syss";
814 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
818 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_GPMC_CLKCTRL 0>;
820 #address-cells = <1>;
822 ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
823 <0x00000000 0x00000000 0x40000000>; /* data */
825 gpmc: gpmc@50000000 {
826 compatible = "ti,am3352-gpmc";
827 reg = <0x50000000 0x37c>; /* device IO registers */
828 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
829 dmas = <&edma_xbar 4 0>;
832 gpmc,num-waitpins = <2>;
833 #address-cells = <2>;
835 interrupt-controller;
836 #interrupt-cells = <2>;
843 target-module@56000000 {
844 compatible = "ti,sysc-omap4", "ti,sysc";
845 reg = <0x5600fe00 0x4>,
847 reg-names = "rev", "sysc";
848 ti,sysc-midle = <SYSC_IDLE_FORCE>,
851 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
854 clocks = <&gpu_clkctrl DRA7_GPU_CLKCTRL 0>;
856 #address-cells = <1>;
858 ranges = <0 0x56000000 0x2000000>;
861 crossbar_mpu: crossbar@4a002a48 {
862 compatible = "ti,irq-crossbar";
863 reg = <0x4a002a48 0x130>;
864 interrupt-controller;
865 interrupt-parent = <&wakeupgen>;
866 #interrupt-cells = <3>;
868 ti,max-crossbar-sources = <MAX_SOURCES>;
870 ti,irqs-reserved = <0 1 2 3 5 6 131 132>;
871 ti,irqs-skip = <10 133 139 140>;
872 ti,irqs-safe-map = <0>;
875 target-module@58000000 {
876 compatible = "ti,sysc-omap2", "ti,sysc";
877 reg = <0x58000000 4>,
879 reg-names = "rev", "syss";
881 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 0>,
882 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>,
883 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 10>,
884 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 11>;
885 clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk";
886 #address-cells = <1>;
888 ranges = <0 0x58000000 0x800000>;
891 compatible = "ti,dra7-dss";
892 /* 'reg' defined in dra72x.dtsi and dra74x.dtsi */
893 /* 'clocks' defined in dra72x.dtsi and dra74x.dtsi */
895 /* CTRL_CORE_DSS_PLL_CONTROL */
896 syscon-pll-ctrl = <&scm_conf 0x538>;
897 #address-cells = <1>;
899 ranges = <0 0 0x800000>;
902 compatible = "ti,sysc-omap2", "ti,sysc";
906 reg-names = "rev", "sysc", "syss";
907 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
910 ti,sysc-midle = <SYSC_IDLE_FORCE>,
913 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
914 SYSC_OMAP2_ENAWAKEUP |
915 SYSC_OMAP2_SOFTRESET |
916 SYSC_OMAP2_AUTOIDLE)>;
918 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>;
920 #address-cells = <1>;
922 ranges = <0 0x1000 0x1000>;
925 compatible = "ti,dra7-dispc";
927 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
928 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>;
930 /* CTRL_CORE_SMA_SW_1 */
931 syscon-pol = <&scm_conf 0x534>;
935 target-module@40000 {
936 compatible = "ti,sysc-omap4", "ti,sysc";
939 reg-names = "rev", "sysc";
940 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
943 <SYSC_IDLE_SMART_WKUP>;
944 ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>;
945 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>,
946 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>;
947 clock-names = "fck", "dss_clk";
948 #address-cells = <1>;
950 ranges = <0 0x40000 0x40000>;
953 compatible = "ti,dra7-hdmi";
958 reg-names = "wp", "pll", "phy", "core";
959 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
961 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>,
962 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 10>;
963 clock-names = "fck", "sys_clk";
964 dmas = <&sdma_xbar 76>;
965 dma-names = "audio_tx";
971 target-module@59000000 {
972 compatible = "ti,sysc-omap4", "ti,sysc";
973 reg = <0x59000020 0x4>;
975 clocks = <&dss_clkctrl DRA7_DSS_BB2D_CLKCTRL 0>;
977 #address-cells = <1>;
979 ranges = <0x0 0x59000000 0x1000>;
982 compatible = "vivante,gc";
984 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
985 clocks = <&dss_clkctrl DRA7_DSS_BB2D_CLKCTRL 0>;
986 clock-names = "core";
990 aes1_target: target-module@4b500000 {
991 compatible = "ti,sysc-omap2", "ti,sysc";
992 reg = <0x4b500080 0x4>,
995 reg-names = "rev", "sysc", "syss";
996 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
997 SYSC_OMAP2_AUTOIDLE)>;
998 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
1001 <SYSC_IDLE_SMART_WKUP>;
1003 /* Domains (P, C): per_pwrdm, l4sec_clkdm */
1004 clocks = <&l4sec_clkctrl DRA7_L4SEC_AES1_CLKCTRL 0>;
1005 clock-names = "fck";
1006 #address-cells = <1>;
1008 ranges = <0x0 0x4b500000 0x1000>;
1011 compatible = "ti,omap4-aes";
1013 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
1014 dmas = <&edma_xbar 111 0>, <&edma_xbar 110 0>;
1015 dma-names = "tx", "rx";
1016 clocks = <&l3_iclk_div>;
1017 clock-names = "fck";
1021 aes2_target: target-module@4b700000 {
1022 compatible = "ti,sysc-omap2", "ti,sysc";
1023 reg = <0x4b700080 0x4>,
1026 reg-names = "rev", "sysc", "syss";
1027 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
1028 SYSC_OMAP2_AUTOIDLE)>;
1029 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
1032 <SYSC_IDLE_SMART_WKUP>;
1034 /* Domains (P, C): per_pwrdm, l4sec_clkdm */
1035 clocks = <&l4sec_clkctrl DRA7_L4SEC_AES2_CLKCTRL 0>;
1036 clock-names = "fck";
1037 #address-cells = <1>;
1039 ranges = <0x0 0x4b700000 0x1000>;
1042 compatible = "ti,omap4-aes";
1044 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
1045 dmas = <&edma_xbar 114 0>, <&edma_xbar 113 0>;
1046 dma-names = "tx", "rx";
1047 clocks = <&l3_iclk_div>;
1048 clock-names = "fck";
1052 sham1_target: target-module@4b101000 {
1053 compatible = "ti,sysc-omap3-sham", "ti,sysc";
1054 reg = <0x4b101100 0x4>,
1057 reg-names = "rev", "sysc", "syss";
1058 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
1059 SYSC_OMAP2_AUTOIDLE)>;
1060 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
1064 /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
1065 clocks = <&l4sec_clkctrl DRA7_L4SEC_SHAM_CLKCTRL 0>;
1066 clock-names = "fck";
1067 #address-cells = <1>;
1069 ranges = <0x0 0x4b101000 0x1000>;
1072 compatible = "ti,omap5-sham";
1074 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
1075 dmas = <&edma_xbar 119 0>;
1077 clocks = <&l3_iclk_div>;
1078 clock-names = "fck";
1082 sham2_target: target-module@42701000 {
1083 compatible = "ti,sysc-omap3-sham", "ti,sysc";
1084 reg = <0x42701100 0x4>,
1087 reg-names = "rev", "sysc", "syss";
1088 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
1089 SYSC_OMAP2_AUTOIDLE)>;
1090 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
1094 /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
1095 clocks = <&l4sec_clkctrl DRA7_L4SEC_SHAM2_CLKCTRL 0>;
1096 clock-names = "fck";
1097 #address-cells = <1>;
1099 ranges = <0x0 0x42701000 0x1000>;
1102 compatible = "ti,omap5-sham";
1104 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
1105 dmas = <&edma_xbar 165 0>;
1107 clocks = <&l3_iclk_div>;
1108 clock-names = "fck";
1112 iva_hd_target: target-module@5a000000 {
1113 compatible = "ti,sysc-omap4", "ti,sysc";
1114 reg = <0x5a05a400 0x4>,
1116 reg-names = "rev", "sysc";
1117 ti,sysc-midle = <SYSC_IDLE_FORCE>,
1120 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
1123 power-domains = <&prm_iva>;
1124 resets = <&prm_iva 2>;
1125 reset-names = "rstctrl";
1126 clocks = <&iva_clkctrl DRA7_IVA_CLKCTRL 0>;
1127 clock-names = "fck";
1128 #address-cells = <1>;
1130 ranges = <0x5a000000 0x5a000000 0x1000000>,
1131 <0x5b000000 0x5b000000 0x1000000>;
1134 compatible = "ti,ivahd";
1138 opp_supply_mpu: opp-supply@4a003b20 {
1139 compatible = "ti,omap5-opp-supply";
1140 reg = <0x4a003b20 0xc>;
1141 ti,efuse-settings = <
1147 ti,absolute-max-voltage-uv = <1500000>;
1152 thermal_zones: thermal-zones {
1153 #include "omap4-cpu-thermal.dtsi"
1154 #include "omap5-gpu-thermal.dtsi"
1155 #include "omap5-core-thermal.dtsi"
1156 #include "dra7-dspeve-thermal.dtsi"
1157 #include "dra7-iva-thermal.dtsi"
1163 polling-delay = <500>; /* milliseconds */
1164 coefficients = <0 2000>;
1168 coefficients = <0 2000>;
1172 coefficients = <0 2000>;
1176 coefficients = <0 2000>;
1180 coefficients = <0 2000>;
1184 temperature = <120000>; /* milli Celsius */
1188 temperature = <120000>; /* milli Celsius */
1192 temperature = <120000>; /* milli Celsius */
1196 temperature = <120000>; /* milli Celsius */
1200 temperature = <120000>; /* milli Celsius */
1203 #include "dra7-l4.dtsi"
1204 #include "dra7xx-clocks.dtsi"
1208 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1209 reg = <0x300 0x100>;
1210 #power-domain-cells = <0>;
1214 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1215 reg = <0x400 0x100>;
1217 #power-domain-cells = <0>;
1221 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1222 reg = <0x500 0x100>;
1224 #power-domain-cells = <0>;
1227 prm_coreaon: prm@628 {
1228 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1230 #power-domain-cells = <0>;
1234 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1235 reg = <0x700 0x100>;
1237 #power-domain-cells = <0>;
1241 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1242 reg = <0xf00 0x100>;
1244 #power-domain-cells = <0>;
1248 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1249 reg = <0x1000 0x100>;
1250 #power-domain-cells = <0>;
1254 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1255 reg = <0x1100 0x100>;
1256 #power-domain-cells = <0>;
1260 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1261 reg = <0x1200 0x100>;
1262 #power-domain-cells = <0>;
1265 prm_l3init: prm@1300 {
1266 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1267 reg = <0x1300 0x100>;
1269 #power-domain-cells = <0>;
1272 prm_l4per: prm@1400 {
1273 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1274 reg = <0x1400 0x100>;
1275 #power-domain-cells = <0>;
1278 prm_custefuse: prm@1600 {
1279 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1280 reg = <0x1600 0x100>;
1281 #power-domain-cells = <0>;
1284 prm_wkupaon: prm@1724 {
1285 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1286 reg = <0x1724 0x100>;
1287 #power-domain-cells = <0>;
1290 prm_dsp2: prm@1b00 {
1291 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1292 reg = <0x1b00 0x40>;
1294 #power-domain-cells = <0>;
1297 prm_eve1: prm@1b40 {
1298 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1299 reg = <0x1b40 0x40>;
1300 #power-domain-cells = <0>;
1303 prm_eve2: prm@1b80 {
1304 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1305 reg = <0x1b80 0x40>;
1306 #power-domain-cells = <0>;
1309 prm_eve3: prm@1bc0 {
1310 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1311 reg = <0x1bc0 0x40>;
1312 #power-domain-cells = <0>;
1315 prm_eve4: prm@1c00 {
1316 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1317 reg = <0x1c00 0x60>;
1318 #power-domain-cells = <0>;
1322 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1323 reg = <0x1c60 0x20>;
1324 #power-domain-cells = <0>;
1328 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1329 reg = <0x1c80 0x80>;
1330 #power-domain-cells = <0>;
1334 /* Preferred always-on timer for clockevent */
1336 ti,no-reset-on-init;
1339 assigned-clocks = <&wkupaon_clkctrl DRA7_WKUPAON_TIMER1_CLKCTRL 24>;
1340 assigned-clock-parents = <&sys_32k_ck>;
1344 /* Local timers, see ARM architected timer wrap erratum i940 */
1346 ti,no-reset-on-init;
1349 assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER15_CLKCTRL 24>;
1350 assigned-clock-parents = <&timer_sys_clk_div>;
1355 ti,no-reset-on-init;
1358 assigned-clocks = <&l4per3_clkctrl DRA7_L4PER3_TIMER16_CLKCTRL 24>;
1359 assigned-clock-parents = <&timer_sys_clk_div>;