xref: /freebsd-src/sys/contrib/device-tree/src/riscv/microchip/microchip-mpfs-icicle-kit.dts (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
12eb4d8dcSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2*c9ccf3a3SEmmanuel Vadot/* Copyright (c) 2020-2021 Microchip Technology Inc */
32eb4d8dcSEmmanuel Vadot
42eb4d8dcSEmmanuel Vadot/dts-v1/;
52eb4d8dcSEmmanuel Vadot
62eb4d8dcSEmmanuel Vadot#include "microchip-mpfs.dtsi"
72eb4d8dcSEmmanuel Vadot
82eb4d8dcSEmmanuel Vadot/* Clock frequency (in Hz) of the rtcclk */
92eb4d8dcSEmmanuel Vadot#define RTCCLK_FREQ		1000000
102eb4d8dcSEmmanuel Vadot
112eb4d8dcSEmmanuel Vadot/ {
122eb4d8dcSEmmanuel Vadot	model = "Microchip PolarFire-SoC Icicle Kit";
138cc087a1SEmmanuel Vadot	compatible = "microchip,mpfs-icicle-kit", "microchip,mpfs";
142eb4d8dcSEmmanuel Vadot
155956d97fSEmmanuel Vadot	aliases {
16*c9ccf3a3SEmmanuel Vadot		ethernet0 = &mac1;
17*c9ccf3a3SEmmanuel Vadot		serial0 = &mmuart0;
18*c9ccf3a3SEmmanuel Vadot		serial1 = &mmuart1;
19*c9ccf3a3SEmmanuel Vadot		serial2 = &mmuart2;
20*c9ccf3a3SEmmanuel Vadot		serial3 = &mmuart3;
21*c9ccf3a3SEmmanuel Vadot		serial4 = &mmuart4;
225956d97fSEmmanuel Vadot	};
235956d97fSEmmanuel Vadot
242eb4d8dcSEmmanuel Vadot	chosen {
25*c9ccf3a3SEmmanuel Vadot		stdout-path = "serial1:115200n8";
262eb4d8dcSEmmanuel Vadot	};
272eb4d8dcSEmmanuel Vadot
282eb4d8dcSEmmanuel Vadot	cpus {
292eb4d8dcSEmmanuel Vadot		timebase-frequency = <RTCCLK_FREQ>;
302eb4d8dcSEmmanuel Vadot	};
312eb4d8dcSEmmanuel Vadot
32*c9ccf3a3SEmmanuel Vadot	ddrc_cache_lo: memory@80000000 {
332eb4d8dcSEmmanuel Vadot		device_type = "memory";
34*c9ccf3a3SEmmanuel Vadot		reg = <0x0 0x80000000 0x0 0x2e000000>;
35*c9ccf3a3SEmmanuel Vadot		clocks = <&clkcfg CLK_DDRC>;
36*c9ccf3a3SEmmanuel Vadot		status = "okay";
37*c9ccf3a3SEmmanuel Vadot	};
38*c9ccf3a3SEmmanuel Vadot
39*c9ccf3a3SEmmanuel Vadot	ddrc_cache_hi: memory@1000000000 {
40*c9ccf3a3SEmmanuel Vadot		device_type = "memory";
41*c9ccf3a3SEmmanuel Vadot		reg = <0x10 0x0 0x0 0x40000000>;
42*c9ccf3a3SEmmanuel Vadot		clocks = <&clkcfg CLK_DDRC>;
43*c9ccf3a3SEmmanuel Vadot		status = "okay";
442eb4d8dcSEmmanuel Vadot	};
452eb4d8dcSEmmanuel Vadot};
462eb4d8dcSEmmanuel Vadot
47e67e8565SEmmanuel Vadot&refclk {
48*c9ccf3a3SEmmanuel Vadot	clock-frequency = <125000000>;
49e67e8565SEmmanuel Vadot};
50e67e8565SEmmanuel Vadot
51*c9ccf3a3SEmmanuel Vadot&mmuart1 {
522eb4d8dcSEmmanuel Vadot	status = "okay";
532eb4d8dcSEmmanuel Vadot};
542eb4d8dcSEmmanuel Vadot
55*c9ccf3a3SEmmanuel Vadot&mmuart2 {
562eb4d8dcSEmmanuel Vadot	status = "okay";
572eb4d8dcSEmmanuel Vadot};
582eb4d8dcSEmmanuel Vadot
59*c9ccf3a3SEmmanuel Vadot&mmuart3 {
602eb4d8dcSEmmanuel Vadot	status = "okay";
612eb4d8dcSEmmanuel Vadot};
622eb4d8dcSEmmanuel Vadot
63*c9ccf3a3SEmmanuel Vadot&mmuart4 {
642eb4d8dcSEmmanuel Vadot	status = "okay";
652eb4d8dcSEmmanuel Vadot};
662eb4d8dcSEmmanuel Vadot
678cc087a1SEmmanuel Vadot&mmc {
682eb4d8dcSEmmanuel Vadot	status = "okay";
698cc087a1SEmmanuel Vadot
708cc087a1SEmmanuel Vadot	bus-width = <4>;
718cc087a1SEmmanuel Vadot	disable-wp;
728cc087a1SEmmanuel Vadot	cap-sd-highspeed;
73*c9ccf3a3SEmmanuel Vadot	cap-mmc-highspeed;
748cc087a1SEmmanuel Vadot	card-detect-delay = <200>;
75*c9ccf3a3SEmmanuel Vadot	mmc-ddr-1_8v;
76*c9ccf3a3SEmmanuel Vadot	mmc-hs200-1_8v;
778cc087a1SEmmanuel Vadot	sd-uhs-sdr12;
788cc087a1SEmmanuel Vadot	sd-uhs-sdr25;
798cc087a1SEmmanuel Vadot	sd-uhs-sdr50;
808cc087a1SEmmanuel Vadot	sd-uhs-sdr104;
812eb4d8dcSEmmanuel Vadot};
822eb4d8dcSEmmanuel Vadot
83*c9ccf3a3SEmmanuel Vadot&spi0 {
84*c9ccf3a3SEmmanuel Vadot	status = "okay";
852eb4d8dcSEmmanuel Vadot};
862eb4d8dcSEmmanuel Vadot
87*c9ccf3a3SEmmanuel Vadot&spi1 {
88*c9ccf3a3SEmmanuel Vadot	status = "okay";
89*c9ccf3a3SEmmanuel Vadot};
90*c9ccf3a3SEmmanuel Vadot
91*c9ccf3a3SEmmanuel Vadot&qspi {
92*c9ccf3a3SEmmanuel Vadot	status = "okay";
93*c9ccf3a3SEmmanuel Vadot};
94*c9ccf3a3SEmmanuel Vadot
95*c9ccf3a3SEmmanuel Vadot&i2c0 {
96*c9ccf3a3SEmmanuel Vadot	status = "okay";
97*c9ccf3a3SEmmanuel Vadot};
98*c9ccf3a3SEmmanuel Vadot
99*c9ccf3a3SEmmanuel Vadot&i2c1 {
100*c9ccf3a3SEmmanuel Vadot	status = "okay";
101*c9ccf3a3SEmmanuel Vadot};
102*c9ccf3a3SEmmanuel Vadot
103*c9ccf3a3SEmmanuel Vadot&i2c2 {
104*c9ccf3a3SEmmanuel Vadot	status = "okay";
105*c9ccf3a3SEmmanuel Vadot};
106*c9ccf3a3SEmmanuel Vadot
107*c9ccf3a3SEmmanuel Vadot&mac0 {
108*c9ccf3a3SEmmanuel Vadot	phy-mode = "sgmii";
109*c9ccf3a3SEmmanuel Vadot	phy-handle = <&phy0>;
110*c9ccf3a3SEmmanuel Vadot};
111*c9ccf3a3SEmmanuel Vadot
112*c9ccf3a3SEmmanuel Vadot&mac1 {
1132eb4d8dcSEmmanuel Vadot	status = "okay";
1142eb4d8dcSEmmanuel Vadot	phy-mode = "sgmii";
1152eb4d8dcSEmmanuel Vadot	phy-handle = <&phy1>;
1162eb4d8dcSEmmanuel Vadot	phy1: ethernet-phy@9 {
1172eb4d8dcSEmmanuel Vadot		reg = <9>;
118*c9ccf3a3SEmmanuel Vadot		ti,fifo-depth = <0x1>;
1192eb4d8dcSEmmanuel Vadot	};
120*c9ccf3a3SEmmanuel Vadot	phy0: ethernet-phy@8 {
121*c9ccf3a3SEmmanuel Vadot		reg = <8>;
122*c9ccf3a3SEmmanuel Vadot		ti,fifo-depth = <0x1>;
123*c9ccf3a3SEmmanuel Vadot	};
124*c9ccf3a3SEmmanuel Vadot};
125*c9ccf3a3SEmmanuel Vadot
126*c9ccf3a3SEmmanuel Vadot&gpio2 {
127*c9ccf3a3SEmmanuel Vadot	interrupts = <53>, <53>, <53>, <53>,
128*c9ccf3a3SEmmanuel Vadot		     <53>, <53>, <53>, <53>,
129*c9ccf3a3SEmmanuel Vadot		     <53>, <53>, <53>, <53>,
130*c9ccf3a3SEmmanuel Vadot		     <53>, <53>, <53>, <53>,
131*c9ccf3a3SEmmanuel Vadot		     <53>, <53>, <53>, <53>,
132*c9ccf3a3SEmmanuel Vadot		     <53>, <53>, <53>, <53>,
133*c9ccf3a3SEmmanuel Vadot		     <53>, <53>, <53>, <53>,
134*c9ccf3a3SEmmanuel Vadot		     <53>, <53>, <53>, <53>;
135*c9ccf3a3SEmmanuel Vadot	status = "okay";
136*c9ccf3a3SEmmanuel Vadot};
137*c9ccf3a3SEmmanuel Vadot
138*c9ccf3a3SEmmanuel Vadot&rtc {
139*c9ccf3a3SEmmanuel Vadot	status = "okay";
140*c9ccf3a3SEmmanuel Vadot};
141*c9ccf3a3SEmmanuel Vadot
142*c9ccf3a3SEmmanuel Vadot&usb {
143*c9ccf3a3SEmmanuel Vadot	status = "okay";
144*c9ccf3a3SEmmanuel Vadot	dr_mode = "host";
145*c9ccf3a3SEmmanuel Vadot};
146*c9ccf3a3SEmmanuel Vadot
147*c9ccf3a3SEmmanuel Vadot&mbox {
148*c9ccf3a3SEmmanuel Vadot	status = "okay";
149*c9ccf3a3SEmmanuel Vadot};
150*c9ccf3a3SEmmanuel Vadot
151*c9ccf3a3SEmmanuel Vadot&syscontroller {
152*c9ccf3a3SEmmanuel Vadot	status = "okay";
153*c9ccf3a3SEmmanuel Vadot};
154*c9ccf3a3SEmmanuel Vadot
155*c9ccf3a3SEmmanuel Vadot&pcie {
156*c9ccf3a3SEmmanuel Vadot	status = "okay";
157*c9ccf3a3SEmmanuel Vadot};
158*c9ccf3a3SEmmanuel Vadot
159*c9ccf3a3SEmmanuel Vadot&core_pwm0 {
160*c9ccf3a3SEmmanuel Vadot	status = "okay";
1612eb4d8dcSEmmanuel Vadot};
162