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