blob: 31ff19ef87a0b456927c0585f1cb5ff810316289 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001// SPDX-License-Identifier: GPL-2.0+
2/dts-v1/;
3#include "aspeed-g5.dtsi"
4#include <dt-bindings/gpio/aspeed-gpio.h>
5#include <dt-bindings/leds/leds-pca955x.h>
6
7/ {
8 model = "Mowgli BMC";
9 compatible = "ibm,mowgli-bmc", "aspeed,ast2500";
10
11
12 chosen {
13 stdout-path = &uart5;
14 bootargs = "console=ttyS4,115200 earlycon";
15 };
16
17 memory@80000000 {
18 reg = <0x80000000 0x20000000>;
19 };
20
21 reserved-memory {
22 #address-cells = <1>;
23 #size-cells = <1>;
24 ranges;
25
26 flash_memory: region@98000000 {
27 no-map;
28 reg = <0x98000000 0x04000000>; /* 64M */
29 };
30
31 gfx_memory: framebuffer {
32 size = <0x01000000>;
33 alignment = <0x01000000>;
34 compatible = "shared-dma-pool";
35 reusable;
36 };
37
38 video_engine_memory: jpegbuffer {
39 size = <0x02000000>;
40 alignment = <0x01000000>;
41 compatible = "shared-dma-pool";
42 reusable;
43 };
44 };
45
46 gpio-keys {
47 compatible = "gpio-keys";
48
49 event-air-water {
50 label = "air-water";
51 gpios = <&gpio ASPEED_GPIO(F, 6) GPIO_ACTIVE_LOW>;
52 linux,code = <ASPEED_GPIO(F, 6)>;
53 };
54
55 event-checkstop {
56 label = "checkstop";
57 gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>;
58 linux,code = <ASPEED_GPIO(J, 2)>;
59 };
60
61 event-ps0-presence {
62 label = "ps0-presence";
63 gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>;
64 linux,code = <ASPEED_GPIO(Z, 2)>;
65 };
66
67 event-ps1-presence {
68 label = "ps1-presence";
69 gpios = <&gpio ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
70 linux,code = <ASPEED_GPIO(Z, 0)>;
71 };
72
73 button-id {
74 label = "id-button";
75 gpios = <&gpio ASPEED_GPIO(F, 1) GPIO_ACTIVE_LOW>;
76 linux,code = <ASPEED_GPIO(F, 1)>;
77 };
78 };
79
80 gpio-keys-polled {
81 compatible = "gpio-keys-polled";
82 poll-interval = <1000>;
83
84 event-fan0-presence {
85 label = "fan0-presence";
86 gpios = <&pca9552 9 GPIO_ACTIVE_LOW>;
87 linux,code = <9>;
88 };
89
90 event-fan1-presence {
91 label = "fan1-presence";
92 gpios = <&pca9552 10 GPIO_ACTIVE_LOW>;
93 linux,code = <10>;
94 };
95
96 event-fan2-presence {
97 label = "fan2-presence";
98 gpios = <&pca9552 11 GPIO_ACTIVE_LOW>;
99 linux,code = <11>;
100 };
101
102 event-fan3-presence {
103 label = "fan3-presence";
104 gpios = <&pca9552 12 GPIO_ACTIVE_LOW>;
105 linux,code = <12>;
106 };
107
108 event-fan4-presence {
109 label = "fan4-presence";
110 gpios = <&pca9552 13 GPIO_ACTIVE_LOW>;
111 linux,code = <13>;
112 };
113 };
114
115 leds {
116 compatible = "gpio-leds";
117
118 front-fault {
119 retain-state-shutdown;
120 default-state = "keep";
121 gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_LOW>;
122 };
123
124 power-button {
125 retain-state-shutdown;
126 default-state = "keep";
127 gpios = <&gpio ASPEED_GPIO(AA, 1) GPIO_ACTIVE_LOW>;
128 };
129
130 front-id {
131 retain-state-shutdown;
132 default-state = "keep";
133 gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
134 };
135
136 fan0 {
137 retain-state-shutdown;
138 default-state = "keep";
139 gpios = <&pca9552 0 GPIO_ACTIVE_LOW>;
140 };
141
142 fan1 {
143 retain-state-shutdown;
144 default-state = "keep";
145 gpios = <&pca9552 1 GPIO_ACTIVE_LOW>;
146 };
147
148 fan2 {
149 retain-state-shutdown;
150 default-state = "keep";
151 gpios = <&pca9552 2 GPIO_ACTIVE_LOW>;
152 };
153
154 fan3 {
155 retain-state-shutdown;
156 default-state = "keep";
157 gpios = <&pca9552 3 GPIO_ACTIVE_LOW>;
158 };
159
160 fan4 {
161 retain-state-shutdown;
162 default-state = "keep";
163 gpios = <&pca9552 4 GPIO_ACTIVE_LOW>;
164 };
165 };
166
167 fsi: gpio-fsi {
168 compatible = "fsi-master-gpio", "fsi-master";
169 #address-cells = <2>;
170 #size-cells = <0>;
171 no-gpio-delays;
172
173 clock-gpios = <&gpio ASPEED_GPIO(E, 6) GPIO_ACTIVE_HIGH>;
174 data-gpios = <&gpio ASPEED_GPIO(E, 7) GPIO_ACTIVE_HIGH>;
175 mux-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>;
176 enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>;
177 trans-gpios = <&gpio ASPEED_GPIO(E, 5) GPIO_ACTIVE_HIGH>;
178 };
179
180 iio-hwmon-12v {
181 compatible = "iio-hwmon";
182 io-channels = <&adc 0>;
183 };
184
185 iio-hwmon-5v {
186 compatible = "iio-hwmon";
187 io-channels = <&adc 1>;
188 };
189
190 iio-hwmon-3v {
191 compatible = "iio-hwmon";
192 io-channels = <&adc 2>;
193 };
194
195 iio-hwmon-vdd {
196 compatible = "iio-hwmon";
197 io-channels = <&adc 3>;
198 };
199
200 iio-hwmon-vcs {
201 compatible = "iio-hwmon";
202 io-channels = <&adc 5>;
203 };
204
205 iio-hwmon-vdn {
206 compatible = "iio-hwmon";
207 io-channels = <&adc 7>;
208 };
209
210 iio-hwmon-vio {
211 compatible = "iio-hwmon";
212 io-channels = <&adc 9>;
213 };
214
215 iio-hwmon-vddra {
216 compatible = "iio-hwmon";
217 io-channels = <&adc 11>;
218 };
219
220 iio-hwmon-battery {
221 compatible = "iio-hwmon";
222 io-channels = <&adc 12>;
223 };
224
225 iio-hwmon-vddrb {
226 compatible = "iio-hwmon";
227 io-channels = <&adc 13>;
228 };
229};
230
231&pwm_tacho {
232 status = "okay";
233 pinctrl-names = "default";
234 pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default
235 &pinctrl_pwm2_default &pinctrl_pwm3_default
236 &pinctrl_pwm4_default>;
237
238 fan@0 {
239 reg = <0x00>;
240 aspeed,fan-tach-ch = /bits/ 8 <0x00>;
241 };
242
243 fan@1 {
244 reg = <0x01>;
245 aspeed,fan-tach-ch = /bits/ 8 <0x01>;
246 };
247
248 fan@2 {
249 reg = <0x02>;
250 aspeed,fan-tach-ch = /bits/ 8 <0x02>;
251 };
252
253 fan@3 {
254 reg = <0x03>;
255 aspeed,fan-tach-ch = /bits/ 8 <0x03>;
256 };
257
258 fan@4 {
259 reg = <0x04>;
260 aspeed,fan-tach-ch = /bits/ 8 <0x04>;
261 };
262
263 fan@5 {
264 reg = <0x00>;
265 aspeed,fan-tach-ch = /bits/ 8 <0x05>;
266 };
267
268 fan@6 {
269 reg = <0x01>;
270 aspeed,fan-tach-ch = /bits/ 8 <0x06>;
271 };
272
273 fan@7 {
274 reg = <0x02>;
275 aspeed,fan-tach-ch = /bits/ 8 <0x07>;
276 };
277
278 fan@8 {
279 reg = <0x03>;
280 aspeed,fan-tach-ch = /bits/ 8 <0x08>;
281 };
282
283 fan@9 {
284 reg = <0x04>;
285 aspeed,fan-tach-ch = /bits/ 8 <0x09>;
286 };
287};
288
289&fmc {
290 status = "okay";
291 flash@0 {
292 status = "okay";
293 label = "bmc";
294 m25p,fast-read;
295 spi-max-frequency = <50000000>;
296 partitions {
297 #address-cells = < 1 >;
298 #size-cells = < 1 >;
299 compatible = "fixed-partitions";
300 u-boot@0 {
301 reg = < 0 0x60000 >;
302 label = "u-boot";
303 };
304 u-boot-env@60000 {
305 reg = < 0x60000 0x20000 >;
306 label = "u-boot-env";
307 };
308 obmc-ubi@80000 {
309 reg = < 0x80000 0x1F80000 >;
310 label = "obmc-ubi";
311 };
312 };
313 };
314 flash@1 {
315 status = "okay";
316 label = "alt-bmc";
317 m25p,fast-read;
318 spi-max-frequency = <50000000>;
319 partitions {
320 #address-cells = < 1 >;
321 #size-cells = < 1 >;
322 compatible = "fixed-partitions";
323 u-boot@0 {
324 reg = < 0 0x60000 >;
325 label = "alt-u-boot";
326 };
327 u-boot-env@60000 {
328 reg = < 0x60000 0x20000 >;
329 label = "alt-u-boot-env";
330 };
331 obmc-ubi@80000 {
332 reg = < 0x80000 0x1F80000 >;
333 label = "alt-obmc-ubi";
334 };
335 };
336 };
337};
338
339&spi1 {
340 status = "okay";
341 pinctrl-names = "default";
342 pinctrl-0 = <&pinctrl_spi1_default>;
343
344 flash@0 {
345 status = "okay";
346 label = "pnor";
347 m25p,fast-read;
348 spi-max-frequency = <100000000>;
349 };
350};
351
352&lpc_ctrl {
353 status = "okay";
354 memory-region = <&flash_memory>;
355 flash = <&spi1>;
356};
357
358&uart1 {
359 /* Rear RS-232 connector */
360 status = "okay";
361
362 pinctrl-names = "default";
363 pinctrl-0 = <&pinctrl_txd1_default
364 &pinctrl_rxd1_default
365 &pinctrl_nrts1_default
366 &pinctrl_ndtr1_default
367 &pinctrl_ndsr1_default
368 &pinctrl_ncts1_default
369 &pinctrl_ndcd1_default
370 &pinctrl_nri1_default>;
371};
372
373&uart2 {
374 /* APSS */
375 status = "okay";
376
377 pinctrl-names = "default";
378 pinctrl-0 = <&pinctrl_txd2_default &pinctrl_rxd2_default>;
379};
380
381&uart5 {
382 status = "okay";
383};
384
385&mac0 {
386 status = "okay";
387
388 pinctrl-names = "default";
389 pinctrl-0 = <&pinctrl_rmii1_default>;
390 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>,
391 <&syscon ASPEED_CLK_MAC1RCLK>;
392 clock-names = "MACCLK", "RCLK";
393 use-ncsi;
394};
395
396&mac1 {
397 status = "okay";
398
399 pinctrl-names = "default";
400 pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>;
401};
402
403&i2c0 {
404 status = "okay";
405
406 tmp275@48 {
407 compatible = "ti,tmp275";
408 reg = <0x48>;
409 };
410};
411
412&i2c1 {
413 status = "disabled";
414};
415
416&i2c2 {
417 status = "okay";
418
419 /* CPU MFG CONN */
420
421};
422
423&i2c3 {
424 status = "okay";
425
426 /* APSS */
427 /* CPLD */
428
429 /* PCA9516 (repeater) ->
430 * CLK Buffer 9FGS9092
431 * Power Supply 0
432 * Power Supply 1
433 * PCA 9552 LED
434 */
435
436 pca9552: pca9552@60 {
437 compatible = "nxp,pca9552";
438 reg = <0x60>;
439 #address-cells = <1>;
440 #size-cells = <0>;
441 gpio-controller;
442 #gpio-cells = <2>;
443
444 gpio@0 {
445 reg = <0>;
446 type = <PCA955X_TYPE_GPIO>;
447 };
448 gpio@1 {
449 reg = <1>;
450 type = <PCA955X_TYPE_GPIO>;
451 };
452 gpio@2 {
453 reg = <2>;
454 type = <PCA955X_TYPE_GPIO>;
455 };
456 gpio@3 {
457 reg = <3>;
458 type = <PCA955X_TYPE_GPIO>;
459 };
460 gpio@4 {
461 reg = <4>;
462 type = <PCA955X_TYPE_GPIO>;
463 };
464 gpio@5 {
465 reg = <5>;
466 type = <PCA955X_TYPE_GPIO>;
467 };
468 gpio@6 {
469 reg = <6>;
470 type = <PCA955X_TYPE_GPIO>;
471 };
472 gpio@7 {
473 reg = <7>;
474 type = <PCA955X_TYPE_GPIO>;
475 };
476 gpio@8 {
477 reg = <8>;
478 type = <PCA955X_TYPE_GPIO>;
479 };
480 gpio@9 {
481 reg = <9>;
482 type = <PCA955X_TYPE_GPIO>;
483 };
484 gpio@10 {
485 reg = <10>;
486 type = <PCA955X_TYPE_GPIO>;
487 };
488 gpio@11 {
489 reg = <11>;
490 type = <PCA955X_TYPE_GPIO>;
491 };
492 gpio@12 {
493 reg = <12>;
494 type = <PCA955X_TYPE_GPIO>;
495 };
496 gpio@13 {
497 reg = <13>;
498 type = <PCA955X_TYPE_GPIO>;
499 };
500 gpio@14 {
501 reg = <14>;
502 type = <PCA955X_TYPE_GPIO>;
503 };
504 gpio@15 {
505 reg = <15>;
506 type = <PCA955X_TYPE_GPIO>;
507 };
508 };
509
510 power-supply@68 {
511 compatible = "ibm,cffps1";
512 reg = <0x68>;
513 };
514
515 power-supply@69 {
516 compatible = "ibm,cffps1";
517 reg = <0x69>;
518 };
519};
520
521&i2c4 {
522 status = "okay";
523
524 /* CP0 VDD & VCS : IR35221 */
525 /* CP0 VDN & VIO : IR35221 */
526 /* CP0 VDDR : IR35221 */
527
528 ir35221@28 {
529 compatible = "infineon,ir35221";
530 reg = <0x28>;
531 };
532
533 ir35221@29 {
534 compatible = "infineon,ir35221";
535 reg = <0x29>;
536 };
537
538 ir35221@2d {
539 compatible = "infineon,ir35221";
540 reg = <0x2d>;
541 };
542
543};
544
545&i2c5 {
546 status = "disabled";
547};
548
549&i2c6 {
550 status = "disabled";
551};
552
553&i2c7 {
554 status = "disabled";
555};
556
557&i2c8 {
558 status = "okay";
559
560 eeprom@50 {
561 compatible = "atmel,24c64";
562 reg = <0x50>;
563 };
564};
565
566&i2c9 {
567 status = "okay";
568
569 /* PCIe G3 x16 slot */
570};
571
572&i2c10 {
573 status = "disabled";
574};
575
576&i2c11 {
577 status = "okay";
578
579 /* CPLD */
580 /* TPM */
581 /* RTC RX8900CE */
582 /* TMP275A */
583 /* TMP275A */
584
585 rtc@32 {
586 compatible = "epson,rx8900";
587 reg = <0x32>;
588 };
589
590 tmp275@48 {
591 compatible = "ti,tmp275";
592 reg = <0x48>;
593 };
594
595 tmp275@49 {
596 compatible = "ti,tmp275";
597 reg = <0x49>;
598 };
599
600};
601
602&i2c12 {
603 status = "disabled";
604};
605
606&i2c13 {
607 status = "disabled";
608};
609
610&vuart {
611 status = "okay";
612};
613
614&gfx {
615 status = "okay";
616 memory-region = <&gfx_memory>;
617};
618
619&adc {
620 status = "okay";
621 pinctrl-names = "default";
622 pinctrl-0 = <&pinctrl_adc0_default
623 &pinctrl_adc1_default
624 &pinctrl_adc2_default
625 &pinctrl_adc3_default
626 &pinctrl_adc4_default
627 &pinctrl_adc5_default
628 &pinctrl_adc6_default
629 &pinctrl_adc7_default
630 &pinctrl_adc8_default
631 &pinctrl_adc9_default
632 &pinctrl_adc10_default
633 &pinctrl_adc11_default
634 &pinctrl_adc12_default
635 &pinctrl_adc13_default
636 &pinctrl_adc14_default
637 &pinctrl_adc15_default>;
638};
639
640&wdt1 {
641 aspeed,reset-type = "none";
642 aspeed,external-signal;
643 aspeed,ext-push-pull;
644 aspeed,ext-active-high;
645
646 pinctrl-names = "default";
647 pinctrl-0 = <&pinctrl_wdtrst1_default>;
648};
649
650&wdt2 {
651 aspeed,alt-boot;
652};
653
654&ibt {
655 status = "okay";
656};
657
658&vhub {
659 status = "okay";
660};
661
662&video {
663 status = "okay";
664 memory-region = <&video_engine_memory>;
665};
666
667#include "ibm-power9-dual.dtsi"