xref: /openbmc/u-boot/arch/arm/dts/socfpga.dtsi (revision 6d4a3ff2649faa2cf2739e332557f256cc34831e)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
251c580c6SStefan Roese/*
351c580c6SStefan Roese * Copyright (C) 2012 Altera <www.altera.com>
451c580c6SStefan Roese */
551c580c6SStefan Roese
651c580c6SStefan Roese#include <dt-bindings/reset/altr,rst-mgr.h>
751c580c6SStefan Roese
851c580c6SStefan Roese/ {
951c580c6SStefan Roese	#address-cells = <1>;
1051c580c6SStefan Roese	#size-cells = <1>;
1151c580c6SStefan Roese
1251c580c6SStefan Roese	aliases {
1351c580c6SStefan Roese		serial0 = &uart0;
1451c580c6SStefan Roese		serial1 = &uart1;
1551c580c6SStefan Roese		timer0 = &timer0;
1651c580c6SStefan Roese		timer1 = &timer1;
1751c580c6SStefan Roese		timer2 = &timer2;
1851c580c6SStefan Roese		timer3 = &timer3;
1951c580c6SStefan Roese	};
2051c580c6SStefan Roese
2151c580c6SStefan Roese	cpus {
2251c580c6SStefan Roese		#address-cells = <1>;
2351c580c6SStefan Roese		#size-cells = <0>;
24*c402e817SSimon Goldschmidt		enable-method = "altr,socfpga-smp";
2551c580c6SStefan Roese
26*c402e817SSimon Goldschmidt		cpu0: cpu@0 {
2751c580c6SStefan Roese			compatible = "arm,cortex-a9";
2851c580c6SStefan Roese			device_type = "cpu";
2951c580c6SStefan Roese			reg = <0>;
3051c580c6SStefan Roese			next-level-cache = <&L2>;
3151c580c6SStefan Roese		};
32*c402e817SSimon Goldschmidt		cpu1: cpu@1 {
3351c580c6SStefan Roese			compatible = "arm,cortex-a9";
3451c580c6SStefan Roese			device_type = "cpu";
3551c580c6SStefan Roese			reg = <1>;
3651c580c6SStefan Roese			next-level-cache = <&L2>;
3751c580c6SStefan Roese		};
3851c580c6SStefan Roese	};
3951c580c6SStefan Roese
40*c402e817SSimon Goldschmidt	pmu: pmu@ff111000 {
41*c402e817SSimon Goldschmidt		compatible = "arm,cortex-a9-pmu";
42*c402e817SSimon Goldschmidt		interrupt-parent = <&intc>;
43*c402e817SSimon Goldschmidt		interrupts = <0 176 4>, <0 177 4>;
44*c402e817SSimon Goldschmidt		interrupt-affinity = <&cpu0>, <&cpu1>;
45*c402e817SSimon Goldschmidt		reg = <0xff111000 0x1000>,
46*c402e817SSimon Goldschmidt		      <0xff113000 0x1000>;
47*c402e817SSimon Goldschmidt	};
48*c402e817SSimon Goldschmidt
4951c580c6SStefan Roese	intc: intc@fffed000 {
5051c580c6SStefan Roese		compatible = "arm,cortex-a9-gic";
5151c580c6SStefan Roese		#interrupt-cells = <3>;
5251c580c6SStefan Roese		interrupt-controller;
5351c580c6SStefan Roese		reg = <0xfffed000 0x1000>,
5451c580c6SStefan Roese		      <0xfffec100 0x100>;
5551c580c6SStefan Roese	};
5651c580c6SStefan Roese
5751c580c6SStefan Roese	soc {
5851c580c6SStefan Roese		#address-cells = <1>;
5951c580c6SStefan Roese		#size-cells = <1>;
6051c580c6SStefan Roese		compatible = "simple-bus";
6151c580c6SStefan Roese		device_type = "soc";
6251c580c6SStefan Roese		interrupt-parent = <&intc>;
6351c580c6SStefan Roese		ranges;
6451c580c6SStefan Roese
6551c580c6SStefan Roese		amba {
66*c402e817SSimon Goldschmidt			compatible = "simple-bus";
6751c580c6SStefan Roese			#address-cells = <1>;
6851c580c6SStefan Roese			#size-cells = <1>;
6951c580c6SStefan Roese			ranges;
7051c580c6SStefan Roese
7151c580c6SStefan Roese			pdma: pdma@ffe01000 {
7251c580c6SStefan Roese				compatible = "arm,pl330", "arm,primecell";
7351c580c6SStefan Roese				reg = <0xffe01000 0x1000>;
7451c580c6SStefan Roese				interrupts = <0 104 4>,
7551c580c6SStefan Roese					     <0 105 4>,
7651c580c6SStefan Roese					     <0 106 4>,
7751c580c6SStefan Roese					     <0 107 4>,
7851c580c6SStefan Roese					     <0 108 4>,
7951c580c6SStefan Roese					     <0 109 4>,
8051c580c6SStefan Roese					     <0 110 4>,
8151c580c6SStefan Roese					     <0 111 4>;
8251c580c6SStefan Roese				#dma-cells = <1>;
8351c580c6SStefan Roese				#dma-channels = <8>;
8451c580c6SStefan Roese				#dma-requests = <32>;
8551c580c6SStefan Roese				clocks = <&l4_main_clk>;
8651c580c6SStefan Roese				clock-names = "apb_pclk";
8751c580c6SStefan Roese			};
8851c580c6SStefan Roese		};
8951c580c6SStefan Roese
90*c402e817SSimon Goldschmidt		base_fpga_region {
91*c402e817SSimon Goldschmidt			compatible = "fpga-region";
92*c402e817SSimon Goldschmidt			fpga-mgr = <&fpgamgr0>;
93*c402e817SSimon Goldschmidt
94*c402e817SSimon Goldschmidt			#address-cells = <0x1>;
95*c402e817SSimon Goldschmidt			#size-cells = <0x1>;
96*c402e817SSimon Goldschmidt		};
97*c402e817SSimon Goldschmidt
9851c580c6SStefan Roese		can0: can@ffc00000 {
9951c580c6SStefan Roese			compatible = "bosch,d_can";
10051c580c6SStefan Roese			reg = <0xffc00000 0x1000>;
10151c580c6SStefan Roese			interrupts = <0 131 4>, <0 132 4>, <0 133 4>, <0 134 4>;
10251c580c6SStefan Roese			clocks = <&can0_clk>;
10351c580c6SStefan Roese			status = "disabled";
10451c580c6SStefan Roese		};
10551c580c6SStefan Roese
10651c580c6SStefan Roese		can1: can@ffc01000 {
10751c580c6SStefan Roese			compatible = "bosch,d_can";
10851c580c6SStefan Roese			reg = <0xffc01000 0x1000>;
10951c580c6SStefan Roese			interrupts = <0 135 4>, <0 136 4>, <0 137 4>, <0 138 4>;
11051c580c6SStefan Roese			clocks = <&can1_clk>;
11151c580c6SStefan Roese			status = "disabled";
11251c580c6SStefan Roese		};
11351c580c6SStefan Roese
11451c580c6SStefan Roese		clkmgr@ffd04000 {
11551c580c6SStefan Roese				compatible = "altr,clk-mgr";
11651c580c6SStefan Roese				reg = <0xffd04000 0x1000>;
11751c580c6SStefan Roese
11851c580c6SStefan Roese				clocks {
11951c580c6SStefan Roese					#address-cells = <1>;
12051c580c6SStefan Roese					#size-cells = <0>;
12151c580c6SStefan Roese
12251c580c6SStefan Roese					osc1: osc1 {
12351c580c6SStefan Roese						#clock-cells = <0>;
12451c580c6SStefan Roese						compatible = "fixed-clock";
12551c580c6SStefan Roese					};
12651c580c6SStefan Roese
12751c580c6SStefan Roese					osc2: osc2 {
12851c580c6SStefan Roese						#clock-cells = <0>;
12951c580c6SStefan Roese						compatible = "fixed-clock";
13051c580c6SStefan Roese					};
13151c580c6SStefan Roese
13251c580c6SStefan Roese					f2s_periph_ref_clk: f2s_periph_ref_clk {
13351c580c6SStefan Roese						#clock-cells = <0>;
13451c580c6SStefan Roese						compatible = "fixed-clock";
13551c580c6SStefan Roese					};
13651c580c6SStefan Roese
13751c580c6SStefan Roese					f2s_sdram_ref_clk: f2s_sdram_ref_clk {
13851c580c6SStefan Roese						#clock-cells = <0>;
13951c580c6SStefan Roese						compatible = "fixed-clock";
14051c580c6SStefan Roese					};
14151c580c6SStefan Roese
142*c402e817SSimon Goldschmidt					main_pll: main_pll@40 {
14351c580c6SStefan Roese						#address-cells = <1>;
14451c580c6SStefan Roese						#size-cells = <0>;
14551c580c6SStefan Roese						#clock-cells = <0>;
14651c580c6SStefan Roese						compatible = "altr,socfpga-pll-clock";
14751c580c6SStefan Roese						clocks = <&osc1>;
14851c580c6SStefan Roese						reg = <0x40>;
14951c580c6SStefan Roese
150*c402e817SSimon Goldschmidt						mpuclk: mpuclk@48 {
15151c580c6SStefan Roese							#clock-cells = <0>;
15251c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
15351c580c6SStefan Roese							clocks = <&main_pll>;
15451c580c6SStefan Roese							div-reg = <0xe0 0 9>;
15551c580c6SStefan Roese							reg = <0x48>;
15651c580c6SStefan Roese						};
15751c580c6SStefan Roese
158*c402e817SSimon Goldschmidt						mainclk: mainclk@4c {
15951c580c6SStefan Roese							#clock-cells = <0>;
16051c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
16151c580c6SStefan Roese							clocks = <&main_pll>;
16251c580c6SStefan Roese							div-reg = <0xe4 0 9>;
16351c580c6SStefan Roese							reg = <0x4C>;
16451c580c6SStefan Roese						};
16551c580c6SStefan Roese
166*c402e817SSimon Goldschmidt						dbg_base_clk: dbg_base_clk@50 {
16751c580c6SStefan Roese							#clock-cells = <0>;
16851c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
169*c402e817SSimon Goldschmidt							clocks = <&main_pll>, <&osc1>;
17051c580c6SStefan Roese							div-reg = <0xe8 0 9>;
17151c580c6SStefan Roese							reg = <0x50>;
17251c580c6SStefan Roese						};
17351c580c6SStefan Roese
174*c402e817SSimon Goldschmidt						main_qspi_clk: main_qspi_clk@54 {
17551c580c6SStefan Roese							#clock-cells = <0>;
17651c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
17751c580c6SStefan Roese							clocks = <&main_pll>;
17851c580c6SStefan Roese							reg = <0x54>;
17951c580c6SStefan Roese						};
18051c580c6SStefan Roese
181*c402e817SSimon Goldschmidt						main_nand_sdmmc_clk: main_nand_sdmmc_clk@58 {
18251c580c6SStefan Roese							#clock-cells = <0>;
18351c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
18451c580c6SStefan Roese							clocks = <&main_pll>;
18551c580c6SStefan Roese							reg = <0x58>;
18651c580c6SStefan Roese						};
18751c580c6SStefan Roese
188*c402e817SSimon Goldschmidt						cfg_h2f_usr0_clk: cfg_h2f_usr0_clk@5c {
18951c580c6SStefan Roese							#clock-cells = <0>;
19051c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
19151c580c6SStefan Roese							clocks = <&main_pll>;
19251c580c6SStefan Roese							reg = <0x5C>;
19351c580c6SStefan Roese						};
19451c580c6SStefan Roese					};
19551c580c6SStefan Roese
196*c402e817SSimon Goldschmidt					periph_pll: periph_pll@80 {
19751c580c6SStefan Roese						#address-cells = <1>;
19851c580c6SStefan Roese						#size-cells = <0>;
19951c580c6SStefan Roese						#clock-cells = <0>;
20051c580c6SStefan Roese						compatible = "altr,socfpga-pll-clock";
20151c580c6SStefan Roese						clocks = <&osc1>, <&osc2>, <&f2s_periph_ref_clk>;
20251c580c6SStefan Roese						reg = <0x80>;
20351c580c6SStefan Roese
204*c402e817SSimon Goldschmidt						emac0_clk: emac0_clk@88 {
20551c580c6SStefan Roese							#clock-cells = <0>;
20651c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
20751c580c6SStefan Roese							clocks = <&periph_pll>;
20851c580c6SStefan Roese							reg = <0x88>;
20951c580c6SStefan Roese						};
21051c580c6SStefan Roese
211*c402e817SSimon Goldschmidt						emac1_clk: emac1_clk@8c {
21251c580c6SStefan Roese							#clock-cells = <0>;
21351c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
21451c580c6SStefan Roese							clocks = <&periph_pll>;
21551c580c6SStefan Roese							reg = <0x8C>;
21651c580c6SStefan Roese						};
21751c580c6SStefan Roese
218*c402e817SSimon Goldschmidt						per_qspi_clk: per_qsi_clk@90 {
21951c580c6SStefan Roese							#clock-cells = <0>;
22051c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
22151c580c6SStefan Roese							clocks = <&periph_pll>;
22251c580c6SStefan Roese							reg = <0x90>;
22351c580c6SStefan Roese						};
22451c580c6SStefan Roese
225*c402e817SSimon Goldschmidt						per_nand_mmc_clk: per_nand_mmc_clk@94 {
22651c580c6SStefan Roese							#clock-cells = <0>;
22751c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
22851c580c6SStefan Roese							clocks = <&periph_pll>;
22951c580c6SStefan Roese							reg = <0x94>;
23051c580c6SStefan Roese						};
23151c580c6SStefan Roese
232*c402e817SSimon Goldschmidt						per_base_clk: per_base_clk@98 {
23351c580c6SStefan Roese							#clock-cells = <0>;
23451c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
23551c580c6SStefan Roese							clocks = <&periph_pll>;
23651c580c6SStefan Roese							reg = <0x98>;
23751c580c6SStefan Roese						};
23851c580c6SStefan Roese
239*c402e817SSimon Goldschmidt						h2f_usr1_clk: h2f_usr1_clk@9c {
24051c580c6SStefan Roese							#clock-cells = <0>;
24151c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
24251c580c6SStefan Roese							clocks = <&periph_pll>;
24351c580c6SStefan Roese							reg = <0x9C>;
24451c580c6SStefan Roese						};
24551c580c6SStefan Roese					};
24651c580c6SStefan Roese
247*c402e817SSimon Goldschmidt					sdram_pll: sdram_pll@c0 {
24851c580c6SStefan Roese						#address-cells = <1>;
24951c580c6SStefan Roese						#size-cells = <0>;
25051c580c6SStefan Roese						#clock-cells = <0>;
25151c580c6SStefan Roese						compatible = "altr,socfpga-pll-clock";
25251c580c6SStefan Roese						clocks = <&osc1>, <&osc2>, <&f2s_sdram_ref_clk>;
25351c580c6SStefan Roese						reg = <0xC0>;
25451c580c6SStefan Roese
255*c402e817SSimon Goldschmidt						ddr_dqs_clk: ddr_dqs_clk@c8 {
25651c580c6SStefan Roese							#clock-cells = <0>;
25751c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
25851c580c6SStefan Roese							clocks = <&sdram_pll>;
25951c580c6SStefan Roese							reg = <0xC8>;
26051c580c6SStefan Roese						};
26151c580c6SStefan Roese
262*c402e817SSimon Goldschmidt						ddr_2x_dqs_clk: ddr_2x_dqs_clk@cc {
26351c580c6SStefan Roese							#clock-cells = <0>;
26451c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
26551c580c6SStefan Roese							clocks = <&sdram_pll>;
26651c580c6SStefan Roese							reg = <0xCC>;
26751c580c6SStefan Roese						};
26851c580c6SStefan Roese
269*c402e817SSimon Goldschmidt						ddr_dq_clk: ddr_dq_clk@d0 {
27051c580c6SStefan Roese							#clock-cells = <0>;
27151c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
27251c580c6SStefan Roese							clocks = <&sdram_pll>;
27351c580c6SStefan Roese							reg = <0xD0>;
27451c580c6SStefan Roese						};
27551c580c6SStefan Roese
276*c402e817SSimon Goldschmidt						h2f_usr2_clk: h2f_usr2_clk@d4 {
27751c580c6SStefan Roese							#clock-cells = <0>;
27851c580c6SStefan Roese							compatible = "altr,socfpga-perip-clk";
27951c580c6SStefan Roese							clocks = <&sdram_pll>;
28051c580c6SStefan Roese							reg = <0xD4>;
28151c580c6SStefan Roese						};
28251c580c6SStefan Roese					};
28351c580c6SStefan Roese
28451c580c6SStefan Roese					mpu_periph_clk: mpu_periph_clk {
28551c580c6SStefan Roese						#clock-cells = <0>;
28651c580c6SStefan Roese						compatible = "altr,socfpga-perip-clk";
28751c580c6SStefan Roese						clocks = <&mpuclk>;
28851c580c6SStefan Roese						fixed-divider = <4>;
28951c580c6SStefan Roese					};
29051c580c6SStefan Roese
29151c580c6SStefan Roese					mpu_l2_ram_clk: mpu_l2_ram_clk {
29251c580c6SStefan Roese						#clock-cells = <0>;
29351c580c6SStefan Roese						compatible = "altr,socfpga-perip-clk";
29451c580c6SStefan Roese						clocks = <&mpuclk>;
29551c580c6SStefan Roese						fixed-divider = <2>;
29651c580c6SStefan Roese					};
29751c580c6SStefan Roese
29851c580c6SStefan Roese					l4_main_clk: l4_main_clk {
29951c580c6SStefan Roese						#clock-cells = <0>;
30051c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
30151c580c6SStefan Roese						clocks = <&mainclk>;
30251c580c6SStefan Roese						clk-gate = <0x60 0>;
30351c580c6SStefan Roese					};
30451c580c6SStefan Roese
30551c580c6SStefan Roese					l3_main_clk: l3_main_clk {
30651c580c6SStefan Roese						#clock-cells = <0>;
30751c580c6SStefan Roese						compatible = "altr,socfpga-perip-clk";
30851c580c6SStefan Roese						clocks = <&mainclk>;
30951c580c6SStefan Roese						fixed-divider = <1>;
31051c580c6SStefan Roese					};
31151c580c6SStefan Roese
31251c580c6SStefan Roese					l3_mp_clk: l3_mp_clk {
31351c580c6SStefan Roese						#clock-cells = <0>;
31451c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
31551c580c6SStefan Roese						clocks = <&mainclk>;
31651c580c6SStefan Roese						div-reg = <0x64 0 2>;
31751c580c6SStefan Roese						clk-gate = <0x60 1>;
31851c580c6SStefan Roese					};
31951c580c6SStefan Roese
32051c580c6SStefan Roese					l3_sp_clk: l3_sp_clk {
32151c580c6SStefan Roese						#clock-cells = <0>;
32251c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
323*c402e817SSimon Goldschmidt						clocks = <&l3_mp_clk>;
32451c580c6SStefan Roese						div-reg = <0x64 2 2>;
32551c580c6SStefan Roese					};
32651c580c6SStefan Roese
32751c580c6SStefan Roese					l4_mp_clk: l4_mp_clk {
32851c580c6SStefan Roese						#clock-cells = <0>;
32951c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
33051c580c6SStefan Roese						clocks = <&mainclk>, <&per_base_clk>;
33151c580c6SStefan Roese						div-reg = <0x64 4 3>;
33251c580c6SStefan Roese						clk-gate = <0x60 2>;
33351c580c6SStefan Roese					};
33451c580c6SStefan Roese
33551c580c6SStefan Roese					l4_sp_clk: l4_sp_clk {
33651c580c6SStefan Roese						#clock-cells = <0>;
33751c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
33851c580c6SStefan Roese						clocks = <&mainclk>, <&per_base_clk>;
33951c580c6SStefan Roese						div-reg = <0x64 7 3>;
34051c580c6SStefan Roese						clk-gate = <0x60 3>;
34151c580c6SStefan Roese					};
34251c580c6SStefan Roese
34351c580c6SStefan Roese					dbg_at_clk: dbg_at_clk {
34451c580c6SStefan Roese						#clock-cells = <0>;
34551c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
34651c580c6SStefan Roese						clocks = <&dbg_base_clk>;
34751c580c6SStefan Roese						div-reg = <0x68 0 2>;
34851c580c6SStefan Roese						clk-gate = <0x60 4>;
34951c580c6SStefan Roese					};
35051c580c6SStefan Roese
35151c580c6SStefan Roese					dbg_clk: dbg_clk {
35251c580c6SStefan Roese						#clock-cells = <0>;
35351c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
354*c402e817SSimon Goldschmidt						clocks = <&dbg_at_clk>;
35551c580c6SStefan Roese						div-reg = <0x68 2 2>;
35651c580c6SStefan Roese						clk-gate = <0x60 5>;
35751c580c6SStefan Roese					};
35851c580c6SStefan Roese
35951c580c6SStefan Roese					dbg_trace_clk: dbg_trace_clk {
36051c580c6SStefan Roese						#clock-cells = <0>;
36151c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
36251c580c6SStefan Roese						clocks = <&dbg_base_clk>;
36351c580c6SStefan Roese						div-reg = <0x6C 0 3>;
36451c580c6SStefan Roese						clk-gate = <0x60 6>;
36551c580c6SStefan Roese					};
36651c580c6SStefan Roese
36751c580c6SStefan Roese					dbg_timer_clk: dbg_timer_clk {
36851c580c6SStefan Roese						#clock-cells = <0>;
36951c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
37051c580c6SStefan Roese						clocks = <&dbg_base_clk>;
37151c580c6SStefan Roese						clk-gate = <0x60 7>;
37251c580c6SStefan Roese					};
37351c580c6SStefan Roese
37451c580c6SStefan Roese					cfg_clk: cfg_clk {
37551c580c6SStefan Roese						#clock-cells = <0>;
37651c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
37751c580c6SStefan Roese						clocks = <&cfg_h2f_usr0_clk>;
37851c580c6SStefan Roese						clk-gate = <0x60 8>;
37951c580c6SStefan Roese					};
38051c580c6SStefan Roese
38151c580c6SStefan Roese					h2f_user0_clk: h2f_user0_clk {
38251c580c6SStefan Roese						#clock-cells = <0>;
38351c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
38451c580c6SStefan Roese						clocks = <&cfg_h2f_usr0_clk>;
38551c580c6SStefan Roese						clk-gate = <0x60 9>;
38651c580c6SStefan Roese					};
38751c580c6SStefan Roese
38851c580c6SStefan Roese					emac_0_clk: emac_0_clk {
38951c580c6SStefan Roese						#clock-cells = <0>;
39051c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
39151c580c6SStefan Roese						clocks = <&emac0_clk>;
39251c580c6SStefan Roese						clk-gate = <0xa0 0>;
39351c580c6SStefan Roese					};
39451c580c6SStefan Roese
39551c580c6SStefan Roese					emac_1_clk: emac_1_clk {
39651c580c6SStefan Roese						#clock-cells = <0>;
39751c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
39851c580c6SStefan Roese						clocks = <&emac1_clk>;
39951c580c6SStefan Roese						clk-gate = <0xa0 1>;
40051c580c6SStefan Roese					};
40151c580c6SStefan Roese
40251c580c6SStefan Roese					usb_mp_clk: usb_mp_clk {
40351c580c6SStefan Roese						#clock-cells = <0>;
40451c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
40551c580c6SStefan Roese						clocks = <&per_base_clk>;
40651c580c6SStefan Roese						clk-gate = <0xa0 2>;
40751c580c6SStefan Roese						div-reg = <0xa4 0 3>;
40851c580c6SStefan Roese					};
40951c580c6SStefan Roese
41051c580c6SStefan Roese					spi_m_clk: spi_m_clk {
41151c580c6SStefan Roese						#clock-cells = <0>;
41251c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
41351c580c6SStefan Roese						clocks = <&per_base_clk>;
41451c580c6SStefan Roese						clk-gate = <0xa0 3>;
41551c580c6SStefan Roese						div-reg = <0xa4 3 3>;
41651c580c6SStefan Roese					};
41751c580c6SStefan Roese
41851c580c6SStefan Roese					can0_clk: can0_clk {
41951c580c6SStefan Roese						#clock-cells = <0>;
42051c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
42151c580c6SStefan Roese						clocks = <&per_base_clk>;
42251c580c6SStefan Roese						clk-gate = <0xa0 4>;
42351c580c6SStefan Roese						div-reg = <0xa4 6 3>;
42451c580c6SStefan Roese					};
42551c580c6SStefan Roese
42651c580c6SStefan Roese					can1_clk: can1_clk {
42751c580c6SStefan Roese						#clock-cells = <0>;
42851c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
42951c580c6SStefan Roese						clocks = <&per_base_clk>;
43051c580c6SStefan Roese						clk-gate = <0xa0 5>;
43151c580c6SStefan Roese						div-reg = <0xa4 9 3>;
43251c580c6SStefan Roese					};
43351c580c6SStefan Roese
43451c580c6SStefan Roese					gpio_db_clk: gpio_db_clk {
43551c580c6SStefan Roese						#clock-cells = <0>;
43651c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
43751c580c6SStefan Roese						clocks = <&per_base_clk>;
43851c580c6SStefan Roese						clk-gate = <0xa0 6>;
43951c580c6SStefan Roese						div-reg = <0xa8 0 24>;
44051c580c6SStefan Roese					};
44151c580c6SStefan Roese
44251c580c6SStefan Roese					h2f_user1_clk: h2f_user1_clk {
44351c580c6SStefan Roese						#clock-cells = <0>;
44451c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
44551c580c6SStefan Roese						clocks = <&h2f_usr1_clk>;
44651c580c6SStefan Roese						clk-gate = <0xa0 7>;
44751c580c6SStefan Roese					};
44851c580c6SStefan Roese
44951c580c6SStefan Roese					sdmmc_clk: sdmmc_clk {
45051c580c6SStefan Roese						#clock-cells = <0>;
45151c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
45251c580c6SStefan Roese						clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
45351c580c6SStefan Roese						clk-gate = <0xa0 8>;
45451c580c6SStefan Roese						clk-phase = <0 135>;
45551c580c6SStefan Roese					};
45651c580c6SStefan Roese
457*c402e817SSimon Goldschmidt					sdmmc_clk_divided: sdmmc_clk_divided {
458*c402e817SSimon Goldschmidt						#clock-cells = <0>;
459*c402e817SSimon Goldschmidt						compatible = "altr,socfpga-gate-clk";
460*c402e817SSimon Goldschmidt						clocks = <&sdmmc_clk>;
461*c402e817SSimon Goldschmidt						clk-gate = <0xa0 8>;
462*c402e817SSimon Goldschmidt						fixed-divider = <4>;
463*c402e817SSimon Goldschmidt					};
464*c402e817SSimon Goldschmidt
46551c580c6SStefan Roese					nand_x_clk: nand_x_clk {
46651c580c6SStefan Roese						#clock-cells = <0>;
46751c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
46851c580c6SStefan Roese						clocks = <&f2s_periph_ref_clk>, <&main_nand_sdmmc_clk>, <&per_nand_mmc_clk>;
46951c580c6SStefan Roese						clk-gate = <0xa0 9>;
47051c580c6SStefan Roese					};
47151c580c6SStefan Roese
472*c402e817SSimon Goldschmidt					nand_ecc_clk: nand_ecc_clk {
473*c402e817SSimon Goldschmidt						#clock-cells = <0>;
474*c402e817SSimon Goldschmidt						compatible = "altr,socfpga-gate-clk";
475*c402e817SSimon Goldschmidt						clocks = <&nand_x_clk>;
476*c402e817SSimon Goldschmidt						clk-gate = <0xa0 9>;
477*c402e817SSimon Goldschmidt					};
478*c402e817SSimon Goldschmidt
47951c580c6SStefan Roese					nand_clk: nand_clk {
48051c580c6SStefan Roese						#clock-cells = <0>;
48151c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
482*c402e817SSimon Goldschmidt						clocks = <&nand_x_clk>;
48351c580c6SStefan Roese						clk-gate = <0xa0 10>;
48451c580c6SStefan Roese						fixed-divider = <4>;
48551c580c6SStefan Roese					};
48651c580c6SStefan Roese
48751c580c6SStefan Roese					qspi_clk: qspi_clk {
48851c580c6SStefan Roese						#clock-cells = <0>;
48951c580c6SStefan Roese						compatible = "altr,socfpga-gate-clk";
49051c580c6SStefan Roese						clocks = <&f2s_periph_ref_clk>, <&main_qspi_clk>, <&per_qspi_clk>;
49151c580c6SStefan Roese						clk-gate = <0xa0 11>;
49251c580c6SStefan Roese					};
493*c402e817SSimon Goldschmidt
494*c402e817SSimon Goldschmidt					ddr_dqs_clk_gate: ddr_dqs_clk_gate {
495*c402e817SSimon Goldschmidt						#clock-cells = <0>;
496*c402e817SSimon Goldschmidt						compatible = "altr,socfpga-gate-clk";
497*c402e817SSimon Goldschmidt						clocks = <&ddr_dqs_clk>;
498*c402e817SSimon Goldschmidt						clk-gate = <0xd8 0>;
49951c580c6SStefan Roese					};
500*c402e817SSimon Goldschmidt
501*c402e817SSimon Goldschmidt					ddr_2x_dqs_clk_gate: ddr_2x_dqs_clk_gate {
502*c402e817SSimon Goldschmidt						#clock-cells = <0>;
503*c402e817SSimon Goldschmidt						compatible = "altr,socfpga-gate-clk";
504*c402e817SSimon Goldschmidt						clocks = <&ddr_2x_dqs_clk>;
505*c402e817SSimon Goldschmidt						clk-gate = <0xd8 1>;
506*c402e817SSimon Goldschmidt					};
507*c402e817SSimon Goldschmidt
508*c402e817SSimon Goldschmidt					ddr_dq_clk_gate: ddr_dq_clk_gate {
509*c402e817SSimon Goldschmidt						#clock-cells = <0>;
510*c402e817SSimon Goldschmidt						compatible = "altr,socfpga-gate-clk";
511*c402e817SSimon Goldschmidt						clocks = <&ddr_dq_clk>;
512*c402e817SSimon Goldschmidt						clk-gate = <0xd8 2>;
513*c402e817SSimon Goldschmidt					};
514*c402e817SSimon Goldschmidt
515*c402e817SSimon Goldschmidt					h2f_user2_clk: h2f_user2_clk {
516*c402e817SSimon Goldschmidt						#clock-cells = <0>;
517*c402e817SSimon Goldschmidt						compatible = "altr,socfpga-gate-clk";
518*c402e817SSimon Goldschmidt						clocks = <&h2f_usr2_clk>;
519*c402e817SSimon Goldschmidt						clk-gate = <0xd8 3>;
520*c402e817SSimon Goldschmidt					};
521*c402e817SSimon Goldschmidt
522*c402e817SSimon Goldschmidt				};
523*c402e817SSimon Goldschmidt		};
524*c402e817SSimon Goldschmidt
525*c402e817SSimon Goldschmidt		fpga_bridge0: fpga_bridge@ff400000 {
526*c402e817SSimon Goldschmidt			compatible = "altr,socfpga-lwhps2fpga-bridge";
527*c402e817SSimon Goldschmidt			reg = <0xff400000 0x100000>;
528*c402e817SSimon Goldschmidt			resets = <&rst LWHPS2FPGA_RESET>;
529*c402e817SSimon Goldschmidt			clocks = <&l4_main_clk>;
530*c402e817SSimon Goldschmidt		};
531*c402e817SSimon Goldschmidt
532*c402e817SSimon Goldschmidt		fpga_bridge1: fpga_bridge@ff500000 {
533*c402e817SSimon Goldschmidt			compatible = "altr,socfpga-hps2fpga-bridge";
534*c402e817SSimon Goldschmidt			reg = <0xff500000 0x10000>;
535*c402e817SSimon Goldschmidt			resets = <&rst HPS2FPGA_RESET>;
536*c402e817SSimon Goldschmidt			clocks = <&l4_main_clk>;
537*c402e817SSimon Goldschmidt		};
538*c402e817SSimon Goldschmidt
539*c402e817SSimon Goldschmidt		fpgamgr0: fpgamgr@ff706000 {
540*c402e817SSimon Goldschmidt			compatible = "altr,socfpga-fpga-mgr";
541*c402e817SSimon Goldschmidt			reg = <0xff706000 0x1000
542*c402e817SSimon Goldschmidt			       0xffb90000 0x4>;
543*c402e817SSimon Goldschmidt			interrupts = <0 175 4>;
54451c580c6SStefan Roese		};
54551c580c6SStefan Roese
54651c580c6SStefan Roese		gmac0: ethernet@ff700000 {
54751c580c6SStefan Roese			compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
54851c580c6SStefan Roese			altr,sysmgr-syscon = <&sysmgr 0x60 0>;
54951c580c6SStefan Roese			reg = <0xff700000 0x2000>;
55051c580c6SStefan Roese			interrupts = <0 115 4>;
55151c580c6SStefan Roese			interrupt-names = "macirq";
55251c580c6SStefan Roese			mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
553*c402e817SSimon Goldschmidt			clocks = <&emac_0_clk>;
55451c580c6SStefan Roese			clock-names = "stmmaceth";
55551c580c6SStefan Roese			resets = <&rst EMAC0_RESET>;
55651c580c6SStefan Roese			reset-names = "stmmaceth";
55751c580c6SStefan Roese			snps,multicast-filter-bins = <256>;
55851c580c6SStefan Roese			snps,perfect-filter-entries = <128>;
559*c402e817SSimon Goldschmidt			tx-fifo-depth = <4096>;
560*c402e817SSimon Goldschmidt			rx-fifo-depth = <4096>;
56151c580c6SStefan Roese			status = "disabled";
56251c580c6SStefan Roese		};
56351c580c6SStefan Roese
56451c580c6SStefan Roese		gmac1: ethernet@ff702000 {
56551c580c6SStefan Roese			compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
56651c580c6SStefan Roese			altr,sysmgr-syscon = <&sysmgr 0x60 2>;
56751c580c6SStefan Roese			reg = <0xff702000 0x2000>;
56851c580c6SStefan Roese			interrupts = <0 120 4>;
56951c580c6SStefan Roese			interrupt-names = "macirq";
57051c580c6SStefan Roese			mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
571*c402e817SSimon Goldschmidt			clocks = <&emac_1_clk>;
57251c580c6SStefan Roese			clock-names = "stmmaceth";
57351c580c6SStefan Roese			resets = <&rst EMAC1_RESET>;
57451c580c6SStefan Roese			reset-names = "stmmaceth";
57551c580c6SStefan Roese			snps,multicast-filter-bins = <256>;
57651c580c6SStefan Roese			snps,perfect-filter-entries = <128>;
577*c402e817SSimon Goldschmidt			tx-fifo-depth = <4096>;
578*c402e817SSimon Goldschmidt			rx-fifo-depth = <4096>;
57951c580c6SStefan Roese			status = "disabled";
58051c580c6SStefan Roese		};
58151c580c6SStefan Roese
58251c580c6SStefan Roese		gpio0: gpio@ff708000 {
58351c580c6SStefan Roese			#address-cells = <1>;
58451c580c6SStefan Roese			#size-cells = <0>;
58551c580c6SStefan Roese			compatible = "snps,dw-apb-gpio";
58651c580c6SStefan Roese			reg = <0xff708000 0x1000>;
587*c402e817SSimon Goldschmidt			clocks = <&l4_mp_clk>;
58851c580c6SStefan Roese			status = "disabled";
58951c580c6SStefan Roese
59051c580c6SStefan Roese			porta: gpio-controller@0 {
59151c580c6SStefan Roese				compatible = "snps,dw-apb-gpio-port";
59251c580c6SStefan Roese				gpio-controller;
59351c580c6SStefan Roese				#gpio-cells = <2>;
59451c580c6SStefan Roese				snps,nr-gpios = <29>;
59551c580c6SStefan Roese				reg = <0>;
59651c580c6SStefan Roese				interrupt-controller;
59751c580c6SStefan Roese				#interrupt-cells = <2>;
59851c580c6SStefan Roese				interrupts = <0 164 4>;
59951c580c6SStefan Roese			};
60051c580c6SStefan Roese		};
60151c580c6SStefan Roese
60251c580c6SStefan Roese		gpio1: gpio@ff709000 {
60351c580c6SStefan Roese			#address-cells = <1>;
60451c580c6SStefan Roese			#size-cells = <0>;
60551c580c6SStefan Roese			compatible = "snps,dw-apb-gpio";
60651c580c6SStefan Roese			reg = <0xff709000 0x1000>;
607*c402e817SSimon Goldschmidt			clocks = <&l4_mp_clk>;
60851c580c6SStefan Roese			status = "disabled";
60951c580c6SStefan Roese
61051c580c6SStefan Roese			portb: gpio-controller@0 {
61151c580c6SStefan Roese				compatible = "snps,dw-apb-gpio-port";
61251c580c6SStefan Roese				gpio-controller;
61351c580c6SStefan Roese				#gpio-cells = <2>;
61451c580c6SStefan Roese				snps,nr-gpios = <29>;
61551c580c6SStefan Roese				reg = <0>;
61651c580c6SStefan Roese				interrupt-controller;
61751c580c6SStefan Roese				#interrupt-cells = <2>;
61851c580c6SStefan Roese				interrupts = <0 165 4>;
61951c580c6SStefan Roese			};
62051c580c6SStefan Roese		};
62151c580c6SStefan Roese
62251c580c6SStefan Roese		gpio2: gpio@ff70a000 {
62351c580c6SStefan Roese			#address-cells = <1>;
62451c580c6SStefan Roese			#size-cells = <0>;
62551c580c6SStefan Roese			compatible = "snps,dw-apb-gpio";
62651c580c6SStefan Roese			reg = <0xff70a000 0x1000>;
627*c402e817SSimon Goldschmidt			clocks = <&l4_mp_clk>;
62851c580c6SStefan Roese			status = "disabled";
62951c580c6SStefan Roese
63051c580c6SStefan Roese			portc: gpio-controller@0 {
63151c580c6SStefan Roese				compatible = "snps,dw-apb-gpio-port";
63251c580c6SStefan Roese				gpio-controller;
63351c580c6SStefan Roese				#gpio-cells = <2>;
63451c580c6SStefan Roese				snps,nr-gpios = <27>;
63551c580c6SStefan Roese				reg = <0>;
63651c580c6SStefan Roese				interrupt-controller;
63751c580c6SStefan Roese				#interrupt-cells = <2>;
63851c580c6SStefan Roese				interrupts = <0 166 4>;
63951c580c6SStefan Roese			};
64051c580c6SStefan Roese		};
64151c580c6SStefan Roese
642*c402e817SSimon Goldschmidt		i2c0: i2c@ffc04000 {
643*c402e817SSimon Goldschmidt			#address-cells = <1>;
644*c402e817SSimon Goldschmidt			#size-cells = <0>;
645*c402e817SSimon Goldschmidt			compatible = "snps,designware-i2c";
646*c402e817SSimon Goldschmidt			reg = <0xffc04000 0x1000>;
647*c402e817SSimon Goldschmidt			resets = <&rst I2C0_RESET>;
648*c402e817SSimon Goldschmidt			clocks = <&l4_sp_clk>;
649*c402e817SSimon Goldschmidt			interrupts = <0 158 0x4>;
650*c402e817SSimon Goldschmidt			status = "disabled";
65151c580c6SStefan Roese		};
65251c580c6SStefan Roese
653*c402e817SSimon Goldschmidt		i2c1: i2c@ffc05000 {
654*c402e817SSimon Goldschmidt			#address-cells = <1>;
655*c402e817SSimon Goldschmidt			#size-cells = <0>;
656*c402e817SSimon Goldschmidt			compatible = "snps,designware-i2c";
657*c402e817SSimon Goldschmidt			reg = <0xffc05000 0x1000>;
658*c402e817SSimon Goldschmidt			resets = <&rst I2C1_RESET>;
659*c402e817SSimon Goldschmidt			clocks = <&l4_sp_clk>;
660*c402e817SSimon Goldschmidt			interrupts = <0 159 0x4>;
661*c402e817SSimon Goldschmidt			status = "disabled";
662*c402e817SSimon Goldschmidt		};
663*c402e817SSimon Goldschmidt
664*c402e817SSimon Goldschmidt		i2c2: i2c@ffc06000 {
665*c402e817SSimon Goldschmidt			#address-cells = <1>;
666*c402e817SSimon Goldschmidt			#size-cells = <0>;
667*c402e817SSimon Goldschmidt			compatible = "snps,designware-i2c";
668*c402e817SSimon Goldschmidt			reg = <0xffc06000 0x1000>;
669*c402e817SSimon Goldschmidt			resets = <&rst I2C2_RESET>;
670*c402e817SSimon Goldschmidt			clocks = <&l4_sp_clk>;
671*c402e817SSimon Goldschmidt			interrupts = <0 160 0x4>;
672*c402e817SSimon Goldschmidt			status = "disabled";
673*c402e817SSimon Goldschmidt		};
674*c402e817SSimon Goldschmidt
675*c402e817SSimon Goldschmidt		i2c3: i2c@ffc07000 {
676*c402e817SSimon Goldschmidt			#address-cells = <1>;
677*c402e817SSimon Goldschmidt			#size-cells = <0>;
678*c402e817SSimon Goldschmidt			compatible = "snps,designware-i2c";
679*c402e817SSimon Goldschmidt			reg = <0xffc07000 0x1000>;
680*c402e817SSimon Goldschmidt			resets = <&rst I2C3_RESET>;
681*c402e817SSimon Goldschmidt			clocks = <&l4_sp_clk>;
682*c402e817SSimon Goldschmidt			interrupts = <0 161 0x4>;
683*c402e817SSimon Goldschmidt			status = "disabled";
684*c402e817SSimon Goldschmidt		};
685*c402e817SSimon Goldschmidt
686*c402e817SSimon Goldschmidt		eccmgr: eccmgr {
687*c402e817SSimon Goldschmidt			compatible = "altr,socfpga-ecc-manager";
688*c402e817SSimon Goldschmidt			#address-cells = <1>;
689*c402e817SSimon Goldschmidt			#size-cells = <1>;
690*c402e817SSimon Goldschmidt			ranges;
691*c402e817SSimon Goldschmidt
692*c402e817SSimon Goldschmidt			l2-ecc@ffd08140 {
693*c402e817SSimon Goldschmidt				compatible = "altr,socfpga-l2-ecc";
694*c402e817SSimon Goldschmidt				reg = <0xffd08140 0x4>;
695*c402e817SSimon Goldschmidt				interrupts = <0 36 1>, <0 37 1>;
696*c402e817SSimon Goldschmidt			};
697*c402e817SSimon Goldschmidt
698*c402e817SSimon Goldschmidt			ocram-ecc@ffd08144 {
699*c402e817SSimon Goldschmidt				compatible = "altr,socfpga-ocram-ecc";
700*c402e817SSimon Goldschmidt				reg = <0xffd08144 0x4>;
701*c402e817SSimon Goldschmidt				iram = <&ocram>;
702*c402e817SSimon Goldschmidt				interrupts = <0 178 1>, <0 179 1>;
703*c402e817SSimon Goldschmidt			};
70451c580c6SStefan Roese		};
70551c580c6SStefan Roese
70651c580c6SStefan Roese		L2: l2-cache@fffef000 {
70751c580c6SStefan Roese			compatible = "arm,pl310-cache";
70851c580c6SStefan Roese			reg = <0xfffef000 0x1000>;
70951c580c6SStefan Roese			interrupts = <0 38 0x04>;
71051c580c6SStefan Roese			cache-unified;
71151c580c6SStefan Roese			cache-level = <2>;
71251c580c6SStefan Roese			arm,tag-latency = <1 1 1>;
71351c580c6SStefan Roese			arm,data-latency = <2 1 1>;
714*c402e817SSimon Goldschmidt			prefetch-data = <1>;
715*c402e817SSimon Goldschmidt			prefetch-instr = <1>;
716*c402e817SSimon Goldschmidt			arm,shared-override;
717*c402e817SSimon Goldschmidt			arm,double-linefill = <1>;
718*c402e817SSimon Goldschmidt			arm,double-linefill-incr = <0>;
719*c402e817SSimon Goldschmidt			arm,double-linefill-wrap = <1>;
720*c402e817SSimon Goldschmidt			arm,prefetch-drop = <0>;
721*c402e817SSimon Goldschmidt			arm,prefetch-offset = <7>;
72251c580c6SStefan Roese		};
72351c580c6SStefan Roese
724*c402e817SSimon Goldschmidt		l3regs@0xff800000 {
725*c402e817SSimon Goldschmidt			compatible = "altr,l3regs", "syscon";
726*c402e817SSimon Goldschmidt			reg = <0xff800000 0x1000>;
727*c402e817SSimon Goldschmidt		};
728*c402e817SSimon Goldschmidt
729*c402e817SSimon Goldschmidt		mmc: dwmmc0@ff704000 {
73051c580c6SStefan Roese			compatible = "altr,socfpga-dw-mshc";
73151c580c6SStefan Roese			reg = <0xff704000 0x1000>;
73251c580c6SStefan Roese			interrupts = <0 139 4>;
73351c580c6SStefan Roese			fifo-depth = <0x400>;
73451c580c6SStefan Roese			#address-cells = <1>;
73551c580c6SStefan Roese			#size-cells = <0>;
736*c402e817SSimon Goldschmidt			clocks = <&l4_mp_clk>, <&sdmmc_clk_divided>;
73751c580c6SStefan Roese			clock-names = "biu", "ciu";
738*c402e817SSimon Goldschmidt			status = "disabled";
739*c402e817SSimon Goldschmidt		};
740*c402e817SSimon Goldschmidt
741*c402e817SSimon Goldschmidt		nand0: nand@ff900000 {
742*c402e817SSimon Goldschmidt			#address-cells = <0x1>;
743*c402e817SSimon Goldschmidt			#size-cells = <0x1>;
744*c402e817SSimon Goldschmidt			compatible = "altr,socfpga-denali-nand";
745*c402e817SSimon Goldschmidt			reg = <0xff900000 0x100000>,
746*c402e817SSimon Goldschmidt			      <0xffb80000 0x10000>;
747*c402e817SSimon Goldschmidt			reg-names = "nand_data", "denali_reg";
748*c402e817SSimon Goldschmidt			interrupts = <0x0 0x90 0x4>;
749*c402e817SSimon Goldschmidt			dma-mask = <0xffffffff>;
750*c402e817SSimon Goldschmidt			clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;
751*c402e817SSimon Goldschmidt			clock-names = "nand", "nand_x", "ecc";
752*c402e817SSimon Goldschmidt			status = "disabled";
753*c402e817SSimon Goldschmidt		};
754*c402e817SSimon Goldschmidt
755*c402e817SSimon Goldschmidt		ocram: sram@ffff0000 {
756*c402e817SSimon Goldschmidt			compatible = "mmio-sram";
757*c402e817SSimon Goldschmidt			reg = <0xffff0000 0x10000>;
75851c580c6SStefan Roese		};
75951c580c6SStefan Roese
760881f6a44SStefan Roese		qspi: spi@ff705000 {
7612a3a9993SSimon Goldschmidt			compatible = "cdns,qspi-nor";
762881f6a44SStefan Roese                        #address-cells = <1>;
763881f6a44SStefan Roese			#size-cells = <0>;
764881f6a44SStefan Roese			reg = <0xff705000 0x1000>,
765881f6a44SStefan Roese			      <0xffa00000 0x1000>;
766881f6a44SStefan Roese			interrupts = <0 151 4>;
7676e62b178SJason Rush			cdns,fifo-depth = <128>;
7686e62b178SJason Rush			cdns,fifo-width = <4>;
7696e62b178SJason Rush			cdns,trigger-address = <0x00000000>;
770*c402e817SSimon Goldschmidt			clocks = <&qspi_clk>;
771881f6a44SStefan Roese			status = "disabled";
772881f6a44SStefan Roese		};
773881f6a44SStefan Roese
774*c402e817SSimon Goldschmidt		rst: rstmgr@ffd05000 {
775*c402e817SSimon Goldschmidt			#reset-cells = <1>;
776*c402e817SSimon Goldschmidt			compatible = "altr,rst-mgr";
777*c402e817SSimon Goldschmidt			reg = <0xffd05000 0x1000>;
778*c402e817SSimon Goldschmidt			altr,modrst-offset = <0x10>;
779*c402e817SSimon Goldschmidt		};
780*c402e817SSimon Goldschmidt
781*c402e817SSimon Goldschmidt		scu: snoop-control-unit@fffec000 {
782*c402e817SSimon Goldschmidt			compatible = "arm,cortex-a9-scu";
783*c402e817SSimon Goldschmidt			reg = <0xfffec000 0x100>;
784*c402e817SSimon Goldschmidt		};
785*c402e817SSimon Goldschmidt
786*c402e817SSimon Goldschmidt		sdr: sdr@ffc25000 {
787*c402e817SSimon Goldschmidt			compatible = "altr,sdr-ctl", "syscon";
788*c402e817SSimon Goldschmidt			reg = <0xffc25000 0x1000>;
789*c402e817SSimon Goldschmidt		};
790*c402e817SSimon Goldschmidt
791*c402e817SSimon Goldschmidt		sdramedac {
792*c402e817SSimon Goldschmidt			compatible = "altr,sdram-edac";
793*c402e817SSimon Goldschmidt			altr,sdr-syscon = <&sdr>;
794*c402e817SSimon Goldschmidt			interrupts = <0 39 4>;
795*c402e817SSimon Goldschmidt		};
796*c402e817SSimon Goldschmidt
797ae79e2d2SStefan Roese		spi0: spi@fff00000 {
79874114862SMarek Vasut			compatible = "snps,dw-apb-ssi";
799ae79e2d2SStefan Roese			#address-cells = <1>;
800ae79e2d2SStefan Roese			#size-cells = <0>;
801ae79e2d2SStefan Roese			reg = <0xfff00000 0x1000>;
802ae79e2d2SStefan Roese			interrupts = <0 154 4>;
803653cda8fSMarek Vasut			num-cs = <4>;
804*c402e817SSimon Goldschmidt			clocks = <&spi_m_clk>;
805ae79e2d2SStefan Roese			status = "disabled";
806ae79e2d2SStefan Roese		};
807ae79e2d2SStefan Roese
808ae79e2d2SStefan Roese		spi1: spi@fff01000 {
80974114862SMarek Vasut			compatible = "snps,dw-apb-ssi";
810ae79e2d2SStefan Roese			#address-cells = <1>;
811ae79e2d2SStefan Roese			#size-cells = <0>;
812ae79e2d2SStefan Roese			reg = <0xfff01000 0x1000>;
813*c402e817SSimon Goldschmidt			interrupts = <0 155 4>;
814653cda8fSMarek Vasut			num-cs = <4>;
815*c402e817SSimon Goldschmidt			clocks = <&spi_m_clk>;
816ae79e2d2SStefan Roese			status = "disabled";
817ae79e2d2SStefan Roese		};
818ae79e2d2SStefan Roese
819*c402e817SSimon Goldschmidt		sysmgr: sysmgr@ffd08000 {
820*c402e817SSimon Goldschmidt			compatible = "altr,sys-mgr", "syscon";
821*c402e817SSimon Goldschmidt			reg = <0xffd08000 0x4000>;
822*c402e817SSimon Goldschmidt		};
823*c402e817SSimon Goldschmidt
82451c580c6SStefan Roese		/* Local timer */
82551c580c6SStefan Roese		timer@fffec600 {
82651c580c6SStefan Roese			compatible = "arm,cortex-a9-twd-timer";
82751c580c6SStefan Roese			reg = <0xfffec600 0x100>;
828*c402e817SSimon Goldschmidt			interrupts = <1 13 0xf01>;
82951c580c6SStefan Roese			clocks = <&mpu_periph_clk>;
83051c580c6SStefan Roese		};
83151c580c6SStefan Roese
83251c580c6SStefan Roese		timer0: timer0@ffc08000 {
83351c580c6SStefan Roese			compatible = "snps,dw-apb-timer";
83451c580c6SStefan Roese			interrupts = <0 167 4>;
83551c580c6SStefan Roese			reg = <0xffc08000 0x1000>;
83651c580c6SStefan Roese			clocks = <&l4_sp_clk>;
83751c580c6SStefan Roese			clock-names = "timer";
838*c402e817SSimon Goldschmidt			resets = <&rst SPTIMER0_RESET>;
839*c402e817SSimon Goldschmidt			reset-names = "timer";
84051c580c6SStefan Roese		};
84151c580c6SStefan Roese
84251c580c6SStefan Roese		timer1: timer1@ffc09000 {
84351c580c6SStefan Roese			compatible = "snps,dw-apb-timer";
84451c580c6SStefan Roese			interrupts = <0 168 4>;
84551c580c6SStefan Roese			reg = <0xffc09000 0x1000>;
84651c580c6SStefan Roese			clocks = <&l4_sp_clk>;
84751c580c6SStefan Roese			clock-names = "timer";
848*c402e817SSimon Goldschmidt			resets = <&rst SPTIMER1_RESET>;
849*c402e817SSimon Goldschmidt			reset-names = "timer";
85051c580c6SStefan Roese		};
85151c580c6SStefan Roese
85251c580c6SStefan Roese		timer2: timer2@ffd00000 {
85351c580c6SStefan Roese			compatible = "snps,dw-apb-timer";
85451c580c6SStefan Roese			interrupts = <0 169 4>;
85551c580c6SStefan Roese			reg = <0xffd00000 0x1000>;
85651c580c6SStefan Roese			clocks = <&osc1>;
85751c580c6SStefan Roese			clock-names = "timer";
858*c402e817SSimon Goldschmidt			resets = <&rst OSC1TIMER0_RESET>;
859*c402e817SSimon Goldschmidt			reset-names = "timer";
86051c580c6SStefan Roese		};
86151c580c6SStefan Roese
86251c580c6SStefan Roese		timer3: timer3@ffd01000 {
86351c580c6SStefan Roese			compatible = "snps,dw-apb-timer";
86451c580c6SStefan Roese			interrupts = <0 170 4>;
86551c580c6SStefan Roese			reg = <0xffd01000 0x1000>;
86651c580c6SStefan Roese			clocks = <&osc1>;
86751c580c6SStefan Roese			clock-names = "timer";
868*c402e817SSimon Goldschmidt			resets = <&rst OSC1TIMER1_RESET>;
869*c402e817SSimon Goldschmidt			reset-names = "timer";
87051c580c6SStefan Roese		};
87151c580c6SStefan Roese
87251c580c6SStefan Roese		uart0: serial0@ffc02000 {
87351c580c6SStefan Roese			compatible = "snps,dw-apb-uart";
87451c580c6SStefan Roese			reg = <0xffc02000 0x1000>;
87551c580c6SStefan Roese			interrupts = <0 162 4>;
87651c580c6SStefan Roese			reg-shift = <2>;
87751c580c6SStefan Roese			reg-io-width = <4>;
87851c580c6SStefan Roese			clocks = <&l4_sp_clk>;
879*c402e817SSimon Goldschmidt			dmas = <&pdma 28>,
880*c402e817SSimon Goldschmidt			       <&pdma 29>;
881*c402e817SSimon Goldschmidt			dma-names = "tx", "rx";
88251c580c6SStefan Roese		};
88351c580c6SStefan Roese
88451c580c6SStefan Roese		uart1: serial1@ffc03000 {
88551c580c6SStefan Roese			compatible = "snps,dw-apb-uart";
88651c580c6SStefan Roese			reg = <0xffc03000 0x1000>;
88751c580c6SStefan Roese			interrupts = <0 163 4>;
88851c580c6SStefan Roese			reg-shift = <2>;
88951c580c6SStefan Roese			reg-io-width = <4>;
89051c580c6SStefan Roese			clocks = <&l4_sp_clk>;
891*c402e817SSimon Goldschmidt			dmas = <&pdma 30>,
892*c402e817SSimon Goldschmidt			       <&pdma 31>;
893*c402e817SSimon Goldschmidt			dma-names = "tx", "rx";
89451c580c6SStefan Roese		};
89551c580c6SStefan Roese
896*c402e817SSimon Goldschmidt		usbphy0: usbphy {
89751c580c6SStefan Roese			#phy-cells = <0>;
89851c580c6SStefan Roese			compatible = "usb-nop-xceiv";
89951c580c6SStefan Roese			status = "okay";
90051c580c6SStefan Roese		};
90151c580c6SStefan Roese
90251c580c6SStefan Roese		usb0: usb@ffb00000 {
90351c580c6SStefan Roese			compatible = "snps,dwc2";
90451c580c6SStefan Roese			reg = <0xffb00000 0xffff>;
90551c580c6SStefan Roese			interrupts = <0 125 4>;
90651c580c6SStefan Roese			clocks = <&usb_mp_clk>;
90751c580c6SStefan Roese			clock-names = "otg";
908*c402e817SSimon Goldschmidt			resets = <&rst USB0_RESET>;
909*c402e817SSimon Goldschmidt			reset-names = "dwc2";
91051c580c6SStefan Roese			phys = <&usbphy0>;
91151c580c6SStefan Roese			phy-names = "usb2-phy";
91251c580c6SStefan Roese			status = "disabled";
91351c580c6SStefan Roese		};
91451c580c6SStefan Roese
91551c580c6SStefan Roese		usb1: usb@ffb40000 {
91651c580c6SStefan Roese			compatible = "snps,dwc2";
91751c580c6SStefan Roese			reg = <0xffb40000 0xffff>;
91851c580c6SStefan Roese			interrupts = <0 128 4>;
91951c580c6SStefan Roese			clocks = <&usb_mp_clk>;
92051c580c6SStefan Roese			clock-names = "otg";
921*c402e817SSimon Goldschmidt			resets = <&rst USB1_RESET>;
922*c402e817SSimon Goldschmidt			reset-names = "dwc2";
92351c580c6SStefan Roese			phys = <&usbphy0>;
92451c580c6SStefan Roese			phy-names = "usb2-phy";
92551c580c6SStefan Roese			status = "disabled";
92651c580c6SStefan Roese		};
92751c580c6SStefan Roese
92851c580c6SStefan Roese		watchdog0: watchdog@ffd02000 {
92951c580c6SStefan Roese			compatible = "snps,dw-wdt";
93051c580c6SStefan Roese			reg = <0xffd02000 0x1000>;
93151c580c6SStefan Roese			interrupts = <0 171 4>;
93251c580c6SStefan Roese			clocks = <&osc1>;
93351c580c6SStefan Roese			status = "disabled";
93451c580c6SStefan Roese		};
93551c580c6SStefan Roese
93651c580c6SStefan Roese		watchdog1: watchdog@ffd03000 {
93751c580c6SStefan Roese			compatible = "snps,dw-wdt";
93851c580c6SStefan Roese			reg = <0xffd03000 0x1000>;
93951c580c6SStefan Roese			interrupts = <0 172 4>;
94051c580c6SStefan Roese			clocks = <&osc1>;
94151c580c6SStefan Roese			status = "disabled";
94251c580c6SStefan Roese		};
94351c580c6SStefan Roese	};
94451c580c6SStefan Roese};
945