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"
8da305fa8SConor Dooley
9da305fa8SConor Dooley/* Clock frequency (in Hz) of the rtcclk */
10da305fa8SConor Dooley#define RTCCLK_FREQ		1000000
11da305fa8SConor Dooley
12da305fa8SConor Dooley/ {
13da305fa8SConor Dooley	model = "Microchip PolarFire-SoC Icicle Kit";
14da305fa8SConor Dooley	compatible = "microchip,mpfs-icicle-kit", "microchip,mpfs";
15da305fa8SConor Dooley
16da305fa8SConor Dooley	aliases {
17da305fa8SConor Dooley		ethernet0 = &mac1;
18da305fa8SConor Dooley		serial0 = &mmuart0;
19da305fa8SConor Dooley		serial1 = &mmuart1;
20da305fa8SConor Dooley		serial2 = &mmuart2;
21da305fa8SConor Dooley		serial3 = &mmuart3;
22da305fa8SConor Dooley		serial4 = &mmuart4;
23da305fa8SConor Dooley	};
24da305fa8SConor Dooley
25da305fa8SConor Dooley	chosen {
26da305fa8SConor Dooley		stdout-path = "serial1:115200n8";
27da305fa8SConor Dooley	};
28da305fa8SConor Dooley
29da305fa8SConor Dooley	cpus {
30da305fa8SConor Dooley		timebase-frequency = <RTCCLK_FREQ>;
31da305fa8SConor Dooley	};
32da305fa8SConor Dooley
33da305fa8SConor Dooley	ddrc_cache_lo: memory@80000000 {
34da305fa8SConor Dooley		device_type = "memory";
35da305fa8SConor Dooley		reg = <0x0 0x80000000 0x0 0x2e000000>;
36da305fa8SConor Dooley		status = "okay";
37da305fa8SConor Dooley	};
38da305fa8SConor Dooley
39da305fa8SConor Dooley	ddrc_cache_hi: memory@1000000000 {
40da305fa8SConor Dooley		device_type = "memory";
41da305fa8SConor Dooley		reg = <0x10 0x0 0x0 0x40000000>;
42da305fa8SConor Dooley		status = "okay";
43da305fa8SConor Dooley	};
44da305fa8SConor Dooley};
45da305fa8SConor Dooley
46da305fa8SConor Dooley&refclk {
47da305fa8SConor Dooley	clock-frequency = <125000000>;
48da305fa8SConor Dooley};
49da305fa8SConor Dooley
50da305fa8SConor Dooley&mmuart1 {
51da305fa8SConor Dooley	status = "okay";
52da305fa8SConor Dooley};
53da305fa8SConor Dooley
54da305fa8SConor Dooley&mmuart2 {
55da305fa8SConor Dooley	status = "okay";
56da305fa8SConor Dooley};
57da305fa8SConor Dooley
58da305fa8SConor Dooley&mmuart3 {
59da305fa8SConor Dooley	status = "okay";
60da305fa8SConor Dooley};
61da305fa8SConor Dooley
62da305fa8SConor Dooley&mmuart4 {
63da305fa8SConor Dooley	status = "okay";
64da305fa8SConor Dooley};
65da305fa8SConor Dooley
66da305fa8SConor Dooley&mmc {
67da305fa8SConor Dooley	bus-width = <4>;
68da305fa8SConor Dooley	disable-wp;
69da305fa8SConor Dooley	cap-sd-highspeed;
70da305fa8SConor Dooley	cap-mmc-highspeed;
71da305fa8SConor Dooley	card-detect-delay = <200>;
72da305fa8SConor Dooley	mmc-ddr-1_8v;
73da305fa8SConor Dooley	mmc-hs200-1_8v;
74da305fa8SConor Dooley	sd-uhs-sdr12;
75da305fa8SConor Dooley	sd-uhs-sdr25;
76da305fa8SConor Dooley	sd-uhs-sdr50;
77da305fa8SConor Dooley	sd-uhs-sdr104;
78*1bcea030SConor Dooley	status = "okay";
79da305fa8SConor Dooley};
80da305fa8SConor Dooley
81da305fa8SConor Dooley&spi0 {
82da305fa8SConor Dooley	status = "okay";
83da305fa8SConor Dooley};
84da305fa8SConor Dooley
85da305fa8SConor Dooley&spi1 {
86da305fa8SConor Dooley	status = "okay";
87da305fa8SConor Dooley};
88da305fa8SConor Dooley
89da305fa8SConor Dooley&qspi {
90da305fa8SConor Dooley	status = "okay";
91da305fa8SConor Dooley};
92da305fa8SConor Dooley
93da305fa8SConor Dooley&i2c0 {
94da305fa8SConor Dooley	status = "okay";
95da305fa8SConor Dooley};
96da305fa8SConor Dooley
97da305fa8SConor Dooley&i2c1 {
98da305fa8SConor Dooley	status = "okay";
99da305fa8SConor Dooley};
100da305fa8SConor Dooley
101da305fa8SConor Dooley&i2c2 {
102da305fa8SConor Dooley	status = "okay";
103da305fa8SConor Dooley};
104da305fa8SConor Dooley
105da305fa8SConor Dooley&mac0 {
106da305fa8SConor Dooley	phy-mode = "sgmii";
107da305fa8SConor Dooley	phy-handle = <&phy0>;
108*1bcea030SConor Dooley	status = "okay";
109da305fa8SConor Dooley};
110da305fa8SConor Dooley
111da305fa8SConor Dooley&mac1 {
112da305fa8SConor Dooley	phy-mode = "sgmii";
113da305fa8SConor Dooley	phy-handle = <&phy1>;
114*1bcea030SConor Dooley	status = "okay";
115*1bcea030SConor Dooley
116da305fa8SConor Dooley	phy1: ethernet-phy@9 {
117da305fa8SConor Dooley		reg = <9>;
118da305fa8SConor Dooley		ti,fifo-depth = <0x1>;
119da305fa8SConor Dooley	};
120*1bcea030SConor Dooley
121da305fa8SConor Dooley	phy0: ethernet-phy@8 {
122da305fa8SConor Dooley		reg = <8>;
123da305fa8SConor Dooley		ti,fifo-depth = <0x1>;
124da305fa8SConor Dooley	};
125da305fa8SConor Dooley};
126da305fa8SConor Dooley
127da305fa8SConor Dooley&gpio2 {
128da305fa8SConor Dooley	interrupts = <53>, <53>, <53>, <53>,
129da305fa8SConor Dooley		     <53>, <53>, <53>, <53>,
130da305fa8SConor Dooley		     <53>, <53>, <53>, <53>,
131da305fa8SConor Dooley		     <53>, <53>, <53>, <53>,
132da305fa8SConor Dooley		     <53>, <53>, <53>, <53>,
133da305fa8SConor Dooley		     <53>, <53>, <53>, <53>,
134da305fa8SConor Dooley		     <53>, <53>, <53>, <53>,
135da305fa8SConor Dooley		     <53>, <53>, <53>, <53>;
136da305fa8SConor Dooley	status = "okay";
137da305fa8SConor Dooley};
138da305fa8SConor Dooley
139da305fa8SConor Dooley&rtc {
140da305fa8SConor Dooley	status = "okay";
141da305fa8SConor Dooley};
142da305fa8SConor Dooley
143da305fa8SConor Dooley&usb {
144da305fa8SConor Dooley	status = "okay";
145da305fa8SConor Dooley	dr_mode = "host";
146da305fa8SConor Dooley};
147da305fa8SConor Dooley
148da305fa8SConor Dooley&mbox {
149da305fa8SConor Dooley	status = "okay";
150da305fa8SConor Dooley};
151da305fa8SConor Dooley
152da305fa8SConor Dooley&syscontroller {
153da305fa8SConor Dooley	status = "okay";
154da305fa8SConor Dooley};
155da305fa8SConor Dooley
156da305fa8SConor Dooley&pcie {
157da305fa8SConor Dooley	status = "okay";
158da305fa8SConor Dooley};
159da305fa8SConor Dooley
160da305fa8SConor Dooley&core_pwm0 {
161da305fa8SConor Dooley	status = "okay";
162da305fa8SConor Dooley};
163