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