1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2*f126890aSEmmanuel Vadot// Copyright 2022 Facebook Inc. 3*f126890aSEmmanuel Vadot 4*f126890aSEmmanuel Vadot/dts-v1/; 5*f126890aSEmmanuel Vadot#include "aspeed-g6.dtsi" 6*f126890aSEmmanuel Vadot#include <dt-bindings/gpio/aspeed-gpio.h> 7*f126890aSEmmanuel Vadot#include <dt-bindings/leds/leds-pca955x.h> 8*f126890aSEmmanuel Vadot#include <dt-bindings/i2c/i2c.h> 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot/ { 11*f126890aSEmmanuel Vadot model = "Facebook Greatlakes BMC"; 12*f126890aSEmmanuel Vadot compatible = "facebook,greatlakes-bmc", "aspeed,ast2600"; 13*f126890aSEmmanuel Vadot 14*f126890aSEmmanuel Vadot aliases { 15*f126890aSEmmanuel Vadot serial4 = &uart5; 16*f126890aSEmmanuel Vadot }; 17*f126890aSEmmanuel Vadot 18*f126890aSEmmanuel Vadot memory@80000000 { 19*f126890aSEmmanuel Vadot device_type = "memory"; 20*f126890aSEmmanuel Vadot reg = <0x80000000 0x80000000>; 21*f126890aSEmmanuel Vadot }; 22*f126890aSEmmanuel Vadot 23*f126890aSEmmanuel Vadot iio-hwmon { 24*f126890aSEmmanuel Vadot compatible = "iio-hwmon"; 25*f126890aSEmmanuel Vadot io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>, 26*f126890aSEmmanuel Vadot <&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>, 27*f126890aSEmmanuel Vadot <&adc1 0>, <&adc1 2>, <&adc1 3>, <&adc1 4>, 28*f126890aSEmmanuel Vadot <&adc1 5>, <&adc1 6>; 29*f126890aSEmmanuel Vadot }; 30*f126890aSEmmanuel Vadot}; 31*f126890aSEmmanuel Vadot 32*f126890aSEmmanuel Vadot&uart1 { 33*f126890aSEmmanuel Vadot status = "okay"; 34*f126890aSEmmanuel Vadot}; 35*f126890aSEmmanuel Vadot 36*f126890aSEmmanuel Vadot&uart2 { 37*f126890aSEmmanuel Vadot status = "okay"; 38*f126890aSEmmanuel Vadot}; 39*f126890aSEmmanuel Vadot 40*f126890aSEmmanuel Vadot&uart3 { 41*f126890aSEmmanuel Vadot status = "okay"; 42*f126890aSEmmanuel Vadot}; 43*f126890aSEmmanuel Vadot 44*f126890aSEmmanuel Vadot&uart4 { 45*f126890aSEmmanuel Vadot status = "okay"; 46*f126890aSEmmanuel Vadot}; 47*f126890aSEmmanuel Vadot 48*f126890aSEmmanuel Vadot&uart5 { 49*f126890aSEmmanuel Vadot status = "okay"; 50*f126890aSEmmanuel Vadot}; 51*f126890aSEmmanuel Vadot 52*f126890aSEmmanuel Vadot&wdt1 { 53*f126890aSEmmanuel Vadot status = "okay"; 54*f126890aSEmmanuel Vadot pinctrl-names = "default"; 55*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_wdtrst1_default>; 56*f126890aSEmmanuel Vadot aspeed,reset-type = "soc"; 57*f126890aSEmmanuel Vadot aspeed,external-signal; 58*f126890aSEmmanuel Vadot aspeed,ext-push-pull; 59*f126890aSEmmanuel Vadot aspeed,ext-active-high; 60*f126890aSEmmanuel Vadot aspeed,ext-pulse-duration = <256>; 61*f126890aSEmmanuel Vadot}; 62*f126890aSEmmanuel Vadot 63*f126890aSEmmanuel Vadot&mac3 { 64*f126890aSEmmanuel Vadot status = "okay"; 65*f126890aSEmmanuel Vadot pinctrl-names = "default"; 66*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_rmii4_default>; 67*f126890aSEmmanuel Vadot no-hw-checksum; 68*f126890aSEmmanuel Vadot use-ncsi; 69*f126890aSEmmanuel Vadot mlx,multi-host; 70*f126890aSEmmanuel Vadot ncsi-ctrl,start-redo-probe; 71*f126890aSEmmanuel Vadot ncsi-ctrl,no-channel-monitor; 72*f126890aSEmmanuel Vadot ncsi-package = <1>; 73*f126890aSEmmanuel Vadot ncsi-channel = <1>; 74*f126890aSEmmanuel Vadot ncsi-rexmit = <1>; 75*f126890aSEmmanuel Vadot ncsi-timeout = <2>; 76*f126890aSEmmanuel Vadot}; 77*f126890aSEmmanuel Vadot 78*f126890aSEmmanuel Vadot&rtc { 79*f126890aSEmmanuel Vadot status = "okay"; 80*f126890aSEmmanuel Vadot}; 81*f126890aSEmmanuel Vadot 82*f126890aSEmmanuel Vadot&fmc { 83*f126890aSEmmanuel Vadot status = "okay"; 84*f126890aSEmmanuel Vadot flash@0 { 85*f126890aSEmmanuel Vadot status = "okay"; 86*f126890aSEmmanuel Vadot m25p,fast-read; 87*f126890aSEmmanuel Vadot label = "bmc"; 88*f126890aSEmmanuel Vadot spi-rx-bus-width = <4>; 89*f126890aSEmmanuel Vadot spi-max-frequency = <50000000>; 90*f126890aSEmmanuel Vadot#include "openbmc-flash-layout-64.dtsi" 91*f126890aSEmmanuel Vadot }; 92*f126890aSEmmanuel Vadot flash@1 { 93*f126890aSEmmanuel Vadot status = "okay"; 94*f126890aSEmmanuel Vadot m25p,fast-read; 95*f126890aSEmmanuel Vadot label = "bmc2"; 96*f126890aSEmmanuel Vadot spi-rx-bus-width = <4>; 97*f126890aSEmmanuel Vadot spi-max-frequency = <50000000>; 98*f126890aSEmmanuel Vadot }; 99*f126890aSEmmanuel Vadot}; 100*f126890aSEmmanuel Vadot 101*f126890aSEmmanuel Vadot&i2c0 { 102*f126890aSEmmanuel Vadot status = "okay"; 103*f126890aSEmmanuel Vadot multi-master; 104*f126890aSEmmanuel Vadot ipmb@10 { 105*f126890aSEmmanuel Vadot compatible = "ipmb-dev"; 106*f126890aSEmmanuel Vadot reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 107*f126890aSEmmanuel Vadot i2c-protocol; 108*f126890aSEmmanuel Vadot }; 109*f126890aSEmmanuel Vadot}; 110*f126890aSEmmanuel Vadot 111*f126890aSEmmanuel Vadot&i2c1 { 112*f126890aSEmmanuel Vadot status = "okay"; 113*f126890aSEmmanuel Vadot multi-master; 114*f126890aSEmmanuel Vadot ipmb@10 { 115*f126890aSEmmanuel Vadot compatible = "ipmb-dev"; 116*f126890aSEmmanuel Vadot reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 117*f126890aSEmmanuel Vadot i2c-protocol; 118*f126890aSEmmanuel Vadot }; 119*f126890aSEmmanuel Vadot}; 120*f126890aSEmmanuel Vadot 121*f126890aSEmmanuel Vadot&i2c2 { 122*f126890aSEmmanuel Vadot status = "okay"; 123*f126890aSEmmanuel Vadot multi-master; 124*f126890aSEmmanuel Vadot ipmb@10 { 125*f126890aSEmmanuel Vadot compatible = "ipmb-dev"; 126*f126890aSEmmanuel Vadot reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 127*f126890aSEmmanuel Vadot i2c-protocol; 128*f126890aSEmmanuel Vadot }; 129*f126890aSEmmanuel Vadot}; 130*f126890aSEmmanuel Vadot 131*f126890aSEmmanuel Vadot&i2c3 { 132*f126890aSEmmanuel Vadot status = "okay"; 133*f126890aSEmmanuel Vadot multi-master; 134*f126890aSEmmanuel Vadot ipmb@10 { 135*f126890aSEmmanuel Vadot compatible = "ipmb-dev"; 136*f126890aSEmmanuel Vadot reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 137*f126890aSEmmanuel Vadot i2c-protocol; 138*f126890aSEmmanuel Vadot }; 139*f126890aSEmmanuel Vadot}; 140*f126890aSEmmanuel Vadot 141*f126890aSEmmanuel Vadot&i2c4 { 142*f126890aSEmmanuel Vadot status = "okay"; 143*f126890aSEmmanuel Vadot}; 144*f126890aSEmmanuel Vadot 145*f126890aSEmmanuel Vadot&i2c5 { 146*f126890aSEmmanuel Vadot status = "okay"; 147*f126890aSEmmanuel Vadot}; 148*f126890aSEmmanuel Vadot 149*f126890aSEmmanuel Vadot&i2c6 { 150*f126890aSEmmanuel Vadot status = "okay"; 151*f126890aSEmmanuel Vadot}; 152*f126890aSEmmanuel Vadot 153*f126890aSEmmanuel Vadot&i2c7 { 154*f126890aSEmmanuel Vadot status = "okay"; 155*f126890aSEmmanuel Vadot}; 156*f126890aSEmmanuel Vadot 157*f126890aSEmmanuel Vadot&i2c8 { 158*f126890aSEmmanuel Vadot status = "okay"; 159*f126890aSEmmanuel Vadot mctp-controller; 160*f126890aSEmmanuel Vadot temperature-sensor@1f { 161*f126890aSEmmanuel Vadot compatible = "ti,tmp421"; 162*f126890aSEmmanuel Vadot reg = <0x1f>; 163*f126890aSEmmanuel Vadot }; 164*f126890aSEmmanuel Vadot // NIC EEPROM 165*f126890aSEmmanuel Vadot eeprom@50 { 166*f126890aSEmmanuel Vadot compatible = "st,24c32"; 167*f126890aSEmmanuel Vadot reg = <0x50>; 168*f126890aSEmmanuel Vadot }; 169*f126890aSEmmanuel Vadot mctp@10 { 170*f126890aSEmmanuel Vadot compatible = "mctp-i2c-controller"; 171*f126890aSEmmanuel Vadot reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 172*f126890aSEmmanuel Vadot }; 173*f126890aSEmmanuel Vadot}; 174*f126890aSEmmanuel Vadot 175*f126890aSEmmanuel Vadot&i2c9 { 176*f126890aSEmmanuel Vadot status = "okay"; 177*f126890aSEmmanuel Vadot multi-master; 178*f126890aSEmmanuel Vadot ipmb@10 { 179*f126890aSEmmanuel Vadot compatible = "ipmb-dev"; 180*f126890aSEmmanuel Vadot reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; 181*f126890aSEmmanuel Vadot i2c-protocol; 182*f126890aSEmmanuel Vadot }; 183*f126890aSEmmanuel Vadot}; 184*f126890aSEmmanuel Vadot 185*f126890aSEmmanuel Vadot&i2c10 { 186*f126890aSEmmanuel Vadot status = "okay"; 187*f126890aSEmmanuel Vadot}; 188*f126890aSEmmanuel Vadot 189*f126890aSEmmanuel Vadot&i2c11 { 190*f126890aSEmmanuel Vadot status = "okay"; 191*f126890aSEmmanuel Vadot eeprom@51 { 192*f126890aSEmmanuel Vadot compatible = "atmel,24c128"; 193*f126890aSEmmanuel Vadot reg = <0x51>; 194*f126890aSEmmanuel Vadot }; 195*f126890aSEmmanuel Vadot eeprom@54 { 196*f126890aSEmmanuel Vadot compatible = "atmel,24c128"; 197*f126890aSEmmanuel Vadot reg = <0x54>; 198*f126890aSEmmanuel Vadot }; 199*f126890aSEmmanuel Vadot}; 200*f126890aSEmmanuel Vadot 201*f126890aSEmmanuel Vadot&i2c12 { 202*f126890aSEmmanuel Vadot status = "okay"; 203*f126890aSEmmanuel Vadot temperature-sensor@4f { 204*f126890aSEmmanuel Vadot compatible = "lm75"; 205*f126890aSEmmanuel Vadot reg = <0x4f>; 206*f126890aSEmmanuel Vadot }; 207*f126890aSEmmanuel Vadot}; 208*f126890aSEmmanuel Vadot 209*f126890aSEmmanuel Vadot&i2c13 { 210*f126890aSEmmanuel Vadot status = "okay"; 211*f126890aSEmmanuel Vadot}; 212*f126890aSEmmanuel Vadot 213*f126890aSEmmanuel Vadot&adc0 { 214*f126890aSEmmanuel Vadot ref_voltage = <2500>; 215*f126890aSEmmanuel Vadot status = "okay"; 216*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default 217*f126890aSEmmanuel Vadot &pinctrl_adc2_default &pinctrl_adc3_default 218*f126890aSEmmanuel Vadot &pinctrl_adc4_default &pinctrl_adc5_default 219*f126890aSEmmanuel Vadot &pinctrl_adc6_default &pinctrl_adc7_default>; 220*f126890aSEmmanuel Vadot}; 221*f126890aSEmmanuel Vadot 222*f126890aSEmmanuel Vadot&adc1 { 223*f126890aSEmmanuel Vadot ref_voltage = <2500>; 224*f126890aSEmmanuel Vadot status = "okay"; 225*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc10_default 226*f126890aSEmmanuel Vadot &pinctrl_adc11_default &pinctrl_adc12_default 227*f126890aSEmmanuel Vadot &pinctrl_adc13_default &pinctrl_adc14_default>; 228*f126890aSEmmanuel Vadot}; 229*f126890aSEmmanuel Vadot 230*f126890aSEmmanuel Vadot 231*f126890aSEmmanuel Vadot&ehci0 { 232*f126890aSEmmanuel Vadot status = "okay"; 233*f126890aSEmmanuel Vadot}; 234*f126890aSEmmanuel Vadot 235*f126890aSEmmanuel Vadot&ehci1 { 236*f126890aSEmmanuel Vadot status = "okay"; 237*f126890aSEmmanuel Vadot}; 238*f126890aSEmmanuel Vadot 239*f126890aSEmmanuel Vadot&uhci { 240*f126890aSEmmanuel Vadot status = "okay"; 241*f126890aSEmmanuel Vadot}; 242*f126890aSEmmanuel Vadot 243*f126890aSEmmanuel Vadot&gpio0 { 244*f126890aSEmmanuel Vadot pinctrl-names = "default"; 245*f126890aSEmmanuel Vadot pinctrl-0 = <&pinctrl_gpiu1_default &pinctrl_gpiu7_default>; 246*f126890aSEmmanuel Vadot 247*f126890aSEmmanuel Vadot gpio-line-names = 248*f126890aSEmmanuel Vadot /*A0-A7*/ "","","","","","","","", 249*f126890aSEmmanuel Vadot /*B0-B7*/ "power-bmc-nic","presence-ocp-debug", 250*f126890aSEmmanuel Vadot "power-bmc-slot1","power-bmc-slot2", 251*f126890aSEmmanuel Vadot "power-bmc-slot3","power-bmc-slot4","","", 252*f126890aSEmmanuel Vadot /*C0-C7*/ "presence-ocp-nic","","","reset-cause-nic-primary", 253*f126890aSEmmanuel Vadot "reset-cause-nic-secondary","","","", 254*f126890aSEmmanuel Vadot /*D0-D7*/ "","","","","","","","", 255*f126890aSEmmanuel Vadot /*E0-E7*/ "","","","","","","","", 256*f126890aSEmmanuel Vadot /*F0-F7*/ "slot1-bmc-reset-button","slot2-bmc-reset-button", 257*f126890aSEmmanuel Vadot "slot3-bmc-reset-button","slot4-bmc-reset-button", 258*f126890aSEmmanuel Vadot "","","","presence-emmc", 259*f126890aSEmmanuel Vadot /*G0-G7*/ "","","","","","","","", 260*f126890aSEmmanuel Vadot /*H0-H7*/ "","","","", 261*f126890aSEmmanuel Vadot "presence-mb-slot1","presence-mb-slot2", 262*f126890aSEmmanuel Vadot "presence-mb-slot3","presence-mb-slot4", 263*f126890aSEmmanuel Vadot /*I0-I7*/ "","","","","","","bb-bmc-button","", 264*f126890aSEmmanuel Vadot /*J0-J7*/ "","","","","","","","", 265*f126890aSEmmanuel Vadot /*K0-K7*/ "","","","","","","","", 266*f126890aSEmmanuel Vadot /*L0-L7*/ "","","","","","","","", 267*f126890aSEmmanuel Vadot /*M0-M7*/ "","power-nic-bmc-enable","","usb-bmc-enable","","reset-cause-usb-hub","","", 268*f126890aSEmmanuel Vadot /*N0-N7*/ "","","","","bmc-ready","","","", 269*f126890aSEmmanuel Vadot /*O0-O7*/ "","","","","","","fan0-bmc-cpld-enable","fan1-bmc-cpld-enable", 270*f126890aSEmmanuel Vadot /*P0-P7*/ "fan2-bmc-cpld-enable","fan3-bmc-cpld-enable", 271*f126890aSEmmanuel Vadot "reset-cause-pcie-slot1","reset-cause-pcie-slot2", 272*f126890aSEmmanuel Vadot "reset-cause-pcie-slot3","reset-cause-pcie-slot4","","", 273*f126890aSEmmanuel Vadot /*Q0-Q7*/ "","","","","","","","", 274*f126890aSEmmanuel Vadot /*R0-R7*/ "","","","","","","","", 275*f126890aSEmmanuel Vadot /*S0-S7*/ "","","power-p5v-usb","presence-bmc-tpm","","","","", 276*f126890aSEmmanuel Vadot /*T0-T7*/ "","","","","","","","", 277*f126890aSEmmanuel Vadot /*U0-U7*/ "","","","","","","","GND", 278*f126890aSEmmanuel Vadot /*V0-V7*/ "bmc-slot1-ac-button","bmc-slot2-ac-button", 279*f126890aSEmmanuel Vadot "bmc-slot3-ac-button","bmc-slot4-ac-button", 280*f126890aSEmmanuel Vadot "","","","", 281*f126890aSEmmanuel Vadot /*W0-W7*/ "","","","","","","","", 282*f126890aSEmmanuel Vadot /*X0-X7*/ "","","","","","","","", 283*f126890aSEmmanuel Vadot /*Y0-Y7*/ "","","","reset-cause-emmc","","","","", 284*f126890aSEmmanuel Vadot /*Z0-Z7*/ "","","","","","","",""; 285*f126890aSEmmanuel Vadot}; 286*f126890aSEmmanuel Vadot 287*f126890aSEmmanuel Vadot&gpio1 { 288*f126890aSEmmanuel Vadot gpio-line-names = 289*f126890aSEmmanuel Vadot /*18A0-18A7*/ "","","","","","","","", 290*f126890aSEmmanuel Vadot /*18B0-18B7*/ "","","","","","","","", 291*f126890aSEmmanuel Vadot /*18C0-18C7*/ "","","","","","","","", 292*f126890aSEmmanuel Vadot /*18D0-18D7*/ "","","","","","","","", 293*f126890aSEmmanuel Vadot /*18E0-18E3*/ "","","","","","","",""; 294*f126890aSEmmanuel Vadot}; 295