Loading...
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (C) 2011 Texas Instruments Incorporated - https://www.ti.com/
4 */
5
6#include <dt-bindings/bus/ti-sysc.h>
7#include <dt-bindings/clock/omap4.h>
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/interrupt-controller/arm-gic.h>
10#include <dt-bindings/pinctrl/omap.h>
11#include <dt-bindings/clock/omap4.h>
12
13/ {
14 compatible = "ti,omap4430", "ti,omap4";
15 interrupt-parent = <&wakeupgen>;
16 #address-cells = <1>;
17 #size-cells = <1>;
18 chosen { };
19
20 aliases {
21 i2c0 = &i2c1;
22 i2c1 = &i2c2;
23 i2c2 = &i2c3;
24 i2c3 = &i2c4;
25 mmc0 = &mmc1;
26 mmc1 = &mmc2;
27 mmc2 = &mmc3;
28 mmc3 = &mmc4;
29 mmc4 = &mmc5;
30 serial0 = &uart1;
31 serial1 = &uart2;
32 serial2 = &uart3;
33 serial3 = &uart4;
34 rproc0 = &dsp;
35 rproc1 = &ipu;
36 };
37
38 cpus {
39 #address-cells = <1>;
40 #size-cells = <0>;
41
42 cpu@0 {
43 compatible = "arm,cortex-a9";
44 device_type = "cpu";
45 next-level-cache = <&L2>;
46 reg = <0x0>;
47
48 clocks = <&dpll_mpu_ck>;
49 clock-names = "cpu";
50
51 clock-latency = <300000>; /* From omap-cpufreq driver */
52 };
53 cpu@1 {
54 compatible = "arm,cortex-a9";
55 device_type = "cpu";
56 next-level-cache = <&L2>;
57 reg = <0x1>;
58 };
59 };
60
61 /*
62 * Needed early by omap4_sram_init() for barrier, do not move to l3
63 * interconnect as simple-pm-bus probes at module_init() time.
64 */
65 ocmcram: sram@40304000 {
66 compatible = "mmio-sram";
67 reg = <0x40304000 0xa000>; /* 40k */
68 };
69
70 gic: interrupt-controller@48241000 {
71 compatible = "arm,cortex-a9-gic";
72 interrupt-controller;
73 #interrupt-cells = <3>;
74 reg = <0x48241000 0x1000>,
75 <0x48240100 0x0100>;
76 interrupt-parent = <&gic>;
77 };
78
79 L2: cache-controller@48242000 {
80 compatible = "arm,pl310-cache";
81 reg = <0x48242000 0x1000>;
82 cache-unified;
83 cache-level = <2>;
84 };
85
86 local-timer@48240600 {
87 compatible = "arm,cortex-a9-twd-timer";
88 clocks = <&mpu_periphclk>;
89 reg = <0x48240600 0x20>;
90 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_EDGE_RISING)>;
91 interrupt-parent = <&gic>;
92 };
93
94 wakeupgen: interrupt-controller@48281000 {
95 compatible = "ti,omap4-wugen-mpu";
96 interrupt-controller;
97 #interrupt-cells = <3>;
98 reg = <0x48281000 0x1000>;
99 interrupt-parent = <&gic>;
100 };
101
102 /*
103 * XXX: Use a flat representation of the OMAP4 interconnect.
104 * The real OMAP interconnect network is quite complex.
105 * Since it will not bring real advantage to represent that in DT for
106 * the moment, just use a fake OCP bus entry to represent the whole bus
107 * hierarchy.
108 */
109 ocp {
110 compatible = "simple-pm-bus";
111 power-domains = <&prm_l4per>;
112 clocks = <&l3_1_clkctrl OMAP4_L3_MAIN_1_CLKCTRL 0>,
113 <&l3_2_clkctrl OMAP4_L3_MAIN_2_CLKCTRL 0>,
114 <&l3_instr_clkctrl OMAP4_L3_MAIN_3_CLKCTRL 0>;
115 #address-cells = <1>;
116 #size-cells = <1>;
117 ranges;
118
119 l3-noc@44000000 {
120 compatible = "ti,omap4-l3-noc";
121 reg = <0x44000000 0x1000>,
122 <0x44800000 0x2000>,
123 <0x45000000 0x1000>;
124 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
125 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
126 };
127
128 l4_wkup: interconnect@4a300000 {
129 };
130
131 l4_cfg: interconnect@4a000000 {
132 };
133
134 l4_per: interconnect@48000000 {
135 };
136
137 target-module@48210000 {
138 compatible = "ti,sysc-omap4-simple", "ti,sysc";
139 power-domains = <&prm_mpu>;
140 clocks = <&mpuss_clkctrl OMAP4_MPU_CLKCTRL 0>;
141 clock-names = "fck";
142 #address-cells = <1>;
143 #size-cells = <1>;
144 ranges = <0 0x48210000 0x1f0000>;
145
146 mpu {
147 compatible = "ti,omap4-mpu";
148 sram = <&ocmcram>;
149 };
150 };
151
152 l4_abe: interconnect@40100000 {
153 };
154
155 target-module@50000000 {
156 compatible = "ti,sysc-omap2", "ti,sysc";
157 reg = <0x50000000 4>,
158 <0x50000010 4>,
159 <0x50000014 4>;
160 reg-names = "rev", "sysc", "syss";
161 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
162 <SYSC_IDLE_NO>,
163 <SYSC_IDLE_SMART>;
164 ti,syss-mask = <1>;
165 ti,no-idle-on-init;
166 clocks = <&l3_2_clkctrl OMAP4_GPMC_CLKCTRL 0>;
167 clock-names = "fck";
168 #address-cells = <1>;
169 #size-cells = <1>;
170 ranges = <0x50000000 0x50000000 0x00001000>, /* regs */
171 <0x00000000 0x00000000 0x40000000>; /* data */
172
173 gpmc: gpmc@50000000 {
174 compatible = "ti,omap4430-gpmc";
175 reg = <0x50000000 0x1000>;
176 #address-cells = <2>;
177 #size-cells = <1>;
178 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
179 dmas = <&sdma 4>;
180 dma-names = "rxtx";
181 gpmc,num-cs = <8>;
182 gpmc,num-waitpins = <4>;
183 clocks = <&l3_div_ck>;
184 clock-names = "fck";
185 interrupt-controller;
186 #interrupt-cells = <2>;
187 gpio-controller;
188 #gpio-cells = <2>;
189 };
190 };
191
192 target-module@52000000 {
193 compatible = "ti,sysc-omap4", "ti,sysc";
194 reg = <0x52000000 0x4>,
195 <0x52000010 0x4>;
196 reg-names = "rev", "sysc";
197 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
198 ti,sysc-midle = <SYSC_IDLE_FORCE>,
199 <SYSC_IDLE_NO>,
200 <SYSC_IDLE_SMART>,
201 <SYSC_IDLE_SMART_WKUP>;
202 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
203 <SYSC_IDLE_NO>,
204 <SYSC_IDLE_SMART>,
205 <SYSC_IDLE_SMART_WKUP>;
206 ti,sysc-delay-us = <2>;
207 power-domains = <&prm_cam>;
208 clocks = <&iss_clkctrl OMAP4_ISS_CLKCTRL 0>;
209 clock-names = "fck";
210 #address-cells = <1>;
211 #size-cells = <1>;
212 ranges = <0 0x52000000 0x1000000>;
213
214 /* No child device binding, driver in staging */
215 };
216
217 /*
218 * Note that 4430 needs cross trigger interface (CTI) supported
219 * before we can configure the interrupts. This means sampling
220 * events are not supported for pmu. Note that 4460 does not use
221 * CTI, see also 4460.dtsi.
222 */
223 target-module@54000000 {
224 compatible = "ti,sysc-omap4-simple", "ti,sysc";
225 power-domains = <&prm_emu>;
226 clocks = <&emu_sys_clkctrl OMAP4_DEBUGSS_CLKCTRL 0>;
227 clock-names = "fck";
228 #address-cells = <1>;
229 #size-cells = <1>;
230 ranges = <0x0 0x54000000 0x1000000>;
231
232 pmu: pmu {
233 compatible = "arm,cortex-a9-pmu";
234 };
235 };
236
237 target-module@55082000 {
238 compatible = "ti,sysc-omap2", "ti,sysc";
239 reg = <0x55082000 0x4>,
240 <0x55082010 0x4>,
241 <0x55082014 0x4>;
242 reg-names = "rev", "sysc", "syss";
243 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
244 <SYSC_IDLE_NO>,
245 <SYSC_IDLE_SMART>;
246 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
247 SYSC_OMAP2_SOFTRESET |
248 SYSC_OMAP2_AUTOIDLE)>;
249 clocks = <&ducati_clkctrl OMAP4_IPU_CLKCTRL 0>;
250 clock-names = "fck";
251 resets = <&prm_core 2>;
252 reset-names = "rstctrl";
253 ranges = <0x0 0x55082000 0x100>;
254 #size-cells = <1>;
255 #address-cells = <1>;
256
257 mmu_ipu: mmu@0 {
258 compatible = "ti,omap4-iommu";
259 reg = <0x0 0x100>;
260 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
261 #iommu-cells = <0>;
262 ti,iommu-bus-err-back;
263 };
264 };
265
266 target-module@4012c000 {
267 compatible = "ti,sysc-omap4", "ti,sysc";
268 reg = <0x4012c000 0x4>,
269 <0x4012c010 0x4>;
270 reg-names = "rev", "sysc";
271 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
272 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
273 <SYSC_IDLE_NO>,
274 <SYSC_IDLE_SMART>,
275 <SYSC_IDLE_SMART_WKUP>;
276 clocks = <&abe_clkctrl OMAP4_SLIMBUS1_CLKCTRL 0>;
277 clock-names = "fck";
278 #address-cells = <1>;
279 #size-cells = <1>;
280 ranges = <0x00000000 0x4012c000 0x1000>, /* MPU */
281 <0x4902c000 0x4902c000 0x1000>; /* L3 */
282
283 /* No child device binding or driver in mainline */
284 };
285
286 target-module@4e000000 {
287 compatible = "ti,sysc-omap2", "ti,sysc";
288 reg = <0x4e000000 0x4>,
289 <0x4e000010 0x4>;
290 reg-names = "rev", "sysc";
291 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
292 <SYSC_IDLE_NO>,
293 <SYSC_IDLE_SMART>;
294 ranges = <0x0 0x4e000000 0x2000000>;
295 #size-cells = <1>;
296 #address-cells = <1>;
297
298 dmm@0 {
299 compatible = "ti,omap4-dmm";
300 reg = <0 0x800>;
301 interrupts = <GIC_SPI 113 IRQ_TYPE_LEVEL_HIGH>;
302 };
303 };
304
305 target-module@4c000000 {
306 compatible = "ti,sysc-omap4-simple", "ti,sysc";
307 reg = <0x4c000000 0x4>;
308 reg-names = "rev";
309 clocks = <&l3_emif_clkctrl OMAP4_EMIF1_CLKCTRL 0>;
310 clock-names = "fck";
311 ti,no-idle;
312 #address-cells = <1>;
313 #size-cells = <1>;
314 ranges = <0x0 0x4c000000 0x1000000>;
315
316 emif1: emif@0 {
317 compatible = "ti,emif-4d";
318 reg = <0 0x100>;
319 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
320 phy-type = <1>;
321 hw-caps-read-idle-ctrl;
322 hw-caps-ll-interface;
323 hw-caps-temp-alert;
324 };
325 };
326
327 target-module@4d000000 {
328 compatible = "ti,sysc-omap4-simple", "ti,sysc";
329 reg = <0x4d000000 0x4>;
330 reg-names = "rev";
331 clocks = <&l3_emif_clkctrl OMAP4_EMIF2_CLKCTRL 0>;
332 clock-names = "fck";
333 ti,no-idle;
334 #address-cells = <1>;
335 #size-cells = <1>;
336 ranges = <0x0 0x4d000000 0x1000000>;
337
338 emif2: emif@0 {
339 compatible = "ti,emif-4d";
340 reg = <0 0x100>;
341 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
342 phy-type = <1>;
343 hw-caps-read-idle-ctrl;
344 hw-caps-ll-interface;
345 hw-caps-temp-alert;
346 };
347 };
348
349 dsp: dsp {
350 compatible = "ti,omap4-dsp";
351 ti,bootreg = <&scm_conf 0x304 0>;
352 iommus = <&mmu_dsp>;
353 resets = <&prm_tesla 0>;
354 clocks = <&tesla_clkctrl OMAP4_DSP_CLKCTRL 0>;
355 firmware-name = "omap4-dsp-fw.xe64T";
356 mboxes = <&mailbox &mbox_dsp>;
357 status = "disabled";
358 };
359
360 ipu: ipu@55020000 {
361 compatible = "ti,omap4-ipu";
362 reg = <0x55020000 0x10000>;
363 reg-names = "l2ram";
364 iommus = <&mmu_ipu>;
365 resets = <&prm_core 0>, <&prm_core 1>;
366 clocks = <&ducati_clkctrl OMAP4_IPU_CLKCTRL 0>;
367 firmware-name = "omap4-ipu-fw.xem3";
368 mboxes = <&mailbox &mbox_ipu>;
369 status = "disabled";
370 };
371
372 aes1_target: target-module@4b501000 {
373 compatible = "ti,sysc-omap2", "ti,sysc";
374 reg = <0x4b501080 0x4>,
375 <0x4b501084 0x4>,
376 <0x4b501088 0x4>;
377 reg-names = "rev", "sysc", "syss";
378 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
379 SYSC_OMAP2_AUTOIDLE)>;
380 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
381 <SYSC_IDLE_NO>,
382 <SYSC_IDLE_SMART>,
383 <SYSC_IDLE_SMART_WKUP>;
384 ti,syss-mask = <1>;
385 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */
386 clocks = <&l4_secure_clkctrl OMAP4_AES1_CLKCTRL 0>;
387 clock-names = "fck";
388 #address-cells = <1>;
389 #size-cells = <1>;
390 ranges = <0x0 0x4b501000 0x1000>;
391
392 aes1: aes@0 {
393 compatible = "ti,omap4-aes";
394 reg = <0 0xa0>;
395 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
396 dmas = <&sdma 111>, <&sdma 110>;
397 dma-names = "tx", "rx";
398 };
399 };
400
401 aes2_target: target-module@4b701000 {
402 compatible = "ti,sysc-omap2", "ti,sysc";
403 reg = <0x4b701080 0x4>,
404 <0x4b701084 0x4>,
405 <0x4b701088 0x4>;
406 reg-names = "rev", "sysc", "syss";
407 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
408 SYSC_OMAP2_AUTOIDLE)>;
409 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
410 <SYSC_IDLE_NO>,
411 <SYSC_IDLE_SMART>,
412 <SYSC_IDLE_SMART_WKUP>;
413 ti,syss-mask = <1>;
414 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */
415 clocks = <&l4_secure_clkctrl OMAP4_AES2_CLKCTRL 0>;
416 clock-names = "fck";
417 #address-cells = <1>;
418 #size-cells = <1>;
419 ranges = <0x0 0x4b701000 0x1000>;
420
421 aes2: aes@0 {
422 compatible = "ti,omap4-aes";
423 reg = <0 0xa0>;
424 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
425 dmas = <&sdma 114>, <&sdma 113>;
426 dma-names = "tx", "rx";
427 };
428 };
429
430 sham_target: target-module@4b100000 {
431 compatible = "ti,sysc-omap3-sham", "ti,sysc";
432 reg = <0x4b100100 0x4>,
433 <0x4b100110 0x4>,
434 <0x4b100114 0x4>;
435 reg-names = "rev", "sysc", "syss";
436 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
437 SYSC_OMAP2_AUTOIDLE)>;
438 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
439 <SYSC_IDLE_NO>,
440 <SYSC_IDLE_SMART>;
441 ti,syss-mask = <1>;
442 /* Domains (P, C): l4per_pwrdm, l4_secure_clkdm */
443 clocks = <&l4_secure_clkctrl OMAP4_SHA2MD5_CLKCTRL 0>;
444 clock-names = "fck";
445 #address-cells = <1>;
446 #size-cells = <1>;
447 ranges = <0x0 0x4b100000 0x1000>;
448
449 sham: sham@0 {
450 compatible = "ti,omap4-sham";
451 reg = <0 0x300>;
452 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
453 dmas = <&sdma 119>;
454 dma-names = "rx";
455 };
456 };
457
458 abb_mpu: regulator-abb-mpu {
459 compatible = "ti,abb-v2";
460 regulator-name = "abb_mpu";
461 #address-cells = <0>;
462 #size-cells = <0>;
463 ti,tranxdone-status-mask = <0x80>;
464 clocks = <&sys_clkin_ck>;
465 ti,settling-time = <50>;
466 ti,clock-cycles = <16>;
467
468 status = "disabled";
469 };
470
471 abb_iva: regulator-abb-iva {
472 compatible = "ti,abb-v2";
473 regulator-name = "abb_iva";
474 #address-cells = <0>;
475 #size-cells = <0>;
476 ti,tranxdone-status-mask = <0x80000000>;
477 clocks = <&sys_clkin_ck>;
478 ti,settling-time = <50>;
479 ti,clock-cycles = <16>;
480
481 status = "disabled";
482 };
483
484 sgx_module: target-module@56000000 {
485 compatible = "ti,sysc-omap4", "ti,sysc";
486 reg = <0x5600fe00 0x4>,
487 <0x5600fe10 0x4>;
488 reg-names = "rev", "sysc";
489 ti,sysc-midle = <SYSC_IDLE_FORCE>,
490 <SYSC_IDLE_NO>,
491 <SYSC_IDLE_SMART>,
492 <SYSC_IDLE_SMART_WKUP>;
493 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
494 <SYSC_IDLE_NO>,
495 <SYSC_IDLE_SMART>,
496 <SYSC_IDLE_SMART_WKUP>;
497 power-domains = <&prm_gfx>;
498 clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 0>;
499 clock-names = "fck";
500 #address-cells = <1>;
501 #size-cells = <1>;
502 ranges = <0 0x56000000 0x2000000>;
503
504 /*
505 * Closed source PowerVR driver, no child device
506 * binding or driver in mainline
507 */
508 };
509
510 /*
511 * DSS is only using l3 mapping without l4 as noted in the TRM
512 * "10.1.3 DSS Register Manual" for omap4460.
513 */
514 target-module@58000000 {
515 compatible = "ti,sysc-omap2", "ti,sysc";
516 reg = <0x58000000 4>,
517 <0x58000014 4>;
518 reg-names = "rev", "syss";
519 ti,syss-mask = <1>;
520 power-domains = <&prm_dss>;
521 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 0>,
522 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
523 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>,
524 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
525 clock-names = "fck", "hdmi_clk", "sys_clk", "tv_clk";
526 #address-cells = <1>;
527 #size-cells = <1>;
528 ranges = <0 0x58000000 0x1000000>;
529
530 dss: dss@0 {
531 compatible = "ti,omap4-dss";
532 reg = <0 0x80>;
533 status = "disabled";
534 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
535 clock-names = "fck";
536 #address-cells = <1>;
537 #size-cells = <1>;
538 ranges = <0 0 0x1000000>;
539
540 target-module@1000 {
541 compatible = "ti,sysc-omap2", "ti,sysc";
542 reg = <0x1000 0x4>,
543 <0x1010 0x4>,
544 <0x1014 0x4>;
545 reg-names = "rev", "sysc", "syss";
546 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
547 <SYSC_IDLE_NO>,
548 <SYSC_IDLE_SMART>;
549 ti,sysc-midle = <SYSC_IDLE_FORCE>,
550 <SYSC_IDLE_NO>,
551 <SYSC_IDLE_SMART>;
552 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
553 SYSC_OMAP2_ENAWAKEUP |
554 SYSC_OMAP2_SOFTRESET |
555 SYSC_OMAP2_AUTOIDLE)>;
556 ti,syss-mask = <1>;
557 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
558 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
559 clock-names = "fck", "sys_clk";
560 #address-cells = <1>;
561 #size-cells = <1>;
562 ranges = <0 0x1000 0x1000>;
563
564 dispc@0 {
565 compatible = "ti,omap4-dispc";
566 reg = <0 0x1000>;
567 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
568 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
569 clock-names = "fck";
570 };
571 };
572
573 target-module@2000 {
574 compatible = "ti,sysc-omap2", "ti,sysc";
575 reg = <0x2000 0x4>,
576 <0x2010 0x4>,
577 <0x2014 0x4>;
578 reg-names = "rev", "sysc", "syss";
579 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
580 <SYSC_IDLE_NO>,
581 <SYSC_IDLE_SMART>;
582 ti,sysc-mask = <(SYSC_OMAP2_SOFTRESET |
583 SYSC_OMAP2_AUTOIDLE)>;
584 ti,syss-mask = <1>;
585 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
586 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
587 clock-names = "fck", "sys_clk";
588 #address-cells = <1>;
589 #size-cells = <1>;
590 ranges = <0 0x2000 0x1000>;
591
592 rfbi: encoder@0 {
593 reg = <0 0x1000>;
594 status = "disabled";
595 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>;
596 clock-names = "fck", "ick";
597 };
598 };
599
600 target-module@3000 {
601 compatible = "ti,sysc-omap2", "ti,sysc";
602 reg = <0x3000 0x4>;
603 reg-names = "rev";
604 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
605 clock-names = "sys_clk";
606 #address-cells = <1>;
607 #size-cells = <1>;
608 ranges = <0 0x3000 0x1000>;
609
610 venc: encoder@0 {
611 compatible = "ti,omap4-venc";
612 reg = <0 0x1000>;
613 status = "disabled";
614 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
615 clock-names = "fck";
616 };
617 };
618
619 target-module@4000 {
620 compatible = "ti,sysc-omap2", "ti,sysc";
621 reg = <0x4000 0x4>,
622 <0x4010 0x4>,
623 <0x4014 0x4>;
624 reg-names = "rev", "sysc", "syss";
625 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
626 <SYSC_IDLE_NO>,
627 <SYSC_IDLE_SMART>;
628 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
629 SYSC_OMAP2_ENAWAKEUP |
630 SYSC_OMAP2_SOFTRESET |
631 SYSC_OMAP2_AUTOIDLE)>;
632 ti,syss-mask = <1>;
633 #address-cells = <1>;
634 #size-cells = <1>;
635 ranges = <0 0x4000 0x1000>;
636
637 dsi1: encoder@0 {
638 compatible = "ti,omap4-dsi";
639 reg = <0 0x200>,
640 <0x200 0x40>,
641 <0x300 0x20>;
642 reg-names = "proto", "phy", "pll";
643 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
644 status = "disabled";
645 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
646 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
647 clock-names = "fck", "sys_clk";
648
649 #address-cells = <1>;
650 #size-cells = <0>;
651 };
652 };
653
654 target-module@5000 {
655 compatible = "ti,sysc-omap2", "ti,sysc";
656 reg = <0x5000 0x4>,
657 <0x5010 0x4>,
658 <0x5014 0x4>;
659 reg-names = "rev", "sysc", "syss";
660 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
661 <SYSC_IDLE_NO>,
662 <SYSC_IDLE_SMART>;
663 ti,sysc-mask = <(SYSC_OMAP2_CLOCKACTIVITY |
664 SYSC_OMAP2_ENAWAKEUP |
665 SYSC_OMAP2_SOFTRESET |
666 SYSC_OMAP2_AUTOIDLE)>;
667 ti,syss-mask = <1>;
668 #address-cells = <1>;
669 #size-cells = <1>;
670 ranges = <0 0x5000 0x1000>;
671
672 dsi2: encoder@0 {
673 compatible = "ti,omap4-dsi";
674 reg = <0 0x200>,
675 <0x200 0x40>,
676 <0x300 0x20>;
677 reg-names = "proto", "phy", "pll";
678 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
679 status = "disabled";
680 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
681 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
682 clock-names = "fck", "sys_clk";
683
684 #address-cells = <1>;
685 #size-cells = <0>;
686 };
687 };
688
689 target-module@6000 {
690 compatible = "ti,sysc-omap4", "ti,sysc";
691 reg = <0x6000 0x4>,
692 <0x6010 0x4>;
693 reg-names = "rev", "sysc";
694 /*
695 * Has SYSC_IDLE_SMART and SYSC_IDLE_SMART_WKUP
696 * but HDMI audio will fail with them.
697 */
698 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
699 <SYSC_IDLE_NO>;
700 ti,sysc-mask = <(SYSC_OMAP4_SOFTRESET)>;
701 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
702 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
703 clock-names = "fck", "dss_clk";
704 #address-cells = <1>;
705 #size-cells = <1>;
706 ranges = <0 0x6000 0x2000>;
707
708 hdmi: encoder@0 {
709 compatible = "ti,omap4-hdmi";
710 reg = <0 0x200>,
711 <0x200 0x100>,
712 <0x300 0x100>,
713 <0x400 0x1000>;
714 reg-names = "wp", "pll", "phy", "core";
715 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
716 status = "disabled";
717 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
718 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
719 clock-names = "fck", "sys_clk";
720 dmas = <&sdma 76>;
721 dma-names = "audio_tx";
722 };
723 };
724 };
725 };
726
727 iva_hd_target: target-module@5a000000 {
728 compatible = "ti,sysc-omap4", "ti,sysc";
729 reg = <0x5a05a400 0x4>,
730 <0x5a05a410 0x4>;
731 reg-names = "rev", "sysc";
732 ti,sysc-midle = <SYSC_IDLE_FORCE>,
733 <SYSC_IDLE_NO>,
734 <SYSC_IDLE_SMART>;
735 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
736 <SYSC_IDLE_NO>,
737 <SYSC_IDLE_SMART>;
738 power-domains = <&prm_ivahd>;
739 resets = <&prm_ivahd 2>;
740 reset-names = "rstctrl";
741 clocks = <&ivahd_clkctrl OMAP4_IVA_CLKCTRL 0>;
742 clock-names = "fck";
743 #address-cells = <1>;
744 #size-cells = <1>;
745 ranges = <0x5a000000 0x5a000000 0x1000000>,
746 <0x5b000000 0x5b000000 0x1000000>;
747
748 iva {
749 compatible = "ti,ivahd";
750 };
751 };
752 };
753};
754
755#include "omap4-l4.dtsi"
756#include "omap4-l4-abe.dtsi"
757#include "omap44xx-clocks.dtsi"
758
759&prm {
760 prm_mpu: prm@300 {
761 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
762 reg = <0x300 0x100>;
763 #power-domain-cells = <0>;
764 };
765
766 prm_tesla: prm@400 {
767 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
768 reg = <0x400 0x100>;
769 #reset-cells = <1>;
770 #power-domain-cells = <0>;
771 };
772
773 prm_abe: prm@500 {
774 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
775 reg = <0x500 0x100>;
776 #power-domain-cells = <0>;
777 };
778
779 prm_always_on_core: prm@600 {
780 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
781 reg = <0x600 0x100>;
782 #power-domain-cells = <0>;
783 };
784
785 prm_core: prm@700 {
786 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
787 reg = <0x700 0x100>;
788 #reset-cells = <1>;
789 #power-domain-cells = <0>;
790 };
791
792 prm_ivahd: prm@f00 {
793 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
794 reg = <0xf00 0x100>;
795 #reset-cells = <1>;
796 #power-domain-cells = <0>;
797 };
798
799 prm_cam: prm@1000 {
800 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
801 reg = <0x1000 0x100>;
802 #power-domain-cells = <0>;
803 };
804
805 prm_dss: prm@1100 {
806 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
807 reg = <0x1100 0x100>;
808 #power-domain-cells = <0>;
809 };
810
811 prm_gfx: prm@1200 {
812 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
813 reg = <0x1200 0x100>;
814 #power-domain-cells = <0>;
815 };
816
817 prm_l3init: prm@1300 {
818 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
819 reg = <0x1300 0x100>;
820 #power-domain-cells = <0>;
821 };
822
823 prm_l4per: prm@1400 {
824 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
825 reg = <0x1400 0x100>;
826 #power-domain-cells = <0>;
827 };
828
829 prm_cefuse: prm@1600 {
830 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
831 reg = <0x1600 0x100>;
832 #power-domain-cells = <0>;
833 };
834
835 prm_wkup: prm@1700 {
836 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
837 reg = <0x1700 0x100>;
838 #power-domain-cells = <0>;
839 };
840
841 prm_emu: prm@1900 {
842 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
843 reg = <0x1900 0x100>;
844 #power-domain-cells = <0>;
845 };
846
847 prm_dss: prm@1100 {
848 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
849 reg = <0x1100 0x40>;
850 #power-domain-cells = <0>;
851 };
852
853 prm_device: prm@1b00 {
854 compatible = "ti,omap4-prm-inst", "ti,omap-prm-inst";
855 reg = <0x1b00 0x40>;
856 #reset-cells = <1>;
857 };
858};
859
860/* Preferred always-on timer for clockevent */
861&timer1_target {
862 ti,no-reset-on-init;
863 ti,no-idle;
864 timer@0 {
865 assigned-clocks = <&l4_wkup_clkctrl OMAP4_TIMER1_CLKCTRL 24>;
866 assigned-clock-parents = <&sys_32k_ck>;
867 };
868};
1/*
2 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 */
8
9#include <dt-bindings/gpio/gpio.h>
10#include <dt-bindings/interrupt-controller/arm-gic.h>
11#include <dt-bindings/pinctrl/omap.h>
12
13#include "skeleton.dtsi"
14
15/ {
16 compatible = "ti,omap4430", "ti,omap4";
17 interrupt-parent = <&gic>;
18
19 aliases {
20 i2c0 = &i2c1;
21 i2c1 = &i2c2;
22 i2c2 = &i2c3;
23 i2c3 = &i2c4;
24 serial0 = &uart1;
25 serial1 = &uart2;
26 serial2 = &uart3;
27 serial3 = &uart4;
28 };
29
30 cpus {
31 #address-cells = <1>;
32 #size-cells = <0>;
33
34 cpu@0 {
35 compatible = "arm,cortex-a9";
36 device_type = "cpu";
37 next-level-cache = <&L2>;
38 reg = <0x0>;
39
40 clocks = <&dpll_mpu_ck>;
41 clock-names = "cpu";
42
43 clock-latency = <300000>; /* From omap-cpufreq driver */
44 };
45 cpu@1 {
46 compatible = "arm,cortex-a9";
47 device_type = "cpu";
48 next-level-cache = <&L2>;
49 reg = <0x1>;
50 };
51 };
52
53 gic: interrupt-controller@48241000 {
54 compatible = "arm,cortex-a9-gic";
55 interrupt-controller;
56 #interrupt-cells = <3>;
57 reg = <0x48241000 0x1000>,
58 <0x48240100 0x0100>;
59 };
60
61 L2: l2-cache-controller@48242000 {
62 compatible = "arm,pl310-cache";
63 reg = <0x48242000 0x1000>;
64 cache-unified;
65 cache-level = <2>;
66 };
67
68 local-timer@48240600 {
69 compatible = "arm,cortex-a9-twd-timer";
70 reg = <0x48240600 0x20>;
71 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_HIGH)>;
72 };
73
74 /*
75 * The soc node represents the soc top level view. It is used for IPs
76 * that are not memory mapped in the MPU view or for the MPU itself.
77 */
78 soc {
79 compatible = "ti,omap-infra";
80 mpu {
81 compatible = "ti,omap4-mpu";
82 ti,hwmods = "mpu";
83 };
84
85 dsp {
86 compatible = "ti,omap3-c64";
87 ti,hwmods = "dsp";
88 };
89
90 iva {
91 compatible = "ti,ivahd";
92 ti,hwmods = "iva";
93 };
94 };
95
96 /*
97 * XXX: Use a flat representation of the OMAP4 interconnect.
98 * The real OMAP interconnect network is quite complex.
99 * Since it will not bring real advantage to represent that in DT for
100 * the moment, just use a fake OCP bus entry to represent the whole bus
101 * hierarchy.
102 */
103 ocp {
104 compatible = "ti,omap4-l3-noc", "simple-bus";
105 #address-cells = <1>;
106 #size-cells = <1>;
107 ranges;
108 ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
109 reg = <0x44000000 0x1000>,
110 <0x44800000 0x2000>,
111 <0x45000000 0x1000>;
112 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
113 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
114
115 cm1: cm1@4a004000 {
116 compatible = "ti,omap4-cm1";
117 reg = <0x4a004000 0x2000>;
118
119 cm1_clocks: clocks {
120 #address-cells = <1>;
121 #size-cells = <0>;
122 };
123
124 cm1_clockdomains: clockdomains {
125 };
126 };
127
128 prm: prm@4a306000 {
129 compatible = "ti,omap4-prm";
130 reg = <0x4a306000 0x3000>;
131
132 prm_clocks: clocks {
133 #address-cells = <1>;
134 #size-cells = <0>;
135 };
136
137 prm_clockdomains: clockdomains {
138 };
139 };
140
141 cm2: cm2@4a008000 {
142 compatible = "ti,omap4-cm2";
143 reg = <0x4a008000 0x3000>;
144
145 cm2_clocks: clocks {
146 #address-cells = <1>;
147 #size-cells = <0>;
148 };
149
150 cm2_clockdomains: clockdomains {
151 };
152 };
153
154 scrm: scrm@4a30a000 {
155 compatible = "ti,omap4-scrm";
156 reg = <0x4a30a000 0x2000>;
157
158 scrm_clocks: clocks {
159 #address-cells = <1>;
160 #size-cells = <0>;
161 };
162
163 scrm_clockdomains: clockdomains {
164 };
165 };
166
167 counter32k: counter@4a304000 {
168 compatible = "ti,omap-counter32k";
169 reg = <0x4a304000 0x20>;
170 ti,hwmods = "counter_32k";
171 };
172
173 omap4_pmx_core: pinmux@4a100040 {
174 compatible = "ti,omap4-padconf", "pinctrl-single";
175 reg = <0x4a100040 0x0196>;
176 #address-cells = <1>;
177 #size-cells = <0>;
178 #interrupt-cells = <1>;
179 interrupt-controller;
180 pinctrl-single,register-width = <16>;
181 pinctrl-single,function-mask = <0x7fff>;
182 };
183 omap4_pmx_wkup: pinmux@4a31e040 {
184 compatible = "ti,omap4-padconf", "pinctrl-single";
185 reg = <0x4a31e040 0x0038>;
186 #address-cells = <1>;
187 #size-cells = <0>;
188 #interrupt-cells = <1>;
189 interrupt-controller;
190 pinctrl-single,register-width = <16>;
191 pinctrl-single,function-mask = <0x7fff>;
192 };
193
194 omap4_padconf_global: tisyscon@4a1005a0 {
195 compatible = "syscon";
196 reg = <0x4a1005a0 0x170>;
197 };
198
199 pbias_regulator: pbias_regulator {
200 compatible = "ti,pbias-omap";
201 reg = <0x60 0x4>;
202 syscon = <&omap4_padconf_global>;
203 pbias_mmc_reg: pbias_mmc_omap4 {
204 regulator-name = "pbias_mmc_omap4";
205 regulator-min-microvolt = <1800000>;
206 regulator-max-microvolt = <3000000>;
207 };
208 };
209
210 sdma: dma-controller@4a056000 {
211 compatible = "ti,omap4430-sdma";
212 reg = <0x4a056000 0x1000>;
213 interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
214 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
215 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
216 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
217 #dma-cells = <1>;
218 #dma-channels = <32>;
219 #dma-requests = <127>;
220 };
221
222 gpio1: gpio@4a310000 {
223 compatible = "ti,omap4-gpio";
224 reg = <0x4a310000 0x200>;
225 interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
226 ti,hwmods = "gpio1";
227 ti,gpio-always-on;
228 gpio-controller;
229 #gpio-cells = <2>;
230 interrupt-controller;
231 #interrupt-cells = <2>;
232 };
233
234 gpio2: gpio@48055000 {
235 compatible = "ti,omap4-gpio";
236 reg = <0x48055000 0x200>;
237 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
238 ti,hwmods = "gpio2";
239 gpio-controller;
240 #gpio-cells = <2>;
241 interrupt-controller;
242 #interrupt-cells = <2>;
243 };
244
245 gpio3: gpio@48057000 {
246 compatible = "ti,omap4-gpio";
247 reg = <0x48057000 0x200>;
248 interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
249 ti,hwmods = "gpio3";
250 gpio-controller;
251 #gpio-cells = <2>;
252 interrupt-controller;
253 #interrupt-cells = <2>;
254 };
255
256 gpio4: gpio@48059000 {
257 compatible = "ti,omap4-gpio";
258 reg = <0x48059000 0x200>;
259 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
260 ti,hwmods = "gpio4";
261 gpio-controller;
262 #gpio-cells = <2>;
263 interrupt-controller;
264 #interrupt-cells = <2>;
265 };
266
267 gpio5: gpio@4805b000 {
268 compatible = "ti,omap4-gpio";
269 reg = <0x4805b000 0x200>;
270 interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
271 ti,hwmods = "gpio5";
272 gpio-controller;
273 #gpio-cells = <2>;
274 interrupt-controller;
275 #interrupt-cells = <2>;
276 };
277
278 gpio6: gpio@4805d000 {
279 compatible = "ti,omap4-gpio";
280 reg = <0x4805d000 0x200>;
281 interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
282 ti,hwmods = "gpio6";
283 gpio-controller;
284 #gpio-cells = <2>;
285 interrupt-controller;
286 #interrupt-cells = <2>;
287 };
288
289 gpmc: gpmc@50000000 {
290 compatible = "ti,omap4430-gpmc";
291 reg = <0x50000000 0x1000>;
292 #address-cells = <2>;
293 #size-cells = <1>;
294 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
295 gpmc,num-cs = <8>;
296 gpmc,num-waitpins = <4>;
297 ti,hwmods = "gpmc";
298 ti,no-idle-on-init;
299 clocks = <&l3_div_ck>;
300 clock-names = "fck";
301 };
302
303 uart1: serial@4806a000 {
304 compatible = "ti,omap4-uart";
305 reg = <0x4806a000 0x100>;
306 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
307 ti,hwmods = "uart1";
308 clock-frequency = <48000000>;
309 };
310
311 uart2: serial@4806c000 {
312 compatible = "ti,omap4-uart";
313 reg = <0x4806c000 0x100>;
314 interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
315 ti,hwmods = "uart2";
316 clock-frequency = <48000000>;
317 };
318
319 uart3: serial@48020000 {
320 compatible = "ti,omap4-uart";
321 reg = <0x48020000 0x100>;
322 interrupts = <GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH>;
323 ti,hwmods = "uart3";
324 clock-frequency = <48000000>;
325 };
326
327 uart4: serial@4806e000 {
328 compatible = "ti,omap4-uart";
329 reg = <0x4806e000 0x100>;
330 interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
331 ti,hwmods = "uart4";
332 clock-frequency = <48000000>;
333 };
334
335 hwspinlock: spinlock@4a0f6000 {
336 compatible = "ti,omap4-hwspinlock";
337 reg = <0x4a0f6000 0x1000>;
338 ti,hwmods = "spinlock";
339 #hwlock-cells = <1>;
340 };
341
342 i2c1: i2c@48070000 {
343 compatible = "ti,omap4-i2c";
344 reg = <0x48070000 0x100>;
345 interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
346 #address-cells = <1>;
347 #size-cells = <0>;
348 ti,hwmods = "i2c1";
349 };
350
351 i2c2: i2c@48072000 {
352 compatible = "ti,omap4-i2c";
353 reg = <0x48072000 0x100>;
354 interrupts = <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
355 #address-cells = <1>;
356 #size-cells = <0>;
357 ti,hwmods = "i2c2";
358 };
359
360 i2c3: i2c@48060000 {
361 compatible = "ti,omap4-i2c";
362 reg = <0x48060000 0x100>;
363 interrupts = <GIC_SPI 61 IRQ_TYPE_LEVEL_HIGH>;
364 #address-cells = <1>;
365 #size-cells = <0>;
366 ti,hwmods = "i2c3";
367 };
368
369 i2c4: i2c@48350000 {
370 compatible = "ti,omap4-i2c";
371 reg = <0x48350000 0x100>;
372 interrupts = <GIC_SPI 62 IRQ_TYPE_LEVEL_HIGH>;
373 #address-cells = <1>;
374 #size-cells = <0>;
375 ti,hwmods = "i2c4";
376 };
377
378 mcspi1: spi@48098000 {
379 compatible = "ti,omap4-mcspi";
380 reg = <0x48098000 0x200>;
381 interrupts = <GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>;
382 #address-cells = <1>;
383 #size-cells = <0>;
384 ti,hwmods = "mcspi1";
385 ti,spi-num-cs = <4>;
386 dmas = <&sdma 35>,
387 <&sdma 36>,
388 <&sdma 37>,
389 <&sdma 38>,
390 <&sdma 39>,
391 <&sdma 40>,
392 <&sdma 41>,
393 <&sdma 42>;
394 dma-names = "tx0", "rx0", "tx1", "rx1",
395 "tx2", "rx2", "tx3", "rx3";
396 };
397
398 mcspi2: spi@4809a000 {
399 compatible = "ti,omap4-mcspi";
400 reg = <0x4809a000 0x200>;
401 interrupts = <GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>;
402 #address-cells = <1>;
403 #size-cells = <0>;
404 ti,hwmods = "mcspi2";
405 ti,spi-num-cs = <2>;
406 dmas = <&sdma 43>,
407 <&sdma 44>,
408 <&sdma 45>,
409 <&sdma 46>;
410 dma-names = "tx0", "rx0", "tx1", "rx1";
411 };
412
413 mcspi3: spi@480b8000 {
414 compatible = "ti,omap4-mcspi";
415 reg = <0x480b8000 0x200>;
416 interrupts = <GIC_SPI 91 IRQ_TYPE_LEVEL_HIGH>;
417 #address-cells = <1>;
418 #size-cells = <0>;
419 ti,hwmods = "mcspi3";
420 ti,spi-num-cs = <2>;
421 dmas = <&sdma 15>, <&sdma 16>;
422 dma-names = "tx0", "rx0";
423 };
424
425 mcspi4: spi@480ba000 {
426 compatible = "ti,omap4-mcspi";
427 reg = <0x480ba000 0x200>;
428 interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
429 #address-cells = <1>;
430 #size-cells = <0>;
431 ti,hwmods = "mcspi4";
432 ti,spi-num-cs = <1>;
433 dmas = <&sdma 70>, <&sdma 71>;
434 dma-names = "tx0", "rx0";
435 };
436
437 mmc1: mmc@4809c000 {
438 compatible = "ti,omap4-hsmmc";
439 reg = <0x4809c000 0x400>;
440 interrupts = <GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>;
441 ti,hwmods = "mmc1";
442 ti,dual-volt;
443 ti,needs-special-reset;
444 dmas = <&sdma 61>, <&sdma 62>;
445 dma-names = "tx", "rx";
446 pbias-supply = <&pbias_mmc_reg>;
447 };
448
449 mmc2: mmc@480b4000 {
450 compatible = "ti,omap4-hsmmc";
451 reg = <0x480b4000 0x400>;
452 interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
453 ti,hwmods = "mmc2";
454 ti,needs-special-reset;
455 dmas = <&sdma 47>, <&sdma 48>;
456 dma-names = "tx", "rx";
457 };
458
459 mmc3: mmc@480ad000 {
460 compatible = "ti,omap4-hsmmc";
461 reg = <0x480ad000 0x400>;
462 interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
463 ti,hwmods = "mmc3";
464 ti,needs-special-reset;
465 dmas = <&sdma 77>, <&sdma 78>;
466 dma-names = "tx", "rx";
467 };
468
469 mmc4: mmc@480d1000 {
470 compatible = "ti,omap4-hsmmc";
471 reg = <0x480d1000 0x400>;
472 interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
473 ti,hwmods = "mmc4";
474 ti,needs-special-reset;
475 dmas = <&sdma 57>, <&sdma 58>;
476 dma-names = "tx", "rx";
477 };
478
479 mmc5: mmc@480d5000 {
480 compatible = "ti,omap4-hsmmc";
481 reg = <0x480d5000 0x400>;
482 interrupts = <GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH>;
483 ti,hwmods = "mmc5";
484 ti,needs-special-reset;
485 dmas = <&sdma 59>, <&sdma 60>;
486 dma-names = "tx", "rx";
487 };
488
489 mmu_dsp: mmu@4a066000 {
490 compatible = "ti,omap4-iommu";
491 reg = <0x4a066000 0x100>;
492 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
493 ti,hwmods = "mmu_dsp";
494 };
495
496 mmu_ipu: mmu@55082000 {
497 compatible = "ti,omap4-iommu";
498 reg = <0x55082000 0x100>;
499 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
500 ti,hwmods = "mmu_ipu";
501 ti,iommu-bus-err-back;
502 };
503
504 wdt2: wdt@4a314000 {
505 compatible = "ti,omap4-wdt", "ti,omap3-wdt";
506 reg = <0x4a314000 0x80>;
507 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
508 ti,hwmods = "wd_timer2";
509 };
510
511 mcpdm: mcpdm@40132000 {
512 compatible = "ti,omap4-mcpdm";
513 reg = <0x40132000 0x7f>, /* MPU private access */
514 <0x49032000 0x7f>; /* L3 Interconnect */
515 reg-names = "mpu", "dma";
516 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
517 ti,hwmods = "mcpdm";
518 dmas = <&sdma 65>,
519 <&sdma 66>;
520 dma-names = "up_link", "dn_link";
521 status = "disabled";
522 };
523
524 dmic: dmic@4012e000 {
525 compatible = "ti,omap4-dmic";
526 reg = <0x4012e000 0x7f>, /* MPU private access */
527 <0x4902e000 0x7f>; /* L3 Interconnect */
528 reg-names = "mpu", "dma";
529 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
530 ti,hwmods = "dmic";
531 dmas = <&sdma 67>;
532 dma-names = "up_link";
533 status = "disabled";
534 };
535
536 mcbsp1: mcbsp@40122000 {
537 compatible = "ti,omap4-mcbsp";
538 reg = <0x40122000 0xff>, /* MPU private access */
539 <0x49022000 0xff>; /* L3 Interconnect */
540 reg-names = "mpu", "dma";
541 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
542 interrupt-names = "common";
543 ti,buffer-size = <128>;
544 ti,hwmods = "mcbsp1";
545 dmas = <&sdma 33>,
546 <&sdma 34>;
547 dma-names = "tx", "rx";
548 status = "disabled";
549 };
550
551 mcbsp2: mcbsp@40124000 {
552 compatible = "ti,omap4-mcbsp";
553 reg = <0x40124000 0xff>, /* MPU private access */
554 <0x49024000 0xff>; /* L3 Interconnect */
555 reg-names = "mpu", "dma";
556 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
557 interrupt-names = "common";
558 ti,buffer-size = <128>;
559 ti,hwmods = "mcbsp2";
560 dmas = <&sdma 17>,
561 <&sdma 18>;
562 dma-names = "tx", "rx";
563 status = "disabled";
564 };
565
566 mcbsp3: mcbsp@40126000 {
567 compatible = "ti,omap4-mcbsp";
568 reg = <0x40126000 0xff>, /* MPU private access */
569 <0x49026000 0xff>; /* L3 Interconnect */
570 reg-names = "mpu", "dma";
571 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
572 interrupt-names = "common";
573 ti,buffer-size = <128>;
574 ti,hwmods = "mcbsp3";
575 dmas = <&sdma 19>,
576 <&sdma 20>;
577 dma-names = "tx", "rx";
578 status = "disabled";
579 };
580
581 mcbsp4: mcbsp@48096000 {
582 compatible = "ti,omap4-mcbsp";
583 reg = <0x48096000 0xff>; /* L4 Interconnect */
584 reg-names = "mpu";
585 interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
586 interrupt-names = "common";
587 ti,buffer-size = <128>;
588 ti,hwmods = "mcbsp4";
589 dmas = <&sdma 31>,
590 <&sdma 32>;
591 dma-names = "tx", "rx";
592 status = "disabled";
593 };
594
595 keypad: keypad@4a31c000 {
596 compatible = "ti,omap4-keypad";
597 reg = <0x4a31c000 0x80>;
598 interrupts = <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
599 reg-names = "mpu";
600 ti,hwmods = "kbd";
601 };
602
603 dmm@4e000000 {
604 compatible = "ti,omap4-dmm";
605 reg = <0x4e000000 0x800>;
606 interrupts = <0 113 0x4>;
607 ti,hwmods = "dmm";
608 };
609
610 emif1: emif@4c000000 {
611 compatible = "ti,emif-4d";
612 reg = <0x4c000000 0x100>;
613 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
614 ti,hwmods = "emif1";
615 ti,no-idle-on-init;
616 phy-type = <1>;
617 hw-caps-read-idle-ctrl;
618 hw-caps-ll-interface;
619 hw-caps-temp-alert;
620 };
621
622 emif2: emif@4d000000 {
623 compatible = "ti,emif-4d";
624 reg = <0x4d000000 0x100>;
625 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
626 ti,hwmods = "emif2";
627 ti,no-idle-on-init;
628 phy-type = <1>;
629 hw-caps-read-idle-ctrl;
630 hw-caps-ll-interface;
631 hw-caps-temp-alert;
632 };
633
634 ocp2scp@4a0ad000 {
635 compatible = "ti,omap-ocp2scp";
636 reg = <0x4a0ad000 0x1f>;
637 #address-cells = <1>;
638 #size-cells = <1>;
639 ranges;
640 ti,hwmods = "ocp2scp_usb_phy";
641 usb2_phy: usb2phy@4a0ad080 {
642 compatible = "ti,omap-usb2";
643 reg = <0x4a0ad080 0x58>;
644 ctrl-module = <&omap_control_usb2phy>;
645 #phy-cells = <0>;
646 };
647 };
648
649 timer1: timer@4a318000 {
650 compatible = "ti,omap3430-timer";
651 reg = <0x4a318000 0x80>;
652 interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
653 ti,hwmods = "timer1";
654 ti,timer-alwon;
655 };
656
657 timer2: timer@48032000 {
658 compatible = "ti,omap3430-timer";
659 reg = <0x48032000 0x80>;
660 interrupts = <GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>;
661 ti,hwmods = "timer2";
662 };
663
664 timer3: timer@48034000 {
665 compatible = "ti,omap4430-timer";
666 reg = <0x48034000 0x80>;
667 interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
668 ti,hwmods = "timer3";
669 };
670
671 timer4: timer@48036000 {
672 compatible = "ti,omap4430-timer";
673 reg = <0x48036000 0x80>;
674 interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
675 ti,hwmods = "timer4";
676 };
677
678 timer5: timer@40138000 {
679 compatible = "ti,omap4430-timer";
680 reg = <0x40138000 0x80>,
681 <0x49038000 0x80>;
682 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
683 ti,hwmods = "timer5";
684 ti,timer-dsp;
685 };
686
687 timer6: timer@4013a000 {
688 compatible = "ti,omap4430-timer";
689 reg = <0x4013a000 0x80>,
690 <0x4903a000 0x80>;
691 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
692 ti,hwmods = "timer6";
693 ti,timer-dsp;
694 };
695
696 timer7: timer@4013c000 {
697 compatible = "ti,omap4430-timer";
698 reg = <0x4013c000 0x80>,
699 <0x4903c000 0x80>;
700 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
701 ti,hwmods = "timer7";
702 ti,timer-dsp;
703 };
704
705 timer8: timer@4013e000 {
706 compatible = "ti,omap4430-timer";
707 reg = <0x4013e000 0x80>,
708 <0x4903e000 0x80>;
709 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
710 ti,hwmods = "timer8";
711 ti,timer-pwm;
712 ti,timer-dsp;
713 };
714
715 timer9: timer@4803e000 {
716 compatible = "ti,omap4430-timer";
717 reg = <0x4803e000 0x80>;
718 interrupts = <GIC_SPI 45 IRQ_TYPE_LEVEL_HIGH>;
719 ti,hwmods = "timer9";
720 ti,timer-pwm;
721 };
722
723 timer10: timer@48086000 {
724 compatible = "ti,omap3430-timer";
725 reg = <0x48086000 0x80>;
726 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
727 ti,hwmods = "timer10";
728 ti,timer-pwm;
729 };
730
731 timer11: timer@48088000 {
732 compatible = "ti,omap4430-timer";
733 reg = <0x48088000 0x80>;
734 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
735 ti,hwmods = "timer11";
736 ti,timer-pwm;
737 };
738
739 usbhstll: usbhstll@4a062000 {
740 compatible = "ti,usbhs-tll";
741 reg = <0x4a062000 0x1000>;
742 interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
743 ti,hwmods = "usb_tll_hs";
744 };
745
746 usbhshost: usbhshost@4a064000 {
747 compatible = "ti,usbhs-host";
748 reg = <0x4a064000 0x800>;
749 ti,hwmods = "usb_host_hs";
750 #address-cells = <1>;
751 #size-cells = <1>;
752 ranges;
753 clocks = <&init_60m_fclk>,
754 <&xclk60mhsp1_ck>,
755 <&xclk60mhsp2_ck>;
756 clock-names = "refclk_60m_int",
757 "refclk_60m_ext_p1",
758 "refclk_60m_ext_p2";
759
760 usbhsohci: ohci@4a064800 {
761 compatible = "ti,ohci-omap3";
762 reg = <0x4a064800 0x400>;
763 interrupt-parent = <&gic>;
764 interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH>;
765 };
766
767 usbhsehci: ehci@4a064c00 {
768 compatible = "ti,ehci-omap";
769 reg = <0x4a064c00 0x400>;
770 interrupt-parent = <&gic>;
771 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
772 };
773 };
774
775 omap_control_usb2phy: control-phy@4a002300 {
776 compatible = "ti,control-phy-usb2";
777 reg = <0x4a002300 0x4>;
778 reg-names = "power";
779 };
780
781 omap_control_usbotg: control-phy@4a00233c {
782 compatible = "ti,control-phy-otghs";
783 reg = <0x4a00233c 0x4>;
784 reg-names = "otghs_control";
785 };
786
787 usb_otg_hs: usb_otg_hs@4a0ab000 {
788 compatible = "ti,omap4-musb";
789 reg = <0x4a0ab000 0x7ff>;
790 interrupts = <GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
791 interrupt-names = "mc", "dma";
792 ti,hwmods = "usb_otg_hs";
793 usb-phy = <&usb2_phy>;
794 phys = <&usb2_phy>;
795 phy-names = "usb2-phy";
796 multipoint = <1>;
797 num-eps = <16>;
798 ram-bits = <12>;
799 ctrl-module = <&omap_control_usbotg>;
800 };
801
802 aes: aes@4b501000 {
803 compatible = "ti,omap4-aes";
804 ti,hwmods = "aes";
805 reg = <0x4b501000 0xa0>;
806 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
807 dmas = <&sdma 111>, <&sdma 110>;
808 dma-names = "tx", "rx";
809 };
810
811 des: des@480a5000 {
812 compatible = "ti,omap4-des";
813 ti,hwmods = "des";
814 reg = <0x480a5000 0xa0>;
815 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
816 dmas = <&sdma 117>, <&sdma 116>;
817 dma-names = "tx", "rx";
818 };
819
820 abb_mpu: regulator-abb-mpu {
821 compatible = "ti,abb-v2";
822 regulator-name = "abb_mpu";
823 #address-cells = <0>;
824 #size-cells = <0>;
825 ti,tranxdone-status-mask = <0x80>;
826 clocks = <&sys_clkin_ck>;
827 ti,settling-time = <50>;
828 ti,clock-cycles = <16>;
829
830 status = "disabled";
831 };
832
833 abb_iva: regulator-abb-iva {
834 compatible = "ti,abb-v2";
835 regulator-name = "abb_iva";
836 #address-cells = <0>;
837 #size-cells = <0>;
838 ti,tranxdone-status-mask = <0x80000000>;
839 clocks = <&sys_clkin_ck>;
840 ti,settling-time = <50>;
841 ti,clock-cycles = <16>;
842
843 status = "disabled";
844 };
845
846 dss: dss@58000000 {
847 compatible = "ti,omap4-dss";
848 reg = <0x58000000 0x80>;
849 status = "disabled";
850 ti,hwmods = "dss_core";
851 clocks = <&dss_dss_clk>;
852 clock-names = "fck";
853 #address-cells = <1>;
854 #size-cells = <1>;
855 ranges;
856
857 dispc@58001000 {
858 compatible = "ti,omap4-dispc";
859 reg = <0x58001000 0x1000>;
860 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
861 ti,hwmods = "dss_dispc";
862 clocks = <&dss_dss_clk>;
863 clock-names = "fck";
864 };
865
866 rfbi: encoder@58002000 {
867 compatible = "ti,omap4-rfbi";
868 reg = <0x58002000 0x1000>;
869 status = "disabled";
870 ti,hwmods = "dss_rfbi";
871 clocks = <&dss_dss_clk>, <&dss_fck>;
872 clock-names = "fck", "ick";
873 };
874
875 venc: encoder@58003000 {
876 compatible = "ti,omap4-venc";
877 reg = <0x58003000 0x1000>;
878 status = "disabled";
879 ti,hwmods = "dss_venc";
880 clocks = <&dss_tv_clk>;
881 clock-names = "fck";
882 };
883
884 dsi1: encoder@58004000 {
885 compatible = "ti,omap4-dsi";
886 reg = <0x58004000 0x200>,
887 <0x58004200 0x40>,
888 <0x58004300 0x20>;
889 reg-names = "proto", "phy", "pll";
890 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
891 status = "disabled";
892 ti,hwmods = "dss_dsi1";
893 clocks = <&dss_dss_clk>, <&dss_sys_clk>;
894 clock-names = "fck", "sys_clk";
895 };
896
897 dsi2: encoder@58005000 {
898 compatible = "ti,omap4-dsi";
899 reg = <0x58005000 0x200>,
900 <0x58005200 0x40>,
901 <0x58005300 0x20>;
902 reg-names = "proto", "phy", "pll";
903 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
904 status = "disabled";
905 ti,hwmods = "dss_dsi2";
906 clocks = <&dss_dss_clk>, <&dss_sys_clk>;
907 clock-names = "fck", "sys_clk";
908 };
909
910 hdmi: encoder@58006000 {
911 compatible = "ti,omap4-hdmi";
912 reg = <0x58006000 0x200>,
913 <0x58006200 0x100>,
914 <0x58006300 0x100>,
915 <0x58006400 0x1000>;
916 reg-names = "wp", "pll", "phy", "core";
917 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
918 status = "disabled";
919 ti,hwmods = "dss_hdmi";
920 clocks = <&dss_48mhz_clk>, <&dss_sys_clk>;
921 clock-names = "fck", "sys_clk";
922 };
923 };
924 };
925};
926
927/include/ "omap44xx-clocks.dtsi"