ea32ae72e8cbfb555a12f9da2c19c2a9df60f5e3
[platform/kernel/u-boot.git] / arch / riscv / dts / hifive-unmatched-a00.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 /* Copyright (c) 2019-2021 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         #address-cells = <2>;
13         #size-cells = <2>;
14         model = "SiFive HiFive Unmatched A00";
15         compatible = "sifive,hifive-unmatched-a00", "sifive,fu740-c000",
16                      "sifive,fu740";
17
18         chosen {
19                 stdout-path = "serial0";
20         };
21
22         cpus {
23                 timebase-frequency = <RTCCLK_FREQ>;
24         };
25
26         memory@80000000 {
27                 device_type = "memory";
28                 reg = <0x0 0x80000000 0x4 0x00000000>;
29         };
30
31         soc {
32         };
33
34         hfclk: hfclk {
35                 #clock-cells = <0>;
36                 compatible = "fixed-clock";
37                 clock-frequency = <26000000>;
38                 clock-output-names = "hfclk";
39         };
40
41         rtcclk: rtcclk {
42                 #clock-cells = <0>;
43                 compatible = "fixed-clock";
44                 clock-frequency = <RTCCLK_FREQ>;
45                 clock-output-names = "rtcclk";
46         };
47
48         gpio-poweroff {
49                 compatible = "gpio-poweroff";
50                 gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
51         };
52 };
53
54 &uart0 {
55         status = "okay";
56 };
57
58 &uart1 {
59         status = "okay";
60 };
61
62 &i2c0 {
63         status = "okay";
64
65         temperature-sensor@4c {
66                 compatible = "ti,tmp451";
67                 reg = <0x4c>;
68                 interrupt-parent = <&gpio>;
69                 interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
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 = <1050000>;
94                                 regulator-max-microvolt = <1050000>;
95                                 regulator-min-microamp = <5000000>;
96                                 regulator-max-microamp = <5000000>;
97                                 regulator-always-on;
98                         };
99
100                         vdd_bcore2: bcore2 {
101                                 regulator-min-microvolt = <1050000>;
102                                 regulator-max-microvolt = <1050000>;
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 = <3300000>;
158                                 regulator-max-microvolt = <3300000>;
159                                 regulator-min-microamp = <200000>;
160                                 regulator-max-microamp = <200000>;
161                                 regulator-always-on;
162                         };
163
164                         vdd_ldo4: ldo4 {
165                                 regulator-min-microvolt = <2500000>;
166                                 regulator-max-microvolt = <2500000>;
167                                 regulator-min-microamp = <200000>;
168                                 regulator-max-microamp = <200000>;
169                                 regulator-always-on;
170                         };
171
172                         vdd_ldo5: ldo5 {
173                                 regulator-min-microvolt = <3300000>;
174                                 regulator-max-microvolt = <3300000>;
175                                 regulator-min-microamp = <100000>;
176                                 regulator-max-microamp = <100000>;
177                                 regulator-always-on;
178                         };
179
180                         vdd_ldo6: ldo6 {
181                                 regulator-min-microvolt = <1800000>;
182                                 regulator-max-microvolt = <1800000>;
183                                 regulator-min-microamp = <200000>;
184                                 regulator-max-microamp = <200000>;
185                                 regulator-always-on;
186                         };
187
188                         vdd_ldo7: ldo7 {
189                                 regulator-min-microvolt = <3300000>;
190                                 regulator-max-microvolt = <3300000>;
191                                 regulator-min-microamp = <200000>;
192                                 regulator-max-microamp = <200000>;
193                                 regulator-always-on;
194                         };
195
196                         vdd_ldo8: ldo8 {
197                                 regulator-min-microvolt = <3300000>;
198                                 regulator-max-microvolt = <3300000>;
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 };