1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0+ 2*4882a593Smuzhiyun// Copyright (c) 2018 Inventec Corporation 3*4882a593Smuzhiyun/dts-v1/; 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun#include "aspeed-g5.dtsi" 6*4882a593Smuzhiyun#include <dt-bindings/gpio/aspeed-gpio.h> 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun/ { 9*4882a593Smuzhiyun model = "Lanyang BMC"; 10*4882a593Smuzhiyun compatible = "inventec,lanyang-bmc", "aspeed,ast2500"; 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun chosen { 13*4882a593Smuzhiyun stdout-path = &uart5; 14*4882a593Smuzhiyun bootargs = "console=ttyS4,115200 earlyprintk"; 15*4882a593Smuzhiyun }; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun memory@80000000 { 18*4882a593Smuzhiyun reg = <0x80000000 0x40000000>; 19*4882a593Smuzhiyun }; 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun reserved-memory { 22*4882a593Smuzhiyun #address-cells = <1>; 23*4882a593Smuzhiyun #size-cells = <1>; 24*4882a593Smuzhiyun ranges; 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun flash_memory: region@98000000 { 27*4882a593Smuzhiyun no-map; 28*4882a593Smuzhiyun reg = <0x98000000 0x04000000>; /* 64M */ 29*4882a593Smuzhiyun }; 30*4882a593Smuzhiyun }; 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun leds { 33*4882a593Smuzhiyun compatible = "gpio-leds"; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun sys_boot_status { 36*4882a593Smuzhiyun label = "System_boot_status"; 37*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(B, 6) GPIO_ACTIVE_LOW>; 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun attention { 41*4882a593Smuzhiyun label = "Attention_locator"; 42*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(B, 7) GPIO_ACTIVE_HIGH>; 43*4882a593Smuzhiyun }; 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun plt_fault { 46*4882a593Smuzhiyun label = "Platform_fault"; 47*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(B, 1) GPIO_ACTIVE_HIGH>; 48*4882a593Smuzhiyun }; 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun hdd_fault { 51*4882a593Smuzhiyun label = "Onboard_drive_fault"; 52*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(B, 3) GPIO_ACTIVE_HIGH>; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun bmc_err { 55*4882a593Smuzhiyun lable = "BMC_fault"; 56*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>; 57*4882a593Smuzhiyun }; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun sys_err { 60*4882a593Smuzhiyun lable = "Sys_fault"; 61*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(H, 7) GPIO_ACTIVE_HIGH>; 62*4882a593Smuzhiyun }; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun fsi: gpio-fsi { 66*4882a593Smuzhiyun compatible = "fsi-master-gpio", "fsi-master"; 67*4882a593Smuzhiyun #address-cells = <2>; 68*4882a593Smuzhiyun #size-cells = <0>; 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun clock-gpios = <&gpio ASPEED_GPIO(J, 0) GPIO_ACTIVE_HIGH>; 71*4882a593Smuzhiyun data-gpios = <&gpio ASPEED_GPIO(J, 1) GPIO_ACTIVE_HIGH>; 72*4882a593Smuzhiyun trans-gpios = <&gpio ASPEED_GPIO(D, 5) GPIO_ACTIVE_HIGH>; 73*4882a593Smuzhiyun enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>; 74*4882a593Smuzhiyun mux-gpios = <&gpio ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>; 75*4882a593Smuzhiyun }; 76*4882a593Smuzhiyun 77*4882a593Smuzhiyun iio-hwmon { 78*4882a593Smuzhiyun compatible = "iio-hwmon"; 79*4882a593Smuzhiyun io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, 80*4882a593Smuzhiyun <&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>, 81*4882a593Smuzhiyun <&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>, 82*4882a593Smuzhiyun <&adc 13>, <&adc 14>, <&adc 15>; 83*4882a593Smuzhiyun }; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun iio-hwmon-battery { 86*4882a593Smuzhiyun compatible = "iio-hwmon"; 87*4882a593Smuzhiyun io-channels = <&adc 12>; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun}; 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun&pwm_tacho { 92*4882a593Smuzhiyun status = "okay"; 93*4882a593Smuzhiyun pinctrl-names = "default"; 94*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default 95*4882a593Smuzhiyun &pinctrl_pwm2_default &pinctrl_pwm3_default>; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun fan@0 { 98*4882a593Smuzhiyun reg = <0x00>; 99*4882a593Smuzhiyun aspeed,fan-tach-ch = /bits/ 8 <0x00>; 100*4882a593Smuzhiyun }; 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun fan@1 { 103*4882a593Smuzhiyun reg = <0x01>; 104*4882a593Smuzhiyun aspeed,fan-tach-ch = /bits/ 8 <0x01>; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun 107*4882a593Smuzhiyun fan@2 { 108*4882a593Smuzhiyun reg = <0x02>; 109*4882a593Smuzhiyun aspeed,fan-tach-ch = /bits/ 8 <0x02>; 110*4882a593Smuzhiyun }; 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun fan@3 { 113*4882a593Smuzhiyun reg = <0x03>; 114*4882a593Smuzhiyun aspeed,fan-tach-ch = /bits/ 8 <0x03>; 115*4882a593Smuzhiyun }; 116*4882a593Smuzhiyun}; 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun&fmc { 119*4882a593Smuzhiyun status = "okay"; 120*4882a593Smuzhiyun flash@0 { 121*4882a593Smuzhiyun status = "okay"; 122*4882a593Smuzhiyun m25p,fast-read; 123*4882a593Smuzhiyun label = "bmc"; 124*4882a593Smuzhiyun#include "openbmc-flash-layout.dtsi" 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun}; 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun&spi1 { 129*4882a593Smuzhiyun status = "okay"; 130*4882a593Smuzhiyun pinctrl-names = "default"; 131*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_spi1_default>; 132*4882a593Smuzhiyun 133*4882a593Smuzhiyun flash@0 { 134*4882a593Smuzhiyun status = "okay"; 135*4882a593Smuzhiyun label = "pnor"; 136*4882a593Smuzhiyun m25p,fast-read; 137*4882a593Smuzhiyun }; 138*4882a593Smuzhiyun}; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun&spi2 { 141*4882a593Smuzhiyun status = "okay"; 142*4882a593Smuzhiyun pinctrl-names = "default"; 143*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_spi2ck_default 144*4882a593Smuzhiyun &pinctrl_spi2cs0_default 145*4882a593Smuzhiyun &pinctrl_spi2cs1_default 146*4882a593Smuzhiyun &pinctrl_spi2miso_default 147*4882a593Smuzhiyun &pinctrl_spi2mosi_default>; 148*4882a593Smuzhiyun 149*4882a593Smuzhiyun flash@0 { 150*4882a593Smuzhiyun status = "okay"; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun}; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun&uart1 { 155*4882a593Smuzhiyun status = "okay"; 156*4882a593Smuzhiyun pinctrl-names = "default"; 157*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_txd1_default 158*4882a593Smuzhiyun &pinctrl_rxd1_default>; 159*4882a593Smuzhiyun}; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun&lpc_ctrl { 162*4882a593Smuzhiyun status = "okay"; 163*4882a593Smuzhiyun memory-region = <&flash_memory>; 164*4882a593Smuzhiyun flash = <&spi1>; 165*4882a593Smuzhiyun}; 166*4882a593Smuzhiyun 167*4882a593Smuzhiyun&lpc_snoop { 168*4882a593Smuzhiyun status = "okay"; 169*4882a593Smuzhiyun snoop-ports = <0x80>; 170*4882a593Smuzhiyun}; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun&uart5 { 173*4882a593Smuzhiyun status = "okay"; 174*4882a593Smuzhiyun}; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun&mac0 { 177*4882a593Smuzhiyun status = "okay"; 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun pinctrl-names = "default"; 180*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_rmii1_default>; 181*4882a593Smuzhiyun clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>, 182*4882a593Smuzhiyun <&syscon ASPEED_CLK_MAC1RCLK>; 183*4882a593Smuzhiyun clock-names = "MACCLK", "RCLK"; 184*4882a593Smuzhiyun use-ncsi; 185*4882a593Smuzhiyun}; 186*4882a593Smuzhiyun 187*4882a593Smuzhiyun&mac1 { 188*4882a593Smuzhiyun status = "okay"; 189*4882a593Smuzhiyun 190*4882a593Smuzhiyun pinctrl-names = "default"; 191*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_rgmii2_default &pinctrl_mdio2_default>; 192*4882a593Smuzhiyun}; 193*4882a593Smuzhiyun 194*4882a593Smuzhiyun&i2c0 { 195*4882a593Smuzhiyun status = "okay"; 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun eeprom@55 { 198*4882a593Smuzhiyun compatible = "atmel,24c64"; 199*4882a593Smuzhiyun reg = <0x55>; 200*4882a593Smuzhiyun pagesize = <32>; 201*4882a593Smuzhiyun }; 202*4882a593Smuzhiyun 203*4882a593Smuzhiyun rtc@68 { 204*4882a593Smuzhiyun compatible = "nxp,pcf8523"; 205*4882a593Smuzhiyun reg = <0x68>; 206*4882a593Smuzhiyun }; 207*4882a593Smuzhiyun 208*4882a593Smuzhiyun tmp75@48 { 209*4882a593Smuzhiyun compatible = "ti,tmp75"; 210*4882a593Smuzhiyun reg = <0x48>; 211*4882a593Smuzhiyun }; 212*4882a593Smuzhiyun}; 213*4882a593Smuzhiyun 214*4882a593Smuzhiyun&i2c1 { 215*4882a593Smuzhiyun status = "okay"; 216*4882a593Smuzhiyun}; 217*4882a593Smuzhiyun 218*4882a593Smuzhiyun&i2c2 { 219*4882a593Smuzhiyun status = "okay"; 220*4882a593Smuzhiyun}; 221*4882a593Smuzhiyun 222*4882a593Smuzhiyun&i2c3 { 223*4882a593Smuzhiyun status = "okay"; 224*4882a593Smuzhiyun}; 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun&i2c4 { 227*4882a593Smuzhiyun status = "okay"; 228*4882a593Smuzhiyun}; 229*4882a593Smuzhiyun 230*4882a593Smuzhiyun&i2c5 { 231*4882a593Smuzhiyun status = "okay"; 232*4882a593Smuzhiyun}; 233*4882a593Smuzhiyun 234*4882a593Smuzhiyun&i2c6 { 235*4882a593Smuzhiyun status = "okay"; 236*4882a593Smuzhiyun}; 237*4882a593Smuzhiyun 238*4882a593Smuzhiyun&i2c7 { 239*4882a593Smuzhiyun status = "okay"; 240*4882a593Smuzhiyun}; 241*4882a593Smuzhiyun 242*4882a593Smuzhiyun&i2c8 { 243*4882a593Smuzhiyun status = "okay"; 244*4882a593Smuzhiyun}; 245*4882a593Smuzhiyun 246*4882a593Smuzhiyun&i2c9 { 247*4882a593Smuzhiyun status = "okay"; 248*4882a593Smuzhiyun}; 249*4882a593Smuzhiyun 250*4882a593Smuzhiyun&i2c10 { 251*4882a593Smuzhiyun status = "okay"; 252*4882a593Smuzhiyun}; 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun&i2c11 { 255*4882a593Smuzhiyun status = "okay"; 256*4882a593Smuzhiyun}; 257*4882a593Smuzhiyun 258*4882a593Smuzhiyun&vuart { 259*4882a593Smuzhiyun status = "okay"; 260*4882a593Smuzhiyun}; 261*4882a593Smuzhiyun 262*4882a593Smuzhiyun&gfx { 263*4882a593Smuzhiyun status = "okay"; 264*4882a593Smuzhiyun}; 265*4882a593Smuzhiyun 266*4882a593Smuzhiyun&pinctrl { 267*4882a593Smuzhiyun aspeed,external-nodes = <&gfx &lhc>; 268*4882a593Smuzhiyun}; 269*4882a593Smuzhiyun 270*4882a593Smuzhiyun&gpio { 271*4882a593Smuzhiyun pin_gpio_b0 { 272*4882a593Smuzhiyun gpio-hog; 273*4882a593Smuzhiyun gpios = <ASPEED_GPIO(B, 0) GPIO_ACTIVE_HIGH>; 274*4882a593Smuzhiyun output-high; 275*4882a593Smuzhiyun line-name = "BMC_HDD1_PWR_EN"; 276*4882a593Smuzhiyun }; 277*4882a593Smuzhiyun 278*4882a593Smuzhiyun pin_gpio_b5 { 279*4882a593Smuzhiyun gpio-hog; 280*4882a593Smuzhiyun gpios = <ASPEED_GPIO(B, 5) GPIO_ACTIVE_HIGH>; 281*4882a593Smuzhiyun input; 282*4882a593Smuzhiyun line-name = "BMC_USB1_OCI2"; 283*4882a593Smuzhiyun }; 284*4882a593Smuzhiyun 285*4882a593Smuzhiyun pin_gpio_h5 { 286*4882a593Smuzhiyun gpio-hog; 287*4882a593Smuzhiyun gpios = <ASPEED_GPIO(H, 5) GPIO_ACTIVE_HIGH>; 288*4882a593Smuzhiyun output-high; 289*4882a593Smuzhiyun line-name = "BMC_CP0_PERST_ENABLE_R"; 290*4882a593Smuzhiyun }; 291*4882a593Smuzhiyun 292*4882a593Smuzhiyun pin_gpio_z2 { 293*4882a593Smuzhiyun gpio-hog; 294*4882a593Smuzhiyun gpios = <ASPEED_GPIO(Z, 2) GPIO_ACTIVE_HIGH>; 295*4882a593Smuzhiyun output-high; 296*4882a593Smuzhiyun line-name = "RST_PCA9546_U177_N"; 297*4882a593Smuzhiyun }; 298*4882a593Smuzhiyun 299*4882a593Smuzhiyun pin_gpio_aa6 { 300*4882a593Smuzhiyun gpio-hog; 301*4882a593Smuzhiyun gpios = <ASPEED_GPIO(AA, 6) GPIO_ACTIVE_HIGH>; 302*4882a593Smuzhiyun output-high; 303*4882a593Smuzhiyun line-name = "BMC_CP0_RESET_N"; 304*4882a593Smuzhiyun }; 305*4882a593Smuzhiyun 306*4882a593Smuzhiyun pin_gpio_aa7 { 307*4882a593Smuzhiyun gpio-hog; 308*4882a593Smuzhiyun gpios = <ASPEED_GPIO(AA, 7) GPIO_ACTIVE_HIGH>; 309*4882a593Smuzhiyun output-high; 310*4882a593Smuzhiyun line-name = "BMC_TPM_RESET_N"; 311*4882a593Smuzhiyun }; 312*4882a593Smuzhiyun 313*4882a593Smuzhiyun pin_gpio_ab0 { 314*4882a593Smuzhiyun gpio-hog; 315*4882a593Smuzhiyun gpios = <ASPEED_GPIO(AB, 0) GPIO_ACTIVE_LOW>; 316*4882a593Smuzhiyun output-high; 317*4882a593Smuzhiyun line-name = "BMC_USB_PWRON_N"; 318*4882a593Smuzhiyun }; 319*4882a593Smuzhiyun}; 320*4882a593Smuzhiyun 321*4882a593Smuzhiyun&ibt { 322*4882a593Smuzhiyun status = "okay"; 323*4882a593Smuzhiyun}; 324*4882a593Smuzhiyun 325*4882a593Smuzhiyun&adc { 326*4882a593Smuzhiyun status = "okay"; 327*4882a593Smuzhiyun}; 328*4882a593Smuzhiyun 329*4882a593Smuzhiyun#include "ibm-power9-dual.dtsi" 330