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