xref: /freebsd-src/sys/contrib/device-tree/src/riscv/microchip/mpfs-icicle-kit.dts (revision 7d0873ebb83b19ba1e8a89e679470d885efe12e3)
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"
88bab661aSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
98bab661aSEmmanuel Vadot#include <dt-bindings/leds/common.h>
10d5b0e70fSEmmanuel Vadot
11d5b0e70fSEmmanuel Vadot/ {
12d5b0e70fSEmmanuel Vadot	model = "Microchip PolarFire-SoC Icicle Kit";
137ef62cebSEmmanuel Vadot	compatible = "microchip,mpfs-icicle-reference-rtlv2210", "microchip,mpfs-icicle-kit",
147ef62cebSEmmanuel Vadot		     "microchip,mpfs";
15d5b0e70fSEmmanuel Vadot
16d5b0e70fSEmmanuel Vadot	aliases {
17d5b0e70fSEmmanuel Vadot		ethernet0 = &mac1;
18d5b0e70fSEmmanuel Vadot		serial0 = &mmuart0;
19d5b0e70fSEmmanuel Vadot		serial1 = &mmuart1;
20d5b0e70fSEmmanuel Vadot		serial2 = &mmuart2;
21d5b0e70fSEmmanuel Vadot		serial3 = &mmuart3;
22d5b0e70fSEmmanuel Vadot		serial4 = &mmuart4;
23d5b0e70fSEmmanuel Vadot	};
24d5b0e70fSEmmanuel Vadot
25d5b0e70fSEmmanuel Vadot	chosen {
26d5b0e70fSEmmanuel Vadot		stdout-path = "serial1:115200n8";
27d5b0e70fSEmmanuel Vadot	};
28d5b0e70fSEmmanuel Vadot
298bab661aSEmmanuel Vadot	leds {
308bab661aSEmmanuel Vadot		compatible = "gpio-leds";
318bab661aSEmmanuel Vadot
328bab661aSEmmanuel Vadot		led-1 {
338bab661aSEmmanuel Vadot			gpios = <&gpio2 16 GPIO_ACTIVE_HIGH>;
348bab661aSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
358bab661aSEmmanuel Vadot			label = "led1";
368bab661aSEmmanuel Vadot		};
378bab661aSEmmanuel Vadot
388bab661aSEmmanuel Vadot		led-2 {
398bab661aSEmmanuel Vadot			gpios = <&gpio2 17 GPIO_ACTIVE_HIGH>;
408bab661aSEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
418bab661aSEmmanuel Vadot			label = "led2";
428bab661aSEmmanuel Vadot		};
438bab661aSEmmanuel Vadot
448bab661aSEmmanuel Vadot		led-3 {
458bab661aSEmmanuel Vadot			gpios = <&gpio2 18 GPIO_ACTIVE_HIGH>;
468bab661aSEmmanuel Vadot			color = <LED_COLOR_ID_AMBER>;
478bab661aSEmmanuel Vadot			label = "led3";
488bab661aSEmmanuel Vadot		};
498bab661aSEmmanuel Vadot
508bab661aSEmmanuel Vadot		led-4 {
518bab661aSEmmanuel Vadot			gpios = <&gpio2 19 GPIO_ACTIVE_HIGH>;
528bab661aSEmmanuel Vadot			color = <LED_COLOR_ID_AMBER>;
538bab661aSEmmanuel Vadot			label = "led4";
548bab661aSEmmanuel Vadot		};
558bab661aSEmmanuel Vadot	};
568bab661aSEmmanuel Vadot
57d5b0e70fSEmmanuel Vadot	ddrc_cache_lo: memory@80000000 {
58d5b0e70fSEmmanuel Vadot		device_type = "memory";
597ef62cebSEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x40000000>;
60d5b0e70fSEmmanuel Vadot		status = "okay";
61d5b0e70fSEmmanuel Vadot	};
62d5b0e70fSEmmanuel Vadot
638bab661aSEmmanuel Vadot	ddrc_cache_hi: memory@1040000000 {
64d5b0e70fSEmmanuel Vadot		device_type = "memory";
657ef62cebSEmmanuel Vadot		reg = <0x10 0x40000000 0x0 0x40000000>;
66d5b0e70fSEmmanuel Vadot		status = "okay";
67d5b0e70fSEmmanuel Vadot	};
687ef62cebSEmmanuel Vadot
697ef62cebSEmmanuel Vadot	reserved-memory {
707ef62cebSEmmanuel Vadot		#address-cells = <2>;
717ef62cebSEmmanuel Vadot		#size-cells = <2>;
727ef62cebSEmmanuel Vadot		ranges;
737ef62cebSEmmanuel Vadot
747ef62cebSEmmanuel Vadot		hss_payload: region@BFC00000 {
757ef62cebSEmmanuel Vadot			reg = <0x0 0xBFC00000 0x0 0x400000>;
767ef62cebSEmmanuel Vadot			no-map;
777ef62cebSEmmanuel Vadot		};
787ef62cebSEmmanuel Vadot	};
79d5b0e70fSEmmanuel Vadot};
80d5b0e70fSEmmanuel Vadot
81d5b0e70fSEmmanuel Vadot&core_pwm0 {
82d5b0e70fSEmmanuel Vadot	status = "okay";
83d5b0e70fSEmmanuel Vadot};
84d5b0e70fSEmmanuel Vadot
85d5b0e70fSEmmanuel Vadot&gpio2 {
86d5b0e70fSEmmanuel Vadot	interrupts = <53>, <53>, <53>, <53>,
87d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
88d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
89d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
90d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
91d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
92d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>,
93d5b0e70fSEmmanuel Vadot		     <53>, <53>, <53>, <53>;
94d5b0e70fSEmmanuel Vadot	status = "okay";
95d5b0e70fSEmmanuel Vadot};
96d5b0e70fSEmmanuel Vadot
97d5b0e70fSEmmanuel Vadot&i2c0 {
98d5b0e70fSEmmanuel Vadot	status = "okay";
99d5b0e70fSEmmanuel Vadot};
100d5b0e70fSEmmanuel Vadot
101d5b0e70fSEmmanuel Vadot&i2c1 {
102d5b0e70fSEmmanuel Vadot	status = "okay";
103*7d0873ebSEmmanuel Vadot
104*7d0873ebSEmmanuel Vadot	power-monitor@10 {
105*7d0873ebSEmmanuel Vadot		compatible = "microchip,pac1934";
106*7d0873ebSEmmanuel Vadot		reg = <0x10>;
107*7d0873ebSEmmanuel Vadot
108*7d0873ebSEmmanuel Vadot		#address-cells = <1>;
109*7d0873ebSEmmanuel Vadot		#size-cells = <0>;
110*7d0873ebSEmmanuel Vadot
111*7d0873ebSEmmanuel Vadot		channel@1 {
112*7d0873ebSEmmanuel Vadot			reg = <0x1>;
113*7d0873ebSEmmanuel Vadot			shunt-resistor-micro-ohms = <10000>;
114*7d0873ebSEmmanuel Vadot			label = "VDDREG";
115*7d0873ebSEmmanuel Vadot		};
116*7d0873ebSEmmanuel Vadot
117*7d0873ebSEmmanuel Vadot		channel@2 {
118*7d0873ebSEmmanuel Vadot			reg = <0x2>;
119*7d0873ebSEmmanuel Vadot			shunt-resistor-micro-ohms = <10000>;
120*7d0873ebSEmmanuel Vadot			label = "VDDA25";
121*7d0873ebSEmmanuel Vadot		};
122*7d0873ebSEmmanuel Vadot
123*7d0873ebSEmmanuel Vadot		channel@3 {
124*7d0873ebSEmmanuel Vadot			reg = <0x3>;
125*7d0873ebSEmmanuel Vadot			shunt-resistor-micro-ohms = <10000>;
126*7d0873ebSEmmanuel Vadot			label = "VDD25";
127*7d0873ebSEmmanuel Vadot		};
128*7d0873ebSEmmanuel Vadot
129*7d0873ebSEmmanuel Vadot		channel@4 {
130*7d0873ebSEmmanuel Vadot			reg = <0x4>;
131*7d0873ebSEmmanuel Vadot			shunt-resistor-micro-ohms = <10000>;
132*7d0873ebSEmmanuel Vadot			label = "VDDA_REG";
133*7d0873ebSEmmanuel Vadot		};
134*7d0873ebSEmmanuel Vadot	};
135d5b0e70fSEmmanuel Vadot};
136d5b0e70fSEmmanuel Vadot
137d5b0e70fSEmmanuel Vadot&i2c2 {
138d5b0e70fSEmmanuel Vadot	status = "okay";
139d5b0e70fSEmmanuel Vadot};
140d5b0e70fSEmmanuel Vadot
141d5b0e70fSEmmanuel Vadot&mac0 {
142d5b0e70fSEmmanuel Vadot	phy-mode = "sgmii";
143d5b0e70fSEmmanuel Vadot	phy-handle = <&phy0>;
144d5b0e70fSEmmanuel Vadot	status = "okay";
145d5b0e70fSEmmanuel Vadot};
146d5b0e70fSEmmanuel Vadot
147d5b0e70fSEmmanuel Vadot&mac1 {
148d5b0e70fSEmmanuel Vadot	phy-mode = "sgmii";
149d5b0e70fSEmmanuel Vadot	phy-handle = <&phy1>;
150d5b0e70fSEmmanuel Vadot	status = "okay";
151d5b0e70fSEmmanuel Vadot
152d5b0e70fSEmmanuel Vadot	phy1: ethernet-phy@9 {
153d5b0e70fSEmmanuel Vadot		reg = <9>;
154d5b0e70fSEmmanuel Vadot	};
155d5b0e70fSEmmanuel Vadot
156d5b0e70fSEmmanuel Vadot	phy0: ethernet-phy@8 {
157d5b0e70fSEmmanuel Vadot		reg = <8>;
158d5b0e70fSEmmanuel Vadot	};
159d5b0e70fSEmmanuel Vadot};
160d5b0e70fSEmmanuel Vadot
161d5b0e70fSEmmanuel Vadot&mbox {
162d5b0e70fSEmmanuel Vadot	status = "okay";
163d5b0e70fSEmmanuel Vadot};
164d5b0e70fSEmmanuel Vadot
165d5b0e70fSEmmanuel Vadot&mmc {
166d5b0e70fSEmmanuel Vadot	bus-width = <4>;
167d5b0e70fSEmmanuel Vadot	disable-wp;
168d5b0e70fSEmmanuel Vadot	cap-sd-highspeed;
169d5b0e70fSEmmanuel Vadot	cap-mmc-highspeed;
170d5b0e70fSEmmanuel Vadot	mmc-ddr-1_8v;
171d5b0e70fSEmmanuel Vadot	mmc-hs200-1_8v;
172d5b0e70fSEmmanuel Vadot	sd-uhs-sdr12;
173d5b0e70fSEmmanuel Vadot	sd-uhs-sdr25;
174d5b0e70fSEmmanuel Vadot	sd-uhs-sdr50;
175d5b0e70fSEmmanuel Vadot	sd-uhs-sdr104;
176d5b0e70fSEmmanuel Vadot	status = "okay";
177d5b0e70fSEmmanuel Vadot};
178d5b0e70fSEmmanuel Vadot
179d5b0e70fSEmmanuel Vadot&mmuart1 {
180d5b0e70fSEmmanuel Vadot	status = "okay";
181d5b0e70fSEmmanuel Vadot};
182d5b0e70fSEmmanuel Vadot
183d5b0e70fSEmmanuel Vadot&mmuart2 {
184d5b0e70fSEmmanuel Vadot	status = "okay";
185d5b0e70fSEmmanuel Vadot};
186d5b0e70fSEmmanuel Vadot
187d5b0e70fSEmmanuel Vadot&mmuart3 {
188d5b0e70fSEmmanuel Vadot	status = "okay";
189d5b0e70fSEmmanuel Vadot};
190d5b0e70fSEmmanuel Vadot
191d5b0e70fSEmmanuel Vadot&mmuart4 {
192d5b0e70fSEmmanuel Vadot	status = "okay";
193d5b0e70fSEmmanuel Vadot};
194d5b0e70fSEmmanuel Vadot
195d5b0e70fSEmmanuel Vadot&pcie {
196d5b0e70fSEmmanuel Vadot	status = "okay";
197d5b0e70fSEmmanuel Vadot};
198d5b0e70fSEmmanuel Vadot
199d5b0e70fSEmmanuel Vadot&qspi {
200d5b0e70fSEmmanuel Vadot	status = "okay";
201d5b0e70fSEmmanuel Vadot};
202d5b0e70fSEmmanuel Vadot
203d5b0e70fSEmmanuel Vadot&refclk {
204d5b0e70fSEmmanuel Vadot	clock-frequency = <125000000>;
205d5b0e70fSEmmanuel Vadot};
206d5b0e70fSEmmanuel Vadot
2078bab661aSEmmanuel Vadot&refclk_ccc {
2088bab661aSEmmanuel Vadot	clock-frequency = <50000000>;
2098bab661aSEmmanuel Vadot};
2108bab661aSEmmanuel Vadot
211d5b0e70fSEmmanuel Vadot&rtc {
212d5b0e70fSEmmanuel Vadot	status = "okay";
213d5b0e70fSEmmanuel Vadot};
214d5b0e70fSEmmanuel Vadot
215d5b0e70fSEmmanuel Vadot&spi0 {
216d5b0e70fSEmmanuel Vadot	status = "okay";
217d5b0e70fSEmmanuel Vadot};
218d5b0e70fSEmmanuel Vadot
219d5b0e70fSEmmanuel Vadot&spi1 {
220d5b0e70fSEmmanuel Vadot	status = "okay";
221d5b0e70fSEmmanuel Vadot};
222d5b0e70fSEmmanuel Vadot
223d5b0e70fSEmmanuel Vadot&syscontroller {
224d5b0e70fSEmmanuel Vadot	status = "okay";
225d5b0e70fSEmmanuel Vadot};
226d5b0e70fSEmmanuel Vadot
2278d13bc63SEmmanuel Vadot&syscontroller_qspi {
2288d13bc63SEmmanuel Vadot	/*
2298d13bc63SEmmanuel Vadot	 * The flash *is* there, but Icicle kits that have engineering sample
2308d13bc63SEmmanuel Vadot	 * silicon (write?) access to this flash to non-functional. The system
2318d13bc63SEmmanuel Vadot	 * controller itself can actually access it, but the MSS cannot write
2328d13bc63SEmmanuel Vadot	 * an image there. Instantiating a coreQSPI in the fabric & connecting
2338d13bc63SEmmanuel Vadot	 * it to the flash instead should work though. Pre-production or later
2348d13bc63SEmmanuel Vadot	 * silicon does not have this issue.
2358d13bc63SEmmanuel Vadot	 */
2368d13bc63SEmmanuel Vadot	status = "disabled";
2378d13bc63SEmmanuel Vadot
2388d13bc63SEmmanuel Vadot	sys_ctrl_flash: flash@0 { // MT25QL01GBBB8ESF-0SIT
2398d13bc63SEmmanuel Vadot		compatible = "jedec,spi-nor";
2408d13bc63SEmmanuel Vadot		#address-cells = <1>;
2418d13bc63SEmmanuel Vadot		#size-cells = <1>;
2428d13bc63SEmmanuel Vadot		spi-max-frequency = <20000000>;
2438d13bc63SEmmanuel Vadot		spi-rx-bus-width = <1>;
2448d13bc63SEmmanuel Vadot		reg = <0>;
2458d13bc63SEmmanuel Vadot	};
2468d13bc63SEmmanuel Vadot};
2478d13bc63SEmmanuel Vadot
248d5b0e70fSEmmanuel Vadot&usb {
249d5b0e70fSEmmanuel Vadot	status = "okay";
250d5b0e70fSEmmanuel Vadot	dr_mode = "host";
251d5b0e70fSEmmanuel Vadot};
252