.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright Altera Corporation (C) 2015. 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 | 4 | */ |
---|
16 | 5 | |
---|
17 | 6 | /dts-v1/; |
---|
.. | .. |
---|
24 | 13 | #address-cells = <2>; |
---|
25 | 14 | #size-cells = <2>; |
---|
26 | 15 | |
---|
| 16 | + reserved-memory { |
---|
| 17 | + #address-cells = <2>; |
---|
| 18 | + #size-cells = <2>; |
---|
| 19 | + ranges; |
---|
| 20 | + |
---|
| 21 | + service_reserved: svcbuffer@0 { |
---|
| 22 | + compatible = "shared-dma-pool"; |
---|
| 23 | + reg = <0x0 0x0 0x0 0x1000000>; |
---|
| 24 | + alignment = <0x1000>; |
---|
| 25 | + no-map; |
---|
| 26 | + }; |
---|
| 27 | + }; |
---|
| 28 | + |
---|
27 | 29 | cpus { |
---|
28 | 30 | #address-cells = <1>; |
---|
29 | 31 | #size-cells = <0>; |
---|
30 | 32 | |
---|
31 | 33 | cpu0: cpu@0 { |
---|
32 | | - compatible = "arm,cortex-a53", "arm,armv8"; |
---|
| 34 | + compatible = "arm,cortex-a53"; |
---|
33 | 35 | device_type = "cpu"; |
---|
34 | 36 | enable-method = "psci"; |
---|
35 | 37 | reg = <0x0>; |
---|
36 | 38 | }; |
---|
37 | 39 | |
---|
38 | 40 | cpu1: cpu@1 { |
---|
39 | | - compatible = "arm,cortex-a53", "arm,armv8"; |
---|
| 41 | + compatible = "arm,cortex-a53"; |
---|
40 | 42 | device_type = "cpu"; |
---|
41 | 43 | enable-method = "psci"; |
---|
42 | 44 | reg = <0x1>; |
---|
43 | 45 | }; |
---|
44 | 46 | |
---|
45 | 47 | cpu2: cpu@2 { |
---|
46 | | - compatible = "arm,cortex-a53", "arm,armv8"; |
---|
| 48 | + compatible = "arm,cortex-a53"; |
---|
47 | 49 | device_type = "cpu"; |
---|
48 | 50 | enable-method = "psci"; |
---|
49 | 51 | reg = <0x2>; |
---|
50 | 52 | }; |
---|
51 | 53 | |
---|
52 | 54 | cpu3: cpu@3 { |
---|
53 | | - compatible = "arm,cortex-a53", "arm,armv8"; |
---|
| 55 | + compatible = "arm,cortex-a53"; |
---|
54 | 56 | device_type = "cpu"; |
---|
55 | 57 | enable-method = "psci"; |
---|
56 | 58 | reg = <0x3>; |
---|
.. | .. |
---|
75 | 77 | method = "smc"; |
---|
76 | 78 | }; |
---|
77 | 79 | |
---|
78 | | - intc: intc@fffc1000 { |
---|
| 80 | + intc: interrupt-controller@fffc1000 { |
---|
79 | 81 | compatible = "arm,gic-400", "arm,cortex-a15-gic"; |
---|
80 | 82 | #interrupt-cells = <3>; |
---|
81 | 83 | interrupt-controller; |
---|
.. | .. |
---|
92 | 94 | device_type = "soc"; |
---|
93 | 95 | interrupt-parent = <&intc>; |
---|
94 | 96 | ranges = <0 0 0 0xffffffff>; |
---|
| 97 | + |
---|
| 98 | + base_fpga_region { |
---|
| 99 | + #address-cells = <0x1>; |
---|
| 100 | + #size-cells = <0x1>; |
---|
| 101 | + |
---|
| 102 | + compatible = "fpga-region"; |
---|
| 103 | + fpga-mgr = <&fpga_mgr>; |
---|
| 104 | + }; |
---|
95 | 105 | |
---|
96 | 106 | clkmgr: clock-controller@ffd10000 { |
---|
97 | 107 | compatible = "intel,stratix10-clkmgr"; |
---|
.. | .. |
---|
128 | 138 | }; |
---|
129 | 139 | |
---|
130 | 140 | gmac0: ethernet@ff800000 { |
---|
131 | | - compatible = "altr,socfpga-stmmac", "snps,dwmac-3.74a", "snps,dwmac"; |
---|
| 141 | + compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac"; |
---|
132 | 142 | reg = <0xff800000 0x2000>; |
---|
133 | 143 | interrupts = <0 90 4>; |
---|
134 | 144 | interrupt-names = "macirq"; |
---|
135 | 145 | mac-address = [00 00 00 00 00 00]; |
---|
136 | 146 | resets = <&rst EMAC0_RESET>, <&rst EMAC0_OCP_RESET>; |
---|
137 | 147 | reset-names = "stmmaceth", "stmmaceth-ocp"; |
---|
138 | | - clocks = <&clkmgr STRATIX10_EMAC0_CLK>; |
---|
139 | | - clock-names = "stmmaceth"; |
---|
| 148 | + clocks = <&clkmgr STRATIX10_EMAC0_CLK>, <&clkmgr STRATIX10_EMAC_PTP_CLK>; |
---|
| 149 | + clock-names = "stmmaceth", "ptp_ref"; |
---|
140 | 150 | tx-fifo-depth = <16384>; |
---|
141 | 151 | rx-fifo-depth = <16384>; |
---|
142 | 152 | snps,multicast-filter-bins = <256>; |
---|
| 153 | + iommus = <&smmu 1>; |
---|
143 | 154 | altr,sysmgr-syscon = <&sysmgr 0x44 0>; |
---|
144 | 155 | status = "disabled"; |
---|
145 | 156 | }; |
---|
146 | 157 | |
---|
147 | 158 | gmac1: ethernet@ff802000 { |
---|
148 | | - compatible = "altr,socfpga-stmmac", "snps,dwmac-3.74a", "snps,dwmac"; |
---|
| 159 | + compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac"; |
---|
149 | 160 | reg = <0xff802000 0x2000>; |
---|
150 | 161 | interrupts = <0 91 4>; |
---|
151 | 162 | interrupt-names = "macirq"; |
---|
152 | 163 | mac-address = [00 00 00 00 00 00]; |
---|
153 | 164 | resets = <&rst EMAC1_RESET>, <&rst EMAC1_OCP_RESET>; |
---|
154 | 165 | reset-names = "stmmaceth", "stmmaceth-ocp"; |
---|
155 | | - clocks = <&clkmgr STRATIX10_EMAC1_CLK>; |
---|
156 | | - clock-names = "stmmaceth"; |
---|
| 166 | + clocks = <&clkmgr STRATIX10_EMAC1_CLK>, <&clkmgr STRATIX10_EMAC_PTP_CLK>; |
---|
| 167 | + clock-names = "stmmaceth", "ptp_ref"; |
---|
157 | 168 | tx-fifo-depth = <16384>; |
---|
158 | 169 | rx-fifo-depth = <16384>; |
---|
159 | 170 | snps,multicast-filter-bins = <256>; |
---|
160 | | - altr,sysmgr-syscon = <&sysmgr 0x48 0>; |
---|
| 171 | + iommus = <&smmu 2>; |
---|
| 172 | + altr,sysmgr-syscon = <&sysmgr 0x48 8>; |
---|
161 | 173 | status = "disabled"; |
---|
162 | 174 | }; |
---|
163 | 175 | |
---|
164 | 176 | gmac2: ethernet@ff804000 { |
---|
165 | | - compatible = "altr,socfpga-stmmac", "snps,dwmac-3.74a", "snps,dwmac"; |
---|
| 177 | + compatible = "altr,socfpga-stmmac-a10-s10", "snps,dwmac-3.74a", "snps,dwmac"; |
---|
166 | 178 | reg = <0xff804000 0x2000>; |
---|
167 | 179 | interrupts = <0 92 4>; |
---|
168 | 180 | interrupt-names = "macirq"; |
---|
169 | 181 | mac-address = [00 00 00 00 00 00]; |
---|
170 | 182 | resets = <&rst EMAC2_RESET>, <&rst EMAC2_OCP_RESET>; |
---|
171 | 183 | reset-names = "stmmaceth", "stmmaceth-ocp"; |
---|
172 | | - clocks = <&clkmgr STRATIX10_EMAC2_CLK>; |
---|
173 | | - clock-names = "stmmaceth"; |
---|
| 184 | + clocks = <&clkmgr STRATIX10_EMAC2_CLK>, <&clkmgr STRATIX10_EMAC_PTP_CLK>; |
---|
| 185 | + clock-names = "stmmaceth", "ptp_ref"; |
---|
174 | 186 | tx-fifo-depth = <16384>; |
---|
175 | 187 | rx-fifo-depth = <16384>; |
---|
176 | 188 | snps,multicast-filter-bins = <256>; |
---|
177 | | - altr,sysmgr-syscon = <&sysmgr 0x4c 0>; |
---|
| 189 | + iommus = <&smmu 3>; |
---|
| 190 | + altr,sysmgr-syscon = <&sysmgr 0x4c 16>; |
---|
178 | 191 | status = "disabled"; |
---|
179 | 192 | }; |
---|
180 | 193 | |
---|
.. | .. |
---|
285 | 298 | clocks = <&clkmgr STRATIX10_L4_MP_CLK>, |
---|
286 | 299 | <&clkmgr STRATIX10_SDMMC_CLK>; |
---|
287 | 300 | clock-names = "biu", "ciu"; |
---|
| 301 | + iommus = <&smmu 5>; |
---|
| 302 | + status = "disabled"; |
---|
| 303 | + }; |
---|
| 304 | + |
---|
| 305 | + nand: nand-controller@ffb90000 { |
---|
| 306 | + #address-cells = <1>; |
---|
| 307 | + #size-cells = <0>; |
---|
| 308 | + compatible = "altr,socfpga-denali-nand"; |
---|
| 309 | + reg = <0xffb90000 0x10000>, |
---|
| 310 | + <0xffb80000 0x1000>; |
---|
| 311 | + reg-names = "nand_data", "denali_reg"; |
---|
| 312 | + interrupts = <0 97 4>; |
---|
| 313 | + clocks = <&clkmgr STRATIX10_NAND_CLK>, |
---|
| 314 | + <&clkmgr STRATIX10_NAND_X_CLK>, |
---|
| 315 | + <&clkmgr STRATIX10_NAND_ECC_CLK>; |
---|
| 316 | + clock-names = "nand", "nand_x", "ecc"; |
---|
| 317 | + resets = <&rst NAND_RESET>, <&rst NAND_OCP_RESET>; |
---|
288 | 318 | status = "disabled"; |
---|
289 | 319 | }; |
---|
290 | 320 | |
---|
.. | .. |
---|
310 | 340 | #dma-requests = <32>; |
---|
311 | 341 | clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>; |
---|
312 | 342 | clock-names = "apb_pclk"; |
---|
| 343 | + resets = <&rst DMA_RESET>, <&rst DMA_OCP_RESET>; |
---|
| 344 | + reset-names = "dma", "dma-ocp"; |
---|
313 | 345 | }; |
---|
314 | 346 | |
---|
315 | 347 | rst: rstmgr@ffd11000 { |
---|
316 | 348 | #reset-cells = <1>; |
---|
317 | | - compatible = "altr,rst-mgr"; |
---|
| 349 | + compatible = "altr,stratix10-rst-mgr"; |
---|
318 | 350 | reg = <0xffd11000 0x1000>; |
---|
319 | | - altr,modrst-offset = <0x20>; |
---|
| 351 | + }; |
---|
| 352 | + |
---|
| 353 | + smmu: iommu@fa000000 { |
---|
| 354 | + compatible = "arm,mmu-500", "arm,smmu-v2"; |
---|
| 355 | + reg = <0xfa000000 0x40000>; |
---|
| 356 | + #global-interrupts = <2>; |
---|
| 357 | + #iommu-cells = <1>; |
---|
| 358 | + clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>; |
---|
| 359 | + clock-names = "iommu"; |
---|
| 360 | + interrupt-parent = <&intc>; |
---|
| 361 | + interrupts = <0 128 4>, /* Global Secure Fault */ |
---|
| 362 | + <0 129 4>, /* Global Non-secure Fault */ |
---|
| 363 | + /* Non-secure Context Interrupts (32) */ |
---|
| 364 | + <0 138 4>, <0 139 4>, <0 140 4>, <0 141 4>, |
---|
| 365 | + <0 142 4>, <0 143 4>, <0 144 4>, <0 145 4>, |
---|
| 366 | + <0 146 4>, <0 147 4>, <0 148 4>, <0 149 4>, |
---|
| 367 | + <0 150 4>, <0 151 4>, <0 152 4>, <0 153 4>, |
---|
| 368 | + <0 154 4>, <0 155 4>, <0 156 4>, <0 157 4>, |
---|
| 369 | + <0 158 4>, <0 159 4>, <0 160 4>, <0 161 4>, |
---|
| 370 | + <0 162 4>, <0 163 4>, <0 164 4>, <0 165 4>, |
---|
| 371 | + <0 166 4>, <0 167 4>, <0 168 4>, <0 169 4>; |
---|
| 372 | + stream-match-mask = <0x7ff0>; |
---|
| 373 | + status = "disabled"; |
---|
320 | 374 | }; |
---|
321 | 375 | |
---|
322 | 376 | spi0: spi@ffda4000 { |
---|
.. | .. |
---|
326 | 380 | reg = <0xffda4000 0x1000>; |
---|
327 | 381 | interrupts = <0 99 4>; |
---|
328 | 382 | resets = <&rst SPIM0_RESET>; |
---|
| 383 | + reset-names = "spi"; |
---|
329 | 384 | reg-io-width = <4>; |
---|
330 | 385 | num-cs = <4>; |
---|
331 | 386 | clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>; |
---|
.. | .. |
---|
339 | 394 | reg = <0xffda5000 0x1000>; |
---|
340 | 395 | interrupts = <0 100 4>; |
---|
341 | 396 | resets = <&rst SPIM1_RESET>; |
---|
| 397 | + reset-names = "spi"; |
---|
342 | 398 | reg-io-width = <4>; |
---|
343 | 399 | num-cs = <4>; |
---|
344 | 400 | clocks = <&clkmgr STRATIX10_L4_MAIN_CLK>; |
---|
.. | .. |
---|
346 | 402 | }; |
---|
347 | 403 | |
---|
348 | 404 | sysmgr: sysmgr@ffd12000 { |
---|
349 | | - compatible = "altr,sys-mgr", "syscon"; |
---|
| 405 | + compatible = "altr,sys-mgr-s10","altr,sys-mgr"; |
---|
350 | 406 | reg = <0xffd12000 0x228>; |
---|
351 | 407 | }; |
---|
352 | 408 | |
---|
.. | .. |
---|
391 | 447 | clock-names = "timer"; |
---|
392 | 448 | }; |
---|
393 | 449 | |
---|
394 | | - uart0: serial0@ffc02000 { |
---|
| 450 | + uart0: serial@ffc02000 { |
---|
395 | 451 | compatible = "snps,dw-apb-uart"; |
---|
396 | 452 | reg = <0xffc02000 0x100>; |
---|
397 | 453 | interrupts = <0 108 4>; |
---|
.. | .. |
---|
402 | 458 | status = "disabled"; |
---|
403 | 459 | }; |
---|
404 | 460 | |
---|
405 | | - uart1: serial1@ffc02100 { |
---|
| 461 | + uart1: serial@ffc02100 { |
---|
406 | 462 | compatible = "snps,dw-apb-uart"; |
---|
407 | 463 | reg = <0xffc02100 0x100>; |
---|
408 | 464 | interrupts = <0 109 4>; |
---|
.. | .. |
---|
428 | 484 | resets = <&rst USB0_RESET>, <&rst USB0_OCP_RESET>; |
---|
429 | 485 | reset-names = "dwc2", "dwc2-ecc"; |
---|
430 | 486 | clocks = <&clkmgr STRATIX10_USB_CLK>; |
---|
| 487 | + iommus = <&smmu 6>; |
---|
431 | 488 | status = "disabled"; |
---|
432 | 489 | }; |
---|
433 | 490 | |
---|
.. | .. |
---|
440 | 497 | resets = <&rst USB1_RESET>, <&rst USB1_OCP_RESET>; |
---|
441 | 498 | reset-names = "dwc2", "dwc2-ecc"; |
---|
442 | 499 | clocks = <&clkmgr STRATIX10_USB_CLK>; |
---|
| 500 | + iommus = <&smmu 7>; |
---|
443 | 501 | status = "disabled"; |
---|
444 | 502 | }; |
---|
445 | 503 | |
---|
.. | .. |
---|
479 | 537 | status = "disabled"; |
---|
480 | 538 | }; |
---|
481 | 539 | |
---|
| 540 | + sdr: sdr@f8011100 { |
---|
| 541 | + compatible = "altr,sdr-ctl", "syscon"; |
---|
| 542 | + reg = <0xf8011100 0xc0>; |
---|
| 543 | + }; |
---|
| 544 | + |
---|
482 | 545 | eccmgr { |
---|
483 | | - compatible = "altr,socfpga-s10-ecc-manager"; |
---|
484 | | - interrupts = <0 15 4>, <0 95 4>; |
---|
| 546 | + compatible = "altr,socfpga-s10-ecc-manager", |
---|
| 547 | + "altr,socfpga-a10-ecc-manager"; |
---|
| 548 | + altr,sysmgr-syscon = <&sysmgr>; |
---|
| 549 | + #address-cells = <1>; |
---|
| 550 | + #size-cells = <1>; |
---|
| 551 | + interrupts = <0 15 4>; |
---|
485 | 552 | interrupt-controller; |
---|
486 | 553 | #interrupt-cells = <2>; |
---|
| 554 | + ranges; |
---|
487 | 555 | |
---|
488 | 556 | sdramedac { |
---|
489 | 557 | compatible = "altr,sdram-edac-s10"; |
---|
490 | | - interrupts = <16 4>, <48 4>; |
---|
| 558 | + altr,sdr-syscon = <&sdr>; |
---|
| 559 | + interrupts = <16 4>; |
---|
491 | 560 | }; |
---|
| 561 | + |
---|
| 562 | + ocram-ecc@ff8cc000 { |
---|
| 563 | + compatible = "altr,socfpga-s10-ocram-ecc", |
---|
| 564 | + "altr,socfpga-a10-ocram-ecc"; |
---|
| 565 | + reg = <0xff8cc000 0x100>; |
---|
| 566 | + altr,ecc-parent = <&ocram>; |
---|
| 567 | + interrupts = <1 4>; |
---|
| 568 | + }; |
---|
| 569 | + |
---|
| 570 | + usb0-ecc@ff8c4000 { |
---|
| 571 | + compatible = "altr,socfpga-s10-usb-ecc", |
---|
| 572 | + "altr,socfpga-usb-ecc"; |
---|
| 573 | + reg = <0xff8c4000 0x100>; |
---|
| 574 | + altr,ecc-parent = <&usb0>; |
---|
| 575 | + interrupts = <2 4>; |
---|
| 576 | + }; |
---|
| 577 | + |
---|
| 578 | + emac0-rx-ecc@ff8c0000 { |
---|
| 579 | + compatible = "altr,socfpga-s10-eth-mac-ecc", |
---|
| 580 | + "altr,socfpga-eth-mac-ecc"; |
---|
| 581 | + reg = <0xff8c0000 0x100>; |
---|
| 582 | + altr,ecc-parent = <&gmac0>; |
---|
| 583 | + interrupts = <4 4>; |
---|
| 584 | + }; |
---|
| 585 | + |
---|
| 586 | + emac0-tx-ecc@ff8c0400 { |
---|
| 587 | + compatible = "altr,socfpga-s10-eth-mac-ecc", |
---|
| 588 | + "altr,socfpga-eth-mac-ecc"; |
---|
| 589 | + reg = <0xff8c0400 0x100>; |
---|
| 590 | + altr,ecc-parent = <&gmac0>; |
---|
| 591 | + interrupts = <5 4>; |
---|
| 592 | + }; |
---|
| 593 | + |
---|
492 | 594 | }; |
---|
493 | 595 | |
---|
494 | 596 | qspi: spi@ff8d2000 { |
---|
.. | .. |
---|
505 | 607 | |
---|
506 | 608 | status = "disabled"; |
---|
507 | 609 | }; |
---|
| 610 | + |
---|
| 611 | + firmware { |
---|
| 612 | + svc { |
---|
| 613 | + compatible = "intel,stratix10-svc"; |
---|
| 614 | + method = "smc"; |
---|
| 615 | + memory-region = <&service_reserved>; |
---|
| 616 | + |
---|
| 617 | + fpga_mgr: fpga-mgr { |
---|
| 618 | + compatible = "intel,stratix10-soc-fpga-mgr"; |
---|
| 619 | + }; |
---|
| 620 | + }; |
---|
| 621 | + }; |
---|
508 | 622 | }; |
---|
509 | 623 | }; |
---|