1*7d0873ebSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2*7d0873ebSEmmanuel Vadot/dts-v1/; 3*7d0873ebSEmmanuel Vadot 4*7d0873ebSEmmanuel Vadot#include "aspeed-g5.dtsi" 5*7d0873ebSEmmanuel Vadot#include <dt-bindings/gpio/aspeed-gpio.h> 6*7d0873ebSEmmanuel Vadot#include <dt-bindings/i2c/i2c.h> 7*7d0873ebSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 8*7d0873ebSEmmanuel Vadot#include <dt-bindings/leds/common.h> 9*7d0873ebSEmmanuel Vadot#include <dt-bindings/watchdog/aspeed-wdt.h> 10*7d0873ebSEmmanuel Vadot 11*7d0873ebSEmmanuel Vadot/{ 12*7d0873ebSEmmanuel Vadot model = "ASRock E3C256D4I BMC"; 13*7d0873ebSEmmanuel Vadot compatible = "asrock,e3c256d4i-bmc", "aspeed,ast2500"; 14*7d0873ebSEmmanuel Vadot 15*7d0873ebSEmmanuel Vadot aliases { 16*7d0873ebSEmmanuel Vadot serial4 = &uart5; 17*7d0873ebSEmmanuel Vadot 18*7d0873ebSEmmanuel Vadot i2c20 = &i2c2mux0ch0; 19*7d0873ebSEmmanuel Vadot i2c21 = &i2c2mux0ch1; 20*7d0873ebSEmmanuel Vadot i2c22 = &i2c2mux0ch2; 21*7d0873ebSEmmanuel Vadot i2c23 = &i2c2mux0ch3; 22*7d0873ebSEmmanuel Vadot }; 23*7d0873ebSEmmanuel Vadot 24*7d0873ebSEmmanuel Vadot chosen { 25*7d0873ebSEmmanuel Vadot stdout-path = &uart5; 26*7d0873ebSEmmanuel Vadot }; 27*7d0873ebSEmmanuel Vadot 28*7d0873ebSEmmanuel Vadot memory@80000000 { 29*7d0873ebSEmmanuel Vadot reg = <0x80000000 0x20000000>; 30*7d0873ebSEmmanuel Vadot }; 31*7d0873ebSEmmanuel Vadot 32*7d0873ebSEmmanuel Vadot leds { 33*7d0873ebSEmmanuel Vadot compatible = "gpio-leds"; 34*7d0873ebSEmmanuel Vadot 35*7d0873ebSEmmanuel Vadot /* BMC heartbeat */ 36*7d0873ebSEmmanuel Vadot led-0 { 37*7d0873ebSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>; 38*7d0873ebSEmmanuel Vadot function = LED_FUNCTION_HEARTBEAT; 39*7d0873ebSEmmanuel Vadot color = <LED_COLOR_ID_GREEN>; 40*7d0873ebSEmmanuel Vadot linux,default-trigger = "timer"; 41*7d0873ebSEmmanuel Vadot }; 42*7d0873ebSEmmanuel Vadot 43*7d0873ebSEmmanuel Vadot /* system fault */ 44*7d0873ebSEmmanuel Vadot led-1 { 45*7d0873ebSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>; 46*7d0873ebSEmmanuel Vadot function = LED_FUNCTION_FAULT; 47*7d0873ebSEmmanuel Vadot color = <LED_COLOR_ID_RED>; 48*7d0873ebSEmmanuel Vadot panic-indicator; 49*7d0873ebSEmmanuel Vadot }; 50*7d0873ebSEmmanuel Vadot }; 51*7d0873ebSEmmanuel Vadot 52*7d0873ebSEmmanuel Vadot iio-hwmon { 53*7d0873ebSEmmanuel Vadot compatible = "iio-hwmon"; 54*7d0873ebSEmmanuel Vadot io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, 55*7d0873ebSEmmanuel Vadot <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>, 56*7d0873ebSEmmanuel Vadot <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>, 57*7d0873ebSEmmanuel Vadot <&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>; 58*7d0873ebSEmmanuel Vadot }; 59*7d0873ebSEmmanuel Vadot}; 60*7d0873ebSEmmanuel Vadot 61*7d0873ebSEmmanuel Vadot&fmc { 62*7d0873ebSEmmanuel Vadot status = "okay"; 63*7d0873ebSEmmanuel Vadot flash@0 { 64*7d0873ebSEmmanuel Vadot status = "okay"; 65*7d0873ebSEmmanuel Vadot m25p,fast-read; 66*7d0873ebSEmmanuel Vadot label = "bmc"; 67*7d0873ebSEmmanuel Vadot spi-max-frequency = <100000000>; /* 100 MHz */ 68*7d0873ebSEmmanuel Vadot#include "openbmc-flash-layout-64.dtsi" 69*7d0873ebSEmmanuel Vadot }; 70*7d0873ebSEmmanuel Vadot}; 71*7d0873ebSEmmanuel Vadot 72*7d0873ebSEmmanuel Vadot&uart1 { 73*7d0873ebSEmmanuel Vadot status = "okay"; 74*7d0873ebSEmmanuel Vadot}; 75*7d0873ebSEmmanuel Vadot 76*7d0873ebSEmmanuel Vadot&uart2 { 77*7d0873ebSEmmanuel Vadot status = "okay"; 78*7d0873ebSEmmanuel Vadot}; 79*7d0873ebSEmmanuel Vadot 80*7d0873ebSEmmanuel Vadot&uart3 { 81*7d0873ebSEmmanuel Vadot status = "okay"; 82*7d0873ebSEmmanuel Vadot}; 83*7d0873ebSEmmanuel Vadot 84*7d0873ebSEmmanuel Vadot&uart4 { 85*7d0873ebSEmmanuel Vadot status = "okay"; 86*7d0873ebSEmmanuel Vadot}; 87*7d0873ebSEmmanuel Vadot 88*7d0873ebSEmmanuel Vadot&uart5 { 89*7d0873ebSEmmanuel Vadot status = "okay"; 90*7d0873ebSEmmanuel Vadot}; 91*7d0873ebSEmmanuel Vadot 92*7d0873ebSEmmanuel Vadot&uart_routing { 93*7d0873ebSEmmanuel Vadot status = "okay"; 94*7d0873ebSEmmanuel Vadot}; 95*7d0873ebSEmmanuel Vadot 96*7d0873ebSEmmanuel Vadot&mac0 { 97*7d0873ebSEmmanuel Vadot status = "okay"; 98*7d0873ebSEmmanuel Vadot 99*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 100*7d0873ebSEmmanuel Vadot pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>; 101*7d0873ebSEmmanuel Vadot 102*7d0873ebSEmmanuel Vadot nvmem-cells = <ð0_macaddress>; 103*7d0873ebSEmmanuel Vadot nvmem-cell-names = "mac-address"; 104*7d0873ebSEmmanuel Vadot}; 105*7d0873ebSEmmanuel Vadot 106*7d0873ebSEmmanuel Vadot&i2c0 { 107*7d0873ebSEmmanuel Vadot status = "okay"; 108*7d0873ebSEmmanuel Vadot}; 109*7d0873ebSEmmanuel Vadot 110*7d0873ebSEmmanuel Vadot&i2c1 { 111*7d0873ebSEmmanuel Vadot status = "okay"; 112*7d0873ebSEmmanuel Vadot}; 113*7d0873ebSEmmanuel Vadot 114*7d0873ebSEmmanuel Vadot&i2c2 { 115*7d0873ebSEmmanuel Vadot status = "okay"; 116*7d0873ebSEmmanuel Vadot 117*7d0873ebSEmmanuel Vadot i2c-mux@70 { 118*7d0873ebSEmmanuel Vadot compatible = "nxp,pca9545"; 119*7d0873ebSEmmanuel Vadot reg = <0x70>; 120*7d0873ebSEmmanuel Vadot #address-cells = <1>; 121*7d0873ebSEmmanuel Vadot #size-cells = <0>; 122*7d0873ebSEmmanuel Vadot 123*7d0873ebSEmmanuel Vadot i2c2mux0ch0: i2c@0 { 124*7d0873ebSEmmanuel Vadot #address-cells = <1>; 125*7d0873ebSEmmanuel Vadot #size-cells = <0>; 126*7d0873ebSEmmanuel Vadot reg = <0>; 127*7d0873ebSEmmanuel Vadot }; 128*7d0873ebSEmmanuel Vadot 129*7d0873ebSEmmanuel Vadot i2c2mux0ch1: i2c@1 { 130*7d0873ebSEmmanuel Vadot #address-cells = <1>; 131*7d0873ebSEmmanuel Vadot #size-cells = <0>; 132*7d0873ebSEmmanuel Vadot reg = <1>; 133*7d0873ebSEmmanuel Vadot }; 134*7d0873ebSEmmanuel Vadot 135*7d0873ebSEmmanuel Vadot i2c2mux0ch2: i2c@2 { 136*7d0873ebSEmmanuel Vadot #address-cells = <1>; 137*7d0873ebSEmmanuel Vadot #size-cells = <0>; 138*7d0873ebSEmmanuel Vadot reg = <2>; 139*7d0873ebSEmmanuel Vadot }; 140*7d0873ebSEmmanuel Vadot 141*7d0873ebSEmmanuel Vadot i2c2mux0ch3: i2c@3 { 142*7d0873ebSEmmanuel Vadot #address-cells = <1>; 143*7d0873ebSEmmanuel Vadot #size-cells = <0>; 144*7d0873ebSEmmanuel Vadot reg = <3>; 145*7d0873ebSEmmanuel Vadot }; 146*7d0873ebSEmmanuel Vadot }; 147*7d0873ebSEmmanuel Vadot}; 148*7d0873ebSEmmanuel Vadot 149*7d0873ebSEmmanuel Vadot&i2c3 { 150*7d0873ebSEmmanuel Vadot status = "okay"; 151*7d0873ebSEmmanuel Vadot}; 152*7d0873ebSEmmanuel Vadot 153*7d0873ebSEmmanuel Vadot&i2c4 { 154*7d0873ebSEmmanuel Vadot status = "okay"; 155*7d0873ebSEmmanuel Vadot}; 156*7d0873ebSEmmanuel Vadot 157*7d0873ebSEmmanuel Vadot&i2c5 { 158*7d0873ebSEmmanuel Vadot status = "okay"; 159*7d0873ebSEmmanuel Vadot}; 160*7d0873ebSEmmanuel Vadot 161*7d0873ebSEmmanuel Vadot&i2c6 { 162*7d0873ebSEmmanuel Vadot status = "okay"; 163*7d0873ebSEmmanuel Vadot}; 164*7d0873ebSEmmanuel Vadot 165*7d0873ebSEmmanuel Vadot&i2c7 { 166*7d0873ebSEmmanuel Vadot status = "okay"; 167*7d0873ebSEmmanuel Vadot}; 168*7d0873ebSEmmanuel Vadot 169*7d0873ebSEmmanuel Vadot&i2c9 { 170*7d0873ebSEmmanuel Vadot status = "okay"; 171*7d0873ebSEmmanuel Vadot}; 172*7d0873ebSEmmanuel Vadot 173*7d0873ebSEmmanuel Vadot&i2c10 { 174*7d0873ebSEmmanuel Vadot status = "okay"; 175*7d0873ebSEmmanuel Vadot}; 176*7d0873ebSEmmanuel Vadot 177*7d0873ebSEmmanuel Vadot&i2c11 { 178*7d0873ebSEmmanuel Vadot status = "okay"; 179*7d0873ebSEmmanuel Vadot 180*7d0873ebSEmmanuel Vadot vrm@60 { 181*7d0873ebSEmmanuel Vadot compatible = "isil,isl69269"; 182*7d0873ebSEmmanuel Vadot reg = <0x60>; 183*7d0873ebSEmmanuel Vadot }; 184*7d0873ebSEmmanuel Vadot}; 185*7d0873ebSEmmanuel Vadot 186*7d0873ebSEmmanuel Vadot&i2c12 { 187*7d0873ebSEmmanuel Vadot status = "okay"; 188*7d0873ebSEmmanuel Vadot 189*7d0873ebSEmmanuel Vadot /* FRU eeprom */ 190*7d0873ebSEmmanuel Vadot eeprom@57 { 191*7d0873ebSEmmanuel Vadot compatible = "st,24c128", "atmel,24c128"; 192*7d0873ebSEmmanuel Vadot reg = <0x57>; 193*7d0873ebSEmmanuel Vadot pagesize = <16>; 194*7d0873ebSEmmanuel Vadot #address-cells = <1>; 195*7d0873ebSEmmanuel Vadot #size-cells = <1>; 196*7d0873ebSEmmanuel Vadot 197*7d0873ebSEmmanuel Vadot eth0_macaddress: macaddress@3f80 { 198*7d0873ebSEmmanuel Vadot reg = <0x3f80 6>; 199*7d0873ebSEmmanuel Vadot }; 200*7d0873ebSEmmanuel Vadot }; 201*7d0873ebSEmmanuel Vadot}; 202*7d0873ebSEmmanuel Vadot 203*7d0873ebSEmmanuel Vadot&video { 204*7d0873ebSEmmanuel Vadot status = "okay"; 205*7d0873ebSEmmanuel Vadot}; 206*7d0873ebSEmmanuel Vadot 207*7d0873ebSEmmanuel Vadot&vhub { 208*7d0873ebSEmmanuel Vadot status = "okay"; 209*7d0873ebSEmmanuel Vadot}; 210*7d0873ebSEmmanuel Vadot 211*7d0873ebSEmmanuel Vadot&lpc_ctrl { 212*7d0873ebSEmmanuel Vadot status = "okay"; 213*7d0873ebSEmmanuel Vadot}; 214*7d0873ebSEmmanuel Vadot 215*7d0873ebSEmmanuel Vadot&lpc_snoop { 216*7d0873ebSEmmanuel Vadot status = "okay"; 217*7d0873ebSEmmanuel Vadot snoop-ports = <0x80>; 218*7d0873ebSEmmanuel Vadot}; 219*7d0873ebSEmmanuel Vadot 220*7d0873ebSEmmanuel Vadot&kcs3 { 221*7d0873ebSEmmanuel Vadot status = "okay"; 222*7d0873ebSEmmanuel Vadot aspeed,lpc-io-reg = <0xca2>; 223*7d0873ebSEmmanuel Vadot}; 224*7d0873ebSEmmanuel Vadot 225*7d0873ebSEmmanuel Vadot&peci0 { 226*7d0873ebSEmmanuel Vadot status = "okay"; 227*7d0873ebSEmmanuel Vadot}; 228*7d0873ebSEmmanuel Vadot 229*7d0873ebSEmmanuel Vadot&wdt1 { 230*7d0873ebSEmmanuel Vadot aspeed,reset-mask = <(AST2500_WDT_RESET_DEFAULT & ~AST2500_WDT_RESET_LPC)>; 231*7d0873ebSEmmanuel Vadot}; 232*7d0873ebSEmmanuel Vadot 233*7d0873ebSEmmanuel Vadot&wdt2 { 234*7d0873ebSEmmanuel Vadot aspeed,reset-mask = <(AST2500_WDT_RESET_DEFAULT & ~AST2500_WDT_RESET_LPC)>; 235*7d0873ebSEmmanuel Vadot}; 236*7d0873ebSEmmanuel Vadot 237*7d0873ebSEmmanuel Vadot&pwm_tacho { 238*7d0873ebSEmmanuel Vadot status = "okay"; 239*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 240*7d0873ebSEmmanuel Vadot pinctrl-0 = <&pinctrl_pwm0_default /* CPU */ 241*7d0873ebSEmmanuel Vadot &pinctrl_pwm2_default /* rear */ 242*7d0873ebSEmmanuel Vadot &pinctrl_pwm4_default>; /* front */ 243*7d0873ebSEmmanuel Vadot 244*7d0873ebSEmmanuel Vadot /* CPU */ 245*7d0873ebSEmmanuel Vadot fan@0 { 246*7d0873ebSEmmanuel Vadot reg = <0x00>; 247*7d0873ebSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x00>; 248*7d0873ebSEmmanuel Vadot }; 249*7d0873ebSEmmanuel Vadot 250*7d0873ebSEmmanuel Vadot /* rear */ 251*7d0873ebSEmmanuel Vadot fan@2 { 252*7d0873ebSEmmanuel Vadot reg = <0x02>; 253*7d0873ebSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x02>; 254*7d0873ebSEmmanuel Vadot }; 255*7d0873ebSEmmanuel Vadot 256*7d0873ebSEmmanuel Vadot /* front */ 257*7d0873ebSEmmanuel Vadot fan@4 { 258*7d0873ebSEmmanuel Vadot reg = <0x04>; 259*7d0873ebSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x04>; 260*7d0873ebSEmmanuel Vadot }; 261*7d0873ebSEmmanuel Vadot}; 262*7d0873ebSEmmanuel Vadot 263*7d0873ebSEmmanuel Vadot&gpio { 264*7d0873ebSEmmanuel Vadot status = "okay"; 265*7d0873ebSEmmanuel Vadot gpio-line-names = 266*7d0873ebSEmmanuel Vadot /* A */ "", "", "NMI_BTN_N", "BMC_NMI", "", "", "", "", 267*7d0873ebSEmmanuel Vadot /* B */ "", "", "", "", "", "", "", "", 268*7d0873ebSEmmanuel Vadot /* C */ "", "", "", "", "", "", "", "", 269*7d0873ebSEmmanuel Vadot /* D */ "BMC_PSIN", "BMC_PSOUT", "BMC_RESETCON", "RESETCON", 270*7d0873ebSEmmanuel Vadot "", "", "", "", 271*7d0873ebSEmmanuel Vadot /* E */ "", "", "", "", "", "", "", "", 272*7d0873ebSEmmanuel Vadot /* F */ "LOCATORLED_STATUS_N", "LOCATORBTN", "", "", 273*7d0873ebSEmmanuel Vadot "", "", "BMC_PCH_SCI_LPC", "BMC_NCSI_MUX_CTL", 274*7d0873ebSEmmanuel Vadot /* G */ "HWM_BAT_EN", "CHASSIS_ID0", "CHASSIS_ID1", "CHASSIS_ID2", 275*7d0873ebSEmmanuel Vadot "", "", "", "", 276*7d0873ebSEmmanuel Vadot /* H */ "FM_ME_RCVR_N", "O_PWROK", "", "D4_DIMM_EVENT_3V_N", 277*7d0873ebSEmmanuel Vadot "MFG_MODE_N", "BMC_RTCRST", "BMC_HB_LED_N", "BMC_CASEOPEN", 278*7d0873ebSEmmanuel Vadot /* I */ "", "", "", "", "", "", "", "", 279*7d0873ebSEmmanuel Vadot /* J */ "BMC_READY", "BMC_PCH_BIOS_CS_N", "BMC_SMI", "", "", "", "", "", 280*7d0873ebSEmmanuel Vadot /* K */ "", "", "", "", "", "", "", "", 281*7d0873ebSEmmanuel Vadot /* L */ "", "", "", "", "", "", "", "", 282*7d0873ebSEmmanuel Vadot /* M */ "", "", "", "", "", "", "", "", 283*7d0873ebSEmmanuel Vadot /* N */ "", "", "", "", "", "", "", "", 284*7d0873ebSEmmanuel Vadot /* O */ "", "", "", "", "", "", "", "", 285*7d0873ebSEmmanuel Vadot /* P */ "", "", "", "", "", "", "", "", 286*7d0873ebSEmmanuel Vadot /* Q */ "", "", "", "", "", "", "", "", 287*7d0873ebSEmmanuel Vadot /* R */ "", "", "", "", "", "", "", "", 288*7d0873ebSEmmanuel Vadot /* S */ "PCHHOT_BMC_N", "", "RSMRST", "", "", "", "", "", 289*7d0873ebSEmmanuel Vadot /* T */ "", "", "", "", "", "", "", "", 290*7d0873ebSEmmanuel Vadot /* U */ "", "", "", "", "", "", "", "", 291*7d0873ebSEmmanuel Vadot /* V */ "", "", "", "", "", "", "", "", 292*7d0873ebSEmmanuel Vadot /* W */ "", "", "", "", "", "", "", "", 293*7d0873ebSEmmanuel Vadot /* X */ "", "", "", "", "", "", "", "", 294*7d0873ebSEmmanuel Vadot /* Y */ "SLP_S3", "SLP_S5", "", "", "", "", "", "", 295*7d0873ebSEmmanuel Vadot /* Z */ "CPU_CATERR_BMC_N", "", "SYSTEM_FAULT_LED_N", "BMC_THROTTLE_N", 296*7d0873ebSEmmanuel Vadot "", "", "", "", 297*7d0873ebSEmmanuel Vadot /* AA */ "CPU1_THERMTRIP_LATCH_N", "", "CPU1_PROCHOT_N", "", 298*7d0873ebSEmmanuel Vadot "", "", "IRQ_SMI_ACTIVE_N", "FM_BIOS_POST_CMPLT_N", 299*7d0873ebSEmmanuel Vadot /* AB */ "", "", "ME_OVERRIDE", "BMC_DMI_MODIFY", "", "", "", "", 300*7d0873ebSEmmanuel Vadot /* AC */ "", "", "", "", "", "", "", ""; 301*7d0873ebSEmmanuel Vadot}; 302*7d0873ebSEmmanuel Vadot 303*7d0873ebSEmmanuel Vadot&adc { 304*7d0873ebSEmmanuel Vadot status = "okay"; 305*7d0873ebSEmmanuel Vadot pinctrl-names = "default"; 306*7d0873ebSEmmanuel Vadot pinctrl-0 = <&pinctrl_adc0_default /* 3VSB */ 307*7d0873ebSEmmanuel Vadot &pinctrl_adc1_default /* 5VSB */ 308*7d0873ebSEmmanuel Vadot &pinctrl_adc2_default /* CPU1 */ 309*7d0873ebSEmmanuel Vadot &pinctrl_adc3_default /* VCCSA */ 310*7d0873ebSEmmanuel Vadot &pinctrl_adc4_default /* VCCM */ 311*7d0873ebSEmmanuel Vadot &pinctrl_adc5_default /* V10M */ 312*7d0873ebSEmmanuel Vadot &pinctrl_adc6_default /* VCCIO */ 313*7d0873ebSEmmanuel Vadot &pinctrl_adc7_default /* VCCGT */ 314*7d0873ebSEmmanuel Vadot &pinctrl_adc8_default /* VPPM */ 315*7d0873ebSEmmanuel Vadot &pinctrl_adc9_default /* BAT */ 316*7d0873ebSEmmanuel Vadot &pinctrl_adc10_default /* 3V */ 317*7d0873ebSEmmanuel Vadot &pinctrl_adc11_default /* 5V */ 318*7d0873ebSEmmanuel Vadot &pinctrl_adc12_default /* 12V */ 319*7d0873ebSEmmanuel Vadot &pinctrl_adc13_default /* GND */ 320*7d0873ebSEmmanuel Vadot &pinctrl_adc14_default /* GND */ 321*7d0873ebSEmmanuel Vadot &pinctrl_adc15_default>; /* GND */ 322*7d0873ebSEmmanuel Vadot}; 323