1// SPDX-License-Identifier: GPL-2.0-only 2// Copyright (c) 2022, Ampere Computing LLC 3 4/dts-v1/; 5 6#include "aspeed-g6.dtsi" 7#include <dt-bindings/gpio/aspeed-gpio.h> 8 9/ { 10 model = "Ampere Mt.Mitchell BMC"; 11 compatible = "ampere,mtmitchell-bmc", "aspeed,ast2600"; 12 13 aliases { 14 serial7 = &uart8; 15 serial8 = &uart9; 16 }; 17 18 chosen { 19 stdout-path = &uart5; 20 }; 21 22 memory@80000000 { 23 device_type = "memory"; 24 reg = <0x80000000 0x80000000>; 25 }; 26 27 reserved-memory { 28 #address-cells = <1>; 29 #size-cells = <1>; 30 ranges; 31 32 gfx_memory: framebuffer { 33 size = <0x01000000>; 34 alignment = <0x01000000>; 35 compatible = "shared-dma-pool"; 36 reusable; 37 }; 38 39 video_engine_memory: video { 40 size = <0x04000000>; 41 alignment = <0x01000000>; 42 compatible = "shared-dma-pool"; 43 reusable; 44 }; 45 46 vga_memory: region@bf000000 { 47 no-map; 48 compatible = "shared-dma-pool"; 49 reg = <0xbf000000 0x01000000>; /* 16M */ 50 }; 51 }; 52 53 voltage_mon_reg: voltage-mon-regulator { 54 compatible = "regulator-fixed"; 55 regulator-name = "ltc2497_reg"; 56 regulator-min-microvolt = <3300000>; 57 regulator-max-microvolt = <3300000>; 58 regulator-always-on; 59 }; 60 61 gpioI5mux: mux-controller { 62 compatible = "gpio-mux"; 63 #mux-control-cells = <0>; 64 mux-gpios = <&gpio0 ASPEED_GPIO(I, 5) GPIO_ACTIVE_HIGH>; 65 }; 66 67 adc0mux: adc0mux { 68 compatible = "io-channel-mux"; 69 io-channels = <&adc_i2c_0 0>; 70 #io-channel-cells = <1>; 71 io-channel-names = "parent"; 72 mux-controls = <&gpioI5mux>; 73 settle-time-us = <10000>; 74 channels = "s0", "s1"; 75 }; 76 77 adc1mux: adc1mux { 78 compatible = "io-channel-mux"; 79 io-channels = <&adc_i2c_0 1>; 80 #io-channel-cells = <1>; 81 io-channel-names = "parent"; 82 mux-controls = <&gpioI5mux>; 83 settle-time-us = <10000>; 84 channels = "s0", "s1"; 85 }; 86 87 adc2mux: adc2mux { 88 compatible = "io-channel-mux"; 89 io-channels = <&adc_i2c_0 2>; 90 #io-channel-cells = <1>; 91 io-channel-names = "parent"; 92 mux-controls = <&gpioI5mux>; 93 settle-time-us = <10000>; 94 channels = "s0", "s1"; 95 }; 96 97 adc3mux: adc3mux { 98 compatible = "io-channel-mux"; 99 io-channels = <&adc_i2c_0 3>; 100 #io-channel-cells = <1>; 101 io-channel-names = "parent"; 102 mux-controls = <&gpioI5mux>; 103 settle-time-us = <10000>; 104 channels = "s0", "s1"; 105 }; 106 107 adc4mux: adc4mux { 108 compatible = "io-channel-mux"; 109 io-channels = <&adc_i2c_0 4>; 110 #io-channel-cells = <1>; 111 io-channel-names = "parent"; 112 mux-controls = <&gpioI5mux>; 113 settle-time-us = <10000>; 114 channels = "s0", "s1"; 115 }; 116 117 adc5mux: adc5mux { 118 compatible = "io-channel-mux"; 119 io-channels = <&adc_i2c_0 5>; 120 #io-channel-cells = <1>; 121 io-channel-names = "parent"; 122 mux-controls = <&gpioI5mux>; 123 settle-time-us = <10000>; 124 channels = "s0", "s1"; 125 }; 126 127 adc6mux: adc6mux { 128 compatible = "io-channel-mux"; 129 io-channels = <&adc_i2c_0 6>; 130 #io-channel-cells = <1>; 131 io-channel-names = "parent"; 132 mux-controls = <&gpioI5mux>; 133 settle-time-us = <10000>; 134 channels = "s0", "s1"; 135 }; 136 137 adc7mux: adc7mux { 138 compatible = "io-channel-mux"; 139 io-channels = <&adc_i2c_0 7>; 140 #io-channel-cells = <1>; 141 io-channel-names = "parent"; 142 mux-controls = <&gpioI5mux>; 143 settle-time-us = <10000>; 144 channels = "s0", "s1"; 145 }; 146 147 adc8mux: adc8mux { 148 compatible = "io-channel-mux"; 149 io-channels = <&adc_i2c_0 8>; 150 #io-channel-cells = <1>; 151 io-channel-names = "parent"; 152 mux-controls = <&gpioI5mux>; 153 settle-time-us = <10000>; 154 channels = "s0", "s1"; 155 }; 156 157 adc9mux: adc9mux { 158 compatible = "io-channel-mux"; 159 io-channels = <&adc_i2c_0 9>; 160 #io-channel-cells = <1>; 161 io-channel-names = "parent"; 162 mux-controls = <&gpioI5mux>; 163 settle-time-us = <10000>; 164 channels = "s0", "s1"; 165 }; 166 167 adc10mux: adc10mux { 168 compatible = "io-channel-mux"; 169 io-channels = <&adc_i2c_0 10>; 170 #io-channel-cells = <1>; 171 io-channel-names = "parent"; 172 mux-controls = <&gpioI5mux>; 173 settle-time-us = <10000>; 174 channels = "s0", "s1"; 175 }; 176 177 adc11mux: adc11mux { 178 compatible = "io-channel-mux"; 179 io-channels = <&adc_i2c_0 11>; 180 #io-channel-cells = <1>; 181 io-channel-names = "parent"; 182 mux-controls = <&gpioI5mux>; 183 settle-time-us = <10000>; 184 channels = "s0", "s1"; 185 }; 186 187 adc12mux: adc12mux { 188 compatible = "io-channel-mux"; 189 io-channels = <&adc_i2c_0 12>; 190 #io-channel-cells = <1>; 191 io-channel-names = "parent"; 192 mux-controls = <&gpioI5mux>; 193 settle-time-us = <10000>; 194 channels = "s0", "s1"; 195 }; 196 197 adc13mux: adc13mux { 198 compatible = "io-channel-mux"; 199 io-channels = <&adc_i2c_0 13>; 200 #io-channel-cells = <1>; 201 io-channel-names = "parent"; 202 mux-controls = <&gpioI5mux>; 203 settle-time-us = <10000>; 204 channels = "s0", "s1"; 205 }; 206 207 adc14mux: adc14mux { 208 compatible = "io-channel-mux"; 209 io-channels = <&adc_i2c_0 14>; 210 #io-channel-cells = <1>; 211 io-channel-names = "parent"; 212 mux-controls = <&gpioI5mux>; 213 settle-time-us = <10000>; 214 channels = "s0", "s1"; 215 }; 216 217 adc15mux: adc15mux { 218 compatible = "io-channel-mux"; 219 io-channels = <&adc_i2c_0 15>; 220 #io-channel-cells = <1>; 221 io-channel-names = "parent"; 222 mux-controls = <&gpioI5mux>; 223 settle-time-us = <10000>; 224 channels = "s0", "s1"; 225 }; 226 227 iio-hwmon { 228 compatible = "iio-hwmon"; 229 io-channels = <&adc0mux 0>, <&adc0mux 1>, 230 <&adc1mux 0>, <&adc1mux 1>, 231 <&adc2mux 0>, <&adc2mux 1>, 232 <&adc3mux 0>, <&adc3mux 1>, 233 <&adc4mux 0>, <&adc4mux 1>, 234 <&adc5mux 0>, <&adc5mux 1>, 235 <&adc6mux 0>, <&adc6mux 1>, 236 <&adc7mux 0>, <&adc7mux 1>, 237 <&adc8mux 0>, <&adc8mux 1>, 238 <&adc9mux 0>, <&adc9mux 1>, 239 <&adc10mux 0>, <&adc10mux 1>, 240 <&adc11mux 0>, <&adc11mux 1>, 241 <&adc12mux 0>, <&adc12mux 1>, 242 <&adc13mux 0>, <&adc13mux 1>, 243 <&adc14mux 0>, <&adc14mux 1>, 244 <&adc15mux 0>, <&adc15mux 1>, 245 <&adc_i2c_1 0>, <&adc_i2c_1 1>, 246 <&adc_i2c_1 2>, <&adc_i2c_1 3>, 247 <&adc_i2c_1 4>, <&adc_i2c_1 5>, 248 <&adc_i2c_1 6>, <&adc_i2c_1 7>, 249 <&adc_i2c_1 8>, <&adc_i2c_1 9>, 250 <&adc_i2c_1 10>, <&adc_i2c_1 11>, 251 <&adc_i2c_1 12>, <&adc_i2c_1 13>, 252 <&adc_i2c_1 14>, <&adc_i2c_1 15>, 253 <&adc0 0>, <&adc0 1>, 254 <&adc0 2>; 255 }; 256}; 257 258&mdio0 { 259 status = "okay"; 260 261 ethphy0: ethernet-phy@0 { 262 compatible = "ethernet-phy-ieee802.3-c22"; 263 reg = <0>; 264 }; 265}; 266 267&mac0 { 268 status = "okay"; 269 270 phy-mode = "rgmii"; 271 phy-handle = <ðphy0>; 272 273 pinctrl-names = "default"; 274 pinctrl-0 = <&pinctrl_rgmii1_default>; 275}; 276 277&mac3 { 278 status = "okay"; 279 pinctrl-names = "default"; 280 pinctrl-0 = <&pinctrl_rmii4_default>; 281 clock-names = "MACCLK", "RCLK"; 282 use-ncsi; 283}; 284 285&fmc { 286 status = "okay"; 287 flash@0 { 288 status = "okay"; 289 m25p,fast-read; 290 label = "bmc"; 291 spi-max-frequency = <50000000>; 292#include "openbmc-flash-layout-64.dtsi" 293 }; 294 295 flash@1 { 296 status = "okay"; 297 m25p,fast-read; 298 label = "alt-bmc"; 299 spi-max-frequency = <50000000>; 300#include "openbmc-flash-layout-64-alt.dtsi" 301 }; 302}; 303 304&spi1 { 305 status = "okay"; 306 pinctrl-names = "default"; 307 pinctrl-0 = <&pinctrl_spi1_default>; 308 309 flash@0 { 310 status = "okay"; 311 m25p,fast-read; 312 label = "pnor"; 313 spi-max-frequency = <20000000>; 314 }; 315}; 316 317&uart1 { 318 status = "okay"; 319}; 320 321&uart2 { 322 status = "okay"; 323}; 324 325&uart3 { 326 status = "okay"; 327}; 328 329&uart4 { 330 status = "okay"; 331}; 332 333&uart8 { 334 status = "okay"; 335}; 336 337&uart9 { 338 status = "okay"; 339}; 340 341&i2c0 { 342 status = "okay"; 343 344 temperature-sensor@2e { 345 compatible = "adi,adt7490"; 346 reg = <0x2e>; 347 }; 348}; 349 350&i2c1 { 351 status = "okay"; 352}; 353 354&i2c2 { 355 status = "okay"; 356 357 psu@58 { 358 compatible = "pmbus"; 359 reg = <0x58>; 360 }; 361 362 psu@59 { 363 compatible = "pmbus"; 364 reg = <0x59>; 365 }; 366}; 367 368&i2c3 { 369 status = "okay"; 370}; 371 372&i2c4 { 373 status = "okay"; 374 375 adc_i2c_0: adc@14 { 376 compatible = "lltc,ltc2497"; 377 reg = <0x14>; 378 vref-supply = <&voltage_mon_reg>; 379 #io-channel-cells = <1>; 380 }; 381 382 adc_i2c_1: adc@16 { 383 compatible = "lltc,ltc2497"; 384 reg = <0x16>; 385 vref-supply = <&voltage_mon_reg>; 386 #io-channel-cells = <1>; 387 }; 388 389 eeprom@50 { 390 compatible = "atmel,24c64"; 391 reg = <0x50>; 392 pagesize = <32>; 393 }; 394 395 i2c-mux@70 { 396 compatible = "nxp,pca9545"; 397 #address-cells = <1>; 398 #size-cells = <0>; 399 reg = <0x70>; 400 i2c-mux-idle-disconnect; 401 402 i2c4_bus70_chn0: i2c@0 { 403 #address-cells = <1>; 404 #size-cells = <0>; 405 reg = <0x0>; 406 407 outlet_temp1: temperature-sensor@48 { 408 compatible = "ti,tmp75"; 409 reg = <0x48>; 410 }; 411 psu1_inlet_temp2: temperature-sensor@49 { 412 compatible = "ti,tmp75"; 413 reg = <0x49>; 414 }; 415 }; 416 417 i2c4_bus70_chn1: i2c@1 { 418 #address-cells = <1>; 419 #size-cells = <0>; 420 reg = <0x1>; 421 422 pcie_zone_temp1: temperature-sensor@48 { 423 compatible = "ti,tmp75"; 424 reg = <0x48>; 425 }; 426 psu0_inlet_temp2: temperature-sensor@49 { 427 compatible = "ti,tmp75"; 428 reg = <0x49>; 429 }; 430 }; 431 432 i2c4_bus70_chn2: i2c@2 { 433 #address-cells = <1>; 434 #size-cells = <0>; 435 reg = <0x2>; 436 437 pcie_zone_temp2: temperature-sensor@48 { 438 compatible = "ti,tmp75"; 439 reg = <0x48>; 440 }; 441 outlet_temp2: temperature-sensor@49 { 442 compatible = "ti,tmp75"; 443 reg = <0x49>; 444 }; 445 }; 446 447 i2c4_bus70_chn3: i2c@3 { 448 #address-cells = <1>; 449 #size-cells = <0>; 450 reg = <0x3>; 451 452 mb_inlet_temp1: temperature-sensor@7c { 453 compatible = "microchip,emc1413"; 454 reg = <0x7c>; 455 }; 456 mb_inlet_temp2: temperature-sensor@4c { 457 compatible = "microchip,emc1413"; 458 reg = <0x4c>; 459 }; 460 }; 461 }; 462}; 463 464&i2c5 { 465 status = "okay"; 466 467 i2c-mux@70 { 468 compatible = "nxp,pca9548"; 469 #address-cells = <1>; 470 #size-cells = <0>; 471 reg = <0x70>; 472 i2c-mux-idle-disconnect; 473 }; 474}; 475 476&i2c6 { 477 status = "okay"; 478 rtc@51 { 479 compatible = "nxp,pcf85063a"; 480 reg = <0x51>; 481 }; 482}; 483 484&i2c7 { 485 status = "okay"; 486}; 487 488&i2c8 { 489 status = "okay"; 490 491 gpio@77 { 492 compatible = "nxp,pca9539"; 493 reg = <0x77>; 494 gpio-controller; 495 #address-cells = <1>; 496 #size-cells = <0>; 497 #gpio-cells = <2>; 498 499 bmc-ocp0-en-hog { 500 gpio-hog; 501 gpios = <7 GPIO_ACTIVE_LOW>; 502 output-high; 503 line-name = "bmc-ocp0-en-n"; 504 }; 505 }; 506}; 507 508&i2c9 { 509 status = "okay"; 510}; 511 512&i2c11 { 513 status = "okay"; 514 ssif-bmc@10 { 515 compatible = "ssif-bmc"; 516 reg = <0x10>; 517 }; 518}; 519 520&i2c14 { 521 status = "okay"; 522 eeprom@50 { 523 compatible = "atmel,24c64"; 524 reg = <0x50>; 525 pagesize = <32>; 526 }; 527 528 bmc_ast2600_cpu: temperature-sensor@35 { 529 compatible = "ti,tmp175"; 530 reg = <0x35>; 531 }; 532}; 533 534&adc0 { 535 ref_voltage = <2500>; 536 status = "okay"; 537 538 pinctrl-names = "default"; 539 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default 540 &pinctrl_adc2_default &pinctrl_adc3_default 541 &pinctrl_adc4_default &pinctrl_adc5_default 542 &pinctrl_adc6_default &pinctrl_adc7_default>; 543}; 544 545&adc1 { 546 ref_voltage = <2500>; 547 status = "okay"; 548 549 pinctrl-names = "default"; 550 pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default 551 &pinctrl_adc10_default &pinctrl_adc11_default 552 &pinctrl_adc12_default &pinctrl_adc13_default 553 &pinctrl_adc14_default &pinctrl_adc15_default>; 554}; 555 556&vhub { 557 status = "okay"; 558}; 559 560&video { 561 status = "okay"; 562 memory-region = <&video_engine_memory>; 563}; 564 565&gpio0 { 566 gpio-line-names = 567 /*A0-A7*/ "","","","","","i2c2-reset-n","i2c6-reset-n","i2c4-reset-n", 568 /*B0-B7*/ "","","","","host0-sysreset-n","host0-pmin-n","","", 569 /*C0-C7*/ "s0-vrd-fault-n","s1-vrd-fault-n","","", 570 "irq-n","","vrd-sel","spd-sel", 571 /*D0-D7*/ "presence-ps0","presence-ps1","hsc-12vmain-alt2-n","ext-high-temp-n", 572 "","bmc-ncsi-txen","","", 573 /*E0-E7*/ "","","clk50m-bmc-ncsi","","","","","", 574 /*F0-F7*/ "s0-pcp-oc-warn-n","s1-pcp-oc-warn-n","power-chassis-control", 575 "cpu-bios-recover","s0-heartbeat","hs-csout-prochot", 576 "s0-vr-hot-n","s1-vr-hot-n", 577 /*G0-G7*/ "","","hsc-12vmain-alt1-n","","","","","", 578 /*H0-H7*/ "","","wd-disable-n","power-chassis-good","","","","", 579 /*I0-I7*/ "","","","","","adc-sw","power-button","rtc-battery-voltage-read-enable", 580 /*J0-J7*/ "","","","","","","","", 581 /*K0-K7*/ "","","","","","","","", 582 /*L0-L7*/ "","","","","","","","", 583 /*M0-M7*/ "","s0-ddr-save","soc-spi-nor-access","presence-cpu0", 584 "s0-rtc-lock","","","", 585 /*N0-N7*/ "hpm-fw-recovery","hpm-stby-rst-n","jtag-sel-s0","led-sw-hb", 586 "jtag-dbgr-prsnt-n","s1-heartbeat","","", 587 /*O0-O7*/ "","","","","","","","", 588 /*P0-P7*/ "ps0-ac-loss-n","ps1-ac-loss-n","","", 589 "led-fault","cpld-user-mode","jtag-srst-n","led-bmc-hb", 590 /*Q0-Q7*/ "","","","","","","","", 591 /*R0-R7*/ "","","","","","","","", 592 /*S0-S7*/ "","","identify-button","led-identify", 593 "s1-ddr-save","spi-nor-access","sys-pgood","presence-cpu1", 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","host0-ready","host0-shd-req-n", 598 "host0-shd-ack-n","s0-overtemp-n", 599 /*W0-W7*/ "","ocp-main-pwren","ocp-pgood","", 600 "bmc-ok","bmc-ready","spi0-program-sel","spi0-backup-sel", 601 /*X0-X7*/ "i2c-backup-sel","s1-fault-alert","s1-fw-boot-ok", 602 "s1-hightemp-n","s0-spi-auth-fail-n","s1-sys-auth-failure-n", 603 "s1-overtemp-n","s1-spi-auth-fail-n", 604 /*Y0-Y7*/ "","","","","","","","host0-special-boot", 605 /*Z0-Z7*/ "reset-button","ps0-pgood","ps1-pgood","","","","",""; 606 607 ocp-aux-pwren-hog { 608 gpio-hog; 609 gpios = <ASPEED_GPIO(W, 0) GPIO_ACTIVE_HIGH>; 610 output-high; 611 line-name = "ocp-aux-pwren"; 612 }; 613}; 614 615&gpio1 { 616 gpio-line-names = 617 /*18A0-18A7*/ "","","","","","","","", 618 /*18B0-18B7*/ "","","","","","","s0-soc-pgood","", 619 /*18C0-18C7*/ "uart1-mode0","uart1-mode1","uart2-mode0","uart2-mode1", 620 "uart3-mode0","uart3-mode1","uart4-mode0","uart4-mode1", 621 /*18D0-18D7*/ "","","","","","","","", 622 /*18E0-18E3*/ "","","",""; 623}; 624