// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2024 ASUS Corp.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include "aspeed-g6-pinctrl.dtsi"
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/gpio/aspeed-gpio.h>
/ {
model = "ASUS-X4TF";
compatible = "asus,x4tf-bmc", "aspeed,ast2600";
aliases {
serial4 = &uart5;
};
chosen {
stdout-path = "serial4:115200n8";
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x40000000>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
video_engine_memory: video {
size = <0x04000000>;
alignment = <0x01000000>;
compatible = "shared-dma-pool";
reusable;
};
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
<&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
};
leds {
compatible = "gpio-leds";
led-heartbeat {
gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
led-uid {
gpios = <&gpio0 ASPEED_GPIO(P, 1) (GPIO_ACTIVE_LOW | GPIO_OPEN_DRAIN)>;
default-state = "off";
};
led-status_Y {
gpios = <&gpio1 ASPEED_GPIO(B, 1) GPIO_ACTIVE_LOW>;
default-state = "off";
};
led-sys_boot_status {
gpios = <&gpio1 ASPEED_GPIO(B, 0) GPIO_ACTIVE_LOW>;
default-state = "off";
};
};
};
&adc0 {
vref = <2500>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
&pinctrl_adc2_default &pinctrl_adc3_default
&pinctrl_adc4_default &pinctrl_adc5_default
&pinctrl_adc6_default &pinctrl_adc7_default>;
};
&adc1 {
vref = <2500>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default
&pinctrl_adc10_default &pinctrl_adc11_default
&pinctrl_adc12_default &pinctrl_adc13_default
&pinctrl_adc14_default &pinctrl_adc15_default>;
};
&peci0 {
status = "okay";
};
&lpc_snoop {
snoop-ports = <0x80>;
status = "okay";
};
&mac2 {
status = "okay";
phy-mode = "rmii";
use-ncsi;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii3_default>;
};
&mac3 {
status = "okay";
phy-mode = "rmii";
use-ncsi;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-64.dtsi"
};
};
&spi1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi1_default>;
flash@0 {
status = "okay";
label = "bios";
spi-max-frequency = <50000000>;
};
};
&i2c0 {
status = "okay";
};
&i2c1 {
status = "okay";
};
&i2c2 {
status = "okay";
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
};
temperature-sensor@49 {
compatible = "ti,tmp75";
reg = <0x49>;
};
pca9555_4_20: gpio@20 {
compatible = "nxp,pca9555";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
};
pca9555_4_22: gpio@22 {
compatible = "nxp,pca9555";
reg = <0x22>;
gpio-controller;
#gpio-cells = <2>;
};
pca9555_4_24: gpio@24 {
compatible = "nxp,pca9555";
reg = <0x24>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
/*A0 - A3 0*/ "", "STRAP_BMC_BATTERY_GPIO1", "", "",
/*A4 - A7 4*/ "", "", "", "",
/*B0 - B7 8*/ "", "", "", "", "", "", "", "";
};
pca9555_4_26: gpio@26 {
compatible = "nxp,pca9555";
reg = <0x26>;
gpio-controller;
#gpio-cells = <2>;
};
i2c-mux@70 {
compatible = "nxp,pca9546";
status = "okay";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
channel_1: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
channel_2: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
channel_3: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
channel_4: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
&i2c5 {
status = "okay";
pca9555_5_24: gpio@24 {
compatible = "nxp,pca9555";
reg = <0x24>;
gpio-controller;
#gpio-cells = <2>;
};
i2c-mux@70 {
compatible = "nxp,pca9546";
status = "okay";
reg = <0x70 >;
#address-cells = <1>;
#size-cells = <0>;
channel_5: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
pca9555_5_5_20: gpio@20 {
compatible = "nxp,pca9555";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"", "", "", "", "", "", "", "",
"", "", "SYS_FAN6", "SYS_FAN5",
"SYS_FAN4", "SYS_FAN3",
"SYS_FAN2", "SYS_FAN1";
};
pca9555_5_5_21: gpio@21 {
compatible = "nxp,pca9555";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
};
power-monitor@44 {
compatible = "ti,ina219";
reg = <0x44>;
shunt-resistor = <2>;
};
};
channel_6: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
channel_7: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
channel_8: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
&i2c6 {
status = "okay";
pca9555_6_27: gpio@27 {
compatible = "nxp,pca9555";
reg = <0x27>;
gpio-controller;
#gpio-cells = <2>;
};
pca9555_6_20: gpio@20 {
compatible = "nxp,pca9555";
reg = <0x20>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
/*A0 0*/ "", "", "", "", "", "", "", "",
/*B0 8*/ "Drive_NVMe1", "Drive_NVMe2", "", "",
/*B4 12*/ "", "", "", "";
};
pca9555_6_21: gpio@21 {
compatible = "nxp,pca9555";
reg = <0x21>;
gpio-controller;
#gpio-cells = <2>;
};
};
&i2c7 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9546";
status = "okay";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
idle-state = <1>;
channel_9: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
};
temperature-sensor@49 {
compatible = "ti,tmp75";
reg = <0x49>;
};
power-monitor@40 {
compatible = "ti,ina219";
reg = <0x40>;
shunt-resistor = <2>;
};
power-monitor@41 {
compatible = "ti,ina219";
reg = <0x41>;
shunt-resistor = <5>;
};
};
channel_10: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
channel_11: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
channel_12: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
i2c-mux@71 {
compatible = "nxp,pca9546";
status = "okay";
reg = <0x71>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
channel_13: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
channel_14: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
channel_15: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
channel_16: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
&i2c8 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9546";
status = "okay";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
channel_17: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
channel_18: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
};
power-monitor@41 {
compatible = "ti,ina219";
reg = <0x41>;
shunt-resistor = <5>;
};
};
channel_19: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
channel_20: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
};
&i2c14 {
status = "okay";
multi-master;
eeprom@50 {
compatible = "atmel,24c08";
reg = <0x50>;
};
eeprom@51 {
compatible = "atmel,24c08";
reg = <0x51>;
};
};
&sgpiom0 {
status = "okay";
ngpios = <128>;
};
&video {
status = "okay";
memory-region = <&video_engine_memory>;
};
&sdc {
status = "okay";
};
&lpc_snoop {
status = "okay";
snoop-ports = <0x80>;
};
&kcs1 {
aspeed,lpc-io-reg = <0xca0>;
status = "okay";
};
&kcs2 {
aspeed,lpc-io-reg = <0xca8>;
status = "okay";
};
&kcs3 {
aspeed,lpc-io-reg = <0xca2>;
status = "okay";
};
&uart3 {
status = "okay";
};
&uart5 {
status = "okay";
};
&uart_routing {
status = "okay";
};
&vhub {
status = "okay";
};
&gpio0 {
gpio-line-names =
/*A0 0*/ "", "", "", "", "", "", "", "",
/*B0 8*/ "", "", "", "", "", "", "PS_PWROK", "",
/*C0 16*/ "", "", "", "", "", "", "", "",
/*D0 24*/ "", "", "", "", "", "", "", "",
/*E0 32*/ "", "", "", "", "", "", "", "",
/*F0 40*/ "", "", "", "", "", "", "", "",
/*G0 48*/ "", "", "", "", "", "", "", "",
/*H0 56*/ "", "", "", "", "", "", "", "",
/*I0 64*/ "", "", "", "", "", "", "", "",
/*J0 72*/ "", "", "", "", "", "", "", "",
/*K0 80*/ "", "", "", "", "", "", "", "",
/*L0 88*/ "", "", "", "", "", "", "", "",
/*M0 96*/ "", "", "", "", "", "", "", "",
/*N0 104*/ "", "", "", "",
/*N4 108*/ "POST_COMPLETE", "ESR1_GPIO_AST_SPISEL", "", "",
/*O0 112*/ "", "", "", "", "", "", "", "",
/*P0 120*/ "ID_BUTTON", "ID_OUT", "POWER_BUTTON", "POWER_OUT",
/*P4 124*/ "RESET_BUTTON", "RESET_OUT", "", "HEARTBEAT",
/*Q0 128*/ "", "", "", "", "", "", "", "",
/*R0 136*/ "", "", "", "", "", "", "", "",
/*S0 144*/ "", "", "", "", "", "", "", "",
/*T0 152*/ "", "", "", "", "", "", "", "",
/*U0 160*/ "", "", "", "", "", "", "", "",
/*V0 168*/ "", "", "", "", "", "", "", "",
/*W0 176*/ "", "", "", "", "", "", "", "",
/*X0 184*/ "", "", "", "", "", "", "", "",
/*Y0 192*/ "", "", "", "", "", "", "", "",
/*Z0 200*/ "", "", "", "", "", "", "", "";
};