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