1// SPDX-License-Identifier: GPL-2.0-or-later 2// Copyright 2019 IBM Corp. 3/dts-v1/; 4 5#include "aspeed-g6.dtsi" 6#include <dt-bindings/gpio/aspeed-gpio.h> 7#include <dt-bindings/i2c/i2c.h> 8#include <dt-bindings/leds/leds-pca955x.h> 9 10/ { 11 model = "Tacoma"; 12 compatible = "ibm,tacoma-bmc", "aspeed,ast2600"; 13 14 chosen { 15 stdout-path = &uart5; 16 bootargs = "console=ttyS4,115200n8"; 17 }; 18 19 memory@80000000 { 20 device_type = "memory"; 21 reg = <0x80000000 0x40000000>; 22 }; 23 24 reserved-memory { 25 #address-cells = <1>; 26 #size-cells = <1>; 27 ranges; 28 29 flash_memory: region@ba000000 { 30 no-map; 31 reg = <0xb8000000 0x4000000>; /* 64M */ 32 }; 33 34 vga_memory: region@bf000000 { 35 no-map; 36 compatible = "shared-dma-pool"; 37 reg = <0xbf000000 0x01000000>; /* 16M */ 38 }; 39 }; 40 41 gpio-keys { 42 compatible = "gpio-keys"; 43 44 ps0-presence { 45 label = "ps0-presence"; 46 gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>; 47 linux,code = <ASPEED_GPIO(H, 3)>; 48 }; 49 50 ps1-presence { 51 label = "ps1-presence"; 52 gpios = <&gpio0 ASPEED_GPIO(E, 5) GPIO_ACTIVE_LOW>; 53 linux,code = <ASPEED_GPIO(E, 5)>; 54 }; 55 }; 56 57 gpio-keys-polled { 58 compatible = "gpio-keys-polled"; 59 #address-cells = <1>; 60 #size-cells = <0>; 61 poll-interval = <1000>; 62 63 fan0-presence { 64 label = "fan0-presence"; 65 gpios = <&pca0 4 GPIO_ACTIVE_LOW>; 66 linux,code = <4>; 67 }; 68 69 fan1-presence { 70 label = "fan1-presence"; 71 gpios = <&pca0 5 GPIO_ACTIVE_LOW>; 72 linux,code = <5>; 73 }; 74 75 fan2-presence { 76 label = "fan2-presence"; 77 gpios = <&pca0 6 GPIO_ACTIVE_LOW>; 78 linux,code = <6>; 79 }; 80 81 fan3-presence { 82 label = "fan3-presence"; 83 gpios = <&pca0 7 GPIO_ACTIVE_LOW>; 84 linux,code = <7>; 85 }; 86 }; 87 88 iio-hwmon-dps310 { 89 compatible = "iio-hwmon"; 90 io-channels = <&dps 0>; 91 }; 92 93 iio-hwmon-bmp280 { 94 compatible = "iio-hwmon"; 95 io-channels = <&bmp 1>; 96 }; 97}; 98 99&ehci1 { 100 status = "okay"; 101}; 102 103&gpio0 { 104 gpio-line-names = 105 /*A0-A7*/ "","","","","","","","", 106 /*B0-B7*/ "fsi-mux","","","","","","","", 107 /*C0-C7*/ "","","","","","","","", 108 /*D0-D7*/ "","","","","","","","", 109 /*E0-E7*/ "power-button","","","checkstop","","presence-ps1","","led-rear-fault", 110 /*F0-F7*/ "","","","","","","","", 111 /*G0-G7*/ "","","","","","","","", 112 /*H0-H7*/ "","","","presence-ps0","","","","", 113 /*I0-I7*/ "","","","","","","","", 114 /*J0-J7*/ "","","","","","","","", 115 /*K0-K7*/ "","","","","","","","", 116 /*L0-L7*/ "","","","","","","","", 117 /*M0-M7*/ "","","","","","","","", 118 /*N0-N7*/ "","","","","","","","", 119 /*O0-O7*/ "led-rear-power","led-rear-id","","usb-power","","","","", 120 /*P0-P7*/ "","","","","","","","", 121 /*Q0-Q7*/ "cfam-reset","","","","","","","fsi-routing", 122 /*R0-R7*/ "","","","","","","","", 123 /*S0-S7*/ "","","","","","","","", 124 /*T0-T7*/ "","","","","","","","", 125 /*U0-U7*/ "","","","","","","","", 126 /*V0-V7*/ "","","","","","","","", 127 /*W0-W7*/ "","","","","","","","", 128 /*X0-X7*/ "","","","","","","","", 129 /*Y0-Y7*/ "","","","","","","","", 130 /*Z0-Z7*/ "","","","","","","","", 131 /*AA0-AA7*/ "","","","","","","","", 132 /*AB0-AB7*/ "","","","","","","","", 133 /*AC0-AC7*/ "","","","","","","",""; 134}; 135 136&fmc { 137 status = "okay"; 138 flash@0 { 139 status = "okay"; 140 m25p,fast-read; 141 label = "bmc"; 142 spi-max-frequency = <50000000>; 143#include "openbmc-flash-layout-128.dtsi" 144 }; 145 146 flash@1 { 147 status = "okay"; 148 m25p,fast-read; 149 label = "alt-bmc"; 150 spi-max-frequency = <50000000>; 151 }; 152}; 153 154&spi1 { 155 status = "okay"; 156 pinctrl-names = "default"; 157 pinctrl-0 = <&pinctrl_spi1_default>; 158 159 flash@0 { 160 status = "okay"; 161 m25p,fast-read; 162 label = "pnor"; 163 spi-max-frequency = <100000000>; 164 }; 165}; 166 167&mac2 { 168 status = "okay"; 169 pinctrl-names = "default"; 170 pinctrl-0 = <&pinctrl_rmii3_default>; 171 clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>, 172 <&syscon ASPEED_CLK_MAC3RCLK>; 173 clock-names = "MACCLK", "RCLK"; 174 use-ncsi; 175}; 176 177&emmc_controller { 178 status = "okay"; 179}; 180 181&emmc { 182 status = "okay"; 183}; 184 185&fsim0 { 186 status = "okay"; 187 188 #address-cells = <2>; 189 #size-cells = <0>; 190 191 fsi-routing-gpios = <&gpio0 ASPEED_GPIO(Q, 7) GPIO_ACTIVE_HIGH>; 192 fsi-mux-gpios = <&gpio0 ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>; 193 cfam-reset-gpios = <&gpio0 ASPEED_GPIO(Q, 0) GPIO_ACTIVE_LOW>; 194 195 cfam@0,0 { 196 reg = <0 0>; 197 #address-cells = <1>; 198 #size-cells = <1>; 199 chip-id = <0>; 200 201 scom@1000 { 202 compatible = "ibm,fsi2pib"; 203 reg = <0x1000 0x400>; 204 }; 205 206 i2c@1800 { 207 compatible = "ibm,fsi-i2c-master"; 208 reg = <0x1800 0x400>; 209 #address-cells = <1>; 210 #size-cells = <0>; 211 212 cfam0_i2c0: i2c-bus@0 { 213 reg = <0>; 214 }; 215 216 cfam0_i2c1: i2c-bus@1 { 217 reg = <1>; 218 }; 219 220 cfam0_i2c2: i2c-bus@2 { 221 reg = <2>; 222 }; 223 224 cfam0_i2c3: i2c-bus@3 { 225 reg = <3>; 226 }; 227 228 cfam0_i2c4: i2c-bus@4 { 229 reg = <4>; 230 }; 231 232 cfam0_i2c5: i2c-bus@5 { 233 reg = <5>; 234 }; 235 236 cfam0_i2c6: i2c-bus@6 { 237 reg = <6>; 238 }; 239 240 cfam0_i2c7: i2c-bus@7 { 241 reg = <7>; 242 }; 243 244 cfam0_i2c8: i2c-bus@8 { 245 reg = <8>; 246 }; 247 248 cfam0_i2c9: i2c-bus@9 { 249 reg = <9>; 250 }; 251 252 cfam0_i2c10: i2c-bus@a { 253 reg = <10>; 254 }; 255 256 cfam0_i2c11: i2c-bus@b { 257 reg = <11>; 258 }; 259 260 cfam0_i2c12: i2c-bus@c { 261 reg = <12>; 262 }; 263 264 cfam0_i2c13: i2c-bus@d { 265 reg = <13>; 266 }; 267 268 cfam0_i2c14: i2c-bus@e { 269 reg = <14>; 270 }; 271 }; 272 273 sbefifo@2400 { 274 compatible = "ibm,p9-sbefifo"; 275 reg = <0x2400 0x400>; 276 #address-cells = <1>; 277 #size-cells = <0>; 278 279 fsi_occ0: occ { 280 compatible = "ibm,p9-occ"; 281 }; 282 }; 283 284 fsi_hub0: hub@3400 { 285 compatible = "fsi-master-hub"; 286 reg = <0x3400 0x400>; 287 #address-cells = <2>; 288 #size-cells = <0>; 289 290 no-scan-on-init; 291 }; 292 }; 293}; 294 295&fsi_hub0 { 296 cfam@1,0 { 297 reg = <1 0>; 298 #address-cells = <1>; 299 #size-cells = <1>; 300 chip-id = <1>; 301 302 scom@1000 { 303 compatible = "ibm,fsi2pib"; 304 reg = <0x1000 0x400>; 305 }; 306 307 i2c@1800 { 308 compatible = "ibm,fsi-i2c-master"; 309 reg = <0x1800 0x400>; 310 #address-cells = <1>; 311 #size-cells = <0>; 312 313 cfam1_i2c0: i2c-bus@0 { 314 reg = <0>; 315 }; 316 317 cfam1_i2c1: i2c-bus@1 { 318 reg = <1>; 319 }; 320 321 cfam1_i2c2: i2c-bus@2 { 322 reg = <2>; 323 }; 324 325 cfam1_i2c3: i2c-bus@3 { 326 reg = <3>; 327 }; 328 329 cfam1_i2c4: i2c-bus@4 { 330 reg = <4>; 331 }; 332 333 cfam1_i2c5: i2c-bus@5 { 334 reg = <5>; 335 }; 336 337 cfam1_i2c6: i2c-bus@6 { 338 reg = <6>; 339 }; 340 341 cfam1_i2c7: i2c-bus@7 { 342 reg = <7>; 343 }; 344 345 cfam1_i2c8: i2c-bus@8 { 346 reg = <8>; 347 }; 348 349 cfam1_i2c9: i2c-bus@9 { 350 reg = <9>; 351 }; 352 353 cfam1_i2c10: i2c-bus@a { 354 reg = <10>; 355 }; 356 357 cfam1_i2c11: i2c-bus@b { 358 reg = <11>; 359 }; 360 361 cfam1_i2c12: i2c-bus@c { 362 reg = <12>; 363 }; 364 365 cfam1_i2c13: i2c-bus@d { 366 reg = <13>; 367 }; 368 369 cfam1_i2c14: i2c-bus@e { 370 reg = <14>; 371 }; 372 }; 373 374 sbefifo@2400 { 375 compatible = "ibm,p9-sbefifo"; 376 reg = <0x2400 0x400>; 377 #address-cells = <1>; 378 #size-cells = <0>; 379 380 fsi_occ1: occ { 381 compatible = "ibm,p9-occ"; 382 }; 383 }; 384 385 fsi_hub1: hub@3400 { 386 compatible = "fsi-master-hub"; 387 reg = <0x3400 0x400>; 388 #address-cells = <2>; 389 #size-cells = <0>; 390 391 no-scan-on-init; 392 }; 393 }; 394}; 395 396/* Legacy OCC numbering (to get rid of when userspace is fixed) */ 397&fsi_occ0 { 398 reg = <1>; 399}; 400 401&fsi_occ1 { 402 reg = <2>; 403}; 404 405/ { 406 aliases { 407 i2c100 = &cfam0_i2c0; 408 i2c101 = &cfam0_i2c1; 409 i2c102 = &cfam0_i2c2; 410 i2c103 = &cfam0_i2c3; 411 i2c104 = &cfam0_i2c4; 412 i2c105 = &cfam0_i2c5; 413 i2c106 = &cfam0_i2c6; 414 i2c107 = &cfam0_i2c7; 415 i2c108 = &cfam0_i2c8; 416 i2c109 = &cfam0_i2c9; 417 i2c110 = &cfam0_i2c10; 418 i2c111 = &cfam0_i2c11; 419 i2c112 = &cfam0_i2c12; 420 i2c113 = &cfam0_i2c13; 421 i2c114 = &cfam0_i2c14; 422 i2c200 = &cfam1_i2c0; 423 i2c201 = &cfam1_i2c1; 424 i2c202 = &cfam1_i2c2; 425 i2c203 = &cfam1_i2c3; 426 i2c204 = &cfam1_i2c4; 427 i2c205 = &cfam1_i2c5; 428 i2c206 = &cfam1_i2c6; 429 i2c207 = &cfam1_i2c7; 430 i2c208 = &cfam1_i2c8; 431 i2c209 = &cfam1_i2c9; 432 i2c210 = &cfam1_i2c10; 433 i2c211 = &cfam1_i2c11; 434 i2c212 = &cfam1_i2c12; 435 i2c213 = &cfam1_i2c13; 436 i2c214 = &cfam1_i2c14; 437 }; 438 439}; 440 441&i2c0 { 442 multi-master; 443 status = "okay"; 444 445 ibm-panel@62 { 446 compatible = "ibm,op-panel"; 447 reg = <(0x62 | I2C_OWN_SLAVE_ADDRESS)>; 448 }; 449}; 450 451&i2c1 { 452 status = "okay"; 453 454 tpm: tpm@2e { 455 compatible = "tcg,tpm-tis-i2c"; 456 reg = <0x2e>; 457 }; 458}; 459 460&i2c2 { 461 status = "okay"; 462}; 463 464&i2c3 { 465 status = "okay"; 466 467 bmp: bmp280@77 { 468 compatible = "bosch,bmp280"; 469 reg = <0x77>; 470 #io-channel-cells = <1>; 471 }; 472 473 max31785@52 { 474 compatible = "maxim,max31785a"; 475 reg = <0x52>; 476 #address-cells = <1>; 477 #size-cells = <0>; 478 479 fan@0 { 480 compatible = "pmbus-fan"; 481 reg = <0>; 482 tach-pulses = <2>; 483 maxim,fan-rotor-input = "tach"; 484 maxim,fan-pwm-freq = <25000>; 485 maxim,fan-dual-tach; 486 maxim,fan-no-watchdog; 487 maxim,fan-no-fault-ramp; 488 maxim,fan-ramp = <2>; 489 maxim,fan-fault-pin-mon; 490 }; 491 492 fan@1 { 493 compatible = "pmbus-fan"; 494 reg = <1>; 495 tach-pulses = <2>; 496 maxim,fan-rotor-input = "tach"; 497 maxim,fan-pwm-freq = <25000>; 498 maxim,fan-dual-tach; 499 maxim,fan-no-watchdog; 500 maxim,fan-no-fault-ramp; 501 maxim,fan-ramp = <2>; 502 maxim,fan-fault-pin-mon; 503 }; 504 505 fan@2 { 506 compatible = "pmbus-fan"; 507 reg = <2>; 508 tach-pulses = <2>; 509 maxim,fan-rotor-input = "tach"; 510 maxim,fan-pwm-freq = <25000>; 511 maxim,fan-dual-tach; 512 maxim,fan-no-watchdog; 513 maxim,fan-no-fault-ramp; 514 maxim,fan-ramp = <2>; 515 maxim,fan-fault-pin-mon; 516 }; 517 518 fan@3 { 519 compatible = "pmbus-fan"; 520 reg = <3>; 521 tach-pulses = <2>; 522 maxim,fan-rotor-input = "tach"; 523 maxim,fan-pwm-freq = <25000>; 524 maxim,fan-dual-tach; 525 maxim,fan-no-watchdog; 526 maxim,fan-no-fault-ramp; 527 maxim,fan-ramp = <2>; 528 maxim,fan-fault-pin-mon; 529 }; 530 }; 531 532 dps: dps310@76 { 533 compatible = "infineon,dps310"; 534 reg = <0x76>; 535 #io-channel-cells = <0>; 536 }; 537 538 pca0: pca9552@60 { 539 compatible = "nxp,pca9552"; 540 reg = <0x60>; 541 #address-cells = <1>; 542 #size-cells = <0>; 543 544 gpio-controller; 545 #gpio-cells = <2>; 546 547 gpio@0 { 548 reg = <0>; 549 type = <PCA955X_TYPE_GPIO>; 550 }; 551 552 gpio@1 { 553 reg = <1>; 554 type = <PCA955X_TYPE_GPIO>; 555 }; 556 557 gpio@2 { 558 reg = <2>; 559 type = <PCA955X_TYPE_GPIO>; 560 }; 561 562 gpio@3 { 563 reg = <3>; 564 type = <PCA955X_TYPE_GPIO>; 565 }; 566 567 gpio@4 { 568 reg = <4>; 569 type = <PCA955X_TYPE_GPIO>; 570 }; 571 572 gpio@5 { 573 reg = <5>; 574 type = <PCA955X_TYPE_GPIO>; 575 }; 576 577 gpio@6 { 578 reg = <6>; 579 type = <PCA955X_TYPE_GPIO>; 580 }; 581 582 gpio@7 { 583 reg = <7>; 584 type = <PCA955X_TYPE_GPIO>; 585 }; 586 587 gpio@8 { 588 reg = <8>; 589 type = <PCA955X_TYPE_GPIO>; 590 }; 591 592 gpio@9 { 593 reg = <9>; 594 type = <PCA955X_TYPE_GPIO>; 595 }; 596 597 gpio@10 { 598 reg = <10>; 599 type = <PCA955X_TYPE_GPIO>; 600 }; 601 602 gpio@11 { 603 reg = <11>; 604 type = <PCA955X_TYPE_GPIO>; 605 }; 606 607 gpio@12 { 608 reg = <12>; 609 type = <PCA955X_TYPE_GPIO>; 610 }; 611 612 gpio@13 { 613 reg = <13>; 614 type = <PCA955X_TYPE_GPIO>; 615 }; 616 617 gpio@14 { 618 reg = <14>; 619 type = <PCA955X_TYPE_GPIO>; 620 }; 621 622 gpio@15 { 623 reg = <15>; 624 type = <PCA955X_TYPE_GPIO>; 625 }; 626 }; 627 628 power-supply@68 { 629 compatible = "ibm,cffps1"; 630 reg = <0x68>; 631 }; 632 633 power-supply@69 { 634 compatible = "ibm,cffps1"; 635 reg = <0x69>; 636 }; 637}; 638 639&i2c4 { 640 status = "okay"; 641 642 tmp423a@4c { 643 compatible = "ti,tmp423"; 644 reg = <0x4c>; 645 }; 646 647 ir35221@70 { 648 compatible = "infineon,ir35221"; 649 reg = <0x70>; 650 }; 651 652 ir35221@71 { 653 compatible = "infineon,ir35221"; 654 reg = <0x71>; 655 }; 656}; 657 658&i2c5 { 659 status = "okay"; 660 661 tmp423a@4c { 662 compatible = "ti,tmp423"; 663 reg = <0x4c>; 664 }; 665 666 ir35221@70 { 667 compatible = "infineon,ir35221"; 668 reg = <0x70>; 669 }; 670 671 ir35221@71 { 672 compatible = "infineon,ir35221"; 673 reg = <0x71>; 674 }; 675}; 676 677&i2c7 { 678 status = "okay"; 679}; 680 681&i2c9 { 682 status = "okay"; 683 684 tmp275@4a { 685 compatible = "ti,tmp275"; 686 reg = <0x4a>; 687 }; 688}; 689 690&i2c10 { 691 status = "okay"; 692}; 693 694&i2c11 { 695 status = "okay"; 696 697 pca9552: pca9552@60 { 698 compatible = "nxp,pca9552"; 699 reg = <0x60>; 700 #address-cells = <1>; 701 #size-cells = <0>; 702 gpio-controller; 703 #gpio-cells = <2>; 704 705 gpio-line-names = "PS_SMBUS_RESET_N", "APSS_RESET_N", 706 "GPU0_TH_OVERT_N_BUFF", "GPU1_TH_OVERT_N_BUFF", 707 "GPU2_TH_OVERT_N_BUFF", "GPU3_TH_OVERT_N_BUFF", 708 "GPU4_TH_OVERT_N_BUFF", "GPU5_TH_OVERT_N_BUFF", 709 "GPU0_PWR_GOOD_BUFF", "GPU1_PWR_GOOD_BUFF", 710 "GPU2_PWR_GOOD_BUFF", "GPU3_PWR_GOOD_BUFF", 711 "GPU4_PWR_GOOD_BUFF", "GPU5_PWR_GOOD_BUFF", 712 "12V_BREAKER_FLT_N", "THROTTLE_UNLATCHED_N"; 713 714 gpio@0 { 715 reg = <0>; 716 type = <PCA955X_TYPE_GPIO>; 717 }; 718 719 gpio@1 { 720 reg = <1>; 721 type = <PCA955X_TYPE_GPIO>; 722 }; 723 724 gpio@2 { 725 reg = <2>; 726 type = <PCA955X_TYPE_GPIO>; 727 }; 728 729 gpio@3 { 730 reg = <3>; 731 type = <PCA955X_TYPE_GPIO>; 732 }; 733 734 gpio@4 { 735 reg = <4>; 736 type = <PCA955X_TYPE_GPIO>; 737 }; 738 739 gpio@5 { 740 reg = <5>; 741 type = <PCA955X_TYPE_GPIO>; 742 }; 743 744 gpio@6 { 745 reg = <6>; 746 type = <PCA955X_TYPE_GPIO>; 747 }; 748 749 gpio@7 { 750 reg = <7>; 751 type = <PCA955X_TYPE_GPIO>; 752 }; 753 754 gpio@8 { 755 reg = <8>; 756 type = <PCA955X_TYPE_GPIO>; 757 }; 758 759 gpio@9 { 760 reg = <9>; 761 type = <PCA955X_TYPE_GPIO>; 762 }; 763 764 gpio@10 { 765 reg = <10>; 766 type = <PCA955X_TYPE_GPIO>; 767 }; 768 769 gpio@11 { 770 reg = <11>; 771 type = <PCA955X_TYPE_GPIO>; 772 }; 773 774 gpio@12 { 775 reg = <12>; 776 type = <PCA955X_TYPE_GPIO>; 777 }; 778 779 gpio@13 { 780 reg = <13>; 781 type = <PCA955X_TYPE_GPIO>; 782 }; 783 784 gpio@14 { 785 reg = <14>; 786 type = <PCA955X_TYPE_GPIO>; 787 }; 788 789 gpio@15 { 790 reg = <15>; 791 type = <PCA955X_TYPE_GPIO>; 792 }; 793 }; 794 795 rtc@32 { 796 compatible = "epson,rx8900"; 797 reg = <0x32>; 798 }; 799 800 eeprom@51 { 801 compatible = "atmel,24c64"; 802 reg = <0x51>; 803 }; 804 805 ucd90160@64 { 806 compatible = "ti,ucd90160"; 807 reg = <0x64>; 808 }; 809}; 810 811&i2c12 { 812 status = "okay"; 813}; 814 815&i2c13 { 816 status = "okay"; 817}; 818 819&ibt { 820 status = "okay"; 821}; 822 823&uart1 { 824 status = "okay"; 825 // Workaround for A0 826 compatible = "snps,dw-apb-uart"; 827}; 828 829&uart5 { 830 // Workaround for A0 831 compatible = "snps,dw-apb-uart"; 832}; 833 834&vuart1 { 835 status = "okay"; 836}; 837 838&vuart2 { 839 status = "okay"; 840}; 841 842&lpc_ctrl { 843 status = "okay"; 844 memory-region = <&flash_memory>; 845 flash = <&spi1>; 846}; 847 848&wdt1 { 849 aspeed,reset-type = "none"; 850 aspeed,external-signal; 851 aspeed,ext-push-pull; 852 aspeed,ext-active-high; 853 854 pinctrl-names = "default"; 855 pinctrl-0 = <&pinctrl_wdtrst1_default>; 856}; 857 858&wdt2 { 859 status = "okay"; 860}; 861 862&pinctrl { 863 /* Hog these as no driver is probed for the entire LPC block */ 864 pinctrl-names = "default"; 865 pinctrl-0 = <&pinctrl_lpc_default>, 866 <&pinctrl_lsirq_default>; 867}; 868 869&xdma { 870 status = "okay"; 871 memory-region = <&vga_memory>; 872}; 873