1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2*f126890aSEmmanuel Vadot/dts-v1/; 3*f126890aSEmmanuel Vadot 4*f126890aSEmmanuel Vadot#include "aspeed-g5.dtsi" 5*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/aspeed-gpio.h> 6*f126890aSEmmanuel Vadot#include <dt-bindings/i2c/i2c.h> 7*f126890aSEmmanuel Vadot#include <dt-bindings/interrupt-controller/irq.h> 8*f126890aSEmmanuel Vadot 9*f126890aSEmmanuel Vadot/{ 10*f126890aSEmmanuel Vadot model = "ASRock E3C246D4I BMC"; 11*f126890aSEmmanuel Vadot compatible = "asrock,e3c246d4i-bmc", "aspeed,ast2500"; 12*f126890aSEmmanuel Vadot 13*f126890aSEmmanuel Vadot aliases { 14*f126890aSEmmanuel Vadot serial4 = &uart5; 15*f126890aSEmmanuel Vadot }; 16*f126890aSEmmanuel Vadot 17*f126890aSEmmanuel Vadot chosen { 18*f126890aSEmmanuel Vadot stdout-path = &uart5; 19*f126890aSEmmanuel Vadot bootargs = "console=tty0 console=ttyS4,115200 earlycon"; 20*f126890aSEmmanuel Vadot }; 21*f126890aSEmmanuel Vadot 22*f126890aSEmmanuel Vadot memory@80000000 { 23*f126890aSEmmanuel Vadot reg = <0x80000000 0x20000000>; 24*f126890aSEmmanuel Vadot }; 25*f126890aSEmmanuel Vadot 26*f126890aSEmmanuel Vadot leds { 27*f126890aSEmmanuel Vadot compatible = "gpio-leds"; 28*f126890aSEmmanuel Vadot 29*f126890aSEmmanuel Vadot heartbeat { 30*f126890aSEmmanuel Vadot /* BMC_HB_LED_N */ 31*f126890aSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>; 32*f126890aSEmmanuel Vadot linux,default-trigger = "timer"; 33*f126890aSEmmanuel Vadot }; 34*f126890aSEmmanuel Vadot 35*f126890aSEmmanuel Vadot system-fault { 36*f126890aSEmmanuel Vadot /* SYSTEM_FAULT_LED_N */ 37*f126890aSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>; 38*f126890aSEmmanuel Vadot panic-indicator; 39*f126890aSEmmanuel Vadot }; 40*f126890aSEmmanuel Vadot }; 41*f126890aSEmmanuel Vadot 42*f126890aSEmmanuel Vadot gpio-keys { 43*f126890aSEmmanuel Vadot compatible = "gpio-keys"; 44*f126890aSEmmanuel Vadot 45*f126890aSEmmanuel Vadot uid-button { 46*f126890aSEmmanuel Vadot label = "uid-button"; 47*f126890aSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(F, 1) GPIO_ACTIVE_LOW>; 48*f126890aSEmmanuel Vadot linux,code = <ASPEED_GPIO(F, 1)>; 49*f126890aSEmmanuel Vadot }; 50*f126890aSEmmanuel Vadot }; 51*f126890aSEmmanuel Vadot 52*f126890aSEmmanuel Vadot iio-hwmon { 53*f126890aSEmmanuel Vadot compatible = "iio-hwmon"; 54*f126890aSEmmanuel Vadot io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>, 55*f126890aSEmmanuel Vadot <&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>, <&adc 9>, 56*f126890aSEmmanuel Vadot <&adc 10>, <&adc 11>, <&adc 12>; 57*f126890aSEmmanuel Vadot }; 58*f126890aSEmmanuel Vadot}; 59*f126890aSEmmanuel Vadot 60*f126890aSEmmanuel Vadot&fmc { 61*f126890aSEmmanuel Vadot status = "okay"; 62*f126890aSEmmanuel Vadot flash@0 { 63*f126890aSEmmanuel Vadot status = "okay"; 64*f126890aSEmmanuel Vadot m25p,fast-read; 65*f126890aSEmmanuel Vadot label = "bmc"; 66*f126890aSEmmanuel Vadot spi-max-frequency = <50000000>; /* 50 MHz */ 67*f126890aSEmmanuel Vadot#include "openbmc-flash-layout.dtsi" 68*f126890aSEmmanuel Vadot }; 69*f126890aSEmmanuel Vadot}; 70*f126890aSEmmanuel Vadot 71*f126890aSEmmanuel Vadot&uart5 { 72*f126890aSEmmanuel Vadot status = "okay"; 73*f126890aSEmmanuel Vadot}; 74*f126890aSEmmanuel Vadot 75*f126890aSEmmanuel Vadot&vuart { 76*f126890aSEmmanuel Vadot status = "okay"; 77*f126890aSEmmanuel Vadot aspeed,lpc-io-reg = <0x2f8>; 78*f126890aSEmmanuel Vadot aspeed,lpc-interrupts = <3 IRQ_TYPE_LEVEL_HIGH>; 79*f126890aSEmmanuel Vadot}; 80*f126890aSEmmanuel Vadot 81*f126890aSEmmanuel Vadot&mac0 { 82*f126890aSEmmanuel Vadot status = "okay"; 83*f126890aSEmmanuel Vadot 84*f126890aSEmmanuel Vadot pinctrl-names = "default"; 85*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>; 86*f126890aSEmmanuel Vadot}; 87*f126890aSEmmanuel Vadot 88*f126890aSEmmanuel Vadot&i2c1 { 89*f126890aSEmmanuel Vadot status = "okay"; 90*f126890aSEmmanuel Vadot 91*f126890aSEmmanuel Vadot /* thermal sensor, one diode run to a disconnected header */ 92*f126890aSEmmanuel Vadot w83773g@4c { 93*f126890aSEmmanuel Vadot compatible = "nuvoton,w83773g"; 94*f126890aSEmmanuel Vadot reg = <0x4c>; 95*f126890aSEmmanuel Vadot }; 96*f126890aSEmmanuel Vadot}; 97*f126890aSEmmanuel Vadot 98*f126890aSEmmanuel Vadot&i2c3 { 99*f126890aSEmmanuel Vadot status = "okay"; 100*f126890aSEmmanuel Vadot 101*f126890aSEmmanuel Vadot /* FRU EEPROM */ 102*f126890aSEmmanuel Vadot eeprom@57 { 103*f126890aSEmmanuel Vadot compatible = "st,24c128", "atmel,24c128"; 104*f126890aSEmmanuel Vadot reg = <0x57>; 105*f126890aSEmmanuel Vadot pagesize = <16>; 106*f126890aSEmmanuel Vadot }; 107*f126890aSEmmanuel Vadot}; 108*f126890aSEmmanuel Vadot 109*f126890aSEmmanuel Vadot&video { 110*f126890aSEmmanuel Vadot status = "okay"; 111*f126890aSEmmanuel Vadot}; 112*f126890aSEmmanuel Vadot 113*f126890aSEmmanuel Vadot&vhub { 114*f126890aSEmmanuel Vadot status = "okay"; 115*f126890aSEmmanuel Vadot}; 116*f126890aSEmmanuel Vadot 117*f126890aSEmmanuel Vadot&lpc_ctrl { 118*f126890aSEmmanuel Vadot status = "okay"; 119*f126890aSEmmanuel Vadot}; 120*f126890aSEmmanuel Vadot 121*f126890aSEmmanuel Vadot&lpc_snoop { 122*f126890aSEmmanuel Vadot status = "okay"; 123*f126890aSEmmanuel Vadot snoop-ports = <0x80>; 124*f126890aSEmmanuel Vadot}; 125*f126890aSEmmanuel Vadot 126*f126890aSEmmanuel Vadot&gpio { 127*f126890aSEmmanuel Vadot status = "okay"; 128*f126890aSEmmanuel Vadot gpio-line-names = 129*f126890aSEmmanuel Vadot /* A */ "BMC_MAC1_INTB", "BMC_MAC2_INTB", "NMI_BTN_N", "BMC_NMI", 130*f126890aSEmmanuel Vadot "", "", "", "", 131*f126890aSEmmanuel Vadot /* B */ "", "", "", "", "", "IRQ_BMC_PCH_SMI_LPC_N", "", "", 132*f126890aSEmmanuel Vadot /* C */ "", "", "", "", "", "", "", "", 133*f126890aSEmmanuel Vadot /* D */ "BMC_PSIN", "BMC_PSOUT", "BMC_RESETCON", "RESETCON", 134*f126890aSEmmanuel Vadot "", "", "", "", 135*f126890aSEmmanuel Vadot /* E */ "", "", "", "", "", "", "", "", 136*f126890aSEmmanuel Vadot /* F */ "LOCATORLED_STATUS_N", "LOCATORBTN", "", "", 137*f126890aSEmmanuel Vadot "", "", "BMC_PCH_SCI_LPC", "BMC_NCSI_MUX_CTL", 138*f126890aSEmmanuel Vadot /* G */ "HWM_BAT_EN", "CHASSIS_ID0", "CHASSIS_ID1", "CHASSIS_ID2", 139*f126890aSEmmanuel Vadot "BMC_ALERT1_N_R", "BMC_ALERT2_N_R", "BMC_ALERT3_N", "SML0ALERT", 140*f126890aSEmmanuel Vadot /* H */ "FM_ME_RCVR_N", "O_PWROK", "SKL_CNL_R", "D4_DIMM_EVENT_3V_N", 141*f126890aSEmmanuel Vadot "MFG_MODE_N", "BMC_RTCRST", "BMC_HB_LED_N", "BMC_CASEOPEN", 142*f126890aSEmmanuel Vadot /* I */ "", "", "", "", "", "", "", "", 143*f126890aSEmmanuel Vadot /* J */ "BMC_READY", "BMC_PCH_BIOS_CS_N", "BMC_SMI", "", 144*f126890aSEmmanuel Vadot "", "", "", "", 145*f126890aSEmmanuel Vadot /* K */ "", "", "", "", "", "", "", "", 146*f126890aSEmmanuel Vadot /* L */ "BMC_CTS1", "BMC_DCD1", "BMC_DSR1", "BMC_RI1", 147*f126890aSEmmanuel Vadot "BMC_DTR1", "BMC_RTS1", "BMC_TXD1", "BMC_RXD1", 148*f126890aSEmmanuel Vadot /* M */ "BMC_LAN0_DIS_N", "BMC_LAN1_DIS_N", "", "", 149*f126890aSEmmanuel Vadot "", "", "", "", 150*f126890aSEmmanuel Vadot /* N */ "", "", "", "", "", "", "", "", 151*f126890aSEmmanuel Vadot /* O */ "", "", "", "", "", "", "", "", 152*f126890aSEmmanuel Vadot /* P */ "", "", "", "", "", "", "", "", 153*f126890aSEmmanuel Vadot /* Q */ "", "", "", "", 154*f126890aSEmmanuel Vadot "BMC_SBM_PRESENT_1_N", "BMC_SBM_PRESENT_2_N", 155*f126890aSEmmanuel Vadot "BMC_SBM_PRESENT_3_N", "BMC_PCIE_WAKE_N", 156*f126890aSEmmanuel Vadot /* R */ "", "", "", "", "", "", "", "", 157*f126890aSEmmanuel Vadot /* S */ "PCHHOT_BMC_N", "", "RSMRST", 158*f126890aSEmmanuel Vadot "", "", "", "", "", 159*f126890aSEmmanuel Vadot /* T */ "", "", "", "", "", "", "", "", 160*f126890aSEmmanuel Vadot /* U */ "", "", "", "", "", "", "", "", 161*f126890aSEmmanuel Vadot /* V */ "", "", "", "", "", "", "", "", 162*f126890aSEmmanuel Vadot /* W */ "PS_PWROK", /* dummy always-high signal */ 163*f126890aSEmmanuel Vadot "", "", "", "", "", "", "", 164*f126890aSEmmanuel Vadot /* X */ "", "", "", "", "", "", "", "", 165*f126890aSEmmanuel Vadot /* Y */ "SLP_S3", "SLP_S5", "", "", "", "", "", "", 166*f126890aSEmmanuel Vadot /* Z */ "CPU_CATERR_BMC_PCH_N", "", "SYSTEM_FAULT_LED_N", "BMC_THROTTLE_N", 167*f126890aSEmmanuel Vadot "", "", "", "", 168*f126890aSEmmanuel Vadot /* AA */ "CPU1_THERMTRIP_LATCH_N", "", "CPU1_PROCHOT_N", "", 169*f126890aSEmmanuel Vadot "", "", "IRQ_SMI_ACTIVE_N", "FM_BIOS_POST_CMPLT_N", 170*f126890aSEmmanuel Vadot /* AB */ "", "", "ME_OVERRIDE", "BMC_DMI_MODIFY", 171*f126890aSEmmanuel Vadot "", "", "", "", 172*f126890aSEmmanuel Vadot /* AC */ "LAD0", "LAD1", "LAD2", "LAD3", 173*f126890aSEmmanuel Vadot "CK_33M_BMC", "LFRAME", "SERIRQ", "S_PLTRST"; 174*f126890aSEmmanuel Vadot 175*f126890aSEmmanuel Vadot /* Assert BMC_READY so BIOS doesn't sit around waiting for it */ 176*f126890aSEmmanuel Vadot bmc-ready { 177*f126890aSEmmanuel Vadot gpio-hog; 178*f126890aSEmmanuel Vadot gpios = <ASPEED_GPIO(J, 0) GPIO_ACTIVE_LOW>; 179*f126890aSEmmanuel Vadot output-high; 180*f126890aSEmmanuel Vadot }; 181*f126890aSEmmanuel Vadot}; 182*f126890aSEmmanuel Vadot 183*f126890aSEmmanuel Vadot&adc { 184*f126890aSEmmanuel Vadot status = "okay"; 185*f126890aSEmmanuel Vadot pinctrl-names = "default"; 186*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_adc0_default 187*f126890aSEmmanuel Vadot &pinctrl_adc1_default 188*f126890aSEmmanuel Vadot &pinctrl_adc2_default 189*f126890aSEmmanuel Vadot &pinctrl_adc3_default 190*f126890aSEmmanuel Vadot &pinctrl_adc4_default 191*f126890aSEmmanuel Vadot &pinctrl_adc5_default 192*f126890aSEmmanuel Vadot &pinctrl_adc6_default 193*f126890aSEmmanuel Vadot &pinctrl_adc7_default 194*f126890aSEmmanuel Vadot &pinctrl_adc8_default 195*f126890aSEmmanuel Vadot &pinctrl_adc9_default 196*f126890aSEmmanuel Vadot &pinctrl_adc10_default 197*f126890aSEmmanuel Vadot &pinctrl_adc11_default 198*f126890aSEmmanuel Vadot &pinctrl_adc12_default>; 199*f126890aSEmmanuel Vadot}; 200*f126890aSEmmanuel Vadot 201*f126890aSEmmanuel Vadot&kcs3 { 202*f126890aSEmmanuel Vadot status = "okay"; 203*f126890aSEmmanuel Vadot aspeed,lpc-io-reg = <0xca2>; 204*f126890aSEmmanuel Vadot}; 205*f126890aSEmmanuel Vadot 206*f126890aSEmmanuel Vadot&peci0 { 207*f126890aSEmmanuel Vadot status = "okay"; 208*f126890aSEmmanuel Vadot}; 209