blob: b5859350660be71b3b33402de897b1c31f0da035 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001// SPDX-License-Identifier: GPL-2.0-only
Benoit Coussond9fda072011-08-09 17:15:17 +02002/*
Alexander A. Klimov75f66812020-07-08 11:34:51 +02003 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
Benoit Coussond9fda072011-08-09 17:15:17 +02004 */
5
Tony Lindgrene14d7e52018-01-11 16:04:03 -08006#include <dt-bindings/bus/ti-sysc.h>
7#include <dt-bindings/clock/omap4.h>
Florian Vaussard6d624ea2013-05-31 14:32:56 +02008#include <dt-bindings/gpio/gpio.h>
Florian Vaussard8fea7d52013-05-31 14:32:57 +02009#include <dt-bindings/interrupt-controller/arm-gic.h>
Florian Vaussardbcd3cca2013-05-31 14:32:59 +020010#include <dt-bindings/pinctrl/omap.h>
Tero Kristoa5c82a02017-12-08 17:17:27 +020011#include <dt-bindings/clock/omap4.h>
Benoit Coussond9fda072011-08-09 17:15:17 +020012
Benoit Coussond9fda072011-08-09 17:15:17 +020013/ {
14 compatible = "ti,omap4430", "ti,omap4";
Marc Zyngier7136d452015-03-11 15:43:49 +000015 interrupt-parent = <&wakeupgen>;
Javier Martinez Canillasda6269e2016-08-31 12:35:19 +020016 #address-cells = <1>;
17 #size-cells = <1>;
Javier Martinez Canillas6c565d12016-12-19 11:44:35 -030018 chosen { };
Benoit Coussond9fda072011-08-09 17:15:17 +020019
20 aliases {
Nishanth Menon20b80942013-10-16 15:21:03 -050021 i2c0 = &i2c1;
22 i2c1 = &i2c2;
23 i2c2 = &i2c3;
24 i2c3 = &i2c4;
Rajendra Nayakcf3c79d2011-12-14 17:25:46 +053025 serial0 = &uart1;
26 serial1 = &uart2;
27 serial2 = &uart3;
28 serial3 = &uart4;
Suman Anna691eb182020-07-09 18:19:46 -050029 rproc0 = &dsp;
30 rproc1 = &ipu;
Benoit Coussond9fda072011-08-09 17:15:17 +020031 };
32
Benoit Cousson476b6792011-08-16 11:49:08 +020033 cpus {
Lorenzo Pieralisieeb25fd2013-04-18 18:35:59 +010034 #address-cells = <1>;
35 #size-cells = <0>;
36
Benoit Cousson476b6792011-08-16 11:49:08 +020037 cpu@0 {
38 compatible = "arm,cortex-a9";
Lorenzo Pieralisieeb25fd2013-04-18 18:35:59 +010039 device_type = "cpu";
Santosh Shilimkar926fd452012-07-04 17:57:34 +053040 next-level-cache = <&L2>;
Lorenzo Pieralisieeb25fd2013-04-18 18:35:59 +010041 reg = <0x0>;
Nishanth Menon8d766fa2014-01-29 12:19:17 -060042
43 clocks = <&dpll_mpu_ck>;
44 clock-names = "cpu";
45
46 clock-latency = <300000>; /* From omap-cpufreq driver */
Benoit Cousson476b6792011-08-16 11:49:08 +020047 };
48 cpu@1 {
49 compatible = "arm,cortex-a9";
Lorenzo Pieralisieeb25fd2013-04-18 18:35:59 +010050 device_type = "cpu";
Santosh Shilimkar926fd452012-07-04 17:57:34 +053051 next-level-cache = <&L2>;
Lorenzo Pieralisieeb25fd2013-04-18 18:35:59 +010052 reg = <0x1>;
Benoit Cousson476b6792011-08-16 11:49:08 +020053 };
54 };
55
Tony Lindgrenb0142a12017-08-30 08:19:38 -070056 /*
57 * Note that 4430 needs cross trigger interface (CTI) supported
58 * before we can configure the interrupts. This means sampling
59 * events are not supported for pmu. Note that 4460 does not use
60 * CTI, see also 4460.dtsi.
61 */
62 pmu {
63 compatible = "arm,cortex-a9-pmu";
64 ti,hwmods = "debugss";
65 };
66
Benoit Cousson56351212012-09-03 17:56:32 +020067 gic: interrupt-controller@48241000 {
68 compatible = "arm,cortex-a9-gic";
69 interrupt-controller;
70 #interrupt-cells = <3>;
71 reg = <0x48241000 0x1000>,
72 <0x48240100 0x0100>;
Marc Zyngier7136d452015-03-11 15:43:49 +000073 interrupt-parent = <&gic>;
Benoit Cousson56351212012-09-03 17:56:32 +020074 };
75
Krzysztof Kozlowski01df6232020-06-26 10:06:19 +020076 L2: cache-controller@48242000 {
Santosh Shilimkar926fd452012-07-04 17:57:34 +053077 compatible = "arm,pl310-cache";
78 reg = <0x48242000 0x1000>;
79 cache-unified;
80 cache-level = <2>;
81 };
82
Lee Jones75d71d42013-07-22 11:52:36 +010083 local-timer@48240600 {
Santosh Shilimkareed0de22012-07-04 18:32:32 +053084 compatible = "arm,cortex-a9-twd-timer";
Gilles Chanteperdrix23c47372014-04-07 22:05:39 +020085 clocks = <&mpu_periphclk>;
Santosh Shilimkareed0de22012-07-04 18:32:32 +053086 reg = <0x48240600 0x20>;
Jon Hunter6b472572016-03-17 14:19:06 +000087 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_EDGE_RISING)>;
Marc Zyngier7136d452015-03-11 15:43:49 +000088 interrupt-parent = <&gic>;
89 };
90
91 wakeupgen: interrupt-controller@48281000 {
92 compatible = "ti,omap4-wugen-mpu";
93 interrupt-controller;
94 #interrupt-cells = <3>;
95 reg = <0x48281000 0x1000>;
96 interrupt-parent = <&gic>;
Santosh Shilimkareed0de22012-07-04 18:32:32 +053097 };
98
Benoit Coussond9fda072011-08-09 17:15:17 +020099 /*
Geert Uytterhoeven5c5be9d2014-03-28 11:11:37 +0100100 * The soc node represents the soc top level view. It is used for IPs
Benoit Coussond9fda072011-08-09 17:15:17 +0200101 * that are not memory mapped in the MPU view or for the MPU itself.
102 */
103 soc {
104 compatible = "ti,omap-infra";
Benoit Cousson476b6792011-08-16 11:49:08 +0200105 mpu {
106 compatible = "ti,omap4-mpu";
107 ti,hwmods = "mpu";
Rajendra Nayak1306c082014-09-10 11:04:04 -0500108 sram = <&ocmcram>;
Benoit Cousson476b6792011-08-16 11:49:08 +0200109 };
110
Benoit Cousson476b6792011-08-16 11:49:08 +0200111 iva {
112 compatible = "ti,ivahd";
113 ti,hwmods = "iva";
114 };
Benoit Coussond9fda072011-08-09 17:15:17 +0200115 };
116
117 /*
118 * XXX: Use a flat representation of the OMAP4 interconnect.
119 * The real OMAP interconnect network is quite complex.
Geert Uytterhoevenb7ab5242014-03-28 11:11:39 +0100120 * Since it will not bring real advantage to represent that in DT for
Benoit Coussond9fda072011-08-09 17:15:17 +0200121 * the moment, just use a fake OCP bus entry to represent the whole bus
122 * hierarchy.
123 */
124 ocp {
Benoit Coussonad8dfac2011-08-12 13:48:47 +0200125 compatible = "ti,omap4-l3-noc", "simple-bus";
Benoit Coussond9fda072011-08-09 17:15:17 +0200126 #address-cells = <1>;
127 #size-cells = <1>;
128 ranges;
Benoit Coussonad8dfac2011-08-12 13:48:47 +0200129 ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
Santosh Shilimkar20a60ea2013-02-26 17:36:14 +0530130 reg = <0x44000000 0x1000>,
131 <0x44800000 0x2000>,
132 <0x45000000 0x1000>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200133 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
134 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
Benoit Coussond9fda072011-08-09 17:15:17 +0200135
Tony Lindgren84badc52018-07-05 23:19:37 -0700136 l4_wkup: interconnect@4a300000 {
137 };
Tony Lindgren679e3312012-09-10 10:34:51 -0700138
Tony Lindgren84badc52018-07-05 23:19:37 -0700139 l4_cfg: interconnect@4a000000 {
140 };
Balaji T Kcd042fe2014-02-19 20:26:40 +0530141
Tony Lindgren84badc52018-07-05 23:19:37 -0700142 l4_per: interconnect@48000000 {
Balaji T Kcd042fe2014-02-19 20:26:40 +0530143 };
144
Tony Lindgren5b597532019-04-09 09:00:53 -0700145 l4_abe: interconnect@40100000 {
146 };
147
Krzysztof Kozlowskice8739d2019-10-02 18:43:16 +0200148 ocmcram: sram@40304000 {
Rajendra Nayak8b9a2812014-09-10 11:04:03 -0500149 compatible = "mmio-sram";
150 reg = <0x40304000 0xa000>; /* 40k */
151 };
152
Jon Hunter1c7dbb52013-02-22 15:33:31 -0600153 gpmc: gpmc@50000000 {
154 compatible = "ti,omap4430-gpmc";
155 reg = <0x50000000 0x1000>;
156 #address-cells = <2>;
157 #size-cells = <1>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200158 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
Franklin S Cooper Jr201c7e32015-10-15 12:37:27 -0500159 dmas = <&sdma 4>;
160 dma-names = "rxtx";
Jon Hunter1c7dbb52013-02-22 15:33:31 -0600161 gpmc,num-cs = <8>;
162 gpmc,num-waitpins = <4>;
163 ti,hwmods = "gpmc";
Rajendra Nayakf12ecbe22013-10-15 12:37:50 +0530164 ti,no-idle-on-init;
Florian Vaussard7b8b6af2014-02-26 11:38:09 +0100165 clocks = <&l3_div_ck>;
166 clock-names = "fck";
Roger Quadros8c75b762016-04-07 13:25:29 +0300167 interrupt-controller;
168 #interrupt-cells = <2>;
169 gpio-controller;
170 #gpio-cells = <2>;
Jon Hunter1c7dbb52013-02-22 15:33:31 -0600171 };
172
Tony Lindgrend23a1632017-10-10 14:14:50 -0700173 target-module@52000000 {
Tony Lindgrenfeffce12017-12-13 16:36:47 -0800174 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgrend23a1632017-10-10 14:14:50 -0700175 ti,hwmods = "iss";
176 reg = <0x52000000 0x4>,
177 <0x52000010 0x4>;
178 reg-names = "rev", "sysc";
Tony Lindgrene14d7e52018-01-11 16:04:03 -0800179 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
180 ti,sysc-midle = <SYSC_IDLE_FORCE>,
181 <SYSC_IDLE_NO>,
182 <SYSC_IDLE_SMART>,
183 <SYSC_IDLE_SMART_WKUP>;
184 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
185 <SYSC_IDLE_NO>,
186 <SYSC_IDLE_SMART>,
187 <SYSC_IDLE_SMART_WKUP>;
188 ti,sysc-delay-us = <2>;
189 clocks = <&iss_clkctrl OMAP4_ISS_CLKCTRL 0>;
190 clock-names = "fck";
Tony Lindgrend23a1632017-10-10 14:14:50 -0700191 #address-cells = <1>;
192 #size-cells = <1>;
193 ranges = <0 0x52000000 0x1000000>;
194
195 /* No child device binding, driver in staging */
196 };
197
Tero Kristo22f8d662019-12-12 14:51:20 +0200198 target-module@55082000 {
199 compatible = "ti,sysc-omap2", "ti,sysc";
200 reg = <0x55082000 0x4>,
201 <0x55082010 0x4>,
202 <0x55082014 0x4>;
203 reg-names = "rev", "sysc", "syss";
204 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
205 <SYSC_IDLE_NO>,
206 <SYSC_IDLE_SMART>;
207 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
208 SYSC_OMAP2_SOFTRESET |
209 SYSC_OMAP2_AUTOIDLE)>;
210 clocks = <&ducati_clkctrl OMAP4_IPU_CLKCTRL 0>;
211 clock-names = "fck";
212 resets = <&prm_core 2>;
213 reset-names = "rstctrl";
214 ranges = <0x0 0x55082000 0x100>;
215 #size-cells = <1>;
216 #address-cells = <1>;
217
218 mmu_ipu: mmu@0 {
219 compatible = "ti,omap4-iommu";
220 reg = <0x0 0x100>;
221 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
222 #iommu-cells = <0>;
223 ti,iommu-bus-err-back;
224 };
Florian Vaussard21bd85a2014-03-05 18:24:18 -0600225 };
Tero Kristo22f8d662019-12-12 14:51:20 +0200226
Tony Lindgrend23a1632017-10-10 14:14:50 -0700227 target-module@4012c000 {
Tony Lindgrenfeffce12017-12-13 16:36:47 -0800228 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgrend23a1632017-10-10 14:14:50 -0700229 reg = <0x4012c000 0x4>,
230 <0x4012c010 0x4>;
231 reg-names = "rev", "sysc";
Tony Lindgrene14d7e52018-01-11 16:04:03 -0800232 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
233 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
234 <SYSC_IDLE_NO>,
235 <SYSC_IDLE_SMART>,
236 <SYSC_IDLE_SMART_WKUP>;
237 clocks = <&abe_clkctrl OMAP4_SLIMBUS1_CLKCTRL 0>;
238 clock-names = "fck";
Tony Lindgrend23a1632017-10-10 14:14:50 -0700239 #address-cells = <1>;
240 #size-cells = <1>;
241 ranges = <0x00000000 0x4012c000 0x1000>, /* MPU */
242 <0x4902c000 0x4902c000 0x1000>; /* L3 */
243
244 /* No child device binding or driver in mainline */
245 };
246
Archit Taneja1a5fe3c2013-12-17 15:32:21 +0530247 dmm@4e000000 {
248 compatible = "ti,omap4-dmm";
249 reg = <0x4e000000 0x800>;
250 interrupts = <0 113 0x4>;
251 ti,hwmods = "dmm";
252 };
253
Aneesh V11c27062012-01-20 20:35:26 +0530254 emif1: emif@4c000000 {
255 compatible = "ti,emif-4d";
Benoit Cousson48420db2012-09-05 11:38:23 +0200256 reg = <0x4c000000 0x100>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200257 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
Aneesh V11c27062012-01-20 20:35:26 +0530258 ti,hwmods = "emif1";
Rajendra Nayakf12ecbe22013-10-15 12:37:50 +0530259 ti,no-idle-on-init;
Aneesh V11c27062012-01-20 20:35:26 +0530260 phy-type = <1>;
261 hw-caps-read-idle-ctrl;
262 hw-caps-ll-interface;
263 hw-caps-temp-alert;
264 };
265
266 emif2: emif@4d000000 {
267 compatible = "ti,emif-4d";
Benoit Cousson48420db2012-09-05 11:38:23 +0200268 reg = <0x4d000000 0x100>;
Florian Vaussard8fea7d52013-05-31 14:32:57 +0200269 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
Aneesh V11c27062012-01-20 20:35:26 +0530270 ti,hwmods = "emif2";
Rajendra Nayakf12ecbe22013-10-15 12:37:50 +0530271 ti,no-idle-on-init;
Aneesh V11c27062012-01-20 20:35:26 +0530272 phy-type = <1>;
273 hw-caps-read-idle-ctrl;
274 hw-caps-ll-interface;
275 hw-caps-temp-alert;
276 };
Linus Torvalds8f446a72012-10-01 18:46:13 -0700277
Suman Anna9ae60ac2020-07-09 18:19:44 -0500278 dsp: dsp {
279 compatible = "ti,omap4-dsp";
280 ti,bootreg = <&scm_conf 0x304 0>;
281 iommus = <&mmu_dsp>;
282 resets = <&prm_tesla 0>;
283 clocks = <&tesla_clkctrl OMAP4_DSP_CLKCTRL 0>;
284 firmware-name = "omap4-dsp-fw.xe64T";
285 mboxes = <&mailbox &mbox_dsp>;
286 status = "disabled";
287 };
288
Suman Anna5ce170c2020-07-09 18:19:45 -0500289 ipu: ipu@55020000 {
290 compatible = "ti,omap4-ipu";
291 reg = <0x55020000 0x10000>;
292 reg-names = "l2ram";
293 iommus = <&mmu_ipu>;
294 resets = <&prm_core 0>, <&prm_core 1>;
295 clocks = <&ducati_clkctrl OMAP4_IPU_CLKCTRL 0>;
296 firmware-name = "omap4-ipu-fw.xem3";
297 mboxes = <&mailbox &mbox_ipu>;
298 status = "disabled";
299 };
300
Tony Lindgren316a4182019-12-12 09:46:12 -0800301 aes1_target: target-module@4b501000 {
302 compatible = "ti,sysc-omap2", "ti,sysc";
Tony Lindgren316a4182019-12-12 09:46:12 -0800303 reg = <0x4b501080 0x4>,
304 <0x4b501084 0x4>,
305 <0x4b501088 0x4>;
306 reg-names = "rev", "sysc", "syss";
307 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
308 SYSC_OMAP2_AUTOIDLE)>;
309 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
310 <SYSC_IDLE_NO>,
311 <SYSC_IDLE_SMART>,
312 <SYSC_IDLE_SMART_WKUP>;
313 ti,syss-mask = <1>;
314 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */
315 clocks = <&l4_secure_clkctrl OMAP4_AES1_CLKCTRL 0>;
316 clock-names = "fck";
317 #address-cells = <1>;
318 #size-cells = <1>;
319 ranges = <0x0 0x4b501000 0x1000>;
320
321 aes1: aes@0 {
322 compatible = "ti,omap4-aes";
323 reg = <0 0xa0>;
324 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
325 dmas = <&sdma 111>, <&sdma 110>;
326 dma-names = "tx", "rx";
327 };
Joel Fernandesdd6317d2013-07-11 18:20:05 -0500328 };
Joel Fernandes806e9432013-09-24 15:23:33 -0500329
Tony Lindgren316a4182019-12-12 09:46:12 -0800330 aes2_target: target-module@4b701000 {
331 compatible = "ti,sysc-omap2", "ti,sysc";
Tony Lindgren316a4182019-12-12 09:46:12 -0800332 reg = <0x4b701080 0x4>,
333 <0x4b701084 0x4>,
334 <0x4b701088 0x4>;
335 reg-names = "rev", "sysc", "syss";
336 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
337 SYSC_OMAP2_AUTOIDLE)>;
338 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
339 <SYSC_IDLE_NO>,
340 <SYSC_IDLE_SMART>,
341 <SYSC_IDLE_SMART_WKUP>;
342 ti,syss-mask = <1>;
343 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */
344 clocks = <&l4_secure_clkctrl OMAP4_AES2_CLKCTRL 0>;
345 clock-names = "fck";
346 #address-cells = <1>;
347 #size-cells = <1>;
348 ranges = <0x0 0x4b701000 0x1000>;
349
350 aes2: aes@0 {
351 compatible = "ti,omap4-aes";
352 reg = <0 0xa0>;
353 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
354 dmas = <&sdma 114>, <&sdma 113>;
355 dma-names = "tx", "rx";
356 };
Tero Kristoc6faccf2017-06-13 16:45:48 +0300357 };
358
Tony Lindgren18c48e62019-12-12 09:46:12 -0800359 sham_target: target-module@4b100000 {
360 compatible = "ti,sysc-omap3-sham", "ti,sysc";
Tony Lindgren18c48e62019-12-12 09:46:12 -0800361 reg = <0x4b100100 0x4>,
362 <0x4b100110 0x4>,
363 <0x4b100114 0x4>;
364 reg-names = "rev", "sysc", "syss";
365 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
366 SYSC_OMAP2_AUTOIDLE)>;
367 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
368 <SYSC_IDLE_NO>,
369 <SYSC_IDLE_SMART>;
370 ti,syss-mask = <1>;
371 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */
372 clocks = <&l4_secure_clkctrl OMAP4_SHA2MD5_CLKCTRL 0>;
373 clock-names = "fck";
374 #address-cells = <1>;
375 #size-cells = <1>;
376 ranges = <0x0 0x4b100000 0x1000>;
Andrii.Tseglytskyie12c7732014-03-03 20:20:22 +0530377
Tony Lindgren18c48e62019-12-12 09:46:12 -0800378 sham: sham@0 {
379 compatible = "ti,omap4-sham";
380 reg = <0 0x300>;
381 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
382 dmas = <&sdma 119>;
383 dma-names = "rx";
384 };
Tero Kristo45f1d5e2017-06-13 16:45:49 +0300385 };
386
Andrii.Tseglytskyie12c7732014-03-03 20:20:22 +0530387 abb_mpu: regulator-abb-mpu {
388 compatible = "ti,abb-v2";
389 regulator-name = "abb_mpu";
390 #address-cells = <0>;
391 #size-cells = <0>;
392 ti,tranxdone-status-mask = <0x80>;
393 clocks = <&sys_clkin_ck>;
394 ti,settling-time = <50>;
395 ti,clock-cycles = <16>;
396
397 status = "disabled";
398 };
399
400 abb_iva: regulator-abb-iva {
401 compatible = "ti,abb-v2";
402 regulator-name = "abb_iva";
403 #address-cells = <0>;
404 #size-cells = <0>;
405 ti,tranxdone-status-mask = <0x80000000>;
406 clocks = <&sys_clkin_ck>;
407 ti,settling-time = <50>;
408 ti,clock-cycles = <16>;
409
410 status = "disabled";
411 };
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300412
Tony Lindgren19d3e9a2020-03-10 14:02:48 -0700413 sgx_module: target-module@56000000 {
Tony Lindgrenfeffce12017-12-13 16:36:47 -0800414 compatible = "ti,sysc-omap4", "ti,sysc";
Tony Lindgren3e5c3c42019-11-24 09:43:16 -0800415 reg = <0x5600fe00 0x4>,
416 <0x5600fe10 0x4>;
Tony Lindgrend23a1632017-10-10 14:14:50 -0700417 reg-names = "rev", "sysc";
Tony Lindgrene14d7e52018-01-11 16:04:03 -0800418 ti,sysc-midle = <SYSC_IDLE_FORCE>,
419 <SYSC_IDLE_NO>,
420 <SYSC_IDLE_SMART>,
421 <SYSC_IDLE_SMART_WKUP>;
422 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
423 <SYSC_IDLE_NO>,
424 <SYSC_IDLE_SMART>,
425 <SYSC_IDLE_SMART_WKUP>;
426 clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 0>;
427 clock-names = "fck";
Tony Lindgrend23a1632017-10-10 14:14:50 -0700428 #address-cells = <1>;
429 #size-cells = <1>;
430 ranges = <0 0x56000000 0x2000000>;
431
432 /*
433 * Closed source PowerVR driver, no child device
434 * binding or driver in mainline
435 */
436 };
437
Tony Lindgren63b34412020-03-04 08:10:37 -0800438 /*
439 * DSS is only using l3 mapping without l4 as noted in the TRM
440 * "10.1.3 DSS Register Manual" for omap4460.
441 */
442 target-module@58000000 {
443 compatible = "ti,sysc-omap2", "ti,sysc";
Tony Lindgren63b34412020-03-04 08:10:37 -0800444 reg = <0x58000000 4>,
445 <0x58000014 4>;
446 reg-names = "rev", "syss";
447 ti,syss-mask = <1>;
Tony Lindgren0c7815f2020-11-19 14:18:08 +0200448 power-domains = <&prm_dss>;
Tony Lindgren63b34412020-03-04 08:10:37 -0800449 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 0>,
450 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
451 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>,
452 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
453 clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk";
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300454 #address-cells = <1>;
455 #size-cells = <1>;
Tony Lindgren63b34412020-03-04 08:10:37 -0800456 ranges = <0 0x58000000 0x1000000>;
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300457
Tony Lindgren63b34412020-03-04 08:10:37 -0800458 dss: dss@0 {
459 compatible = "ti,omap4-dss";
460 reg = <0 0x80>;
461 status = "disabled";
Tero Kristoa5c82a02017-12-08 17:17:27 +0200462 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300463 clock-names = "fck";
Tony Lindgren63b34412020-03-04 08:10:37 -0800464 #address-cells = <1>;
465 #size-cells = <1>;
466 ranges = <0 0 0x1000000>;
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300467
Tony Lindgren4c8d1c82020-03-04 08:10:37 -0800468 target-module@1000 {
469 compatible = "ti,sysc-omap2", "ti,sysc";
Tony Lindgren4c8d1c82020-03-04 08:10:37 -0800470 reg = <0x1000 0x4>,
471 <0x1010 0x4>,
472 <0x1014 0x4>;
473 reg-names = "rev", "sysc", "syss";
474 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
475 <SYSC_IDLE_NO>,
476 <SYSC_IDLE_SMART>;
477 ti,sysc-midle = <SYSC_IDLE_FORCE>,
478 <SYSC_IDLE_NO>,
479 <SYSC_IDLE_SMART>;
480 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
481 SYSC_OMAP2_ENAWAKEUP |
482 SYSC_OMAP2_SOFTRESET |
483 SYSC_OMAP2_AUTOIDLE)>;
484 ti,syss-mask = <1>;
485 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
486 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
487 clock-names = "fck", "sys_clk";
488 #address-cells = <1>;
489 #size-cells = <1>;
490 ranges = <0 0x1000 0x1000>;
491
492 dispc@0 {
493 compatible = "ti,omap4-dispc";
494 reg = <0 0x1000>;
495 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
496 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
497 clock-names = "fck";
498 };
Tony Lindgren63b34412020-03-04 08:10:37 -0800499 };
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300500
Tony Lindgren3a97c4b2020-03-04 08:10:37 -0800501 target-module@2000 {
502 compatible = "ti,sysc-omap2", "ti,sysc";
503 reg = <0x2000 0x4>,
504 <0x2010 0x4>,
505 <0x2014 0x4>;
506 reg-names = "rev", "sysc", "syss";
507 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
508 <SYSC_IDLE_NO>,
509 <SYSC_IDLE_SMART>;
510 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
511 SYSC_OMAP2_AUTOIDLE)>;
512 ti,syss-mask = <1>;
513 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
514 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
515 clock-names = "fck", "sys_clk";
516 #address-cells = <1>;
517 #size-cells = <1>;
518 ranges = <0 0x2000 0x1000>;
519
520 rfbi: encoder@0 {
521 reg = <0 0x1000>;
522 status = "disabled";
523 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>;
524 clock-names = "fck", "ick";
525 };
Tony Lindgren63b34412020-03-04 08:10:37 -0800526 };
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300527
Tony Lindgren663de782020-03-04 08:10:38 -0800528 target-module@3000 {
529 compatible = "ti,sysc-omap2", "ti,sysc";
530 reg = <0x3000 0x4>;
531 reg-names = "rev";
532 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
533 clock-names = "sys_clk";
534 #address-cells = <1>;
535 #size-cells = <1>;
536 ranges = <0 0x3000 0x1000>;
537
538 venc: encoder@0 {
539 compatible = "ti,omap4-venc";
540 reg = <0 0x1000>;
541 status = "disabled";
542 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
543 clock-names = "fck";
544 };
Tony Lindgren63b34412020-03-04 08:10:37 -0800545 };
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300546
Tony Lindgren0b98d512020-03-04 08:10:38 -0800547 target-module@4000 {
548 compatible = "ti,sysc-omap2", "ti,sysc";
549 reg = <0x4000 0x4>,
550 <0x4010 0x4>,
551 <0x4014 0x4>;
552 reg-names = "rev", "sysc", "syss";
553 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
554 <SYSC_IDLE_NO>,
555 <SYSC_IDLE_SMART>;
556 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
557 SYSC_OMAP2_ENAWAKEUP |
558 SYSC_OMAP2_SOFTRESET |
559 SYSC_OMAP2_AUTOIDLE)>;
560 ti,syss-mask = <1>;
561 #address-cells = <1>;
562 #size-cells = <1>;
563 ranges = <0 0x4000 0x1000>;
564
565 dsi1: encoder@0 {
566 compatible = "ti,omap4-dsi";
567 reg = <0 0x200>,
568 <0x200 0x40>,
569 <0x300 0x20>;
570 reg-names = "proto", "phy", "pll";
571 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
572 status = "disabled";
573 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
574 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
575 clock-names = "fck", "sys_clk";
Sebastian Reichel23807f82020-07-16 14:57:31 +0200576
577 #address-cells = <1>;
578 #size-cells = <0>;
Tony Lindgren0b98d512020-03-04 08:10:38 -0800579 };
Tony Lindgren63b34412020-03-04 08:10:37 -0800580 };
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300581
Tony Lindgrendc7578e2020-03-04 08:10:39 -0800582 target-module@5000 {
583 compatible = "ti,sysc-omap2", "ti,sysc";
584 reg = <0x5000 0x4>,
585 <0x5010 0x4>,
586 <0x5014 0x4>;
587 reg-names = "rev", "sysc", "syss";
588 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
589 <SYSC_IDLE_NO>,
590 <SYSC_IDLE_SMART>;
591 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
592 SYSC_OMAP2_ENAWAKEUP |
593 SYSC_OMAP2_SOFTRESET |
594 SYSC_OMAP2_AUTOIDLE)>;
595 ti,syss-mask = <1>;
596 #address-cells = <1>;
597 #size-cells = <1>;
598 ranges = <0 0x5000 0x1000>;
599
600 dsi2: encoder@0 {
601 compatible = "ti,omap4-dsi";
602 reg = <0 0x200>,
603 <0x200 0x40>,
604 <0x300 0x20>;
605 reg-names = "proto", "phy", "pll";
606 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
607 status = "disabled";
608 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
609 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
610 clock-names = "fck", "sys_clk";
Sebastian Reichel23807f82020-07-16 14:57:31 +0200611
612 #address-cells = <1>;
613 #size-cells = <0>;
Tony Lindgrendc7578e2020-03-04 08:10:39 -0800614 };
Tony Lindgren63b34412020-03-04 08:10:37 -0800615 };
616
Tony Lindgren8f661562020-03-04 08:10:39 -0800617 target-module@6000 {
618 compatible = "ti,sysc-omap4", "ti,sysc";
619 reg = <0x6000 0x4>,
620 <0x6010 0x4>;
621 reg-names = "rev", "sysc";
622 /*
623 * Has SYSC_IDLE_SMART and SYSC_IDLE_SMART_WKUP
624 * but HDMI audio will fail with them.
625 */
626 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
627 <SYSC_IDLE_NO>;
628 ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>;
Tony Lindgren63b34412020-03-04 08:10:37 -0800629 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
Tony Lindgren8f661562020-03-04 08:10:39 -0800630 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
631 clock-names = "fck", "dss_clk";
632 #address-cells = <1>;
633 #size-cells = <1>;
634 ranges = <0 0x6000 0x2000>;
635
636 hdmi: encoder@0 {
637 compatible = "ti,omap4-hdmi";
638 reg = <0 0x200>,
639 <0x200 0x100>,
640 <0x300 0x100>,
641 <0x400 0x1000>;
642 reg-names = "wp", "pll", "phy", "core";
643 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
644 status = "disabled";
645 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
646 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
647 clock-names = "fck", "sys_clk";
648 dmas = <&sdma 76>;
649 dma-names = "audio_tx";
650 };
Tony Lindgren63b34412020-03-04 08:10:37 -0800651 };
Tomi Valkeinencfe86fc2012-08-21 15:34:50 +0300652 };
653 };
Benoit Coussond9fda072011-08-09 17:15:17 +0200654 };
655};
Tero Kristo2488ff62013-07-18 12:42:02 +0300656
Tony Lindgren84badc52018-07-05 23:19:37 -0700657#include "omap4-l4.dtsi"
Tony Lindgren5b597532019-04-09 09:00:53 -0700658#include "omap4-l4-abe.dtsi"
Tero Kristoa5c82a02017-12-08 17:17:27 +0200659#include "omap44xx-clocks.dtsi"
Tero Kristo222fe592019-10-10 11:21:05 +0300660
661&prm {
Tero Kristo6d4b65e2020-11-12 14:21:52 +0200662 prm_mpu: prm@300 {
663 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
664 reg = <0x300 0x100>;
665 #power-domain-cells = <0>;
666 };
667
Tero Kristo222fe592019-10-10 11:21:05 +0300668 prm_tesla: prm@400 {
669 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
670 reg = <0x400 0x100>;
671 #reset-cells = <1>;
Tero Kristo6d4b65e2020-11-12 14:21:52 +0200672 #power-domain-cells = <0>;
Tero Kristo222fe592019-10-10 11:21:05 +0300673 };
674
Tony Lindgren0fd15942020-07-02 08:45:13 -0700675 prm_abe: prm@500 {
676 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
677 reg = <0x500 0x100>;
678 #power-domain-cells = <0>;
679 };
680
Tero Kristo6d4b65e2020-11-12 14:21:52 +0200681 prm_always_on_core: prm@600 {
682 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
683 reg = <0x600 0x100>;
684 #power-domain-cells = <0>;
685 };
686
Tero Kristo222fe592019-10-10 11:21:05 +0300687 prm_core: prm@700 {
688 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
689 reg = <0x700 0x100>;
690 #reset-cells = <1>;
Tero Kristo6d4b65e2020-11-12 14:21:52 +0200691 #power-domain-cells = <0>;
Tero Kristo222fe592019-10-10 11:21:05 +0300692 };
693
694 prm_ivahd: prm@f00 {
695 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
696 reg = <0xf00 0x100>;
697 #reset-cells = <1>;
Tero Kristo6d4b65e2020-11-12 14:21:52 +0200698 #power-domain-cells = <0>;
699 };
700
701 prm_cam: prm@1000 {
702 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
703 reg = <0x1000 0x100>;
704 #power-domain-cells = <0>;
705 };
706
707 prm_dss: prm@1100 {
708 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
709 reg = <0x1100 0x100>;
710 #power-domain-cells = <0>;
711 };
712
713 prm_gfx: prm@1200 {
714 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
715 reg = <0x1200 0x100>;
716 #power-domain-cells = <0>;
717 };
718
719 prm_l3init: prm@1300 {
720 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
721 reg = <0x1300 0x100>;
722 #power-domain-cells = <0>;
723 };
724
725 prm_l4per: prm@1400 {
726 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
727 reg = <0x1400 0x100>;
728 #power-domain-cells = <0>;
729 };
730
731 prm_cefuse: prm@1600 {
732 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
733 reg = <0x1600 0x100>;
734 #power-domain-cells = <0>;
735 };
736
737 prm_wkup: prm@1700 {
738 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
739 reg = <0x1700 0x100>;
740 #power-domain-cells = <0>;
741 };
742
743 prm_emu: prm@1900 {
744 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
745 reg = <0x1900 0x100>;
746 #power-domain-cells = <0>;
Tero Kristo222fe592019-10-10 11:21:05 +0300747 };
748
Tony Lindgren0c7815f2020-11-19 14:18:08 +0200749 prm_dss: prm@1100 {
750 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
751 reg = <0x1100 0x40>;
752 #power-domain-cells = <0>;
753 };
754
Tero Kristo222fe592019-10-10 11:21:05 +0300755 prm_device: prm@1b00 {
756 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
757 reg = <0x1b00 0x40>;
758 #reset-cells = <1>;
759 };
760};
Tony Lindgren14b19252020-05-07 09:59:31 -0700761
762/* Preferred always-on timer for clockevent */
763&timer1_target {
764 ti,no-reset-on-init;
765 ti,no-idle;
766 timer@0 {
767 assigned-clocks = <&l4_wkup_clkctrl OMAP4_TIMER1_CLKCTRL 24>;
Tony Lindgrenc030688d2020-06-12 10:23:40 -0700768 assigned-clock-parents = <&sys_32k_ck>;
Tony Lindgren14b19252020-05-07 09:59:31 -0700769 };
770};