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