2 * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
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.
9 #include <dt-bindings/bus/ti-sysc.h>
10 #include <dt-bindings/clock/omap4.h>
11 #include <dt-bindings/gpio/gpio.h>
12 #include <dt-bindings/interrupt-controller/arm-gic.h>
13 #include <dt-bindings/pinctrl/omap.h>
14 #include <dt-bindings/clock/omap4.h>
17 compatible = "ti,omap4430", "ti,omap4";
18 interrupt-parent = <&wakeupgen>;
39 compatible = "arm,cortex-a9";
41 next-level-cache = <&L2>;
44 clocks = <&dpll_mpu_ck>;
47 clock-latency = <300000>; /* From omap-cpufreq driver */
50 compatible = "arm,cortex-a9";
52 next-level-cache = <&L2>;
58 * Note that 4430 needs cross trigger interface (CTI) supported
59 * before we can configure the interrupts. This means sampling
60 * events are not supported for pmu. Note that 4460 does not use
61 * CTI, see also 4460.dtsi.
64 compatible = "arm,cortex-a9-pmu";
65 ti,hwmods = "debugss";
68 gic: interrupt-controller@48241000 {
69 compatible = "arm,cortex-a9-gic";
71 #interrupt-cells = <3>;
72 reg = <0x48241000 0x1000>,
74 interrupt-parent = <&gic>;
77 L2: l2-cache-controller@48242000 {
78 compatible = "arm,pl310-cache";
79 reg = <0x48242000 0x1000>;
84 local-timer@48240600 {
85 compatible = "arm,cortex-a9-twd-timer";
86 clocks = <&mpu_periphclk>;
87 reg = <0x48240600 0x20>;
88 interrupts = <GIC_PPI 13 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_EDGE_RISING)>;
89 interrupt-parent = <&gic>;
92 wakeupgen: interrupt-controller@48281000 {
93 compatible = "ti,omap4-wugen-mpu";
95 #interrupt-cells = <3>;
96 reg = <0x48281000 0x1000>;
97 interrupt-parent = <&gic>;
101 * The soc node represents the soc top level view. It is used for IPs
102 * that are not memory mapped in the MPU view or for the MPU itself.
105 compatible = "ti,omap-infra";
107 compatible = "ti,omap4-mpu";
113 compatible = "ti,omap3-c64";
118 compatible = "ti,ivahd";
124 * XXX: Use a flat representation of the OMAP4 interconnect.
125 * The real OMAP interconnect network is quite complex.
126 * Since it will not bring real advantage to represent that in DT for
127 * the moment, just use a fake OCP bus entry to represent the whole bus
131 compatible = "ti,omap4-l3-noc", "simple-bus";
132 #address-cells = <1>;
135 ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
136 reg = <0x44000000 0x1000>,
139 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
140 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
142 l4_wkup: interconnect@4a300000 {
145 l4_cfg: interconnect@4a000000 {
148 l4_per: interconnect@48000000 {
151 ocmcram: ocmcram@40304000 {
152 compatible = "mmio-sram";
153 reg = <0x40304000 0xa000>; /* 40k */
156 gpmc: gpmc@50000000 {
157 compatible = "ti,omap4430-gpmc";
158 reg = <0x50000000 0x1000>;
159 #address-cells = <2>;
161 interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
165 gpmc,num-waitpins = <4>;
168 clocks = <&l3_div_ck>;
170 interrupt-controller;
171 #interrupt-cells = <2>;
176 mmu_dsp: mmu@4a066000 {
177 compatible = "ti,omap4-iommu";
178 reg = <0x4a066000 0x100>;
179 interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
180 ti,hwmods = "mmu_dsp";
184 target-module@52000000 {
185 compatible = "ti,sysc-omap4", "ti,sysc";
187 reg = <0x52000000 0x4>,
189 reg-names = "rev", "sysc";
190 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
191 ti,sysc-midle = <SYSC_IDLE_FORCE>,
194 <SYSC_IDLE_SMART_WKUP>;
195 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
198 <SYSC_IDLE_SMART_WKUP>;
199 ti,sysc-delay-us = <2>;
200 clocks = <&iss_clkctrl OMAP4_ISS_CLKCTRL 0>;
202 #address-cells = <1>;
204 ranges = <0 0x52000000 0x1000000>;
206 /* No child device binding, driver in staging */
209 mmu_ipu: mmu@55082000 {
210 compatible = "ti,omap4-iommu";
211 reg = <0x55082000 0x100>;
212 interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
213 ti,hwmods = "mmu_ipu";
215 ti,iommu-bus-err-back;
217 target-module@40130000 {
218 compatible = "ti,sysc-omap2", "ti,sysc";
219 ti,hwmods = "wd_timer3";
220 reg = <0x40130000 0x4>,
223 reg-names = "rev", "sysc", "syss";
224 ti,sysc-mask = <(SYSC_OMAP2_EMUFREE |
225 SYSC_OMAP2_SOFTRESET)>;
226 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
229 <SYSC_IDLE_SMART_WKUP>;
231 /* Domains (V, P, C): abe, abe_pwrdm, abe_clkdm */
232 clocks = <&abe_clkctrl OMAP4_WD_TIMER3_CLKCTRL 0>;
234 #address-cells = <1>;
236 ranges = <0x00000000 0x40130000 0x1000>, /* MPU private access */
237 <0x49030000 0x49030000 0x0080>; /* L3 Interconnect */
240 compatible = "ti,omap4-wdt", "ti,omap3-wdt";
242 interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
246 mcpdm: mcpdm@40132000 {
247 compatible = "ti,omap4-mcpdm";
248 reg = <0x40132000 0x7f>, /* MPU private access */
249 <0x49032000 0x7f>; /* L3 Interconnect */
250 reg-names = "mpu", "dma";
251 interrupts = <GIC_SPI 112 IRQ_TYPE_LEVEL_HIGH>;
255 dma-names = "up_link", "dn_link";
259 dmic: dmic@4012e000 {
260 compatible = "ti,omap4-dmic";
261 reg = <0x4012e000 0x7f>, /* MPU private access */
262 <0x4902e000 0x7f>; /* L3 Interconnect */
263 reg-names = "mpu", "dma";
264 interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
267 dma-names = "up_link";
271 mcbsp1: mcbsp@40122000 {
272 compatible = "ti,omap4-mcbsp";
273 reg = <0x40122000 0xff>, /* MPU private access */
274 <0x49022000 0xff>; /* L3 Interconnect */
275 reg-names = "mpu", "dma";
276 interrupts = <GIC_SPI 17 IRQ_TYPE_LEVEL_HIGH>;
277 interrupt-names = "common";
278 ti,buffer-size = <128>;
279 ti,hwmods = "mcbsp1";
282 dma-names = "tx", "rx";
286 mcbsp2: mcbsp@40124000 {
287 compatible = "ti,omap4-mcbsp";
288 reg = <0x40124000 0xff>, /* MPU private access */
289 <0x49024000 0xff>; /* L3 Interconnect */
290 reg-names = "mpu", "dma";
291 interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
292 interrupt-names = "common";
293 ti,buffer-size = <128>;
294 ti,hwmods = "mcbsp2";
297 dma-names = "tx", "rx";
301 mcbsp3: mcbsp@40126000 {
302 compatible = "ti,omap4-mcbsp";
303 reg = <0x40126000 0xff>, /* MPU private access */
304 <0x49026000 0xff>; /* L3 Interconnect */
305 reg-names = "mpu", "dma";
306 interrupts = <GIC_SPI 23 IRQ_TYPE_LEVEL_HIGH>;
307 interrupt-names = "common";
308 ti,buffer-size = <128>;
309 ti,hwmods = "mcbsp3";
312 dma-names = "tx", "rx";
316 target-module@40128000 {
317 compatible = "ti,sysc-mcasp", "ti,sysc";
319 reg = <0x40128000 0x4>,
321 reg-names = "rev", "sysc";
322 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
325 <SYSC_IDLE_SMART_WKUP>;
326 clocks = <&abe_clkctrl OMAP4_MCASP_CLKCTRL 0>;
328 #address-cells = <1>;
330 ranges = <0x00000000 0x40128000 0x1000>, /* MPU */
331 <0x49028000 0x49028000 0x1000>; /* L3 */
334 * Child device unsupported by davinci-mcasp. At least
335 * RX path is disabled for omap4, and only DIT mode
336 * works with no I2S. See also old Android kernel
337 * omap-mcasp driver for more information.
341 target-module@4012c000 {
342 compatible = "ti,sysc-omap4", "ti,sysc";
343 ti,hwmods = "slimbus1";
344 reg = <0x4012c000 0x4>,
346 reg-names = "rev", "sysc";
347 ti,sysc-mask = <SYSC_OMAP4_SOFTRESET>;
348 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
351 <SYSC_IDLE_SMART_WKUP>;
352 clocks = <&abe_clkctrl OMAP4_SLIMBUS1_CLKCTRL 0>;
354 #address-cells = <1>;
356 ranges = <0x00000000 0x4012c000 0x1000>, /* MPU */
357 <0x4902c000 0x4902c000 0x1000>; /* L3 */
359 /* No child device binding or driver in mainline */
362 target-module@401f1000 {
363 compatible = "ti,sysc-omap4", "ti,sysc";
365 reg = <0x401f1000 0x4>,
367 reg-names = "rev", "sysc";
368 ti,sysc-midle = <SYSC_IDLE_FORCE>,
371 <SYSC_IDLE_SMART_WKUP>;
372 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
375 clocks = <&abe_clkctrl OMAP4_AESS_CLKCTRL 0>;
377 #address-cells = <1>;
379 ranges = <0x00000000 0x401f1000 0x1000>, /* MPU */
380 <0x490f1000 0x490f1000 0x1000>; /* L3 */
383 * No child device binding or driver in mainline.
384 * See Android tree and related upstreaming efforts
385 * for the old driver.
390 compatible = "ti,omap4-dmm";
391 reg = <0x4e000000 0x800>;
392 interrupts = <0 113 0x4>;
396 emif1: emif@4c000000 {
397 compatible = "ti,emif-4d";
398 reg = <0x4c000000 0x100>;
399 interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
403 hw-caps-read-idle-ctrl;
404 hw-caps-ll-interface;
408 emif2: emif@4d000000 {
409 compatible = "ti,emif-4d";
410 reg = <0x4d000000 0x100>;
411 interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
415 hw-caps-read-idle-ctrl;
416 hw-caps-ll-interface;
420 timer5: timer@40138000 {
421 compatible = "ti,omap4430-timer";
422 reg = <0x40138000 0x80>,
424 interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
425 ti,hwmods = "timer5";
429 timer6: timer@4013a000 {
430 compatible = "ti,omap4430-timer";
431 reg = <0x4013a000 0x80>,
433 interrupts = <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
434 ti,hwmods = "timer6";
438 timer7: timer@4013c000 {
439 compatible = "ti,omap4430-timer";
440 reg = <0x4013c000 0x80>,
442 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
443 ti,hwmods = "timer7";
447 timer8: timer@4013e000 {
448 compatible = "ti,omap4430-timer";
449 reg = <0x4013e000 0x80>,
451 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
452 ti,hwmods = "timer8";
458 compatible = "ti,omap4-aes";
460 reg = <0x4b501000 0xa0>;
461 interrupts = <GIC_SPI 85 IRQ_TYPE_LEVEL_HIGH>;
462 dmas = <&sdma 111>, <&sdma 110>;
463 dma-names = "tx", "rx";
467 compatible = "ti,omap4-aes";
469 reg = <0x4b701000 0xa0>;
470 interrupts = <GIC_SPI 64 IRQ_TYPE_LEVEL_HIGH>;
471 dmas = <&sdma 114>, <&sdma 113>;
472 dma-names = "tx", "rx";
476 compatible = "ti,omap4-des";
478 reg = <0x480a5000 0xa0>;
479 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
480 dmas = <&sdma 117>, <&sdma 116>;
481 dma-names = "tx", "rx";
484 sham: sham@4b100000 {
485 compatible = "ti,omap4-sham";
487 reg = <0x4b100000 0x300>;
488 interrupts = <GIC_SPI 51 IRQ_TYPE_LEVEL_HIGH>;
493 abb_mpu: regulator-abb-mpu {
494 compatible = "ti,abb-v2";
495 regulator-name = "abb_mpu";
496 #address-cells = <0>;
498 ti,tranxdone-status-mask = <0x80>;
499 clocks = <&sys_clkin_ck>;
500 ti,settling-time = <50>;
501 ti,clock-cycles = <16>;
506 abb_iva: regulator-abb-iva {
507 compatible = "ti,abb-v2";
508 regulator-name = "abb_iva";
509 #address-cells = <0>;
511 ti,tranxdone-status-mask = <0x80000000>;
512 clocks = <&sys_clkin_ck>;
513 ti,settling-time = <50>;
514 ti,clock-cycles = <16>;
519 target-module@56000000 {
520 compatible = "ti,sysc-omap4", "ti,sysc";
522 reg = <0x5601fc00 0x4>,
524 reg-names = "rev", "sysc";
525 ti,sysc-midle = <SYSC_IDLE_FORCE>,
528 <SYSC_IDLE_SMART_WKUP>;
529 ti,sysc-sidle = <SYSC_IDLE_FORCE>,
532 <SYSC_IDLE_SMART_WKUP>;
533 clocks = <&l3_gfx_clkctrl OMAP4_GPU_CLKCTRL 0>;
535 #address-cells = <1>;
537 ranges = <0 0x56000000 0x2000000>;
540 * Closed source PowerVR driver, no child device
541 * binding or driver in mainline
546 compatible = "ti,omap4-dss";
547 reg = <0x58000000 0x80>;
549 ti,hwmods = "dss_core";
550 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
552 #address-cells = <1>;
557 compatible = "ti,omap4-dispc";
558 reg = <0x58001000 0x1000>;
559 interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
560 ti,hwmods = "dss_dispc";
561 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>;
565 rfbi: encoder@58002000 {
566 compatible = "ti,omap4-rfbi";
567 reg = <0x58002000 0x1000>;
569 ti,hwmods = "dss_rfbi";
570 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>, <&l3_div_ck>;
571 clock-names = "fck", "ick";
574 venc: encoder@58003000 {
575 compatible = "ti,omap4-venc";
576 reg = <0x58003000 0x1000>;
578 ti,hwmods = "dss_venc";
579 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 11>;
583 dsi1: encoder@58004000 {
584 compatible = "ti,omap4-dsi";
585 reg = <0x58004000 0x200>,
588 reg-names = "proto", "phy", "pll";
589 interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
591 ti,hwmods = "dss_dsi1";
592 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
593 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
594 clock-names = "fck", "sys_clk";
597 dsi2: encoder@58005000 {
598 compatible = "ti,omap4-dsi";
599 reg = <0x58005000 0x200>,
602 reg-names = "proto", "phy", "pll";
603 interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
605 ti,hwmods = "dss_dsi2";
606 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 8>,
607 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
608 clock-names = "fck", "sys_clk";
611 hdmi: encoder@58006000 {
612 compatible = "ti,omap4-hdmi";
613 reg = <0x58006000 0x200>,
617 reg-names = "wp", "pll", "phy", "core";
618 interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
620 ti,hwmods = "dss_hdmi";
621 clocks = <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 9>,
622 <&l3_dss_clkctrl OMAP4_DSS_CORE_CLKCTRL 10>;
623 clock-names = "fck", "sys_clk";
625 dma-names = "audio_tx";
631 #include "omap4-l4.dtsi"
632 #include "omap44xx-clocks.dtsi"