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