1// SPDX-License-Identifier: GPL-2.0-or-later 2// Copyright 2022 Facebook Inc. 3 4/dts-v1/; 5#include "aspeed-g6.dtsi" 6#include <dt-bindings/gpio/aspeed-gpio.h> 7#include <dt-bindings/leds/leds-pca955x.h> 8#include <dt-bindings/i2c/i2c.h> 9 10/ { 11 model = "Facebook Yosemite 4 BMC"; 12 compatible = "facebook,yosemite4-bmc", "aspeed,ast2600"; 13 14 aliases { 15 serial4 = &uart5; 16 serial5 = &uart6; 17 serial6 = &uart7; 18 serial7 = &uart8; 19 serial8 = &uart9; 20 }; 21 22 chosen { 23 stdout-path = "serial4:57600n8"; 24 }; 25 26 memory@80000000 { 27 device_type = "memory"; 28 reg = <0x80000000 0x80000000>; 29 }; 30 31 iio-hwmon { 32 compatible = "iio-hwmon"; 33 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, 34 <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>, 35 <&adc1 0>, <&adc1 1>; 36 }; 37}; 38 39&uart1 { 40 status = "okay"; 41}; 42 43&uart2 { 44 status = "okay"; 45}; 46 47&uart3 { 48 status = "okay"; 49}; 50 51&uart4 { 52 status = "okay"; 53}; 54 55&uart5 { 56 status = "okay"; 57}; 58 59&uart6 { 60 status = "okay"; 61}; 62 63&uart7 { 64 status = "okay"; 65}; 66 67&uart8 { 68 status = "okay"; 69}; 70 71&uart9 { 72 status = "okay"; 73}; 74 75&wdt1 { 76 status = "okay"; 77 pinctrl-names = "default"; 78 pinctrl-0 = <&pinctrl_wdtrst1_default>; 79 aspeed,reset-type = "soc"; 80 aspeed,external-signal; 81 aspeed,ext-push-pull; 82 aspeed,ext-active-high; 83 aspeed,ext-pulse-duration = <256>; 84}; 85 86&mac2 { 87 status = "okay"; 88 pinctrl-names = "default"; 89 pinctrl-0 = <&pinctrl_rmii3_default>; 90 use-ncsi; 91 mlx,multi-host; 92}; 93 94&mac3 { 95 status = "okay"; 96 pinctrl-names = "default"; 97 pinctrl-0 = <&pinctrl_rmii4_default>; 98 use-ncsi; 99 mlx,multi-host; 100}; 101 102&fmc { 103 status = "okay"; 104 flash@0 { 105 status = "okay"; 106 m25p,fast-read; 107 label = "bmc"; 108 spi-rx-bus-width = <4>; 109 spi-max-frequency = <50000000>; 110#include "openbmc-flash-layout-64.dtsi" 111 }; 112 flash@1 { 113 status = "okay"; 114 m25p,fast-read; 115 label = "bmc2"; 116 spi-rx-bus-width = <4>; 117 spi-max-frequency = <50000000>; 118 }; 119}; 120 121&i2c0 { 122 status = "okay"; 123 mctp-controller; 124 bus-frequency = <400000>; 125 multi-master; 126 127 mctp@10 { 128 compatible = "mctp-i2c-controller"; 129 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 130 }; 131 132 power-sensor@40 { 133 compatible = "adi,adm1278"; 134 reg = <0x40>; 135 }; 136}; 137 138&i2c1 { 139 status = "okay"; 140 mctp-controller; 141 bus-frequency = <400000>; 142 multi-master; 143 144 mctp@10 { 145 compatible = "mctp-i2c-controller"; 146 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 147 }; 148 149 power-sensor@40 { 150 compatible = "adi,adm1278"; 151 reg = <0x40>; 152 }; 153}; 154 155&i2c2 { 156 status = "okay"; 157 mctp-controller; 158 bus-frequency = <400000>; 159 multi-master; 160 161 mctp@10 { 162 compatible = "mctp-i2c-controller"; 163 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 164 }; 165 166 power-sensor@40 { 167 compatible = "adi,adm1278"; 168 reg = <0x40>; 169 }; 170}; 171 172&i2c3 { 173 status = "okay"; 174 mctp-controller; 175 bus-frequency = <400000>; 176 multi-master; 177 178 mctp@10 { 179 compatible = "mctp-i2c-controller"; 180 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 181 }; 182 183 power-sensor@40 { 184 compatible = "adi,adm1278"; 185 reg = <0x40>; 186 }; 187}; 188 189&i2c4 { 190 status = "okay"; 191 mctp-controller; 192 bus-frequency = <400000>; 193 multi-master; 194 195 mctp@10 { 196 compatible = "mctp-i2c-controller"; 197 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 198 }; 199 200 power-sensor@40 { 201 compatible = "adi,adm1278"; 202 reg = <0x40>; 203 }; 204}; 205 206&i2c5 { 207 status = "okay"; 208 mctp-controller; 209 bus-frequency = <400000>; 210 multi-master; 211 212 mctp@10 { 213 compatible = "mctp-i2c-controller"; 214 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 215 }; 216 217 power-sensor@40 { 218 compatible = "adi,adm1278"; 219 reg = <0x40>; 220 }; 221}; 222 223&i2c6 { 224 status = "okay"; 225 mctp-controller; 226 bus-frequency = <400000>; 227 multi-master; 228 229 mctp@10 { 230 compatible = "mctp-i2c-controller"; 231 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 232 }; 233 234 power-sensor@40 { 235 compatible = "adi,adm1278"; 236 reg = <0x40>; 237 }; 238}; 239 240&i2c7 { 241 status = "okay"; 242 mctp-controller; 243 bus-frequency = <400000>; 244 multi-master; 245 246 mctp@10 { 247 compatible = "mctp-i2c-controller"; 248 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 249 }; 250 251 power-sensor@40 { 252 compatible = "adi,adm1278"; 253 reg = <0x40>; 254 }; 255}; 256 257&i2c8 { 258 status = "okay"; 259 bus-frequency = <400000>; 260 i2c-mux@70 { 261 compatible = "nxp,pca9544"; 262 idle-state = <0>; 263 i2c-mux-idle-disconnect; 264 reg = <0x70>; 265 }; 266}; 267 268&i2c9 { 269 status = "okay"; 270 bus-frequency = <400000>; 271 i2c-mux@71 { 272 compatible = "nxp,pca9544"; 273 idle-state = <0>; 274 i2c-mux-idle-disconnect; 275 reg = <0x71>; 276 }; 277}; 278 279&i2c10 { 280 status = "okay"; 281 bus-frequency = <400000>; 282}; 283 284&i2c11 { 285 status = "okay"; 286 power-sensor@10 { 287 compatible = "adi, adm1272"; 288 reg = <0x10>; 289 }; 290 291 power-sensor@12 { 292 compatible = "adi, adm1272"; 293 reg = <0x12>; 294 }; 295 296 gpio@20 { 297 compatible = "nxp,pca9555"; 298 reg = <0x20>; 299 gpio-controller; 300 #gpio-cells = <2>; 301 }; 302 303 gpio@21 { 304 compatible = "nxp,pca9555"; 305 reg = <0x21>; 306 gpio-controller; 307 #gpio-cells = <2>; 308 }; 309 310 gpio@22 { 311 compatible = "nxp,pca9555"; 312 reg = <0x22>; 313 gpio-controller; 314 #gpio-cells = <2>; 315 }; 316 317 gpio@23 { 318 compatible = "nxp,pca9555"; 319 reg = <0x23>; 320 gpio-controller; 321 #gpio-cells = <2>; 322 }; 323 324 temperature-sensor@48 { 325 compatible = "ti,tmp75"; 326 reg = <0x48>; 327 }; 328 329 temperature-sensor@49 { 330 compatible = "ti,tmp75"; 331 reg = <0x49>; 332 }; 333 334 temperature-sensor@4a { 335 compatible = "ti,tmp75"; 336 reg = <0x4a>; 337 }; 338 339 temperature-sensor@4b { 340 compatible = "ti,tmp75"; 341 reg = <0x4b>; 342 }; 343 344 eeprom@54 { 345 compatible = "atmel,24c256"; 346 reg = <0x54>; 347 }; 348}; 349 350&i2c12 { 351 status = "okay"; 352 bus-frequency = <400000>; 353 354 temperature-sensor@48 { 355 compatible = "ti,tmp75"; 356 reg = <0x48>; 357 }; 358 359 eeprom@50 { 360 compatible = "atmel,24c128"; 361 reg = <0x50>; 362 }; 363 364 rtc@6f { 365 compatible = "nuvoton,nct3018y"; 366 reg = <0x6f>; 367 }; 368}; 369 370&i2c13 { 371 status = "okay"; 372 bus-frequency = <100000>; 373 multi-master; 374 375 ipmb@10 { 376 compatible = "ipmb-dev"; 377 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 378 i2c-protocol; 379 }; 380}; 381 382&i2c14 { 383 status = "okay"; 384 bus-frequency = <400000>; 385 adc@1d { 386 compatible = "ti,adc128d818"; 387 reg = <0x1d>; 388 ti,mode = /bits/ 8 <2>; 389 }; 390 391 adc@35 { 392 compatible = "ti,adc128d818"; 393 reg = <0x35>; 394 ti,mode = /bits/ 8 <2>; 395 }; 396 397 adc@37 { 398 compatible = "ti,adc128d818"; 399 reg = <0x37>; 400 ti,mode = /bits/ 8 <2>; 401 }; 402 403 power-sensor@40 { 404 compatible = "ti,ina230"; 405 reg = <0x40>; 406 }; 407 408 power-sensor@41 { 409 compatible = "ti,ina230"; 410 reg = <0x41>; 411 }; 412 413 power-sensor@42 { 414 compatible = "ti,ina230"; 415 reg = <0x42>; 416 }; 417 418 power-sensor@43 { 419 compatible = "ti,ina230"; 420 reg = <0x43>; 421 }; 422 423 power-sensor@44 { 424 compatible = "ti,ina230"; 425 reg = <0x44>; 426 }; 427 428 temperature-sensor@4e { 429 compatible = "ti,tmp75"; 430 reg = <0x4e>; 431 }; 432 433 temperature-sensor@4f { 434 compatible = "ti,tmp75"; 435 reg = <0x4f>; 436 }; 437 438 eeprom@51 { 439 compatible = "atmel,24c128"; 440 reg = <0x51>; 441 }; 442 443 i2c-mux@71 { 444 compatible = "nxp,pca9846"; 445 #address-cells = <1>; 446 #size-cells = <0>; 447 448 idle-state = <0>; 449 i2c-mux-idle-disconnect; 450 reg = <0x71>; 451 452 i2c@0 { 453 #address-cells = <1>; 454 #size-cells = <0>; 455 reg = <0>; 456 457 adc@1f { 458 compatible = "ti,adc128d818"; 459 reg = <0x1f>; 460 ti,mode = /bits/ 8 <2>; 461 }; 462 463 pwm@20{ 464 compatible = "max31790"; 465 reg = <0x20>; 466 #address-cells = <1>; 467 #size-cells = <0>; 468 }; 469 470 gpio@22{ 471 compatible = "ti,tca6424"; 472 reg = <0x22>; 473 }; 474 475 pwm@23{ 476 compatible = "max31790"; 477 reg = <0x23>; 478 #address-cells = <1>; 479 #size-cells = <0>; 480 }; 481 482 adc@33 { 483 compatible = "maxim,max11615"; 484 reg = <0x33>; 485 }; 486 487 eeprom@52 { 488 compatible = "atmel,24c128"; 489 reg = <0x52>; 490 }; 491 492 gpio@61 { 493 compatible = "nxp,pca9552"; 494 reg = <0x61>; 495 #address-cells = <1>; 496 #size-cells = <0>; 497 gpio-controller; 498 #gpio-cells = <2>; 499 }; 500 }; 501 502 i2c@1 { 503 #address-cells = <1>; 504 #size-cells = <0>; 505 reg = <0>; 506 507 adc@1f { 508 compatible = "ti,adc128d818"; 509 reg = <0x1f>; 510 ti,mode = /bits/ 8 <2>; 511 }; 512 513 pwm@20{ 514 compatible = "max31790"; 515 reg = <0x20>; 516 #address-cells = <1>; 517 #size-cells = <0>; 518 }; 519 520 gpio@22{ 521 compatible = "ti,tca6424"; 522 reg = <0x22>; 523 }; 524 525 pwm@23{ 526 compatible = "max31790"; 527 reg = <0x23>; 528 #address-cells = <1>; 529 #size-cells = <0>; 530 }; 531 532 adc@33 { 533 compatible = "maxim,max11615"; 534 reg = <0x33>; 535 }; 536 537 eeprom@52 { 538 compatible = "atmel,24c128"; 539 reg = <0x52>; 540 }; 541 542 gpio@61 { 543 compatible = "nxp,pca9552"; 544 reg = <0x61>; 545 #address-cells = <1>; 546 #size-cells = <0>; 547 gpio-controller; 548 #gpio-cells = <2>; 549 }; 550 }; 551 }; 552 553 i2c-mux@73 { 554 compatible = "nxp,pca9544"; 555 #address-cells = <1>; 556 #size-cells = <0>; 557 558 idle-state = <0>; 559 i2c-mux-idle-disconnect; 560 reg = <0x73>; 561 562 i2c@0 { 563 #address-cells = <1>; 564 #size-cells = <0>; 565 reg = <0>; 566 567 adc@35 { 568 compatible = "maxim,max11617"; 569 reg = <0x35>; 570 }; 571 }; 572 573 i2c@1 { 574 #address-cells = <1>; 575 #size-cells = <0>; 576 reg = <0>; 577 578 adc@35 { 579 compatible = "maxim,max11617"; 580 reg = <0x35>; 581 }; 582 }; 583 }; 584}; 585 586&i2c15 { 587 status = "okay"; 588 mctp-controller; 589 multi-master; 590 bus-frequency = <400000>; 591 592 mctp@10 { 593 compatible = "mctp-i2c-controller"; 594 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 595 }; 596 597 i2c-mux@72 { 598 compatible = "nxp,pca9544"; 599 idle-state = <0>; 600 i2c-mux-idle-disconnect; 601 reg = <0x72>; 602 }; 603}; 604 605&adc0 { 606 ref_voltage = <2500>; 607 status = "okay"; 608 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default 609 &pinctrl_adc2_default &pinctrl_adc3_default 610 &pinctrl_adc4_default &pinctrl_adc5_default 611 &pinctrl_adc6_default &pinctrl_adc7_default>; 612}; 613 614&adc1 { 615 ref_voltage = <2500>; 616 status = "okay"; 617 pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default>; 618}; 619 620 621&ehci0 { 622 status = "okay"; 623}; 624 625&ehci1 { 626 status = "okay"; 627}; 628 629&uhci { 630 status = "okay"; 631}; 632