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