xref: /openbmc/u-boot/arch/arm/dts/socfpga_arria10.dtsi (revision c9e257a9110249afba40c4c414b7c5265b0e6dd4)
13d5f7c5aSLey Foon Tan/*
2cc21ed62SMarek 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
24cca9af63SMarek Vasut	chosen {
25cca9af63SMarek Vasut		tick-timer = &timer2;
26cca9af63SMarek Vasut		u-boot,dm-pre-reloc;
27cca9af63SMarek Vasut	};
28cca9af63SMarek Vasut
293d5f7c5aSLey Foon Tan	cpus {
303d5f7c5aSLey Foon Tan		#address-cells = <1>;
313d5f7c5aSLey Foon Tan		#size-cells = <0>;
32cc21ed62SMarek Vasut		enable-method = "altr,socfpga-a10-smp";
333d5f7c5aSLey Foon Tan
343d5f7c5aSLey Foon Tan		cpu@0 {
353d5f7c5aSLey Foon Tan			compatible = "arm,cortex-a9";
363d5f7c5aSLey Foon Tan			device_type = "cpu";
373d5f7c5aSLey Foon Tan			reg = <0>;
383d5f7c5aSLey Foon Tan			next-level-cache = <&L2>;
393d5f7c5aSLey Foon Tan		};
403d5f7c5aSLey Foon Tan		cpu@1 {
413d5f7c5aSLey Foon Tan			compatible = "arm,cortex-a9";
423d5f7c5aSLey Foon Tan			device_type = "cpu";
433d5f7c5aSLey Foon Tan			reg = <1>;
443d5f7c5aSLey Foon Tan			next-level-cache = <&L2>;
453d5f7c5aSLey Foon Tan		};
463d5f7c5aSLey Foon Tan	};
473d5f7c5aSLey Foon Tan
483d5f7c5aSLey Foon Tan	intc: intc@ffffd000 {
493d5f7c5aSLey Foon Tan		compatible = "arm,cortex-a9-gic";
503d5f7c5aSLey Foon Tan		#interrupt-cells = <3>;
513d5f7c5aSLey Foon Tan		interrupt-controller;
523d5f7c5aSLey Foon Tan		reg = <0xffffd000 0x1000>,
533d5f7c5aSLey Foon Tan		      <0xffffc100 0x100>;
543d5f7c5aSLey Foon Tan	};
553d5f7c5aSLey Foon Tan
563d5f7c5aSLey Foon Tan	soc {
573d5f7c5aSLey Foon Tan		#address-cells = <1>;
583d5f7c5aSLey Foon Tan		#size-cells = <1>;
593d5f7c5aSLey Foon Tan		compatible = "simple-bus";
603d5f7c5aSLey Foon Tan		device_type = "soc";
613d5f7c5aSLey Foon Tan		interrupt-parent = <&intc>;
623d5f7c5aSLey Foon Tan		ranges;
636f96ed7eSMarek Vasut		u-boot,dm-pre-reloc;
643d5f7c5aSLey Foon Tan
653d5f7c5aSLey Foon Tan		amba {
663d5f7c5aSLey Foon Tan			compatible = "simple-bus";
673d5f7c5aSLey Foon Tan			#address-cells = <1>;
683d5f7c5aSLey Foon Tan			#size-cells = <1>;
693d5f7c5aSLey Foon Tan			ranges;
703d5f7c5aSLey Foon Tan
713d5f7c5aSLey Foon Tan			pdma: pdma@ffda1000 {
723d5f7c5aSLey Foon Tan				compatible = "arm,pl330", "arm,primecell";
733d5f7c5aSLey Foon Tan				reg = <0xffda1000 0x1000>;
743d5f7c5aSLey Foon Tan				interrupts = <0 83 IRQ_TYPE_LEVEL_HIGH>,
753d5f7c5aSLey Foon Tan					     <0 84 IRQ_TYPE_LEVEL_HIGH>,
763d5f7c5aSLey Foon Tan					     <0 85 IRQ_TYPE_LEVEL_HIGH>,
773d5f7c5aSLey Foon Tan					     <0 86 IRQ_TYPE_LEVEL_HIGH>,
783d5f7c5aSLey Foon Tan					     <0 87 IRQ_TYPE_LEVEL_HIGH>,
793d5f7c5aSLey Foon Tan					     <0 88 IRQ_TYPE_LEVEL_HIGH>,
803d5f7c5aSLey Foon Tan					     <0 89 IRQ_TYPE_LEVEL_HIGH>,
813d5f7c5aSLey Foon Tan					     <0 90 IRQ_TYPE_LEVEL_HIGH>,
823d5f7c5aSLey Foon Tan					     <0 91 IRQ_TYPE_LEVEL_HIGH>;
833d5f7c5aSLey Foon Tan				#dma-cells = <1>;
843d5f7c5aSLey Foon Tan				#dma-channels = <8>;
853d5f7c5aSLey Foon Tan				#dma-requests = <32>;
863d5f7c5aSLey Foon Tan				clocks = <&l4_main_clk>;
873d5f7c5aSLey Foon Tan				clock-names = "apb_pclk";
883d5f7c5aSLey Foon Tan			};
893d5f7c5aSLey Foon Tan		};
903d5f7c5aSLey Foon Tan
91cc21ed62SMarek Vasut		base_fpga_region {
92cc21ed62SMarek Vasut			#address-cells = <0x1>;
93cc21ed62SMarek Vasut			#size-cells = <0x1>;
94cc21ed62SMarek Vasut
95cc21ed62SMarek Vasut			compatible = "fpga-region";
96cc21ed62SMarek Vasut			fpga-mgr = <&fpga_mgr>;
97cc21ed62SMarek Vasut		};
98cc21ed62SMarek Vasut
993d5f7c5aSLey Foon Tan		clkmgr@ffd04000 {
1003d5f7c5aSLey Foon Tan				compatible = "altr,clk-mgr";
1013d5f7c5aSLey Foon Tan				reg = <0xffd04000 0x1000>;
102ccc97432SMarek Vasut				u-boot,dm-pre-reloc;
1033d5f7c5aSLey Foon Tan
1043d5f7c5aSLey Foon Tan				clocks {
1053d5f7c5aSLey Foon Tan					#address-cells = <1>;
1063d5f7c5aSLey Foon Tan					#size-cells = <0>;
107ccc97432SMarek Vasut					u-boot,dm-pre-reloc;
1083d5f7c5aSLey Foon Tan
1093d5f7c5aSLey Foon Tan					cb_intosc_hs_div2_clk: cb_intosc_hs_div2_clk {
1103d5f7c5aSLey Foon Tan						#clock-cells = <0>;
1113d5f7c5aSLey Foon Tan						compatible = "fixed-clock";
112ccc97432SMarek Vasut						u-boot,dm-pre-reloc;
1133d5f7c5aSLey Foon Tan					};
1143d5f7c5aSLey Foon Tan
1153d5f7c5aSLey Foon Tan					cb_intosc_ls_clk: cb_intosc_ls_clk {
1163d5f7c5aSLey Foon Tan						#clock-cells = <0>;
1173d5f7c5aSLey Foon Tan						compatible = "fixed-clock";
118ccc97432SMarek Vasut						u-boot,dm-pre-reloc;
1193d5f7c5aSLey Foon Tan					};
1203d5f7c5aSLey Foon Tan
1213d5f7c5aSLey Foon Tan					f2s_free_clk: f2s_free_clk {
1223d5f7c5aSLey Foon Tan						#clock-cells = <0>;
1233d5f7c5aSLey Foon Tan						compatible = "fixed-clock";
124ccc97432SMarek Vasut						u-boot,dm-pre-reloc;
1253d5f7c5aSLey Foon Tan					};
1263d5f7c5aSLey Foon Tan
1273d5f7c5aSLey Foon Tan					osc1: osc1 {
1283d5f7c5aSLey Foon Tan						#clock-cells = <0>;
1293d5f7c5aSLey Foon Tan						compatible = "fixed-clock";
130ccc97432SMarek Vasut						u-boot,dm-pre-reloc;
1313d5f7c5aSLey Foon Tan					};
1323d5f7c5aSLey Foon Tan
133cc21ed62SMarek Vasut					main_pll: main_pll@40 {
1343d5f7c5aSLey Foon Tan						#address-cells = <1>;
1353d5f7c5aSLey Foon Tan						#size-cells = <0>;
1363d5f7c5aSLey Foon Tan						#clock-cells = <0>;
1373d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-pll-clock";
1383d5f7c5aSLey Foon Tan						clocks = <&osc1>, <&cb_intosc_ls_clk>,
1393d5f7c5aSLey Foon Tan							 <&f2s_free_clk>;
1403d5f7c5aSLey Foon Tan						reg = <0x40>;
141ccc97432SMarek Vasut						u-boot,dm-pre-reloc;
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>;
155cca9af63SMarek Vasut							u-boot,dm-pre-reloc;
1563d5f7c5aSLey Foon Tan						};
1573d5f7c5aSLey Foon Tan
158cc21ed62SMarek Vasut						main_emaca_clk: main_emaca_clk@68 {
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 = <0x68>;
1633d5f7c5aSLey Foon Tan						};
1643d5f7c5aSLey Foon Tan
165cc21ed62SMarek Vasut						main_emacb_clk: main_emacb_clk@6c {
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 = <0x6C>;
1703d5f7c5aSLey Foon Tan						};
1713d5f7c5aSLey Foon Tan
172cc21ed62SMarek Vasut						main_emac_ptp_clk: main_emac_ptp_clk@70 {
1733d5f7c5aSLey Foon Tan							#clock-cells = <0>;
1743d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
1753d5f7c5aSLey Foon Tan							clocks = <&main_pll>;
1763d5f7c5aSLey Foon Tan							reg = <0x70>;
1773d5f7c5aSLey Foon Tan						};
1783d5f7c5aSLey Foon Tan
179cc21ed62SMarek Vasut						main_gpio_db_clk: main_gpio_db_clk@74 {
1803d5f7c5aSLey Foon Tan							#clock-cells = <0>;
1813d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
1823d5f7c5aSLey Foon Tan							clocks = <&main_pll>;
1833d5f7c5aSLey Foon Tan							reg = <0x74>;
1843d5f7c5aSLey Foon Tan						};
1853d5f7c5aSLey Foon Tan
186cc21ed62SMarek Vasut						main_sdmmc_clk: main_sdmmc_clk@78 {
1873d5f7c5aSLey Foon Tan							#clock-cells = <0>;
188cc21ed62SMarek Vasut							compatible = "altr,socfpga-a10-perip-clk"
189cc21ed62SMarek Vasut;
1903d5f7c5aSLey Foon Tan							clocks = <&main_pll>;
1913d5f7c5aSLey Foon Tan							reg = <0x78>;
1923d5f7c5aSLey Foon Tan						};
1933d5f7c5aSLey Foon Tan
194cc21ed62SMarek Vasut						main_s2f_usr0_clk: main_s2f_usr0_clk@7c {
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 = <0x7C>;
1993d5f7c5aSLey Foon Tan						};
2003d5f7c5aSLey Foon Tan
201cc21ed62SMarek Vasut						main_s2f_usr1_clk: main_s2f_usr1_clk@80 {
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 = <0x80>;
2063d5f7c5aSLey Foon Tan						};
2073d5f7c5aSLey Foon Tan
208cc21ed62SMarek Vasut						main_hmc_pll_ref_clk: main_hmc_pll_ref_clk@84 {
2093d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2103d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2113d5f7c5aSLey Foon Tan							clocks = <&main_pll>;
2123d5f7c5aSLey Foon Tan							reg = <0x84>;
2133d5f7c5aSLey Foon Tan						};
2143d5f7c5aSLey Foon Tan
215cc21ed62SMarek Vasut						main_periph_ref_clk: main_periph_ref_clk@9c {
2163d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2173d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2183d5f7c5aSLey Foon Tan							clocks = <&main_pll>;
2193d5f7c5aSLey Foon Tan							reg = <0x9C>;
2203d5f7c5aSLey Foon Tan						};
2213d5f7c5aSLey Foon Tan					};
2223d5f7c5aSLey Foon Tan
223cc21ed62SMarek Vasut					periph_pll: periph_pll@c0 {
2243d5f7c5aSLey Foon Tan						#address-cells = <1>;
2253d5f7c5aSLey Foon Tan						#size-cells = <0>;
2263d5f7c5aSLey Foon Tan						#clock-cells = <0>;
2273d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-pll-clock";
2283d5f7c5aSLey Foon Tan						clocks = <&osc1>, <&cb_intosc_ls_clk>,
2293d5f7c5aSLey Foon Tan							 <&f2s_free_clk>, <&main_periph_ref_clk>;
2303d5f7c5aSLey Foon Tan						reg = <0xC0>;
231ccc97432SMarek Vasut						u-boot,dm-pre-reloc;
2323d5f7c5aSLey Foon Tan
2333d5f7c5aSLey Foon Tan						peri_mpu_base_clk: peri_mpu_base_clk {
2343d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2353d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2363d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2373d5f7c5aSLey Foon Tan							div-reg = <0x140 16 11>;
2383d5f7c5aSLey Foon Tan						};
2393d5f7c5aSLey Foon Tan
2403d5f7c5aSLey Foon Tan						peri_noc_base_clk: peri_noc_base_clk {
2413d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2423d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2433d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2443d5f7c5aSLey Foon Tan							div-reg = <0x144 16 11>;
245cca9af63SMarek Vasut							u-boot,dm-pre-reloc;
2463d5f7c5aSLey Foon Tan						};
2473d5f7c5aSLey Foon Tan
248cc21ed62SMarek Vasut						peri_emaca_clk: peri_emaca_clk@e8 {
2493d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2503d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2513d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2523d5f7c5aSLey Foon Tan							reg = <0xE8>;
2533d5f7c5aSLey Foon Tan						};
2543d5f7c5aSLey Foon Tan
255cc21ed62SMarek Vasut						peri_emacb_clk: peri_emacb_clk@ec {
2563d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2573d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2583d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2593d5f7c5aSLey Foon Tan							reg = <0xEC>;
2603d5f7c5aSLey Foon Tan						};
2613d5f7c5aSLey Foon Tan
262cc21ed62SMarek Vasut						peri_emac_ptp_clk: peri_emac_ptp_clk@f0 {
2633d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2643d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2653d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2663d5f7c5aSLey Foon Tan							reg = <0xF0>;
2673d5f7c5aSLey Foon Tan						};
2683d5f7c5aSLey Foon Tan
269cc21ed62SMarek Vasut						peri_gpio_db_clk: peri_gpio_db_clk@f4 {
2703d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2713d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2723d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2733d5f7c5aSLey Foon Tan							reg = <0xF4>;
2743d5f7c5aSLey Foon Tan						};
2753d5f7c5aSLey Foon Tan
276cc21ed62SMarek Vasut						peri_sdmmc_clk: peri_sdmmc_clk@f8 {
2773d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2783d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2793d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2803d5f7c5aSLey Foon Tan							reg = <0xF8>;
2813d5f7c5aSLey Foon Tan						};
2823d5f7c5aSLey Foon Tan
283cc21ed62SMarek Vasut						peri_s2f_usr0_clk: peri_s2f_usr0_clk@fc {
2843d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2853d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2863d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2873d5f7c5aSLey Foon Tan							reg = <0xFC>;
2883d5f7c5aSLey Foon Tan						};
2893d5f7c5aSLey Foon Tan
290cc21ed62SMarek Vasut						peri_s2f_usr1_clk: peri_s2f_usr1_clk@100 {
2913d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2923d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
2933d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
2943d5f7c5aSLey Foon Tan							reg = <0x100>;
2953d5f7c5aSLey Foon Tan						};
2963d5f7c5aSLey Foon Tan
297cc21ed62SMarek Vasut						peri_hmc_pll_ref_clk: peri_hmc_pll_ref_clk@104 {
2983d5f7c5aSLey Foon Tan							#clock-cells = <0>;
2993d5f7c5aSLey Foon Tan							compatible = "altr,socfpga-a10-perip-clk";
3003d5f7c5aSLey Foon Tan							clocks = <&periph_pll>;
3013d5f7c5aSLey Foon Tan							reg = <0x104>;
3023d5f7c5aSLey Foon Tan						};
3033d5f7c5aSLey Foon Tan					};
3043d5f7c5aSLey Foon Tan
305cc21ed62SMarek Vasut					mpu_free_clk: mpu_free_clk@60 {
3063d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3073d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-perip-clk";
3083d5f7c5aSLey Foon Tan						clocks = <&main_mpu_base_clk>, <&peri_mpu_base_clk>,
3093d5f7c5aSLey Foon Tan							 <&osc1>, <&cb_intosc_hs_div2_clk>,
3103d5f7c5aSLey Foon Tan							 <&f2s_free_clk>;
3113d5f7c5aSLey Foon Tan						reg = <0x60>;
3123d5f7c5aSLey Foon Tan					};
3133d5f7c5aSLey Foon Tan
314cc21ed62SMarek Vasut					noc_free_clk: noc_free_clk@64 {
3153d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3163d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-perip-clk";
3173d5f7c5aSLey Foon Tan						clocks = <&main_noc_base_clk>, <&peri_noc_base_clk>,
3183d5f7c5aSLey Foon Tan							 <&osc1>, <&cb_intosc_hs_div2_clk>,
3193d5f7c5aSLey Foon Tan							 <&f2s_free_clk>;
3203d5f7c5aSLey Foon Tan						reg = <0x64>;
321cca9af63SMarek Vasut						u-boot,dm-pre-reloc;
3223d5f7c5aSLey Foon Tan					};
3233d5f7c5aSLey Foon Tan
324cc21ed62SMarek Vasut					s2f_user1_free_clk: s2f_user1_free_clk@104 {
3253d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3263d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-perip-clk";
3273d5f7c5aSLey Foon Tan						clocks = <&main_s2f_usr1_clk>, <&peri_s2f_usr1_clk>,
3283d5f7c5aSLey Foon Tan							 <&osc1>, <&cb_intosc_hs_div2_clk>,
3293d5f7c5aSLey Foon Tan							 <&f2s_free_clk>;
3303d5f7c5aSLey Foon Tan						reg = <0x104>;
3313d5f7c5aSLey Foon Tan					};
3323d5f7c5aSLey Foon Tan
333cc21ed62SMarek Vasut					sdmmc_free_clk: sdmmc_free_clk@f8 {
3343d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3353d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-perip-clk";
3363d5f7c5aSLey Foon Tan						clocks = <&main_sdmmc_clk>, <&peri_sdmmc_clk>,
3373d5f7c5aSLey Foon Tan							 <&osc1>, <&cb_intosc_hs_div2_clk>,
3383d5f7c5aSLey Foon Tan							 <&f2s_free_clk>;
3393d5f7c5aSLey Foon Tan						fixed-divider = <4>;
3403d5f7c5aSLey Foon Tan						reg = <0xF8>;
3413d5f7c5aSLey Foon Tan					};
3423d5f7c5aSLey Foon Tan
3433d5f7c5aSLey Foon Tan					l4_sys_free_clk: l4_sys_free_clk {
3443d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3453d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-perip-clk";
3463d5f7c5aSLey Foon Tan						clocks = <&noc_free_clk>;
3473d5f7c5aSLey Foon Tan						fixed-divider = <4>;
348cca9af63SMarek Vasut						u-boot,dm-pre-reloc;
3493d5f7c5aSLey Foon Tan					};
3503d5f7c5aSLey Foon Tan
3513d5f7c5aSLey Foon Tan					l4_main_clk: l4_main_clk {
3523d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3533d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
3543d5f7c5aSLey Foon Tan						clocks = <&noc_free_clk>;
3553d5f7c5aSLey Foon Tan						div-reg = <0xA8 0 2>;
3563d5f7c5aSLey Foon Tan						clk-gate = <0x48 1>;
3573d5f7c5aSLey Foon Tan					};
3583d5f7c5aSLey Foon Tan
3593d5f7c5aSLey Foon Tan					l4_mp_clk: l4_mp_clk {
3603d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3613d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
3623d5f7c5aSLey Foon Tan						clocks = <&noc_free_clk>;
3633d5f7c5aSLey Foon Tan						div-reg = <0xA8 8 2>;
3643d5f7c5aSLey Foon Tan						clk-gate = <0x48 2>;
3653d5f7c5aSLey Foon Tan					};
3663d5f7c5aSLey Foon Tan
3673d5f7c5aSLey Foon Tan					l4_sp_clk: l4_sp_clk {
3683d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3693d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
3703d5f7c5aSLey Foon Tan						clocks = <&noc_free_clk>;
3713d5f7c5aSLey Foon Tan						div-reg = <0xA8 16 2>;
3723d5f7c5aSLey Foon Tan						clk-gate = <0x48 3>;
3733d5f7c5aSLey Foon Tan					};
3743d5f7c5aSLey Foon Tan
3753d5f7c5aSLey Foon Tan					mpu_periph_clk: mpu_periph_clk {
3763d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3773d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
3783d5f7c5aSLey Foon Tan						clocks = <&mpu_free_clk>;
3793d5f7c5aSLey Foon Tan						fixed-divider = <4>;
3803d5f7c5aSLey Foon Tan						clk-gate = <0x48 0>;
3813d5f7c5aSLey Foon Tan					};
3823d5f7c5aSLey Foon Tan
3833d5f7c5aSLey Foon Tan					sdmmc_clk: sdmmc_clk {
3843d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3853d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
3863d5f7c5aSLey Foon Tan						clocks = <&sdmmc_free_clk>;
3873d5f7c5aSLey Foon Tan						clk-gate = <0xC8 5>;
3883d5f7c5aSLey Foon Tan						clk-phase = <0 135>;
3893d5f7c5aSLey Foon Tan					};
3903d5f7c5aSLey Foon Tan
3913d5f7c5aSLey Foon Tan					qspi_clk: qspi_clk {
3923d5f7c5aSLey Foon Tan						#clock-cells = <0>;
3933d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
3943d5f7c5aSLey Foon Tan						clocks = <&l4_main_clk>;
3953d5f7c5aSLey Foon Tan						clk-gate = <0xC8 11>;
3963d5f7c5aSLey Foon Tan					};
3973d5f7c5aSLey Foon Tan
3983d5f7c5aSLey Foon Tan					nand_clk: nand_clk {
3993d5f7c5aSLey Foon Tan						#clock-cells = <0>;
4003d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
4013d5f7c5aSLey Foon Tan						clocks = <&l4_mp_clk>;
4023d5f7c5aSLey Foon Tan						clk-gate = <0xC8 10>;
4033d5f7c5aSLey Foon Tan					};
4043d5f7c5aSLey Foon Tan
4053d5f7c5aSLey Foon Tan					spi_m_clk: spi_m_clk {
4063d5f7c5aSLey Foon Tan						#clock-cells = <0>;
4073d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
4083d5f7c5aSLey Foon Tan						clocks = <&l4_main_clk>;
4093d5f7c5aSLey Foon Tan						clk-gate = <0xC8 9>;
4103d5f7c5aSLey Foon Tan					};
4113d5f7c5aSLey Foon Tan
4123d5f7c5aSLey Foon Tan					usb_clk: usb_clk {
4133d5f7c5aSLey Foon Tan						#clock-cells = <0>;
4143d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
4153d5f7c5aSLey Foon Tan						clocks = <&l4_mp_clk>;
4163d5f7c5aSLey Foon Tan						clk-gate = <0xC8 8>;
4173d5f7c5aSLey Foon Tan					};
4183d5f7c5aSLey Foon Tan
4193d5f7c5aSLey Foon Tan					s2f_usr1_clk: s2f_usr1_clk {
4203d5f7c5aSLey Foon Tan						#clock-cells = <0>;
4213d5f7c5aSLey Foon Tan						compatible = "altr,socfpga-a10-gate-clk";
4223d5f7c5aSLey Foon Tan						clocks = <&peri_s2f_usr1_clk>;
4233d5f7c5aSLey Foon Tan						clk-gate = <0xC8 6>;
4243d5f7c5aSLey Foon Tan					};
4253d5f7c5aSLey Foon Tan				};
4263d5f7c5aSLey Foon Tan		};
4273d5f7c5aSLey Foon Tan
428cc21ed62SMarek Vasut		socfpga_axi_setup: stmmac-axi-config {
429cc21ed62SMarek Vasut			snps,wr_osr_lmt = <0xf>;
430cc21ed62SMarek Vasut			snps,rd_osr_lmt = <0xf>;
431cc21ed62SMarek Vasut			snps,blen = <0 0 0 0 16 0 0>;
432cc21ed62SMarek Vasut		};
433cc21ed62SMarek Vasut
4343d5f7c5aSLey Foon Tan		gmac0: ethernet@ff800000 {
4353d5f7c5aSLey Foon Tan			compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac";
4363d5f7c5aSLey Foon Tan			altr,sysmgr-syscon = <&sysmgr 0x44 0>;
4373d5f7c5aSLey Foon Tan			reg = <0xff800000 0x2000>;
4383d5f7c5aSLey Foon Tan			interrupts = <0 92 IRQ_TYPE_LEVEL_HIGH>;
4393d5f7c5aSLey Foon Tan			interrupt-names = "macirq";
4403d5f7c5aSLey Foon Tan			/* Filled in by bootloader */
4413d5f7c5aSLey Foon Tan			mac-address = [00 00 00 00 00 00];
4423d5f7c5aSLey Foon Tan			snps,multicast-filter-bins = <256>;
4433d5f7c5aSLey Foon Tan			snps,perfect-filter-entries = <128>;
4443d5f7c5aSLey Foon Tan			tx-fifo-depth = <4096>;
4453d5f7c5aSLey Foon Tan			rx-fifo-depth = <16384>;
4463d5f7c5aSLey Foon Tan			clocks = <&l4_mp_clk>;
4473d5f7c5aSLey Foon Tan			clock-names = "stmmaceth";
448da61e50fSMarek Vasut			resets = <&rst EMAC0_RESET>, <&rst EMAC0_OCP_RESET>;
449da61e50fSMarek Vasut			reset-names = "stmmaceth", "stmmaceth-ocp";
450cc21ed62SMarek Vasut			snps,axi-config = <&socfpga_axi_setup>;
4513d5f7c5aSLey Foon Tan			status = "disabled";
4523d5f7c5aSLey Foon Tan		};
4533d5f7c5aSLey Foon Tan
4543d5f7c5aSLey Foon Tan		gmac1: ethernet@ff802000 {
4553d5f7c5aSLey Foon Tan			compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac";
4563d5f7c5aSLey Foon Tan			altr,sysmgr-syscon = <&sysmgr 0x48 0>;
4573d5f7c5aSLey Foon Tan		        reg = <0xff802000 0x2000>;
4583d5f7c5aSLey Foon Tan			interrupts = <0 93 IRQ_TYPE_LEVEL_HIGH>;
4593d5f7c5aSLey Foon Tan			interrupt-names = "macirq";
4603d5f7c5aSLey Foon Tan			/* Filled in by bootloader */
4613d5f7c5aSLey Foon Tan			mac-address = [00 00 00 00 00 00];
4623d5f7c5aSLey Foon Tan			snps,multicast-filter-bins = <256>;
4633d5f7c5aSLey Foon Tan			snps,perfect-filter-entries = <128>;
4643d5f7c5aSLey Foon Tan			tx-fifo-depth = <4096>;
4653d5f7c5aSLey Foon Tan			rx-fifo-depth = <16384>;
4663d5f7c5aSLey Foon Tan			clocks = <&l4_mp_clk>;
4673d5f7c5aSLey Foon Tan			clock-names = "stmmaceth";
468da61e50fSMarek Vasut			resets = <&rst EMAC1_RESET>, <&rst EMAC1_OCP_RESET>;
469da61e50fSMarek Vasut			reset-names = "stmmaceth", "stmmaceth-ocp";
470cc21ed62SMarek Vasut			snps,axi-config = <&socfpga_axi_setup>;
4713d5f7c5aSLey Foon Tan			status = "disabled";
4723d5f7c5aSLey Foon Tan		};
4733d5f7c5aSLey Foon Tan
4743d5f7c5aSLey Foon Tan		gmac2: ethernet@ff804000 {
4753d5f7c5aSLey Foon Tan			compatible = "altr,socfpga-stmmac", "snps,dwmac-3.72a", "snps,dwmac";
4763d5f7c5aSLey Foon Tan			altr,sysmgr-syscon = <&sysmgr 0x4C 0>;
4773d5f7c5aSLey Foon Tan			reg = <0xff804000 0x2000>;
4783d5f7c5aSLey Foon Tan			interrupts = <0 94 IRQ_TYPE_LEVEL_HIGH>;
4793d5f7c5aSLey Foon Tan			interrupt-names = "macirq";
4803d5f7c5aSLey Foon Tan			/* Filled in by bootloader */
4813d5f7c5aSLey Foon Tan			mac-address = [00 00 00 00 00 00];
4823d5f7c5aSLey Foon Tan			snps,multicast-filter-bins = <256>;
4833d5f7c5aSLey Foon Tan			snps,perfect-filter-entries = <128>;
4843d5f7c5aSLey Foon Tan			tx-fifo-depth = <4096>;
4853d5f7c5aSLey Foon Tan			rx-fifo-depth = <16384>;
4863d5f7c5aSLey Foon Tan			clocks = <&l4_mp_clk>;
4873d5f7c5aSLey Foon Tan			clock-names = "stmmaceth";
488da61e50fSMarek Vasut			resets = <&rst EMAC2_RESET>, <&rst EMAC2_OCP_RESET>;
489da61e50fSMarek Vasut			reset-names = "stmmaceth", "stmmaceth-ocp";
490cc21ed62SMarek Vasut			snps,axi-config = <&socfpga_axi_setup>;
4913d5f7c5aSLey Foon Tan			status = "disabled";
4923d5f7c5aSLey Foon Tan		};
4933d5f7c5aSLey Foon Tan
4943d5f7c5aSLey Foon Tan		gpio0: gpio@ffc02900 {
4953d5f7c5aSLey Foon Tan			#address-cells = <1>;
4963d5f7c5aSLey Foon Tan			#size-cells = <0>;
4973d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-gpio";
4983d5f7c5aSLey Foon Tan			reg = <0xffc02900 0x100>;
4993d5f7c5aSLey Foon Tan			status = "disabled";
5003d5f7c5aSLey Foon Tan
5013d5f7c5aSLey Foon Tan			porta: gpio-controller@0 {
5023d5f7c5aSLey Foon Tan				compatible = "snps,dw-apb-gpio-port";
503cc21ed62SMarek Vasut				bank-name = "porta";
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 112 IRQ_TYPE_LEVEL_HIGH>;
5113d5f7c5aSLey Foon Tan			};
5123d5f7c5aSLey Foon Tan		};
5133d5f7c5aSLey Foon Tan
5143d5f7c5aSLey Foon Tan		gpio1: gpio@ffc02a00 {
5153d5f7c5aSLey Foon Tan			#address-cells = <1>;
5163d5f7c5aSLey Foon Tan			#size-cells = <0>;
5173d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-gpio";
5183d5f7c5aSLey Foon Tan			reg = <0xffc02a00 0x100>;
5193d5f7c5aSLey Foon Tan			status = "disabled";
5203d5f7c5aSLey Foon Tan
5213d5f7c5aSLey Foon Tan			portb: gpio-controller@0 {
5223d5f7c5aSLey Foon Tan				compatible = "snps,dw-apb-gpio-port";
523cc21ed62SMarek Vasut				bank-name = "portb";
5243d5f7c5aSLey Foon Tan				gpio-controller;
5253d5f7c5aSLey Foon Tan				#gpio-cells = <2>;
5263d5f7c5aSLey Foon Tan				snps,nr-gpios = <29>;
5273d5f7c5aSLey Foon Tan				reg = <0>;
5283d5f7c5aSLey Foon Tan				interrupt-controller;
5293d5f7c5aSLey Foon Tan				#interrupt-cells = <2>;
5303d5f7c5aSLey Foon Tan				interrupts = <0 113 IRQ_TYPE_LEVEL_HIGH>;
5313d5f7c5aSLey Foon Tan			};
5323d5f7c5aSLey Foon Tan		};
5333d5f7c5aSLey Foon Tan
5343d5f7c5aSLey Foon Tan		gpio2: gpio@ffc02b00 {
5353d5f7c5aSLey Foon Tan			#address-cells = <1>;
5363d5f7c5aSLey Foon Tan			#size-cells = <0>;
5373d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-gpio";
5383d5f7c5aSLey Foon Tan			reg = <0xffc02b00 0x100>;
5393d5f7c5aSLey Foon Tan			status = "disabled";
5403d5f7c5aSLey Foon Tan
5413d5f7c5aSLey Foon Tan			portc: gpio-controller@0 {
5423d5f7c5aSLey Foon Tan				compatible = "snps,dw-apb-gpio-port";
543cc21ed62SMarek Vasut				bank-name = "portc";
5443d5f7c5aSLey Foon Tan				gpio-controller;
5453d5f7c5aSLey Foon Tan				#gpio-cells = <2>;
5463d5f7c5aSLey Foon Tan				snps,nr-gpios = <27>;
5473d5f7c5aSLey Foon Tan				reg = <0>;
5483d5f7c5aSLey Foon Tan				interrupt-controller;
5493d5f7c5aSLey Foon Tan				#interrupt-cells = <2>;
5503d5f7c5aSLey Foon Tan				interrupts = <0 114 IRQ_TYPE_LEVEL_HIGH>;
5513d5f7c5aSLey Foon Tan			};
5523d5f7c5aSLey Foon Tan		};
5533d5f7c5aSLey Foon Tan
5543d5f7c5aSLey Foon Tan		fpga_mgr: fpga-mgr@ffd03000 {
5553d5f7c5aSLey Foon Tan			compatible = "altr,socfpga-a10-fpga-mgr";
5563d5f7c5aSLey Foon Tan			reg = <0xffd03000 0x100
5573d5f7c5aSLey Foon Tan			       0xffcfe400 0x20>;
5583d5f7c5aSLey Foon Tan			clocks = <&l4_mp_clk>;
5593d5f7c5aSLey Foon Tan			resets = <&rst FPGAMGR_RESET>;
5603d5f7c5aSLey Foon Tan			reset-names = "fpgamgr";
5613d5f7c5aSLey Foon Tan		};
5623d5f7c5aSLey Foon Tan
5633d5f7c5aSLey Foon Tan		i2c0: i2c@ffc02200 {
5643d5f7c5aSLey Foon Tan			#address-cells = <1>;
5653d5f7c5aSLey Foon Tan			#size-cells = <0>;
5663d5f7c5aSLey Foon Tan			compatible = "snps,designware-i2c";
5673d5f7c5aSLey Foon Tan			reg = <0xffc02200 0x100>;
5683d5f7c5aSLey Foon Tan			interrupts = <0 105 IRQ_TYPE_LEVEL_HIGH>;
5693d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
5703d8685f1SMarek Vasut			resets = <&rst I2C0_RESET>;
5713d8685f1SMarek Vasut			reset-names = "i2c";
5723d5f7c5aSLey Foon Tan			status = "disabled";
5733d5f7c5aSLey Foon Tan		};
5743d5f7c5aSLey Foon Tan
5753d5f7c5aSLey Foon Tan		i2c1: i2c@ffc02300 {
5763d5f7c5aSLey Foon Tan			#address-cells = <1>;
5773d5f7c5aSLey Foon Tan			#size-cells = <0>;
5783d5f7c5aSLey Foon Tan			compatible = "snps,designware-i2c";
5793d5f7c5aSLey Foon Tan			reg = <0xffc02300 0x100>;
5803d5f7c5aSLey Foon Tan			interrupts = <0 106 IRQ_TYPE_LEVEL_HIGH>;
5813d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
5823d8685f1SMarek Vasut			resets = <&rst I2C1_RESET>;
5833d8685f1SMarek Vasut			reset-names = "i2c";
5843d5f7c5aSLey Foon Tan			status = "disabled";
5853d5f7c5aSLey Foon Tan		};
5863d5f7c5aSLey Foon Tan
5873d5f7c5aSLey Foon Tan		i2c2: i2c@ffc02400 {
5883d5f7c5aSLey Foon Tan			#address-cells = <1>;
5893d5f7c5aSLey Foon Tan			#size-cells = <0>;
5903d5f7c5aSLey Foon Tan			compatible = "snps,designware-i2c";
5913d5f7c5aSLey Foon Tan			reg = <0xffc02400 0x100>;
5923d5f7c5aSLey Foon Tan			interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
5933d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
5943d8685f1SMarek Vasut			resets = <&rst I2C2_RESET>;
5953d8685f1SMarek Vasut			reset-names = "i2c";
5963d5f7c5aSLey Foon Tan			status = "disabled";
5973d5f7c5aSLey Foon Tan		};
5983d5f7c5aSLey Foon Tan
5993d5f7c5aSLey Foon Tan		i2c3: i2c@ffc02500 {
6003d5f7c5aSLey Foon Tan			#address-cells = <1>;
6013d5f7c5aSLey Foon Tan			#size-cells = <0>;
6023d5f7c5aSLey Foon Tan			compatible = "snps,designware-i2c";
6033d5f7c5aSLey Foon Tan			reg = <0xffc02500 0x100>;
6043d5f7c5aSLey Foon Tan			interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
6053d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
6063d8685f1SMarek Vasut			resets = <&rst I2C3_RESET>;
6073d8685f1SMarek Vasut			reset-names = "i2c";
6083d5f7c5aSLey Foon Tan			status = "disabled";
6093d5f7c5aSLey Foon Tan		};
6103d5f7c5aSLey Foon Tan
6113d5f7c5aSLey Foon Tan		i2c4: i2c@ffc02600 {
6123d5f7c5aSLey Foon Tan			#address-cells = <1>;
6133d5f7c5aSLey Foon Tan			#size-cells = <0>;
6143d5f7c5aSLey Foon Tan			compatible = "snps,designware-i2c";
6153d5f7c5aSLey Foon Tan			reg = <0xffc02600 0x100>;
6163d5f7c5aSLey Foon Tan			interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH>;
6173d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
6183d8685f1SMarek Vasut			resets = <&rst I2C4_RESET>;
6193d8685f1SMarek Vasut			reset-names = "i2c";
6203d5f7c5aSLey Foon Tan			status = "disabled";
6213d5f7c5aSLey Foon Tan		};
6223d5f7c5aSLey Foon Tan
623cc21ed62SMarek Vasut		spi1: spi@ffda5000 {
6243d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-ssi";
6253d5f7c5aSLey Foon Tan			#address-cells = <1>;
6263d5f7c5aSLey Foon Tan			#size-cells = <0>;
627cc21ed62SMarek Vasut			reg = <0xffda5000 0x100>;
628cc21ed62SMarek Vasut			interrupts = <0 102 4>;
6293d5f7c5aSLey Foon Tan			num-chipselect = <4>;
6303d5f7c5aSLey Foon Tan			bus-num = <0>;
631cc21ed62SMarek Vasut			/*32bit_access;*/
6323d5f7c5aSLey Foon Tan			tx-dma-channel = <&pdma 16>;
6333d5f7c5aSLey Foon Tan			rx-dma-channel = <&pdma 17>;
6343d5f7c5aSLey Foon Tan			clocks = <&spi_m_clk>;
6353d5f7c5aSLey Foon Tan			status = "disabled";
6363d5f7c5aSLey Foon Tan		};
6373d5f7c5aSLey Foon Tan
638cc21ed62SMarek Vasut		sdr: sdr@ffc25000 {
639cc21ed62SMarek Vasut			compatible = "altr,sdr-ctl", "syscon";
640cc21ed62SMarek Vasut			reg = <0xffcfb100 0x80>;
6413d5f7c5aSLey Foon Tan		};
6423d5f7c5aSLey Foon Tan
6433d5f7c5aSLey Foon Tan		L2: l2-cache@fffff000 {
6443d5f7c5aSLey Foon Tan			compatible = "arm,pl310-cache";
6453d5f7c5aSLey Foon Tan			reg = <0xfffff000 0x1000>;
6463d5f7c5aSLey Foon Tan			interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>;
6473d5f7c5aSLey Foon Tan			cache-unified;
6483d5f7c5aSLey Foon Tan			cache-level = <2>;
649cc21ed62SMarek Vasut			prefetch-data = <1>;
650cc21ed62SMarek Vasut			prefetch-instr = <1>;
651cc21ed62SMarek Vasut			arm,shared-override;
6523d5f7c5aSLey Foon Tan		};
6533d5f7c5aSLey Foon Tan
6543d5f7c5aSLey Foon Tan		mmc: dwmmc0@ff808000 {
6553d5f7c5aSLey Foon Tan			#address-cells = <1>;
6563d5f7c5aSLey Foon Tan			#size-cells = <0>;
6573d5f7c5aSLey Foon Tan			compatible = "altr,socfpga-dw-mshc";
6583d5f7c5aSLey Foon Tan			reg = <0xff808000 0x1000>;
6593d5f7c5aSLey Foon Tan			interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>;
6603d5f7c5aSLey Foon Tan			fifo-depth = <0x400>;
6613d5f7c5aSLey Foon Tan			clocks = <&l4_mp_clk>, <&sdmmc_clk>;
6623d5f7c5aSLey Foon Tan			clock-names = "biu", "ciu";
663*70cae470STien Fong Chee			resets = <&rst SDMMC_RESET>;
6643d5f7c5aSLey Foon Tan			status = "disabled";
6653d5f7c5aSLey Foon Tan		};
6663d5f7c5aSLey Foon Tan
667cc21ed62SMarek Vasut		nand: nand@ffb90000 {
668cc21ed62SMarek Vasut			#address-cells = <1>;
669cc21ed62SMarek Vasut			#size-cells = <1>;
670cc21ed62SMarek Vasut			compatible = "denali,denali-nand-dt", "altr,socfpga-denali-nand";
67164eeb158SMarek Vasut			reg = <0xffb90000 0x20>,
67264eeb158SMarek Vasut			      <0xffb80000 0x1000>;
673cc21ed62SMarek Vasut			reg-names = "nand_data", "denali_reg";
674cc21ed62SMarek Vasut			interrupts = <0 99 4>;
675cc21ed62SMarek Vasut			dma-mask = <0xffffffff>;
676cc21ed62SMarek Vasut			clocks = <&nand_clk>;
677a029f540SMarek Vasut			resets = <&rst NAND_RESET>;
678cc21ed62SMarek Vasut			status = "disabled";
679cc21ed62SMarek Vasut		};
680cc21ed62SMarek Vasut
6813d5f7c5aSLey Foon Tan		ocram: sram@ffe00000 {
6823d5f7c5aSLey Foon Tan			compatible = "mmio-sram";
6833d5f7c5aSLey Foon Tan			reg = <0xffe00000 0x40000>;
6843d5f7c5aSLey Foon Tan		};
6853d5f7c5aSLey Foon Tan
686cc21ed62SMarek Vasut		eccmgr: eccmgr {
6873d5f7c5aSLey Foon Tan			compatible = "altr,socfpga-a10-ecc-manager";
6883d5f7c5aSLey Foon Tan			altr,sysmgr-syscon = <&sysmgr>;
6893d5f7c5aSLey Foon Tan			#address-cells = <1>;
6903d5f7c5aSLey Foon Tan			#size-cells = <1>;
6913d5f7c5aSLey Foon Tan			interrupts = <0 2 IRQ_TYPE_LEVEL_HIGH>,
6923d5f7c5aSLey Foon Tan				     <0 0 IRQ_TYPE_LEVEL_HIGH>;
6933d5f7c5aSLey Foon Tan			interrupt-controller;
6943d5f7c5aSLey Foon Tan			#interrupt-cells = <2>;
6953d5f7c5aSLey Foon Tan			ranges;
6963d5f7c5aSLey Foon Tan
6973d5f7c5aSLey Foon Tan			sdramedac {
6983d5f7c5aSLey Foon Tan				compatible = "altr,sdram-edac-a10";
6993d5f7c5aSLey Foon Tan				altr,sdr-syscon = <&sdr>;
7003d5f7c5aSLey Foon Tan				interrupts = <17 IRQ_TYPE_LEVEL_HIGH>,
7013d5f7c5aSLey Foon Tan					     <49 IRQ_TYPE_LEVEL_HIGH>;
7023d5f7c5aSLey Foon Tan			};
7033d5f7c5aSLey Foon Tan
7043d5f7c5aSLey Foon Tan			l2-ecc@ffd06010 {
7053d5f7c5aSLey Foon Tan				compatible = "altr,socfpga-a10-l2-ecc";
7063d5f7c5aSLey Foon Tan				reg = <0xffd06010 0x4>;
7073d5f7c5aSLey Foon Tan				interrupts = <0 IRQ_TYPE_LEVEL_HIGH>,
7083d5f7c5aSLey Foon Tan					     <32 IRQ_TYPE_LEVEL_HIGH>;
7093d5f7c5aSLey Foon Tan			};
7103d5f7c5aSLey Foon Tan
7113d5f7c5aSLey Foon Tan			ocram-ecc@ff8c3000 {
7123d5f7c5aSLey Foon Tan				compatible = "altr,socfpga-a10-ocram-ecc";
7133d5f7c5aSLey Foon Tan				reg = <0xff8c3000 0x400>;
7143d5f7c5aSLey Foon Tan				interrupts = <1 IRQ_TYPE_LEVEL_HIGH>,
7153d5f7c5aSLey Foon Tan					     <33 IRQ_TYPE_LEVEL_HIGH>;
7163d5f7c5aSLey Foon Tan			};
7173d5f7c5aSLey Foon Tan
7183d5f7c5aSLey Foon Tan			emac0-rx-ecc@ff8c0800 {
7193d5f7c5aSLey Foon Tan				compatible = "altr,socfpga-eth-mac-ecc";
7203d5f7c5aSLey Foon Tan				reg = <0xff8c0800 0x400>;
7213d5f7c5aSLey Foon Tan				altr,ecc-parent = <&gmac0>;
7223d5f7c5aSLey Foon Tan				interrupts = <4 IRQ_TYPE_LEVEL_HIGH>,
7233d5f7c5aSLey Foon Tan					     <36 IRQ_TYPE_LEVEL_HIGH>;
7243d5f7c5aSLey Foon Tan			};
7253d5f7c5aSLey Foon Tan
7263d5f7c5aSLey Foon Tan			emac0-tx-ecc@ff8c0c00 {
7273d5f7c5aSLey Foon Tan				compatible = "altr,socfpga-eth-mac-ecc";
7283d5f7c5aSLey Foon Tan				reg = <0xff8c0c00 0x400>;
7293d5f7c5aSLey Foon Tan				altr,ecc-parent = <&gmac0>;
7303d5f7c5aSLey Foon Tan				interrupts = <5 IRQ_TYPE_LEVEL_HIGH>,
7313d5f7c5aSLey Foon Tan					     <37 IRQ_TYPE_LEVEL_HIGH>;
7323d5f7c5aSLey Foon Tan			};
7333d5f7c5aSLey Foon Tan
7343d5f7c5aSLey Foon Tan			dma-ecc@ff8c8000 {
7353d5f7c5aSLey Foon Tan				compatible = "altr,socfpga-dma-ecc";
7363d5f7c5aSLey Foon Tan				reg = <0xff8c8000 0x400>;
7373d5f7c5aSLey Foon Tan				altr,ecc-parent = <&pdma>;
7383d5f7c5aSLey Foon Tan				interrupts = <10 IRQ_TYPE_LEVEL_HIGH>,
7393d5f7c5aSLey Foon Tan					     <42 IRQ_TYPE_LEVEL_HIGH>;
7403d5f7c5aSLey Foon Tan			};
7413d5f7c5aSLey Foon Tan
7423d5f7c5aSLey Foon Tan			usb0-ecc@ff8c8800 {
7433d5f7c5aSLey Foon Tan				compatible = "altr,socfpga-usb-ecc";
7443d5f7c5aSLey Foon Tan				reg = <0xff8c8800 0x400>;
7453d5f7c5aSLey Foon Tan				altr,ecc-parent = <&usb0>;
7463d5f7c5aSLey Foon Tan				interrupts = <2 IRQ_TYPE_LEVEL_HIGH>,
7473d5f7c5aSLey Foon Tan					     <34 IRQ_TYPE_LEVEL_HIGH>;
7483d5f7c5aSLey Foon Tan			};
7493d5f7c5aSLey Foon Tan		};
7503d5f7c5aSLey Foon Tan
751cc21ed62SMarek Vasut		qspi: spi@ff809000 {
7522a3a9993SSimon Goldschmidt			compatible = "cdns,qspi-nor";
7533d5f7c5aSLey Foon Tan			#address-cells = <1>;
7543d5f7c5aSLey Foon Tan			#size-cells = <0>;
7553d5f7c5aSLey Foon Tan			reg = <0xff809000 0x100>,
7563d5f7c5aSLey Foon Tan			      <0xffa00000 0x100000>;
7573d5f7c5aSLey Foon Tan			interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>;
7586e62b178SJason Rush			cdns,fifo-depth = <128>;
7596e62b178SJason Rush			cdns,fifo-width = <4>;
760cc21ed62SMarek Vasut			cdns,trigger-address = <0x00000000>;
761cc21ed62SMarek Vasut			clocks = <&qspi_clk>;
7623d5f7c5aSLey Foon Tan			status = "disabled";
7633d5f7c5aSLey Foon Tan		};
7643d5f7c5aSLey Foon Tan
7653d5f7c5aSLey Foon Tan		rst: rstmgr@ffd05000 {
7663d5f7c5aSLey Foon Tan			#reset-cells = <1>;
7673d5f7c5aSLey Foon Tan			compatible = "altr,rst-mgr";
7683d5f7c5aSLey Foon Tan			reg = <0xffd05000 0x100>;
7693d5f7c5aSLey Foon Tan			altr,modrst-offset = <0x20>;
7706f96ed7eSMarek Vasut			u-boot,dm-pre-reloc;
7713d5f7c5aSLey Foon Tan		};
7723d5f7c5aSLey Foon Tan
7733d5f7c5aSLey Foon Tan		scu: snoop-control-unit@ffffc000 {
7743d5f7c5aSLey Foon Tan			compatible = "arm,cortex-a9-scu";
7753d5f7c5aSLey Foon Tan			reg = <0xffffc000 0x100>;
7763d5f7c5aSLey Foon Tan		};
7773d5f7c5aSLey Foon Tan
7783d5f7c5aSLey Foon Tan		sysmgr: sysmgr@ffd06000 {
7793d5f7c5aSLey Foon Tan			compatible = "altr,sys-mgr", "syscon";
7803d5f7c5aSLey Foon Tan			reg = <0xffd06000 0x300>;
7813d5f7c5aSLey Foon Tan			cpu1-start-addr = <0xffd06230>;
7823d5f7c5aSLey Foon Tan		};
7833d5f7c5aSLey Foon Tan
7843d5f7c5aSLey Foon Tan		/* Local timer */
7853d5f7c5aSLey Foon Tan		timer@ffffc600 {
7863d5f7c5aSLey Foon Tan			compatible = "arm,cortex-a9-twd-timer";
7873d5f7c5aSLey Foon Tan			reg = <0xffffc600 0x100>;
7883d5f7c5aSLey Foon Tan			interrupts = <1 13 0xf04>;
7893d5f7c5aSLey Foon Tan			clocks = <&mpu_periph_clk>;
7903d5f7c5aSLey Foon Tan		};
7913d5f7c5aSLey Foon Tan
7923d5f7c5aSLey Foon Tan		timer0: timer0@ffc02700 {
7933d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-timer";
7943d5f7c5aSLey Foon Tan			interrupts = <0 115 IRQ_TYPE_LEVEL_HIGH>;
7953d5f7c5aSLey Foon Tan			reg = <0xffc02700 0x100>;
7963d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
7973d5f7c5aSLey Foon Tan			clock-names = "timer";
7983d5f7c5aSLey Foon Tan		};
7993d5f7c5aSLey Foon Tan
8003d5f7c5aSLey Foon Tan		timer1: timer1@ffc02800 {
8013d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-timer";
8023d5f7c5aSLey Foon Tan			interrupts = <0 116 IRQ_TYPE_LEVEL_HIGH>;
8033d5f7c5aSLey Foon Tan			reg = <0xffc02800 0x100>;
8043d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
8053d5f7c5aSLey Foon Tan			clock-names = "timer";
8063d5f7c5aSLey Foon Tan		};
8073d5f7c5aSLey Foon Tan
8083d5f7c5aSLey Foon Tan		timer2: timer2@ffd00000 {
8093d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-timer";
8103d5f7c5aSLey Foon Tan			interrupts = <0 117 IRQ_TYPE_LEVEL_HIGH>;
8113d5f7c5aSLey Foon Tan			reg = <0xffd00000 0x100>;
8123d5f7c5aSLey Foon Tan			clocks = <&l4_sys_free_clk>;
8133d5f7c5aSLey Foon Tan			clock-names = "timer";
814cca9af63SMarek Vasut			u-boot,dm-pre-reloc;
8153d5f7c5aSLey Foon Tan		};
8163d5f7c5aSLey Foon Tan
8173d5f7c5aSLey Foon Tan		timer3: timer3@ffd00100 {
8183d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-timer";
8193d5f7c5aSLey Foon Tan			interrupts = <0 118 IRQ_TYPE_LEVEL_HIGH>;
8203d5f7c5aSLey Foon Tan			reg = <0xffd01000 0x100>;
8213d5f7c5aSLey Foon Tan			clocks = <&l4_sys_free_clk>;
8223d5f7c5aSLey Foon Tan			clock-names = "timer";
8233d5f7c5aSLey Foon Tan		};
8243d5f7c5aSLey Foon Tan
8253d5f7c5aSLey Foon Tan		uart0: serial0@ffc02000 {
8263d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-uart";
8273d5f7c5aSLey Foon Tan			reg = <0xffc02000 0x100>;
8283d5f7c5aSLey Foon Tan			interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH>;
8293d5f7c5aSLey Foon Tan			reg-shift = <2>;
8303d5f7c5aSLey Foon Tan			reg-io-width = <4>;
8313d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
832f5775e69SMarek Vasut			resets = <&rst UART0_RESET>;
8333d5f7c5aSLey Foon Tan			status = "disabled";
8343d5f7c5aSLey Foon Tan		};
8353d5f7c5aSLey Foon Tan
8363d5f7c5aSLey Foon Tan		uart1: serial1@ffc02100 {
8373d5f7c5aSLey Foon Tan			compatible = "snps,dw-apb-uart";
8383d5f7c5aSLey Foon Tan			reg = <0xffc02100 0x100>;
8393d5f7c5aSLey Foon Tan			interrupts = <0 111 IRQ_TYPE_LEVEL_HIGH>;
8403d5f7c5aSLey Foon Tan			reg-shift = <2>;
8413d5f7c5aSLey Foon Tan			reg-io-width = <4>;
8423d5f7c5aSLey Foon Tan			clocks = <&l4_sp_clk>;
843f5775e69SMarek Vasut			resets = <&rst UART1_RESET>;
8443d5f7c5aSLey Foon Tan			status = "disabled";
8453d5f7c5aSLey Foon Tan		};
8463d5f7c5aSLey Foon Tan
847cc21ed62SMarek Vasut		usbphy0: usbphy {
8483d5f7c5aSLey Foon Tan			#phy-cells = <0>;
8493d5f7c5aSLey Foon Tan			compatible = "usb-nop-xceiv";
8503d5f7c5aSLey Foon Tan			status = "okay";
8513d5f7c5aSLey Foon Tan		};
8523d5f7c5aSLey Foon Tan
8533d5f7c5aSLey Foon Tan		usb0: usb@ffb00000 {
8543d5f7c5aSLey Foon Tan			compatible = "snps,dwc2";
8553d5f7c5aSLey Foon Tan			reg = <0xffb00000 0xffff>;
8563d5f7c5aSLey Foon Tan			interrupts = <0 95 IRQ_TYPE_LEVEL_HIGH>;
8573d5f7c5aSLey Foon Tan			clocks = <&usb_clk>;
8583d5f7c5aSLey Foon Tan			clock-names = "otg";
8593d5f7c5aSLey Foon Tan			resets = <&rst USB0_RESET>;
8603d5f7c5aSLey Foon Tan			reset-names = "dwc2";
8613d5f7c5aSLey Foon Tan			phys = <&usbphy0>;
8623d5f7c5aSLey Foon Tan			phy-names = "usb2-phy";
8633d5f7c5aSLey Foon Tan			status = "disabled";
8643d5f7c5aSLey Foon Tan		};
8653d5f7c5aSLey Foon Tan
8663d5f7c5aSLey Foon Tan		usb1: usb@ffb40000 {
8673d5f7c5aSLey Foon Tan			compatible = "snps,dwc2";
8683d5f7c5aSLey Foon Tan			reg = <0xffb40000 0xffff>;
8693d5f7c5aSLey Foon Tan			interrupts = <0 96 IRQ_TYPE_LEVEL_HIGH>;
8703d5f7c5aSLey Foon Tan			clocks = <&usb_clk>;
8713d5f7c5aSLey Foon Tan			clock-names = "otg";
8723d5f7c5aSLey Foon Tan			resets = <&rst USB1_RESET>;
8733d5f7c5aSLey Foon Tan			reset-names = "dwc2";
8743d5f7c5aSLey Foon Tan			phys = <&usbphy0>;
8753d5f7c5aSLey Foon Tan			phy-names = "usb2-phy";
8763d5f7c5aSLey Foon Tan			status = "disabled";
8773d5f7c5aSLey Foon Tan		};
8783d5f7c5aSLey Foon Tan
8793d5f7c5aSLey Foon Tan		watchdog0: watchdog@ffd00200 {
8803d5f7c5aSLey Foon Tan			compatible = "snps,dw-wdt";
8813d5f7c5aSLey Foon Tan			reg = <0xffd00200 0x100>;
8823d5f7c5aSLey Foon Tan			interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>;
8833d5f7c5aSLey Foon Tan			clocks = <&l4_sys_free_clk>;
8843d5f7c5aSLey Foon Tan			status = "disabled";
8853d5f7c5aSLey Foon Tan		};
8863d5f7c5aSLey Foon Tan
8873d5f7c5aSLey Foon Tan		watchdog1: watchdog@ffd00300 {
8883d5f7c5aSLey Foon Tan			compatible = "snps,dw-wdt";
8893d5f7c5aSLey Foon Tan			reg = <0xffd00300 0x100>;
8903d5f7c5aSLey Foon Tan			interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
8913d5f7c5aSLey Foon Tan			clocks = <&l4_sys_free_clk>;
8923d5f7c5aSLey Foon Tan			status = "disabled";
8933d5f7c5aSLey Foon Tan		};
8943d5f7c5aSLey Foon Tan	};
8953d5f7c5aSLey Foon Tan};
896