xref: /freebsd-src/sys/contrib/device-tree/src/riscv/microchip/mpfs-icicle-kit.dts (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1d5b0e70fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2d5b0e70fSEmmanuel Vadot/* Copyright (c) 2020-2021 Microchip Technology Inc */
3d5b0e70fSEmmanuel Vadot
4d5b0e70fSEmmanuel Vadot/dts-v1/;
5d5b0e70fSEmmanuel Vadot
6d5b0e70fSEmmanuel Vadot#include "mpfs.dtsi"
7d5b0e70fSEmmanuel Vadot#include "mpfs-icicle-kit-fabric.dtsi"
8d5b0e70fSEmmanuel Vadot
9d5b0e70fSEmmanuel Vadot/* Clock frequency (in Hz) of the rtcclk */
10d5b0e70fSEmmanuel Vadot#define RTCCLK_FREQ		1000000
11d5b0e70fSEmmanuel Vadot
12d5b0e70fSEmmanuel Vadot/ {
13d5b0e70fSEmmanuel Vadot	model = "Microchip PolarFire-SoC Icicle Kit";
14*7ef62cebSEmmanuel Vadot	compatible = "microchip,mpfs-icicle-reference-rtlv2210", "microchip,mpfs-icicle-kit",
15*7ef62cebSEmmanuel Vadot		     "microchip,mpfs";
16d5b0e70fSEmmanuel Vadot
17d5b0e70fSEmmanuel Vadot	aliases {
18d5b0e70fSEmmanuel Vadot		ethernet0 = &mac1;
19d5b0e70fSEmmanuel Vadot		serial0 = &mmuart0;
20d5b0e70fSEmmanuel Vadot		serial1 = &mmuart1;
21d5b0e70fSEmmanuel Vadot		serial2 = &mmuart2;
22d5b0e70fSEmmanuel Vadot		serial3 = &mmuart3;
23d5b0e70fSEmmanuel Vadot		serial4 = &mmuart4;
24d5b0e70fSEmmanuel Vadot	};
25d5b0e70fSEmmanuel Vadot
26d5b0e70fSEmmanuel Vadot	chosen {
27d5b0e70fSEmmanuel Vadot		stdout-path = "serial1:115200n8";
28d5b0e70fSEmmanuel Vadot	};
29d5b0e70fSEmmanuel Vadot
30d5b0e70fSEmmanuel Vadot	cpus {
31d5b0e70fSEmmanuel Vadot		timebase-frequency = <RTCCLK_FREQ>;
32d5b0e70fSEmmanuel Vadot	};
33d5b0e70fSEmmanuel Vadot
34d5b0e70fSEmmanuel Vadot	ddrc_cache_lo: memory@80000000 {
35d5b0e70fSEmmanuel Vadot		device_type = "memory";
36*7ef62cebSEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x40000000>;
37d5b0e70fSEmmanuel Vadot		status = "okay";
38d5b0e70fSEmmanuel Vadot	};
39d5b0e70fSEmmanuel Vadot
40d5b0e70fSEmmanuel Vadot	ddrc_cache_hi: memory@1000000000 {
41d5b0e70fSEmmanuel Vadot		device_type = "memory";
42*7ef62cebSEmmanuel Vadot		reg = <0x10 0x40000000 0x0 0x40000000>;
43d5b0e70fSEmmanuel Vadot		status = "okay";
44d5b0e70fSEmmanuel Vadot	};
45*7ef62cebSEmmanuel Vadot
46*7ef62cebSEmmanuel Vadot	reserved-memory {
47*7ef62cebSEmmanuel Vadot		#address-cells = <2>;
48*7ef62cebSEmmanuel Vadot		#size-cells = <2>;
49*7ef62cebSEmmanuel Vadot		ranges;
50*7ef62cebSEmmanuel Vadot
51*7ef62cebSEmmanuel Vadot		hss_payload: region@BFC00000 {
52*7ef62cebSEmmanuel Vadot			reg = <0x0 0xBFC00000 0x0 0x400000>;
53*7ef62cebSEmmanuel Vadot			no-map;
54*7ef62cebSEmmanuel Vadot		};
55*7ef62cebSEmmanuel Vadot	};
56d5b0e70fSEmmanuel Vadot};
57d5b0e70fSEmmanuel Vadot
58d5b0e70fSEmmanuel Vadot&core_pwm0 {
59d5b0e70fSEmmanuel Vadot	status = "okay";
60d5b0e70fSEmmanuel Vadot};
61d5b0e70fSEmmanuel Vadot
62d5b0e70fSEmmanuel Vadot&gpio2 {
63d5b0e70fSEmmanuel Vadot	interrupts = <53>, <53>, <53>, <53>,
64d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
65d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
66d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
67d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
68d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
69d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
70d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>;
71d5b0e70fSEmmanuel Vadot	status = "okay";
72d5b0e70fSEmmanuel Vadot};
73d5b0e70fSEmmanuel Vadot
74d5b0e70fSEmmanuel Vadot&i2c0 {
75d5b0e70fSEmmanuel Vadot	status = "okay";
76d5b0e70fSEmmanuel Vadot};
77d5b0e70fSEmmanuel Vadot
78d5b0e70fSEmmanuel Vadot&i2c1 {
79d5b0e70fSEmmanuel Vadot	status = "okay";
80d5b0e70fSEmmanuel Vadot};
81d5b0e70fSEmmanuel Vadot
82d5b0e70fSEmmanuel Vadot&i2c2 {
83d5b0e70fSEmmanuel Vadot	status = "okay";
84d5b0e70fSEmmanuel Vadot};
85d5b0e70fSEmmanuel Vadot
86d5b0e70fSEmmanuel Vadot&mac0 {
87d5b0e70fSEmmanuel Vadot	phy-mode = "sgmii";
88d5b0e70fSEmmanuel Vadot	phy-handle = <&phy0>;
89d5b0e70fSEmmanuel Vadot	status = "okay";
90d5b0e70fSEmmanuel Vadot};
91d5b0e70fSEmmanuel Vadot
92d5b0e70fSEmmanuel Vadot&mac1 {
93d5b0e70fSEmmanuel Vadot	phy-mode = "sgmii";
94d5b0e70fSEmmanuel Vadot	phy-handle = <&phy1>;
95d5b0e70fSEmmanuel Vadot	status = "okay";
96d5b0e70fSEmmanuel Vadot
97d5b0e70fSEmmanuel Vadot	phy1: ethernet-phy@9 {
98d5b0e70fSEmmanuel Vadot		reg = <9>;
99d5b0e70fSEmmanuel Vadot	};
100d5b0e70fSEmmanuel Vadot
101d5b0e70fSEmmanuel Vadot	phy0: ethernet-phy@8 {
102d5b0e70fSEmmanuel Vadot		reg = <8>;
103d5b0e70fSEmmanuel Vadot	};
104d5b0e70fSEmmanuel Vadot};
105d5b0e70fSEmmanuel Vadot
106d5b0e70fSEmmanuel Vadot&mbox {
107d5b0e70fSEmmanuel Vadot	status = "okay";
108d5b0e70fSEmmanuel Vadot};
109d5b0e70fSEmmanuel Vadot
110d5b0e70fSEmmanuel Vadot&mmc {
111d5b0e70fSEmmanuel Vadot	bus-width = <4>;
112d5b0e70fSEmmanuel Vadot	disable-wp;
113d5b0e70fSEmmanuel Vadot	cap-sd-highspeed;
114d5b0e70fSEmmanuel Vadot	cap-mmc-highspeed;
115d5b0e70fSEmmanuel Vadot	mmc-ddr-1_8v;
116d5b0e70fSEmmanuel Vadot	mmc-hs200-1_8v;
117d5b0e70fSEmmanuel Vadot	sd-uhs-sdr12;
118d5b0e70fSEmmanuel Vadot	sd-uhs-sdr25;
119d5b0e70fSEmmanuel Vadot	sd-uhs-sdr50;
120d5b0e70fSEmmanuel Vadot	sd-uhs-sdr104;
121d5b0e70fSEmmanuel Vadot	status = "okay";
122d5b0e70fSEmmanuel Vadot};
123d5b0e70fSEmmanuel Vadot
124d5b0e70fSEmmanuel Vadot&mmuart1 {
125d5b0e70fSEmmanuel Vadot	status = "okay";
126d5b0e70fSEmmanuel Vadot};
127d5b0e70fSEmmanuel Vadot
128d5b0e70fSEmmanuel Vadot&mmuart2 {
129d5b0e70fSEmmanuel Vadot	status = "okay";
130d5b0e70fSEmmanuel Vadot};
131d5b0e70fSEmmanuel Vadot
132d5b0e70fSEmmanuel Vadot&mmuart3 {
133d5b0e70fSEmmanuel Vadot	status = "okay";
134d5b0e70fSEmmanuel Vadot};
135d5b0e70fSEmmanuel Vadot
136d5b0e70fSEmmanuel Vadot&mmuart4 {
137d5b0e70fSEmmanuel Vadot	status = "okay";
138d5b0e70fSEmmanuel Vadot};
139d5b0e70fSEmmanuel Vadot
140d5b0e70fSEmmanuel Vadot&pcie {
141d5b0e70fSEmmanuel Vadot	status = "okay";
142d5b0e70fSEmmanuel Vadot};
143d5b0e70fSEmmanuel Vadot
144d5b0e70fSEmmanuel Vadot&qspi {
145d5b0e70fSEmmanuel Vadot	status = "okay";
146d5b0e70fSEmmanuel Vadot};
147d5b0e70fSEmmanuel Vadot
148d5b0e70fSEmmanuel Vadot&refclk {
149d5b0e70fSEmmanuel Vadot	clock-frequency = <125000000>;
150d5b0e70fSEmmanuel Vadot};
151d5b0e70fSEmmanuel Vadot
152d5b0e70fSEmmanuel Vadot&rtc {
153d5b0e70fSEmmanuel Vadot	status = "okay";
154d5b0e70fSEmmanuel Vadot};
155d5b0e70fSEmmanuel Vadot
156d5b0e70fSEmmanuel Vadot&spi0 {
157d5b0e70fSEmmanuel Vadot	status = "okay";
158d5b0e70fSEmmanuel Vadot};
159d5b0e70fSEmmanuel Vadot
160d5b0e70fSEmmanuel Vadot&spi1 {
161d5b0e70fSEmmanuel Vadot	status = "okay";
162d5b0e70fSEmmanuel Vadot};
163d5b0e70fSEmmanuel Vadot
164d5b0e70fSEmmanuel Vadot&syscontroller {
165d5b0e70fSEmmanuel Vadot	status = "okay";
166d5b0e70fSEmmanuel Vadot};
167d5b0e70fSEmmanuel Vadot
168d5b0e70fSEmmanuel Vadot&usb {
169d5b0e70fSEmmanuel Vadot	status = "okay";
170d5b0e70fSEmmanuel Vadot	dr_mode = "host";
171d5b0e70fSEmmanuel Vadot};
172