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 = <400000>; 373}; 374 375&i2c14 { 376 status = "okay"; 377 bus-frequency = <400000>; 378 adc@1d { 379 compatible = "ti,adc128d818"; 380 reg = <0x1d>; 381 ti,mode = /bits/ 8 <2>; 382 }; 383 384 adc@35 { 385 compatible = "ti,adc128d818"; 386 reg = <0x35>; 387 ti,mode = /bits/ 8 <2>; 388 }; 389 390 adc@37 { 391 compatible = "ti,adc128d818"; 392 reg = <0x37>; 393 ti,mode = /bits/ 8 <2>; 394 }; 395 396 power-sensor@40 { 397 compatible = "ti,ina230"; 398 reg = <0x40>; 399 }; 400 401 power-sensor@41 { 402 compatible = "ti,ina230"; 403 reg = <0x41>; 404 }; 405 406 power-sensor@42 { 407 compatible = "ti,ina230"; 408 reg = <0x42>; 409 }; 410 411 power-sensor@43 { 412 compatible = "ti,ina230"; 413 reg = <0x43>; 414 }; 415 416 power-sensor@44 { 417 compatible = "ti,ina230"; 418 reg = <0x44>; 419 }; 420 421 temperature-sensor@4e { 422 compatible = "ti,tmp75"; 423 reg = <0x4e>; 424 }; 425 426 temperature-sensor@4f { 427 compatible = "ti,tmp75"; 428 reg = <0x4f>; 429 }; 430 431 eeprom@51 { 432 compatible = "atmel,24c128"; 433 reg = <0x51>; 434 }; 435 436 i2c-mux@71 { 437 compatible = "nxp,pca9846"; 438 #address-cells = <1>; 439 #size-cells = <0>; 440 441 idle-state = <0>; 442 i2c-mux-idle-disconnect; 443 reg = <0x71>; 444 445 i2c@0 { 446 #address-cells = <1>; 447 #size-cells = <0>; 448 reg = <0>; 449 450 adc@1f { 451 compatible = "ti,adc128d818"; 452 reg = <0x1f>; 453 ti,mode = /bits/ 8 <2>; 454 }; 455 456 pwm@20{ 457 compatible = "max31790"; 458 reg = <0x20>; 459 #address-cells = <1>; 460 #size-cells = <0>; 461 }; 462 463 gpio@22{ 464 compatible = "ti,tca6424"; 465 reg = <0x22>; 466 }; 467 468 pwm@23{ 469 compatible = "max31790"; 470 reg = <0x23>; 471 #address-cells = <1>; 472 #size-cells = <0>; 473 }; 474 475 adc@33 { 476 compatible = "maxim,max11615"; 477 reg = <0x33>; 478 }; 479 480 eeprom@52 { 481 compatible = "atmel,24c128"; 482 reg = <0x52>; 483 }; 484 485 gpio@61 { 486 compatible = "nxp,pca9552"; 487 reg = <0x61>; 488 #address-cells = <1>; 489 #size-cells = <0>; 490 gpio-controller; 491 #gpio-cells = <2>; 492 }; 493 }; 494 495 i2c@1 { 496 #address-cells = <1>; 497 #size-cells = <0>; 498 reg = <0>; 499 500 adc@1f { 501 compatible = "ti,adc128d818"; 502 reg = <0x1f>; 503 ti,mode = /bits/ 8 <2>; 504 }; 505 506 pwm@20{ 507 compatible = "max31790"; 508 reg = <0x20>; 509 #address-cells = <1>; 510 #size-cells = <0>; 511 }; 512 513 gpio@22{ 514 compatible = "ti,tca6424"; 515 reg = <0x22>; 516 }; 517 518 pwm@23{ 519 compatible = "max31790"; 520 reg = <0x23>; 521 #address-cells = <1>; 522 #size-cells = <0>; 523 }; 524 525 adc@33 { 526 compatible = "maxim,max11615"; 527 reg = <0x33>; 528 }; 529 530 eeprom@52 { 531 compatible = "atmel,24c128"; 532 reg = <0x52>; 533 }; 534 535 gpio@61 { 536 compatible = "nxp,pca9552"; 537 reg = <0x61>; 538 #address-cells = <1>; 539 #size-cells = <0>; 540 gpio-controller; 541 #gpio-cells = <2>; 542 }; 543 }; 544 }; 545 546 i2c-mux@73 { 547 compatible = "nxp,pca9544"; 548 #address-cells = <1>; 549 #size-cells = <0>; 550 551 idle-state = <0>; 552 i2c-mux-idle-disconnect; 553 reg = <0x73>; 554 555 i2c@0 { 556 #address-cells = <1>; 557 #size-cells = <0>; 558 reg = <0>; 559 560 adc@35 { 561 compatible = "maxim,max11617"; 562 reg = <0x35>; 563 }; 564 }; 565 566 i2c@1 { 567 #address-cells = <1>; 568 #size-cells = <0>; 569 reg = <0>; 570 571 adc@35 { 572 compatible = "maxim,max11617"; 573 reg = <0x35>; 574 }; 575 }; 576 }; 577}; 578 579&i2c15 { 580 status = "okay"; 581 mctp-controller; 582 multi-master; 583 bus-frequency = <400000>; 584 585 mctp@10 { 586 compatible = "mctp-i2c-controller"; 587 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 588 }; 589 590 i2c-mux@72 { 591 compatible = "nxp,pca9544"; 592 idle-state = <0>; 593 i2c-mux-idle-disconnect; 594 reg = <0x72>; 595 }; 596}; 597 598&adc0 { 599 ref_voltage = <2500>; 600 status = "okay"; 601 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default 602 &pinctrl_adc2_default &pinctrl_adc3_default 603 &pinctrl_adc4_default &pinctrl_adc5_default 604 &pinctrl_adc6_default &pinctrl_adc7_default>; 605}; 606 607&adc1 { 608 ref_voltage = <2500>; 609 status = "okay"; 610 pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default>; 611}; 612 613 614&ehci0 { 615 status = "okay"; 616}; 617 618&ehci1 { 619 status = "okay"; 620}; 621 622&uhci { 623 status = "okay"; 624}; 625