xref: /openbmc/u-boot/arch/arm/dts/socfpga_arria10.dtsi (revision cc21ed62f9160d07b4f7c7c590b99c53b3c3a7c3)
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