1*3f2879e4SChen PJ// SPDX-License-Identifier: GPL-2.0-or-later 2*3f2879e4SChen PJ// Copyright 2023 Inventec Corp. 3*3f2879e4SChen PJ 4*3f2879e4SChen PJ/dts-v1/; 5*3f2879e4SChen PJ 6*3f2879e4SChen PJ#include "aspeed-g6.dtsi" 7*3f2879e4SChen PJ#include "aspeed-g6-pinctrl.dtsi" 8*3f2879e4SChen PJ#include <dt-bindings/i2c/i2c.h> 9*3f2879e4SChen PJ#include <dt-bindings/gpio/aspeed-gpio.h> 10*3f2879e4SChen PJ 11*3f2879e4SChen PJ/ { 12*3f2879e4SChen PJ model = "STARSCREAM BMC"; 13*3f2879e4SChen PJ compatible = "inventec,starscream-bmc", "aspeed,ast2600"; 14*3f2879e4SChen PJ 15*3f2879e4SChen PJ aliases { 16*3f2879e4SChen PJ serial4 = &uart5; 17*3f2879e4SChen PJ }; 18*3f2879e4SChen PJ 19*3f2879e4SChen PJ chosen { 20*3f2879e4SChen PJ stdout-path = &uart5; 21*3f2879e4SChen PJ }; 22*3f2879e4SChen PJ 23*3f2879e4SChen PJ memory@80000000 { 24*3f2879e4SChen PJ device_type = "memory"; 25*3f2879e4SChen PJ reg = <0x80000000 0x80000000>; 26*3f2879e4SChen PJ }; 27*3f2879e4SChen PJ 28*3f2879e4SChen PJ reserved-memory { 29*3f2879e4SChen PJ #address-cells = <1>; 30*3f2879e4SChen PJ #size-cells = <1>; 31*3f2879e4SChen PJ ranges; 32*3f2879e4SChen PJ 33*3f2879e4SChen PJ video_engine_memory: video { 34*3f2879e4SChen PJ size = <0x04000000>; 35*3f2879e4SChen PJ alignment = <0x01000000>; 36*3f2879e4SChen PJ compatible = "shared-dma-pool"; 37*3f2879e4SChen PJ reusable; 38*3f2879e4SChen PJ }; 39*3f2879e4SChen PJ }; 40*3f2879e4SChen PJ 41*3f2879e4SChen PJ leds { 42*3f2879e4SChen PJ compatible = "gpio-leds"; 43*3f2879e4SChen PJ 44*3f2879e4SChen PJ led-uid { 45*3f2879e4SChen PJ label = "UID_LED"; 46*3f2879e4SChen PJ gpios = <&gpio0 186 GPIO_ACTIVE_LOW>; 47*3f2879e4SChen PJ }; 48*3f2879e4SChen PJ 49*3f2879e4SChen PJ led-heartbeat { 50*3f2879e4SChen PJ label = "HB_LED"; 51*3f2879e4SChen PJ gpios = <&gpio0 127 GPIO_ACTIVE_LOW>; 52*3f2879e4SChen PJ }; 53*3f2879e4SChen PJ }; 54*3f2879e4SChen PJ}; 55*3f2879e4SChen PJ 56*3f2879e4SChen PJ&mdio0 { 57*3f2879e4SChen PJ status = "okay"; 58*3f2879e4SChen PJ 59*3f2879e4SChen PJ ethphy0: ethernet-phy@0 { 60*3f2879e4SChen PJ compatible = "ethernet-phy-ieee802.3-c22"; 61*3f2879e4SChen PJ reg = <1>; 62*3f2879e4SChen PJ }; 63*3f2879e4SChen PJ}; 64*3f2879e4SChen PJ 65*3f2879e4SChen PJ&mac2 { 66*3f2879e4SChen PJ status = "okay"; 67*3f2879e4SChen PJ pinctrl-names = "default"; 68*3f2879e4SChen PJ phy-mode = "rmii"; 69*3f2879e4SChen PJ pinctrl-0 = <&pinctrl_rmii3_default>; 70*3f2879e4SChen PJ use-ncsi; 71*3f2879e4SChen PJ}; 72*3f2879e4SChen PJ 73*3f2879e4SChen PJ&mac3 { 74*3f2879e4SChen PJ status = "okay"; 75*3f2879e4SChen PJ phy-mode = "rgmii"; 76*3f2879e4SChen PJ phy-handle = <ðphy0>; 77*3f2879e4SChen PJ pinctrl-names = "default"; 78*3f2879e4SChen PJ pinctrl-0 = <&pinctrl_rgmii4_default>; 79*3f2879e4SChen PJ}; 80*3f2879e4SChen PJ 81*3f2879e4SChen PJ&fmc { 82*3f2879e4SChen PJ status = "okay"; 83*3f2879e4SChen PJ flash@0 { 84*3f2879e4SChen PJ status = "okay"; 85*3f2879e4SChen PJ m25p,fast-read; 86*3f2879e4SChen PJ label = "bmc"; 87*3f2879e4SChen PJ spi-max-frequency = <50000000>; 88*3f2879e4SChen PJ spi-tx-bus-width = <4>; 89*3f2879e4SChen PJ spi-rx-bus-width = <4>; 90*3f2879e4SChen PJ#include "openbmc-flash-layout.dtsi" 91*3f2879e4SChen PJ }; 92*3f2879e4SChen PJ 93*3f2879e4SChen PJ flash@1 { 94*3f2879e4SChen PJ status = "okay"; 95*3f2879e4SChen PJ m25p,fast-read; 96*3f2879e4SChen PJ label = "bmc2"; 97*3f2879e4SChen PJ spi-max-frequency = <50000000>; 98*3f2879e4SChen PJ spi-tx-bus-width = <4>; 99*3f2879e4SChen PJ spi-rx-bus-width = <4>; 100*3f2879e4SChen PJ }; 101*3f2879e4SChen PJ}; 102*3f2879e4SChen PJ 103*3f2879e4SChen PJ&spi1 { 104*3f2879e4SChen PJ status = "okay"; 105*3f2879e4SChen PJ pinctrl-names = "default"; 106*3f2879e4SChen PJ pinctrl-0 = <&pinctrl_spi1_default>; 107*3f2879e4SChen PJ 108*3f2879e4SChen PJ flash@0 { 109*3f2879e4SChen PJ status = "okay"; 110*3f2879e4SChen PJ m25p,fast-read; 111*3f2879e4SChen PJ label = "bios"; 112*3f2879e4SChen PJ spi-max-frequency = <50000000>; 113*3f2879e4SChen PJ spi-tx-bus-width = <4>; 114*3f2879e4SChen PJ spi-rx-bus-width = <4>; 115*3f2879e4SChen PJ }; 116*3f2879e4SChen PJ}; 117*3f2879e4SChen PJ 118*3f2879e4SChen PJ&vuart1 { 119*3f2879e4SChen PJ status = "okay"; 120*3f2879e4SChen PJ}; 121*3f2879e4SChen PJ 122*3f2879e4SChen PJ&uart1 { 123*3f2879e4SChen PJ status = "okay"; 124*3f2879e4SChen PJ}; 125*3f2879e4SChen PJ 126*3f2879e4SChen PJ&uart3 { 127*3f2879e4SChen PJ status = "okay"; 128*3f2879e4SChen PJ}; 129*3f2879e4SChen PJ 130*3f2879e4SChen PJ&uart5 { 131*3f2879e4SChen PJ status = "okay"; 132*3f2879e4SChen PJ}; 133*3f2879e4SChen PJ 134*3f2879e4SChen PJ&kcs3 { 135*3f2879e4SChen PJ aspeed,lpc-io-reg = <0xca2>; 136*3f2879e4SChen PJ status = "okay"; 137*3f2879e4SChen PJ}; 138*3f2879e4SChen PJ 139*3f2879e4SChen PJ&uart_routing { 140*3f2879e4SChen PJ status = "okay"; 141*3f2879e4SChen PJ}; 142*3f2879e4SChen PJ 143*3f2879e4SChen PJ&i2c0 { 144*3f2879e4SChen PJ status = "okay"; 145*3f2879e4SChen PJ}; 146*3f2879e4SChen PJ&i2c1 { 147*3f2879e4SChen PJ status = "okay"; 148*3f2879e4SChen PJ}; 149*3f2879e4SChen PJ&i2c2 { 150*3f2879e4SChen PJ status = "okay"; 151*3f2879e4SChen PJ}; 152*3f2879e4SChen PJ&i2c3 { 153*3f2879e4SChen PJ status = "okay"; 154*3f2879e4SChen PJ}; 155*3f2879e4SChen PJ 156*3f2879e4SChen PJ&i2c4 { 157*3f2879e4SChen PJ status = "okay"; 158*3f2879e4SChen PJ 159*3f2879e4SChen PJ // I2C EXPANDER 160*3f2879e4SChen PJ i2c-mux@71 { 161*3f2879e4SChen PJ compatible = "nxp,pca9546"; 162*3f2879e4SChen PJ #address-cells = <1>; 163*3f2879e4SChen PJ #size-cells = <0>; 164*3f2879e4SChen PJ reg = <0x71>; 165*3f2879e4SChen PJ 166*3f2879e4SChen PJ i2c@0 { 167*3f2879e4SChen PJ #address-cells = <1>; 168*3f2879e4SChen PJ #size-cells = <0>; 169*3f2879e4SChen PJ reg = <0>; 170*3f2879e4SChen PJ // AMD SB-TSI CPU1 171*3f2879e4SChen PJ sbtsi@4c { 172*3f2879e4SChen PJ compatible = "amd,sbtsi"; 173*3f2879e4SChen PJ reg = <0x4c>; 174*3f2879e4SChen PJ }; 175*3f2879e4SChen PJ }; 176*3f2879e4SChen PJ 177*3f2879e4SChen PJ i2c@1 { 178*3f2879e4SChen PJ #address-cells = <1>; 179*3f2879e4SChen PJ #size-cells = <0>; 180*3f2879e4SChen PJ reg = <1>; 181*3f2879e4SChen PJ // AMD SB-TSI CPU2 182*3f2879e4SChen PJ sbtsi@48 { 183*3f2879e4SChen PJ compatible = "amd,sbtsi"; 184*3f2879e4SChen PJ reg = <0x48>; 185*3f2879e4SChen PJ }; 186*3f2879e4SChen PJ }; 187*3f2879e4SChen PJ }; 188*3f2879e4SChen PJ}; 189*3f2879e4SChen PJ 190*3f2879e4SChen PJ&i2c5 { 191*3f2879e4SChen PJ status = "okay"; 192*3f2879e4SChen PJ 193*3f2879e4SChen PJ // I2C EXPANDER U153 194*3f2879e4SChen PJ i2c-mux@70 { 195*3f2879e4SChen PJ compatible = "nxp,pca9546"; 196*3f2879e4SChen PJ #address-cells = <1>; 197*3f2879e4SChen PJ #size-cells = <0>; 198*3f2879e4SChen PJ reg = <0x70>; 199*3f2879e4SChen PJ 200*3f2879e4SChen PJ usb_hub: i2c@0 { 201*3f2879e4SChen PJ #address-cells = <1>; 202*3f2879e4SChen PJ #size-cells = <0>; 203*3f2879e4SChen PJ reg = <0>; 204*3f2879e4SChen PJ }; 205*3f2879e4SChen PJ 206*3f2879e4SChen PJ riser1: i2c@1 { 207*3f2879e4SChen PJ #address-cells = <1>; 208*3f2879e4SChen PJ #size-cells = <0>; 209*3f2879e4SChen PJ reg = <1>; 210*3f2879e4SChen PJ }; 211*3f2879e4SChen PJ 212*3f2879e4SChen PJ riser2: i2c@2 { 213*3f2879e4SChen PJ #address-cells = <1>; 214*3f2879e4SChen PJ #size-cells = <0>; 215*3f2879e4SChen PJ reg = <2>; 216*3f2879e4SChen PJ }; 217*3f2879e4SChen PJ 218*3f2879e4SChen PJ i2c@3 { 219*3f2879e4SChen PJ #address-cells = <1>; 220*3f2879e4SChen PJ #size-cells = <0>; 221*3f2879e4SChen PJ reg = <3>; 222*3f2879e4SChen PJ }; 223*3f2879e4SChen PJ }; 224*3f2879e4SChen PJ}; 225*3f2879e4SChen PJ 226*3f2879e4SChen PJ&i2c6 { 227*3f2879e4SChen PJ status = "okay"; 228*3f2879e4SChen PJ 229*3f2879e4SChen PJ // Motherboard Temp_U89 230*3f2879e4SChen PJ temperature-sensor@4e { 231*3f2879e4SChen PJ compatible = "ti,tmp421"; 232*3f2879e4SChen PJ reg = <0x4e>; 233*3f2879e4SChen PJ }; 234*3f2879e4SChen PJ 235*3f2879e4SChen PJ // RunBMC Temp_U6 236*3f2879e4SChen PJ temperature-sensor@49 { 237*3f2879e4SChen PJ compatible = "ti,tmp75"; 238*3f2879e4SChen PJ reg = <0x49>; 239*3f2879e4SChen PJ }; 240*3f2879e4SChen PJ}; 241*3f2879e4SChen PJ 242*3f2879e4SChen PJ&i2c7 { 243*3f2879e4SChen PJ status = "okay"; 244*3f2879e4SChen PJ // I2C EXPANDER U40 245*3f2879e4SChen PJ i2c-mux@70 { 246*3f2879e4SChen PJ compatible = "nxp,pca9545"; 247*3f2879e4SChen PJ #address-cells = <1>; 248*3f2879e4SChen PJ #size-cells = <0>; 249*3f2879e4SChen PJ reg = <0x70>; 250*3f2879e4SChen PJ 251*3f2879e4SChen PJ i2c@0 { 252*3f2879e4SChen PJ #address-cells = <1>; 253*3f2879e4SChen PJ #size-cells = <0>; 254*3f2879e4SChen PJ reg = <0>; 255*3f2879e4SChen PJ }; 256*3f2879e4SChen PJ 257*3f2879e4SChen PJ i2c@1 { 258*3f2879e4SChen PJ #address-cells = <1>; 259*3f2879e4SChen PJ #size-cells = <0>; 260*3f2879e4SChen PJ reg = <1>; 261*3f2879e4SChen PJ }; 262*3f2879e4SChen PJ 263*3f2879e4SChen PJ i2c@2 { 264*3f2879e4SChen PJ #address-cells = <1>; 265*3f2879e4SChen PJ #size-cells = <0>; 266*3f2879e4SChen PJ reg = <2>; 267*3f2879e4SChen PJ }; 268*3f2879e4SChen PJ 269*3f2879e4SChen PJ i2c@3 { 270*3f2879e4SChen PJ #address-cells = <1>; 271*3f2879e4SChen PJ #size-cells = <0>; 272*3f2879e4SChen PJ reg = <3>; 273*3f2879e4SChen PJ }; 274*3f2879e4SChen PJ }; 275*3f2879e4SChen PJ}; 276*3f2879e4SChen PJ 277*3f2879e4SChen PJ&i2c8 { 278*3f2879e4SChen PJ status = "okay"; 279*3f2879e4SChen PJ // FRU RunBMC 280*3f2879e4SChen PJ eeprom@51 { 281*3f2879e4SChen PJ compatible = "atmel,24c512"; 282*3f2879e4SChen PJ reg = <0x51>; 283*3f2879e4SChen PJ pagesize = <128>; 284*3f2879e4SChen PJ }; 285*3f2879e4SChen PJ}; 286*3f2879e4SChen PJ 287*3f2879e4SChen PJ&i2c9 { 288*3f2879e4SChen PJ status = "okay"; 289*3f2879e4SChen PJ}; 290*3f2879e4SChen PJ 291*3f2879e4SChen PJ&i2c10 { 292*3f2879e4SChen PJ status = "okay"; 293*3f2879e4SChen PJ}; 294*3f2879e4SChen PJ 295*3f2879e4SChen PJ&i2c11 { 296*3f2879e4SChen PJ status = "okay"; 297*3f2879e4SChen PJ}; 298*3f2879e4SChen PJ 299*3f2879e4SChen PJ&i2c12 { 300*3f2879e4SChen PJ status = "okay"; 301*3f2879e4SChen PJ // FRU SCM 302*3f2879e4SChen PJ eeprom@51 { 303*3f2879e4SChen PJ compatible = "atmel,24c512"; 304*3f2879e4SChen PJ reg = <0x51>; 305*3f2879e4SChen PJ pagesize = <128>; 306*3f2879e4SChen PJ }; 307*3f2879e4SChen PJ 308*3f2879e4SChen PJ // SCM Temp_U17 309*3f2879e4SChen PJ temperature-sensor@4f { 310*3f2879e4SChen PJ compatible = "ti,tmp75"; 311*3f2879e4SChen PJ reg = <0x4f>; 312*3f2879e4SChen PJ }; 313*3f2879e4SChen PJ}; 314*3f2879e4SChen PJ 315*3f2879e4SChen PJ&gpio0 { 316*3f2879e4SChen PJ status = "okay"; 317*3f2879e4SChen PJ gpio-line-names = 318*3f2879e4SChen PJ /*A0-A7*/ "","","","","","","","", 319*3f2879e4SChen PJ /*B0-B7*/ "alert-psu0-smb-r-n","bmc-ready","","assert-cpu0-prochot-r-n", 320*3f2879e4SChen PJ "","","","", 321*3f2879e4SChen PJ /*C0-C7*/ "","","","","","","","", 322*3f2879e4SChen PJ /*D0-D7*/ "","","","","","","","", 323*3f2879e4SChen PJ /*E0-E7*/ "","","","","","","","", 324*3f2879e4SChen PJ /*F0-F7*/ "","","","","reset-sgpio-r-n","","","", 325*3f2879e4SChen PJ /*G0-G7*/ "","","scm-jtag-mux-select","","","","","", 326*3f2879e4SChen PJ /*H0-H7*/ "","","","","reset-out","power-out","","", 327*3f2879e4SChen PJ /*I0-I7*/ "","","","","","","irq-bmc-cpu0-buf-nmi-n","", 328*3f2879e4SChen PJ /*J0-J7*/ "","","","","","","","", 329*3f2879e4SChen PJ /*K0-K7*/ "","","","","","","","", 330*3f2879e4SChen PJ /*L0-L7*/ "","","","","","","","", 331*3f2879e4SChen PJ /*M0-M7*/ "","","","","","","","", 332*3f2879e4SChen PJ /*N0-N7*/ "","","ncsi-ocp-clk-en-n","","","","","", 333*3f2879e4SChen PJ /*O0-O7*/ "","","","","","","cpu1-thermal-trip-n","", 334*3f2879e4SChen PJ /*P0-P7*/ "","","","","","","","", 335*3f2879e4SChen PJ /*Q0-Q7*/ "cpu0-prochot-n","","cpu1-prochot-n","","cpu0-pe-rst0","","","", 336*3f2879e4SChen PJ /*R0-R7*/ "","","","","","","","", 337*3f2879e4SChen PJ /*S0-S7*/ "","","","", 338*3f2879e4SChen PJ "","PCH_SLP_S4_BMC_N","cpu0-thermtrip-n","alert-psu1-smb-r-n", 339*3f2879e4SChen PJ /*T0-T7*/ "","","","","","","","", 340*3f2879e4SChen PJ /*U0-U7*/ "","","","","","","","", 341*3f2879e4SChen PJ /*V0-V7*/ "bios-recovery-buf-n","","assert-cpu1-prochot-r-n","", 342*3f2879e4SChen PJ "power-chassis-good","","","", 343*3f2879e4SChen PJ /*W0-W7*/ "","","","","","","","", 344*3f2879e4SChen PJ /*X0-X7*/ "","","","","platform-type","","","", 345*3f2879e4SChen PJ /*Y0-Y7*/ "","","","","","","","", 346*3f2879e4SChen PJ /*Z0-Z7*/ "","cpld-power-break-n","","","","","","", 347*3f2879e4SChen PJ /*AA0-AA7*/ "","","","","","","","", 348*3f2879e4SChen PJ /*AB0-AB7*/ "","","","","","","","", 349*3f2879e4SChen PJ /*AC0-AC7*/ "","","","","","","",""; 350*3f2879e4SChen PJ}; 351*3f2879e4SChen PJ 352*3f2879e4SChen PJ&sgpiom0 { 353*3f2879e4SChen PJ status = "okay"; 354*3f2879e4SChen PJ ngpios = <64>; 355*3f2879e4SChen PJ bus-frequency = <1000000>; 356*3f2879e4SChen PJ}; 357*3f2879e4SChen PJ 358*3f2879e4SChen PJ&lpc_snoop { 359*3f2879e4SChen PJ status = "okay"; 360*3f2879e4SChen PJ snoop-ports = <0x80>; 361*3f2879e4SChen PJ}; 362*3f2879e4SChen PJ 363*3f2879e4SChen PJ&emmc_controller { 364*3f2879e4SChen PJ status = "okay"; 365*3f2879e4SChen PJ}; 366*3f2879e4SChen PJ 367*3f2879e4SChen PJ&emmc { 368*3f2879e4SChen PJ status = "okay"; 369*3f2879e4SChen PJ non-removable; 370*3f2879e4SChen PJ max-frequency = <52000000>; 371*3f2879e4SChen PJ bus-width = <8>; 372*3f2879e4SChen PJ}; 373*3f2879e4SChen PJ 374*3f2879e4SChen PJ&video { 375*3f2879e4SChen PJ status = "okay"; 376*3f2879e4SChen PJ memory-region = <&video_engine_memory>; 377*3f2879e4SChen PJ}; 378*3f2879e4SChen PJ 379*3f2879e4SChen PJ&vhub { 380*3f2879e4SChen PJ status = "okay"; 381*3f2879e4SChen PJ aspeed,vhub-downstream-ports = <7>; 382*3f2879e4SChen PJ aspeed,vhub-generic-endpoints = <21>; 383*3f2879e4SChen PJ pinctrl-names = "default"; 384*3f2879e4SChen PJ pinctrl-0 = <&pinctrl_usb2ad_default>; 385*3f2879e4SChen PJ}; 386*3f2879e4SChen PJ 387*3f2879e4SChen PJ&rtc { 388*3f2879e4SChen PJ status = "okay"; 389*3f2879e4SChen PJ}; 390