blob: 53d68786a61f243b80edc918ac848b4985ca88c5 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001// SPDX-License-Identifier: GPL-2.0-only
R Sricharan6e58b8f2013-08-14 19:08:20 +05302/*
Alexander A. Klimov75f66812020-07-08 11:34:51 +02003 * Copyright (C) 2013 Texas Instruments Incorporated - https://www.ti.com/
R Sricharan6e58b8f2013-08-14 19:08:20 +05304 *
R Sricharan6e58b8f2013-08-14 19:08:20 +05305 * Based on "omap4.dtsi"
6 */
7
Tony Lindgrene14d7e52018-01-11 16:04:03 -08008#include <dt-bindings/bus/ti-sysc.h>
9#include <dt-bindings/clock/dra7.h>
R Sricharan6e58b8f2013-08-14 19:08:20 +053010#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/pinctrl/dra.h>
Tero Kristo18395332017-12-08 17:17:29 +020012#include <dt-bindings/clock/dra7.h>
R Sricharan6e58b8f2013-08-14 19:08:20 +053013
R Sricharana46631c2014-06-26 12:55:31 +053014#define MAX_SOURCES 400
R Sricharana46631c2014-06-26 12:55:31 +053015
R Sricharan6e58b8f2013-08-14 19:08:20 +053016/ {
Lokesh Vutladae320e2016-02-24 15:41:04 +053017 #address-cells = <2>;
18 #size-cells = <2>;
R Sricharan6e58b8f2013-08-14 19:08:20 +053019
20 compatible = "ti,dra7xx";
Marc Zyngier783d3182015-03-11 15:43:44 +000021 interrupt-parent = <&crossbar_mpu>;
Javier Martinez Canillas7f6c8572016-12-19 11:44:41 -030022 chosen { };
R Sricharan6e58b8f2013-08-14 19:08:20 +053023
24 aliases {
Nishanth Menon20b80942013-10-16 15:21:03 -050025 i2c0 = &i2c1;
26 i2c1 = &i2c2;
27 i2c2 = &i2c3;
28 i2c3 = &i2c4;
29 i2c4 = &i2c5;
R Sricharan6e58b8f2013-08-14 19:08:20 +053030 serial0 = &uart1;
31 serial1 = &uart2;
32 serial2 = &uart3;
33 serial3 = &uart4;
34 serial4 = &uart5;
35 serial5 = &uart6;
Nishanth Menon065bd7f2014-10-21 11:18:15 -050036 serial6 = &uart7;
37 serial7 = &uart8;
38 serial8 = &uart9;
39 serial9 = &uart10;
Grygorii Strashkoec9bc5b2020-09-07 23:21:25 +030040 ethernet0 = &cpsw_port1;
41 ethernet1 = &cpsw_port2;
Roger Quadros9ec49b92014-08-15 16:08:36 +030042 d_can0 = &dcan1;
43 d_can1 = &dcan2;
Mugunthan V N480b2b32015-11-19 12:31:01 +053044 spi0 = &qspi;
R Sricharan6e58b8f2013-08-14 19:08:20 +053045 };
46
R Sricharan6e58b8f2013-08-14 19:08:20 +053047 timer {
48 compatible = "arm,armv7-timer";
Tony Lindgren25de4ce2021-03-23 09:43:26 +020049 status = "disabled"; /* See ARM architected timer wrap erratum i940 */
R Sricharan6e58b8f2013-08-14 19:08:20 +053050 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)>;
Marc Zyngier783d3182015-03-11 15:43:44 +000054 interrupt-parent = <&gic>;
R Sricharan6e58b8f2013-08-14 19:08:20 +053055 };
56
57 gic: interrupt-controller@48211000 {
58 compatible = "arm,cortex-a15-gic";
59 interrupt-controller;
60 #interrupt-cells = <3>;
Lokesh Vutladae320e2016-02-24 15:41:04 +053061 reg = <0x0 0x48211000 0x0 0x1000>,
Marc Zyngier387720c2017-01-18 09:27:28 +000062 <0x0 0x48212000 0x0 0x2000>,
Lokesh Vutladae320e2016-02-24 15:41:04 +053063 <0x0 0x48214000 0x0 0x2000>,
64 <0x0 0x48216000 0x0 0x2000>;
R Sricharan6e58b8f2013-08-14 19:08:20 +053065 interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_HIGH)>;
Marc Zyngier783d3182015-03-11 15:43:44 +000066 interrupt-parent = <&gic>;
R Sricharan6e58b8f2013-08-14 19:08:20 +053067 };
68
Marc Zyngier7136d452015-03-11 15:43:49 +000069 wakeupgen: interrupt-controller@48281000 {
70 compatible = "ti,omap5-wugen-mpu", "ti,omap4-wugen-mpu";
71 interrupt-controller;
72 #interrupt-cells = <3>;
Lokesh Vutladae320e2016-02-24 15:41:04 +053073 reg = <0x0 0x48281000 0x0 0x1000>;
Marc Zyngier7136d452015-03-11 15:43:49 +000074 interrupt-parent = <&gic>;
R Sricharan6e58b8f2013-08-14 19:08:20 +053075 };
76
Dave Gerlachb82ffb32016-05-18 18:36:32 -050077 cpus {
78 #address-cells = <1>;
79 #size-cells = <0>;
80
81 cpu0: cpu@0 {
82 device_type = "cpu";
83 compatible = "arm,cortex-a15";
84 reg = <0>;
85
Dave Gerlacha4e5e9f2017-03-06 09:23:41 -060086 operating-points-v2 = <&cpu0_opp_table>;
Dave Gerlachb82ffb32016-05-18 18:36:32 -050087
88 clocks = <&dpll_mpu_ck>;
89 clock-names = "cpu";
90
91 clock-latency = <300000>; /* From omap-cpufreq driver */
92
93 /* cooling options */
Dave Gerlachb82ffb32016-05-18 18:36:32 -050094 #cooling-cells = <2>; /* min followed by max */
Dave Gerlach000fb7a2017-12-19 09:24:19 -060095
96 vbb-supply = <&abb_mpu>;
Dave Gerlachb82ffb32016-05-18 18:36:32 -050097 };
98 };
99
Dave Gerlacha4e5e9f2017-03-06 09:23:41 -0600100 cpu0_opp_table: opp-table {
101 compatible = "operating-points-v2-ti-cpu";
102 syscon = <&scm_wkup>;
103
Viresh Kumarb9cb2ba2017-04-20 16:25:06 +0530104 opp_nom-1000000000 {
Dave Gerlacha4e5e9f2017-03-06 09:23:41 -0600105 opp-hz = /bits/ 64 <1000000000>;
Dave Gerlach000fb7a2017-12-19 09:24:19 -0600106 opp-microvolt = <1060000 850000 1150000>,
107 <1060000 850000 1150000>;
Dave Gerlacha4e5e9f2017-03-06 09:23:41 -0600108 opp-supported-hw = <0xFF 0x01>;
109 opp-suspend;
110 };
111
Viresh Kumarb9cb2ba2017-04-20 16:25:06 +0530112 opp_od-1176000000 {
Dave Gerlacha4e5e9f2017-03-06 09:23:41 -0600113 opp-hz = /bits/ 64 <1176000000>;
Dave Gerlach000fb7a2017-12-19 09:24:19 -0600114 opp-microvolt = <1160000 885000 1160000>,
115 <1160000 885000 1160000>;
116
Dave Gerlacha4e5e9f2017-03-06 09:23:41 -0600117 opp-supported-hw = <0xFF 0x02>;
118 };
Dave Gerlachbc69fed2017-12-19 09:24:21 -0600119
120 opp_high@1500000000 {
121 opp-hz = /bits/ 64 <1500000000>;
122 opp-microvolt = <1210000 950000 1250000>,
123 <1210000 950000 1250000>;
124 opp-supported-hw = <0xFF 0x04>;
125 };
Dave Gerlacha4e5e9f2017-03-06 09:23:41 -0600126 };
127
R Sricharan6e58b8f2013-08-14 19:08:20 +0530128 /*
Geert Uytterhoeven5c5be9d2014-03-28 11:11:37 +0100129 * The soc node represents the soc top level view. It is used for IPs
R Sricharan6e58b8f2013-08-14 19:08:20 +0530130 * that are not memory mapped in the MPU view or for the MPU itself.
131 */
132 soc {
133 compatible = "ti,omap-infra";
134 mpu {
135 compatible = "ti,omap5-mpu";
136 ti,hwmods = "mpu";
137 };
138 };
139
140 /*
141 * XXX: Use a flat representation of the SOC interconnect.
142 * The real OMAP interconnect network is quite complex.
Geert Uytterhoevenb7ab5242014-03-28 11:11:39 +0100143 * Since it will not bring real advantage to represent that in DT for
R Sricharan6e58b8f2013-08-14 19:08:20 +0530144 * the moment, just use a fake OCP bus entry to represent the whole bus
145 * hierarchy.
146 */
Suman Annaecdeca62020-02-27 16:28:37 -0600147 ocp: ocp {
Rajendra Nayakfba387a2014-04-10 11:34:32 -0500148 compatible = "ti,dra7-l3-noc", "simple-bus";
R Sricharan6e58b8f2013-08-14 19:08:20 +0530149 #address-cells = <1>;
150 #size-cells = <1>;
Lokesh Vutladae320e2016-02-24 15:41:04 +0530151 ranges = <0x0 0x0 0x0 0xc0000000>;
Roger Quadroscfb5d652020-03-13 11:47:17 +0200152 dma-ranges = <0x80000000 0x0 0x80000000 0x80000000>;
R Sricharan6e58b8f2013-08-14 19:08:20 +0530153 ti,hwmods = "l3_main_1", "l3_main_2";
Lokesh Vutladae320e2016-02-24 15:41:04 +0530154 reg = <0x0 0x44000000 0x0 0x1000000>,
155 <0x0 0x45000000 0x0 0x1000>;
Marc Zyngier783d3182015-03-11 15:43:44 +0000156 interrupts-extended = <&crossbar_mpu GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
Marc Zyngier7136d452015-03-11 15:43:49 +0000157 <&wakeupgen GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
R Sricharan6e58b8f2013-08-14 19:08:20 +0530158
Tony Lindgren4ed0dfe2018-09-27 13:39:07 -0700159 l4_cfg: interconnect@4a000000 {
Tero Kristod9195012015-02-12 11:37:13 +0200160 };
Tony Lindgren4ed0dfe2018-09-27 13:39:07 -0700161 l4_wkup: interconnect@4ae00000 {
162 };
163 l4_per1: interconnect@48000000 {
164 };
165 l4_per2: interconnect@48400000 {
166 };
167 l4_per3: interconnect@48800000 {
Tero Kristoee6c7502013-07-18 17:18:33 +0300168 };
169
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530170 axi@0 {
171 compatible = "simple-bus";
172 #size-cells = <1>;
173 #address-cells = <1>;
174 ranges = <0x51000000 0x51000000 0x3000
175 0x0 0x20000000 0x10000000>;
Kishon Vijay Abraham I90d4d3f2020-04-17 12:13:40 +0530176 dma-ranges;
Kishon Vijay Abraham Id23f3832017-08-08 11:10:24 +0530177 /**
178 * To enable PCI endpoint mode, disable the pcie1_rc
179 * node and enable pcie1_ep mode.
180 */
181 pcie1_rc: pcie@51000000 {
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530182 reg = <0x51000000 0x2000>, <0x51002000 0x14c>, <0x1000 0x2000>;
183 reg-names = "rc_dbics", "ti_conf", "config";
184 interrupts = <0 232 0x4>, <0 233 0x4>;
185 #address-cells = <3>;
186 #size-cells = <2>;
187 device_type = "pci";
188 ranges = <0x81000000 0 0 0x03000 0 0x00010000
189 0x82000000 0 0x20013000 0x13000 0 0xffed000>;
Rob Herring7d79f602017-03-21 21:03:01 -0500190 bus-range = <0x00 0xff>;
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530191 #interrupt-cells = <1>;
192 num-lanes = <1>;
Kishon Vijay Abraham Ibed596d2016-08-10 18:03:18 +0530193 linux,pci-domain = <0>;
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530194 ti,hwmods = "pcie1";
195 phys = <&pcie1_phy>;
196 phy-names = "pcie-phy0";
Kishon Vijay Abraham Ib5acec02019-03-25 15:15:25 +0530197 ti,syscon-lane-sel = <&scm_conf_pcie 0x18>;
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530198 interrupt-map-mask = <0 0 0 7>;
199 interrupt-map = <0 0 0 1 &pcie1_intc 1>,
200 <0 0 0 2 &pcie1_intc 2>,
201 <0 0 0 3 &pcie1_intc 3>,
202 <0 0 0 4 &pcie1_intc 4>;
Vignesh Rb8305262018-09-28 11:34:42 +0530203 ti,syscon-unaligned-access = <&scm_conf1 0x14 1>;
Kishon Vijay Abraham Id23f3832017-08-08 11:10:24 +0530204 status = "disabled";
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530205 pcie1_intc: interrupt-controller {
206 interrupt-controller;
207 #address-cells = <0>;
208 #interrupt-cells = <1>;
209 };
210 };
Kishon Vijay Abraham Id23f3832017-08-08 11:10:24 +0530211
212 pcie1_ep: pcie_ep@51000000 {
Kishon Vijay Abraham Id23f3832017-08-08 11:10:24 +0530213 reg = <0x51000000 0x28>, <0x51002000 0x14c>, <0x51001000 0x28>, <0x1000 0x10000000>;
214 reg-names = "ep_dbics", "ti_conf", "ep_dbics2", "addr_space";
215 interrupts = <0 232 0x4>;
216 num-lanes = <1>;
217 num-ib-windows = <4>;
218 num-ob-windows = <16>;
219 ti,hwmods = "pcie1";
220 phys = <&pcie1_phy>;
221 phy-names = "pcie-phy0";
Vignesh R6d0af442018-09-25 10:51:51 +0530222 ti,syscon-unaligned-access = <&scm_conf1 0x14 1>;
Kishon Vijay Abraham Ib5acec02019-03-25 15:15:25 +0530223 ti,syscon-lane-sel = <&scm_conf_pcie 0x18>;
Kishon Vijay Abraham Id23f3832017-08-08 11:10:24 +0530224 status = "disabled";
225 };
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530226 };
227
228 axi@1 {
229 compatible = "simple-bus";
230 #size-cells = <1>;
231 #address-cells = <1>;
232 ranges = <0x51800000 0x51800000 0x3000
233 0x0 0x30000000 0x10000000>;
Kishon Vijay Abraham I90d4d3f2020-04-17 12:13:40 +0530234 dma-ranges;
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530235 status = "disabled";
Kishon Vijay Abraham I1ac19c82017-12-19 15:01:28 +0530236 pcie2_rc: pcie@51800000 {
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530237 reg = <0x51800000 0x2000>, <0x51802000 0x14c>, <0x1000 0x2000>;
238 reg-names = "rc_dbics", "ti_conf", "config";
239 interrupts = <0 355 0x4>, <0 356 0x4>;
240 #address-cells = <3>;
241 #size-cells = <2>;
242 device_type = "pci";
243 ranges = <0x81000000 0 0 0x03000 0 0x00010000
244 0x82000000 0 0x30013000 0x13000 0 0xffed000>;
Rob Herring7d79f602017-03-21 21:03:01 -0500245 bus-range = <0x00 0xff>;
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530246 #interrupt-cells = <1>;
247 num-lanes = <1>;
Kishon Vijay Abraham Ibed596d2016-08-10 18:03:18 +0530248 linux,pci-domain = <1>;
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530249 ti,hwmods = "pcie2";
250 phys = <&pcie2_phy>;
251 phy-names = "pcie-phy0";
252 interrupt-map-mask = <0 0 0 7>;
253 interrupt-map = <0 0 0 1 &pcie2_intc 1>,
254 <0 0 0 2 &pcie2_intc 2>,
255 <0 0 0 3 &pcie2_intc 3>,
256 <0 0 0 4 &pcie2_intc 4>;
Vignesh Rb8305262018-09-28 11:34:42 +0530257 ti,syscon-unaligned-access = <&scm_conf1 0x14 2>;
Kishon Vijay Abraham I18dcd792014-07-14 16:12:23 +0530258 pcie2_intc: interrupt-controller {
259 interrupt-controller;
260 #address-cells = <0>;
261 #interrupt-cells = <1>;
262 };
263 };
264 };
265
Dave Gerlacha5fa09b2016-05-10 14:49:41 -0500266 ocmcram1: ocmcram@40300000 {
267 compatible = "mmio-sram";
268 reg = <0x40300000 0x80000>;
269 ranges = <0x0 0x40300000 0x80000>;
270 #address-cells = <1>;
271 #size-cells = <1>;
Dave Gerlachfae3a9f2016-05-10 14:49:42 -0500272 /*
273 * This is a placeholder for an optional reserved
274 * region for use by secure software. The size
275 * of this region is not known until runtime so it
276 * is set as zero to either be updated to reserve
277 * space or left unchanged to leave all SRAM for use.
278 * On HS parts that that require the reserved region
279 * either the bootloader can update the size to
280 * the required amount or the node can be overridden
281 * from the board dts file for the secure platform.
282 */
283 sram-hs@0 {
284 compatible = "ti,secure-ram";
285 reg = <0x0 0x0>;
286 };
Dave Gerlacha5fa09b2016-05-10 14:49:41 -0500287 };
288
289 /*
290 * NOTE: ocmcram2 and ocmcram3 are not available on all
291 * DRA7xx and AM57xx variants. Confirm availability in
292 * the data manual for the exact part number in use
293 * before enabling these nodes in the board dts file.
294 */
295 ocmcram2: ocmcram@40400000 {
296 status = "disabled";
297 compatible = "mmio-sram";
298 reg = <0x40400000 0x100000>;
299 ranges = <0x0 0x40400000 0x100000>;
300 #address-cells = <1>;
301 #size-cells = <1>;
302 };
303
304 ocmcram3: ocmcram@40500000 {
305 status = "disabled";
306 compatible = "mmio-sram";
307 reg = <0x40500000 0x100000>;
308 ranges = <0x0 0x40500000 0x100000>;
309 #address-cells = <1>;
310 #size-cells = <1>;
311 };
312
Keerthyf7397ed2015-03-23 14:39:38 -0500313 bandgap: bandgap@4a0021e0 {
314 reg = <0x4a0021e0 0xc
315 0x4a00232c 0xc
316 0x4a002380 0x2c
317 0x4a0023C0 0x3c
318 0x4a002564 0x8
319 0x4a002574 0x50>;
320 compatible = "ti,dra752-bandgap";
321 interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
322 #thermal-sensor-cells = <1>;
323 };
324
Suman Anna99639ac2015-10-02 18:23:22 -0500325 dsp1_system: dsp_system@40d00000 {
326 compatible = "syscon";
327 reg = <0x40d00000 0x100>;
328 };
329
Tony Lindgreneba61302017-06-16 17:24:29 +0530330 dra7_iodelay_core: padconf@4844a000 {
331 compatible = "ti,dra7-iodelay";
332 reg = <0x4844a000 0x0d1c>;
333 #address-cells = <1>;
334 #size-cells = <0>;
335 #pinctrl-cells = <2>;
336 };
337
Tony Lindgren13149bb2020-03-04 07:25:31 -0800338 target-module@43300000 {
339 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgren13149bb2020-03-04 07:25:31 -0800340 reg = <0x43300000 0x4>;
341 reg-names = "rev";
342 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPCC_CLKCTRL 0>;
343 clock-names = "fck";
344 #address-cells = <1>;
345 #size-cells = <1>;
346 ranges = <0x0 0x43300000 0x100000>;
Peter Ujfalusi248948f2016-03-07 17:17:29 +0200347
Tony Lindgren13149bb2020-03-04 07:25:31 -0800348 edma: dma@0 {
349 compatible = "ti,edma3-tpcc";
350 reg = <0 0x100000>;
351 reg-names = "edma3_cc";
352 interrupts = <GIC_SPI 361 IRQ_TYPE_LEVEL_HIGH>,
353 <GIC_SPI 360 IRQ_TYPE_LEVEL_HIGH>,
354 <GIC_SPI 359 IRQ_TYPE_LEVEL_HIGH>;
355 interrupt-names = "edma3_ccint", "edma3_mperr",
356 "edma3_ccerrint";
357 dma-requests = <64>;
358 #dma-cells = <2>;
Peter Ujfalusi248948f2016-03-07 17:17:29 +0200359
Tony Lindgren13149bb2020-03-04 07:25:31 -0800360 ti,tptcs = <&edma_tptc0 7>, <&edma_tptc1 0>;
361
362 /*
363 * memcpy is disabled, can be enabled with:
364 * ti,edma-memcpy-channels = <20 21>;
365 * for example. Note that these channels need to be
366 * masked in the xbar as well.
367 */
368 };
Peter Ujfalusi248948f2016-03-07 17:17:29 +0200369 };
370
Tony Lindgren103d2642020-03-04 07:25:31 -0800371 target-module@43400000 {
372 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgren103d2642020-03-04 07:25:31 -0800373 reg = <0x43400000 0x4>;
374 reg-names = "rev";
375 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC0_CLKCTRL 0>;
376 clock-names = "fck";
377 #address-cells = <1>;
378 #size-cells = <1>;
379 ranges = <0x0 0x43400000 0x100000>;
380
381 edma_tptc0: dma@0 {
382 compatible = "ti,edma3-tptc";
383 reg = <0 0x100000>;
384 interrupts = <GIC_SPI 370 IRQ_TYPE_LEVEL_HIGH>;
385 interrupt-names = "edma3_tcerrint";
386 };
Peter Ujfalusi248948f2016-03-07 17:17:29 +0200387 };
388
Tony Lindgren4286b672020-03-04 07:25:31 -0800389 target-module@43500000 {
390 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgren4286b672020-03-04 07:25:31 -0800391 reg = <0x43500000 0x4>;
392 reg-names = "rev";
393 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_TPTC1_CLKCTRL 0>;
394 clock-names = "fck";
395 #address-cells = <1>;
396 #size-cells = <1>;
397 ranges = <0x0 0x43500000 0x100000>;
398
399 edma_tptc1: dma@0 {
400 compatible = "ti,edma3-tptc";
401 reg = <0 0x100000>;
402 interrupts = <GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH>;
403 interrupt-names = "edma3_tcerrint";
404 };
Peter Ujfalusi248948f2016-03-07 17:17:29 +0200405 };
406
Archit Taneja1a5fe3c2013-12-17 15:32:21 +0530407 dmm@4e000000 {
408 compatible = "ti,omap5-dmm";
409 reg = <0x4e000000 0x800>;
R Sricharana46631c2014-06-26 12:55:31 +0530410 interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>;
Archit Taneja1a5fe3c2013-12-17 15:32:21 +0530411 ti,hwmods = "dmm";
412 };
413
Suman Anna46ab8232020-04-24 18:12:29 +0300414 ipu1: ipu@58820000 {
415 compatible = "ti,dra7-ipu";
416 reg = <0x58820000 0x10000>;
417 reg-names = "l2ram";
418 iommus = <&mmu_ipu1>;
419 status = "disabled";
420 resets = <&prm_ipu 0>, <&prm_ipu 1>;
421 clocks = <&ipu1_clkctrl DRA7_IPU1_MMU_IPU1_CLKCTRL 0>;
422 firmware-name = "dra7-ipu1-fw.xem4";
423 };
424
425 ipu2: ipu@55020000 {
426 compatible = "ti,dra7-ipu";
427 reg = <0x55020000 0x10000>;
428 reg-names = "l2ram";
429 iommus = <&mmu_ipu2>;
430 status = "disabled";
431 resets = <&prm_core 0>, <&prm_core 1>;
432 clocks = <&ipu2_clkctrl DRA7_IPU2_MMU_IPU2_CLKCTRL 0>;
433 firmware-name = "dra7-ipu2-fw.xem4";
434 };
435
436 dsp1: dsp@40800000 {
437 compatible = "ti,dra7-dsp";
438 reg = <0x40800000 0x48000>,
439 <0x40e00000 0x8000>,
440 <0x40f00000 0x8000>;
441 reg-names = "l2ram", "l1pram", "l1dram";
442 ti,bootreg = <&scm_conf 0x55c 10>;
443 iommus = <&mmu0_dsp1>, <&mmu1_dsp1>;
444 status = "disabled";
445 resets = <&prm_dsp1 0>;
446 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
447 firmware-name = "dra7-dsp1-fw.xe66";
448 };
449
Tero Kristodbd2d6f2019-12-12 14:51:18 +0200450 target-module@40d01000 {
451 compatible = "ti,sysc-omap2", "ti,sysc";
452 reg = <0x40d01000 0x4>,
453 <0x40d01010 0x4>,
454 <0x40d01014 0x4>;
455 reg-names = "rev", "sysc", "syss";
456 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
457 <SYSC_IDLE_NO>,
458 <SYSC_IDLE_SMART>;
459 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
460 SYSC_OMAP2_SOFTRESET |
461 SYSC_OMAP2_AUTOIDLE)>;
462 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
463 clock-names = "fck";
464 resets = <&prm_dsp1 1>;
465 reset-names = "rstctrl";
466 ranges = <0x0 0x40d01000 0x1000>;
467 #size-cells = <1>;
468 #address-cells = <1>;
469
470 mmu0_dsp1: mmu@0 {
471 compatible = "ti,dra7-dsp-iommu";
472 reg = <0x0 0x100>;
473 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
474 #iommu-cells = <0>;
475 ti,syscon-mmuconfig = <&dsp1_system 0x0>;
476 };
Suman Anna2c7e07c52015-10-02 18:23:24 -0500477 };
478
Tero Kristodbd2d6f2019-12-12 14:51:18 +0200479 target-module@40d02000 {
480 compatible = "ti,sysc-omap2", "ti,sysc";
481 reg = <0x40d02000 0x4>,
482 <0x40d02010 0x4>,
483 <0x40d02014 0x4>;
484 reg-names = "rev", "sysc", "syss";
485 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
486 <SYSC_IDLE_NO>,
487 <SYSC_IDLE_SMART>;
488 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
489 SYSC_OMAP2_SOFTRESET |
490 SYSC_OMAP2_AUTOIDLE)>;
491 clocks = <&dsp1_clkctrl DRA7_DSP1_MMU0_DSP1_CLKCTRL 0>;
492 clock-names = "fck";
493 resets = <&prm_dsp1 1>;
494 reset-names = "rstctrl";
495 ranges = <0x0 0x40d02000 0x1000>;
496 #size-cells = <1>;
497 #address-cells = <1>;
498
499 mmu1_dsp1: mmu@0 {
500 compatible = "ti,dra7-dsp-iommu";
501 reg = <0x0 0x100>;
502 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>;
503 #iommu-cells = <0>;
504 ti,syscon-mmuconfig = <&dsp1_system 0x1>;
505 };
Suman Anna2c7e07c52015-10-02 18:23:24 -0500506 };
507
Tero Kristodbd2d6f2019-12-12 14:51:18 +0200508 target-module@58882000 {
509 compatible = "ti,sysc-omap2", "ti,sysc";
510 reg = <0x58882000 0x4>,
511 <0x58882010 0x4>,
512 <0x58882014 0x4>;
513 reg-names = "rev", "sysc", "syss";
514 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
515 <SYSC_IDLE_NO>,
516 <SYSC_IDLE_SMART>;
517 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
518 SYSC_OMAP2_SOFTRESET |
519 SYSC_OMAP2_AUTOIDLE)>;
520 clocks = <&ipu1_clkctrl DRA7_IPU1_MMU_IPU1_CLKCTRL 0>;
521 clock-names = "fck";
522 resets = <&prm_ipu 2>;
523 reset-names = "rstctrl";
524 #address-cells = <1>;
525 #size-cells = <1>;
526 ranges = <0x0 0x58882000 0x100>;
527
528 mmu_ipu1: mmu@0 {
529 compatible = "ti,dra7-iommu";
530 reg = <0x0 0x100>;
531 interrupts = <GIC_SPI 395 IRQ_TYPE_LEVEL_HIGH>;
532 #iommu-cells = <0>;
533 ti,iommu-bus-err-back;
534 };
Suman Anna2c7e07c52015-10-02 18:23:24 -0500535 };
536
Tero Kristodbd2d6f2019-12-12 14:51:18 +0200537 target-module@55082000 {
538 compatible = "ti,sysc-omap2", "ti,sysc";
539 reg = <0x55082000 0x4>,
540 <0x55082010 0x4>,
541 <0x55082014 0x4>;
542 reg-names = "rev", "sysc", "syss";
543 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
544 <SYSC_IDLE_NO>,
545 <SYSC_IDLE_SMART>;
546 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
547 SYSC_OMAP2_SOFTRESET |
548 SYSC_OMAP2_AUTOIDLE)>;
549 clocks = <&ipu2_clkctrl DRA7_IPU2_MMU_IPU2_CLKCTRL 0>;
550 clock-names = "fck";
551 resets = <&prm_core 2>;
552 reset-names = "rstctrl";
553 #address-cells = <1>;
554 #size-cells = <1>;
555 ranges = <0x0 0x55082000 0x100>;
556
557 mmu_ipu2: mmu@0 {
558 compatible = "ti,dra7-iommu";
559 reg = <0x0 0x100>;
560 interrupts = <GIC_SPI 396 IRQ_TYPE_LEVEL_HIGH>;
561 #iommu-cells = <0>;
562 ti,iommu-bus-err-back;
563 };
Suman Anna2c7e07c52015-10-02 18:23:24 -0500564 };
565
Nishanth Menona1b8ee12014-03-03 20:20:23 +0530566 abb_mpu: regulator-abb-mpu {
567 compatible = "ti,abb-v3";
568 regulator-name = "abb_mpu";
569 #address-cells = <0>;
570 #size-cells = <0>;
571 clocks = <&sys_clkin1>;
572 ti,settling-time = <50>;
573 ti,clock-cycles = <16>;
574
575 reg = <0x4ae07ddc 0x4>, <0x4ae07de0 0x4>,
Nishanth Menon18227342015-04-16 16:56:33 -0500576 <0x4ae06014 0x4>, <0x4a003b20 0xc>,
Nishanth Menona1b8ee12014-03-03 20:20:23 +0530577 <0x4ae0c158 0x4>;
578 reg-names = "setup-address", "control-address",
579 "int-address", "efuse-address",
580 "ldo-address";
581 ti,tranxdone-status-mask = <0x80>;
582 /* LDOVBBMPU_FBB_MUX_CTRL */
583 ti,ldovbb-override-mask = <0x400>;
584 /* LDOVBBMPU_FBB_VSET_OUT */
585 ti,ldovbb-vset-mask = <0x1F>;
586
587 /*
588 * NOTE: only FBB mode used but actual vset will
589 * determine final biasing
590 */
591 ti,abb_info = <
592 /*uV ABB efuse rbb_m fbb_m vset_m*/
593 1060000 0 0x0 0 0x02000000 0x01F00000
594 1160000 0 0x4 0 0x02000000 0x01F00000
595 1210000 0 0x8 0 0x02000000 0x01F00000
596 >;
597 };
598
599 abb_ivahd: regulator-abb-ivahd {
600 compatible = "ti,abb-v3";
601 regulator-name = "abb_ivahd";
602 #address-cells = <0>;
603 #size-cells = <0>;
604 clocks = <&sys_clkin1>;
605 ti,settling-time = <50>;
606 ti,clock-cycles = <16>;
607
608 reg = <0x4ae07e34 0x4>, <0x4ae07e24 0x4>,
Nishanth Menon18227342015-04-16 16:56:33 -0500609 <0x4ae06010 0x4>, <0x4a0025cc 0xc>,
Nishanth Menona1b8ee12014-03-03 20:20:23 +0530610 <0x4a002470 0x4>;
611 reg-names = "setup-address", "control-address",
612 "int-address", "efuse-address",
613 "ldo-address";
614 ti,tranxdone-status-mask = <0x40000000>;
615 /* LDOVBBIVA_FBB_MUX_CTRL */
616 ti,ldovbb-override-mask = <0x400>;
617 /* LDOVBBIVA_FBB_VSET_OUT */
618 ti,ldovbb-vset-mask = <0x1F>;
619
620 /*
621 * NOTE: only FBB mode used but actual vset will
622 * determine final biasing
623 */
624 ti,abb_info = <
625 /*uV ABB efuse rbb_m fbb_m vset_m*/
626 1055000 0 0x0 0 0x02000000 0x01F00000
627 1150000 0 0x4 0 0x02000000 0x01F00000
628 1250000 0 0x8 0 0x02000000 0x01F00000
629 >;
630 };
631
632 abb_dspeve: regulator-abb-dspeve {
633 compatible = "ti,abb-v3";
634 regulator-name = "abb_dspeve";
635 #address-cells = <0>;
636 #size-cells = <0>;
637 clocks = <&sys_clkin1>;
638 ti,settling-time = <50>;
639 ti,clock-cycles = <16>;
640
641 reg = <0x4ae07e30 0x4>, <0x4ae07e20 0x4>,
Nishanth Menon18227342015-04-16 16:56:33 -0500642 <0x4ae06010 0x4>, <0x4a0025e0 0xc>,
Nishanth Menona1b8ee12014-03-03 20:20:23 +0530643 <0x4a00246c 0x4>;
644 reg-names = "setup-address", "control-address",
645 "int-address", "efuse-address",
646 "ldo-address";
647 ti,tranxdone-status-mask = <0x20000000>;
648 /* LDOVBBDSPEVE_FBB_MUX_CTRL */
649 ti,ldovbb-override-mask = <0x400>;
650 /* LDOVBBDSPEVE_FBB_VSET_OUT */
651 ti,ldovbb-vset-mask = <0x1F>;
652
653 /*
654 * NOTE: only FBB mode used but actual vset will
655 * determine final biasing
656 */
657 ti,abb_info = <
658 /*uV ABB efuse rbb_m fbb_m vset_m*/
659 1055000 0 0x0 0 0x02000000 0x01F00000
660 1150000 0 0x4 0 0x02000000 0x01F00000
661 1250000 0 0x8 0 0x02000000 0x01F00000
662 >;
663 };
664
665 abb_gpu: regulator-abb-gpu {
666 compatible = "ti,abb-v3";
667 regulator-name = "abb_gpu";
668 #address-cells = <0>;
669 #size-cells = <0>;
670 clocks = <&sys_clkin1>;
671 ti,settling-time = <50>;
672 ti,clock-cycles = <16>;
673
674 reg = <0x4ae07de4 0x4>, <0x4ae07de8 0x4>,
Nishanth Menon18227342015-04-16 16:56:33 -0500675 <0x4ae06010 0x4>, <0x4a003b08 0xc>,
Nishanth Menona1b8ee12014-03-03 20:20:23 +0530676 <0x4ae0c154 0x4>;
677 reg-names = "setup-address", "control-address",
678 "int-address", "efuse-address",
679 "ldo-address";
680 ti,tranxdone-status-mask = <0x10000000>;
681 /* LDOVBBGPU_FBB_MUX_CTRL */
682 ti,ldovbb-override-mask = <0x400>;
683 /* LDOVBBGPU_FBB_VSET_OUT */
684 ti,ldovbb-vset-mask = <0x1F>;
685
686 /*
687 * NOTE: only FBB mode used but actual vset will
688 * determine final biasing
689 */
690 ti,abb_info = <
691 /*uV ABB efuse rbb_m fbb_m vset_m*/
692 1090000 0 0x0 0 0x02000000 0x01F00000
693 1210000 0 0x4 0 0x02000000 0x01F00000
694 1280000 0 0x8 0 0x02000000 0x01F00000
695 >;
696 };
697
Rob Herringcc893872018-09-13 13:12:25 -0500698 qspi: spi@4b300000 {
Sourav Poddardc2dd5b2014-05-06 16:37:24 +0530699 compatible = "ti,dra7xxx-qspi";
Vignesh R1929d0b2015-12-11 09:39:59 +0530700 reg = <0x4b300000 0x100>,
701 <0x5c000000 0x4000000>;
702 reg-names = "qspi_base", "qspi_mmap";
703 syscon-chipselects = <&scm_conf 0x558>;
Sourav Poddardc2dd5b2014-05-06 16:37:24 +0530704 #address-cells = <1>;
705 #size-cells = <0>;
706 ti,hwmods = "qspi";
Tero Kristob5f8ffb2018-08-31 18:14:51 +0300707 clocks = <&l4per2_clkctrl DRA7_L4PER2_QSPI_CLKCTRL 25>;
Sourav Poddardc2dd5b2014-05-06 16:37:24 +0530708 clock-names = "fck";
709 num-cs = <4>;
R Sricharana46631c2014-06-26 12:55:31 +0530710 interrupts = <GIC_SPI 343 IRQ_TYPE_LEVEL_HIGH>;
Sourav Poddardc2dd5b2014-05-06 16:37:24 +0530711 status = "disabled";
712 };
Balaji T K7be80562014-05-07 14:58:58 +0300713
Balaji T K7be80562014-05-07 14:58:58 +0300714 /* OCP2SCP3 */
Balaji T K7be80562014-05-07 14:58:58 +0300715 sata: sata@4a141100 {
716 compatible = "snps,dwc-ahci";
717 reg = <0x4a140000 0x1100>, <0x4a141100 0x7>;
R Sricharana46631c2014-06-26 12:55:31 +0530718 interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
Balaji T K7be80562014-05-07 14:58:58 +0300719 phys = <&sata_phy>;
720 phy-names = "sata-phy";
Tero Kristob5f8ffb2018-08-31 18:14:51 +0300721 clocks = <&l3init_clkctrl DRA7_L3INIT_SATA_CLKCTRL 8>;
Balaji T K7be80562014-05-07 14:58:58 +0300722 ti,hwmods = "sata";
Jean-Jacques Hiblot87cb1292017-01-09 13:22:15 +0100723 ports-implemented = <0x1>;
Balaji T K7be80562014-05-07 14:58:58 +0300724 };
Roger Quadrosfbf3e552014-05-05 12:54:45 +0300725
Roger Quadrosfbf3e552014-05-05 12:54:45 +0300726 /* OCP2SCP1 */
Roger Quadrosfbf3e552014-05-05 12:54:45 +0300727 /* IRQ for DWC3_3 and DWC3_4 need IRQ crossbar */
Tony Lindgren11fdf592020-10-19 10:45:58 +0300728
729 target-module@50000000 {
730 compatible = "ti,sysc-omap2", "ti,sysc";
731 reg = <0x50000000 4>,
732 <0x50000010 4>,
733 <0x50000014 4>;
734 reg-names = "rev", "sysc", "syss";
735 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
736 <SYSC_IDLE_NO>,
737 <SYSC_IDLE_SMART>;
738 ti,syss-mask = <1>;
739 clocks = <&l3main1_clkctrl DRA7_L3MAIN1_GPMC_CLKCTRL 0>;
740 clock-names = "fck";
741 #address-cells = <1>;
Minal Shahff66a3c2014-05-19 14:45:47 +0530742 #size-cells = <1>;
Tony Lindgren11fdf592020-10-19 10:45:58 +0300743 ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
744 <0x00000000 0x00000000 0x40000000>; /* data */
745
746 gpmc: gpmc@50000000 {
747 compatible = "ti,am3352-gpmc";
748 reg = <0x50000000 0x37c>; /* device IO registers */
749 interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
750 dmas = <&edma_xbar 4 0>;
751 dma-names = "rxtx";
752 gpmc,num-cs = <8>;
753 gpmc,num-waitpins = <2>;
754 #address-cells = <2>;
755 #size-cells = <1>;
756 interrupt-controller;
757 #interrupt-cells = <2>;
758 gpio-controller;
759 #gpio-cells = <2>;
760 status = "disabled";
761 };
Minal Shahff66a3c2014-05-19 14:45:47 +0530762 };
Peter Ujfalusi2ca09452014-05-07 13:20:48 +0300763
Tony Lindgren45e118b2019-11-01 09:31:23 -0700764 target-module@56000000 {
765 compatible = "ti,sysc-omap4", "ti,sysc";
766 reg = <0x5600fe00 0x4>,
767 <0x5600fe10 0x4>;
768 reg-names = "rev", "sysc";
769 ti,sysc-midle = <SYSC_IDLE_FORCE>,
770 <SYSC_IDLE_NO>,
771 <SYSC_IDLE_SMART>;
772 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
773 <SYSC_IDLE_NO>,
774 <SYSC_IDLE_SMART>;
775 clocks = <&gpu_clkctrl DRA7_GPU_CLKCTRL 0>;
776 clock-names = "fck";
777 #address-cells = <1>;
778 #size-cells = <1>;
779 ranges = <0 0x56000000 0x2000000>;
780 };
781
Marc Zyngier783d3182015-03-11 15:43:44 +0000782 crossbar_mpu: crossbar@4a002a48 {
R Sricharana46631c2014-06-26 12:55:31 +0530783 compatible = "ti,irq-crossbar";
784 reg = <0x4a002a48 0x130>;
Marc Zyngier783d3182015-03-11 15:43:44 +0000785 interrupt-controller;
Marc Zyngier7136d452015-03-11 15:43:49 +0000786 interrupt-parent = <&wakeupgen>;
Marc Zyngier783d3182015-03-11 15:43:44 +0000787 #interrupt-cells = <3>;
R Sricharana46631c2014-06-26 12:55:31 +0530788 ti,max-irqs = <160>;
789 ti,max-crossbar-sources = <MAX_SOURCES>;
790 ti,reg-size = <2>;
791 ti,irqs-reserved = <0 1 2 3 5 6 131 132>;
792 ti,irqs-skip = <10 133 139 140>;
793 ti,irqs-safe-map = <0>;
794 };
Mugunthan V Nef9c5b62014-10-21 15:31:00 +0530795
Tony Lindgrena50371f2020-03-04 08:10:41 -0800796 target-module@58000000 {
797 compatible = "ti,sysc-omap2", "ti,sysc";
Tony Lindgrena50371f2020-03-04 08:10:41 -0800798 reg = <0x58000000 4>,
799 <0x58000014 4>;
800 reg-names = "rev", "syss";
801 ti,syss-mask = <1>;
802 clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 0>,
803 <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 9>,
804 <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 10>,
805 <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 11>;
806 clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk";
Tomi Valkeinen95c1cd12014-07-09 16:15:18 +0530807 #address-cells = <1>;
808 #size-cells = <1>;
Tony Lindgrena50371f2020-03-04 08:10:41 -0800809 ranges = <0 0x58000000 0x800000>;
Tomi Valkeinen95c1cd12014-07-09 16:15:18 +0530810
Tony Lindgrena50371f2020-03-04 08:10:41 -0800811 dss: dss@0 {
812 compatible = "ti,dra7-dss";
813 /* 'reg' defined in dra72x.dtsi and dra74x.dtsi */
814 /* 'clocks' defined in dra72x.dtsi and dra74x.dtsi */
Tomi Valkeinen95c1cd12014-07-09 16:15:18 +0530815 status = "disabled";
Tony Lindgrena50371f2020-03-04 08:10:41 -0800816 /* CTRL_CORE_DSS_PLL_CONTROL */
817 syscon-pll-ctrl = <&scm_conf 0x538>;
818 #address-cells = <1>;
819 #size-cells = <1>;
820 ranges = <0 0 0x800000>;
821
Tony Lindgren9a951962020-03-04 08:10:42 -0800822 target-module@1000 {
823 compatible = "ti,sysc-omap2", "ti,sysc";
824 reg = <0x1000 0x4>,
825 <0x1010 0x4>,
826 <0x1014 0x4>;
827 reg-names = "rev", "sysc", "syss";
828 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
829 <SYSC_IDLE_NO>,
830 <SYSC_IDLE_SMART>;
831 ti,sysc-midle = <SYSC_IDLE_FORCE>,
832 <SYSC_IDLE_NO>,
833 <SYSC_IDLE_SMART>;
834 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
835 SYSC_OMAP2_ENAWAKEUP |
836 SYSC_OMAP2_SOFTRESET |
837 SYSC_OMAP2_AUTOIDLE)>;
838 ti,syss-mask = <1>;
839 clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 8>;
Tony Lindgrena50371f2020-03-04 08:10:41 -0800840 clock-names = "fck";
Tony Lindgren9a951962020-03-04 08:10:42 -0800841 #address-cells = <1>;
842 #size-cells = <1>;
843 ranges = <0 0x1000 0x1000>;
844
845 dispc@0 {
846 compatible = "ti,dra7-dispc";
847 reg = <0 0x1000>;
848 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
Tony Lindgren9a951962020-03-04 08:10:42 -0800849 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 8>;
850 clock-names = "fck";
851 /* CTRL_CORE_SMA_SW_1 */
852 syscon-pol = <&scm_conf 0x534>;
853 };
Tony Lindgrena50371f2020-03-04 08:10:41 -0800854 };
855
Tony Lindgrenc4f47282020-03-04 08:10:42 -0800856 target-module@40000 {
857 compatible = "ti,sysc-omap4", "ti,sysc";
858 reg = <0x40000 0x4>,
859 <0x40010 0x4>;
860 reg-names = "rev", "sysc";
861 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
862 <SYSC_IDLE_NO>,
863 <SYSC_IDLE_SMART>,
864 <SYSC_IDLE_SMART_WKUP>;
865 ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>;
866 clocks = <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 9>,
867 <&dss_clkctrl DRA7_DSS_CORE_CLKCTRL 8>;
868 clock-names = "fck", "dss_clk";
869 #address-cells = <1>;
870 #size-cells = <1>;
871 ranges = <0 0x40000 0x40000>;
872
873 hdmi: encoder@0 {
874 compatible = "ti,dra7-hdmi";
875 reg = <0 0x200>,
876 <0x200 0x80>,
877 <0x300 0x80>,
878 <0x20000 0x19000>;
879 reg-names = "wp", "pll", "phy", "core";
880 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
881 status = "disabled";
882 clocks = <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 9>,
883 <&dss_clkctrl DRA7_DSS_DSS_CORE_CLKCTRL 10>;
884 clock-names = "fck", "sys_clk";
885 dmas = <&sdma_xbar 76>;
886 dma-names = "audio_tx";
887 };
Tony Lindgrena50371f2020-03-04 08:10:41 -0800888 };
Tomi Valkeinen95c1cd12014-07-09 16:15:18 +0530889 };
890 };
Vignesh R34370142016-05-03 10:56:55 -0500891
Tony Lindgren2ea3ce22019-12-12 09:46:16 -0800892 aes1_target: target-module@4b500000 {
893 compatible = "ti,sysc-omap2", "ti,sysc";
Tony Lindgren2ea3ce22019-12-12 09:46:16 -0800894 reg = <0x4b500080 0x4>,
895 <0x4b500084 0x4>,
896 <0x4b500088 0x4>;
897 reg-names = "rev", "sysc", "syss";
898 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
899 SYSC_OMAP2_AUTOIDLE)>;
900 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
901 <SYSC_IDLE_NO>,
902 <SYSC_IDLE_SMART>,
903 <SYSC_IDLE_SMART_WKUP>;
904 ti,syss-mask = <1>;
905 /* Domains (P, C): per_pwrdm, l4sec_clkdm */
906 clocks = <&l4sec_clkctrl DRA7_L4SEC_AES1_CLKCTRL 0>;
Joel Fernandese7fd15c2016-06-01 12:06:42 +0300907 clock-names = "fck";
Tony Lindgren2ea3ce22019-12-12 09:46:16 -0800908 #address-cells = <1>;
909 #size-cells = <1>;
910 ranges = <0x0 0x4b500000 0x1000>;
911
912 aes1: aes@0 {
913 compatible = "ti,omap4-aes";
914 reg = <0 0xa0>;
915 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
916 dmas = <&edma_xbar 111 0>, <&edma_xbar 110 0>;
917 dma-names = "tx", "rx";
918 clocks = <&l3_iclk_div>;
919 clock-names = "fck";
920 };
Joel Fernandese7fd15c2016-06-01 12:06:42 +0300921 };
922
Tony Lindgren2ea3ce22019-12-12 09:46:16 -0800923 aes2_target: target-module@4b700000 {
924 compatible = "ti,sysc-omap2", "ti,sysc";
Tony Lindgren2ea3ce22019-12-12 09:46:16 -0800925 reg = <0x4b700080 0x4>,
926 <0x4b700084 0x4>,
927 <0x4b700088 0x4>;
928 reg-names = "rev", "sysc", "syss";
929 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
930 SYSC_OMAP2_AUTOIDLE)>;
931 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
932 <SYSC_IDLE_NO>,
933 <SYSC_IDLE_SMART>,
934 <SYSC_IDLE_SMART_WKUP>;
935 ti,syss-mask = <1>;
936 /* Domains (P, C): per_pwrdm, l4sec_clkdm */
937 clocks = <&l4sec_clkctrl DRA7_L4SEC_AES2_CLKCTRL 0>;
Joel Fernandese7fd15c2016-06-01 12:06:42 +0300938 clock-names = "fck";
Tony Lindgren2ea3ce22019-12-12 09:46:16 -0800939 #address-cells = <1>;
940 #size-cells = <1>;
941 ranges = <0x0 0x4b700000 0x1000>;
942
943 aes2: aes@0 {
944 compatible = "ti,omap4-aes";
945 reg = <0 0xa0>;
946 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
947 dmas = <&edma_xbar 114 0>, <&edma_xbar 113 0>;
948 dma-names = "tx", "rx";
949 clocks = <&l3_iclk_div>;
950 clock-names = "fck";
951 };
Joel Fernandese7fd15c2016-06-01 12:06:42 +0300952 };
953
Tero Kristobe5cd392020-09-07 12:52:46 +0300954 sham1_target: target-module@4b101000 {
Tony Lindgrene1326812019-12-12 09:46:15 -0800955 compatible = "ti,sysc-omap3-sham", "ti,sysc";
Tony Lindgrene1326812019-12-12 09:46:15 -0800956 reg = <0x4b101100 0x4>,
957 <0x4b101110 0x4>,
958 <0x4b101114 0x4>;
959 reg-names = "rev", "sysc", "syss";
960 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
961 SYSC_OMAP2_AUTOIDLE)>;
962 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
963 <SYSC_IDLE_NO>,
964 <SYSC_IDLE_SMART>;
965 ti,syss-mask = <1>;
966 /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
967 clocks = <&l4sec_clkctrl DRA7_L4SEC_SHAM_CLKCTRL 0>;
Lokesh Vutlada346092016-06-01 12:06:43 +0300968 clock-names = "fck";
Tony Lindgrene1326812019-12-12 09:46:15 -0800969 #address-cells = <1>;
970 #size-cells = <1>;
971 ranges = <0x0 0x4b101000 0x1000>;
972
Tero Kristobe5cd392020-09-07 12:52:46 +0300973 sham1: sham@0 {
Tony Lindgrene1326812019-12-12 09:46:15 -0800974 compatible = "ti,omap5-sham";
975 reg = <0 0x300>;
976 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
977 dmas = <&edma_xbar 119 0>;
978 dma-names = "rx";
979 clocks = <&l3_iclk_div>;
980 clock-names = "fck";
981 };
Lokesh Vutlada346092016-06-01 12:06:43 +0300982 };
Lokesh Vutla610e9c42016-06-01 12:06:44 +0300983
Tero Kristobe5cd392020-09-07 12:52:46 +0300984 sham2_target: target-module@42701000 {
985 compatible = "ti,sysc-omap3-sham", "ti,sysc";
986 reg = <0x42701100 0x4>,
987 <0x42701110 0x4>,
988 <0x42701114 0x4>;
989 reg-names = "rev", "sysc", "syss";
990 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
991 SYSC_OMAP2_AUTOIDLE)>;
992 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
993 <SYSC_IDLE_NO>,
994 <SYSC_IDLE_SMART>;
995 ti,syss-mask = <1>;
996 /* Domains (P, C): l4per_pwrdm, l4sec_clkdm */
997 clocks = <&l4sec_clkctrl DRA7_L4SEC_SHAM2_CLKCTRL 0>;
998 clock-names = "fck";
999 #address-cells = <1>;
1000 #size-cells = <1>;
1001 ranges = <0x0 0x42701000 0x1000>;
1002
1003 sham2: sham@0 {
1004 compatible = "ti,omap5-sham";
1005 reg = <0 0x300>;
1006 interrupts = <GIC_SPI 163 IRQ_TYPE_LEVEL_HIGH>;
1007 dmas = <&edma_xbar 165 0>;
1008 dma-names = "rx";
1009 clocks = <&l3_iclk_div>;
1010 clock-names = "fck";
1011 };
1012 };
1013
Tony Lindgrenae57d152020-11-12 11:57:03 +02001014 iva_hd_target: target-module@5a000000 {
1015 compatible = "ti,sysc-omap4", "ti,sysc";
1016 reg = <0x5a05a400 0x4>,
1017 <0x5a05a410 0x4>;
1018 reg-names = "rev", "sysc";
1019 ti,sysc-midle = <SYSC_IDLE_FORCE>,
1020 <SYSC_IDLE_NO>,
1021 <SYSC_IDLE_SMART>;
1022 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
1023 <SYSC_IDLE_NO>,
1024 <SYSC_IDLE_SMART>;
1025 power-domains = <&prm_iva>;
1026 resets = <&prm_iva 2>;
1027 reset-names = "rstctrl";
1028 clocks = <&iva_clkctrl DRA7_IVA_CLKCTRL 0>;
1029 clock-names = "fck";
1030 #address-cells = <1>;
1031 #size-cells = <1>;
1032 ranges = <0x5a000000 0x5a000000 0x1000000>,
1033 <0x5b000000 0x5b000000 0x1000000>;
1034
1035 iva {
1036 compatible = "ti,ivahd";
1037 };
1038 };
1039
Dave Gerlachdbef1962017-12-19 09:24:20 -06001040 opp_supply_mpu: opp-supply@4a003b20 {
1041 compatible = "ti,omap5-opp-supply";
1042 reg = <0x4a003b20 0xc>;
1043 ti,efuse-settings = <
1044 /* uV offset */
1045 1060000 0x0
1046 1160000 0x4
1047 1210000 0x8
1048 >;
1049 ti,absolute-max-voltage-uv = <1500000>;
1050 };
1051
R Sricharan6e58b8f2013-08-14 19:08:20 +05301052 };
Keerthyf7397ed2015-03-23 14:39:38 -05001053
1054 thermal_zones: thermal-zones {
1055 #include "omap4-cpu-thermal.dtsi"
1056 #include "omap5-gpu-thermal.dtsi"
1057 #include "omap5-core-thermal.dtsi"
Keerthy667f2592016-02-08 14:46:30 +05301058 #include "dra7-dspeve-thermal.dtsi"
1059 #include "dra7-iva-thermal.dtsi"
Keerthyf7397ed2015-03-23 14:39:38 -05001060 };
1061
1062};
1063
1064&cpu_thermal {
1065 polling-delay = <500>; /* milliseconds */
Keerthyfb51ae02017-03-09 13:35:56 +05301066 coefficients = <0 2000>;
1067};
1068
1069&gpu_thermal {
1070 coefficients = <0 2000>;
1071};
1072
1073&core_thermal {
1074 coefficients = <0 2000>;
1075};
1076
1077&dspeve_thermal {
1078 coefficients = <0 2000>;
1079};
1080
1081&iva_thermal {
1082 coefficients = <0 2000>;
R Sricharan6e58b8f2013-08-14 19:08:20 +05301083};
Tero Kristoee6c7502013-07-18 17:18:33 +03001084
Ravikumar Kattekolabca52382017-05-17 06:51:38 -07001085&cpu_crit {
1086 temperature = <120000>; /* milli Celsius */
1087};
1088
Ravikumar Kattekola64c358b2018-01-11 21:45:39 +05301089&core_crit {
1090 temperature = <120000>; /* milli Celsius */
1091};
1092
1093&gpu_crit {
1094 temperature = <120000>; /* milli Celsius */
1095};
1096
1097&dspeve_crit {
1098 temperature = <120000>; /* milli Celsius */
1099};
1100
1101&iva_crit {
1102 temperature = <120000>; /* milli Celsius */
1103};
Tony Lindgren4ed0dfe2018-09-27 13:39:07 -07001104
1105#include "dra7-l4.dtsi"
1106#include "dra7xx-clocks.dtsi"
Tero Kristodb7725d2019-10-10 11:21:04 +03001107
1108&prm {
Tero Kristo1021b372020-11-11 15:57:20 +02001109 prm_mpu: prm@300 {
1110 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1111 reg = <0x300 0x100>;
1112 #power-domain-cells = <0>;
1113 };
1114
Tero Kristodb7725d2019-10-10 11:21:04 +03001115 prm_dsp1: prm@400 {
1116 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1117 reg = <0x400 0x100>;
1118 #reset-cells = <1>;
Tero Kristo1021b372020-11-11 15:57:20 +02001119 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001120 };
1121
1122 prm_ipu: prm@500 {
1123 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1124 reg = <0x500 0x100>;
1125 #reset-cells = <1>;
Tero Kristo1021b372020-11-11 15:57:20 +02001126 #power-domain-cells = <0>;
1127 };
1128
1129 prm_coreaon: prm@628 {
1130 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1131 reg = <0x628 0xd8>;
1132 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001133 };
1134
1135 prm_core: prm@700 {
1136 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1137 reg = <0x700 0x100>;
1138 #reset-cells = <1>;
Tero Kristo1021b372020-11-11 15:57:20 +02001139 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001140 };
1141
1142 prm_iva: prm@f00 {
1143 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1144 reg = <0xf00 0x100>;
Tony Lindgrenae57d152020-11-12 11:57:03 +02001145 #reset-cells = <1>;
Tero Kristo1021b372020-11-11 15:57:20 +02001146 #power-domain-cells = <0>;
1147 };
1148
1149 prm_cam: prm@1000 {
1150 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1151 reg = <0x1000 0x100>;
1152 #power-domain-cells = <0>;
1153 };
1154
1155 prm_dss: prm@1100 {
1156 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1157 reg = <0x1100 0x100>;
1158 #power-domain-cells = <0>;
1159 };
1160
1161 prm_gpu: prm@1200 {
1162 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1163 reg = <0x1200 0x100>;
1164 #power-domain-cells = <0>;
1165 };
1166
1167 prm_l3init: prm@1300 {
1168 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1169 reg = <0x1300 0x100>;
1170 #reset-cells = <1>;
1171 #power-domain-cells = <0>;
1172 };
1173
1174 prm_l4per: prm@1400 {
1175 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1176 reg = <0x1400 0x100>;
1177 #power-domain-cells = <0>;
1178 };
1179
1180 prm_custefuse: prm@1600 {
1181 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1182 reg = <0x1600 0x100>;
1183 #power-domain-cells = <0>;
1184 };
1185
1186 prm_wkupaon: prm@1724 {
1187 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1188 reg = <0x1724 0x100>;
1189 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001190 };
1191
1192 prm_dsp2: prm@1b00 {
1193 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1194 reg = <0x1b00 0x40>;
1195 #reset-cells = <1>;
Tero Kristo1021b372020-11-11 15:57:20 +02001196 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001197 };
1198
1199 prm_eve1: prm@1b40 {
1200 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1201 reg = <0x1b40 0x40>;
Tero Kristo1021b372020-11-11 15:57:20 +02001202 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001203 };
1204
1205 prm_eve2: prm@1b80 {
1206 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1207 reg = <0x1b80 0x40>;
Tero Kristo1021b372020-11-11 15:57:20 +02001208 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001209 };
1210
1211 prm_eve3: prm@1bc0 {
1212 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1213 reg = <0x1bc0 0x40>;
Tero Kristo1021b372020-11-11 15:57:20 +02001214 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001215 };
1216
1217 prm_eve4: prm@1c00 {
1218 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1219 reg = <0x1c00 0x60>;
Tero Kristo1021b372020-11-11 15:57:20 +02001220 #power-domain-cells = <0>;
1221 };
1222
1223 prm_rtc: prm@1c60 {
1224 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1225 reg = <0x1c60 0x20>;
1226 #power-domain-cells = <0>;
1227 };
1228
1229 prm_vpe: prm@1c80 {
1230 compatible = "ti,dra7-prm-inst", "ti,omap-prm-inst";
1231 reg = <0x1c80 0x80>;
1232 #power-domain-cells = <0>;
Tero Kristodb7725d2019-10-10 11:21:04 +03001233 };
1234};
Tony Lindgren036a3d42020-05-07 09:59:31 -07001235
1236/* Preferred always-on timer for clockevent */
1237&timer1_target {
1238 ti,no-reset-on-init;
1239 ti,no-idle;
1240 timer@0 {
1241 assigned-clocks = <&wkupaon_clkctrl DRA7_TIMER1_CLKCTRL 24>;
1242 assigned-clock-parents = <&sys_32k_ck>;
1243 };
1244};
Tony Lindgren25de4ce2021-03-23 09:43:26 +02001245
1246/* Local timers, see ARM architected timer wrap erratum i940 */
1247&timer3_target {
1248 ti,no-reset-on-init;
1249 ti,no-idle;
1250 timer@0 {
1251 assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER3_CLKCTRL 24>;
1252 assigned-clock-parents = <&timer_sys_clk_div>;
1253 };
1254};
1255
1256&timer4_target {
1257 ti,no-reset-on-init;
1258 ti,no-idle;
1259 timer@0 {
1260 assigned-clocks = <&l4per_clkctrl DRA7_L4PER_TIMER4_CLKCTRL 24>;
1261 assigned-clock-parents = <&timer_sys_clk_div>;
1262 };
1263};