1// SPDX-License-Identifier: GPL-2.0-or-later 2// Copyright 2024 ASUS Corp. 3 4/dts-v1/; 5 6#include "aspeed-g6.dtsi" 7#include "aspeed-g6-pinctrl.dtsi" 8#include <dt-bindings/i2c/i2c.h> 9#include <dt-bindings/gpio/aspeed-gpio.h> 10 11/ { 12 model = "ASUS-X4TF"; 13 compatible = "asus,x4tf-bmc", "aspeed,ast2600"; 14 15 aliases { 16 serial4 = &uart5; 17 }; 18 19 chosen { 20 stdout-path = "serial4:115200n8"; 21 }; 22 23 memory@80000000 { 24 device_type = "memory"; 25 reg = <0x80000000 0x40000000>; 26 }; 27 28 reserved-memory { 29 #address-cells = <1>; 30 #size-cells = <1>; 31 ranges; 32 33 video_engine_memory: video { 34 size = <0x04000000>; 35 alignment = <0x01000000>; 36 compatible = "shared-dma-pool"; 37 reusable; 38 }; 39 }; 40 41 iio-hwmon { 42 compatible = "iio-hwmon"; 43 io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, 44 <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>, 45 <&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>, 46 <&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>; 47 }; 48 49 leds { 50 compatible = "gpio-leds"; 51 52 led-heartbeat { 53 gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>; 54 linux,default-trigger = "heartbeat"; 55 }; 56 57 led-uid { 58 gpios = <&gpio0 ASPEED_GPIO(P, 1) (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>; 59 default-state = "off"; 60 }; 61 62 led-status_Y { 63 gpios = <&gpio1 ASPEED_GPIO(B, 1) GPIO_ACTIVE_LOW>; 64 default-state = "off"; 65 }; 66 67 led-sys_boot_status { 68 gpios = <&gpio1 ASPEED_GPIO(B, 0) GPIO_ACTIVE_LOW>; 69 default-state = "off"; 70 }; 71 }; 72}; 73 74&adc0 { 75 vref = <2500>; 76 status = "okay"; 77 pinctrl-names = "default"; 78 pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default 79 &pinctrl_adc2_default &pinctrl_adc3_default 80 &pinctrl_adc4_default &pinctrl_adc5_default 81 &pinctrl_adc6_default &pinctrl_adc7_default>; 82}; 83 84&adc1 { 85 vref = <2500>; 86 status = "okay"; 87 pinctrl-names = "default"; 88 pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default 89 &pinctrl_adc10_default &pinctrl_adc11_default 90 &pinctrl_adc12_default &pinctrl_adc13_default 91 &pinctrl_adc14_default &pinctrl_adc15_default>; 92}; 93 94&peci0 { 95 status = "okay"; 96}; 97 98&lpc_snoop { 99 snoop-ports = <0x80>; 100 status = "okay"; 101}; 102 103&mac2 { 104 status = "okay"; 105 phy-mode = "rmii"; 106 use-ncsi; 107 pinctrl-names = "default"; 108 pinctrl-0 = <&pinctrl_rmii3_default>; 109}; 110 111&mac3 { 112 status = "okay"; 113 phy-mode = "rmii"; 114 use-ncsi; 115 pinctrl-names = "default"; 116 pinctrl-0 = <&pinctrl_rmii4_default>; 117}; 118 119&fmc { 120 status = "okay"; 121 122 flash@0 { 123 status = "okay"; 124 m25p,fast-read; 125 label = "bmc"; 126 spi-max-frequency = <50000000>; 127#include "openbmc-flash-layout-64.dtsi" 128 }; 129}; 130 131&spi1 { 132 status = "okay"; 133 pinctrl-names = "default"; 134 pinctrl-0 = <&pinctrl_spi1_default>; 135 136 flash@0 { 137 status = "okay"; 138 label = "bios"; 139 spi-max-frequency = <50000000>; 140 }; 141}; 142 143&i2c0 { 144 status = "okay"; 145}; 146 147&i2c1 { 148 status = "okay"; 149}; 150 151&i2c2 { 152 status = "okay"; 153}; 154 155&i2c3 { 156 status = "okay"; 157}; 158 159&i2c4 { 160 status = "okay"; 161 162 temperature-sensor@48 { 163 compatible = "ti,tmp75"; 164 reg = <0x48>; 165 }; 166 167 temperature-sensor@49 { 168 compatible = "ti,tmp75"; 169 reg = <0x49>; 170 }; 171 172 pca9555_4_20: gpio@20 { 173 compatible = "nxp,pca9555"; 174 reg = <0x20>; 175 gpio-controller; 176 #gpio-cells = <2>; 177 }; 178 179 pca9555_4_22: gpio@22 { 180 compatible = "nxp,pca9555"; 181 reg = <0x22>; 182 gpio-controller; 183 #gpio-cells = <2>; 184 }; 185 186 pca9555_4_24: gpio@24 { 187 compatible = "nxp,pca9555"; 188 reg = <0x24>; 189 gpio-controller; 190 #gpio-cells = <2>; 191 gpio-line-names = 192 /*A0 - A3 0*/ "", "STRAP_BMC_BATTERY_GPIO1", "", "", 193 /*A4 - A7 4*/ "", "", "", "", 194 /*B0 - B7 8*/ "", "", "", "", "", "", "", ""; 195 }; 196 197 pca9555_4_26: gpio@26 { 198 compatible = "nxp,pca9555"; 199 reg = <0x26>; 200 gpio-controller; 201 #gpio-cells = <2>; 202 }; 203 204 i2c-mux@70 { 205 compatible = "nxp,pca9546"; 206 status = "okay"; 207 reg = <0x70>; 208 #address-cells = <1>; 209 #size-cells = <0>; 210 211 channel_1: i2c@0 { 212 #address-cells = <1>; 213 #size-cells = <0>; 214 reg = <0>; 215 }; 216 217 channel_2: i2c@1 { 218 #address-cells = <1>; 219 #size-cells = <0>; 220 reg = <1>; 221 }; 222 223 channel_3: i2c@2 { 224 #address-cells = <1>; 225 #size-cells = <0>; 226 reg = <2>; 227 }; 228 229 channel_4: i2c@3 { 230 #address-cells = <1>; 231 #size-cells = <0>; 232 reg = <3>; 233 }; 234 }; 235}; 236 237&i2c5 { 238 status = "okay"; 239 240 pca9555_5_24: gpio@24 { 241 compatible = "nxp,pca9555"; 242 reg = <0x24>; 243 gpio-controller; 244 #gpio-cells = <2>; 245 }; 246 247 i2c-mux@70 { 248 compatible = "nxp,pca9546"; 249 status = "okay"; 250 reg = <0x70 >; 251 #address-cells = <1>; 252 #size-cells = <0>; 253 254 channel_5: i2c@0 { 255 #address-cells = <1>; 256 #size-cells = <0>; 257 reg = <0>; 258 259 pca9555_5_5_20: gpio@20 { 260 compatible = "nxp,pca9555"; 261 reg = <0x20>; 262 gpio-controller; 263 #gpio-cells = <2>; 264 gpio-line-names = 265 "", "", "", "", "", "", "", "", 266 "", "", "SYS_FAN6", "SYS_FAN5", 267 "SYS_FAN4", "SYS_FAN3", 268 "SYS_FAN2", "SYS_FAN1"; 269 }; 270 271 pca9555_5_5_21: gpio@21 { 272 compatible = "nxp,pca9555"; 273 reg = <0x21>; 274 gpio-controller; 275 #gpio-cells = <2>; 276 }; 277 278 power-monitor@44 { 279 compatible = "ti,ina219"; 280 reg = <0x44>; 281 shunt-resistor = <2>; 282 }; 283 }; 284 285 channel_6: i2c@1 { 286 #address-cells = <1>; 287 #size-cells = <0>; 288 reg = <1>; 289 }; 290 291 channel_7: i2c@2 { 292 #address-cells = <1>; 293 #size-cells = <0>; 294 reg = <2>; 295 }; 296 297 channel_8: i2c@3 { 298 #address-cells = <1>; 299 #size-cells = <0>; 300 reg = <3>; 301 }; 302 }; 303}; 304 305&i2c6 { 306 status = "okay"; 307 308 pca9555_6_27: gpio@27 { 309 compatible = "nxp,pca9555"; 310 reg = <0x27>; 311 gpio-controller; 312 #gpio-cells = <2>; 313 }; 314 315 pca9555_6_20: gpio@20 { 316 compatible = "nxp,pca9555"; 317 reg = <0x20>; 318 gpio-controller; 319 #gpio-cells = <2>; 320 gpio-line-names = 321 /*A0 0*/ "", "", "", "", "", "", "", "", 322 /*B0 8*/ "Drive_NVMe1", "Drive_NVMe2", "", "", 323 /*B4 12*/ "", "", "", ""; 324 }; 325 326 pca9555_6_21: gpio@21 { 327 compatible = "nxp,pca9555"; 328 reg = <0x21>; 329 gpio-controller; 330 #gpio-cells = <2>; 331 }; 332}; 333 334&i2c7 { 335 status = "okay"; 336 337 i2c-mux@70 { 338 compatible = "nxp,pca9546"; 339 status = "okay"; 340 reg = <0x70>; 341 #address-cells = <1>; 342 #size-cells = <0>; 343 idle-state = <1>; 344 345 channel_9: i2c@0 { 346 #address-cells = <1>; 347 #size-cells = <0>; 348 reg = <0>; 349 350 temperature-sensor@48 { 351 compatible = "ti,tmp75"; 352 reg = <0x48>; 353 }; 354 355 temperature-sensor@49 { 356 compatible = "ti,tmp75"; 357 reg = <0x49>; 358 }; 359 360 power-monitor@40 { 361 compatible = "ti,ina219"; 362 reg = <0x40>; 363 shunt-resistor = <2>; 364 }; 365 366 power-monitor@41 { 367 compatible = "ti,ina219"; 368 reg = <0x41>; 369 shunt-resistor = <5>; 370 }; 371 }; 372 373 channel_10: i2c@1 { 374 #address-cells = <1>; 375 #size-cells = <0>; 376 reg = <1>; 377 }; 378 379 channel_11: i2c@2 { 380 #address-cells = <1>; 381 #size-cells = <0>; 382 reg = <2>; 383 }; 384 385 channel_12: i2c@3 { 386 #address-cells = <1>; 387 #size-cells = <0>; 388 reg = <3>; 389 }; 390 }; 391 392 i2c-mux@71 { 393 compatible = "nxp,pca9546"; 394 status = "okay"; 395 reg = <0x71>; 396 #address-cells = <1>; 397 #size-cells = <0>; 398 i2c-mux-idle-disconnect; 399 400 channel_13: i2c@0 { 401 #address-cells = <1>; 402 #size-cells = <0>; 403 reg = <0>; 404 }; 405 406 channel_14: i2c@1 { 407 #address-cells = <1>; 408 #size-cells = <0>; 409 reg = <1>; 410 }; 411 412 channel_15: i2c@2 { 413 #address-cells = <1>; 414 #size-cells = <0>; 415 reg = <2>; 416 }; 417 418 channel_16: i2c@3 { 419 #address-cells = <1>; 420 #size-cells = <0>; 421 reg = <3>; 422 }; 423 }; 424}; 425 426&i2c8 { 427 status = "okay"; 428 429 i2c-mux@70 { 430 compatible = "nxp,pca9546"; 431 status = "okay"; 432 reg = <0x70>; 433 #address-cells = <1>; 434 #size-cells = <0>; 435 i2c-mux-idle-disconnect; 436 437 channel_17: i2c@0 { 438 #address-cells = <1>; 439 #size-cells = <0>; 440 reg = <0>; 441 }; 442 443 channel_18: i2c@1 { 444 #address-cells = <1>; 445 #size-cells = <0>; 446 reg = <1>; 447 448 temperature-sensor@48 { 449 compatible = "ti,tmp75"; 450 reg = <0x48>; 451 }; 452 453 power-monitor@41 { 454 compatible = "ti,ina219"; 455 reg = <0x41>; 456 shunt-resistor = <5>; 457 }; 458 }; 459 460 channel_19: i2c@2 { 461 #address-cells = <1>; 462 #size-cells = <0>; 463 reg = <2>; 464 }; 465 466 channel_20: i2c@3 { 467 #address-cells = <1>; 468 #size-cells = <0>; 469 reg = <3>; 470 }; 471 }; 472}; 473 474&i2c9 { 475 status = "okay"; 476}; 477 478&i2c10 { 479 status = "okay"; 480}; 481 482&i2c11 { 483 status = "okay"; 484}; 485 486&i2c14 { 487 status = "okay"; 488 multi-master; 489 490 eeprom@50 { 491 compatible = "atmel,24c08"; 492 reg = <0x50>; 493 }; 494 495 eeprom@51 { 496 compatible = "atmel,24c08"; 497 reg = <0x51>; 498 }; 499}; 500 501&sgpiom0 { 502 status = "okay"; 503 ngpios = <128>; 504}; 505 506&video { 507 status = "okay"; 508 memory-region = <&video_engine_memory>; 509}; 510 511&sdc { 512 status = "okay"; 513}; 514 515&lpc_snoop { 516 status = "okay"; 517 snoop-ports = <0x80>; 518}; 519 520&kcs1 { 521 aspeed,lpc-io-reg = <0xca0>; 522 status = "okay"; 523}; 524 525&kcs2 { 526 aspeed,lpc-io-reg = <0xca8>; 527 status = "okay"; 528}; 529 530&kcs3 { 531 aspeed,lpc-io-reg = <0xca2>; 532 status = "okay"; 533}; 534 535&uart3 { 536 status = "okay"; 537}; 538 539&uart5 { 540 status = "okay"; 541}; 542 543&uart_routing { 544 status = "okay"; 545}; 546 547&vhub { 548 status = "okay"; 549}; 550 551&gpio0 { 552 gpio-line-names = 553 /*A0 0*/ "", "", "", "", "", "", "", "", 554 /*B0 8*/ "", "", "", "", "", "", "PS_PWROK", "", 555 /*C0 16*/ "", "", "", "", "", "", "", "", 556 /*D0 24*/ "", "", "", "", "", "", "", "", 557 /*E0 32*/ "", "", "", "", "", "", "", "", 558 /*F0 40*/ "", "", "", "", "", "", "", "", 559 /*G0 48*/ "", "", "", "", "", "", "", "", 560 /*H0 56*/ "", "", "", "", "", "", "", "", 561 /*I0 64*/ "", "", "", "", "", "", "", "", 562 /*J0 72*/ "", "", "", "", "", "", "", "", 563 /*K0 80*/ "", "", "", "", "", "", "", "", 564 /*L0 88*/ "", "", "", "", "", "", "", "", 565 /*M0 96*/ "", "", "", "", "", "", "", "", 566 /*N0 104*/ "", "", "", "", 567 /*N4 108*/ "POST_COMPLETE", "ESR1_GPIO_AST_SPISEL", "", "", 568 /*O0 112*/ "", "", "", "", "", "", "", "", 569 /*P0 120*/ "ID_BUTTON", "ID_OUT", "POWER_BUTTON", "POWER_OUT", 570 /*P4 124*/ "RESET_BUTTON", "RESET_OUT", "", "HEARTBEAT", 571 /*Q0 128*/ "", "", "", "", "", "", "", "", 572 /*R0 136*/ "", "", "", "", "", "", "", "", 573 /*S0 144*/ "", "", "", "", "", "", "", "", 574 /*T0 152*/ "", "", "", "", "", "", "", "", 575 /*U0 160*/ "", "", "", "", "", "", "", "", 576 /*V0 168*/ "", "", "", "", "", "", "", "", 577 /*W0 176*/ "", "", "", "", "", "", "", "", 578 /*X0 184*/ "", "", "", "", "", "", "", "", 579 /*Y0 192*/ "", "", "", "", "", "", "", "", 580 /*Z0 200*/ "", "", "", "", "", "", "", ""; 581}; 582