Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
[linux-2.6-microblaze.git] / arch / arm / boot / dts / omap4.dtsi
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 };