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