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