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