Merge branch 'master' of git://git.denx.de/u-boot-samsung
[oweals/u-boot.git] / arch / arm / dts / socfpga_arria10.dtsi
1 /*
2  * Copyright Altera Corporation (C) 2014. All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms and conditions of the GNU General Public License,
6  * version 2, as published by the Free Software Foundation.
7  *
8  * This program is distributed in the hope it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
11  * more details.
12  *
13  * You should have received a copy of the GNU General Public License along with
14  * this program.  If not, see <http://www.gnu.org/licenses/>.
15  */
16
17 #include <dt-bindings/interrupt-controller/arm-gic.h>
18 #include <dt-bindings/reset/altr,rst-mgr-a10.h>
19
20 / {
21         #address-cells = <1>;
22         #size-cells = <1>;
23
24         cpus {
25                 #address-cells = <1>;
26                 #size-cells = <0>;
27                 enable-method = "altr,socfpga-a10-smp";
28
29                 cpu@0 {
30                         compatible = "arm,cortex-a9";
31                         device_type = "cpu";
32                         reg = <0>;
33                         next-level-cache = <&L2>;
34                 };
35                 cpu@1 {
36                         compatible = "arm,cortex-a9";
37                         device_type = "cpu";
38                         reg = <1>;
39                         next-level-cache = <&L2>;
40                 };
41         };
42
43         intc: intc@ffffd000 {
44                 compatible = "arm,cortex-a9-gic";
45                 #interrupt-cells = <3>;
46                 interrupt-controller;
47                 reg = <0xffffd000 0x1000>,
48                       <0xffffc100 0x100>;
49         };
50
51         soc {
52                 #address-cells = <1>;
53                 #size-cells = <1>;
54                 compatible = "simple-bus";
55                 device_type = "soc";
56                 interrupt-parent = <&intc>;
57                 ranges;
58
59                 amba {
60                         compatible = "simple-bus";
61                         #address-cells = <1>;
62                         #size-cells = <1>;
63                         ranges;
64
65                         pdma: pdma@ffda1000 {
66                                 compatible = "arm,pl330", "arm,primecell";
67                                 reg = <0xffda1000 0x1000>;
68                                 interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>,
69                                              <0 84 IRQ_TYPE_LEVEL_HIGH>,
70                                              <0 85 IRQ_TYPE_LEVEL_HIGH>,
71                                              <0 86 IRQ_TYPE_LEVEL_HIGH>,
72                                              <0 87 IRQ_TYPE_LEVEL_HIGH>,
73                                              <0 88 IRQ_TYPE_LEVEL_HIGH>,
74                                              <0 89 IRQ_TYPE_LEVEL_HIGH>,
75                                              <0 90 IRQ_TYPE_LEVEL_HIGH>,
76                                              <0 91 IRQ_TYPE_LEVEL_HIGH>;
77                                 #dma-cells = <1>;
78                                 #dma-channels = <8>;
79                                 #dma-requests = <32>;
80                                 clocks = <&l4_main_clk>;
81                                 clock-names = "apb_pclk";
82                         };
83                 };
84
85                 base_fpga_region {
86                         #address-cells = <0x1>;
87                         #size-cells = <0x1>;
88
89                         compatible = "fpga-region";
90                         fpga-mgr = <&fpga_mgr>;
91                 };
92
93                 clkmgr@ffd04000 {
94                                 compatible = "altr,clk-mgr";
95                                 reg = <0xffd04000 0x1000>;
96
97                                 clocks {
98                                         #address-cells = <1>;
99                                         #size-cells = <0>;
100
101                                         cb_intosc_hs_div2_clk: cb_intosc_hs_div2_clk {
102                                                 #clock-cells = <0>;
103                                                 compatible = "fixed-clock";
104                                         };
105
106                                         cb_intosc_ls_clk: cb_intosc_ls_clk {
107                                                 #clock-cells = <0>;
108                                                 compatible = "fixed-clock";
109                                         };
110
111                                         f2s_free_clk: f2s_free_clk {
112                                                 #clock-cells = <0>;
113                                                 compatible = "fixed-clock";
114                                         };
115
116                                         osc1: osc1 {
117                                                 #clock-cells = <0>;
118                                                 compatible = "fixed-clock";
119                                         };
120
121                                         main_pll: main_pll@40 {
122                                                 #address-cells = <1>;
123                                                 #size-cells = <0>;
124                                                 #clock-cells = <0>;
125                                                 compatible = "altr,socfpga-a10-pll-clock";
126                                                 clocks = <&osc1>, <&cb_intosc_ls_clk>,
127                                                          <&f2s_free_clk>;
128                                                 reg = <0x40>;
129
130                                                 main_mpu_base_clk: main_mpu_base_clk {
131                                                         #clock-cells = <0>;
132                                                         compatible = "altr,socfpga-a10-perip-clk";
133                                                         clocks = <&main_pll>;
134                                                         div-reg = <0x140 0 11>;
135                                                 };
136
137                                                 main_noc_base_clk: main_noc_base_clk {
138                                                         #clock-cells = <0>;
139                                                         compatible = "altr,socfpga-a10-perip-clk";
140                                                         clocks = <&main_pll>;
141                                                         div-reg = <0x144 0 11>;
142                                                 };
143
144                                                 main_emaca_clk: main_emaca_clk@68 {
145                                                         #clock-cells = <0>;
146                                                         compatible = "altr,socfpga-a10-perip-clk";
147                                                         clocks = <&main_pll>;
148                                                         reg = <0x68>;
149                                                 };
150
151                                                 main_emacb_clk: main_emacb_clk@6c {
152                                                         #clock-cells = <0>;
153                                                         compatible = "altr,socfpga-a10-perip-clk";
154                                                         clocks = <&main_pll>;
155                                                         reg = <0x6C>;
156                                                 };
157
158                                                 main_emac_ptp_clk: main_emac_ptp_clk@70 {
159                                                         #clock-cells = <0>;
160                                                         compatible = "altr,socfpga-a10-perip-clk";
161                                                         clocks = <&main_pll>;
162                                                         reg = <0x70>;
163                                                 };
164
165                                                 main_gpio_db_clk: main_gpio_db_clk@74 {
166                                                         #clock-cells = <0>;
167                                                         compatible = "altr,socfpga-a10-perip-clk";
168                                                         clocks = <&main_pll>;
169                                                         reg = <0x74>;
170                                                 };
171
172                                                 main_sdmmc_clk: main_sdmmc_clk@78 {
173                                                         #clock-cells = <0>;
174                                                         compatible = "altr,socfpga-a10-perip-clk"
175 ;
176                                                         clocks = <&main_pll>;
177                                                         reg = <0x78>;
178                                                 };
179
180                                                 main_s2f_usr0_clk: main_s2f_usr0_clk@7c {
181                                                         #clock-cells = <0>;
182                                                         compatible = "altr,socfpga-a10-perip-clk";
183                                                         clocks = <&main_pll>;
184                                                         reg = <0x7C>;
185                                                 };
186
187                                                 main_s2f_usr1_clk: main_s2f_usr1_clk@80 {
188                                                         #clock-cells = <0>;
189                                                         compatible = "altr,socfpga-a10-perip-clk";
190                                                         clocks = <&main_pll>;
191                                                         reg = <0x80>;
192                                                 };
193
194                                                 main_hmc_pll_ref_clk: main_hmc_pll_ref_clk@84 {
195                                                         #clock-cells = <0>;
196                                                         compatible = "altr,socfpga-a10-perip-clk";
197                                                         clocks = <&main_pll>;
198                                                         reg = <0x84>;
199                                                 };
200
201                                                 main_periph_ref_clk: main_periph_ref_clk@9c {
202                                                         #clock-cells = <0>;
203                                                         compatible = "altr,socfpga-a10-perip-clk";
204                                                         clocks = <&main_pll>;
205                                                         reg = <0x9C>;
206                                                 };
207                                         };
208
209                                         periph_pll: periph_pll@c0 {
210                                                 #address-cells = <1>;
211                                                 #size-cells = <0>;
212                                                 #clock-cells = <0>;
213                                                 compatible = "altr,socfpga-a10-pll-clock";
214                                                 clocks = <&osc1>, <&cb_intosc_ls_clk>,
215                                                          <&f2s_free_clk>, <&main_periph_ref_clk>;
216                                                 reg = <0xC0>;
217
218                                                 peri_mpu_base_clk: peri_mpu_base_clk {
219                                                         #clock-cells = <0>;
220                                                         compatible = "altr,socfpga-a10-perip-clk";
221                                                         clocks = <&periph_pll>;
222                                                         div-reg = <0x140 16 11>;
223                                                 };
224
225                                                 peri_noc_base_clk: peri_noc_base_clk {
226                                                         #clock-cells = <0>;
227                                                         compatible = "altr,socfpga-a10-perip-clk";
228                                                         clocks = <&periph_pll>;
229                                                         div-reg = <0x144 16 11>;
230                                                 };
231
232                                                 peri_emaca_clk: peri_emaca_clk@e8 {
233                                                         #clock-cells = <0>;
234                                                         compatible = "altr,socfpga-a10-perip-clk";
235                                                         clocks = <&periph_pll>;
236                                                         reg = <0xE8>;
237                                                 };
238
239                                                 peri_emacb_clk: peri_emacb_clk@ec {
240                                                         #clock-cells = <0>;
241                                                         compatible = "altr,socfpga-a10-perip-clk";
242                                                         clocks = <&periph_pll>;
243                                                         reg = <0xEC>;
244                                                 };
245
246                                                 peri_emac_ptp_clk: peri_emac_ptp_clk@f0 {
247                                                         #clock-cells = <0>;
248                                                         compatible = "altr,socfpga-a10-perip-clk";
249                                                         clocks = <&periph_pll>;
250                                                         reg = <0xF0>;
251                                                 };
252
253                                                 peri_gpio_db_clk: peri_gpio_db_clk@f4 {
254                                                         #clock-cells = <0>;
255                                                         compatible = "altr,socfpga-a10-perip-clk";
256                                                         clocks = <&periph_pll>;
257                                                         reg = <0xF4>;
258                                                 };
259
260                                                 peri_sdmmc_clk: peri_sdmmc_clk@f8 {
261                                                         #clock-cells = <0>;
262                                                         compatible = "altr,socfpga-a10-perip-clk";
263                                                         clocks = <&periph_pll>;
264                                                         reg = <0xF8>;
265                                                 };
266
267                                                 peri_s2f_usr0_clk: peri_s2f_usr0_clk@fc {
268                                                         #clock-cells = <0>;
269                                                         compatible = "altr,socfpga-a10-perip-clk";
270                                                         clocks = <&periph_pll>;
271                                                         reg = <0xFC>;
272                                                 };
273
274                                                 peri_s2f_usr1_clk: peri_s2f_usr1_clk@100 {
275                                                         #clock-cells = <0>;
276                                                         compatible = "altr,socfpga-a10-perip-clk";
277                                                         clocks = <&periph_pll>;
278                                                         reg = <0x100>;
279                                                 };
280
281                                                 peri_hmc_pll_ref_clk: peri_hmc_pll_ref_clk@104 {
282                                                         #clock-cells = <0>;
283                                                         compatible = "altr,socfpga-a10-perip-clk";
284                                                         clocks = <&periph_pll>;
285                                                         reg = <0x104>;
286                                                 };
287                                         };
288
289                                         mpu_free_clk: mpu_free_clk@60 {
290                                                 #clock-cells = <0>;
291                                                 compatible = "altr,socfpga-a10-perip-clk";
292                                                 clocks = <&main_mpu_base_clk>, <&peri_mpu_base_clk>,
293                                                          <&osc1>, <&cb_intosc_hs_div2_clk>,
294                                                          <&f2s_free_clk>;
295                                                 reg = <0x60>;
296                                         };
297
298                                         noc_free_clk: noc_free_clk@64 {
299                                                 #clock-cells = <0>;
300                                                 compatible = "altr,socfpga-a10-perip-clk";
301                                                 clocks = <&main_noc_base_clk>, <&peri_noc_base_clk>,
302                                                          <&osc1>, <&cb_intosc_hs_div2_clk>,
303                                                          <&f2s_free_clk>;
304                                                 reg = <0x64>;
305                                         };
306
307                                         s2f_user1_free_clk: s2f_user1_free_clk@104 {
308                                                 #clock-cells = <0>;
309                                                 compatible = "altr,socfpga-a10-perip-clk";
310                                                 clocks = <&main_s2f_usr1_clk>, <&peri_s2f_usr1_clk>,
311                                                          <&osc1>, <&cb_intosc_hs_div2_clk>,
312                                                          <&f2s_free_clk>;
313                                                 reg = <0x104>;
314                                         };
315
316                                         sdmmc_free_clk: sdmmc_free_clk@f8 {
317                                                 #clock-cells = <0>;
318                                                 compatible = "altr,socfpga-a10-perip-clk";
319                                                 clocks = <&main_sdmmc_clk>, <&peri_sdmmc_clk>,
320                                                          <&osc1>, <&cb_intosc_hs_div2_clk>,
321                                                          <&f2s_free_clk>;
322                                                 fixed-divider = <4>;
323                                                 reg = <0xF8>;
324                                         };
325
326                                         l4_sys_free_clk: l4_sys_free_clk {
327                                                 #clock-cells = <0>;
328                                                 compatible = "altr,socfpga-a10-perip-clk";
329                                                 clocks = <&noc_free_clk>;
330                                                 fixed-divider = <4>;
331                                         };
332
333                                         l4_main_clk: l4_main_clk {
334                                                 #clock-cells = <0>;
335                                                 compatible = "altr,socfpga-a10-gate-clk";
336                                                 clocks = <&noc_free_clk>;
337                                                 div-reg = <0xA8 0 2>;
338                                                 clk-gate = <0x48 1>;
339                                         };
340
341                                         l4_mp_clk: l4_mp_clk {
342                                                 #clock-cells = <0>;
343                                                 compatible = "altr,socfpga-a10-gate-clk";
344                                                 clocks = <&noc_free_clk>;
345                                                 div-reg = <0xA8 8 2>;
346                                                 clk-gate = <0x48 2>;
347                                         };
348
349                                         l4_sp_clk: l4_sp_clk {
350                                                 #clock-cells = <0>;
351                                                 compatible = "altr,socfpga-a10-gate-clk";
352                                                 clocks = <&noc_free_clk>;
353                                                 div-reg = <0xA8 16 2>;
354                                                 clk-gate = <0x48 3>;
355                                         };
356
357                                         mpu_periph_clk: mpu_periph_clk {
358                                                 #clock-cells = <0>;
359                                                 compatible = "altr,socfpga-a10-gate-clk";
360                                                 clocks = <&mpu_free_clk>;
361                                                 fixed-divider = <4>;
362                                                 clk-gate = <0x48 0>;
363                                         };
364
365                                         sdmmc_clk: sdmmc_clk {
366                                                 #clock-cells = <0>;
367                                                 compatible = "altr,socfpga-a10-gate-clk";
368                                                 clocks = <&sdmmc_free_clk>;
369                                                 clk-gate = <0xC8 5>;
370                                                 clk-phase = <0 135>;
371                                         };
372
373                                         qspi_clk: qspi_clk {
374                                                 #clock-cells = <0>;
375                                                 compatible = "altr,socfpga-a10-gate-clk";
376                                                 clocks = <&l4_main_clk>;
377                                                 clk-gate = <0xC8 11>;
378                                         };
379
380                                         nand_clk: nand_clk {
381                                                 #clock-cells = <0>;
382                                                 compatible = "altr,socfpga-a10-gate-clk";
383                                                 clocks = <&l4_mp_clk>;
384                                                 clk-gate = <0xC8 10>;
385                                         };
386
387                                         spi_m_clk: spi_m_clk {
388                                                 #clock-cells = <0>;
389                                                 compatible = "altr,socfpga-a10-gate-clk";
390                                                 clocks = <&l4_main_clk>;
391                                                 clk-gate = <0xC8 9>;
392                                         };
393
394                                         usb_clk: usb_clk {
395                                                 #clock-cells = <0>;
396                                                 compatible = "altr,socfpga-a10-gate-clk";
397                                                 clocks = <&l4_mp_clk>;
398                                                 clk-gate = <0xC8 8>;
399                                         };
400
401                                         s2f_usr1_clk: s2f_usr1_clk {
402                                                 #clock-cells = <0>;
403                                                 compatible = "altr,socfpga-a10-gate-clk";
404                                                 clocks = <&peri_s2f_usr1_clk>;
405                                                 clk-gate = <0xC8 6>;
406                                         };
407                                 };
408                 };
409
410                 socfpga_axi_setup: stmmac-axi-config {
411                         snps,wr_osr_lmt = <0xf>;
412                         snps,rd_osr_lmt = <0xf>;
413                         snps,blen = <0 0 0 0 16 0 0>;
414                 };
415
416                 gmac0: ethernet@ff800000 {
417                         compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac";
418                         altr,sysmgr-syscon = <&sysmgr 0x44 0>;
419                         reg = <0xff800000 0x2000>;
420                         interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
421                         interrupt-names = "macirq";
422                         /* Filled in by bootloader */
423                         mac-address = [00 00 00 00 00 00];
424                         snps,multicast-filter-bins = <256>;
425                         snps,perfect-filter-entries = <128>;
426                         tx-fifo-depth = <4096>;
427                         rx-fifo-depth = <16384>;
428                         clocks = <&l4_mp_clk>;
429                         clock-names = "stmmaceth";
430                         resets = <&rst EMAC0_RESET>;
431                         reset-names = "stmmaceth";
432                         snps,axi-config = <&socfpga_axi_setup>;
433                         status = "disabled";
434                 };
435
436                 gmac1: ethernet@ff802000 {
437                         compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac";
438                         altr,sysmgr-syscon = <&sysmgr 0x48 0>;
439                         reg = <0xff802000 0x2000>;
440                         interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>;
441                         interrupt-names = "macirq";
442                         /* Filled in by bootloader */
443                         mac-address = [00 00 00 00 00 00];
444                         snps,multicast-filter-bins = <256>;
445                         snps,perfect-filter-entries = <128>;
446                         tx-fifo-depth = <4096>;
447                         rx-fifo-depth = <16384>;
448                         clocks = <&l4_mp_clk>;
449                         clock-names = "stmmaceth";
450                         resets = <&rst EMAC1_RESET>;
451                         reset-names = "stmmaceth";
452                         snps,axi-config = <&socfpga_axi_setup>;
453                         status = "disabled";
454                 };
455
456                 gmac2: ethernet@ff804000 {
457                         compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac";
458                         altr,sysmgr-syscon = <&sysmgr 0x4C 0>;
459                         reg = <0xff804000 0x2000>;
460                         interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
461                         interrupt-names = "macirq";
462                         /* Filled in by bootloader */
463                         mac-address = [00 00 00 00 00 00];
464                         snps,multicast-filter-bins = <256>;
465                         snps,perfect-filter-entries = <128>;
466                         tx-fifo-depth = <4096>;
467                         rx-fifo-depth = <16384>;
468                         clocks = <&l4_mp_clk>;
469                         clock-names = "stmmaceth";
470                         snps,axi-config = <&socfpga_axi_setup>;
471                         status = "disabled";
472                 };
473
474                 gpio0: gpio@ffc02900 {
475                         #address-cells = <1>;
476                         #size-cells = <0>;
477                         compatible = "snps,dw-apb-gpio";
478                         reg = <0xffc02900 0x100>;
479                         status = "disabled";
480
481                         porta: gpio-controller@0 {
482                                 compatible = "snps,dw-apb-gpio-port";
483                                 bank-name = "porta";
484                                 gpio-controller;
485                                 #gpio-cells = <2>;
486                                 snps,nr-gpios = <29>;
487                                 reg = <0>;
488                                 interrupt-controller;
489                                 #interrupt-cells = <2>;
490                                 interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>;
491                         };
492                 };
493
494                 gpio1: gpio@ffc02a00 {
495                         #address-cells = <1>;
496                         #size-cells = <0>;
497                         compatible = "snps,dw-apb-gpio";
498                         reg = <0xffc02a00 0x100>;
499                         status = "disabled";
500
501                         portb: gpio-controller@0 {
502                                 compatible = "snps,dw-apb-gpio-port";
503                                 bank-name = "portb";
504                                 gpio-controller;
505                                 #gpio-cells = <2>;
506                                 snps,nr-gpios = <29>;
507                                 reg = <0>;
508                                 interrupt-controller;
509                                 #interrupt-cells = <2>;
510                                 interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>;
511                         };
512                 };
513
514                 gpio2: gpio@ffc02b00 {
515                         #address-cells = <1>;
516                         #size-cells = <0>;
517                         compatible = "snps,dw-apb-gpio";
518                         reg = <0xffc02b00 0x100>;
519                         status = "disabled";
520
521                         portc: gpio-controller@0 {
522                                 compatible = "snps,dw-apb-gpio-port";
523                                 bank-name = "portc";
524                                 gpio-controller;
525                                 #gpio-cells = <2>;
526                                 snps,nr-gpios = <27>;
527                                 reg = <0>;
528                                 interrupt-controller;
529                                 #interrupt-cells = <2>;
530                                 interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
531                         };
532                 };
533
534                 fpga_mgr: fpga-mgr@ffd03000 {
535                         compatible = "altr,socfpga-a10-fpga-mgr";
536                         reg = <0xffd03000 0x100
537                                0xffcfe400 0x20>;
538                         clocks = <&l4_mp_clk>;
539                         resets = <&rst FPGAMGR_RESET>;
540                         reset-names = "fpgamgr";
541                 };
542
543                 i2c0: i2c@ffc02200 {
544                         #address-cells = <1>;
545                         #size-cells = <0>;
546                         compatible = "snps,designware-i2c";
547                         reg = <0xffc02200 0x100>;
548                         interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>;
549                         clocks = <&l4_sp_clk>;
550                         status = "disabled";
551                 };
552
553                 i2c1: i2c@ffc02300 {
554                         #address-cells = <1>;
555                         #size-cells = <0>;
556                         compatible = "snps,designware-i2c";
557                         reg = <0xffc02300 0x100>;
558                         interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
559                         clocks = <&l4_sp_clk>;
560                         status = "disabled";
561                 };
562
563                 i2c2: i2c@ffc02400 {
564                         #address-cells = <1>;
565                         #size-cells = <0>;
566                         compatible = "snps,designware-i2c";
567                         reg = <0xffc02400 0x100>;
568                         interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
569                         clocks = <&l4_sp_clk>;
570                         status = "disabled";
571                 };
572
573                 i2c3: i2c@ffc02500 {
574                         #address-cells = <1>;
575                         #size-cells = <0>;
576                         compatible = "snps,designware-i2c";
577                         reg = <0xffc02500 0x100>;
578                         interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
579                         clocks = <&l4_sp_clk>;
580                         status = "disabled";
581                 };
582
583                 i2c4: i2c@ffc02600 {
584                         #address-cells = <1>;
585                         #size-cells = <0>;
586                         compatible = "snps,designware-i2c";
587                         reg = <0xffc02600 0x100>;
588                         interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
589                         clocks = <&l4_sp_clk>;
590                         status = "disabled";
591                 };
592
593                 spi1: spi@ffda5000 {
594                         compatible = "snps,dw-apb-ssi";
595                         #address-cells = <1>;
596                         #size-cells = <0>;
597                         reg = <0xffda5000 0x100>;
598                         interrupts = <0 102 4>;
599                         num-chipselect = <4>;
600                         bus-num = <0>;
601                         /*32bit_access;*/
602                         tx-dma-channel = <&pdma 16>;
603                         rx-dma-channel = <&pdma 17>;
604                         clocks = <&spi_m_clk>;
605                         status = "disabled";
606                 };
607
608                 sdr: sdr@ffc25000 {
609                         compatible = "altr,sdr-ctl", "syscon";
610                         reg = <0xffcfb100 0x80>;
611                 };
612
613                 L2: l2-cache@fffff000 {
614                         compatible = "arm,pl310-cache";
615                         reg = <0xfffff000 0x1000>;
616                         interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
617                         cache-unified;
618                         cache-level = <2>;
619                         prefetch-data = <1>;
620                         prefetch-instr = <1>;
621                         arm,shared-override;
622                 };
623
624                 mmc: dwmmc0@ff808000 {
625                         #address-cells = <1>;
626                         #size-cells = <0>;
627                         compatible = "altr,socfpga-dw-mshc";
628                         reg = <0xff808000 0x1000>;
629                         interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
630                         fifo-depth = <0x400>;
631                         clocks = <&l4_mp_clk>, <&sdmmc_clk>;
632                         clock-names = "biu", "ciu";
633                         status = "disabled";
634                 };
635
636                 nand: nand@ffb90000 {
637                         #address-cells = <1>;
638                         #size-cells = <1>;
639                         compatible = "denali,denali-nand-dt", "altr,socfpga-denali-nand";
640                         reg = <0xffb90000 0x72000>,
641                               <0xffb80000 0x10000>;
642                         reg-names = "nand_data", "denali_reg";
643                         interrupts = <0 99 4>;
644                         dma-mask = <0xffffffff>;
645                         clocks = <&nand_clk>;
646                         status = "disabled";
647                 };
648
649                 ocram: sram@ffe00000 {
650                         compatible = "mmio-sram";
651                         reg = <0xffe00000 0x40000>;
652                 };
653
654                 eccmgr: eccmgr {
655                         compatible = "altr,socfpga-a10-ecc-manager";
656                         altr,sysmgr-syscon = <&sysmgr>;
657                         #address-cells = <1>;
658                         #size-cells = <1>;
659                         interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>,
660                                      <0 0 IRQ_TYPE_LEVEL_HIGH>;
661                         interrupt-controller;
662                         #interrupt-cells = <2>;
663                         ranges;
664
665                         sdramedac {
666                                 compatible = "altr,sdram-edac-a10";
667                                 altr,sdr-syscon = <&sdr>;
668                                 interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
669                                              <49 IRQ_TYPE_LEVEL_HIGH>;
670                         };
671
672                         l2-ecc@ffd06010 {
673                                 compatible = "altr,socfpga-a10-l2-ecc";
674                                 reg = <0xffd06010 0x4>;
675                                 interrupts = <0 IRQ_TYPE_LEVEL_HIGH>,
676                                              <32 IRQ_TYPE_LEVEL_HIGH>;
677                         };
678
679                         ocram-ecc@ff8c3000 {
680                                 compatible = "altr,socfpga-a10-ocram-ecc";
681                                 reg = <0xff8c3000 0x400>;
682                                 interrupts = <1 IRQ_TYPE_LEVEL_HIGH>,
683                                              <33 IRQ_TYPE_LEVEL_HIGH>;
684                         };
685
686                         emac0-rx-ecc@ff8c0800 {
687                                 compatible = "altr,socfpga-eth-mac-ecc";
688                                 reg = <0xff8c0800 0x400>;
689                                 altr,ecc-parent = <&gmac0>;
690                                 interrupts = <4 IRQ_TYPE_LEVEL_HIGH>,
691                                              <36 IRQ_TYPE_LEVEL_HIGH>;
692                         };
693
694                         emac0-tx-ecc@ff8c0c00 {
695                                 compatible = "altr,socfpga-eth-mac-ecc";
696                                 reg = <0xff8c0c00 0x400>;
697                                 altr,ecc-parent = <&gmac0>;
698                                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>,
699                                              <37 IRQ_TYPE_LEVEL_HIGH>;
700                         };
701
702                         dma-ecc@ff8c8000 {
703                                 compatible = "altr,socfpga-dma-ecc";
704                                 reg = <0xff8c8000 0x400>;
705                                 altr,ecc-parent = <&pdma>;
706                                 interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
707                                              <42 IRQ_TYPE_LEVEL_HIGH>;
708                         };
709
710                         usb0-ecc@ff8c8800 {
711                                 compatible = "altr,socfpga-usb-ecc";
712                                 reg = <0xff8c8800 0x400>;
713                                 altr,ecc-parent = <&usb0>;
714                                 interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
715                                              <34 IRQ_TYPE_LEVEL_HIGH>;
716                         };
717                 };
718
719                 qspi: spi@ff809000 {
720                         compatible = "cdns,qspi-nor", "cadence,qspi";
721                         #address-cells = <1>;
722                         #size-cells = <0>;
723                         reg = <0xff809000 0x100>,
724                               <0xffa00000 0x100000>;
725                         interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
726                         cdns,fifo-depth = <128>;
727                         cdns,fifo-width = <4>;
728                         cdns,trigger-address = <0x00000000>;
729                         clocks = <&qspi_clk>;
730                         status = "disabled";
731                 };
732
733                 rst: rstmgr@ffd05000 {
734                         #reset-cells = <1>;
735                         compatible = "altr,rst-mgr";
736                         reg = <0xffd05000 0x100>;
737                         altr,modrst-offset = <0x20>;
738                 };
739
740                 scu: snoop-control-unit@ffffc000 {
741                         compatible = "arm,cortex-a9-scu";
742                         reg = <0xffffc000 0x100>;
743                 };
744
745                 sysmgr: sysmgr@ffd06000 {
746                         compatible = "altr,sys-mgr", "syscon";
747                         reg = <0xffd06000 0x300>;
748                         cpu1-start-addr = <0xffd06230>;
749                 };
750
751                 /* Local timer */
752                 timer@ffffc600 {
753                         compatible = "arm,cortex-a9-twd-timer";
754                         reg = <0xffffc600 0x100>;
755                         interrupts = <1 13 0xf04>;
756                         clocks = <&mpu_periph_clk>;
757                 };
758
759                 timer0: timer0@ffc02700 {
760                         compatible = "snps,dw-apb-timer";
761                         interrupts = <0 115 IRQ_TYPE_LEVEL_HIGH>;
762                         reg = <0xffc02700 0x100>;
763                         clocks = <&l4_sp_clk>;
764                         clock-names = "timer";
765                 };
766
767                 timer1: timer1@ffc02800 {
768                         compatible = "snps,dw-apb-timer";
769                         interrupts = <0 116 IRQ_TYPE_LEVEL_HIGH>;
770                         reg = <0xffc02800 0x100>;
771                         clocks = <&l4_sp_clk>;
772                         clock-names = "timer";
773                 };
774
775                 timer2: timer2@ffd00000 {
776                         compatible = "snps,dw-apb-timer";
777                         interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH>;
778                         reg = <0xffd00000 0x100>;
779                         clocks = <&l4_sys_free_clk>;
780                         clock-names = "timer";
781                 };
782
783                 timer3: timer3@ffd00100 {
784                         compatible = "snps,dw-apb-timer";
785                         interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>;
786                         reg = <0xffd01000 0x100>;
787                         clocks = <&l4_sys_free_clk>;
788                         clock-names = "timer";
789                 };
790
791                 uart0: serial0@ffc02000 {
792                         compatible = "snps,dw-apb-uart";
793                         reg = <0xffc02000 0x100>;
794                         interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
795                         reg-shift = <2>;
796                         reg-io-width = <4>;
797                         clocks = <&l4_sp_clk>;
798                         status = "disabled";
799                 };
800
801                 uart1: serial1@ffc02100 {
802                         compatible = "snps,dw-apb-uart";
803                         reg = <0xffc02100 0x100>;
804                         interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>;
805                         reg-shift = <2>;
806                         reg-io-width = <4>;
807                         clocks = <&l4_sp_clk>;
808                         status = "disabled";
809                 };
810
811                 usbphy0: usbphy {
812                         #phy-cells = <0>;
813                         compatible = "usb-nop-xceiv";
814                         status = "okay";
815                 };
816
817                 usb0: usb@ffb00000 {
818                         compatible = "snps,dwc2";
819                         reg = <0xffb00000 0xffff>;
820                         interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>;
821                         clocks = <&usb_clk>;
822                         clock-names = "otg";
823                         resets = <&rst USB0_RESET>;
824                         reset-names = "dwc2";
825                         phys = <&usbphy0>;
826                         phy-names = "usb2-phy";
827                         status = "disabled";
828                 };
829
830                 usb1: usb@ffb40000 {
831                         compatible = "snps,dwc2";
832                         reg = <0xffb40000 0xffff>;
833                         interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>;
834                         clocks = <&usb_clk>;
835                         clock-names = "otg";
836                         resets = <&rst USB1_RESET>;
837                         reset-names = "dwc2";
838                         phys = <&usbphy0>;
839                         phy-names = "usb2-phy";
840                         status = "disabled";
841                 };
842
843                 watchdog0: watchdog@ffd00200 {
844                         compatible = "snps,dw-wdt";
845                         reg = <0xffd00200 0x100>;
846                         interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
847                         clocks = <&l4_sys_free_clk>;
848                         status = "disabled";
849                 };
850
851                 watchdog1: watchdog@ffd00300 {
852                         compatible = "snps,dw-wdt";
853                         reg = <0xffd00300 0x100>;
854                         interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
855                         clocks = <&l4_sys_free_clk>;
856                         status = "disabled";
857                 };
858         };
859 };