1*724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0 2*724ba675SRob Herring// Copyright (c) 2020 AMD Inc. 3*724ba675SRob Herring// Author: Supreeth Venkatesh <supreeth.venkatesh@amd.com> 4*724ba675SRob Herring/dts-v1/; 5*724ba675SRob Herring 6*724ba675SRob Herring#include "aspeed-g5.dtsi" 7*724ba675SRob Herring#include <dt-bindings/gpio/aspeed-gpio.h> 8*724ba675SRob Herring#include <dt-bindings/interrupt-controller/irq.h> 9*724ba675SRob Herring 10*724ba675SRob Herring/ { 11*724ba675SRob Herring model = "AMD EthanolX BMC"; 12*724ba675SRob Herring compatible = "amd,ethanolx-bmc", "aspeed,ast2500"; 13*724ba675SRob Herring 14*724ba675SRob Herring memory@80000000 { 15*724ba675SRob Herring reg = <0x80000000 0x20000000>; 16*724ba675SRob Herring }; 17*724ba675SRob Herring 18*724ba675SRob Herring reserved-memory { 19*724ba675SRob Herring #address-cells = <1>; 20*724ba675SRob Herring #size-cells = <1>; 21*724ba675SRob Herring ranges; 22*724ba675SRob Herring 23*724ba675SRob Herring video_engine_memory: jpegbuffer { 24*724ba675SRob Herring size = <0x02000000>; /* 32M */ 25*724ba675SRob Herring alignment = <0x01000000>; 26*724ba675SRob Herring compatible = "shared-dma-pool"; 27*724ba675SRob Herring reusable; 28*724ba675SRob Herring }; 29*724ba675SRob Herring }; 30*724ba675SRob Herring 31*724ba675SRob Herring 32*724ba675SRob Herring aliases { 33*724ba675SRob Herring serial0 = &uart1; 34*724ba675SRob Herring serial4 = &uart5; 35*724ba675SRob Herring }; 36*724ba675SRob Herring chosen { 37*724ba675SRob Herring stdout-path = &uart5; 38*724ba675SRob Herring bootargs = "console=ttyS4,115200 earlycon"; 39*724ba675SRob Herring }; 40*724ba675SRob Herring leds { 41*724ba675SRob Herring compatible = "gpio-leds"; 42*724ba675SRob Herring 43*724ba675SRob Herring fault { 44*724ba675SRob Herring gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>; 45*724ba675SRob Herring }; 46*724ba675SRob Herring 47*724ba675SRob Herring identify { 48*724ba675SRob Herring gpios = <&gpio ASPEED_GPIO(A, 3) GPIO_ACTIVE_LOW>; 49*724ba675SRob Herring }; 50*724ba675SRob Herring }; 51*724ba675SRob Herring iio-hwmon { 52*724ba675SRob Herring compatible = "iio-hwmon"; 53*724ba675SRob Herring io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>; 54*724ba675SRob Herring }; 55*724ba675SRob Herring}; 56*724ba675SRob Herring 57*724ba675SRob Herring&fmc { 58*724ba675SRob Herring status = "okay"; 59*724ba675SRob Herring flash@0 { 60*724ba675SRob Herring status = "okay"; 61*724ba675SRob Herring m25p,fast-read; 62*724ba675SRob Herring label = "bmc"; 63*724ba675SRob Herring #include "openbmc-flash-layout.dtsi" 64*724ba675SRob Herring }; 65*724ba675SRob Herring}; 66*724ba675SRob Herring 67*724ba675SRob Herring&spi1 { 68*724ba675SRob Herring status = "okay"; 69*724ba675SRob Herring pinctrl-names = "default"; 70*724ba675SRob Herring pinctrl-0 = <&pinctrl_spi1_default>; 71*724ba675SRob Herring flash@0 { 72*724ba675SRob Herring status = "okay"; 73*724ba675SRob Herring m25p,fast-read; 74*724ba675SRob Herring label = "bios"; 75*724ba675SRob Herring spi-max-frequency = <100000000>; 76*724ba675SRob Herring }; 77*724ba675SRob Herring}; 78*724ba675SRob Herring 79*724ba675SRob Herring&mac0 { 80*724ba675SRob Herring status = "okay"; 81*724ba675SRob Herring 82*724ba675SRob Herring pinctrl-names = "default"; 83*724ba675SRob Herring pinctrl-0 = <&pinctrl_rmii1_default>; 84*724ba675SRob Herring clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>, 85*724ba675SRob Herring <&syscon ASPEED_CLK_MAC1RCLK>; 86*724ba675SRob Herring clock-names = "MACCLK", "RCLK"; 87*724ba675SRob Herring}; 88*724ba675SRob Herring 89*724ba675SRob Herring&uart1 { 90*724ba675SRob Herring //Host Console 91*724ba675SRob Herring status = "okay"; 92*724ba675SRob Herring pinctrl-names = "default"; 93*724ba675SRob Herring pinctrl-0 = <&pinctrl_txd1_default 94*724ba675SRob Herring &pinctrl_rxd1_default 95*724ba675SRob Herring &pinctrl_nrts1_default 96*724ba675SRob Herring &pinctrl_ncts1_default>; 97*724ba675SRob Herring}; 98*724ba675SRob Herring 99*724ba675SRob Herring&uart5 { 100*724ba675SRob Herring //BMC Console 101*724ba675SRob Herring status = "okay"; 102*724ba675SRob Herring}; 103*724ba675SRob Herring 104*724ba675SRob Herring&adc { 105*724ba675SRob Herring status = "okay"; 106*724ba675SRob Herring 107*724ba675SRob Herring pinctrl-names = "default"; 108*724ba675SRob Herring pinctrl-0 = <&pinctrl_adc0_default 109*724ba675SRob Herring &pinctrl_adc1_default 110*724ba675SRob Herring &pinctrl_adc2_default 111*724ba675SRob Herring &pinctrl_adc3_default 112*724ba675SRob Herring &pinctrl_adc4_default>; 113*724ba675SRob Herring}; 114*724ba675SRob Herring 115*724ba675SRob Herring&gpio { 116*724ba675SRob Herring status = "okay"; 117*724ba675SRob Herring gpio-line-names = 118*724ba675SRob Herring /*A0-A7*/ "","","FAULT_LED","CHASSIS_ID_LED","","","","", 119*724ba675SRob Herring /*B0-B7*/ "","","","","","","","", 120*724ba675SRob Herring /*C0-C7*/ "CHASSIS_ID_BTN","INTRUDER","AC_LOSS","","","","","", 121*724ba675SRob Herring /*D0-D7*/ "HDT_DBREQ","LOCAL_SPI_ROM_SEL","FPGA_SPI_ROM_SEL","JTAG_MUX_S", 122*724ba675SRob Herring "JTAG_MUX_OE","HDT_SEL","ASERT_WARM_RST_BTN","FPGA_RSVD", 123*724ba675SRob Herring /*E0-E7*/ "","","MON_P0_PWR_BTN","MON_P0_RST_BTN","MON_P0_NMI_BTN", 124*724ba675SRob Herring "MON_P0_PWR_GOOD","MON_PWROK","MON_RESET", 125*724ba675SRob Herring /*F0-F7*/ "MON_P0_PROCHOT","MON_P1_PROCHOT","MON_P0_THERMTRIP", 126*724ba675SRob Herring "MON_P1_THERMTRIP","P0_PRESENT","P1_PRESENT","MON_ATX_PWR_OK","", 127*724ba675SRob Herring /*G0-G7*/ "BRD_REV_ID_3","BRD_REV_ID_2","BRD_REV_ID_1","BRD_REV_ID_0", 128*724ba675SRob Herring "P0_APML_ALERT","P1_APML_ALERT","FPGA ALERT","", 129*724ba675SRob Herring /*H0-H7*/ "BRD_ID_0","BRD_ID_1","BRD_ID_2","BRD_ID_3", 130*724ba675SRob Herring "PCIE_DISCONNECTED","USB_DISCONNECTED","SPARE_0","SPARE_1", 131*724ba675SRob Herring /*I0-I7*/ "","","","","","","","", 132*724ba675SRob Herring /*J0-J7*/ "","","","","","","","", 133*724ba675SRob Herring /*K0-K7*/ "","","","","","","","", 134*724ba675SRob Herring /*L0-L7*/ "","","","","","","","", 135*724ba675SRob Herring /*M0-M7*/ "ASSERT_PWR_BTN","ASSERT_RST_BTN","ASSERT_NMI_BTN", 136*724ba675SRob Herring "ASSERT_LOCAL_LOCK","ASSERT_P0_PROCHOT","ASSERT_P1_PROCHOT", 137*724ba675SRob Herring "ASSERT_CLR_CMOS","ASSERT_BMC_READY", 138*724ba675SRob Herring /*N0-N7*/ "","","","","","","","", 139*724ba675SRob Herring /*O0-O7*/ "","","","","","","","", 140*724ba675SRob Herring /*P0-P7*/ "P0_VDD_CORE_RUN_VRHOT","P0_VDD_SOC_RUN_VRHOT", 141*724ba675SRob Herring "P0_VDD_MEM_ABCD_SUS_VRHOT","P0_VDD_MEM_EFGH_SUS_VRHOT", 142*724ba675SRob Herring "P1_VDD_CORE_RUN_VRHOT","P1_VDD_SOC_RUN_VRHOT", 143*724ba675SRob Herring "P1_VDD_MEM_ABCD_SUS_VRHOT","P1_VDD_MEM_EFGH_SUS_VRHOT", 144*724ba675SRob Herring /*Q0-Q7*/ "","","","","","","","", 145*724ba675SRob Herring /*R0-R7*/ "","","","","","","","", 146*724ba675SRob Herring /*S0-S7*/ "","","","","","","","", 147*724ba675SRob Herring /*T0-T7*/ "","","","","","","","", 148*724ba675SRob Herring /*U0-U7*/ "","","","","","","","", 149*724ba675SRob Herring /*V0-V7*/ "","","","","","","","", 150*724ba675SRob Herring /*W0-W7*/ "","","","","","","","", 151*724ba675SRob Herring /*X0-X7*/ "","","","","","","","", 152*724ba675SRob Herring /*Y0-Y7*/ "","","","","","","","", 153*724ba675SRob Herring /*Z0-Z7*/ "","","","","","","","", 154*724ba675SRob Herring /*AA0-AA7*/ "","SENSOR THERM","","","","","","", 155*724ba675SRob Herring /*AB0-AB7*/ "","","","","","","","", 156*724ba675SRob Herring /*AC0-AC7*/ "","","","","","","",""; 157*724ba675SRob Herring}; 158*724ba675SRob Herring 159*724ba675SRob Herring//APML for P0 160*724ba675SRob Herring&i2c0 { 161*724ba675SRob Herring status = "okay"; 162*724ba675SRob Herring}; 163*724ba675SRob Herring 164*724ba675SRob Herring//APML for P1 165*724ba675SRob Herring&i2c1 { 166*724ba675SRob Herring status = "okay"; 167*724ba675SRob Herring}; 168*724ba675SRob Herring 169*724ba675SRob Herring//FPGA 170*724ba675SRob Herring&i2c2 { 171*724ba675SRob Herring status = "okay"; 172*724ba675SRob Herring}; 173*724ba675SRob Herring 174*724ba675SRob Herring//24LC128 EEPROM 175*724ba675SRob Herring&i2c3 { 176*724ba675SRob Herring status = "okay"; 177*724ba675SRob Herring eeprom@50 { 178*724ba675SRob Herring compatible = "atmel,24c128"; 179*724ba675SRob Herring reg = <0x50>; 180*724ba675SRob Herring pagesize = <64>; 181*724ba675SRob Herring }; 182*724ba675SRob Herring}; 183*724ba675SRob Herring 184*724ba675SRob Herring//P0 Power regulators 185*724ba675SRob Herring&i2c4 { 186*724ba675SRob Herring status = "okay"; 187*724ba675SRob Herring}; 188*724ba675SRob Herring 189*724ba675SRob Herring//P1 Power regulators 190*724ba675SRob Herring&i2c5 { 191*724ba675SRob Herring status = "okay"; 192*724ba675SRob Herring}; 193*724ba675SRob Herring 194*724ba675SRob Herring//P0/P1 Thermal diode 195*724ba675SRob Herring&i2c6 { 196*724ba675SRob Herring status = "okay"; 197*724ba675SRob Herring}; 198*724ba675SRob Herring 199*724ba675SRob Herring// Thermal Sensors 200*724ba675SRob Herring&i2c7 { 201*724ba675SRob Herring status = "okay"; 202*724ba675SRob Herring 203*724ba675SRob Herring lm75a@48 { 204*724ba675SRob Herring compatible = "national,lm75a"; 205*724ba675SRob Herring reg = <0x48>; 206*724ba675SRob Herring }; 207*724ba675SRob Herring 208*724ba675SRob Herring lm75a@49 { 209*724ba675SRob Herring compatible = "national,lm75a"; 210*724ba675SRob Herring reg = <0x49>; 211*724ba675SRob Herring }; 212*724ba675SRob Herring 213*724ba675SRob Herring lm75a@4a { 214*724ba675SRob Herring compatible = "national,lm75a"; 215*724ba675SRob Herring reg = <0x4a>; 216*724ba675SRob Herring }; 217*724ba675SRob Herring 218*724ba675SRob Herring lm75a@4b { 219*724ba675SRob Herring compatible = "national,lm75a"; 220*724ba675SRob Herring reg = <0x4b>; 221*724ba675SRob Herring }; 222*724ba675SRob Herring 223*724ba675SRob Herring lm75a@4c { 224*724ba675SRob Herring compatible = "national,lm75a"; 225*724ba675SRob Herring reg = <0x4c>; 226*724ba675SRob Herring }; 227*724ba675SRob Herring 228*724ba675SRob Herring lm75a@4d { 229*724ba675SRob Herring compatible = "national,lm75a"; 230*724ba675SRob Herring reg = <0x4d>; 231*724ba675SRob Herring }; 232*724ba675SRob Herring 233*724ba675SRob Herring lm75a@4e { 234*724ba675SRob Herring compatible = "national,lm75a"; 235*724ba675SRob Herring reg = <0x4e>; 236*724ba675SRob Herring }; 237*724ba675SRob Herring 238*724ba675SRob Herring lm75a@4f { 239*724ba675SRob Herring compatible = "national,lm75a"; 240*724ba675SRob Herring reg = <0x4f>; 241*724ba675SRob Herring }; 242*724ba675SRob Herring}; 243*724ba675SRob Herring 244*724ba675SRob Herring//BMC I2C 245*724ba675SRob Herring&i2c8 { 246*724ba675SRob Herring status = "okay"; 247*724ba675SRob Herring}; 248*724ba675SRob Herring 249*724ba675SRob Herring&kcs1 { 250*724ba675SRob Herring status = "okay"; 251*724ba675SRob Herring aspeed,lpc-io-reg = <0x60>; 252*724ba675SRob Herring}; 253*724ba675SRob Herring 254*724ba675SRob Herring&kcs2 { 255*724ba675SRob Herring status = "okay"; 256*724ba675SRob Herring aspeed,lpc-io-reg = <0x62>; 257*724ba675SRob Herring}; 258*724ba675SRob Herring 259*724ba675SRob Herring&kcs3 { 260*724ba675SRob Herring status = "okay"; 261*724ba675SRob Herring aspeed,lpc-io-reg = <0xCA2>; 262*724ba675SRob Herring}; 263*724ba675SRob Herring 264*724ba675SRob Herring&kcs4 { 265*724ba675SRob Herring status = "okay"; 266*724ba675SRob Herring aspeed,lpc-io-reg = <0x97DE>; 267*724ba675SRob Herring}; 268*724ba675SRob Herring 269*724ba675SRob Herring&lpc_snoop { 270*724ba675SRob Herring status = "okay"; 271*724ba675SRob Herring snoop-ports = <0x80>, <0x81>; 272*724ba675SRob Herring}; 273*724ba675SRob Herring 274*724ba675SRob Herring&lpc_ctrl { 275*724ba675SRob Herring //Enable lpc clock 276*724ba675SRob Herring status = "okay"; 277*724ba675SRob Herring}; 278*724ba675SRob Herring 279*724ba675SRob Herring&vuart { 280*724ba675SRob Herring status = "okay"; 281*724ba675SRob Herring aspeed,lpc-io-reg = <0x3f8>; 282*724ba675SRob Herring aspeed,lpc-interrupts = <4 IRQ_TYPE_LEVEL_HIGH>; 283*724ba675SRob Herring}; 284*724ba675SRob Herring 285*724ba675SRob Herring&pwm_tacho { 286*724ba675SRob Herring status = "okay"; 287*724ba675SRob Herring pinctrl-names = "default"; 288*724ba675SRob Herring pinctrl-0 = <&pinctrl_pwm0_default 289*724ba675SRob Herring &pinctrl_pwm1_default 290*724ba675SRob Herring &pinctrl_pwm2_default 291*724ba675SRob Herring &pinctrl_pwm3_default 292*724ba675SRob Herring &pinctrl_pwm4_default 293*724ba675SRob Herring &pinctrl_pwm5_default 294*724ba675SRob Herring &pinctrl_pwm6_default 295*724ba675SRob Herring &pinctrl_pwm7_default>; 296*724ba675SRob Herring 297*724ba675SRob Herring fan@0 { 298*724ba675SRob Herring reg = <0x00>; 299*724ba675SRob Herring aspeed,fan-tach-ch = /bits/ 8 <0x00>; 300*724ba675SRob Herring }; 301*724ba675SRob Herring 302*724ba675SRob Herring fan@1 { 303*724ba675SRob Herring reg = <0x01>; 304*724ba675SRob Herring aspeed,fan-tach-ch = /bits/ 8 <0x01>; 305*724ba675SRob Herring }; 306*724ba675SRob Herring 307*724ba675SRob Herring fan@2 { 308*724ba675SRob Herring reg = <0x02>; 309*724ba675SRob Herring aspeed,fan-tach-ch = /bits/ 8 <0x02>; 310*724ba675SRob Herring }; 311*724ba675SRob Herring 312*724ba675SRob Herring fan@3 { 313*724ba675SRob Herring reg = <0x03>; 314*724ba675SRob Herring aspeed,fan-tach-ch = /bits/ 8 <0x03>; 315*724ba675SRob Herring }; 316*724ba675SRob Herring 317*724ba675SRob Herring fan@4 { 318*724ba675SRob Herring reg = <0x04>; 319*724ba675SRob Herring aspeed,fan-tach-ch = /bits/ 8 <0x04>; 320*724ba675SRob Herring }; 321*724ba675SRob Herring 322*724ba675SRob Herring fan@5 { 323*724ba675SRob Herring reg = <0x05>; 324*724ba675SRob Herring aspeed,fan-tach-ch = /bits/ 8 <0x05>; 325*724ba675SRob Herring }; 326*724ba675SRob Herring 327*724ba675SRob Herring fan@6 { 328*724ba675SRob Herring reg = <0x06>; 329*724ba675SRob Herring aspeed,fan-tach-ch = /bits/ 8 <0x06>; 330*724ba675SRob Herring }; 331*724ba675SRob Herring 332*724ba675SRob Herring fan@7 { 333*724ba675SRob Herring reg = <0x07>; 334*724ba675SRob Herring aspeed,fan-tach-ch = /bits/ 8 <0x07>; 335*724ba675SRob Herring }; 336*724ba675SRob Herring}; 337*724ba675SRob Herring 338*724ba675SRob Herring&video { 339*724ba675SRob Herring status = "okay"; 340*724ba675SRob Herring memory-region = <&video_engine_memory>; 341*724ba675SRob Herring}; 342*724ba675SRob Herring 343*724ba675SRob Herring&vhub { 344*724ba675SRob Herring status = "okay"; 345*724ba675SRob Herring}; 346*724ba675SRob Herring 347