1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0+ 2*f126890aSEmmanuel Vadot/dts-v1/; 3*f126890aSEmmanuel Vadot#include "aspeed-g5.dtsi" 4*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/aspeed-gpio.h> 5*f126890aSEmmanuel Vadot 6*f126890aSEmmanuel Vadot/ { 7*f126890aSEmmanuel Vadot model = "Romulus BMC"; 8*f126890aSEmmanuel Vadot compatible = "ibm,romulus-bmc", "aspeed,ast2500"; 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot chosen { 11*f126890aSEmmanuel Vadot stdout-path = &uart5; 12*f126890aSEmmanuel Vadot bootargs = "console=ttyS4,115200 earlycon"; 13*f126890aSEmmanuel Vadot }; 14*f126890aSEmmanuel Vadot 15*f126890aSEmmanuel Vadot memory@80000000 { 16*f126890aSEmmanuel Vadot reg = <0x80000000 0x20000000>; 17*f126890aSEmmanuel Vadot }; 18*f126890aSEmmanuel Vadot 19*f126890aSEmmanuel Vadot reserved-memory { 20*f126890aSEmmanuel Vadot #address-cells = <1>; 21*f126890aSEmmanuel Vadot #size-cells = <1>; 22*f126890aSEmmanuel Vadot ranges; 23*f126890aSEmmanuel Vadot 24*f126890aSEmmanuel Vadot vga_memory: framebuffer@9f000000 { 25*f126890aSEmmanuel Vadot no-map; 26*f126890aSEmmanuel Vadot reg = <0x9f000000 0x01000000>; /* 16M */ 27*f126890aSEmmanuel Vadot }; 28*f126890aSEmmanuel Vadot 29*f126890aSEmmanuel Vadot flash_memory: region@98000000 { 30*f126890aSEmmanuel Vadot no-map; 31*f126890aSEmmanuel Vadot reg = <0x98000000 0x04000000>; /* 64M */ 32*f126890aSEmmanuel Vadot }; 33*f126890aSEmmanuel Vadot 34*f126890aSEmmanuel Vadot coldfire_memory: codefire_memory@9ef00000 { 35*f126890aSEmmanuel Vadot reg = <0x9ef00000 0x00100000>; 36*f126890aSEmmanuel Vadot no-map; 37*f126890aSEmmanuel Vadot }; 38*f126890aSEmmanuel Vadot 39*f126890aSEmmanuel Vadot gfx_memory: framebuffer { 40*f126890aSEmmanuel Vadot size = <0x01000000>; 41*f126890aSEmmanuel Vadot alignment = <0x01000000>; 42*f126890aSEmmanuel Vadot compatible = "shared-dma-pool"; 43*f126890aSEmmanuel Vadot reusable; 44*f126890aSEmmanuel Vadot }; 45*f126890aSEmmanuel Vadot 46*f126890aSEmmanuel Vadot video_engine_memory: jpegbuffer { 47*f126890aSEmmanuel Vadot size = <0x02000000>; /* 32M */ 48*f126890aSEmmanuel Vadot alignment = <0x01000000>; 49*f126890aSEmmanuel Vadot compatible = "shared-dma-pool"; 50*f126890aSEmmanuel Vadot reusable; 51*f126890aSEmmanuel Vadot }; 52*f126890aSEmmanuel Vadot }; 53*f126890aSEmmanuel Vadot 54*f126890aSEmmanuel Vadot leds { 55*f126890aSEmmanuel Vadot compatible = "gpio-leds"; 56*f126890aSEmmanuel Vadot 57*f126890aSEmmanuel Vadot fault { 58*f126890aSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(N, 2) GPIO_ACTIVE_LOW>; 59*f126890aSEmmanuel Vadot }; 60*f126890aSEmmanuel Vadot 61*f126890aSEmmanuel Vadot identify { 62*f126890aSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(N, 4) GPIO_ACTIVE_HIGH>; 63*f126890aSEmmanuel Vadot }; 64*f126890aSEmmanuel Vadot 65*f126890aSEmmanuel Vadot power { 66*f126890aSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(R, 5) GPIO_ACTIVE_LOW>; 67*f126890aSEmmanuel Vadot }; 68*f126890aSEmmanuel Vadot }; 69*f126890aSEmmanuel Vadot 70*f126890aSEmmanuel Vadot fsi: gpio-fsi { 71*f126890aSEmmanuel Vadot compatible = "aspeed,ast2500-cf-fsi-master", "fsi-master"; 72*f126890aSEmmanuel Vadot #address-cells = <2>; 73*f126890aSEmmanuel Vadot #size-cells = <0>; 74*f126890aSEmmanuel Vadot no-gpio-delays; 75*f126890aSEmmanuel Vadot 76*f126890aSEmmanuel Vadot memory-region = <&coldfire_memory>; 77*f126890aSEmmanuel Vadot aspeed,sram = <&sram>; 78*f126890aSEmmanuel Vadot aspeed,cvic = <&cvic>; 79*f126890aSEmmanuel Vadot 80*f126890aSEmmanuel Vadot clock-gpios = <&gpio ASPEED_GPIO(AA, 0) GPIO_ACTIVE_HIGH>; 81*f126890aSEmmanuel Vadot data-gpios = <&gpio ASPEED_GPIO(AA, 2) GPIO_ACTIVE_HIGH>; 82*f126890aSEmmanuel Vadot mux-gpios = <&gpio ASPEED_GPIO(A, 6) GPIO_ACTIVE_HIGH>; 83*f126890aSEmmanuel Vadot enable-gpios = <&gpio ASPEED_GPIO(D, 0) GPIO_ACTIVE_HIGH>; 84*f126890aSEmmanuel Vadot trans-gpios = <&gpio ASPEED_GPIO(R, 2) GPIO_ACTIVE_HIGH>; 85*f126890aSEmmanuel Vadot }; 86*f126890aSEmmanuel Vadot 87*f126890aSEmmanuel Vadot gpio-keys { 88*f126890aSEmmanuel Vadot compatible = "gpio-keys"; 89*f126890aSEmmanuel Vadot 90*f126890aSEmmanuel Vadot event-checkstop { 91*f126890aSEmmanuel Vadot label = "checkstop"; 92*f126890aSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(J, 2) GPIO_ACTIVE_LOW>; 93*f126890aSEmmanuel Vadot linux,code = <ASPEED_GPIO(J, 2)>; 94*f126890aSEmmanuel Vadot }; 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot id-button { 97*f126890aSEmmanuel Vadot label = "id-button"; 98*f126890aSEmmanuel Vadot gpios = <&gpio ASPEED_GPIO(Q, 7) GPIO_ACTIVE_LOW>; 99*f126890aSEmmanuel Vadot linux,code = <ASPEED_GPIO(Q, 7)>; 100*f126890aSEmmanuel Vadot }; 101*f126890aSEmmanuel Vadot }; 102*f126890aSEmmanuel Vadot 103*f126890aSEmmanuel Vadot iio-hwmon-battery { 104*f126890aSEmmanuel Vadot compatible = "iio-hwmon"; 105*f126890aSEmmanuel Vadot io-channels = <&adc 12>; 106*f126890aSEmmanuel Vadot }; 107*f126890aSEmmanuel Vadot}; 108*f126890aSEmmanuel Vadot 109*f126890aSEmmanuel Vadot&fmc { 110*f126890aSEmmanuel Vadot status = "okay"; 111*f126890aSEmmanuel Vadot flash@0 { 112*f126890aSEmmanuel Vadot status = "okay"; 113*f126890aSEmmanuel Vadot m25p,fast-read; 114*f126890aSEmmanuel Vadot label = "bmc"; 115*f126890aSEmmanuel Vadot spi-max-frequency = <50000000>; 116*f126890aSEmmanuel Vadot#include "openbmc-flash-layout.dtsi" 117*f126890aSEmmanuel Vadot }; 118*f126890aSEmmanuel Vadot}; 119*f126890aSEmmanuel Vadot 120*f126890aSEmmanuel Vadot&spi1 { 121*f126890aSEmmanuel Vadot status = "okay"; 122*f126890aSEmmanuel Vadot pinctrl-names = "default"; 123*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_spi1_default>; 124*f126890aSEmmanuel Vadot 125*f126890aSEmmanuel Vadot flash@0 { 126*f126890aSEmmanuel Vadot status = "okay"; 127*f126890aSEmmanuel Vadot m25p,fast-read; 128*f126890aSEmmanuel Vadot label = "pnor"; 129*f126890aSEmmanuel Vadot spi-max-frequency = <100000000>; 130*f126890aSEmmanuel Vadot }; 131*f126890aSEmmanuel Vadot}; 132*f126890aSEmmanuel Vadot 133*f126890aSEmmanuel Vadot&lpc_ctrl { 134*f126890aSEmmanuel Vadot status = "okay"; 135*f126890aSEmmanuel Vadot memory-region = <&flash_memory>; 136*f126890aSEmmanuel Vadot flash = <&spi1>; 137*f126890aSEmmanuel Vadot}; 138*f126890aSEmmanuel Vadot 139*f126890aSEmmanuel Vadot&uart1 { 140*f126890aSEmmanuel Vadot /* Rear RS-232 connector */ 141*f126890aSEmmanuel Vadot status = "okay"; 142*f126890aSEmmanuel Vadot 143*f126890aSEmmanuel Vadot pinctrl-names = "default"; 144*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_txd1_default 145*f126890aSEmmanuel Vadot &pinctrl_rxd1_default 146*f126890aSEmmanuel Vadot &pinctrl_nrts1_default 147*f126890aSEmmanuel Vadot &pinctrl_ndtr1_default 148*f126890aSEmmanuel Vadot &pinctrl_ndsr1_default 149*f126890aSEmmanuel Vadot &pinctrl_ncts1_default 150*f126890aSEmmanuel Vadot &pinctrl_ndcd1_default 151*f126890aSEmmanuel Vadot &pinctrl_nri1_default>; 152*f126890aSEmmanuel Vadot}; 153*f126890aSEmmanuel Vadot 154*f126890aSEmmanuel Vadot&uart5 { 155*f126890aSEmmanuel Vadot status = "okay"; 156*f126890aSEmmanuel Vadot}; 157*f126890aSEmmanuel Vadot 158*f126890aSEmmanuel Vadot&mac0 { 159*f126890aSEmmanuel Vadot status = "okay"; 160*f126890aSEmmanuel Vadot 161*f126890aSEmmanuel Vadot use-ncsi; 162*f126890aSEmmanuel Vadot 163*f126890aSEmmanuel Vadot pinctrl-names = "default"; 164*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_rmii1_default>; 165*f126890aSEmmanuel Vadot clocks = <&syscon ASPEED_CLK_GATE_MAC1CLK>, 166*f126890aSEmmanuel Vadot <&syscon ASPEED_CLK_MAC1RCLK>; 167*f126890aSEmmanuel Vadot clock-names = "MACCLK", "RCLK"; 168*f126890aSEmmanuel Vadot}; 169*f126890aSEmmanuel Vadot 170*f126890aSEmmanuel Vadot&i2c1 { 171*f126890aSEmmanuel Vadot status = "okay"; 172*f126890aSEmmanuel Vadot}; 173*f126890aSEmmanuel Vadot 174*f126890aSEmmanuel Vadot&i2c2 { 175*f126890aSEmmanuel Vadot status = "okay"; 176*f126890aSEmmanuel Vadot}; 177*f126890aSEmmanuel Vadot 178*f126890aSEmmanuel Vadot&i2c3 { 179*f126890aSEmmanuel Vadot status = "okay"; 180*f126890aSEmmanuel Vadot}; 181*f126890aSEmmanuel Vadot 182*f126890aSEmmanuel Vadot&i2c4 { 183*f126890aSEmmanuel Vadot status = "okay"; 184*f126890aSEmmanuel Vadot}; 185*f126890aSEmmanuel Vadot 186*f126890aSEmmanuel Vadot&i2c5 { 187*f126890aSEmmanuel Vadot status = "okay"; 188*f126890aSEmmanuel Vadot}; 189*f126890aSEmmanuel Vadot 190*f126890aSEmmanuel Vadot&i2c6 { 191*f126890aSEmmanuel Vadot /* PCIe slot 1 (x8) */ 192*f126890aSEmmanuel Vadot status = "okay"; 193*f126890aSEmmanuel Vadot}; 194*f126890aSEmmanuel Vadot 195*f126890aSEmmanuel Vadot&i2c7 { 196*f126890aSEmmanuel Vadot /* PCIe slot 2 (x16) */ 197*f126890aSEmmanuel Vadot status = "okay"; 198*f126890aSEmmanuel Vadot}; 199*f126890aSEmmanuel Vadot 200*f126890aSEmmanuel Vadot&i2c8 { 201*f126890aSEmmanuel Vadot /* PCIe slot 3 (x16) */ 202*f126890aSEmmanuel Vadot status = "okay"; 203*f126890aSEmmanuel Vadot}; 204*f126890aSEmmanuel Vadot 205*f126890aSEmmanuel Vadot&i2c9 { 206*f126890aSEmmanuel Vadot /* PCIe slot 4 (x16) */ 207*f126890aSEmmanuel Vadot status = "okay"; 208*f126890aSEmmanuel Vadot}; 209*f126890aSEmmanuel Vadot 210*f126890aSEmmanuel Vadot&i2c10 { 211*f126890aSEmmanuel Vadot /* PCIe slot 5 (x8) */ 212*f126890aSEmmanuel Vadot status = "okay"; 213*f126890aSEmmanuel Vadot}; 214*f126890aSEmmanuel Vadot 215*f126890aSEmmanuel Vadot&i2c11 { 216*f126890aSEmmanuel Vadot status = "okay"; 217*f126890aSEmmanuel Vadot 218*f126890aSEmmanuel Vadot rtc@32 { 219*f126890aSEmmanuel Vadot compatible = "epson,rx8900"; 220*f126890aSEmmanuel Vadot reg = <0x32>; 221*f126890aSEmmanuel Vadot }; 222*f126890aSEmmanuel Vadot}; 223*f126890aSEmmanuel Vadot 224*f126890aSEmmanuel Vadot&i2c12 { 225*f126890aSEmmanuel Vadot status = "okay"; 226*f126890aSEmmanuel Vadot 227*f126890aSEmmanuel Vadot w83773g@4c { 228*f126890aSEmmanuel Vadot compatible = "nuvoton,w83773g"; 229*f126890aSEmmanuel Vadot reg = <0x4c>; 230*f126890aSEmmanuel Vadot }; 231*f126890aSEmmanuel Vadot}; 232*f126890aSEmmanuel Vadot 233*f126890aSEmmanuel Vadot&gpio { 234*f126890aSEmmanuel Vadot gpio-line-names = 235*f126890aSEmmanuel Vadot /*A0-A7*/ "","cfam-reset","","","","","fsi-mux","", 236*f126890aSEmmanuel Vadot /*B0-B7*/ "","","","","","","","", 237*f126890aSEmmanuel Vadot /*C0-C7*/ "","","","","","","","", 238*f126890aSEmmanuel Vadot /*D0-D7*/ "fsi-enable","","","nic_func_mode0","nic_func_mode1","","","", 239*f126890aSEmmanuel Vadot /*E0-E7*/ "","","","","","","","", 240*f126890aSEmmanuel Vadot /*F0-F7*/ "","","","","","","","", 241*f126890aSEmmanuel Vadot /*G0-G7*/ "","","","","","","","", 242*f126890aSEmmanuel Vadot /*H0-H7*/ "","","","","","","","", 243*f126890aSEmmanuel Vadot /*I0-I7*/ "","","","power-button","","","","", 244*f126890aSEmmanuel Vadot /*J0-J7*/ "","","checkstop","","","","","", 245*f126890aSEmmanuel Vadot /*K0-K7*/ "","","","","","","","", 246*f126890aSEmmanuel Vadot /*L0-L7*/ "","","","","","","","", 247*f126890aSEmmanuel Vadot /*M0-M7*/ "","","","","","","","", 248*f126890aSEmmanuel Vadot /*N0-N7*/ "","","led-fault","", 249*f126890aSEmmanuel Vadot "led-identify","","","", 250*f126890aSEmmanuel Vadot /*O0-O7*/ "","","","","","","","", 251*f126890aSEmmanuel Vadot /*P0-P7*/ "","","","","","","","", 252*f126890aSEmmanuel Vadot /*Q0-Q7*/ "","","","","","","","id-button", 253*f126890aSEmmanuel Vadot /*R0-R7*/ "","","fsi-trans","","","led-power","","", 254*f126890aSEmmanuel Vadot /*S0-S7*/ "","","","","","","","seq_cont", 255*f126890aSEmmanuel Vadot /*T0-T7*/ "","","","","","","","", 256*f126890aSEmmanuel Vadot /*U0-U7*/ "","","","","","","","", 257*f126890aSEmmanuel Vadot /*V0-V7*/ "","","","","","","","", 258*f126890aSEmmanuel Vadot /*W0-W7*/ "","","","","","","","", 259*f126890aSEmmanuel Vadot /*X0-X7*/ "","","","","","","","", 260*f126890aSEmmanuel Vadot /*Y0-Y7*/ "","","","","","","","", 261*f126890aSEmmanuel Vadot /*Z0-Z7*/ "","","","","","","","", 262*f126890aSEmmanuel Vadot /*AA0-AA7*/ "fsi-clock","","fsi-data","","","","","", 263*f126890aSEmmanuel Vadot /*AB0-AB7*/ "","","","","","","","", 264*f126890aSEmmanuel Vadot /*AC0-AC7*/ "","","","","","","",""; 265*f126890aSEmmanuel Vadot 266*f126890aSEmmanuel Vadot nic_func_mode0 { 267*f126890aSEmmanuel Vadot gpio-hog; 268*f126890aSEmmanuel Vadot gpios = <ASPEED_GPIO(D, 3) GPIO_ACTIVE_HIGH>; 269*f126890aSEmmanuel Vadot output-low; 270*f126890aSEmmanuel Vadot }; 271*f126890aSEmmanuel Vadot nic_func_mode1 { 272*f126890aSEmmanuel Vadot gpio-hog; 273*f126890aSEmmanuel Vadot gpios = <ASPEED_GPIO(D, 4) GPIO_ACTIVE_HIGH>; 274*f126890aSEmmanuel Vadot output-low; 275*f126890aSEmmanuel Vadot }; 276*f126890aSEmmanuel Vadot seq_cont { 277*f126890aSEmmanuel Vadot gpio-hog; 278*f126890aSEmmanuel Vadot gpios = <ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>; 279*f126890aSEmmanuel Vadot output-low; 280*f126890aSEmmanuel Vadot }; 281*f126890aSEmmanuel Vadot}; 282*f126890aSEmmanuel Vadot 283*f126890aSEmmanuel Vadot&vuart { 284*f126890aSEmmanuel Vadot status = "okay"; 285*f126890aSEmmanuel Vadot}; 286*f126890aSEmmanuel Vadot 287*f126890aSEmmanuel Vadot&gfx { 288*f126890aSEmmanuel Vadot status = "okay"; 289*f126890aSEmmanuel Vadot memory-region = <&gfx_memory>; 290*f126890aSEmmanuel Vadot}; 291*f126890aSEmmanuel Vadot 292*f126890aSEmmanuel Vadot&pinctrl { 293*f126890aSEmmanuel Vadot aspeed,external-nodes = <&gfx &lhc>; 294*f126890aSEmmanuel Vadot}; 295*f126890aSEmmanuel Vadot 296*f126890aSEmmanuel Vadot&pwm_tacho { 297*f126890aSEmmanuel Vadot status = "okay"; 298*f126890aSEmmanuel Vadot pinctrl-names = "default"; 299*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_pwm0_default &pinctrl_pwm1_default>; 300*f126890aSEmmanuel Vadot 301*f126890aSEmmanuel Vadot fan@0 { 302*f126890aSEmmanuel Vadot reg = <0x00>; 303*f126890aSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x08>; 304*f126890aSEmmanuel Vadot }; 305*f126890aSEmmanuel Vadot 306*f126890aSEmmanuel Vadot fan@1 { 307*f126890aSEmmanuel Vadot reg = <0x00>; 308*f126890aSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x09>; 309*f126890aSEmmanuel Vadot }; 310*f126890aSEmmanuel Vadot 311*f126890aSEmmanuel Vadot fan@2 { 312*f126890aSEmmanuel Vadot reg = <0x01>; 313*f126890aSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x0a>; 314*f126890aSEmmanuel Vadot }; 315*f126890aSEmmanuel Vadot 316*f126890aSEmmanuel Vadot fan@3 { 317*f126890aSEmmanuel Vadot reg = <0x01>; 318*f126890aSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x0b>; 319*f126890aSEmmanuel Vadot }; 320*f126890aSEmmanuel Vadot 321*f126890aSEmmanuel Vadot fan@4 { 322*f126890aSEmmanuel Vadot reg = <0x00>; 323*f126890aSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x0c>; 324*f126890aSEmmanuel Vadot }; 325*f126890aSEmmanuel Vadot 326*f126890aSEmmanuel Vadot fan@5 { 327*f126890aSEmmanuel Vadot reg = <0x00>; 328*f126890aSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x0d>; 329*f126890aSEmmanuel Vadot }; 330*f126890aSEmmanuel Vadot 331*f126890aSEmmanuel Vadot fan@6 { 332*f126890aSEmmanuel Vadot reg = <0x01>; 333*f126890aSEmmanuel Vadot aspeed,fan-tach-ch = /bits/ 8 <0x0e>; 334*f126890aSEmmanuel Vadot }; 335*f126890aSEmmanuel Vadot}; 336*f126890aSEmmanuel Vadot 337*f126890aSEmmanuel Vadot&ibt { 338*f126890aSEmmanuel Vadot status = "okay"; 339*f126890aSEmmanuel Vadot}; 340*f126890aSEmmanuel Vadot 341*f126890aSEmmanuel Vadot&vhub { 342*f126890aSEmmanuel Vadot status = "okay"; 343*f126890aSEmmanuel Vadot}; 344*f126890aSEmmanuel Vadot 345*f126890aSEmmanuel Vadot&adc { 346*f126890aSEmmanuel Vadot status = "okay"; 347*f126890aSEmmanuel Vadot}; 348*f126890aSEmmanuel Vadot 349*f126890aSEmmanuel Vadot&video { 350*f126890aSEmmanuel Vadot status = "okay"; 351*f126890aSEmmanuel Vadot memory-region = <&video_engine_memory>; 352*f126890aSEmmanuel Vadot}; 353*f126890aSEmmanuel Vadot 354*f126890aSEmmanuel Vadot#include "ibm-power9-dual.dtsi" 355