13d5f7c5aSLey Foon Tan/* 2*cc21ed62SMarek Vasut * Copyright Altera Corporation (C) 2014. 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 <dt-bindings/interrupt-controller/arm-gic.h> 183d5f7c5aSLey Foon Tan#include <dt-bindings/reset/altr,rst-mgr-a10.h> 193d5f7c5aSLey Foon Tan 203d5f7c5aSLey Foon Tan/ { 213d5f7c5aSLey Foon Tan #address-cells = <1>; 223d5f7c5aSLey Foon Tan #size-cells = <1>; 233d5f7c5aSLey Foon Tan 243d5f7c5aSLey Foon Tan cpus { 253d5f7c5aSLey Foon Tan #address-cells = <1>; 263d5f7c5aSLey Foon Tan #size-cells = <0>; 27*cc21ed62SMarek Vasut enable-method = "altr,socfpga-a10-smp"; 283d5f7c5aSLey Foon Tan 293d5f7c5aSLey Foon Tan cpu@0 { 303d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9"; 313d5f7c5aSLey Foon Tan device_type = "cpu"; 323d5f7c5aSLey Foon Tan reg = <0>; 333d5f7c5aSLey Foon Tan next-level-cache = <&L2>; 343d5f7c5aSLey Foon Tan }; 353d5f7c5aSLey Foon Tan cpu@1 { 363d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9"; 373d5f7c5aSLey Foon Tan device_type = "cpu"; 383d5f7c5aSLey Foon Tan reg = <1>; 393d5f7c5aSLey Foon Tan next-level-cache = <&L2>; 403d5f7c5aSLey Foon Tan }; 413d5f7c5aSLey Foon Tan }; 423d5f7c5aSLey Foon Tan 433d5f7c5aSLey Foon Tan intc: intc@ffffd000 { 443d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9-gic"; 453d5f7c5aSLey Foon Tan #interrupt-cells = <3>; 463d5f7c5aSLey Foon Tan interrupt-controller; 473d5f7c5aSLey Foon Tan reg = <0xffffd000 0x1000>, 483d5f7c5aSLey Foon Tan <0xffffc100 0x100>; 493d5f7c5aSLey Foon Tan }; 503d5f7c5aSLey Foon Tan 513d5f7c5aSLey Foon Tan soc { 523d5f7c5aSLey Foon Tan #address-cells = <1>; 533d5f7c5aSLey Foon Tan #size-cells = <1>; 543d5f7c5aSLey Foon Tan compatible = "simple-bus"; 553d5f7c5aSLey Foon Tan device_type = "soc"; 563d5f7c5aSLey Foon Tan interrupt-parent = <&intc>; 573d5f7c5aSLey Foon Tan ranges; 583d5f7c5aSLey Foon Tan 593d5f7c5aSLey Foon Tan amba { 603d5f7c5aSLey Foon Tan compatible = "simple-bus"; 613d5f7c5aSLey Foon Tan #address-cells = <1>; 623d5f7c5aSLey Foon Tan #size-cells = <1>; 633d5f7c5aSLey Foon Tan ranges; 643d5f7c5aSLey Foon Tan 653d5f7c5aSLey Foon Tan pdma: pdma@ffda1000 { 663d5f7c5aSLey Foon Tan compatible = "arm,pl330", "arm,primecell"; 673d5f7c5aSLey Foon Tan reg = <0xffda1000 0x1000>; 683d5f7c5aSLey Foon Tan interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>, 693d5f7c5aSLey Foon Tan <0 84 IRQ_TYPE_LEVEL_HIGH>, 703d5f7c5aSLey Foon Tan <0 85 IRQ_TYPE_LEVEL_HIGH>, 713d5f7c5aSLey Foon Tan <0 86 IRQ_TYPE_LEVEL_HIGH>, 723d5f7c5aSLey Foon Tan <0 87 IRQ_TYPE_LEVEL_HIGH>, 733d5f7c5aSLey Foon Tan <0 88 IRQ_TYPE_LEVEL_HIGH>, 743d5f7c5aSLey Foon Tan <0 89 IRQ_TYPE_LEVEL_HIGH>, 753d5f7c5aSLey Foon Tan <0 90 IRQ_TYPE_LEVEL_HIGH>, 763d5f7c5aSLey Foon Tan <0 91 IRQ_TYPE_LEVEL_HIGH>; 773d5f7c5aSLey Foon Tan #dma-cells = <1>; 783d5f7c5aSLey Foon Tan #dma-channels = <8>; 793d5f7c5aSLey Foon Tan #dma-requests = <32>; 803d5f7c5aSLey Foon Tan clocks = <&l4_main_clk>; 813d5f7c5aSLey Foon Tan clock-names = "apb_pclk"; 823d5f7c5aSLey Foon Tan }; 833d5f7c5aSLey Foon Tan }; 843d5f7c5aSLey Foon Tan 85*cc21ed62SMarek Vasut base_fpga_region { 86*cc21ed62SMarek Vasut #address-cells = <0x1>; 87*cc21ed62SMarek Vasut #size-cells = <0x1>; 88*cc21ed62SMarek Vasut 89*cc21ed62SMarek Vasut compatible = "fpga-region"; 90*cc21ed62SMarek Vasut fpga-mgr = <&fpga_mgr>; 91*cc21ed62SMarek Vasut }; 92*cc21ed62SMarek Vasut 933d5f7c5aSLey Foon Tan clkmgr@ffd04000 { 943d5f7c5aSLey Foon Tan compatible = "altr,clk-mgr"; 953d5f7c5aSLey Foon Tan reg = <0xffd04000 0x1000>; 963d5f7c5aSLey Foon Tan 973d5f7c5aSLey Foon Tan clocks { 983d5f7c5aSLey Foon Tan #address-cells = <1>; 993d5f7c5aSLey Foon Tan #size-cells = <0>; 1003d5f7c5aSLey Foon Tan 1013d5f7c5aSLey Foon Tan cb_intosc_hs_div2_clk: cb_intosc_hs_div2_clk { 1023d5f7c5aSLey Foon Tan #clock-cells = <0>; 1033d5f7c5aSLey Foon Tan compatible = "fixed-clock"; 1043d5f7c5aSLey Foon Tan }; 1053d5f7c5aSLey Foon Tan 1063d5f7c5aSLey Foon Tan cb_intosc_ls_clk: cb_intosc_ls_clk { 1073d5f7c5aSLey Foon Tan #clock-cells = <0>; 1083d5f7c5aSLey Foon Tan compatible = "fixed-clock"; 1093d5f7c5aSLey Foon Tan }; 1103d5f7c5aSLey Foon Tan 1113d5f7c5aSLey Foon Tan f2s_free_clk: f2s_free_clk { 1123d5f7c5aSLey Foon Tan #clock-cells = <0>; 1133d5f7c5aSLey Foon Tan compatible = "fixed-clock"; 1143d5f7c5aSLey Foon Tan }; 1153d5f7c5aSLey Foon Tan 1163d5f7c5aSLey Foon Tan osc1: osc1 { 1173d5f7c5aSLey Foon Tan #clock-cells = <0>; 1183d5f7c5aSLey Foon Tan compatible = "fixed-clock"; 1193d5f7c5aSLey Foon Tan }; 1203d5f7c5aSLey Foon Tan 121*cc21ed62SMarek Vasut main_pll: main_pll@40 { 1223d5f7c5aSLey Foon Tan #address-cells = <1>; 1233d5f7c5aSLey Foon Tan #size-cells = <0>; 1243d5f7c5aSLey Foon Tan #clock-cells = <0>; 1253d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-pll-clock"; 1263d5f7c5aSLey Foon Tan clocks = <&osc1>, <&cb_intosc_ls_clk>, 1273d5f7c5aSLey Foon Tan <&f2s_free_clk>; 1283d5f7c5aSLey Foon Tan reg = <0x40>; 1293d5f7c5aSLey Foon Tan 1303d5f7c5aSLey Foon Tan main_mpu_base_clk: main_mpu_base_clk { 1313d5f7c5aSLey Foon Tan #clock-cells = <0>; 1323d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1333d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1343d5f7c5aSLey Foon Tan div-reg = <0x140 0 11>; 1353d5f7c5aSLey Foon Tan }; 1363d5f7c5aSLey Foon Tan 1373d5f7c5aSLey Foon Tan main_noc_base_clk: main_noc_base_clk { 1383d5f7c5aSLey Foon Tan #clock-cells = <0>; 1393d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1403d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1413d5f7c5aSLey Foon Tan div-reg = <0x144 0 11>; 1423d5f7c5aSLey Foon Tan }; 1433d5f7c5aSLey Foon Tan 144*cc21ed62SMarek Vasut main_emaca_clk: main_emaca_clk@68 { 1453d5f7c5aSLey Foon Tan #clock-cells = <0>; 1463d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1473d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1483d5f7c5aSLey Foon Tan reg = <0x68>; 1493d5f7c5aSLey Foon Tan }; 1503d5f7c5aSLey Foon Tan 151*cc21ed62SMarek Vasut main_emacb_clk: main_emacb_clk@6c { 1523d5f7c5aSLey Foon Tan #clock-cells = <0>; 1533d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1543d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1553d5f7c5aSLey Foon Tan reg = <0x6C>; 1563d5f7c5aSLey Foon Tan }; 1573d5f7c5aSLey Foon Tan 158*cc21ed62SMarek Vasut main_emac_ptp_clk: main_emac_ptp_clk@70 { 1593d5f7c5aSLey Foon Tan #clock-cells = <0>; 1603d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1613d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1623d5f7c5aSLey Foon Tan reg = <0x70>; 1633d5f7c5aSLey Foon Tan }; 1643d5f7c5aSLey Foon Tan 165*cc21ed62SMarek Vasut main_gpio_db_clk: main_gpio_db_clk@74 { 1663d5f7c5aSLey Foon Tan #clock-cells = <0>; 1673d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1683d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1693d5f7c5aSLey Foon Tan reg = <0x74>; 1703d5f7c5aSLey Foon Tan }; 1713d5f7c5aSLey Foon Tan 172*cc21ed62SMarek Vasut main_sdmmc_clk: main_sdmmc_clk@78 { 1733d5f7c5aSLey Foon Tan #clock-cells = <0>; 174*cc21ed62SMarek Vasut compatible = "altr,socfpga-a10-perip-clk" 175*cc21ed62SMarek Vasut; 1763d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1773d5f7c5aSLey Foon Tan reg = <0x78>; 1783d5f7c5aSLey Foon Tan }; 1793d5f7c5aSLey Foon Tan 180*cc21ed62SMarek Vasut main_s2f_usr0_clk: main_s2f_usr0_clk@7c { 1813d5f7c5aSLey Foon Tan #clock-cells = <0>; 1823d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1833d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1843d5f7c5aSLey Foon Tan reg = <0x7C>; 1853d5f7c5aSLey Foon Tan }; 1863d5f7c5aSLey Foon Tan 187*cc21ed62SMarek Vasut main_s2f_usr1_clk: main_s2f_usr1_clk@80 { 1883d5f7c5aSLey Foon Tan #clock-cells = <0>; 1893d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1903d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1913d5f7c5aSLey Foon Tan reg = <0x80>; 1923d5f7c5aSLey Foon Tan }; 1933d5f7c5aSLey Foon Tan 194*cc21ed62SMarek Vasut main_hmc_pll_ref_clk: main_hmc_pll_ref_clk@84 { 1953d5f7c5aSLey Foon Tan #clock-cells = <0>; 1963d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 1973d5f7c5aSLey Foon Tan clocks = <&main_pll>; 1983d5f7c5aSLey Foon Tan reg = <0x84>; 1993d5f7c5aSLey Foon Tan }; 2003d5f7c5aSLey Foon Tan 201*cc21ed62SMarek Vasut main_periph_ref_clk: main_periph_ref_clk@9c { 2023d5f7c5aSLey Foon Tan #clock-cells = <0>; 2033d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2043d5f7c5aSLey Foon Tan clocks = <&main_pll>; 2053d5f7c5aSLey Foon Tan reg = <0x9C>; 2063d5f7c5aSLey Foon Tan }; 2073d5f7c5aSLey Foon Tan }; 2083d5f7c5aSLey Foon Tan 209*cc21ed62SMarek Vasut periph_pll: periph_pll@c0 { 2103d5f7c5aSLey Foon Tan #address-cells = <1>; 2113d5f7c5aSLey Foon Tan #size-cells = <0>; 2123d5f7c5aSLey Foon Tan #clock-cells = <0>; 2133d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-pll-clock"; 2143d5f7c5aSLey Foon Tan clocks = <&osc1>, <&cb_intosc_ls_clk>, 2153d5f7c5aSLey Foon Tan <&f2s_free_clk>, <&main_periph_ref_clk>; 2163d5f7c5aSLey Foon Tan reg = <0xC0>; 2173d5f7c5aSLey Foon Tan 2183d5f7c5aSLey Foon Tan peri_mpu_base_clk: peri_mpu_base_clk { 2193d5f7c5aSLey Foon Tan #clock-cells = <0>; 2203d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2213d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2223d5f7c5aSLey Foon Tan div-reg = <0x140 16 11>; 2233d5f7c5aSLey Foon Tan }; 2243d5f7c5aSLey Foon Tan 2253d5f7c5aSLey Foon Tan peri_noc_base_clk: peri_noc_base_clk { 2263d5f7c5aSLey Foon Tan #clock-cells = <0>; 2273d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2283d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2293d5f7c5aSLey Foon Tan div-reg = <0x144 16 11>; 2303d5f7c5aSLey Foon Tan }; 2313d5f7c5aSLey Foon Tan 232*cc21ed62SMarek Vasut peri_emaca_clk: peri_emaca_clk@e8 { 2333d5f7c5aSLey Foon Tan #clock-cells = <0>; 2343d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2353d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2363d5f7c5aSLey Foon Tan reg = <0xE8>; 2373d5f7c5aSLey Foon Tan }; 2383d5f7c5aSLey Foon Tan 239*cc21ed62SMarek Vasut peri_emacb_clk: peri_emacb_clk@ec { 2403d5f7c5aSLey Foon Tan #clock-cells = <0>; 2413d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2423d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2433d5f7c5aSLey Foon Tan reg = <0xEC>; 2443d5f7c5aSLey Foon Tan }; 2453d5f7c5aSLey Foon Tan 246*cc21ed62SMarek Vasut peri_emac_ptp_clk: peri_emac_ptp_clk@f0 { 2473d5f7c5aSLey Foon Tan #clock-cells = <0>; 2483d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2493d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2503d5f7c5aSLey Foon Tan reg = <0xF0>; 2513d5f7c5aSLey Foon Tan }; 2523d5f7c5aSLey Foon Tan 253*cc21ed62SMarek Vasut peri_gpio_db_clk: peri_gpio_db_clk@f4 { 2543d5f7c5aSLey Foon Tan #clock-cells = <0>; 2553d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2563d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2573d5f7c5aSLey Foon Tan reg = <0xF4>; 2583d5f7c5aSLey Foon Tan }; 2593d5f7c5aSLey Foon Tan 260*cc21ed62SMarek Vasut peri_sdmmc_clk: peri_sdmmc_clk@f8 { 2613d5f7c5aSLey Foon Tan #clock-cells = <0>; 2623d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2633d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2643d5f7c5aSLey Foon Tan reg = <0xF8>; 2653d5f7c5aSLey Foon Tan }; 2663d5f7c5aSLey Foon Tan 267*cc21ed62SMarek Vasut peri_s2f_usr0_clk: peri_s2f_usr0_clk@fc { 2683d5f7c5aSLey Foon Tan #clock-cells = <0>; 2693d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2703d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2713d5f7c5aSLey Foon Tan reg = <0xFC>; 2723d5f7c5aSLey Foon Tan }; 2733d5f7c5aSLey Foon Tan 274*cc21ed62SMarek Vasut peri_s2f_usr1_clk: peri_s2f_usr1_clk@100 { 2753d5f7c5aSLey Foon Tan #clock-cells = <0>; 2763d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2773d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2783d5f7c5aSLey Foon Tan reg = <0x100>; 2793d5f7c5aSLey Foon Tan }; 2803d5f7c5aSLey Foon Tan 281*cc21ed62SMarek Vasut peri_hmc_pll_ref_clk: peri_hmc_pll_ref_clk@104 { 2823d5f7c5aSLey Foon Tan #clock-cells = <0>; 2833d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2843d5f7c5aSLey Foon Tan clocks = <&periph_pll>; 2853d5f7c5aSLey Foon Tan reg = <0x104>; 2863d5f7c5aSLey Foon Tan }; 2873d5f7c5aSLey Foon Tan }; 2883d5f7c5aSLey Foon Tan 289*cc21ed62SMarek Vasut mpu_free_clk: mpu_free_clk@60 { 2903d5f7c5aSLey Foon Tan #clock-cells = <0>; 2913d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 2923d5f7c5aSLey Foon Tan clocks = <&main_mpu_base_clk>, <&peri_mpu_base_clk>, 2933d5f7c5aSLey Foon Tan <&osc1>, <&cb_intosc_hs_div2_clk>, 2943d5f7c5aSLey Foon Tan <&f2s_free_clk>; 2953d5f7c5aSLey Foon Tan reg = <0x60>; 2963d5f7c5aSLey Foon Tan }; 2973d5f7c5aSLey Foon Tan 298*cc21ed62SMarek Vasut noc_free_clk: noc_free_clk@64 { 2993d5f7c5aSLey Foon Tan #clock-cells = <0>; 3003d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3013d5f7c5aSLey Foon Tan clocks = <&main_noc_base_clk>, <&peri_noc_base_clk>, 3023d5f7c5aSLey Foon Tan <&osc1>, <&cb_intosc_hs_div2_clk>, 3033d5f7c5aSLey Foon Tan <&f2s_free_clk>; 3043d5f7c5aSLey Foon Tan reg = <0x64>; 3053d5f7c5aSLey Foon Tan }; 3063d5f7c5aSLey Foon Tan 307*cc21ed62SMarek Vasut s2f_user1_free_clk: s2f_user1_free_clk@104 { 3083d5f7c5aSLey Foon Tan #clock-cells = <0>; 3093d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3103d5f7c5aSLey Foon Tan clocks = <&main_s2f_usr1_clk>, <&peri_s2f_usr1_clk>, 3113d5f7c5aSLey Foon Tan <&osc1>, <&cb_intosc_hs_div2_clk>, 3123d5f7c5aSLey Foon Tan <&f2s_free_clk>; 3133d5f7c5aSLey Foon Tan reg = <0x104>; 3143d5f7c5aSLey Foon Tan }; 3153d5f7c5aSLey Foon Tan 316*cc21ed62SMarek Vasut sdmmc_free_clk: sdmmc_free_clk@f8 { 3173d5f7c5aSLey Foon Tan #clock-cells = <0>; 3183d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3193d5f7c5aSLey Foon Tan clocks = <&main_sdmmc_clk>, <&peri_sdmmc_clk>, 3203d5f7c5aSLey Foon Tan <&osc1>, <&cb_intosc_hs_div2_clk>, 3213d5f7c5aSLey Foon Tan <&f2s_free_clk>; 3223d5f7c5aSLey Foon Tan fixed-divider = <4>; 3233d5f7c5aSLey Foon Tan reg = <0xF8>; 3243d5f7c5aSLey Foon Tan }; 3253d5f7c5aSLey Foon Tan 3263d5f7c5aSLey Foon Tan l4_sys_free_clk: l4_sys_free_clk { 3273d5f7c5aSLey Foon Tan #clock-cells = <0>; 3283d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-perip-clk"; 3293d5f7c5aSLey Foon Tan clocks = <&noc_free_clk>; 3303d5f7c5aSLey Foon Tan fixed-divider = <4>; 3313d5f7c5aSLey Foon Tan }; 3323d5f7c5aSLey Foon Tan 3333d5f7c5aSLey Foon Tan l4_main_clk: l4_main_clk { 3343d5f7c5aSLey Foon Tan #clock-cells = <0>; 3353d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3363d5f7c5aSLey Foon Tan clocks = <&noc_free_clk>; 3373d5f7c5aSLey Foon Tan div-reg = <0xA8 0 2>; 3383d5f7c5aSLey Foon Tan clk-gate = <0x48 1>; 3393d5f7c5aSLey Foon Tan }; 3403d5f7c5aSLey Foon Tan 3413d5f7c5aSLey Foon Tan l4_mp_clk: l4_mp_clk { 3423d5f7c5aSLey Foon Tan #clock-cells = <0>; 3433d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3443d5f7c5aSLey Foon Tan clocks = <&noc_free_clk>; 3453d5f7c5aSLey Foon Tan div-reg = <0xA8 8 2>; 3463d5f7c5aSLey Foon Tan clk-gate = <0x48 2>; 3473d5f7c5aSLey Foon Tan }; 3483d5f7c5aSLey Foon Tan 3493d5f7c5aSLey Foon Tan l4_sp_clk: l4_sp_clk { 3503d5f7c5aSLey Foon Tan #clock-cells = <0>; 3513d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3523d5f7c5aSLey Foon Tan clocks = <&noc_free_clk>; 3533d5f7c5aSLey Foon Tan div-reg = <0xA8 16 2>; 3543d5f7c5aSLey Foon Tan clk-gate = <0x48 3>; 3553d5f7c5aSLey Foon Tan }; 3563d5f7c5aSLey Foon Tan 3573d5f7c5aSLey Foon Tan mpu_periph_clk: mpu_periph_clk { 3583d5f7c5aSLey Foon Tan #clock-cells = <0>; 3593d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3603d5f7c5aSLey Foon Tan clocks = <&mpu_free_clk>; 3613d5f7c5aSLey Foon Tan fixed-divider = <4>; 3623d5f7c5aSLey Foon Tan clk-gate = <0x48 0>; 3633d5f7c5aSLey Foon Tan }; 3643d5f7c5aSLey Foon Tan 3653d5f7c5aSLey Foon Tan sdmmc_clk: sdmmc_clk { 3663d5f7c5aSLey Foon Tan #clock-cells = <0>; 3673d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3683d5f7c5aSLey Foon Tan clocks = <&sdmmc_free_clk>; 3693d5f7c5aSLey Foon Tan clk-gate = <0xC8 5>; 3703d5f7c5aSLey Foon Tan clk-phase = <0 135>; 3713d5f7c5aSLey Foon Tan }; 3723d5f7c5aSLey Foon Tan 3733d5f7c5aSLey Foon Tan qspi_clk: qspi_clk { 3743d5f7c5aSLey Foon Tan #clock-cells = <0>; 3753d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3763d5f7c5aSLey Foon Tan clocks = <&l4_main_clk>; 3773d5f7c5aSLey Foon Tan clk-gate = <0xC8 11>; 3783d5f7c5aSLey Foon Tan }; 3793d5f7c5aSLey Foon Tan 3803d5f7c5aSLey Foon Tan nand_clk: nand_clk { 3813d5f7c5aSLey Foon Tan #clock-cells = <0>; 3823d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3833d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 3843d5f7c5aSLey Foon Tan clk-gate = <0xC8 10>; 3853d5f7c5aSLey Foon Tan }; 3863d5f7c5aSLey Foon Tan 3873d5f7c5aSLey Foon Tan spi_m_clk: spi_m_clk { 3883d5f7c5aSLey Foon Tan #clock-cells = <0>; 3893d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3903d5f7c5aSLey Foon Tan clocks = <&l4_main_clk>; 3913d5f7c5aSLey Foon Tan clk-gate = <0xC8 9>; 3923d5f7c5aSLey Foon Tan }; 3933d5f7c5aSLey Foon Tan 3943d5f7c5aSLey Foon Tan usb_clk: usb_clk { 3953d5f7c5aSLey Foon Tan #clock-cells = <0>; 3963d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 3973d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 3983d5f7c5aSLey Foon Tan clk-gate = <0xC8 8>; 3993d5f7c5aSLey Foon Tan }; 4003d5f7c5aSLey Foon Tan 4013d5f7c5aSLey Foon Tan s2f_usr1_clk: s2f_usr1_clk { 4023d5f7c5aSLey Foon Tan #clock-cells = <0>; 4033d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-gate-clk"; 4043d5f7c5aSLey Foon Tan clocks = <&peri_s2f_usr1_clk>; 4053d5f7c5aSLey Foon Tan clk-gate = <0xC8 6>; 4063d5f7c5aSLey Foon Tan }; 4073d5f7c5aSLey Foon Tan }; 4083d5f7c5aSLey Foon Tan }; 4093d5f7c5aSLey Foon Tan 410*cc21ed62SMarek Vasut socfpga_axi_setup: stmmac-axi-config { 411*cc21ed62SMarek Vasut snps,wr_osr_lmt = <0xf>; 412*cc21ed62SMarek Vasut snps,rd_osr_lmt = <0xf>; 413*cc21ed62SMarek Vasut snps,blen = <0 0 0 0 16 0 0>; 414*cc21ed62SMarek Vasut }; 415*cc21ed62SMarek Vasut 4163d5f7c5aSLey Foon Tan gmac0: ethernet@ff800000 { 4173d5f7c5aSLey Foon Tan compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; 4183d5f7c5aSLey Foon Tan altr,sysmgr-syscon = <&sysmgr 0x44 0>; 4193d5f7c5aSLey Foon Tan reg = <0xff800000 0x2000>; 4203d5f7c5aSLey Foon Tan interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>; 4213d5f7c5aSLey Foon Tan interrupt-names = "macirq"; 4223d5f7c5aSLey Foon Tan /* Filled in by bootloader */ 4233d5f7c5aSLey Foon Tan mac-address = [00 00 00 00 00 00]; 4243d5f7c5aSLey Foon Tan snps,multicast-filter-bins = <256>; 4253d5f7c5aSLey Foon Tan snps,perfect-filter-entries = <128>; 4263d5f7c5aSLey Foon Tan tx-fifo-depth = <4096>; 4273d5f7c5aSLey Foon Tan rx-fifo-depth = <16384>; 4283d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 4293d5f7c5aSLey Foon Tan clock-names = "stmmaceth"; 4303d5f7c5aSLey Foon Tan resets = <&rst EMAC0_RESET>; 4313d5f7c5aSLey Foon Tan reset-names = "stmmaceth"; 432*cc21ed62SMarek Vasut snps,axi-config = <&socfpga_axi_setup>; 4333d5f7c5aSLey Foon Tan status = "disabled"; 4343d5f7c5aSLey Foon Tan }; 4353d5f7c5aSLey Foon Tan 4363d5f7c5aSLey Foon Tan gmac1: ethernet@ff802000 { 4373d5f7c5aSLey Foon Tan compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; 4383d5f7c5aSLey Foon Tan altr,sysmgr-syscon = <&sysmgr 0x48 0>; 4393d5f7c5aSLey Foon Tan reg = <0xff802000 0x2000>; 4403d5f7c5aSLey Foon Tan interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>; 4413d5f7c5aSLey Foon Tan interrupt-names = "macirq"; 4423d5f7c5aSLey Foon Tan /* Filled in by bootloader */ 4433d5f7c5aSLey Foon Tan mac-address = [00 00 00 00 00 00]; 4443d5f7c5aSLey Foon Tan snps,multicast-filter-bins = <256>; 4453d5f7c5aSLey Foon Tan snps,perfect-filter-entries = <128>; 4463d5f7c5aSLey Foon Tan tx-fifo-depth = <4096>; 4473d5f7c5aSLey Foon Tan rx-fifo-depth = <16384>; 4483d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 4493d5f7c5aSLey Foon Tan clock-names = "stmmaceth"; 4503d5f7c5aSLey Foon Tan resets = <&rst EMAC1_RESET>; 4513d5f7c5aSLey Foon Tan reset-names = "stmmaceth"; 452*cc21ed62SMarek Vasut snps,axi-config = <&socfpga_axi_setup>; 4533d5f7c5aSLey Foon Tan status = "disabled"; 4543d5f7c5aSLey Foon Tan }; 4553d5f7c5aSLey Foon Tan 4563d5f7c5aSLey Foon Tan gmac2: ethernet@ff804000 { 4573d5f7c5aSLey Foon Tan compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac"; 4583d5f7c5aSLey Foon Tan altr,sysmgr-syscon = <&sysmgr 0x4C 0>; 4593d5f7c5aSLey Foon Tan reg = <0xff804000 0x2000>; 4603d5f7c5aSLey Foon Tan interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>; 4613d5f7c5aSLey Foon Tan interrupt-names = "macirq"; 4623d5f7c5aSLey Foon Tan /* Filled in by bootloader */ 4633d5f7c5aSLey Foon Tan mac-address = [00 00 00 00 00 00]; 4643d5f7c5aSLey Foon Tan snps,multicast-filter-bins = <256>; 4653d5f7c5aSLey Foon Tan snps,perfect-filter-entries = <128>; 4663d5f7c5aSLey Foon Tan tx-fifo-depth = <4096>; 4673d5f7c5aSLey Foon Tan rx-fifo-depth = <16384>; 4683d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>; 4693d5f7c5aSLey Foon Tan clock-names = "stmmaceth"; 470*cc21ed62SMarek Vasut snps,axi-config = <&socfpga_axi_setup>; 4713d5f7c5aSLey Foon Tan status = "disabled"; 4723d5f7c5aSLey Foon Tan }; 4733d5f7c5aSLey Foon Tan 4743d5f7c5aSLey Foon Tan gpio0: gpio@ffc02900 { 4753d5f7c5aSLey Foon Tan #address-cells = <1>; 4763d5f7c5aSLey Foon Tan #size-cells = <0>; 4773d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio"; 4783d5f7c5aSLey Foon Tan reg = <0xffc02900 0x100>; 4793d5f7c5aSLey Foon Tan status = "disabled"; 4803d5f7c5aSLey Foon Tan 4813d5f7c5aSLey Foon Tan porta: gpio-controller@0 { 4823d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio-port"; 483*cc21ed62SMarek Vasut bank-name = "porta"; 4843d5f7c5aSLey Foon Tan gpio-controller; 4853d5f7c5aSLey Foon Tan #gpio-cells = <2>; 4863d5f7c5aSLey Foon Tan snps,nr-gpios = <29>; 4873d5f7c5aSLey Foon Tan reg = <0>; 4883d5f7c5aSLey Foon Tan interrupt-controller; 4893d5f7c5aSLey Foon Tan #interrupt-cells = <2>; 4903d5f7c5aSLey Foon Tan interrupts = <0 112 IRQ_TYPE_LEVEL_HIGH>; 4913d5f7c5aSLey Foon Tan }; 4923d5f7c5aSLey Foon Tan }; 4933d5f7c5aSLey Foon Tan 4943d5f7c5aSLey Foon Tan gpio1: gpio@ffc02a00 { 4953d5f7c5aSLey Foon Tan #address-cells = <1>; 4963d5f7c5aSLey Foon Tan #size-cells = <0>; 4973d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio"; 4983d5f7c5aSLey Foon Tan reg = <0xffc02a00 0x100>; 4993d5f7c5aSLey Foon Tan status = "disabled"; 5003d5f7c5aSLey Foon Tan 5013d5f7c5aSLey Foon Tan portb: gpio-controller@0 { 5023d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio-port"; 503*cc21ed62SMarek Vasut bank-name = "portb"; 5043d5f7c5aSLey Foon Tan gpio-controller; 5053d5f7c5aSLey Foon Tan #gpio-cells = <2>; 5063d5f7c5aSLey Foon Tan snps,nr-gpios = <29>; 5073d5f7c5aSLey Foon Tan reg = <0>; 5083d5f7c5aSLey Foon Tan interrupt-controller; 5093d5f7c5aSLey Foon Tan #interrupt-cells = <2>; 5103d5f7c5aSLey Foon Tan interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>; 5113d5f7c5aSLey Foon Tan }; 5123d5f7c5aSLey Foon Tan }; 5133d5f7c5aSLey Foon Tan 5143d5f7c5aSLey Foon Tan gpio2: gpio@ffc02b00 { 5153d5f7c5aSLey Foon Tan #address-cells = <1>; 5163d5f7c5aSLey Foon Tan #size-cells = <0>; 5173d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio"; 5183d5f7c5aSLey Foon Tan reg = <0xffc02b00 0x100>; 5193d5f7c5aSLey Foon Tan status = "disabled"; 5203d5f7c5aSLey Foon Tan 5213d5f7c5aSLey Foon Tan portc: gpio-controller@0 { 5223d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-gpio-port"; 523*cc21ed62SMarek Vasut bank-name = "portc"; 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 593*cc21ed62SMarek Vasut spi1: spi@ffda5000 { 5943d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-ssi"; 5953d5f7c5aSLey Foon Tan #address-cells = <1>; 5963d5f7c5aSLey Foon Tan #size-cells = <0>; 597*cc21ed62SMarek Vasut reg = <0xffda5000 0x100>; 598*cc21ed62SMarek Vasut interrupts = <0 102 4>; 5993d5f7c5aSLey Foon Tan num-chipselect = <4>; 6003d5f7c5aSLey Foon Tan bus-num = <0>; 601*cc21ed62SMarek Vasut /*32bit_access;*/ 6023d5f7c5aSLey Foon Tan tx-dma-channel = <&pdma 16>; 6033d5f7c5aSLey Foon Tan rx-dma-channel = <&pdma 17>; 6043d5f7c5aSLey Foon Tan clocks = <&spi_m_clk>; 6053d5f7c5aSLey Foon Tan status = "disabled"; 6063d5f7c5aSLey Foon Tan }; 6073d5f7c5aSLey Foon Tan 608*cc21ed62SMarek Vasut sdr: sdr@ffc25000 { 609*cc21ed62SMarek Vasut compatible = "altr,sdr-ctl", "syscon"; 610*cc21ed62SMarek Vasut reg = <0xffcfb100 0x80>; 6113d5f7c5aSLey Foon Tan }; 6123d5f7c5aSLey Foon Tan 6133d5f7c5aSLey Foon Tan L2: l2-cache@fffff000 { 6143d5f7c5aSLey Foon Tan compatible = "arm,pl310-cache"; 6153d5f7c5aSLey Foon Tan reg = <0xfffff000 0x1000>; 6163d5f7c5aSLey Foon Tan interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>; 6173d5f7c5aSLey Foon Tan cache-unified; 6183d5f7c5aSLey Foon Tan cache-level = <2>; 619*cc21ed62SMarek Vasut prefetch-data = <1>; 620*cc21ed62SMarek Vasut prefetch-instr = <1>; 621*cc21ed62SMarek Vasut arm,shared-override; 6223d5f7c5aSLey Foon Tan }; 6233d5f7c5aSLey Foon Tan 6243d5f7c5aSLey Foon Tan mmc: dwmmc0@ff808000 { 6253d5f7c5aSLey Foon Tan #address-cells = <1>; 6263d5f7c5aSLey Foon Tan #size-cells = <0>; 6273d5f7c5aSLey Foon Tan compatible = "altr,socfpga-dw-mshc"; 6283d5f7c5aSLey Foon Tan reg = <0xff808000 0x1000>; 6293d5f7c5aSLey Foon Tan interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; 6303d5f7c5aSLey Foon Tan fifo-depth = <0x400>; 6313d5f7c5aSLey Foon Tan clocks = <&l4_mp_clk>, <&sdmmc_clk>; 6323d5f7c5aSLey Foon Tan clock-names = "biu", "ciu"; 6333d5f7c5aSLey Foon Tan status = "disabled"; 6343d5f7c5aSLey Foon Tan }; 6353d5f7c5aSLey Foon Tan 636*cc21ed62SMarek Vasut nand: nand@ffb90000 { 637*cc21ed62SMarek Vasut #address-cells = <1>; 638*cc21ed62SMarek Vasut #size-cells = <1>; 639*cc21ed62SMarek Vasut compatible = "denali,denali-nand-dt", "altr,socfpga-denali-nand"; 640*cc21ed62SMarek Vasut reg = <0xffb90000 0x72000>, 641*cc21ed62SMarek Vasut <0xffb80000 0x10000>; 642*cc21ed62SMarek Vasut reg-names = "nand_data", "denali_reg"; 643*cc21ed62SMarek Vasut interrupts = <0 99 4>; 644*cc21ed62SMarek Vasut dma-mask = <0xffffffff>; 645*cc21ed62SMarek Vasut clocks = <&nand_clk>; 646*cc21ed62SMarek Vasut status = "disabled"; 647*cc21ed62SMarek Vasut }; 648*cc21ed62SMarek Vasut 6493d5f7c5aSLey Foon Tan ocram: sram@ffe00000 { 6503d5f7c5aSLey Foon Tan compatible = "mmio-sram"; 6513d5f7c5aSLey Foon Tan reg = <0xffe00000 0x40000>; 6523d5f7c5aSLey Foon Tan }; 6533d5f7c5aSLey Foon Tan 654*cc21ed62SMarek Vasut eccmgr: eccmgr { 6553d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-ecc-manager"; 6563d5f7c5aSLey Foon Tan altr,sysmgr-syscon = <&sysmgr>; 6573d5f7c5aSLey Foon Tan #address-cells = <1>; 6583d5f7c5aSLey Foon Tan #size-cells = <1>; 6593d5f7c5aSLey Foon Tan interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>, 6603d5f7c5aSLey Foon Tan <0 0 IRQ_TYPE_LEVEL_HIGH>; 6613d5f7c5aSLey Foon Tan interrupt-controller; 6623d5f7c5aSLey Foon Tan #interrupt-cells = <2>; 6633d5f7c5aSLey Foon Tan ranges; 6643d5f7c5aSLey Foon Tan 6653d5f7c5aSLey Foon Tan sdramedac { 6663d5f7c5aSLey Foon Tan compatible = "altr,sdram-edac-a10"; 6673d5f7c5aSLey Foon Tan altr,sdr-syscon = <&sdr>; 6683d5f7c5aSLey Foon Tan interrupts = <17 IRQ_TYPE_LEVEL_HIGH>, 6693d5f7c5aSLey Foon Tan <49 IRQ_TYPE_LEVEL_HIGH>; 6703d5f7c5aSLey Foon Tan }; 6713d5f7c5aSLey Foon Tan 6723d5f7c5aSLey Foon Tan l2-ecc@ffd06010 { 6733d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-l2-ecc"; 6743d5f7c5aSLey Foon Tan reg = <0xffd06010 0x4>; 6753d5f7c5aSLey Foon Tan interrupts = <0 IRQ_TYPE_LEVEL_HIGH>, 6763d5f7c5aSLey Foon Tan <32 IRQ_TYPE_LEVEL_HIGH>; 6773d5f7c5aSLey Foon Tan }; 6783d5f7c5aSLey Foon Tan 6793d5f7c5aSLey Foon Tan ocram-ecc@ff8c3000 { 6803d5f7c5aSLey Foon Tan compatible = "altr,socfpga-a10-ocram-ecc"; 6813d5f7c5aSLey Foon Tan reg = <0xff8c3000 0x400>; 6823d5f7c5aSLey Foon Tan interrupts = <1 IRQ_TYPE_LEVEL_HIGH>, 6833d5f7c5aSLey Foon Tan <33 IRQ_TYPE_LEVEL_HIGH>; 6843d5f7c5aSLey Foon Tan }; 6853d5f7c5aSLey Foon Tan 6863d5f7c5aSLey Foon Tan emac0-rx-ecc@ff8c0800 { 6873d5f7c5aSLey Foon Tan compatible = "altr,socfpga-eth-mac-ecc"; 6883d5f7c5aSLey Foon Tan reg = <0xff8c0800 0x400>; 6893d5f7c5aSLey Foon Tan altr,ecc-parent = <&gmac0>; 6903d5f7c5aSLey Foon Tan interrupts = <4 IRQ_TYPE_LEVEL_HIGH>, 6913d5f7c5aSLey Foon Tan <36 IRQ_TYPE_LEVEL_HIGH>; 6923d5f7c5aSLey Foon Tan }; 6933d5f7c5aSLey Foon Tan 6943d5f7c5aSLey Foon Tan emac0-tx-ecc@ff8c0c00 { 6953d5f7c5aSLey Foon Tan compatible = "altr,socfpga-eth-mac-ecc"; 6963d5f7c5aSLey Foon Tan reg = <0xff8c0c00 0x400>; 6973d5f7c5aSLey Foon Tan altr,ecc-parent = <&gmac0>; 6983d5f7c5aSLey Foon Tan interrupts = <5 IRQ_TYPE_LEVEL_HIGH>, 6993d5f7c5aSLey Foon Tan <37 IRQ_TYPE_LEVEL_HIGH>; 7003d5f7c5aSLey Foon Tan }; 7013d5f7c5aSLey Foon Tan 7023d5f7c5aSLey Foon Tan dma-ecc@ff8c8000 { 7033d5f7c5aSLey Foon Tan compatible = "altr,socfpga-dma-ecc"; 7043d5f7c5aSLey Foon Tan reg = <0xff8c8000 0x400>; 7053d5f7c5aSLey Foon Tan altr,ecc-parent = <&pdma>; 7063d5f7c5aSLey Foon Tan interrupts = <10 IRQ_TYPE_LEVEL_HIGH>, 7073d5f7c5aSLey Foon Tan <42 IRQ_TYPE_LEVEL_HIGH>; 7083d5f7c5aSLey Foon Tan }; 7093d5f7c5aSLey Foon Tan 7103d5f7c5aSLey Foon Tan usb0-ecc@ff8c8800 { 7113d5f7c5aSLey Foon Tan compatible = "altr,socfpga-usb-ecc"; 7123d5f7c5aSLey Foon Tan reg = <0xff8c8800 0x400>; 7133d5f7c5aSLey Foon Tan altr,ecc-parent = <&usb0>; 7143d5f7c5aSLey Foon Tan interrupts = <2 IRQ_TYPE_LEVEL_HIGH>, 7153d5f7c5aSLey Foon Tan <34 IRQ_TYPE_LEVEL_HIGH>; 7163d5f7c5aSLey Foon Tan }; 7173d5f7c5aSLey Foon Tan }; 7183d5f7c5aSLey Foon Tan 719*cc21ed62SMarek Vasut qspi: spi@ff809000 { 720*cc21ed62SMarek Vasut compatible = "cdns,qspi-nor", "cadence,qspi"; 7213d5f7c5aSLey Foon Tan #address-cells = <1>; 7223d5f7c5aSLey Foon Tan #size-cells = <0>; 7233d5f7c5aSLey Foon Tan reg = <0xff809000 0x100>, 7243d5f7c5aSLey Foon Tan <0xffa00000 0x100000>; 7253d5f7c5aSLey Foon Tan interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; 7266e62b178SJason Rush cdns,fifo-depth = <128>; 7276e62b178SJason Rush cdns,fifo-width = <4>; 728*cc21ed62SMarek Vasut cdns,trigger-address = <0x00000000>; 729*cc21ed62SMarek Vasut clocks = <&qspi_clk>; 7303d5f7c5aSLey Foon Tan status = "disabled"; 7313d5f7c5aSLey Foon Tan }; 7323d5f7c5aSLey Foon Tan 7333d5f7c5aSLey Foon Tan rst: rstmgr@ffd05000 { 7343d5f7c5aSLey Foon Tan #reset-cells = <1>; 7353d5f7c5aSLey Foon Tan compatible = "altr,rst-mgr"; 7363d5f7c5aSLey Foon Tan reg = <0xffd05000 0x100>; 7373d5f7c5aSLey Foon Tan altr,modrst-offset = <0x20>; 7383d5f7c5aSLey Foon Tan }; 7393d5f7c5aSLey Foon Tan 7403d5f7c5aSLey Foon Tan scu: snoop-control-unit@ffffc000 { 7413d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9-scu"; 7423d5f7c5aSLey Foon Tan reg = <0xffffc000 0x100>; 7433d5f7c5aSLey Foon Tan }; 7443d5f7c5aSLey Foon Tan 7453d5f7c5aSLey Foon Tan sysmgr: sysmgr@ffd06000 { 7463d5f7c5aSLey Foon Tan compatible = "altr,sys-mgr", "syscon"; 7473d5f7c5aSLey Foon Tan reg = <0xffd06000 0x300>; 7483d5f7c5aSLey Foon Tan cpu1-start-addr = <0xffd06230>; 7493d5f7c5aSLey Foon Tan }; 7503d5f7c5aSLey Foon Tan 7513d5f7c5aSLey Foon Tan /* Local timer */ 7523d5f7c5aSLey Foon Tan timer@ffffc600 { 7533d5f7c5aSLey Foon Tan compatible = "arm,cortex-a9-twd-timer"; 7543d5f7c5aSLey Foon Tan reg = <0xffffc600 0x100>; 7553d5f7c5aSLey Foon Tan interrupts = <1 13 0xf04>; 7563d5f7c5aSLey Foon Tan clocks = <&mpu_periph_clk>; 7573d5f7c5aSLey Foon Tan }; 7583d5f7c5aSLey Foon Tan 7593d5f7c5aSLey Foon Tan timer0: timer0@ffc02700 { 7603d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-timer"; 7613d5f7c5aSLey Foon Tan interrupts = <0 115 IRQ_TYPE_LEVEL_HIGH>; 7623d5f7c5aSLey Foon Tan reg = <0xffc02700 0x100>; 7633d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 7643d5f7c5aSLey Foon Tan clock-names = "timer"; 7653d5f7c5aSLey Foon Tan }; 7663d5f7c5aSLey Foon Tan 7673d5f7c5aSLey Foon Tan timer1: timer1@ffc02800 { 7683d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-timer"; 7693d5f7c5aSLey Foon Tan interrupts = <0 116 IRQ_TYPE_LEVEL_HIGH>; 7703d5f7c5aSLey Foon Tan reg = <0xffc02800 0x100>; 7713d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 7723d5f7c5aSLey Foon Tan clock-names = "timer"; 7733d5f7c5aSLey Foon Tan }; 7743d5f7c5aSLey Foon Tan 7753d5f7c5aSLey Foon Tan timer2: timer2@ffd00000 { 7763d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-timer"; 7773d5f7c5aSLey Foon Tan interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH>; 7783d5f7c5aSLey Foon Tan reg = <0xffd00000 0x100>; 7793d5f7c5aSLey Foon Tan clocks = <&l4_sys_free_clk>; 7803d5f7c5aSLey Foon Tan clock-names = "timer"; 7813d5f7c5aSLey Foon Tan }; 7823d5f7c5aSLey Foon Tan 7833d5f7c5aSLey Foon Tan timer3: timer3@ffd00100 { 7843d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-timer"; 7853d5f7c5aSLey Foon Tan interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>; 7863d5f7c5aSLey Foon Tan reg = <0xffd01000 0x100>; 7873d5f7c5aSLey Foon Tan clocks = <&l4_sys_free_clk>; 7883d5f7c5aSLey Foon Tan clock-names = "timer"; 7893d5f7c5aSLey Foon Tan }; 7903d5f7c5aSLey Foon Tan 7913d5f7c5aSLey Foon Tan uart0: serial0@ffc02000 { 7923d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-uart"; 7933d5f7c5aSLey Foon Tan reg = <0xffc02000 0x100>; 7943d5f7c5aSLey Foon Tan interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>; 7953d5f7c5aSLey Foon Tan reg-shift = <2>; 7963d5f7c5aSLey Foon Tan reg-io-width = <4>; 7973d5f7c5aSLey Foon Tan clocks = <&l4_sp_clk>; 7983d5f7c5aSLey Foon Tan status = "disabled"; 7993d5f7c5aSLey Foon Tan }; 8003d5f7c5aSLey Foon Tan 8013d5f7c5aSLey Foon Tan uart1: serial1@ffc02100 { 8023d5f7c5aSLey Foon Tan compatible = "snps,dw-apb-uart"; 8033d5f7c5aSLey Foon Tan reg = <0xffc02100 0x100>; 8043d5f7c5aSLey Foon Tan interrupts = <0 111 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 811*cc21ed62SMarek Vasut usbphy0: usbphy { 8123d5f7c5aSLey Foon Tan #phy-cells = <0>; 8133d5f7c5aSLey Foon Tan compatible = "usb-nop-xceiv"; 8143d5f7c5aSLey Foon Tan status = "okay"; 8153d5f7c5aSLey Foon Tan }; 8163d5f7c5aSLey Foon Tan 8173d5f7c5aSLey Foon Tan usb0: usb@ffb00000 { 8183d5f7c5aSLey Foon Tan compatible = "snps,dwc2"; 8193d5f7c5aSLey Foon Tan reg = <0xffb00000 0xffff>; 8203d5f7c5aSLey Foon Tan interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>; 8213d5f7c5aSLey Foon Tan clocks = <&usb_clk>; 8223d5f7c5aSLey Foon Tan clock-names = "otg"; 8233d5f7c5aSLey Foon Tan resets = <&rst USB0_RESET>; 8243d5f7c5aSLey Foon Tan reset-names = "dwc2"; 8253d5f7c5aSLey Foon Tan phys = <&usbphy0>; 8263d5f7c5aSLey Foon Tan phy-names = "usb2-phy"; 8273d5f7c5aSLey Foon Tan status = "disabled"; 8283d5f7c5aSLey Foon Tan }; 8293d5f7c5aSLey Foon Tan 8303d5f7c5aSLey Foon Tan usb1: usb@ffb40000 { 8313d5f7c5aSLey Foon Tan compatible = "snps,dwc2"; 8323d5f7c5aSLey Foon Tan reg = <0xffb40000 0xffff>; 8333d5f7c5aSLey Foon Tan interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>; 8343d5f7c5aSLey Foon Tan clocks = <&usb_clk>; 8353d5f7c5aSLey Foon Tan clock-names = "otg"; 8363d5f7c5aSLey Foon Tan resets = <&rst USB1_RESET>; 8373d5f7c5aSLey Foon Tan reset-names = "dwc2"; 8383d5f7c5aSLey Foon Tan phys = <&usbphy0>; 8393d5f7c5aSLey Foon Tan phy-names = "usb2-phy"; 8403d5f7c5aSLey Foon Tan status = "disabled"; 8413d5f7c5aSLey Foon Tan }; 8423d5f7c5aSLey Foon Tan 8433d5f7c5aSLey Foon Tan watchdog0: watchdog@ffd00200 { 8443d5f7c5aSLey Foon Tan compatible = "snps,dw-wdt"; 8453d5f7c5aSLey Foon Tan reg = <0xffd00200 0x100>; 8463d5f7c5aSLey Foon Tan interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>; 8473d5f7c5aSLey Foon Tan clocks = <&l4_sys_free_clk>; 8483d5f7c5aSLey Foon Tan status = "disabled"; 8493d5f7c5aSLey Foon Tan }; 8503d5f7c5aSLey Foon Tan 8513d5f7c5aSLey Foon Tan watchdog1: watchdog@ffd00300 { 8523d5f7c5aSLey Foon Tan compatible = "snps,dw-wdt"; 8533d5f7c5aSLey Foon Tan reg = <0xffd00300 0x100>; 8543d5f7c5aSLey Foon Tan interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>; 8553d5f7c5aSLey Foon Tan clocks = <&l4_sys_free_clk>; 8563d5f7c5aSLey Foon Tan status = "disabled"; 8573d5f7c5aSLey Foon Tan }; 8583d5f7c5aSLey Foon Tan }; 8593d5f7c5aSLey Foon Tan}; 860