13d5f7c5aSLey Foon Tan/* 23d5f7c5aSLey Foon Tan * Copyright Altera Corporation (C) 2014-2017. All rights reserved. 33d5f7c5aSLey Foon Tan * 43d5f7c5aSLey Foon Tan * This program is free software; you can redistribute it and/or modify 53d5f7c5aSLey Foon Tan * it under the terms and conditions of the GNU General Public License, 63d5f7c5aSLey Foon Tan * version 2, as published by the Free Software Foundation. 73d5f7c5aSLey Foon Tan * 83d5f7c5aSLey Foon Tan * This program is distributed in the hope it will be useful, but WITHOUT 93d5f7c5aSLey Foon Tan * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 103d5f7c5aSLey Foon Tan * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 113d5f7c5aSLey Foon Tan * more details. 123d5f7c5aSLey Foon Tan * 133d5f7c5aSLey Foon Tan * You should have received a copy of the GNU General Public License along with 143d5f7c5aSLey Foon Tan * this program. If not, see <http://www.gnu.org/licenses/>. 153d5f7c5aSLey Foon Tan */ 163d5f7c5aSLey Foon Tan 173d5f7c5aSLey Foon Tan#include "skeleton.dtsi" 183d5f7c5aSLey Foon Tan#include <dt-bindings/interrupt-controller/arm-gic.h> 193d5f7c5aSLey Foon Tan#include <dt-bindings/reset/altr,rst-mgr-a10.h> 203d5f7c5aSLey Foon Tan 213d5f7c5aSLey Foon Tan/ { 223d5f7c5aSLey Foon Tan #address-cells = <1>; 233d5f7c5aSLey Foon Tan #size-cells = <1>; 243d5f7c5aSLey Foon Tan 253d5f7c5aSLey Foon Tan aliases { 263d5f7c5aSLey Foon Tan ethernet0 = &gmac0; 273d5f7c5aSLey Foon Tan ethernet1 = &gmac1; 283d5f7c5aSLey Foon Tan ethernet2 = &gmac2; 293d5f7c5aSLey Foon Tan serial0 = &uart0; 303d5f7c5aSLey Foon Tan serial1 = &uart1; 313d5f7c5aSLey Foon Tan timer0 = &timer0; 323d5f7c5aSLey Foon Tan timer1 = &timer1; 333d5f7c5aSLey Foon Tan timer2 = &timer2; 343d5f7c5aSLey Foon Tan timer3 = &timer3; 353d5f7c5aSLey Foon Tan spi0 = &spi0; 363d5f7c5aSLey Foon Tan spi1 = &spi1; 373d5f7c5aSLey Foon Tan }; 383d5f7c5aSLey Foon Tan 393d5f7c5aSLey Foon Tan memory { 403d5f7c5aSLey Foon Tan name = "memory"; 413d5f7c5aSLey Foon Tan device_type = "memory"; 423d5f7c5aSLey Foon Tan reg = <0x0 0x40000000>; /* 1GB */ 433d5f7c5aSLey Foon Tan }; 443d5f7c5aSLey Foon Tan 453d5f7c5aSLey Foon Tan cpus { 463d5f7c5aSLey Foon Tan #address-cells = <1>; 473d5f7c5aSLey Foon Tan #size-cells = <0>; 483d5f7c5aSLey Foon Tan 493d5f7c5aSLey Foon Tan cpu@0 { 503d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9"; 513d5f7c5aSLey Foon Tan device_type = "cpu"; 523d5f7c5aSLey Foon Tan reg = <0>; 533d5f7c5aSLey Foon Tan next-level-cache = <&L2>; 543d5f7c5aSLey Foon Tan }; 553d5f7c5aSLey Foon Tan cpu@1 { 563d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9"; 573d5f7c5aSLey Foon Tan device_type = "cpu"; 583d5f7c5aSLey Foon Tan reg = <1>; 593d5f7c5aSLey Foon Tan next-level-cache = <&L2>; 603d5f7c5aSLey Foon Tan }; 613d5f7c5aSLey Foon Tan }; 623d5f7c5aSLey Foon Tan 633d5f7c5aSLey Foon Tan intc: intc@ffffd000 { 643d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9-gic"; 653d5f7c5aSLey Foon Tan #interrupt-cells = <3>; 663d5f7c5aSLey Foon Tan interrupt-controller; 673d5f7c5aSLey Foon Tan reg = <0xffffd000 0x1000>, 683d5f7c5aSLey Foon Tan <0xffffc100 0x100>; 693d5f7c5aSLey Foon Tan }; 703d5f7c5aSLey Foon Tan 713d5f7c5aSLey Foon Tan soc { 723d5f7c5aSLey Foon Tan #address-cells = <1>; 733d5f7c5aSLey Foon Tan #size-cells = <1>; 743d5f7c5aSLey Foon Tan compatible = "simple-bus"; 753d5f7c5aSLey Foon Tan device_type = "soc"; 763d5f7c5aSLey Foon Tan interrupt-parent = <&intc>; 773d5f7c5aSLey Foon Tan ranges; 783d5f7c5aSLey Foon Tan 793d5f7c5aSLey Foon Tan amba { 803d5f7c5aSLey Foon Tan compatible = "simple-bus"; 813d5f7c5aSLey Foon Tan #address-cells = <1>; 823d5f7c5aSLey Foon Tan #size-cells = <1>; 833d5f7c5aSLey Foon Tan ranges; 843d5f7c5aSLey Foon Tan 853d5f7c5aSLey Foon Tan pdma: pdma@ffda1000 { 863d5f7c5aSLey Foon Tan compatible = "arm,pl330", "arm,primecell"; 873d5f7c5aSLey Foon Tan reg = <0xffda1000 0x1000>; 883d5f7c5aSLey Foon Tan interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>, 893d5f7c5aSLey Foon Tan <0 84 IRQ_TYPE_LEVEL_HIGH>, 903d5f7c5aSLey Foon Tan <0 85 IRQ_TYPE_LEVEL_HIGH>, 913d5f7c5aSLey Foon Tan <0 86 IRQ_TYPE_LEVEL_HIGH>, 923d5f7c5aSLey Foon Tan <0 87 IRQ_TYPE_LEVEL_HIGH>, 933d5f7c5aSLey Foon Tan <0 88 IRQ_TYPE_LEVEL_HIGH>, 943d5f7c5aSLey Foon Tan <0 89 IRQ_TYPE_LEVEL_HIGH>, 953d5f7c5aSLey Foon Tan <0 90 IRQ_TYPE_LEVEL_HIGH>, 963d5f7c5aSLey Foon Tan <0 91 IRQ_TYPE_LEVEL_HIGH>; 973d5f7c5aSLey Foon Tan #dma-cells = <1>; 983d5f7c5aSLey Foon Tan #dma-channels = <8>; 993d5f7c5aSLey Foon Tan #dma-requests = <32>; 1003d5f7c5aSLey Foon Tan clocks = <&l4_main_clk>; 1013d5f7c5aSLey Foon Tan clock-names = "apb_pclk"; 1023d5f7c5aSLey Foon Tan }; 1033d5f7c5aSLey Foon Tan }; 1043d5f7c5aSLey Foon Tan 1053d5f7c5aSLey Foon Tan clkmgr@ffd04000 { 1063d5f7c5aSLey Foon Tan compatible = "altr,clk-mgr"; 1073d5f7c5aSLey Foon Tan reg = <0xffd04000 0x1000>; 1083d5f7c5aSLey Foon Tan reg-names = "soc_clock_manager_OCP_SLV"; 1093d5f7c5aSLey Foon Tan 1103d5f7c5aSLey Foon Tan clocks { 1113d5f7c5aSLey Foon Tan #address-cells = <1>; 1123d5f7c5aSLey Foon Tan #size-cells = <0>; 1133d5f7c5aSLey Foon Tan 1143d5f7c5aSLey Foon Tan cb_intosc_hs_div2_clk: cb_intosc_hs_div2_clk { 1153d5f7c5aSLey Foon Tan #clock-cells = <0>; 1163d5f7c5aSLey Foon Tan compatible = "fixed-clock"; 1173d5f7c5aSLey Foon Tan }; 1183d5f7c5aSLey Foon Tan 1193d5f7c5aSLey Foon Tan cb_intosc_ls_clk: cb_intosc_ls_clk { 1203d5f7c5aSLey Foon Tan #clock-cells = <0>; 1213d5f7c5aSLey Foon Tan compatible = "fixed-clock"; 1223d5f7c5aSLey Foon Tan }; 1233d5f7c5aSLey Foon Tan 1243d5f7c5aSLey Foon Tan f2s_free_clk: f2s_free_clk { 1253d5f7c5aSLey Foon Tan #clock-cells = <0>; 1263d5f7c5aSLey Foon Tan compatible = "fixed-clock"; 1273d5f7c5aSLey Foon Tan }; 1283d5f7c5aSLey Foon Tan 1293d5f7c5aSLey Foon Tan osc1: osc1 { 1303d5f7c5aSLey Foon Tan #clock-cells = <0>; 1313d5f7c5aSLey Foon Tan compatible = "fixed-clock"; 1323d5f7c5aSLey Foon Tan }; 1333d5f7c5aSLey Foon Tan 1343d5f7c5aSLey Foon Tan main_pll: main_pll { 1353d5f7c5aSLey Foon Tan #address-cells = <1>; 1363d5f7c5aSLey Foon Tan #size-cells = <0>; 1373d5f7c5aSLey Foon Tan #clock-cells = <0>; 1383d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-pll-clock"; 1393d5f7c5aSLey Foon Tan clocks = <&osc1>, <&cb_intosc_ls_clk>, 1403d5f7c5aSLey Foon Tan <&f2s_free_clk>; 1413d5f7c5aSLey Foon Tan reg = <0x40>; 1423d5f7c5aSLey Foon Tan 1433d5f7c5aSLey Foon Tan main_mpu_base_clk: main_mpu_base_clk { 1443d5f7c5aSLey Foon Tan #clock-cells = <0>; 1453d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1463d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1473d5f7c5aSLey Foon Tan div-reg = <0x140 0 11>; 1483d5f7c5aSLey Foon Tan }; 1493d5f7c5aSLey Foon Tan 1503d5f7c5aSLey Foon Tan main_noc_base_clk: main_noc_base_clk { 1513d5f7c5aSLey Foon Tan #clock-cells = <0>; 1523d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1533d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1543d5f7c5aSLey Foon Tan div-reg = <0x144 0 11>; 1553d5f7c5aSLey Foon Tan }; 1563d5f7c5aSLey Foon Tan 1573d5f7c5aSLey Foon Tan main_emaca_clk: main_emaca_clk { 1583d5f7c5aSLey Foon Tan #clock-cells = <0>; 1593d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1603d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1613d5f7c5aSLey Foon Tan reg = <0x68>; 1623d5f7c5aSLey Foon Tan }; 1633d5f7c5aSLey Foon Tan 1643d5f7c5aSLey Foon Tan main_emacb_clk: main_emacb_clk { 1653d5f7c5aSLey Foon Tan #clock-cells = <0>; 1663d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1673d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1683d5f7c5aSLey Foon Tan reg = <0x6C>; 1693d5f7c5aSLey Foon Tan }; 1703d5f7c5aSLey Foon Tan 1713d5f7c5aSLey Foon Tan main_emac_ptp_clk: main_emac_ptp_clk { 1723d5f7c5aSLey Foon Tan #clock-cells = <0>; 1733d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1743d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1753d5f7c5aSLey Foon Tan reg = <0x70>; 1763d5f7c5aSLey Foon Tan }; 1773d5f7c5aSLey Foon Tan 1783d5f7c5aSLey Foon Tan main_gpio_db_clk: main_gpio_db_clk { 1793d5f7c5aSLey Foon Tan #clock-cells = <0>; 1803d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1813d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1823d5f7c5aSLey Foon Tan reg = <0x74>; 1833d5f7c5aSLey Foon Tan }; 1843d5f7c5aSLey Foon Tan 1853d5f7c5aSLey Foon Tan main_sdmmc_clk: main_sdmmc_clk { 1863d5f7c5aSLey Foon Tan #clock-cells = <0>; 1873d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1883d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1893d5f7c5aSLey Foon Tan reg = <0x78>; 1903d5f7c5aSLey Foon Tan }; 1913d5f7c5aSLey Foon Tan 1923d5f7c5aSLey Foon Tan main_s2f_usr0_clk: main_s2f_usr0_clk { 1933d5f7c5aSLey Foon Tan #clock-cells = <0>; 1943d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1953d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1963d5f7c5aSLey Foon Tan reg = <0x7C>; 1973d5f7c5aSLey Foon Tan }; 1983d5f7c5aSLey Foon Tan 1993d5f7c5aSLey Foon Tan main_s2f_usr1_clk: main_s2f_usr1_clk { 2003d5f7c5aSLey Foon Tan #clock-cells = <0>; 2013d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2023d5f7c5aSLey Foon Tan clocks = <&main_pll>; 2033d5f7c5aSLey Foon Tan reg = <0x80>; 2043d5f7c5aSLey Foon Tan }; 2053d5f7c5aSLey Foon Tan 2063d5f7c5aSLey Foon Tan main_hmc_pll_ref_clk: main_hmc_pll_ref_clk { 2073d5f7c5aSLey Foon Tan #clock-cells = <0>; 2083d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2093d5f7c5aSLey Foon Tan clocks = <&main_pll>; 2103d5f7c5aSLey Foon Tan reg = <0x84>; 2113d5f7c5aSLey Foon Tan }; 2123d5f7c5aSLey Foon Tan 2133d5f7c5aSLey Foon Tan main_periph_ref_clk: main_periph_ref_clk { 2143d5f7c5aSLey Foon Tan #clock-cells = <0>; 2153d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2163d5f7c5aSLey Foon Tan clocks = <&main_pll>; 2173d5f7c5aSLey Foon Tan reg = <0x9C>; 2183d5f7c5aSLey Foon Tan }; 2193d5f7c5aSLey Foon Tan }; 2203d5f7c5aSLey Foon Tan 2213d5f7c5aSLey Foon Tan periph_pll: periph_pll { 2223d5f7c5aSLey Foon Tan #address-cells = <1>; 2233d5f7c5aSLey Foon Tan #size-cells = <0>; 2243d5f7c5aSLey Foon Tan #clock-cells = <0>; 2253d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-pll-clock"; 2263d5f7c5aSLey Foon Tan clocks = <&osc1>, <&cb_intosc_ls_clk>, 2273d5f7c5aSLey Foon Tan <&f2s_free_clk>, <&main_periph_ref_clk>; 2283d5f7c5aSLey Foon Tan reg = <0xC0>; 2293d5f7c5aSLey Foon Tan 2303d5f7c5aSLey Foon Tan peri_mpu_base_clk: peri_mpu_base_clk { 2313d5f7c5aSLey Foon Tan #clock-cells = <0>; 2323d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2333d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2343d5f7c5aSLey Foon Tan div-reg = <0x140 16 11>; 2353d5f7c5aSLey Foon Tan }; 2363d5f7c5aSLey Foon Tan 2373d5f7c5aSLey Foon Tan peri_noc_base_clk: peri_noc_base_clk { 2383d5f7c5aSLey Foon Tan #clock-cells = <0>; 2393d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2403d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2413d5f7c5aSLey Foon Tan div-reg = <0x144 16 11>; 2423d5f7c5aSLey Foon Tan }; 2433d5f7c5aSLey Foon Tan 2443d5f7c5aSLey Foon Tan peri_emaca_clk: peri_emaca_clk { 2453d5f7c5aSLey Foon Tan #clock-cells = <0>; 2463d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2473d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2483d5f7c5aSLey Foon Tan reg = <0xE8>; 2493d5f7c5aSLey Foon Tan }; 2503d5f7c5aSLey Foon Tan 2513d5f7c5aSLey Foon Tan peri_emacb_clk: peri_emacb_clk { 2523d5f7c5aSLey Foon Tan #clock-cells = <0>; 2533d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2543d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2553d5f7c5aSLey Foon Tan reg = <0xEC>; 2563d5f7c5aSLey Foon Tan }; 2573d5f7c5aSLey Foon Tan 2583d5f7c5aSLey Foon Tan peri_emac_ptp_clk: peri_emac_ptp_clk { 2593d5f7c5aSLey Foon Tan #clock-cells = <0>; 2603d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2613d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2623d5f7c5aSLey Foon Tan reg = <0xF0>; 2633d5f7c5aSLey Foon Tan }; 2643d5f7c5aSLey Foon Tan 2653d5f7c5aSLey Foon Tan peri_gpio_db_clk: peri_gpio_db_clk { 2663d5f7c5aSLey Foon Tan #clock-cells = <0>; 2673d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2683d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2693d5f7c5aSLey Foon Tan reg = <0xF4>; 2703d5f7c5aSLey Foon Tan }; 2713d5f7c5aSLey Foon Tan 2723d5f7c5aSLey Foon Tan peri_sdmmc_clk: peri_sdmmc_clk { 2733d5f7c5aSLey Foon Tan #clock-cells = <0>; 2743d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2753d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2763d5f7c5aSLey Foon Tan reg = <0xF8>; 2773d5f7c5aSLey Foon Tan }; 2783d5f7c5aSLey Foon Tan 2793d5f7c5aSLey Foon Tan peri_s2f_usr0_clk: peri_s2f_usr0_clk { 2803d5f7c5aSLey Foon Tan #clock-cells = <0>; 2813d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2823d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2833d5f7c5aSLey Foon Tan reg = <0xFC>; 2843d5f7c5aSLey Foon Tan }; 2853d5f7c5aSLey Foon Tan 2863d5f7c5aSLey Foon Tan peri_s2f_usr1_clk: peri_s2f_usr1_clk { 2873d5f7c5aSLey Foon Tan #clock-cells = <0>; 2883d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2893d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2903d5f7c5aSLey Foon Tan reg = <0x100>; 2913d5f7c5aSLey Foon Tan }; 2923d5f7c5aSLey Foon Tan 2933d5f7c5aSLey Foon Tan peri_hmc_pll_ref_clk: peri_hmc_pll_ref_clk { 2943d5f7c5aSLey Foon Tan #clock-cells = <0>; 2953d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2963d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2973d5f7c5aSLey Foon Tan reg = <0x104>; 2983d5f7c5aSLey Foon Tan }; 2993d5f7c5aSLey Foon Tan }; 3003d5f7c5aSLey Foon Tan 3013d5f7c5aSLey Foon Tan mpu_free_clk: mpu_free_clk { 3023d5f7c5aSLey Foon Tan #clock-cells = <0>; 3033d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3043d5f7c5aSLey Foon Tan clocks = <&main_mpu_base_clk>, <&peri_mpu_base_clk>, 3053d5f7c5aSLey Foon Tan <&osc1>, <&cb_intosc_hs_div2_clk>, 3063d5f7c5aSLey Foon Tan <&f2s_free_clk>; 3073d5f7c5aSLey Foon Tan reg = <0x60>; 3083d5f7c5aSLey Foon Tan }; 3093d5f7c5aSLey Foon Tan 3103d5f7c5aSLey Foon Tan noc_free_clk: noc_free_clk { 3113d5f7c5aSLey Foon Tan #clock-cells = <0>; 3123d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3133d5f7c5aSLey Foon Tan clocks = <&main_noc_base_clk>, <&peri_noc_base_clk>, 3143d5f7c5aSLey Foon Tan <&osc1>, <&cb_intosc_hs_div2_clk>, 3153d5f7c5aSLey Foon Tan <&f2s_free_clk>; 3163d5f7c5aSLey Foon Tan reg = <0x64>; 3173d5f7c5aSLey Foon Tan }; 3183d5f7c5aSLey Foon Tan 3193d5f7c5aSLey Foon Tan s2f_user1_free_clk: s2f_user1_free_clk { 3203d5f7c5aSLey Foon Tan #clock-cells = <0>; 3213d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3223d5f7c5aSLey Foon Tan clocks = <&main_s2f_usr1_clk>, <&peri_s2f_usr1_clk>, 3233d5f7c5aSLey Foon Tan <&osc1>, <&cb_intosc_hs_div2_clk>, 3243d5f7c5aSLey Foon Tan <&f2s_free_clk>; 3253d5f7c5aSLey Foon Tan reg = <0x104>; 3263d5f7c5aSLey Foon Tan }; 3273d5f7c5aSLey Foon Tan 3283d5f7c5aSLey Foon Tan sdmmc_free_clk: sdmmc_free_clk { 3293d5f7c5aSLey Foon Tan #clock-cells = <0>; 3303d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3313d5f7c5aSLey Foon Tan clocks = <&main_sdmmc_clk>, <&peri_sdmmc_clk>, 3323d5f7c5aSLey Foon Tan <&osc1>, <&cb_intosc_hs_div2_clk>, 3333d5f7c5aSLey Foon Tan <&f2s_free_clk>; 3343d5f7c5aSLey Foon Tan fixed-divider = <4>; 3353d5f7c5aSLey Foon Tan reg = <0xF8>; 3363d5f7c5aSLey Foon Tan }; 3373d5f7c5aSLey Foon Tan 3383d5f7c5aSLey Foon Tan l4_sys_free_clk: l4_sys_free_clk { 3393d5f7c5aSLey Foon Tan #clock-cells = <0>; 3403d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3413d5f7c5aSLey Foon Tan clocks = <&noc_free_clk>; 3423d5f7c5aSLey Foon Tan fixed-divider = <4>; 3433d5f7c5aSLey Foon Tan }; 3443d5f7c5aSLey Foon Tan 3453d5f7c5aSLey Foon Tan l4_main_clk: l4_main_clk { 3463d5f7c5aSLey Foon Tan #clock-cells = <0>; 3473d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3483d5f7c5aSLey Foon Tan clocks = <&noc_free_clk>; 3493d5f7c5aSLey Foon Tan div-reg = <0xA8 0 2>; 3503d5f7c5aSLey Foon Tan clk-gate = <0x48 1>; 3513d5f7c5aSLey Foon Tan }; 3523d5f7c5aSLey Foon Tan 3533d5f7c5aSLey Foon Tan l4_mp_clk: l4_mp_clk { 3543d5f7c5aSLey Foon Tan #clock-cells = <0>; 3553d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3563d5f7c5aSLey Foon Tan clocks = <&noc_free_clk>; 3573d5f7c5aSLey Foon Tan div-reg = <0xA8 8 2>; 3583d5f7c5aSLey Foon Tan clk-gate = <0x48 2>; 3593d5f7c5aSLey Foon Tan }; 3603d5f7c5aSLey Foon Tan 3613d5f7c5aSLey Foon Tan l4_sp_clk: l4_sp_clk { 3623d5f7c5aSLey Foon Tan #clock-cells = <0>; 3633d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3643d5f7c5aSLey Foon Tan clocks = <&noc_free_clk>; 3653d5f7c5aSLey Foon Tan div-reg = <0xA8 16 2>; 3663d5f7c5aSLey Foon Tan clk-gate = <0x48 3>; 3673d5f7c5aSLey Foon Tan }; 3683d5f7c5aSLey Foon Tan 3693d5f7c5aSLey Foon Tan mpu_periph_clk: mpu_periph_clk { 3703d5f7c5aSLey Foon Tan #clock-cells = <0>; 3713d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3723d5f7c5aSLey Foon Tan clocks = <&mpu_free_clk>; 3733d5f7c5aSLey Foon Tan fixed-divider = <4>; 3743d5f7c5aSLey Foon Tan clk-gate = <0x48 0>; 3753d5f7c5aSLey Foon Tan }; 3763d5f7c5aSLey Foon Tan 3773d5f7c5aSLey Foon Tan sdmmc_clk: sdmmc_clk { 3783d5f7c5aSLey Foon Tan #clock-cells = <0>; 3793d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3803d5f7c5aSLey Foon Tan clocks = <&sdmmc_free_clk>; 3813d5f7c5aSLey Foon Tan clk-gate = <0xC8 5>; 3823d5f7c5aSLey Foon Tan clk-phase = <0 135>; 3833d5f7c5aSLey Foon Tan }; 3843d5f7c5aSLey Foon Tan 3853d5f7c5aSLey Foon Tan qspi_clk: qspi_clk { 3863d5f7c5aSLey Foon Tan #clock-cells = <0>; 3873d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3883d5f7c5aSLey Foon Tan clocks = <&l4_main_clk>; 3893d5f7c5aSLey Foon Tan clk-gate = <0xC8 11>; 3903d5f7c5aSLey Foon Tan }; 3913d5f7c5aSLey Foon Tan 3923d5f7c5aSLey Foon Tan nand_clk: nand_clk { 3933d5f7c5aSLey Foon Tan #clock-cells = <0>; 3943d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3953d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 3963d5f7c5aSLey Foon Tan clk-gate = <0xC8 10>; 3973d5f7c5aSLey Foon Tan }; 3983d5f7c5aSLey Foon Tan 3993d5f7c5aSLey Foon Tan spi_m_clk: spi_m_clk { 4003d5f7c5aSLey Foon Tan #clock-cells = <0>; 4013d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 4023d5f7c5aSLey Foon Tan clocks = <&l4_main_clk>; 4033d5f7c5aSLey Foon Tan clk-gate = <0xC8 9>; 4043d5f7c5aSLey Foon Tan }; 4053d5f7c5aSLey Foon Tan 4063d5f7c5aSLey Foon Tan usb_clk: usb_clk { 4073d5f7c5aSLey Foon Tan #clock-cells = <0>; 4083d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 4093d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 4103d5f7c5aSLey Foon Tan clk-gate = <0xC8 8>; 4113d5f7c5aSLey Foon Tan }; 4123d5f7c5aSLey Foon Tan 4133d5f7c5aSLey Foon Tan s2f_usr1_clk: s2f_usr1_clk { 4143d5f7c5aSLey Foon Tan #clock-cells = <0>; 4153d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 4163d5f7c5aSLey Foon Tan clocks = <&peri_s2f_usr1_clk>; 4173d5f7c5aSLey Foon Tan clk-gate = <0xC8 6>; 4183d5f7c5aSLey Foon Tan }; 4193d5f7c5aSLey Foon Tan }; 4203d5f7c5aSLey Foon Tan }; 4213d5f7c5aSLey Foon Tan 4223d5f7c5aSLey Foon Tan gmac0: ethernet@ff800000 { 4233d5f7c5aSLey Foon Tan compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; 4243d5f7c5aSLey Foon Tan altr,sysmgr-syscon = <&sysmgr 0x44 0>; 4253d5f7c5aSLey Foon Tan reg = <0xff800000 0x2000>; 4263d5f7c5aSLey Foon Tan interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>; 4273d5f7c5aSLey Foon Tan interrupt-names = "macirq"; 4283d5f7c5aSLey Foon Tan /* Filled in by bootloader */ 4293d5f7c5aSLey Foon Tan mac-address = [00 00 00 00 00 00]; 4303d5f7c5aSLey Foon Tan snps,multicast-filter-bins = <256>; 4313d5f7c5aSLey Foon Tan snps,perfect-filter-entries = <128>; 4323d5f7c5aSLey Foon Tan tx-fifo-depth = <4096>; 4333d5f7c5aSLey Foon Tan rx-fifo-depth = <16384>; 4343d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 4353d5f7c5aSLey Foon Tan clock-names = "stmmaceth"; 4363d5f7c5aSLey Foon Tan resets = <&rst EMAC0_RESET>; 4373d5f7c5aSLey Foon Tan reset-names = "stmmaceth"; 4383d5f7c5aSLey Foon Tan status = "disabled"; 4393d5f7c5aSLey Foon Tan }; 4403d5f7c5aSLey Foon Tan 4413d5f7c5aSLey Foon Tan gmac1: ethernet@ff802000 { 4423d5f7c5aSLey Foon Tan compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; 4433d5f7c5aSLey Foon Tan altr,sysmgr-syscon = <&sysmgr 0x48 0>; 4443d5f7c5aSLey Foon Tan reg = <0xff802000 0x2000>; 4453d5f7c5aSLey Foon Tan interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>; 4463d5f7c5aSLey Foon Tan interrupt-names = "macirq"; 4473d5f7c5aSLey Foon Tan /* Filled in by bootloader */ 4483d5f7c5aSLey Foon Tan mac-address = [00 00 00 00 00 00]; 4493d5f7c5aSLey Foon Tan snps,multicast-filter-bins = <256>; 4503d5f7c5aSLey Foon Tan snps,perfect-filter-entries = <128>; 4513d5f7c5aSLey Foon Tan tx-fifo-depth = <4096>; 4523d5f7c5aSLey Foon Tan rx-fifo-depth = <16384>; 4533d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 4543d5f7c5aSLey Foon Tan clock-names = "stmmaceth"; 4553d5f7c5aSLey Foon Tan resets = <&rst EMAC1_RESET>; 4563d5f7c5aSLey Foon Tan reset-names = "stmmaceth"; 4573d5f7c5aSLey Foon Tan status = "disabled"; 4583d5f7c5aSLey Foon Tan }; 4593d5f7c5aSLey Foon Tan 4603d5f7c5aSLey Foon Tan gmac2: ethernet@ff804000 { 4613d5f7c5aSLey Foon Tan compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; 4623d5f7c5aSLey Foon Tan altr,sysmgr-syscon = <&sysmgr 0x4C 0>; 4633d5f7c5aSLey Foon Tan reg = <0xff804000 0x2000>; 4643d5f7c5aSLey Foon Tan interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>; 4653d5f7c5aSLey Foon Tan interrupt-names = "macirq"; 4663d5f7c5aSLey Foon Tan /* Filled in by bootloader */ 4673d5f7c5aSLey Foon Tan mac-address = [00 00 00 00 00 00]; 4683d5f7c5aSLey Foon Tan snps,multicast-filter-bins = <256>; 4693d5f7c5aSLey Foon Tan snps,perfect-filter-entries = <128>; 4703d5f7c5aSLey Foon Tan tx-fifo-depth = <4096>; 4713d5f7c5aSLey Foon Tan rx-fifo-depth = <16384>; 4723d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 4733d5f7c5aSLey Foon Tan clock-names = "stmmaceth"; 4743d5f7c5aSLey Foon Tan status = "disabled"; 4753d5f7c5aSLey Foon Tan }; 4763d5f7c5aSLey Foon Tan 4773d5f7c5aSLey Foon Tan gpio0: gpio@ffc02900 { 4783d5f7c5aSLey Foon Tan #address-cells = <1>; 4793d5f7c5aSLey Foon Tan #size-cells = <0>; 4803d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio"; 4813d5f7c5aSLey Foon Tan reg = <0xffc02900 0x100>; 4823d5f7c5aSLey Foon Tan status = "disabled"; 4833d5f7c5aSLey Foon Tan 4843d5f7c5aSLey Foon Tan porta: gpio-controller@0 { 4853d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio-port"; 4863d5f7c5aSLey Foon Tan gpio-controller; 4873d5f7c5aSLey Foon Tan #gpio-cells = <2>; 4883d5f7c5aSLey Foon Tan snps,nr-gpios = <29>; 4893d5f7c5aSLey Foon Tan reg = <0>; 4903d5f7c5aSLey Foon Tan interrupt-controller; 4913d5f7c5aSLey Foon Tan #interrupt-cells = <2>; 4923d5f7c5aSLey Foon Tan interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>; 4933d5f7c5aSLey Foon Tan }; 4943d5f7c5aSLey Foon Tan }; 4953d5f7c5aSLey Foon Tan 4963d5f7c5aSLey Foon Tan gpio1: gpio@ffc02a00 { 4973d5f7c5aSLey Foon Tan #address-cells = <1>; 4983d5f7c5aSLey Foon Tan #size-cells = <0>; 4993d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio"; 5003d5f7c5aSLey Foon Tan reg = <0xffc02a00 0x100>; 5013d5f7c5aSLey Foon Tan status = "disabled"; 5023d5f7c5aSLey Foon Tan 5033d5f7c5aSLey Foon Tan portb: gpio-controller@0 { 5043d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio-port"; 5053d5f7c5aSLey Foon Tan gpio-controller; 5063d5f7c5aSLey Foon Tan #gpio-cells = <2>; 5073d5f7c5aSLey Foon Tan snps,nr-gpios = <29>; 5083d5f7c5aSLey Foon Tan reg = <0>; 5093d5f7c5aSLey Foon Tan interrupt-controller; 5103d5f7c5aSLey Foon Tan #interrupt-cells = <2>; 5113d5f7c5aSLey Foon Tan interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; 5123d5f7c5aSLey Foon Tan }; 5133d5f7c5aSLey Foon Tan }; 5143d5f7c5aSLey Foon Tan 5153d5f7c5aSLey Foon Tan gpio2: gpio@ffc02b00 { 5163d5f7c5aSLey Foon Tan #address-cells = <1>; 5173d5f7c5aSLey Foon Tan #size-cells = <0>; 5183d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio"; 5193d5f7c5aSLey Foon Tan reg = <0xffc02b00 0x100>; 5203d5f7c5aSLey Foon Tan status = "disabled"; 5213d5f7c5aSLey Foon Tan 5223d5f7c5aSLey Foon Tan portc: gpio-controller@0 { 5233d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio-port"; 5243d5f7c5aSLey Foon Tan gpio-controller; 5253d5f7c5aSLey Foon Tan #gpio-cells = <2>; 5263d5f7c5aSLey Foon Tan snps,nr-gpios = <27>; 5273d5f7c5aSLey Foon Tan reg = <0>; 5283d5f7c5aSLey Foon Tan interrupt-controller; 5293d5f7c5aSLey Foon Tan #interrupt-cells = <2>; 5303d5f7c5aSLey Foon Tan interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>; 5313d5f7c5aSLey Foon Tan }; 5323d5f7c5aSLey Foon Tan }; 5333d5f7c5aSLey Foon Tan 5343d5f7c5aSLey Foon Tan fpga_mgr: fpga-mgr@ffd03000 { 5353d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-fpga-mgr"; 5363d5f7c5aSLey Foon Tan reg = <0xffd03000 0x100 5373d5f7c5aSLey Foon Tan 0xffcfe400 0x20>; 5383d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 5393d5f7c5aSLey Foon Tan resets = <&rst FPGAMGR_RESET>; 5403d5f7c5aSLey Foon Tan reset-names = "fpgamgr"; 5413d5f7c5aSLey Foon Tan }; 5423d5f7c5aSLey Foon Tan 5433d5f7c5aSLey Foon Tan i2c0: i2c@ffc02200 { 5443d5f7c5aSLey Foon Tan #address-cells = <1>; 5453d5f7c5aSLey Foon Tan #size-cells = <0>; 5463d5f7c5aSLey Foon Tan compatible = "snps,designware-i2c"; 5473d5f7c5aSLey Foon Tan reg = <0xffc02200 0x100>; 5483d5f7c5aSLey Foon Tan interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>; 5493d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 5503d5f7c5aSLey Foon Tan status = "disabled"; 5513d5f7c5aSLey Foon Tan }; 5523d5f7c5aSLey Foon Tan 5533d5f7c5aSLey Foon Tan i2c1: i2c@ffc02300 { 5543d5f7c5aSLey Foon Tan #address-cells = <1>; 5553d5f7c5aSLey Foon Tan #size-cells = <0>; 5563d5f7c5aSLey Foon Tan compatible = "snps,designware-i2c"; 5573d5f7c5aSLey Foon Tan reg = <0xffc02300 0x100>; 5583d5f7c5aSLey Foon Tan interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>; 5593d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 5603d5f7c5aSLey Foon Tan status = "disabled"; 5613d5f7c5aSLey Foon Tan }; 5623d5f7c5aSLey Foon Tan 5633d5f7c5aSLey Foon Tan i2c2: i2c@ffc02400 { 5643d5f7c5aSLey Foon Tan #address-cells = <1>; 5653d5f7c5aSLey Foon Tan #size-cells = <0>; 5663d5f7c5aSLey Foon Tan compatible = "snps,designware-i2c"; 5673d5f7c5aSLey Foon Tan reg = <0xffc02400 0x100>; 5683d5f7c5aSLey Foon Tan interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>; 5693d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 5703d5f7c5aSLey Foon Tan status = "disabled"; 5713d5f7c5aSLey Foon Tan }; 5723d5f7c5aSLey Foon Tan 5733d5f7c5aSLey Foon Tan i2c3: i2c@ffc02500 { 5743d5f7c5aSLey Foon Tan #address-cells = <1>; 5753d5f7c5aSLey Foon Tan #size-cells = <0>; 5763d5f7c5aSLey Foon Tan compatible = "snps,designware-i2c"; 5773d5f7c5aSLey Foon Tan reg = <0xffc02500 0x100>; 5783d5f7c5aSLey Foon Tan interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>; 5793d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 5803d5f7c5aSLey Foon Tan status = "disabled"; 5813d5f7c5aSLey Foon Tan }; 5823d5f7c5aSLey Foon Tan 5833d5f7c5aSLey Foon Tan i2c4: i2c@ffc02600 { 5843d5f7c5aSLey Foon Tan #address-cells = <1>; 5853d5f7c5aSLey Foon Tan #size-cells = <0>; 5863d5f7c5aSLey Foon Tan compatible = "snps,designware-i2c"; 5873d5f7c5aSLey Foon Tan reg = <0xffc02600 0x100>; 5883d5f7c5aSLey Foon Tan interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>; 5893d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 5903d5f7c5aSLey Foon Tan status = "disabled"; 5913d5f7c5aSLey Foon Tan }; 5923d5f7c5aSLey Foon Tan 5933d5f7c5aSLey Foon Tan sdr: sdr@0xffcfb100 { 5943d5f7c5aSLey Foon Tan compatible = "syscon"; 5953d5f7c5aSLey Foon Tan reg = <0xffcfb100 0x80>; 5963d5f7c5aSLey Foon Tan }; 5973d5f7c5aSLey Foon Tan 5983d5f7c5aSLey Foon Tan spi0: spi@ffda4000 { 5993d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-ssi"; 6003d5f7c5aSLey Foon Tan #address-cells = <1>; 6013d5f7c5aSLey Foon Tan #size-cells = <0>; 6023d5f7c5aSLey Foon Tan reg = <0xffda4000 0x100>; 6033d5f7c5aSLey Foon Tan interrupts = <0 101 IRQ_TYPE_LEVEL_HIGH>; 6043d5f7c5aSLey Foon Tan num-chipselect = <4>; 6053d5f7c5aSLey Foon Tan bus-num = <0>; 6063d5f7c5aSLey Foon Tan tx-dma-channel = <&pdma 16>; 6073d5f7c5aSLey Foon Tan rx-dma-channel = <&pdma 17>; 6083d5f7c5aSLey Foon Tan clocks = <&spi_m_clk>; 6093d5f7c5aSLey Foon Tan status = "disabled"; 6103d5f7c5aSLey Foon Tan }; 6113d5f7c5aSLey Foon Tan 6123d5f7c5aSLey Foon Tan spi1: spi@ffda5000 { 6133d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-ssi"; 6143d5f7c5aSLey Foon Tan #address-cells = <1>; 6153d5f7c5aSLey Foon Tan #size-cells = <0>; 6163d5f7c5aSLey Foon Tan reg = <0xffda5000 0x100>; 6173d5f7c5aSLey Foon Tan interrupts = <0 102 IRQ_TYPE_LEVEL_HIGH>; 6183d5f7c5aSLey Foon Tan num-chipselect = <4>; 6193d5f7c5aSLey Foon Tan bus-num = <0>; 6203d5f7c5aSLey Foon Tan tx-dma-channel = <&pdma 20>; 6213d5f7c5aSLey Foon Tan rx-dma-channel = <&pdma 21>; 6223d5f7c5aSLey Foon Tan clocks = <&spi_m_clk>; 6233d5f7c5aSLey Foon Tan status = "disabled"; 6243d5f7c5aSLey Foon Tan }; 6253d5f7c5aSLey Foon Tan 6263d5f7c5aSLey Foon Tan L2: l2-cache@fffff000 { 6273d5f7c5aSLey Foon Tan compatible = "arm,pl310-cache"; 6283d5f7c5aSLey Foon Tan reg = <0xfffff000 0x1000>; 6293d5f7c5aSLey Foon Tan interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>; 6303d5f7c5aSLey Foon Tan cache-unified; 6313d5f7c5aSLey Foon Tan cache-level = <2>; 6323d5f7c5aSLey Foon Tan }; 6333d5f7c5aSLey Foon Tan 6343d5f7c5aSLey Foon Tan mmc: dwmmc0@ff808000 { 6353d5f7c5aSLey Foon Tan #address-cells = <1>; 6363d5f7c5aSLey Foon Tan #size-cells = <0>; 6373d5f7c5aSLey Foon Tan compatible = "altr,socfpga-dw-mshc"; 6383d5f7c5aSLey Foon Tan reg = <0xff808000 0x1000>; 6393d5f7c5aSLey Foon Tan interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; 6403d5f7c5aSLey Foon Tan fifo-depth = <0x400>; 6413d5f7c5aSLey Foon Tan bus-width = <4>; 6423d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>, <&sdmmc_clk>; 6433d5f7c5aSLey Foon Tan clock-names = "biu", "ciu"; 6443d5f7c5aSLey Foon Tan status = "disabled"; 6453d5f7c5aSLey Foon Tan }; 6463d5f7c5aSLey Foon Tan 6473d5f7c5aSLey Foon Tan ocram: sram@ffe00000 { 6483d5f7c5aSLey Foon Tan compatible = "mmio-sram"; 6493d5f7c5aSLey Foon Tan reg = <0xffe00000 0x40000>; 6503d5f7c5aSLey Foon Tan }; 6513d5f7c5aSLey Foon Tan 6523d5f7c5aSLey Foon Tan eccmgr: eccmgr@ffd06000 { 6533d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-ecc-manager"; 6543d5f7c5aSLey Foon Tan altr,sysmgr-syscon = <&sysmgr>; 6553d5f7c5aSLey Foon Tan #address-cells = <1>; 6563d5f7c5aSLey Foon Tan #size-cells = <1>; 6573d5f7c5aSLey Foon Tan interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>, 6583d5f7c5aSLey Foon Tan <0 0 IRQ_TYPE_LEVEL_HIGH>; 6593d5f7c5aSLey Foon Tan interrupt-controller; 6603d5f7c5aSLey Foon Tan #interrupt-cells = <2>; 6613d5f7c5aSLey Foon Tan ranges; 6623d5f7c5aSLey Foon Tan 6633d5f7c5aSLey Foon Tan sdramedac { 6643d5f7c5aSLey Foon Tan compatible = "altr,sdram-edac-a10"; 6653d5f7c5aSLey Foon Tan altr,sdr-syscon = <&sdr>; 6663d5f7c5aSLey Foon Tan interrupts = <17 IRQ_TYPE_LEVEL_HIGH>, 6673d5f7c5aSLey Foon Tan <49 IRQ_TYPE_LEVEL_HIGH>; 6683d5f7c5aSLey Foon Tan }; 6693d5f7c5aSLey Foon Tan 6703d5f7c5aSLey Foon Tan l2-ecc@ffd06010 { 6713d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-l2-ecc"; 6723d5f7c5aSLey Foon Tan reg = <0xffd06010 0x4>; 6733d5f7c5aSLey Foon Tan interrupts = <0 IRQ_TYPE_LEVEL_HIGH>, 6743d5f7c5aSLey Foon Tan <32 IRQ_TYPE_LEVEL_HIGH>; 6753d5f7c5aSLey Foon Tan }; 6763d5f7c5aSLey Foon Tan 6773d5f7c5aSLey Foon Tan ocram-ecc@ff8c3000 { 6783d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-ocram-ecc"; 6793d5f7c5aSLey Foon Tan reg = <0xff8c3000 0x400>; 6803d5f7c5aSLey Foon Tan interrupts = <1 IRQ_TYPE_LEVEL_HIGH>, 6813d5f7c5aSLey Foon Tan <33 IRQ_TYPE_LEVEL_HIGH>; 6823d5f7c5aSLey Foon Tan }; 6833d5f7c5aSLey Foon Tan 6843d5f7c5aSLey Foon Tan sdmmca-ecc@ff8c2c00 { 6853d5f7c5aSLey Foon Tan compatible = "altr,socfpga-sdmmc-ecc"; 6863d5f7c5aSLey Foon Tan reg = <0xff8c2c00 0x400>; 6873d5f7c5aSLey Foon Tan altr,ecc-parent = <&mmc>; 6883d5f7c5aSLey Foon Tan interrupts = <15 IRQ_TYPE_LEVEL_HIGH>, 6893d5f7c5aSLey Foon Tan <47 IRQ_TYPE_LEVEL_HIGH>, 6903d5f7c5aSLey Foon Tan <16 IRQ_TYPE_LEVEL_HIGH>, 6913d5f7c5aSLey Foon Tan <48 IRQ_TYPE_LEVEL_HIGH>; 6923d5f7c5aSLey Foon Tan }; 6933d5f7c5aSLey Foon Tan 6943d5f7c5aSLey Foon Tan emac0-rx-ecc@ff8c0800 { 6953d5f7c5aSLey Foon Tan compatible = "altr,socfpga-eth-mac-ecc"; 6963d5f7c5aSLey Foon Tan reg = <0xff8c0800 0x400>; 6973d5f7c5aSLey Foon Tan altr,ecc-parent = <&gmac0>; 6983d5f7c5aSLey Foon Tan interrupts = <4 IRQ_TYPE_LEVEL_HIGH>, 6993d5f7c5aSLey Foon Tan <36 IRQ_TYPE_LEVEL_HIGH>; 7003d5f7c5aSLey Foon Tan }; 7013d5f7c5aSLey Foon Tan 7023d5f7c5aSLey Foon Tan emac0-tx-ecc@ff8c0c00 { 7033d5f7c5aSLey Foon Tan compatible = "altr,socfpga-eth-mac-ecc"; 7043d5f7c5aSLey Foon Tan reg = <0xff8c0c00 0x400>; 7053d5f7c5aSLey Foon Tan altr,ecc-parent = <&gmac0>; 7063d5f7c5aSLey Foon Tan interrupts = <5 IRQ_TYPE_LEVEL_HIGH>, 7073d5f7c5aSLey Foon Tan <37 IRQ_TYPE_LEVEL_HIGH>; 7083d5f7c5aSLey Foon Tan }; 7093d5f7c5aSLey Foon Tan 7103d5f7c5aSLey Foon Tan dma-ecc@ff8c8000 { 7113d5f7c5aSLey Foon Tan compatible = "altr,socfpga-dma-ecc"; 7123d5f7c5aSLey Foon Tan reg = <0xff8c8000 0x400>; 7133d5f7c5aSLey Foon Tan altr,ecc-parent = <&pdma>; 7143d5f7c5aSLey Foon Tan interrupts = <10 IRQ_TYPE_LEVEL_HIGH>, 7153d5f7c5aSLey Foon Tan <42 IRQ_TYPE_LEVEL_HIGH>; 7163d5f7c5aSLey Foon Tan }; 7173d5f7c5aSLey Foon Tan 7183d5f7c5aSLey Foon Tan usb0-ecc@ff8c8800 { 7193d5f7c5aSLey Foon Tan compatible = "altr,socfpga-usb-ecc"; 7203d5f7c5aSLey Foon Tan reg = <0xff8c8800 0x400>; 7213d5f7c5aSLey Foon Tan altr,ecc-parent = <&usb0>; 7223d5f7c5aSLey Foon Tan interrupts = <2 IRQ_TYPE_LEVEL_HIGH>, 7233d5f7c5aSLey Foon Tan <34 IRQ_TYPE_LEVEL_HIGH>; 7243d5f7c5aSLey Foon Tan }; 7253d5f7c5aSLey Foon Tan }; 7263d5f7c5aSLey Foon Tan 7273d5f7c5aSLey Foon Tan qspi: qspi@ff809000 { 7283d5f7c5aSLey Foon Tan #address-cells = <1>; 7293d5f7c5aSLey Foon Tan #size-cells = <0>; 7303d5f7c5aSLey Foon Tan compatible = "cadence,qspi"; 7313d5f7c5aSLey Foon Tan reg = <0xff809000 0x100>, 7323d5f7c5aSLey Foon Tan <0xffa00000 0x100000>; 7333d5f7c5aSLey Foon Tan interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; 7343d5f7c5aSLey Foon Tan clocks = <&l4_main_clk>; 7353d5f7c5aSLey Foon Tan ext-decoder = <0>; /* external decoder */ 7363d5f7c5aSLey Foon Tan num-chipselect = <4>; 737*6e62b178SJason Rush cdns,fifo-depth = <128>; 738*6e62b178SJason Rush cdns,fifo-width = <4>; 7393d5f7c5aSLey Foon Tan bus-num = <2>; 7403d5f7c5aSLey Foon Tan status = "disabled"; 7413d5f7c5aSLey Foon Tan }; 7423d5f7c5aSLey Foon Tan 7433d5f7c5aSLey Foon Tan rst: rstmgr@ffd05000 { 7443d5f7c5aSLey Foon Tan #reset-cells = <1>; 7453d5f7c5aSLey Foon Tan compatible = "altr,rst-mgr"; 7463d5f7c5aSLey Foon Tan reg = <0xffd05000 0x100>; 7473d5f7c5aSLey Foon Tan altr,modrst-offset = <0x20>; 7483d5f7c5aSLey Foon Tan }; 7493d5f7c5aSLey Foon Tan 7503d5f7c5aSLey Foon Tan scu: snoop-control-unit@ffffc000 { 7513d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9-scu"; 7523d5f7c5aSLey Foon Tan reg = <0xffffc000 0x100>; 7533d5f7c5aSLey Foon Tan }; 7543d5f7c5aSLey Foon Tan 7553d5f7c5aSLey Foon Tan sysmgr: sysmgr@ffd06000 { 7563d5f7c5aSLey Foon Tan compatible = "altr,sys-mgr", "syscon"; 7573d5f7c5aSLey Foon Tan reg = <0xffd06000 0x300>; 7583d5f7c5aSLey Foon Tan cpu1-start-addr = <0xffd06230>; 7593d5f7c5aSLey Foon Tan }; 7603d5f7c5aSLey Foon Tan 7613d5f7c5aSLey Foon Tan /* Local timer */ 7623d5f7c5aSLey Foon Tan timer@ffffc600 { 7633d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9-twd-timer"; 7643d5f7c5aSLey Foon Tan reg = <0xffffc600 0x100>; 7653d5f7c5aSLey Foon Tan interrupts = <1 13 0xf04>; 7663d5f7c5aSLey Foon Tan clocks = <&mpu_periph_clk>; 7673d5f7c5aSLey Foon Tan }; 7683d5f7c5aSLey Foon Tan 7693d5f7c5aSLey Foon Tan timer0: timer0@ffc02700 { 7703d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-timer"; 7713d5f7c5aSLey Foon Tan interrupts = <0 115 IRQ_TYPE_LEVEL_HIGH>; 7723d5f7c5aSLey Foon Tan reg = <0xffc02700 0x100>; 7733d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 7743d5f7c5aSLey Foon Tan clock-names = "timer"; 7753d5f7c5aSLey Foon Tan }; 7763d5f7c5aSLey Foon Tan 7773d5f7c5aSLey Foon Tan timer1: timer1@ffc02800 { 7783d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-timer"; 7793d5f7c5aSLey Foon Tan interrupts = <0 116 IRQ_TYPE_LEVEL_HIGH>; 7803d5f7c5aSLey Foon Tan reg = <0xffc02800 0x100>; 7813d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 7823d5f7c5aSLey Foon Tan clock-names = "timer"; 7833d5f7c5aSLey Foon Tan }; 7843d5f7c5aSLey Foon Tan 7853d5f7c5aSLey Foon Tan timer2: timer2@ffd00000 { 7863d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-timer"; 7873d5f7c5aSLey Foon Tan interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH>; 7883d5f7c5aSLey Foon Tan reg = <0xffd00000 0x100>; 7893d5f7c5aSLey Foon Tan clocks = <&l4_sys_free_clk>; 7903d5f7c5aSLey Foon Tan clock-names = "timer"; 7913d5f7c5aSLey Foon Tan }; 7923d5f7c5aSLey Foon Tan 7933d5f7c5aSLey Foon Tan timer3: timer3@ffd00100 { 7943d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-timer"; 7953d5f7c5aSLey Foon Tan interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; 7963d5f7c5aSLey Foon Tan reg = <0xffd01000 0x100>; 7973d5f7c5aSLey Foon Tan clocks = <&l4_sys_free_clk>; 7983d5f7c5aSLey Foon Tan clock-names = "timer"; 7993d5f7c5aSLey Foon Tan }; 8003d5f7c5aSLey Foon Tan 8013d5f7c5aSLey Foon Tan uart0: serial0@ffc02000 { 8023d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-uart"; 8033d5f7c5aSLey Foon Tan reg = <0xffc02000 0x100>; 8043d5f7c5aSLey Foon Tan interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; 8053d5f7c5aSLey Foon Tan reg-shift = <2>; 8063d5f7c5aSLey Foon Tan reg-io-width = <4>; 8073d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 8083d5f7c5aSLey Foon Tan status = "disabled"; 8093d5f7c5aSLey Foon Tan }; 8103d5f7c5aSLey Foon Tan 8113d5f7c5aSLey Foon Tan uart1: serial1@ffc02100 { 8123d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-uart"; 8133d5f7c5aSLey Foon Tan reg = <0xffc02100 0x100>; 8143d5f7c5aSLey Foon Tan interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>; 8153d5f7c5aSLey Foon Tan reg-shift = <2>; 8163d5f7c5aSLey Foon Tan reg-io-width = <4>; 8173d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 8183d5f7c5aSLey Foon Tan status = "disabled"; 8193d5f7c5aSLey Foon Tan }; 8203d5f7c5aSLey Foon Tan 8213d5f7c5aSLey Foon Tan usbphy0: usbphy@0 { 8223d5f7c5aSLey Foon Tan #phy-cells = <0>; 8233d5f7c5aSLey Foon Tan compatible = "usb-nop-xceiv"; 8243d5f7c5aSLey Foon Tan status = "okay"; 8253d5f7c5aSLey Foon Tan }; 8263d5f7c5aSLey Foon Tan 8273d5f7c5aSLey Foon Tan usb0: usb@ffb00000 { 8283d5f7c5aSLey Foon Tan compatible = "snps,dwc2"; 8293d5f7c5aSLey Foon Tan reg = <0xffb00000 0xffff>; 8303d5f7c5aSLey Foon Tan interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; 8313d5f7c5aSLey Foon Tan clocks = <&usb_clk>; 8323d5f7c5aSLey Foon Tan clock-names = "otg"; 8333d5f7c5aSLey Foon Tan resets = <&rst USB0_RESET>; 8343d5f7c5aSLey Foon Tan reset-names = "dwc2"; 8353d5f7c5aSLey Foon Tan phys = <&usbphy0>; 8363d5f7c5aSLey Foon Tan phy-names = "usb2-phy"; 8373d5f7c5aSLey Foon Tan status = "disabled"; 8383d5f7c5aSLey Foon Tan }; 8393d5f7c5aSLey Foon Tan 8403d5f7c5aSLey Foon Tan usb1: usb@ffb40000 { 8413d5f7c5aSLey Foon Tan compatible = "snps,dwc2"; 8423d5f7c5aSLey Foon Tan reg = <0xffb40000 0xffff>; 8433d5f7c5aSLey Foon Tan interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>; 8443d5f7c5aSLey Foon Tan clocks = <&usb_clk>; 8453d5f7c5aSLey Foon Tan clock-names = "otg"; 8463d5f7c5aSLey Foon Tan resets = <&rst USB1_RESET>; 8473d5f7c5aSLey Foon Tan reset-names = "dwc2"; 8483d5f7c5aSLey Foon Tan phys = <&usbphy0>; 8493d5f7c5aSLey Foon Tan phy-names = "usb2-phy"; 8503d5f7c5aSLey Foon Tan status = "disabled"; 8513d5f7c5aSLey Foon Tan }; 8523d5f7c5aSLey Foon Tan 8533d5f7c5aSLey Foon Tan watchdog0: watchdog@ffd00200 { 8543d5f7c5aSLey Foon Tan compatible = "snps,dw-wdt"; 8553d5f7c5aSLey Foon Tan reg = <0xffd00200 0x100>; 8563d5f7c5aSLey Foon Tan interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>; 8573d5f7c5aSLey Foon Tan clocks = <&l4_sys_free_clk>; 8583d5f7c5aSLey Foon Tan status = "disabled"; 8593d5f7c5aSLey Foon Tan }; 8603d5f7c5aSLey Foon Tan 8613d5f7c5aSLey Foon Tan watchdog1: watchdog@ffd00300 { 8623d5f7c5aSLey Foon Tan compatible = "snps,dw-wdt"; 8633d5f7c5aSLey Foon Tan reg = <0xffd00300 0x100>; 8643d5f7c5aSLey Foon Tan interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>; 8653d5f7c5aSLey Foon Tan clocks = <&l4_sys_free_clk>; 8663d5f7c5aSLey Foon Tan status = "disabled"; 8673d5f7c5aSLey Foon Tan }; 8683d5f7c5aSLey Foon Tan }; 8693d5f7c5aSLey Foon Tan}; 870