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