1// SPDX-License-Identifier: GPL-2.0+ 2// Copyright (c) 2018 Facebook Inc. 3// Author: Vijay Khemka <vijaykhemka@fb.com> 4/dts-v1/; 5 6#include "aspeed-g5.dtsi" 7#include <dt-bindings/gpio/aspeed-gpio.h> 8#include <dt-bindings/i2c/i2c.h> 9 10/ { 11 model = "Facebook TiogaPass BMC"; 12 compatible = "facebook,tiogapass-bmc", "aspeed,ast2500"; 13 aliases { 14 serial0 = &uart1; 15 serial4 = &uart5; 16 17 /* 18 * Hardcode the bus number of i2c switches' channels to 19 * avoid breaking the legacy applications. 20 */ 21 i2c16 = &imux16; 22 i2c17 = &imux17; 23 i2c18 = &imux18; 24 i2c19 = &imux19; 25 i2c20 = &imux20; 26 i2c21 = &imux21; 27 i2c22 = &imux22; 28 i2c23 = &imux23; 29 i2c24 = &imux24; 30 i2c25 = &imux25; 31 i2c26 = &imux26; 32 i2c27 = &imux27; 33 i2c28 = &imux28; 34 i2c29 = &imux29; 35 i2c30 = &imux30; 36 i2c31 = &imux31; 37 }; 38 chosen { 39 stdout-path = &uart5; 40 bootargs = "console=ttyS4,115200 earlyprintk"; 41 }; 42 43 memory@80000000 { 44 reg = <0x80000000 0x20000000>; 45 }; 46 47 iio-hwmon { 48 compatible = "iio-hwmon"; 49 io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, 50 <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>; 51 }; 52 53}; 54 55&fmc { 56 status = "okay"; 57 flash@0 { 58 status = "okay"; 59 m25p,fast-read; 60#include "openbmc-flash-layout.dtsi" 61 }; 62}; 63 64&spi1 { 65 status = "okay"; 66 pinctrl-names = "default"; 67 pinctrl-0 = <&pinctrl_spi1_default>; 68 flash@0 { 69 status = "okay"; 70 m25p,fast-read; 71 label = "pnor"; 72 }; 73}; 74 75&lpc_snoop { 76 status = "okay"; 77 snoop-ports = <0x80>; 78}; 79 80&lpc_ctrl { 81 // Enable lpc clock 82 status = "okay"; 83}; 84 85&uart1 { 86 // Host Console 87 status = "okay"; 88 pinctrl-names = "default"; 89 pinctrl-0 = <&pinctrl_txd1_default 90 &pinctrl_rxd1_default>; 91}; 92 93&uart2 { 94 // SoL Host Console 95 status = "okay"; 96}; 97 98&uart3 { 99 // SoL BMC Console 100 status = "okay"; 101}; 102 103&uart5 { 104 // BMC Console 105 status = "okay"; 106}; 107 108&kcs2 { 109 // BMC KCS channel 2 110 status = "okay"; 111 aspeed,lpc-io-reg = <0xca8>; 112}; 113 114&kcs3 { 115 // BMC KCS channel 3 116 status = "okay"; 117 aspeed,lpc-io-reg = <0xca2>; 118}; 119 120&gpio { 121 status = "okay"; 122 gpio-line-names = 123 /*A0-A7*/ "BMC_CPLD_FPGA_SEL","","","","","","","", 124 /*B0-B7*/ "","BMC_DEBUG_EN","","","","BMC_PPIN","PS_PWROK", 125 "IRQ_PVDDQ_GHJ_VRHOT_LVT3", 126 /*C0-C7*/ "","","","","","","","", 127 /*D0-D7*/ "BIOS_MRC_DEBUG_MSG_DIS","BOARD_REV_ID0","", 128 "BOARD_REV_ID1","IRQ_DIMM_SAVE_LVT3","BOARD_REV_ID2", 129 "CPU_ERR0_LVT3_BMC","CPU_ERR1_LVT3_BMC", 130 /*E0-E7*/ "RESET_BUTTON","RESET_OUT","POWER_BUTTON", 131 "POWER_OUT","NMI_BUTTON","","CPU0_PROCHOT_LVT3_ BMC", 132 "CPU1_PROCHOT_LVT3_ BMC", 133 /*F0-F7*/ "IRQ_PVDDQ_ABC_VRHOT_LVT3","", 134 "IRQ_PVCCIN_CPU0_VRHOT_LVC3", 135 "IRQ_PVCCIN_CPU1_VRHOT_LVC3", 136 "IRQ_PVDDQ_KLM_VRHOT_LVT3","","P3VBAT_BRIDGE_EN","", 137 /*G0-G7*/ "CPU_ERR2_LVT3","CPU_CATERR_LVT3","PCH_BMC_THERMTRIP", 138 "CPU0_SKTOCC_LVT3","","","","BIOS_SMI_ACTIVE", 139 /*H0-H7*/ "LED_POST_CODE_0","LED_POST_CODE_1","LED_POST_CODE_2", 140 "LED_POST_CODE_3","LED_POST_CODE_4","LED_POST_CODE_5", 141 "LED_POST_CODE_6","LED_POST_CODE_7", 142 /*I0-I7*/ "CPU0_FIVR_FAULT_LVT3","CPU1_FIVR_FAULT_LVT3", 143 "FORCE_ADR","UV_ADR_TRIGGER_EN","","","","", 144 /*J0-J7*/ "","","","","","","","", 145 /*K0-K7*/ "","","","","","","","", 146 /*L0-L7*/ "IRQ_UV_DETECT","IRQ_OC_DETECT","HSC_TIMER_EXP","", 147 "MEM_THERM_EVENT_PCH","PMBUS_ALERT_BUF_EN","","", 148 /*M0-M7*/ "CPU0_RC_ERROR","CPU1_RC_ERROR","","OC_DETECT_EN", 149 "CPU0_THERMTRIP_LATCH_LVT3", 150 "CPU1_THERMTRIP_LATCH_LVT3","","", 151 /*N0-N7*/ "","","","CPU_MSMI_LVT3","","BIOS_SPI_BMC_CTRL","","", 152 /*O0-O7*/ "","","","","","","","", 153 /*P0-P7*/ "BOARD_SKU_ID0","BOARD_SKU_ID1","BOARD_SKU_ID2", 154 "BOARD_SKU_ID3","BOARD_SKU_ID4","BMC_PREQ", 155 "BMC_PWR_DEBUG","RST_RSMRST", 156 /*Q0-Q7*/ "","","","","UARTSW_LSB","UARTSW_MSB", 157 "POST_CARD_PRES_BMC","PE_BMC_WAKE", 158 /*R0-R7*/ "","","BMC_TCK_MUX_SEL","BMC_PRDY", 159 "BMC_XDP_PRSNT_IN","RST_BMC_PLTRST_BUF","SLT_CFG0", 160 "SLT_CFG1", 161 /*S0-S7*/ "THROTTLE","BMC_READY","","HSC_SMBUS_SWITCH_EN","", 162 "","","", 163 /*T0-T7*/ "","","","","","","","", 164 /*U0-U7*/ "","","","","","BMC_FAULT","","", 165 /*V0-V7*/ "","","","FAST_PROCHOT_EN","","","","", 166 /*W0-W7*/ "","","","","","","","", 167 /*X0-X7*/ "","","","GLOBAL_RST_WARN", 168 "CPU0_MEMABC_MEMHOT_LVT3_BMC", 169 "CPU0_MEMDEF_MEMHOT_LVT3_BMC", 170 "CPU1_MEMGHJ_MEMHOT_LVT3_BMC", 171 "CPU1_MEMKLM_MEMHOT_LVT3_BMC", 172 /*Y0-Y7*/ "SIO_S3","SIO_S5","BMC_JTAG_SEL","SIO_ONCONTROL","", 173 "","","", 174 /*Z0-Z7*/ "","SIO_POWER_GOOD","IRQ_PVDDQ_DEF_VRHOT_LVT3","", 175 "","","","", 176 /*AA0-AA7*/ "CPU1_SKTOCC_LVT3","IRQ_SML1_PMBUS_ALERT", 177 "SERVER_POWER_LED","","PECI_MUX_SELECT","UV_HIGH_SET", 178 "","POST_COMPLETE", 179 /*AB0-AB7*/ "IRQ_HSC_FAULT","OCP_MEZZA_PRES","","","","","","", 180 /*AC0-AC7*/ "","","","","","","",""; 181}; 182 183&mac0 { 184 status = "okay"; 185 186 pinctrl-names = "default"; 187 pinctrl-0 = <&pinctrl_rmii1_default>; 188 clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>, 189 <&syscon ASPEED_CLK_MAC1RCLK>; 190 clock-names = "MACCLK", "RCLK"; 191 use-ncsi; 192}; 193 194&adc { 195 status = "okay"; 196}; 197 198&i2c0 { 199 status = "okay"; 200 //Airmax Conn B, CPU0 PIROM, CPU1 PIROM 201}; 202 203&i2c1 { 204 status = "okay"; 205 //X24 Riser 206 i2c-switch@71 { 207 compatible = "nxp,pca9544"; 208 #address-cells = <1>; 209 #size-cells = <0>; 210 reg = <0x71>; 211 212 imux16: i2c@0 { 213 #address-cells = <1>; 214 #size-cells = <0>; 215 reg = <0>; 216 217 ina230@45 { 218 compatible = "ti,ina230"; 219 reg = <0x45>; 220 }; 221 222 tmp75@48 { 223 compatible = "ti,tmp75"; 224 reg = <0x48>; 225 }; 226 227 tmp421@49 { 228 compatible = "ti,tmp75"; 229 reg = <0x49>; 230 }; 231 232 eeprom@50 { 233 compatible = "atmel,24c64"; 234 reg = <0x50>; 235 pagesize = <32>; 236 }; 237 238 i2c-switch@73 { 239 compatible = "nxp,pca9546"; 240 #address-cells = <1>; 241 #size-cells = <0>; 242 reg = <0x73>; 243 244 imux20: i2c@0 { 245 #address-cells = <1>; 246 #size-cells = <0>; 247 reg = <0>; 248 }; 249 250 imux21: i2c@1 { 251 #address-cells = <1>; 252 #size-cells = <0>; 253 reg = <1>; 254 }; 255 256 imux22: i2c@2 { 257 #address-cells = <1>; 258 #size-cells = <0>; 259 reg = <2>; 260 }; 261 262 imux23: i2c@3 { 263 #address-cells = <1>; 264 #size-cells = <0>; 265 reg = <3>; 266 }; 267 268 }; 269 270 }; 271 272 imux17: i2c@1 { 273 #address-cells = <1>; 274 #size-cells = <0>; 275 reg = <1>; 276 277 ina230@45 { 278 compatible = "ti,ina230"; 279 reg = <0x45>; 280 }; 281 282 tmp421@48 { 283 compatible = "ti,tmp75"; 284 reg = <0x48>; 285 }; 286 287 tmp421@49 { 288 compatible = "ti,tmp75"; 289 reg = <0x49>; 290 }; 291 292 eeprom@50 { 293 compatible = "atmel,24c64"; 294 reg = <0x50>; 295 pagesize = <32>; 296 }; 297 298 i2c-switch@73 { 299 compatible = "nxp,pca9546"; 300 #address-cells = <1>; 301 #size-cells = <0>; 302 reg = <0x73>; 303 304 imux24: i2c@0 { 305 #address-cells = <1>; 306 #size-cells = <0>; 307 reg = <0>; 308 }; 309 310 imux25: i2c@1 { 311 #address-cells = <1>; 312 #size-cells = <0>; 313 reg = <1>; 314 }; 315 316 imux26: i2c@2 { 317 #address-cells = <1>; 318 #size-cells = <0>; 319 reg = <2>; 320 }; 321 322 imux27: i2c@3 { 323 #address-cells = <1>; 324 #size-cells = <0>; 325 reg = <3>; 326 }; 327 328 }; 329 330 }; 331 332 imux18: i2c@2 { 333 #address-cells = <1>; 334 #size-cells = <0>; 335 reg = <2>; 336 337 ina230@45 { 338 compatible = "ti,ina230"; 339 reg = <0x45>; 340 }; 341 342 tmp421@48 { 343 compatible = "ti,tmp75"; 344 reg = <0x48>; 345 }; 346 347 tmp421@49 { 348 compatible = "ti,tmp75"; 349 reg = <0x49>; 350 }; 351 352 eeprom@50 { 353 compatible = "atmel,24c64"; 354 reg = <0x50>; 355 pagesize = <32>; 356 }; 357 358 i2c-switch@73 { 359 compatible = "nxp,pca9546"; 360 #address-cells = <1>; 361 #size-cells = <0>; 362 reg = <0x73>; 363 364 imux28: i2c@0 { 365 #address-cells = <1>; 366 #size-cells = <0>; 367 reg = <0>; 368 }; 369 370 imux29: i2c@1 { 371 #address-cells = <1>; 372 #size-cells = <0>; 373 reg = <1>; 374 }; 375 376 imux30: i2c@2 { 377 #address-cells = <1>; 378 #size-cells = <0>; 379 reg = <2>; 380 }; 381 382 imux31: i2c@3 { 383 #address-cells = <1>; 384 #size-cells = <0>; 385 reg = <3>; 386 }; 387 388 }; 389 390 }; 391 392 imux19: i2c@3 { 393 #address-cells = <1>; 394 #size-cells = <0>; 395 reg = <3>; 396 397 i2c-switch@40 { 398 compatible = "ti,ina230"; 399 reg = <0x40>; 400 }; 401 402 i2c-switch@41 { 403 compatible = "ti,ina230"; 404 reg = <0x41>; 405 }; 406 407 i2c-switch@45 { 408 compatible = "ti,ina230"; 409 reg = <0x45>; 410 }; 411 412 }; 413 414 }; 415}; 416 417&i2c2 { 418 status = "okay"; 419 // Mezz Management SMBus 420}; 421 422&i2c3 { 423 status = "okay"; 424 // SMBus to Board ID EEPROM 425}; 426 427&i2c4 { 428 status = "okay"; 429 // BMC Debug Header 430 ipmb0@10 { 431 compatible = "ipmb-dev"; 432 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 433 i2c-protocol; 434 }; 435}; 436 437&i2c5 { 438 status = "okay"; 439 // CPU Voltage regulators 440 regulator@48 { 441 compatible = "infineon,pxe1610"; 442 reg = <0x48>; 443 }; 444 regulator@4a { 445 compatible = "infineon,pxe1610"; 446 reg = <0x4a>; 447 }; 448 regulator@50 { 449 compatible = "infineon,pxe1610"; 450 reg = <0x50>; 451 }; 452 regulator@52 { 453 compatible = "infineon,pxe1610"; 454 reg = <0x52>; 455 }; 456 regulator@58 { 457 compatible = "infineon,pxe1610"; 458 reg = <0x58>; 459 }; 460 regulator@5a { 461 compatible = "infineon,pxe1610"; 462 reg = <0x5a>; 463 }; 464 regulator@68 { 465 compatible = "infineon,pxe1610"; 466 reg = <0x68>; 467 }; 468 regulator@70 { 469 compatible = "infineon,pxe1610"; 470 reg = <0x70>; 471 }; 472 regulator@72 { 473 compatible = "infineon,pxe1610"; 474 reg = <0x72>; 475 }; 476}; 477 478&i2c6 { 479 status = "okay"; 480 tpm@20 { 481 compatible = "infineon,slb9645tt"; 482 reg = <0x20>; 483 }; 484 tmp421@4e { 485 compatible = "ti,tmp421"; 486 reg = <0x4e>; 487 }; 488 tmp421@4f { 489 compatible = "ti,tmp421"; 490 reg = <0x4f>; 491 }; 492 eeprom@54 { 493 compatible = "atmel,24c64"; 494 reg = <0x54>; 495 pagesize = <32>; 496 }; 497}; 498 499&i2c7 { 500 status = "okay"; 501 //HSC, AirMax Conn A 502}; 503 504&i2c8 { 505 status = "okay"; 506 tmp421@1f { 507 compatible = "ti,tmp421"; 508 reg = <0x1f>; 509 }; 510 //Mezz Sensor SMBus 511}; 512 513&i2c9 { 514 status = "okay"; 515 //USB Debug Connector 516 ipmb0@10 { 517 compatible = "ipmb-dev"; 518 reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 519 i2c-protocol; 520 }; 521}; 522 523&pwm_tacho { 524 status = "okay"; 525 pinctrl-names = "default"; 526 pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>; 527 fan@0 { 528 reg = <0x00>; 529 aspeed,fan-tach-ch = /bits/ 8 <0x00>; 530 }; 531 532 fan@1 { 533 reg = <0x01>; 534 aspeed,fan-tach-ch = /bits/ 8 <0x02>; 535 }; 536}; 537