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