blob: c435359a4bd90121f94b864f554df55abb4883d6 [file] [log] [blame]
Tom Riniab06a532025-04-02 08:31:19 -06001// SPDX-License-Identifier: GPL-2.0-only
2// Copyright 2024 Ampere Computing LLC.
3
4/dts-v1/;
5
6#include "aspeed-g6.dtsi"
7#include <dt-bindings/i2c/i2c.h>
8#include <dt-bindings/gpio/aspeed-gpio.h>
9
10/ {
11 model = "Ampere Mt. Jefferson BMC";
12 compatible = "ampere,mtjefferson-bmc", "aspeed,ast2600";
13
14 aliases {
15 i2c20 = &i2c4_bus70_chn0;
16 i2c22 = &i2c4_bus70_chn2;
17
18 /*
19 * I2C OCP alias port
20 */
21 i2c30 = &ocpslot;
22
23 /*
24 * I2C NVMe alias port
25 */
26 i2c48 = &nvmeslot_0;
27 i2c49 = &nvmeslot_1;
28 i2c50 = &nvmeslot_2;
29 i2c51 = &nvmeslot_3;
30 i2c52 = &nvmeslot_4;
31 i2c53 = &nvmeslot_5;
32 i2c54 = &nvmeslot_6;
33 i2c55 = &nvmeslot_7;
34 i2c56 = &nvmeslot_8;
35 i2c57 = &nvmeslot_9;
36 i2c58 = &nvmeslot_10;
37 i2c59 = &nvmeslot_11;
38 };
39
40 chosen {
41 stdout-path = &uart5;
42 };
43
44 memory@80000000 {
45 device_type = "memory";
46 reg = <0x80000000 0x80000000>;
47 };
48
49 reserved-memory {
50 #address-cells = <1>;
51 #size-cells = <1>;
52 ranges;
53
54 gfx_memory: framebuffer {
55 size = <0x01000000>;
56 alignment = <0x01000000>;
57 compatible = "shared-dma-pool";
58 reusable;
59 };
60
61 video_engine_memory: video {
62 size = <0x04000000>;
63 alignment = <0x01000000>;
64 compatible = "shared-dma-pool";
65 reusable;
66 };
67
68 vga_memory: region@bf000000 {
69 no-map;
70 compatible = "shared-dma-pool";
71 reg = <0xbf000000 0x01000000>; /* 16M */
72 };
73 };
74
75 voltage_mon_reg: voltage-mon-regulator {
76 compatible = "regulator-fixed";
77 regulator-name = "ltc2497_reg";
78 regulator-min-microvolt = <3300000>;
79 regulator-max-microvolt = <3300000>;
80 regulator-always-on;
81 };
82
83 leds {
84 compatible = "gpio-leds";
85 led-bmc-ready {
86 gpios = <&gpio0 ASPEED_GPIO(W, 5) (GPIO_ACTIVE_HIGH | GPIO_TRANSITORY)>;
87 };
88
89 led-sw-heartbeat {
90 gpios = <&gpio0 ASPEED_GPIO(N, 3) GPIO_ACTIVE_HIGH>;
91 };
92
93 led-identify {
94 gpios = <&gpio0 ASPEED_GPIO(S, 3) GPIO_ACTIVE_HIGH>;
95 };
96
97 led-fault {
98 gpios = <&gpio0 ASPEED_GPIO(P, 4) GPIO_ACTIVE_HIGH>;
99 };
100 };
101
102 iio-hwmon {
103 compatible = "iio-hwmon";
104 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>,
105 <&adc_i2c_2 0>, <&adc_i2c_2 1>,
106 <&adc_i2c_2 2>, <&adc_i2c_2 3>,
107 <&adc_i2c_2 4>, <&adc_i2c_2 5>,
108 <&adc_i2c_2 6>, <&adc_i2c_2 7>,
109 <&adc_i2c_2 8>, <&adc_i2c_2 9>,
110 <&adc_i2c_2 10>, <&adc_i2c_2 11>,
111 <&adc_i2c_2 12>, <&adc_i2c_2 13>,
112 <&adc_i2c_2 14>, <&adc_i2c_2 15>,
113 <&adc_i2c_0 0>, <&adc_i2c_0 1>,
114 <&adc_i2c_0 2>, <&adc_i2c_0 3>,
115 <&adc_i2c_0 4>, <&adc_i2c_0 5>,
116 <&adc_i2c_0 6>, <&adc_i2c_0 7>,
117 <&adc_i2c_0 8>, <&adc_i2c_0 9>,
118 <&adc_i2c_0 10>, <&adc_i2c_0 11>,
119 <&adc_i2c_0 12>;
120 };
121};
122
123&mdio0 {
124 status = "okay";
125
126 ethphy0: ethernet-phy@0 {
127 compatible = "ethernet-phy-ieee802.3-c22";
128 reg = <0>;
129 };
130};
131
132&mac0 {
133 status = "okay";
134
135 phy-mode = "rgmii";
136 phy-handle = <&ethphy0>;
137
138 pinctrl-names = "default";
139 pinctrl-0 = <&pinctrl_rgmii1_default>;
140};
141
142&mac3 {
143 status = "okay";
144 pinctrl-names = "default";
145 pinctrl-0 = <&pinctrl_rmii4_default>;
146 use-ncsi;
147};
148
149&fmc {
150 status = "okay";
151 flash@0 {
152 status = "okay";
153 m25p,fast-read;
154 label = "bmc";
155 spi-max-frequency = <50000000>;
156#include "openbmc-flash-layout-64.dtsi"
157 };
158
159 flash@1 {
160 status = "okay";
161 m25p,fast-read;
162 label = "alt-bmc";
163 spi-max-frequency = <50000000>;
164#include "openbmc-flash-layout-64-alt.dtsi"
165 };
166};
167
168&spi1 {
169 status = "okay";
170 pinctrl-names = "default";
171 pinctrl-0 = <&pinctrl_spi1_default>;
172
173 flash@0 {
174 status = "okay";
175 m25p,fast-read;
176 label = "pnor";
177 spi-max-frequency = <20000000>;
178 };
179};
180
181&uart1 {
182 status = "okay";
183};
184
185&uart2 {
186 status = "okay";
187};
188
189&i2c0 {
190 status = "okay";
191};
192
193&i2c1 {
194 status = "okay";
195};
196
197&i2c2 {
198 status = "okay";
199};
200
201&i2c3 {
202 status = "okay";
203 bus-frequency = <1000000>;
204 multi-master;
205 mctp-controller;
206
207 mctp@10 {
208 compatible = "mctp-i2c-controller";
209 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
210 };
211};
212
213&i2c4 {
214 status = "okay";
215 eeprom@50 {
216 compatible = "atmel,24c64";
217 reg = <0x50>;
218 pagesize = <32>;
219 };
220
221 i2c-mux@70 {
222 compatible = "nxp,pca9545";
223 #address-cells = <1>;
224 #size-cells = <0>;
225 reg = <0x70>;
226 i2c-mux-idle-disconnect;
227
228 i2c4_bus70_chn0: i2c@0 {
229 #address-cells = <1>;
230 #size-cells = <0>;
231 reg = <0x0>;
232
233 eeprom@52 {
234 compatible = "atmel,24c256";
235 reg = <0x52>;
236 pagesize = <32>;
237 };
238 temperature-sensor@48 {
239 compatible = "ti,tmp75";
240 reg = <0x48>;
241 };
242 temperature-sensor@49 {
243 compatible = "ti,tmp75";
244 reg = <0x49>;
245 };
246 temperature-sensor@4a{
247 compatible = "ti,tmp75";
248 reg = <0x4a>;
249 };
250 temperature-sensor@4b {
251 compatible = "ti,tmp464";
252 reg = <0x4b>;
253 #address-cells = <1>;
254 #size-cells = <0>;
255
256 channel@0 {
257 reg = <0x0>;
258 status = "disabled";
259 };
260 channel@1 {
261 reg = <0x1>;
262 status = "disabled";
263 };
264 channel@2 {
265 reg = <0x2>;
266 status = "disabled";
267 };
268 channel@3 {
269 reg = <0x3>;
270 status = "disabled";
271 };
272 channel@4 {
273 reg = <0x4>;
274 };
275 };
276 temperature-sensor@4d {
277 compatible = "ti,tmp75";
278 reg = <0x4d>;
279 };
280 temperature-sensor@4e {
281 compatible = "ti,tmp75";
282 reg = <0x4e>;
283 };
284 temperature-sensor@4f {
285 compatible = "ti,tmp75";
286 reg = <0x4f>;
287 };
288 temperature-sensor@28 {
289 compatible = "nuvoton,nct7802";
290 reg = <0x28>;
291
292 #address-cells = <1>;
293 #size-cells = <0>;
294 channel@1 { /* RTD1 */
295 reg = <1>;
296 sensor-type = "temperature";
297 temperature-mode = "thermistor";
298 };
299 };
300 adc_i2c_0: adc@14 {
301 compatible = "lltc,ltc2497";
302 reg = <0x14>;
303 vref-supply = <&voltage_mon_reg>;
304 #io-channel-cells = <1>;
305 };
306 };
307
308 i2c4_bus70_chn2: i2c@2 {
309 #address-cells = <1>;
310 #size-cells = <0>;
311 reg = <0x2>;
312
313 adc_i2c_2: adc@14 {
314 compatible = "lltc,ltc2497";
315 reg = <0x14>;
316 vref-supply = <&voltage_mon_reg>;
317 #io-channel-cells = <1>;
318 };
319 };
320 };
321};
322
323&i2c5 {
324 status = "okay";
325 i2c-mux@70 {
326 compatible = "nxp,pca9548";
327 #address-cells = <1>;
328 #size-cells = <0>;
329 reg = <0x70>;
330 i2c-mux-idle-disconnect;
331
332 i2c@0 {
333 #address-cells = <1>;
334 #size-cells = <0>;
335 reg = <0x0>;
336
337 i2c-mux@71 {
338 compatible = "nxp,pca9548";
339 #address-cells = <1>;
340 #size-cells = <0>;
341 reg = <0x71>;
342 i2c-mux-idle-disconnect;
343
344 nvmeslot_8: i2c@0 {
345 #address-cells = <1>;
346 #size-cells = <0>;
347 reg = <0x0>;
348 };
349 nvmeslot_9: i2c@1 {
350 #address-cells = <1>;
351 #size-cells = <0>;
352 reg = <0x1>;
353 };
354 nvmeslot_10: i2c@2 {
355 #address-cells = <1>;
356 #size-cells = <0>;
357 reg = <0x2>;
358 };
359 nvmeslot_11: i2c@3 {
360 #address-cells = <1>;
361 #size-cells = <0>;
362 reg = <0x3>;
363 };
364 };
365
366 i2c-mux@72 {
367 compatible = "nxp,pca9548";
368 #address-cells = <1>;
369 #size-cells = <0>;
370 reg = <0x72>;
371 i2c-mux-idle-disconnect;
372
373 nvmeslot_4: i2c@4 {
374 #address-cells = <1>;
375 #size-cells = <0>;
376 reg = <0x4>;
377 };
378 nvmeslot_5: i2c@5 {
379 #address-cells = <1>;
380 #size-cells = <0>;
381 reg = <0x5>;
382 };
383 nvmeslot_6: i2c@6 {
384 #address-cells = <1>;
385 #size-cells = <0>;
386 reg = <0x6>;
387 };
388 nvmeslot_7: i2c@7 {
389 #address-cells = <1>;
390 #size-cells = <0>;
391 reg = <0x7>;
392 };
393 };
394
395 i2c-mux@74 {
396 compatible = "nxp,pca9548";
397 #address-cells = <1>;
398 #size-cells = <0>;
399 reg = <0x74>;
400 i2c-mux-idle-disconnect;
401
402 ocpslot: i2c@0 {
403 #address-cells = <1>;
404 #size-cells = <0>;
405 reg = <0x0>;
406
407 ocpslot_temp: temperature-sensor@1f {
408 compatible = "ti,tmp421";
409 reg = <0x1f>;
410 #address-cells = <1>;
411 #size-cells = <0>;
412
413 channel@0 {
414 reg = <0x0>;
415 status = "disabled";
416 };
417 channel@1 {
418 reg = <0x1>;
419 };
420 };
421 };
422
423 nvmeslot_0: i2c@4 {
424 #address-cells = <1>;
425 #size-cells = <0>;
426 reg = <0x4>;
427 };
428 nvmeslot_1: i2c@5 {
429 #address-cells = <1>;
430 #size-cells = <0>;
431 reg = <0x5>;
432 };
433 nvmeslot_2: i2c@6 {
434 #address-cells = <1>;
435 #size-cells = <0>;
436 reg = <0x6>;
437 };
438 nvmeslot_3: i2c@7 {
439 #address-cells = <1>;
440 #size-cells = <0>;
441 reg = <0x7>;
442 };
443 };
444 };
445 };
446};
447
448&i2c6 {
449 status = "okay";
450
451 rtc@51 {
452 compatible = "nxp,pcf8563";
453 reg = <0x51>;
454 };
455};
456
457&i2c7 {
458 status = "okay";
459
460 temperature-sensor@4f {
461 compatible = "ti,tmp75";
462 reg = <0x4f>;
463 };
464};
465
466&i2c8 {
467 status = "okay";
468
469 fan-controller@5c {
470 compatible = "onnn,adt7462";
471 reg = <0x5c>;
472 };
473};
474
475&i2c9 {
476 status = "okay";
477
478 #address-cells = <1>;
479 #size-cells = <0>;
480
481 eeprom@50 {
482 compatible = "atmel,24c02";
483 reg = <0x50>;
484 };
485
486 eeprom@52 {
487 compatible = "atmel,24c02";
488 reg = <0x52>;
489 };
490
491 temperature-sensor@18 {
492 compatible = "jedec,jc-42.4-temp";
493 reg = <0x18>;
494 };
495
496 temperature-sensor@1a {
497 compatible = "jedec,jc-42.4-temp";
498 reg = <0x1a>;
499 };
500};
501
502&i2c10 {
503 status = "okay";
504};
505
506&i2c11 {
507 status = "okay";
508 ssif-bmc@10 {
509 compatible = "ssif-bmc";
510 reg = <0x10>;
511 };
512};
513
514&i2c14 {
515 status = "okay";
516 eeprom@50 {
517 compatible = "atmel,24c64";
518 reg = <0x50>;
519 pagesize = <32>;
520 };
521
522 bmc_ast2600_cpu: temperature-sensor@48 {
523 compatible = "ti,tmp75";
524 reg = <0x48>;
525 };
526};
527
528&i2c15 {
529 status = "okay";
530 gpio_expander1: gpio-expander@22 {
531 compatible = "nxp,pca9535";
532 reg = <0x22>;
533 gpio-controller;
534 #gpio-cells = <2>;
535 gpio-line-names =
536 "presence-ocp1","presence-ocp2",
537 "","",
538 "","",
539 "","",
540 "","",
541 "","",
542 "","",
543 "","";
544 };
545};
546
547&adc0 {
548 status = "okay";
549
550 pinctrl-names = "default";
551 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
552 &pinctrl_adc2_default>;
553};
554
555&vhub {
556 status = "okay";
557};
558
559&video {
560 status = "okay";
561 memory-region = <&video_engine_memory>;
562};
563
564&gpio0 {
565 gpio-line-names =
566 /*A0-A7*/ "","","","","cpu-type-detect","i2c2-reset-n","i2c6-reset-n","i2c5-reset-n",
567 /*B0-B7*/ "","","","","host0-sysreset-n","host0-pmin-n","fru-rd-complete",
568 "chassis-id-sel",
569 /*C0-C7*/ "s0-vrd-fault-n","","bmc-debug-mode","","cpld-3v3-irq-n","","vrd-sel",
570 "spd-sel",
571 /*D0-D7*/ "presence-ps0","presence-ps1","hsc-12vmain-alt2-n","ext-high-temp-n",
572 "","","","",
573 /*E0-E7*/ "eth-phy-rst-n","eth-phy-int-n","","","","","","",
574 /*F0-F7*/ "s0-pcp-oc-warn-n","","power-chassis-control",
575 "cpu-bios-recover","s0-heartbeat","hs-scout-proc-hot","s0-vr-hot-n","",
576 /*G0-G7*/ "","","hsc-12vmain-alt1-n","","","bp-cpld-program-en","led-fp-sta-gr",
577 "led-fp-sta-amb",
578 /*H0-H7*/ "jtag-program-sel","jtag-cmpl2","wd-disable-n","power-chassis-good","","",
579 "","",
580 /*I0-I7*/ "","","","","","","power-button","rtc-battery-voltage-read-enable",
581 /*J0-J7*/ "","","","","","","","",
582 /*K0-K7*/ "","","","","","","","",
583 /*L0-L7*/ "","","","","reset-button","","","",
584 /*M0-M7*/ "nmi-n","s0-ddr-save","soc-spi-nor-access","presence-cpu0","s0-rtc-lock",
585 "","","",
586 /*N0-N7*/ "hpm-fw-recovery","hpm-stby-rst-n","jtag-sel-s0","led-sw-hb",
587 "jtag-dbgr-prsnt-n","","","",
588 /*O0-O7*/ "","","","","","","","",
589 /*P0-P7*/ "ps0-ac-loss-n","ps1-ac-loss-n","","","led-fault","user-mode","jtag-srst-n",
590 "led-bmc-hb",
591 /*Q0-Q7*/ "","","","","","","","",
592 /*R0-R7*/ "","","","","","","","",
593 /*S0-S7*/ "","","identify-button","led-identify","","spi-nor-access","host0-ready","",
594 /*T0-T7*/ "","","","","","","","",
595 /*U0-U7*/ "","","","","","","","",
596 /*V0-V7*/ "s0-hightemp-n","s0-fault-alert","s0-sys-auth-failure-n",
597 "host0-reboot-ack-n","s0-fw-boot-ok","host0-shd-req-n",
598 "host0-shd-ack-n","s0-overtemp-n",
599 /*W0-W7*/ "ocp-aux-pwren","ocp-main-pwren","ocp-pgood","",
600 "bmc-ok","bmc-ready","spi0-program-sel","spi0-backup-sel",
601 /*X0-X7*/ "","","","","","","","",
602 /*Y0-Y7*/ "","","","vrd-prg-en-n","","","","host0-special-boot",
603 /*Z0-Z7*/ "","ps0-pgood","ps1-pgood","","","","","";
604
605 ocp-aux-pwren-hog {
606 gpio-hog;
607 gpios = <ASPEED_GPIO(W, 0) GPIO_ACTIVE_HIGH>;
608 output-high;
609 line-name = "ocp-aux-pwren";
610 };
611
612};
613
614&gpio1 {
615 gpio-line-names =
616 /*18A0-18A7*/ "","","","","","","","",
617 /*18B0-18B7*/ "","","","","s0-soc-pgood","vga-ft-press-n","emmc-rst-n","s01-uart1-sel",
618 /*18C0-18C7*/ "uart1-mode0","uart1-mode1","uart2-mode0","uart2-mode1",
619 "","","","",
620 /*18D0-18D7*/ "","","","","","","","",
621 /*18E0-18E3*/ "","","","";
622};