1da305fa8SConor Dooley// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2da305fa8SConor Dooley/* Copyright (c) 2020-2021 Microchip Technology Inc */
3da305fa8SConor Dooley
4da305fa8SConor Dooley/dts-v1/;
5da305fa8SConor Dooley
6da305fa8SConor Dooley#include "mpfs.dtsi"
71277b195SConor Dooley#include "mpfs-icicle-kit-fabric.dtsi"
80d814000SEmil Renner Berthing#include <dt-bindings/gpio/gpio.h>
90d814000SEmil Renner Berthing#include <dt-bindings/leds/common.h>
10da305fa8SConor Dooley
11da305fa8SConor Dooley/* Clock frequency (in Hz) of the rtcclk */
12da305fa8SConor Dooley#define RTCCLK_FREQ		1000000
13da305fa8SConor Dooley
14da305fa8SConor Dooley/ {
15da305fa8SConor Dooley	model = "Microchip PolarFire-SoC Icicle Kit";
16f890e67fSConor Dooley	compatible = "microchip,mpfs-icicle-reference-rtlv2210", "microchip,mpfs-icicle-kit",
17f890e67fSConor Dooley		     "microchip,mpfs";
18da305fa8SConor Dooley
19da305fa8SConor Dooley	aliases {
20da305fa8SConor Dooley		ethernet0 = &mac1;
21da305fa8SConor Dooley		serial0 = &mmuart0;
22da305fa8SConor Dooley		serial1 = &mmuart1;
23da305fa8SConor Dooley		serial2 = &mmuart2;
24da305fa8SConor Dooley		serial3 = &mmuart3;
25da305fa8SConor Dooley		serial4 = &mmuart4;
26da305fa8SConor Dooley	};
27da305fa8SConor Dooley
28da305fa8SConor Dooley	chosen {
29da305fa8SConor Dooley		stdout-path = "serial1:115200n8";
30da305fa8SConor Dooley	};
31da305fa8SConor Dooley
32da305fa8SConor Dooley	cpus {
33da305fa8SConor Dooley		timebase-frequency = <RTCCLK_FREQ>;
34da305fa8SConor Dooley	};
35da305fa8SConor Dooley
360d814000SEmil Renner Berthing	leds {
370d814000SEmil Renner Berthing		compatible = "gpio-leds";
380d814000SEmil Renner Berthing
390d814000SEmil Renner Berthing		led-1 {
400d814000SEmil Renner Berthing			gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
410d814000SEmil Renner Berthing			color = <LED_COLOR_ID_RED>;
420d814000SEmil Renner Berthing			label = "led1";
430d814000SEmil Renner Berthing		};
440d814000SEmil Renner Berthing
450d814000SEmil Renner Berthing		led-2 {
460d814000SEmil Renner Berthing			gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
470d814000SEmil Renner Berthing			color = <LED_COLOR_ID_RED>;
480d814000SEmil Renner Berthing			label = "led2";
490d814000SEmil Renner Berthing		};
500d814000SEmil Renner Berthing
510d814000SEmil Renner Berthing		led-3 {
520d814000SEmil Renner Berthing			gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
530d814000SEmil Renner Berthing			color = <LED_COLOR_ID_AMBER>;
540d814000SEmil Renner Berthing			label = "led3";
550d814000SEmil Renner Berthing		};
560d814000SEmil Renner Berthing
570d814000SEmil Renner Berthing		led-4 {
580d814000SEmil Renner Berthing			gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
590d814000SEmil Renner Berthing			color = <LED_COLOR_ID_AMBER>;
600d814000SEmil Renner Berthing			label = "led4";
610d814000SEmil Renner Berthing		};
620d814000SEmil Renner Berthing	};
630d814000SEmil Renner Berthing
64da305fa8SConor Dooley	ddrc_cache_lo: memory@80000000 {
65da305fa8SConor Dooley		device_type = "memory";
666c119330SConor Dooley		reg = <0x0 0x80000000 0x0 0x40000000>;
67da305fa8SConor Dooley		status = "okay";
68da305fa8SConor Dooley	};
69da305fa8SConor Dooley
70*d6105a8bSConor Dooley	ddrc_cache_hi: memory@1040000000 {
71da305fa8SConor Dooley		device_type = "memory";
726c119330SConor Dooley		reg = <0x10 0x40000000 0x0 0x40000000>;
73da305fa8SConor Dooley		status = "okay";
74da305fa8SConor Dooley	};
756c119330SConor Dooley
766c119330SConor Dooley	reserved-memory {
776c119330SConor Dooley		#address-cells = <2>;
786c119330SConor Dooley		#size-cells = <2>;
796c119330SConor Dooley		ranges;
806c119330SConor Dooley
816c119330SConor Dooley		hss_payload: region@BFC00000 {
826c119330SConor Dooley			reg = <0x0 0xBFC00000 0x0 0x400000>;
836c119330SConor Dooley			no-map;
846c119330SConor Dooley		};
856c119330SConor Dooley	};
86da305fa8SConor Dooley};
87da305fa8SConor Dooley
88df403b7cSConor Dooley&core_pwm0 {
89da305fa8SConor Dooley	status = "okay";
90da305fa8SConor Dooley};
91da305fa8SConor Dooley
92df403b7cSConor Dooley&gpio2 {
93df403b7cSConor Dooley	interrupts = <53>, <53>, <53>, <53>,
94df403b7cSConor Dooley		     <53>, <53>, <53>, <53>,
95df403b7cSConor Dooley		     <53>, <53>, <53>, <53>,
96df403b7cSConor Dooley		     <53>, <53>, <53>, <53>,
97df403b7cSConor Dooley		     <53>, <53>, <53>, <53>,
98df403b7cSConor Dooley		     <53>, <53>, <53>, <53>,
99df403b7cSConor Dooley		     <53>, <53>, <53>, <53>,
100df403b7cSConor Dooley		     <53>, <53>, <53>, <53>;
101da305fa8SConor Dooley	status = "okay";
102da305fa8SConor Dooley};
103da305fa8SConor Dooley
104da305fa8SConor Dooley&i2c0 {
105da305fa8SConor Dooley	status = "okay";
106da305fa8SConor Dooley};
107da305fa8SConor Dooley
108da305fa8SConor Dooley&i2c1 {
109da305fa8SConor Dooley	status = "okay";
110da305fa8SConor Dooley};
111da305fa8SConor Dooley
112da305fa8SConor Dooley&i2c2 {
113da305fa8SConor Dooley	status = "okay";
114da305fa8SConor Dooley};
115da305fa8SConor Dooley
116da305fa8SConor Dooley&mac0 {
117da305fa8SConor Dooley	phy-mode = "sgmii";
118da305fa8SConor Dooley	phy-handle = <&phy0>;
1191bcea030SConor Dooley	status = "okay";
120da305fa8SConor Dooley};
121da305fa8SConor Dooley
122da305fa8SConor Dooley&mac1 {
123da305fa8SConor Dooley	phy-mode = "sgmii";
124da305fa8SConor Dooley	phy-handle = <&phy1>;
1251bcea030SConor Dooley	status = "okay";
1261bcea030SConor Dooley
127da305fa8SConor Dooley	phy1: ethernet-phy@9 {
128da305fa8SConor Dooley		reg = <9>;
129da305fa8SConor Dooley	};
1301bcea030SConor Dooley
131da305fa8SConor Dooley	phy0: ethernet-phy@8 {
132da305fa8SConor Dooley		reg = <8>;
133da305fa8SConor Dooley	};
134da305fa8SConor Dooley};
135da305fa8SConor Dooley
136da305fa8SConor Dooley&mbox {
137da305fa8SConor Dooley	status = "okay";
138da305fa8SConor Dooley};
139da305fa8SConor Dooley
140df403b7cSConor Dooley&mmc {
141df403b7cSConor Dooley	bus-width = <4>;
142df403b7cSConor Dooley	disable-wp;
143df403b7cSConor Dooley	cap-sd-highspeed;
144df403b7cSConor Dooley	cap-mmc-highspeed;
145df403b7cSConor Dooley	mmc-ddr-1_8v;
146df403b7cSConor Dooley	mmc-hs200-1_8v;
147df403b7cSConor Dooley	sd-uhs-sdr12;
148df403b7cSConor Dooley	sd-uhs-sdr25;
149df403b7cSConor Dooley	sd-uhs-sdr50;
150df403b7cSConor Dooley	sd-uhs-sdr104;
151df403b7cSConor Dooley	status = "okay";
152df403b7cSConor Dooley};
153df403b7cSConor Dooley
154df403b7cSConor Dooley&mmuart1 {
155df403b7cSConor Dooley	status = "okay";
156df403b7cSConor Dooley};
157df403b7cSConor Dooley
158df403b7cSConor Dooley&mmuart2 {
159df403b7cSConor Dooley	status = "okay";
160df403b7cSConor Dooley};
161df403b7cSConor Dooley
162df403b7cSConor Dooley&mmuart3 {
163df403b7cSConor Dooley	status = "okay";
164df403b7cSConor Dooley};
165df403b7cSConor Dooley
166df403b7cSConor Dooley&mmuart4 {
167da305fa8SConor Dooley	status = "okay";
168da305fa8SConor Dooley};
169da305fa8SConor Dooley
170da305fa8SConor Dooley&pcie {
171da305fa8SConor Dooley	status = "okay";
172da305fa8SConor Dooley};
173da305fa8SConor Dooley
174df403b7cSConor Dooley&qspi {
175da305fa8SConor Dooley	status = "okay";
176da305fa8SConor Dooley};
177df403b7cSConor Dooley
178df403b7cSConor Dooley&refclk {
179df403b7cSConor Dooley	clock-frequency = <125000000>;
180df403b7cSConor Dooley};
181df403b7cSConor Dooley
1826863aaa8SConor Dooley&refclk_ccc {
1836863aaa8SConor Dooley	clock-frequency = <50000000>;
1846863aaa8SConor Dooley};
1856863aaa8SConor Dooley
186df403b7cSConor Dooley&rtc {
187df403b7cSConor Dooley	status = "okay";
188df403b7cSConor Dooley};
189df403b7cSConor Dooley
190df403b7cSConor Dooley&spi0 {
191df403b7cSConor Dooley	status = "okay";
192df403b7cSConor Dooley};
193df403b7cSConor Dooley
194df403b7cSConor Dooley&spi1 {
195df403b7cSConor Dooley	status = "okay";
196df403b7cSConor Dooley};
197df403b7cSConor Dooley
198df403b7cSConor Dooley&syscontroller {
199df403b7cSConor Dooley	status = "okay";
200df403b7cSConor Dooley};
201df403b7cSConor Dooley
202df403b7cSConor Dooley&usb {
203df403b7cSConor Dooley	status = "okay";
204df403b7cSConor Dooley	dr_mode = "host";
205df403b7cSConor Dooley};
206