1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0+ 2*4882a593Smuzhiyun/dts-v1/; 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun#include "aspeed-g4.dtsi" 5*4882a593Smuzhiyun#include <dt-bindings/gpio/aspeed-gpio.h> 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun/ { 8*4882a593Smuzhiyun model = "Palmetto BMC"; 9*4882a593Smuzhiyun compatible = "tyan,palmetto-bmc", "aspeed,ast2400"; 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun chosen { 12*4882a593Smuzhiyun stdout-path = &uart5; 13*4882a593Smuzhiyun bootargs = "console=ttyS4,115200 earlyprintk"; 14*4882a593Smuzhiyun }; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun memory@40000000 { 17*4882a593Smuzhiyun reg = <0x40000000 0x20000000>; 18*4882a593Smuzhiyun }; 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun reserved-memory { 21*4882a593Smuzhiyun #address-cells = <1>; 22*4882a593Smuzhiyun #size-cells = <1>; 23*4882a593Smuzhiyun ranges; 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun vga_memory: framebuffer@5f000000 { 26*4882a593Smuzhiyun no-map; 27*4882a593Smuzhiyun reg = <0x5f000000 0x01000000>; /* 16M */ 28*4882a593Smuzhiyun }; 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun coldfire_memory: codefire_memory@5ee00000 { 31*4882a593Smuzhiyun reg = <0x5ee00000 0x00200000>; 32*4882a593Smuzhiyun no-map; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun flash_memory: region@5c000000 { 36*4882a593Smuzhiyun no-map; 37*4882a593Smuzhiyun reg = <0x5C000000 0x02000000>; /* 32MB */ 38*4882a593Smuzhiyun }; 39*4882a593Smuzhiyun }; 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun leds { 42*4882a593Smuzhiyun compatible = "gpio-leds"; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun heartbeat { 45*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(R, 4) GPIO_ACTIVE_LOW>; 46*4882a593Smuzhiyun }; 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun power { 49*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>; 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun identify { 53*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(A, 2) GPIO_ACTIVE_LOW>; 54*4882a593Smuzhiyun }; 55*4882a593Smuzhiyun }; 56*4882a593Smuzhiyun 57*4882a593Smuzhiyun fsi: gpio-fsi { 58*4882a593Smuzhiyun compatible = "aspeed,ast2400-cf-fsi-master", "fsi-master"; 59*4882a593Smuzhiyun #address-cells = <2>; 60*4882a593Smuzhiyun #size-cells = <0>; 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun memory-region = <&coldfire_memory>; 63*4882a593Smuzhiyun aspeed,sram = <&sram>; 64*4882a593Smuzhiyun aspeed,cvic = <&cvic>; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun clock-gpios = <&gpio ASPEED_GPIO(A, 4) GPIO_ACTIVE_HIGH>; 67*4882a593Smuzhiyun data-gpios = <&gpio ASPEED_GPIO(A, 5) GPIO_ACTIVE_HIGH>; 68*4882a593Smuzhiyun mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>; 69*4882a593Smuzhiyun enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>; 70*4882a593Smuzhiyun trans-gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_HIGH>; 71*4882a593Smuzhiyun }; 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun gpio-keys { 74*4882a593Smuzhiyun compatible = "gpio-keys"; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun checkstop { 77*4882a593Smuzhiyun label = "checkstop"; 78*4882a593Smuzhiyun gpios = <&gpio ASPEED_GPIO(P, 5) GPIO_ACTIVE_LOW>; 79*4882a593Smuzhiyun linux,code = <ASPEED_GPIO(P, 5)>; 80*4882a593Smuzhiyun }; 81*4882a593Smuzhiyun }; 82*4882a593Smuzhiyun}; 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun&fmc { 85*4882a593Smuzhiyun status = "okay"; 86*4882a593Smuzhiyun flash@0 { 87*4882a593Smuzhiyun status = "okay"; 88*4882a593Smuzhiyun m25p,fast-read; 89*4882a593Smuzhiyun label = "bmc"; 90*4882a593Smuzhiyun spi-max-frequency = <50000000>; 91*4882a593Smuzhiyun#include "openbmc-flash-layout.dtsi" 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun}; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun&spi { 96*4882a593Smuzhiyun status = "okay"; 97*4882a593Smuzhiyun pinctrl-names = "default"; 98*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_spi1debug_default>; 99*4882a593Smuzhiyun 100*4882a593Smuzhiyun flash@0 { 101*4882a593Smuzhiyun status = "okay"; 102*4882a593Smuzhiyun m25p,fast-read; 103*4882a593Smuzhiyun spi-max-frequency = <50000000>; 104*4882a593Smuzhiyun label = "pnor"; 105*4882a593Smuzhiyun }; 106*4882a593Smuzhiyun}; 107*4882a593Smuzhiyun 108*4882a593Smuzhiyun&pinctrl { 109*4882a593Smuzhiyun pinctrl-names = "default"; 110*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_flbusy_default &pinctrl_flwp_default 111*4882a593Smuzhiyun 112*4882a593Smuzhiyun &pinctrl_vgahs_default &pinctrl_vgavs_default 113*4882a593Smuzhiyun &pinctrl_ddcclk_default &pinctrl_ddcdat_default>; 114*4882a593Smuzhiyun}; 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun&uart1 { 117*4882a593Smuzhiyun /* Rear RS-232 connector */ 118*4882a593Smuzhiyun status = "okay"; 119*4882a593Smuzhiyun 120*4882a593Smuzhiyun pinctrl-names = "default"; 121*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_txd1_default 122*4882a593Smuzhiyun &pinctrl_rxd1_default 123*4882a593Smuzhiyun &pinctrl_nrts1_default 124*4882a593Smuzhiyun &pinctrl_ndtr1_default 125*4882a593Smuzhiyun &pinctrl_ndsr1_default 126*4882a593Smuzhiyun &pinctrl_ncts1_default 127*4882a593Smuzhiyun &pinctrl_ndcd1_default 128*4882a593Smuzhiyun &pinctrl_nri1_default>; 129*4882a593Smuzhiyun}; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun&uart5 { 132*4882a593Smuzhiyun status = "okay"; 133*4882a593Smuzhiyun}; 134*4882a593Smuzhiyun 135*4882a593Smuzhiyun&mac0 { 136*4882a593Smuzhiyun status = "okay"; 137*4882a593Smuzhiyun 138*4882a593Smuzhiyun use-ncsi; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun pinctrl-names = "default"; 141*4882a593Smuzhiyun pinctrl-0 = <&pinctrl_rmii1_default>; 142*4882a593Smuzhiyun}; 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun&i2c0 { 145*4882a593Smuzhiyun status = "okay"; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun eeprom@50 { 148*4882a593Smuzhiyun compatible = "atmel,24c256"; 149*4882a593Smuzhiyun reg = <0x50>; 150*4882a593Smuzhiyun pagesize = <64>; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun rtc@68 { 154*4882a593Smuzhiyun compatible = "dallas,ds3231"; 155*4882a593Smuzhiyun reg = <0x68>; 156*4882a593Smuzhiyun }; 157*4882a593Smuzhiyun}; 158*4882a593Smuzhiyun 159*4882a593Smuzhiyun&i2c1 { 160*4882a593Smuzhiyun status = "okay"; 161*4882a593Smuzhiyun}; 162*4882a593Smuzhiyun 163*4882a593Smuzhiyun&i2c2 { 164*4882a593Smuzhiyun status = "okay"; 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun tmp423@4c { 167*4882a593Smuzhiyun compatible = "ti,tmp423"; 168*4882a593Smuzhiyun reg = <0x4c>; 169*4882a593Smuzhiyun }; 170*4882a593Smuzhiyun}; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun&i2c3 { 173*4882a593Smuzhiyun status = "okay"; 174*4882a593Smuzhiyun 175*4882a593Smuzhiyun occ-hwmon@50 { 176*4882a593Smuzhiyun compatible = "ibm,p8-occ-hwmon"; 177*4882a593Smuzhiyun reg = <0x50>; 178*4882a593Smuzhiyun }; 179*4882a593Smuzhiyun}; 180*4882a593Smuzhiyun 181*4882a593Smuzhiyun&i2c4 { 182*4882a593Smuzhiyun status = "okay"; 183*4882a593Smuzhiyun}; 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun&i2c5 { 186*4882a593Smuzhiyun status = "okay"; 187*4882a593Smuzhiyun}; 188*4882a593Smuzhiyun 189*4882a593Smuzhiyun&i2c6 { 190*4882a593Smuzhiyun status = "okay"; 191*4882a593Smuzhiyun}; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun&i2c7 { 194*4882a593Smuzhiyun status = "okay"; 195*4882a593Smuzhiyun}; 196*4882a593Smuzhiyun 197*4882a593Smuzhiyun&vuart { 198*4882a593Smuzhiyun status = "okay"; 199*4882a593Smuzhiyun}; 200*4882a593Smuzhiyun 201*4882a593Smuzhiyun&ibt { 202*4882a593Smuzhiyun status = "okay"; 203*4882a593Smuzhiyun}; 204*4882a593Smuzhiyun 205*4882a593Smuzhiyun&lpc_ctrl { 206*4882a593Smuzhiyun status = "okay"; 207*4882a593Smuzhiyun memory-region = <&flash_memory>; 208*4882a593Smuzhiyun flash = <&spi>; 209*4882a593Smuzhiyun}; 210*4882a593Smuzhiyun 211*4882a593Smuzhiyun&gpio { 212*4882a593Smuzhiyun pin_func_mode0 { 213*4882a593Smuzhiyun gpio-hog; 214*4882a593Smuzhiyun gpios = <ASPEED_GPIO(C, 4) GPIO_ACTIVE_HIGH>; 215*4882a593Smuzhiyun output-low; 216*4882a593Smuzhiyun line-name = "func_mode0"; 217*4882a593Smuzhiyun }; 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun pin_func_mode1 { 220*4882a593Smuzhiyun gpio-hog; 221*4882a593Smuzhiyun gpios = <ASPEED_GPIO(C, 5) GPIO_ACTIVE_HIGH>; 222*4882a593Smuzhiyun output-low; 223*4882a593Smuzhiyun line-name = "func_mode1"; 224*4882a593Smuzhiyun }; 225*4882a593Smuzhiyun 226*4882a593Smuzhiyun pin_func_mode2 { 227*4882a593Smuzhiyun gpio-hog; 228*4882a593Smuzhiyun gpios = <ASPEED_GPIO(C, 6) GPIO_ACTIVE_HIGH>; 229*4882a593Smuzhiyun output-low; 230*4882a593Smuzhiyun line-name = "func_mode2"; 231*4882a593Smuzhiyun }; 232*4882a593Smuzhiyun 233*4882a593Smuzhiyun pin_gpio_a0 { 234*4882a593Smuzhiyun gpio-hog; 235*4882a593Smuzhiyun gpios = <ASPEED_GPIO(A, 0) GPIO_ACTIVE_HIGH>; 236*4882a593Smuzhiyun input; 237*4882a593Smuzhiyun line-name = "BMC_FAN_RESERVED_N"; 238*4882a593Smuzhiyun }; 239*4882a593Smuzhiyun 240*4882a593Smuzhiyun pin_gpio_a1 { 241*4882a593Smuzhiyun gpio-hog; 242*4882a593Smuzhiyun gpios = <ASPEED_GPIO(A, 1) GPIO_ACTIVE_HIGH>; 243*4882a593Smuzhiyun output-high; 244*4882a593Smuzhiyun line-name = "APSS_WDT_N"; 245*4882a593Smuzhiyun }; 246*4882a593Smuzhiyun 247*4882a593Smuzhiyun pin_gpio_b1 { 248*4882a593Smuzhiyun gpio-hog; 249*4882a593Smuzhiyun gpios = <ASPEED_GPIO(B, 1) GPIO_ACTIVE_HIGH>; 250*4882a593Smuzhiyun output-high; 251*4882a593Smuzhiyun line-name = "APSS_BOOT_MODE"; 252*4882a593Smuzhiyun }; 253*4882a593Smuzhiyun 254*4882a593Smuzhiyun pin_gpio_b2 { 255*4882a593Smuzhiyun gpio-hog; 256*4882a593Smuzhiyun gpios = <ASPEED_GPIO(B, 2) GPIO_ACTIVE_HIGH>; 257*4882a593Smuzhiyun output-high; 258*4882a593Smuzhiyun line-name = "APSS_RESET_N"; 259*4882a593Smuzhiyun }; 260*4882a593Smuzhiyun 261*4882a593Smuzhiyun pin_gpio_b7 { 262*4882a593Smuzhiyun gpio-hog; 263*4882a593Smuzhiyun gpios = <ASPEED_GPIO(B, 7) GPIO_ACTIVE_HIGH>; 264*4882a593Smuzhiyun output-high; 265*4882a593Smuzhiyun line-name = "SPIVID_STBY_RESET_N"; 266*4882a593Smuzhiyun }; 267*4882a593Smuzhiyun 268*4882a593Smuzhiyun pin_gpio_d1 { 269*4882a593Smuzhiyun gpio-hog; 270*4882a593Smuzhiyun gpios = <ASPEED_GPIO(D, 1) GPIO_ACTIVE_HIGH>; 271*4882a593Smuzhiyun output-high; 272*4882a593Smuzhiyun line-name = "BMC_POWER_UP"; 273*4882a593Smuzhiyun }; 274*4882a593Smuzhiyun 275*4882a593Smuzhiyun pin_gpio_f1 { 276*4882a593Smuzhiyun gpio-hog; 277*4882a593Smuzhiyun gpios = <ASPEED_GPIO(F, 1) GPIO_ACTIVE_HIGH>; 278*4882a593Smuzhiyun input; 279*4882a593Smuzhiyun line-name = "BMC_BATTERY_TEST"; 280*4882a593Smuzhiyun }; 281*4882a593Smuzhiyun 282*4882a593Smuzhiyun pin_gpio_f4 { 283*4882a593Smuzhiyun gpio-hog; 284*4882a593Smuzhiyun gpios = <ASPEED_GPIO(F, 4) GPIO_ACTIVE_HIGH>; 285*4882a593Smuzhiyun input; 286*4882a593Smuzhiyun line-name = "AST_HW_FAULT_N"; 287*4882a593Smuzhiyun }; 288*4882a593Smuzhiyun 289*4882a593Smuzhiyun pin_gpio_f5 { 290*4882a593Smuzhiyun gpio-hog; 291*4882a593Smuzhiyun gpios = <ASPEED_GPIO(F, 5) GPIO_ACTIVE_HIGH>; 292*4882a593Smuzhiyun input; 293*4882a593Smuzhiyun line-name = "AST_SYS_FAULT_N"; 294*4882a593Smuzhiyun }; 295*4882a593Smuzhiyun 296*4882a593Smuzhiyun pin_gpio_f7 { 297*4882a593Smuzhiyun gpio-hog; 298*4882a593Smuzhiyun gpios = <ASPEED_GPIO(F, 7) GPIO_ACTIVE_HIGH>; 299*4882a593Smuzhiyun output-high; 300*4882a593Smuzhiyun line-name = "BMC_FULL_SPEED_N"; 301*4882a593Smuzhiyun }; 302*4882a593Smuzhiyun 303*4882a593Smuzhiyun pin_gpio_g3 { 304*4882a593Smuzhiyun gpio-hog; 305*4882a593Smuzhiyun gpios = <ASPEED_GPIO(G, 3) GPIO_ACTIVE_HIGH>; 306*4882a593Smuzhiyun output-high; 307*4882a593Smuzhiyun line-name = "BMC_FAN_ERROR_N"; 308*4882a593Smuzhiyun }; 309*4882a593Smuzhiyun 310*4882a593Smuzhiyun pin_gpio_g4 { 311*4882a593Smuzhiyun gpio-hog; 312*4882a593Smuzhiyun gpios = <ASPEED_GPIO(G, 4) GPIO_ACTIVE_HIGH>; 313*4882a593Smuzhiyun input; 314*4882a593Smuzhiyun line-name = "BMC_WDT_RST1_P"; 315*4882a593Smuzhiyun }; 316*4882a593Smuzhiyun 317*4882a593Smuzhiyun pin_gpio_g5 { 318*4882a593Smuzhiyun gpio-hog; 319*4882a593Smuzhiyun gpios = <ASPEED_GPIO(G, 5) GPIO_ACTIVE_HIGH>; 320*4882a593Smuzhiyun input; 321*4882a593Smuzhiyun line-name = "BMC_WDT_RST2_P"; 322*4882a593Smuzhiyun }; 323*4882a593Smuzhiyun 324*4882a593Smuzhiyun pin_gpio_h0 { 325*4882a593Smuzhiyun gpio-hog; 326*4882a593Smuzhiyun gpios = <ASPEED_GPIO(H, 0) GPIO_ACTIVE_HIGH>; 327*4882a593Smuzhiyun input; 328*4882a593Smuzhiyun line-name = "PE_SLOT_TEST_EN_N"; 329*4882a593Smuzhiyun }; 330*4882a593Smuzhiyun 331*4882a593Smuzhiyun pin_gpio_h1 { 332*4882a593Smuzhiyun gpio-hog; 333*4882a593Smuzhiyun gpios = <ASPEED_GPIO(H, 1) GPIO_ACTIVE_HIGH>; 334*4882a593Smuzhiyun input; 335*4882a593Smuzhiyun line-name = "BMC_RTCRST_N"; 336*4882a593Smuzhiyun }; 337*4882a593Smuzhiyun 338*4882a593Smuzhiyun pin_gpio_h2 { 339*4882a593Smuzhiyun gpio-hog; 340*4882a593Smuzhiyun gpios = <ASPEED_GPIO(H, 2) GPIO_ACTIVE_HIGH>; 341*4882a593Smuzhiyun output-high; 342*4882a593Smuzhiyun line-name = "SYS_PWROK_BMC"; 343*4882a593Smuzhiyun }; 344*4882a593Smuzhiyun 345*4882a593Smuzhiyun pin_gpio_h7 { 346*4882a593Smuzhiyun gpio-hog; 347*4882a593Smuzhiyun gpios = <ASPEED_GPIO(H, 7) GPIO_ACTIVE_HIGH>; 348*4882a593Smuzhiyun output-high; 349*4882a593Smuzhiyun line-name = "BMC_TPM_INT_N"; 350*4882a593Smuzhiyun }; 351*4882a593Smuzhiyun}; 352*4882a593Smuzhiyun 353*4882a593Smuzhiyun&fsi { 354*4882a593Smuzhiyun cfam@0,0 { 355*4882a593Smuzhiyun reg = <0 0>; 356*4882a593Smuzhiyun #address-cells = <1>; 357*4882a593Smuzhiyun #size-cells = <1>; 358*4882a593Smuzhiyun chip-id = <0>; 359*4882a593Smuzhiyun 360*4882a593Smuzhiyun scom@1000 { 361*4882a593Smuzhiyun compatible = "ibm,fsi2pib"; 362*4882a593Smuzhiyun reg = <0x1000 0x400>; 363*4882a593Smuzhiyun }; 364*4882a593Smuzhiyun 365*4882a593Smuzhiyun fsi_hub0: hub@3400 { 366*4882a593Smuzhiyun compatible = "ibm,fsi-master-hub"; 367*4882a593Smuzhiyun reg = <0x3400 0x400>; 368*4882a593Smuzhiyun #address-cells = <2>; 369*4882a593Smuzhiyun #size-cells = <0>; 370*4882a593Smuzhiyun no-scan-on-init; 371*4882a593Smuzhiyun }; 372*4882a593Smuzhiyun }; 373*4882a593Smuzhiyun}; 374