Skip to content

Commit d573b55

Browse files
yashshah7palmer-dabbelt
authored andcommitted
riscv: dts: add initial board data for the SiFive HiFive Unmatched
Add initial board data for the SiFive HiFive Unmatched A00. This patch is dependent on Zong's Patchset[0]. [0]: https://lore.kernel.org/linux-riscv/[email protected]/T/#u Signed-off-by: Yash Shah <[email protected]> Signed-off-by: Palmer Dabbelt <[email protected]>
1 parent 3489c03 commit d573b55

File tree

2 files changed

+255
-1
lines changed

2 files changed

+255
-1
lines changed

arch/riscv/boot/dts/sifive/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
# SPDX-License-Identifier: GPL-2.0
2-
dtb-$(CONFIG_SOC_SIFIVE) += hifive-unleashed-a00.dtb
2+
dtb-$(CONFIG_SOC_SIFIVE) += hifive-unleashed-a00.dtb \
3+
hifive-unmatched-a00.dtb
Lines changed: 253 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,253 @@
1+
// SPDX-License-Identifier: (GPL-2.0 OR MIT)
2+
/* Copyright (c) 2020 SiFive, Inc */
3+
4+
#include "fu740-c000.dtsi"
5+
#include <dt-bindings/interrupt-controller/irq.h>
6+
7+
/* Clock frequency (in Hz) of the PCB crystal for rtcclk */
8+
#define RTCCLK_FREQ 1000000
9+
10+
/ {
11+
#address-cells = <2>;
12+
#size-cells = <2>;
13+
model = "SiFive HiFive Unmatched A00";
14+
compatible = "sifive,hifive-unmatched-a00", "sifive,fu740-c000",
15+
"sifive,fu740";
16+
17+
chosen {
18+
stdout-path = "serial0";
19+
};
20+
21+
cpus {
22+
timebase-frequency = <RTCCLK_FREQ>;
23+
};
24+
25+
memory@80000000 {
26+
device_type = "memory";
27+
reg = <0x0 0x80000000 0x2 0x00000000>;
28+
};
29+
30+
soc {
31+
};
32+
33+
hfclk: hfclk {
34+
#clock-cells = <0>;
35+
compatible = "fixed-clock";
36+
clock-frequency = <26000000>;
37+
clock-output-names = "hfclk";
38+
};
39+
40+
rtcclk: rtcclk {
41+
#clock-cells = <0>;
42+
compatible = "fixed-clock";
43+
clock-frequency = <RTCCLK_FREQ>;
44+
clock-output-names = "rtcclk";
45+
};
46+
};
47+
48+
&uart0 {
49+
status = "okay";
50+
};
51+
52+
&uart1 {
53+
status = "okay";
54+
};
55+
56+
&i2c0 {
57+
status = "okay";
58+
59+
temperature-sensor@4c {
60+
compatible = "ti,tmp451";
61+
reg = <0x4c>;
62+
interrupt-parent = <&gpio>;
63+
interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
64+
};
65+
66+
pmic@58 {
67+
compatible = "dlg,da9063";
68+
reg = <0x58>;
69+
interrupt-parent = <&gpio>;
70+
interrupts = <1 IRQ_TYPE_LEVEL_LOW>;
71+
interrupt-controller;
72+
73+
regulators {
74+
vdd_bcore1: bcore1 {
75+
regulator-min-microvolt = <900000>;
76+
regulator-max-microvolt = <900000>;
77+
regulator-min-microamp = <5000000>;
78+
regulator-max-microamp = <5000000>;
79+
regulator-always-on;
80+
};
81+
82+
vdd_bcore2: bcore2 {
83+
regulator-min-microvolt = <900000>;
84+
regulator-max-microvolt = <900000>;
85+
regulator-min-microamp = <5000000>;
86+
regulator-max-microamp = <5000000>;
87+
regulator-always-on;
88+
};
89+
90+
vdd_bpro: bpro {
91+
regulator-min-microvolt = <1800000>;
92+
regulator-max-microvolt = <1800000>;
93+
regulator-min-microamp = <2500000>;
94+
regulator-max-microamp = <2500000>;
95+
regulator-always-on;
96+
};
97+
98+
vdd_bperi: bperi {
99+
regulator-min-microvolt = <1050000>;
100+
regulator-max-microvolt = <1050000>;
101+
regulator-min-microamp = <1500000>;
102+
regulator-max-microamp = <1500000>;
103+
regulator-always-on;
104+
};
105+
106+
vdd_bmem: bmem {
107+
regulator-min-microvolt = <1200000>;
108+
regulator-max-microvolt = <1200000>;
109+
regulator-min-microamp = <3000000>;
110+
regulator-max-microamp = <3000000>;
111+
regulator-always-on;
112+
};
113+
114+
vdd_bio: bio {
115+
regulator-min-microvolt = <1200000>;
116+
regulator-max-microvolt = <1200000>;
117+
regulator-min-microamp = <3000000>;
118+
regulator-max-microamp = <3000000>;
119+
regulator-always-on;
120+
};
121+
122+
vdd_ldo1: ldo1 {
123+
regulator-min-microvolt = <1800000>;
124+
regulator-max-microvolt = <1800000>;
125+
regulator-min-microamp = <100000>;
126+
regulator-max-microamp = <100000>;
127+
regulator-always-on;
128+
};
129+
130+
vdd_ldo2: ldo2 {
131+
regulator-min-microvolt = <1800000>;
132+
regulator-max-microvolt = <1800000>;
133+
regulator-min-microamp = <200000>;
134+
regulator-max-microamp = <200000>;
135+
regulator-always-on;
136+
};
137+
138+
vdd_ldo3: ldo3 {
139+
regulator-min-microvolt = <1800000>;
140+
regulator-max-microvolt = <1800000>;
141+
regulator-min-microamp = <200000>;
142+
regulator-max-microamp = <200000>;
143+
regulator-always-on;
144+
};
145+
146+
vdd_ldo4: ldo4 {
147+
regulator-min-microvolt = <1800000>;
148+
regulator-max-microvolt = <1800000>;
149+
regulator-min-microamp = <200000>;
150+
regulator-max-microamp = <200000>;
151+
regulator-always-on;
152+
};
153+
154+
vdd_ldo5: ldo5 {
155+
regulator-min-microvolt = <1800000>;
156+
regulator-max-microvolt = <1800000>;
157+
regulator-min-microamp = <100000>;
158+
regulator-max-microamp = <100000>;
159+
regulator-always-on;
160+
};
161+
162+
vdd_ldo6: ldo6 {
163+
regulator-min-microvolt = <3300000>;
164+
regulator-max-microvolt = <3300000>;
165+
regulator-min-microamp = <200000>;
166+
regulator-max-microamp = <200000>;
167+
regulator-always-on;
168+
};
169+
170+
vdd_ldo7: ldo7 {
171+
regulator-min-microvolt = <1800000>;
172+
regulator-max-microvolt = <1800000>;
173+
regulator-min-microamp = <200000>;
174+
regulator-max-microamp = <200000>;
175+
regulator-always-on;
176+
};
177+
178+
vdd_ldo8: ldo8 {
179+
regulator-min-microvolt = <1800000>;
180+
regulator-max-microvolt = <1800000>;
181+
regulator-min-microamp = <200000>;
182+
regulator-max-microamp = <200000>;
183+
regulator-always-on;
184+
};
185+
186+
vdd_ld09: ldo9 {
187+
regulator-min-microvolt = <1050000>;
188+
regulator-max-microvolt = <1050000>;
189+
regulator-min-microamp = <200000>;
190+
regulator-max-microamp = <200000>;
191+
};
192+
193+
vdd_ldo10: ldo10 {
194+
regulator-min-microvolt = <1000000>;
195+
regulator-max-microvolt = <1000000>;
196+
regulator-min-microamp = <300000>;
197+
regulator-max-microamp = <300000>;
198+
};
199+
200+
vdd_ldo11: ldo11 {
201+
regulator-min-microvolt = <2500000>;
202+
regulator-max-microvolt = <2500000>;
203+
regulator-min-microamp = <300000>;
204+
regulator-max-microamp = <300000>;
205+
regulator-always-on;
206+
};
207+
};
208+
};
209+
};
210+
211+
&qspi0 {
212+
status = "okay";
213+
flash@0 {
214+
compatible = "issi,is25wp256", "jedec,spi-nor";
215+
reg = <0>;
216+
spi-max-frequency = <50000000>;
217+
m25p,fast-read;
218+
spi-tx-bus-width = <4>;
219+
spi-rx-bus-width = <4>;
220+
};
221+
};
222+
223+
&spi0 {
224+
status = "okay";
225+
mmc@0 {
226+
compatible = "mmc-spi-slot";
227+
reg = <0>;
228+
spi-max-frequency = <20000000>;
229+
voltage-ranges = <3300 3300>;
230+
disable-wp;
231+
};
232+
};
233+
234+
&eth0 {
235+
status = "okay";
236+
phy-mode = "gmii";
237+
phy-handle = <&phy0>;
238+
phy0: ethernet-phy@0 {
239+
reg = <0>;
240+
};
241+
};
242+
243+
&pwm0 {
244+
status = "okay";
245+
};
246+
247+
&pwm1 {
248+
status = "okay";
249+
};
250+
251+
&gpio {
252+
status = "okay";
253+
};

0 commit comments

Comments
 (0)