]> git.ipfire.org Git - thirdparty/u-boot.git/blob - src/arm/aspeed/aspeed-bmc-delta-ahe50dc.dts
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / src / arm / aspeed / aspeed-bmc-delta-ahe50dc.dts
1 // SPDX-License-Identifier: GPL-2.0+
2 /dts-v1/;
3
4 #include "aspeed-g4.dtsi"
5 #include <dt-bindings/gpio/aspeed-gpio.h>
6
7 #define EFUSE_OUTPUT(n) \
8 efuse##n { \
9 compatible = "regulator-output"; \
10 vout-supply = <&efuse##n>; \
11 }
12
13 #define __stringify(x) #x
14
15 #define EFUSE(hexaddr, num) \
16 efuse@##hexaddr { \
17 compatible = "lm25066"; \
18 reg = <0x##hexaddr>; \
19 shunt-resistor-micro-ohms = <675>; \
20 regulators { \
21 efuse##num: vout0 { \
22 regulator-name = __stringify(efuse##num##-reg); \
23 }; \
24 }; \
25 }
26
27 /{
28 model = "Delta Power AHE-50DC";
29 compatible = "delta,ahe50dc-bmc", "aspeed,ast2400";
30
31 aliases {
32 serial4 = &uart5;
33
34 /*
35 * pca9541-arbitrated logical i2c buses are numbered as the
36 * corresponding physical bus plus 20
37 */
38 i2c20 = &i2carb0;
39 i2c21 = &i2carb1;
40 i2c22 = &i2carb2;
41 i2c23 = &i2carb3;
42 i2c24 = &i2carb4;
43 i2c26 = &i2carb6;
44 i2c27 = &i2carb7;
45 i2c28 = &i2carb8;
46 i2c32 = &i2carb12;
47 };
48
49 chosen {
50 stdout-path = &uart3;
51 bootargs = "console=ttyS2,115200n8 earlycon";
52 };
53
54 memory@40000000 {
55 reg = <0x40000000 0x10000000>;
56 };
57
58 leds {
59 compatible = "gpio-leds";
60
61 heartbeat {
62 gpios = <&gpio ASPEED_GPIO(P, 0) GPIO_ACTIVE_HIGH>;
63 linux,default-trigger = "heartbeat";
64 };
65
66 panic {
67 gpios = <&gpio ASPEED_GPIO(P, 2) GPIO_ACTIVE_HIGH>;
68 linux,default-trigger = "panic";
69 };
70 };
71
72 iio-hwmon {
73 compatible = "iio-hwmon";
74 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
75 <&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>, <&adc 9>;
76 };
77
78 EFUSE_OUTPUT(01);
79 EFUSE_OUTPUT(02);
80 EFUSE_OUTPUT(03);
81 EFUSE_OUTPUT(04);
82 EFUSE_OUTPUT(05);
83 EFUSE_OUTPUT(06);
84 EFUSE_OUTPUT(07);
85 EFUSE_OUTPUT(08);
86 EFUSE_OUTPUT(09);
87 EFUSE_OUTPUT(10);
88 EFUSE_OUTPUT(11);
89 EFUSE_OUTPUT(12);
90 EFUSE_OUTPUT(13);
91 EFUSE_OUTPUT(14);
92 EFUSE_OUTPUT(15);
93 EFUSE_OUTPUT(16);
94 EFUSE_OUTPUT(17);
95 EFUSE_OUTPUT(18);
96 EFUSE_OUTPUT(19);
97 EFUSE_OUTPUT(20);
98 EFUSE_OUTPUT(21);
99 EFUSE_OUTPUT(22);
100 EFUSE_OUTPUT(23);
101 EFUSE_OUTPUT(24);
102 EFUSE_OUTPUT(25);
103 EFUSE_OUTPUT(26);
104 EFUSE_OUTPUT(27);
105 EFUSE_OUTPUT(28);
106 EFUSE_OUTPUT(29);
107 EFUSE_OUTPUT(30);
108 EFUSE_OUTPUT(31);
109 EFUSE_OUTPUT(32);
110 EFUSE_OUTPUT(33);
111 EFUSE_OUTPUT(34);
112 EFUSE_OUTPUT(35);
113 EFUSE_OUTPUT(36);
114 EFUSE_OUTPUT(37);
115 EFUSE_OUTPUT(38);
116 EFUSE_OUTPUT(39);
117 EFUSE_OUTPUT(40);
118 EFUSE_OUTPUT(41);
119 EFUSE_OUTPUT(42);
120 EFUSE_OUTPUT(43);
121 EFUSE_OUTPUT(44);
122 EFUSE_OUTPUT(45);
123 EFUSE_OUTPUT(46);
124 EFUSE_OUTPUT(47);
125 EFUSE_OUTPUT(48);
126 EFUSE_OUTPUT(49);
127 EFUSE_OUTPUT(50);
128
129 };
130
131 &fmc {
132 status = "okay";
133
134 flash@0 {
135 status = "okay";
136 m25p,fast-read;
137 label = "flash0";
138 spi-max-frequency = <50000000>; // 50 MHz
139 #include "openbmc-flash-layout.dtsi"
140 };
141 };
142
143 &uart3 {
144 status = "okay";
145 };
146
147 &mac1 {
148 status = "okay";
149 pinctrl-names = "default";
150 pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
151 };
152
153 &i2c0 {
154 status = "okay";
155 bus-frequency = <200000>;
156
157 pca9541@79 {
158 compatible = "nxp,pca9541";
159 reg = <0x79>;
160
161 i2carb0: i2c-arb {
162 #address-cells = <1>;
163 #size-cells = <0>;
164
165 /* lm25066 efuses @ 10-17, 40-47, 50-57 */
166 EFUSE(10, 03);
167 EFUSE(11, 04);
168 EFUSE(12, 01);
169 EFUSE(13, 02);
170 EFUSE(14, 13);
171 EFUSE(15, 14);
172 EFUSE(16, 15);
173 EFUSE(17, 16);
174 EFUSE(40, 12);
175 EFUSE(41, 11);
176 EFUSE(42, 10);
177 EFUSE(43, 09);
178 EFUSE(44, 08);
179 EFUSE(45, 07);
180 EFUSE(46, 05);
181 EFUSE(47, 06);
182 EFUSE(50, 17);
183 EFUSE(51, 18);
184 EFUSE(52, 20);
185 EFUSE(53, 19);
186 EFUSE(54, 22);
187 EFUSE(55, 21);
188 EFUSE(56, 24);
189 EFUSE(57, 23);
190 };
191 };
192 };
193
194 &i2c1 {
195 status = "okay";
196 bus-frequency = <200000>;
197
198 pca9541@72 {
199 compatible = "nxp,pca9541";
200 reg = <0x72>;
201
202 i2carb1: i2c-arb {
203 #address-cells = <1>;
204 #size-cells = <0>;
205 };
206 };
207 };
208
209 &i2c2 {
210 status = "okay";
211 bus-frequency = <200000>;
212
213 pca9541@73 {
214 compatible = "nxp,pca9541";
215 reg = <0x73>;
216
217 i2carb2: i2c-arb {
218 #address-cells = <1>;
219 #size-cells = <0>;
220 };
221 };
222 };
223
224 &i2c3 {
225 status = "okay";
226 bus-frequency = <200000>;
227
228 pca9541@74 {
229 compatible = "nxp,pca9541";
230 reg = <0x74>;
231
232 i2carb3: i2c-arb {
233 #address-cells = <1>;
234 #size-cells = <0>;
235 };
236 };
237 };
238
239 &i2c4 {
240 status = "okay";
241 bus-frequency = <200000>;
242
243 pca9541@7a {
244 compatible = "nxp,pca9541";
245 reg = <0x7a>;
246
247 i2carb4: i2c-arb {
248 #address-cells = <1>;
249 #size-cells = <0>;
250
251 gpio@20 {
252 compatible = "nxp,pca9534";
253 reg = <0x20>;
254 gpio-controller;
255 #gpio-cells = <2>;
256 };
257
258 /* lm25066 efuses @ 10-17, 40-47, 50-57, 59, 5a */
259 EFUSE(10, 27);
260 EFUSE(11, 28);
261 EFUSE(12, 25);
262 EFUSE(13, 26);
263 EFUSE(14, 37);
264 EFUSE(15, 38);
265 EFUSE(16, 39);
266 EFUSE(17, 40);
267 EFUSE(40, 36);
268 EFUSE(41, 35);
269 EFUSE(42, 34);
270 EFUSE(43, 33);
271 EFUSE(44, 32);
272 EFUSE(45, 31);
273 EFUSE(46, 29);
274 EFUSE(47, 30);
275 EFUSE(50, 41);
276 EFUSE(51, 42);
277 EFUSE(52, 44);
278 EFUSE(53, 43);
279 EFUSE(54, 46);
280 EFUSE(55, 45);
281 EFUSE(56, 48);
282 EFUSE(57, 47);
283 EFUSE(59, 49);
284 EFUSE(5a, 50);
285 };
286 };
287 };
288
289 &i2c6 {
290 status = "okay";
291 bus-frequency = <200000>;
292
293 pca9541@75 {
294 compatible = "nxp,pca9541";
295 reg = <0x75>;
296
297 i2carb6: i2c-arb {
298 #address-cells = <1>;
299 #size-cells = <0>;
300 };
301 };
302 };
303
304 &i2c7 {
305 status = "okay";
306 bus-frequency = <200000>;
307
308 pca9541@76 {
309 compatible = "nxp,pca9541";
310 reg = <0x76>;
311
312 i2carb7: i2c-arb {
313 #address-cells = <1>;
314 #size-cells = <0>;
315 };
316 };
317 };
318
319 &i2c8 {
320 status = "okay";
321 bus-frequency = <200000>;
322
323 pca9541@7c {
324 compatible = "nxp,pca9541";
325 reg = <0x7c>;
326
327 i2carb8: i2c-arb {
328 #address-cells = <1>;
329 #size-cells = <0>;
330
331 fancontrol@30 {
332 compatible = "delta,ahe50dc-fan";
333 reg = <0x30>;
334 };
335
336 /* Baseboard FRU eeprom */
337 eeprom@50 {
338 compatible = "atmel,24c02";
339 reg = <0x50>;
340 };
341 };
342 };
343 };
344
345 &i2c12 {
346 status = "okay";
347 bus-frequency = <200000>;
348
349 pca9541@71 {
350 compatible = "nxp,pca9541";
351 reg = <0x71>;
352
353 i2carb12: i2c-arb {
354 #address-cells = <1>;
355 #size-cells = <0>;
356 };
357 };
358 };
359
360 &gpio {
361 status = "okay";
362 gpio-line-names =
363 /* A */ "", "", "", "", "", "", "", "",
364 /* B */ "", "", "", "", "", "", "", "",
365 /* C */ "RESET_PEER_N", "HEARTBEAT_OUT", "", "", "", "", "", "",
366 /* D */ "", "", "", "", "", "", "", "",
367 /* E */ "DOOM_N", "", "", "", "", "LED_PWR_BLUE", "", "",
368 /* F */ "", "", "", "", "", "", "", "",
369 /* G */ "", "", "", "", "", "", "", "",
370 /* H */ "", "", "", "", "", "", "", "",
371 /* I */ "", "", "", "", "", "", "", "",
372 /* J */ "", "", "BMC_ID", "", "", "", "", "",
373 /* K */ "", "", "", "", "", "", "", "",
374 /* L */ "", "", "", "", "", "", "", "",
375 /* M */ "", "", "", "", "", "", "", "",
376 /* N */ "", "", "", "", "", "", "", "",
377 /* O */ "", "", "", "", "", "", "", "",
378 /* P */ "LED_GREEN", "", "LED_RED", "", "", "", "", "",
379 /* Q */ "", "", "", "", "", "", "", "",
380 /* R */ "", "", "", "", "", "", "", "",
381 /* S */ "", "", "", "", "", "", "", "",
382 /* T */ "", "", "", "", "", "", "", "",
383 /* U */ "", "", "", "", "", "", "", "",
384 /* V */ "", "", "", "", "", "", "", "",
385 /* W */ "", "", "", "", "", "", "", "",
386 /* X */ "", "", "", "", "", "", "", "",
387 /* Y */ "HEARTBEAT_IN", "BOARDREV0", "BOARDREV1", "",
388 /* Z */ "", "", "", "", "", "", "", "",
389 /* AA */ "", "", "", "", "", "", "", "",
390 /* AB */ "", "", "", "";
391
392 /*
393 * I don't rightly know what this GPIO really *is*, but setting it to
394 * zero causes the fans to run at full speed, after which setting it
395 * back to one causes a power output glitch, so install a hog to keep
396 * it at one as a failsafe to ensure nothing accidentally touches it.
397 */
398 doom-guardrail {
399 gpio-hog;
400 gpios = <ASPEED_GPIO(E, 0) GPIO_ACTIVE_LOW>;
401 output-low;
402 };
403 };
404
405 &adc {
406 status = "okay";
407 pinctrl-names = "default";
408 pinctrl-0 = <&pinctrl_adc0_default
409 &pinctrl_adc1_default
410 &pinctrl_adc2_default
411 &pinctrl_adc3_default
412 &pinctrl_adc4_default
413 &pinctrl_adc5_default
414 &pinctrl_adc6_default
415 &pinctrl_adc7_default
416 &pinctrl_adc8_default
417 &pinctrl_adc9_default>;
418 };