Commit aa32dec6 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'aspeed-6.10-devicetree' of...

Merge tag 'aspeed-6.10-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc into soc/dt-late

ASPEED device tree updates for 6.10

 - New and removed machines:

  * IBM System1 AST2600 BMC, a x86 server
  * ASUS X4TF AST2600 BMC, a x86 server
  * ASRock SPC621D8HM3 AST2500 BMC, a Intel Xeon system
  * ASRock E3C256D4I AST2500 BMC, a Intel Xeon system
  * Add ASRock X570D4U's AST2500 BMC, an AMD Ryzen 5000 system
  * Facebook Harma's AST2600 BMC
  * Facebook Cloudripper is removed

 - Updates to machines merged this cycle, as well as bonnell,
   yosemite4, minerva and others

* tag 'aspeed-6.10-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc: (52 commits)
  ARM: dts: aspeed: Add ASRock E3C256D4I BMC
  dt-bindings: arm: aspeed: document ASRock E3C256D4I
  dt-bindings: trivial-devices: add isil,isl69269
  ARM: dts: aspeed: x4tf: Add dts for asus x4tf project
  dt-bindings: arm: aspeed: add ASUS X4TF board
  ARM: dts: aspeed: Remove Facebook Cloudripper dts
  ARM: dts: aspeed: drop unused ref_voltage ADC property
  ARM: dts: aspeed: harma: correct Mellanox multi-host property
  ARM: dts: aspeed: yosemitev2: correct Mellanox multi-host property
  ARM: dts: aspeed: yosemite4: correct Mellanox multi-host property
  ARM: dts: aspeed: greatlakes: correct Mellanox multi-host property
  ARM: dts: aspeed: Modify I2C bus configuration
  ARM: dts: aspeed: Disable unused ADC channels for Asrock X570D4U BMC
  ARM: dts: aspeed: Modify GPIO table for Asrock X570D4U BMC
  ARM: dts: aspeed: yosemite4: set bus13 frequency to 100k
  ARM: dts: Aspeed: Bonnell: Fix NVMe LED labels
  ARM: dts: aspeed: yosemite4: Enable ipmb device for OCP debug card
  ARM: dts: aspeed: ahe50dc: Update lm25066 regulator name
  ARM: dts: aspeed: Add vendor prefixes to lm25066 compat strings
  ARM: dts: aspeed: asrock: Use MAC address from FRU EEPROM
  ...

Link: https://lore.kernel.org/r/CACPK8Xd2Qc9MQUJ-8GuRjmyU50oMHpmmHPHLqAh9W_1Gyqi2ug@mail.gmail.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 24ae5d24 c44211af
......@@ -35,7 +35,10 @@ properties:
- ampere,mtjade-bmc
- aspeed,ast2500-evb
- asrock,e3c246d4i-bmc
- asrock,e3c256d4i-bmc
- asrock,romed8hm3-bmc
- asrock,spc621d8hm3-bmc
- asrock,x570d4u-bmc
- bytedance,g220a-bmc
- facebook,cmm-bmc
- facebook,minipack-bmc
......@@ -74,15 +77,18 @@ properties:
- ampere,mtmitchell-bmc
- aspeed,ast2600-evb
- aspeed,ast2600-evb-a1
- asus,x4tf-bmc
- facebook,bletchley-bmc
- facebook,cloudripper-bmc
- facebook,elbert-bmc
- facebook,fuji-bmc
- facebook,greatlakes-bmc
- facebook,harma-bmc
- facebook,minerva-cmc
- facebook,yosemite4-bmc
- ibm,everest-bmc
- ibm,rainier-bmc
- ibm,system1-bmc
- ibm,tacoma-bmc
- inventec,starscream-bmc
- inventec,transformer-bmc
......
......@@ -160,6 +160,8 @@ properties:
- isil,isl29030
# Intersil ISL68137 Digital Output Configurable PWM Controller
- isil,isl68137
# Intersil ISL69269 PMBus Voltage Regulator
- isil,isl69269
# Intersil ISL76682 Ambient Light Sensor
- isil,isl76682
# Linear Technology LTC2488
......
......@@ -9,17 +9,21 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-ampere-mtmitchell.dtb \
aspeed-bmc-arm-stardragon4800-rep2.dtb \
aspeed-bmc-asrock-e3c246d4i.dtb \
aspeed-bmc-asrock-e3c256d4i.dtb \
aspeed-bmc-asrock-romed8hm3.dtb \
aspeed-bmc-asrock-spc621d8hm3.dtb \
aspeed-bmc-asrock-x570d4u.dtb \
aspeed-bmc-asus-x4tf.dtb \
aspeed-bmc-bytedance-g220a.dtb \
aspeed-bmc-delta-ahe50dc.dtb \
aspeed-bmc-facebook-bletchley.dtb \
aspeed-bmc-facebook-cloudripper.dtb \
aspeed-bmc-facebook-cmm.dtb \
aspeed-bmc-facebook-elbert.dtb \
aspeed-bmc-facebook-fuji.dtb \
aspeed-bmc-facebook-galaxy100.dtb \
aspeed-bmc-facebook-greatlakes.dtb \
aspeed-bmc-facebook-minerva-cmc.dtb \
aspeed-bmc-facebook-harma.dtb \
aspeed-bmc-facebook-minerva.dtb \
aspeed-bmc-facebook-minipack.dtb \
aspeed-bmc-facebook-tiogapass.dtb \
aspeed-bmc-facebook-wedge40.dtb \
......@@ -33,6 +37,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-ibm-rainier.dtb \
aspeed-bmc-ibm-rainier-1s4u.dtb \
aspeed-bmc-ibm-rainier-4u.dtb \
aspeed-bmc-ibm-system1.dtb \
aspeed-bmc-intel-s2600wf.dtb \
aspeed-bmc-inspur-fp5280g2.dtb \
aspeed-bmc-inspur-nf5280m6.dtb \
......
......@@ -813,7 +813,6 @@ bmc_ast2600_cpu: temperature-sensor@35 {
};
&adc0 {
ref_voltage = <2500>;
status = "okay";
pinctrl-names = "default";
......
......@@ -83,6 +83,9 @@ &mac0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
nvmem-cells = <&eth0_macaddress>;
nvmem-cell-names = "mac-address";
};
&i2c1 {
......@@ -103,6 +106,12 @@ eeprom@57 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x57>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
};
};
......
// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/watchdog/aspeed-wdt.h>
/{
model = "ASRock E3C256D4I BMC";
compatible = "asrock,e3c256d4i-bmc", "aspeed,ast2500";
aliases {
serial4 = &uart5;
i2c20 = &i2c2mux0ch0;
i2c21 = &i2c2mux0ch1;
i2c22 = &i2c2mux0ch2;
i2c23 = &i2c2mux0ch3;
};
chosen {
stdout-path = &uart5;
};
memory@80000000 {
reg = <0x80000000 0x20000000>;
};
leds {
compatible = "gpio-leds";
/* BMC heartbeat */
led-0 {
gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
linux,default-trigger = "timer";
};
/* system fault */
led-1 {
gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>;
function = LED_FUNCTION_FAULT;
color = <LED_COLOR_ID_RED>;
panic-indicator;
};
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
<&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
<&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>;
};
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <100000000>; /* 100 MHz */
#include "openbmc-flash-layout-64.dtsi"
};
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};
&uart3 {
status = "okay";
};
&uart4 {
status = "okay";
};
&uart5 {
status = "okay";
};
&uart_routing {
status = "okay";
};
&mac0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
nvmem-cells = <&eth0_macaddress>;
nvmem-cell-names = "mac-address";
};
&i2c0 {
status = "okay";
};
&i2c1 {
status = "okay";
};
&i2c2 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9545";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c2mux0ch0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c2mux0ch1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c2mux0ch2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c2mux0ch3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
vrm@60 {
compatible = "isil,isl69269";
reg = <0x60>;
};
};
&i2c12 {
status = "okay";
/* FRU eeprom */
eeprom@57 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x57>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
};
};
&video {
status = "okay";
};
&vhub {
status = "okay";
};
&lpc_ctrl {
status = "okay";
};
&lpc_snoop {
status = "okay";
snoop-ports = <0x80>;
};
&kcs3 {
status = "okay";
aspeed,lpc-io-reg = <0xca2>;
};
&peci0 {
status = "okay";
};
&wdt1 {
aspeed,reset-mask = <(AST2500_WDT_RESET_DEFAULT & ~AST2500_WDT_RESET_LPC)>;
};
&wdt2 {
aspeed,reset-mask = <(AST2500_WDT_RESET_DEFAULT & ~AST2500_WDT_RESET_LPC)>;
};
&pwm_tacho {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm0_default /* CPU */
&pinctrl_pwm2_default /* rear */
&pinctrl_pwm4_default>; /* front */
/* CPU */
fan@0 {
reg = <0x00>;
aspeed,fan-tach-ch = /bits/ 8 <0x00>;
};
/* rear */
fan@2 {
reg = <0x02>;
aspeed,fan-tach-ch = /bits/ 8 <0x02>;
};
/* front */
fan@4 {
reg = <0x04>;
aspeed,fan-tach-ch = /bits/ 8 <0x04>;
};
};
&gpio {
status = "okay";
gpio-line-names =
/* A */ "", "", "NMI_BTN_N", "BMC_NMI", "", "", "", "",
/* B */ "", "", "", "", "", "", "", "",
/* C */ "", "", "", "", "", "", "", "",
/* D */ "BMC_PSIN", "BMC_PSOUT", "BMC_RESETCON", "RESETCON",
"", "", "", "",
/* E */ "", "", "", "", "", "", "", "",
/* F */ "LOCATORLED_STATUS_N", "LOCATORBTN", "", "",
"", "", "BMC_PCH_SCI_LPC", "BMC_NCSI_MUX_CTL",
/* G */ "HWM_BAT_EN", "CHASSIS_ID0", "CHASSIS_ID1", "CHASSIS_ID2",
"", "", "", "",
/* H */ "FM_ME_RCVR_N", "O_PWROK", "", "D4_DIMM_EVENT_3V_N",
"MFG_MODE_N", "BMC_RTCRST", "BMC_HB_LED_N", "BMC_CASEOPEN",
/* I */ "", "", "", "", "", "", "", "",
/* J */ "BMC_READY", "BMC_PCH_BIOS_CS_N", "BMC_SMI", "", "", "", "", "",
/* K */ "", "", "", "", "", "", "", "",
/* L */ "", "", "", "", "", "", "", "",
/* M */ "", "", "", "", "", "", "", "",
/* N */ "", "", "", "", "", "", "", "",
/* O */ "", "", "", "", "", "", "", "",
/* P */ "", "", "", "", "", "", "", "",
/* Q */ "", "", "", "", "", "", "", "",
/* R */ "", "", "", "", "", "", "", "",
/* S */ "PCHHOT_BMC_N", "", "RSMRST", "", "", "", "", "",
/* T */ "", "", "", "", "", "", "", "",
/* U */ "", "", "", "", "", "", "", "",
/* V */ "", "", "", "", "", "", "", "",
/* W */ "", "", "", "", "", "", "", "",
/* X */ "", "", "", "", "", "", "", "",
/* Y */ "SLP_S3", "SLP_S5", "", "", "", "", "", "",
/* Z */ "CPU_CATERR_BMC_N", "", "SYSTEM_FAULT_LED_N", "BMC_THROTTLE_N",
"", "", "", "",
/* AA */ "CPU1_THERMTRIP_LATCH_N", "", "CPU1_PROCHOT_N", "",
"", "", "IRQ_SMI_ACTIVE_N", "FM_BIOS_POST_CMPLT_N",
/* AB */ "", "", "ME_OVERRIDE", "BMC_DMI_MODIFY", "", "", "", "",
/* AC */ "", "", "", "", "", "", "", "";
};
&adc {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc0_default /* 3VSB */
&pinctrl_adc1_default /* 5VSB */
&pinctrl_adc2_default /* CPU1 */
&pinctrl_adc3_default /* VCCSA */
&pinctrl_adc4_default /* VCCM */
&pinctrl_adc5_default /* V10M */
&pinctrl_adc6_default /* VCCIO */
&pinctrl_adc7_default /* VCCGT */
&pinctrl_adc8_default /* VPPM */
&pinctrl_adc9_default /* BAT */
&pinctrl_adc10_default /* 3V */
&pinctrl_adc11_default /* 5V */
&pinctrl_adc12_default /* 12V */
&pinctrl_adc13_default /* GND */
&pinctrl_adc14_default /* GND */
&pinctrl_adc15_default>; /* GND */
};
......@@ -71,6 +71,9 @@ &mac0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
nvmem-cells = <&eth0_macaddress>;
nvmem-cell-names = "mac-address";
};
&i2c0 {
......@@ -98,14 +101,14 @@ w83773g@4c {
/* IPB PMIC */
lm25066@40 {
compatible = "lm25066";
compatible = "ti,lm25066";
reg = <0x40>;
shunt-resistor-micro-ohms = <1000>;
};
/* 12VSB PMIC */
lm25066@41 {
compatible = "lm25066";
compatible = "ti,lm25066";
reg = <0x41>;
shunt-resistor-micro-ohms = <10000>;
};
......@@ -131,6 +134,12 @@ eeprom@50 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x50>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
};
};
......
// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
/{
model = "ASRock SPC621D8HM3 BMC";
compatible = "asrock,spc621d8hm3-bmc", "aspeed,ast2500";
aliases {
serial4 = &uart5;
i2c20 = &i2c1mux0ch0;
i2c21 = &i2c1mux0ch1;
};
chosen {
stdout-path = &uart5;
};
memory@80000000 {
reg = <0x80000000 0x20000000>;
};
leds {
compatible = "gpio-leds";
/* BMC heartbeat */
led-0 {
gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
linux,default-trigger = "timer";
};
/* system fault */
led-1 {
gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>;
function = LED_FUNCTION_FAULT;
color = <LED_COLOR_ID_RED>;
panic-indicator;
};
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>,
<&adc 4>, <&adc 5>, <&adc 6>, <&adc 7>,
<&adc 8>, <&adc 9>, <&adc 10>, <&adc 11>,
<&adc 12>, <&adc 13>, <&adc 14>, <&adc 15>;
};
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>; /* 50 MHz */
#include "openbmc-flash-layout-64.dtsi"
};
};
&uart5 {
status = "okay";
};
&vuart {
status = "okay";
aspeed,lpc-io-reg = <0x2f8>;
aspeed,lpc-interrupts = <3 IRQ_TYPE_LEVEL_HIGH>;
};
&mac0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
nvmem-cells = <&eth0_macaddress>;
nvmem-cell-names = "mac-address";
};
&i2c0 {
status = "okay";
};
&i2c1 {
status = "okay";
/* hardware monitor/thermal sensor */
temperature-sensor@29 {
compatible = "nuvoton,nct7802";
reg = <0x29>;
};
/* motherboard temp sensor (TMP1, near BMC) */
temperature-sensor@4c {
compatible = "nuvoton,w83773g";
reg = <0x4c>;
};
/* motherboard FRU eeprom */
eeprom@50 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x50>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
};
/* M.2 slot smbus mux */
i2c-mux@71 {
compatible = "nxp,pca9545";
reg = <0x71>;
#address-cells = <1>;
#size-cells = <0>;
i2c1mux0ch0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c1mux0ch1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
};
};
&i2c2 {
status = "okay";
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
};
&i2c12 {
status = "okay";
};
&i2c13 {
status = "okay";
};
&video {
status = "okay";
};
&vhub {
status = "okay";
};
&lpc_ctrl {
status = "okay";
};
&lpc_snoop {
status = "okay";
snoop-ports = <0x80>;
};
&kcs3 {
status = "okay";
aspeed,lpc-io-reg = <0xca2>;
};
&peci0 {
status = "okay";
};
&pwm_tacho {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm0_default
&pinctrl_pwm2_default
&pinctrl_pwm3_default
&pinctrl_pwm4_default>;
fan@0 {
reg = <0x00>;
aspeed,fan-tach-ch = /bits/ 8 <0x00>;
};
fan@2 {
reg = <0x02>;
aspeed,fan-tach-ch = /bits/ 8 <0x02>;
};
fan@3 {
reg = <0x03>;
aspeed,fan-tach-ch = /bits/ 8 <0x03>;
};
fan@4 {
reg = <0x04>;
aspeed,fan-tach-ch = /bits/ 8 <0x04>;
};
};
&gpio {
status = "okay";
gpio-line-names =
/* A */ "LOCATORLED_STATUS_N", "LOCATORBTN_N",
"BMC_READY_N", "FM_SPD_DDRCPU_LVLSHFT_EN",
"", "", "", "",
/* B */ "NODE_ID_1", "NODE_ID_2", "PSU_FAN_FAIL_N", "",
"", "", "", "GPIO_RST",
/* C */ "", "", "", "", "", "", "", "",
/* D */ "FP_PWR_BTN_MUX_N", "FM_BMC_PWRBTN_OUT_N",
"FP_RST_BTN_N", "RST_BMC_RSTBTN_OUT_N",
"NMI_BTN_N", "BMC_NMI",
"", "",
/* E */ "", "", "", "FM_ME_RCVR_N", "", "", "", "",
/* F */ "BMC_SMB_SEL_N", "FM_CPU2_DISABLE_COD_N",
"FM_REMOTE_DEBUG_BMC_EN", "FM_CPU_ERR0_LVT3_EN",
"FM_CPU_ERR1_LVT3_EN", "FM_CPU_ERR2_LVT3_EN",
"FM_MEM_THERM_EVENT_CPU1_LVT3_N", "FM_MEM_THERM_EVENT_CPU2_LVT3_N",
/* G */ "HWM_BAT_EN", "", "BMC_PHYRST_N", "FM_BIOS_SPI_BMC_CTRL",
"BMC_ALERT1_N", "BMC_ALERT2_N", "BMC_ALERT3_N", "IRQ_SML0_ALERT_N",
/* H */ "BMC_SMB_PRESENT_1_N", "FM_PCH_CORE_VID_0", "FM_PCH_CORE_VID_1", "",
"FM_MFG_MODE", "BMC_RTCRST", "BMC_HB_LED_N", "BMC_CASEOPEN",
/* I */ "IRQ_PVDDQ_ABCD_CPU1_VRHOT_LVC3_N", "IRQ_PVDDQ_ABCD_CPU2_VRHOT_LVC3_N",
"IRQ_PVDDQ_EFGH_CPU1_VRHOT_LVC3_N", "IRQ_PVDDQ_EFGH_CPU2_VRHOT_LVC3_N",
"", "", "", "",
/* J */ "", "", "", "", "", "", "", "",
/* K */ "", "", "", "", "", "", "", "",
/* L */ "", "", "", "", "", "", "", "",
/* M */ "FM_PVCCIN_CPU1_PWR_IN_ALERT_N", "FM_PVCCIN_CPU2_PWR_IN_ALERT_N",
"IRQ_PVCCIN_CPU1_VRHOT_LVC3_N", "IRQ_PVCCIN_CPU2_VRHOT_LVC3_N",
"FM_CPU1_PROCHOT_BMC_LVC3_N", "",
"FM_CPU1_MEMHOT_OUT_N", "FM_CPU2_MEMHOT_OUT_N",
/* N */ "", "", "", "", "", "", "", "",
/* O */ "", "", "", "", "", "", "", "",
/* P */ "", "", "", "", "", "", "", "",
/* Q */ "", "", "", "", "", "", "RST_GLB_RST_WARN_N", "PCIE_WAKE_N",
/* R */ "", "", "FM_BMC_SUSACK_N", "FM_BMC_EUP_LOT6_N",
"", "FM_BMC_PCH_SCI_LPC_N", "", "",
/* S */ "FM_DBP_PRESENT_N", "FM_CPU2_SKTOCC_LCT3_N",
"FM_CPU1_FIVR_FAULT_LVT3", "FM_CPU2_FIVR_FAULT_LVT3",
"", "", "", "",
/* T */ "", "", "", "", "", "", "", "",
/* U */ "", "", "", "", "", "", "", "",
/* V */ "", "", "", "", "", "", "", "",
/* W */ "", "", "", "", "", "", "", "",
/* X */ "", "", "", "", "", "", "", "",
/* Y */ "FM_SLPS3_N", "FM_SLPS4_N", "", "FM_BMC_ONCTL_N_PLD",
"", "", "", "",
/* Z */ "FM_CPU_MSMI_CATERR_LVT3_N", "", "SYSTEM_FAULT_LED_N", "BMC_THROTTLE_N",
"", "", "", "",
/* AA */ "FM_CPU1_THERMTRIP_LATCH_LVT3_N", "FM_CPU2_THERMTRIP_LATCH_LVT3_N",
"FM_BIOS_POST_COMPLT_N", "DBP_BMC_SYSPWROK",
"", "IRQ_SML0_ALERT_MUX_N",
"IRQ_SMI_ACTIVE_N", "IRQ_NMI_EVENT_N",
/* AB */ "FM_PCH_BMC_THERMTRIP_N", "PWRGD_SYS_PWROK",
"ME_OVERRIDE", "IRQ_BMC_PCH_SMI_LPC_N",
"", "", "", "",
/* AC */ "", "", "", "", "", "", "", "";
};
&adc {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc0_default /* 3VSB */
&pinctrl_adc1_default /* 5VSB */
&pinctrl_adc2_default /* CPU1 */
&pinctrl_adc3_default /* NC */
&pinctrl_adc4_default /* VCCMABCD */
&pinctrl_adc5_default /* VCCMEFGH */
&pinctrl_adc6_default /* NC */
&pinctrl_adc7_default /* NC */
&pinctrl_adc8_default /* PVNN_PCH */
&pinctrl_adc9_default /* 1P05PCH */
&pinctrl_adc10_default /* 1P8PCH */
&pinctrl_adc11_default /* BAT */
&pinctrl_adc12_default /* 3V */
&pinctrl_adc13_default /* 5V */
&pinctrl_adc14_default /* 12V */
&pinctrl_adc15_default>; /* GND */
};
// SPDX-License-Identifier: GPL-2.0+
/dts-v1/;
#include "aspeed-g5.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/leds/common.h>
/ {
model = "Asrock Rack X570D4U BMC";
compatible = "asrock,x570d4u-bmc", "aspeed,ast2500";
aliases {
i2c40 = &i2c4mux0ch0;
i2c41 = &i2c4mux0ch1;
i2c42 = &i2c4mux0ch2;
i2c43 = &i2c4mux0ch3;
};
chosen {
stdout-path = &uart5;
};
memory@80000000 {
reg = <0x80000000 0x20000000>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
pci_memory: region@9a000000 {
no-map;
reg = <0x9a000000 0x00010000>; /* 64K */
};
video_engine_memory: jpegbuffer {
size = <0x02800000>; /* 40M */
alignment = <0x01000000>;
compatible = "shared-dma-pool";
reusable;
};
gfx_memory: framebuffer {
size = <0x01000000>;
alignment = <0x01000000>;
compatible = "shared-dma-pool";
reusable;
};
};
leds {
compatible = "gpio-leds";
led-0 {
/* led-heartbeat-n */
gpios = <&gpio ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_HEARTBEAT;
linux,default-trigger = "timer";
};
led-1 {
/* led-fault-n */
gpios = <&gpio ASPEED_GPIO(Z, 2) GPIO_ACTIVE_LOW>;
color = <LED_COLOR_ID_AMBER>;
function = LED_FUNCTION_FAULT;
panic-indicator;
};
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc 0>, <&adc 1>, <&adc 2>, <&adc 3>, <&adc 4>,
<&adc 5>, <&adc 6>, <&adc 7>, <&adc 8>, <&adc 9>,
<&adc 10>, <&adc 11>, <&adc 12>;
};
};
&gpio {
status = "okay";
gpio-line-names =
/* A */ "input-locatorled-n", "", "", "", "", "", "", "",
/* B */ "input-bios-post-cmplt-n", "", "", "", "", "", "", "",
/* C */ "", "", "", "", "", "", "control-locatorbutton-n", "",
/* D */ "button-power-n", "control-power-n", "button-reset-n",
"control-reset-n", "", "", "", "",
/* E */ "", "", "", "", "", "", "", "",
/* F */ "", "", "", "", "", "", "", "",
/* G */ "output-hwm-vbat-enable", "input-id0-n", "input-id1-n",
"input-id2-n", "input-aux-smb-alert-n", "",
"input-psu-smb-alert-n", "",
/* H */ "", "", "", "", "input-mfg-mode-n", "",
"led-heartbeat-n", "input-case-open-n",
/* I */ "", "", "", "", "", "", "", "",
/* J */ "output-bmc-ready-n", "", "", "", "", "", "", "",
/* K */ "", "", "", "", "", "", "", "",
/* L */ "", "", "", "", "", "", "", "",
/* M */ "", "", "", "", "", "", "", "",
/* N */ "", "", "", "", "", "", "", "",
/* O */ "", "", "", "", "", "", "", "",
/* P */ "", "", "", "", "", "", "", "",
/* Q */ "", "", "", "", "input-bmc-smb-present-n", "", "",
"input-pcie-wake-n",
/* R */ "", "", "", "", "", "", "", "",
/* S */ "input-bmc-pchhot-n", "", "", "", "", "", "", "",
/* T */ "", "", "", "", "", "", "", "",
/* U */ "", "", "", "", "", "", "", "",
/* V */ "", "", "", "", "", "", "", "",
/* W */ "", "", "", "", "", "", "", "",
/* X */ "", "", "", "", "", "", "", "",
/* Y */ "input-sleep-s3-n", "input-sleep-s5-n", "", "", "", "",
"", "",
/* Z */ "", "", "led-fault-n", "output-bmc-throttle-n", "", "",
"", "",
/* AA */ "input-cpu1-thermtrip-latch-n", "",
"input-cpu1-prochot-n", "", "", "", "", "",
/* AB */ "", "input-power-good", "", "", "", "", "", "",
/* AC */ "", "", "", "", "", "", "", "";
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
label = "bmc";
m25p,fast-read;
spi-max-frequency = <10000000>;
#include "openbmc-flash-layout-64.dtsi"
};
};
&uart5 {
status = "okay";
};
&vuart {
status = "okay";
};
&mac0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii1_default &pinctrl_mdio1_default>;
nvmem-cells = <&eth0_macaddress>;
nvmem-cell-names = "mac-address";
};
&mac1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii2_default &pinctrl_mdio2_default>;
use-ncsi;
nvmem-cells = <&eth1_macaddress>;
nvmem-cell-names = "mac-address";
};
&i2c0 {
/* SMBus on auxiliary panel header (AUX_PANEL1) */
status = "okay";
};
&i2c1 {
/* Hardware monitoring SMBus */
status = "okay";
w83773g@4c {
compatible = "nuvoton,w83773g";
reg = <0x4c>;
};
};
&i2c2 {
/* PSU SMBus (PSU_SMB1) */
status = "okay";
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9545";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c4mux0ch0: i2c@0 {
/* SMBus on PCI express 16x slot */
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c4mux0ch1: i2c@1 {
/* SMBus on PCI express 8x slot */
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c4mux0ch2: i2c@2 {
/* Unknown */
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c4mux0ch3: i2c@3 {
/* SMBus on PCI express 1x slot */
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
&i2c5 {
/* SMBus on BMC connector (BMC_SMB_1) */
status = "okay";
};
&i2c7 {
/* FRU and SPD EEPROM SMBus */
status = "okay";
eeprom@57 {
compatible = "st,24c128", "atmel,24c128";
reg = <0x57>;
pagesize = <16>;
#address-cells = <1>;
#size-cells = <1>;
eth0_macaddress: macaddress@3f80 {
reg = <0x3f80 6>;
};
eth1_macaddress: macaddress@3f88 {
reg = <0x3f88 6>;
};
};
};
&i2c8 {
/* SMBus on intelligent platform management bus header (IPMB_1) */
status = "okay";
};
&gfx {
status = "okay";
};
&pinctrl {
aspeed,external-nodes = <&gfx &lhc>;
};
&vhub {
status = "okay";
};
&ehci1 {
status = "okay";
};
&uhci {
status = "okay";
};
&kcs3 {
aspeed,lpc-io-reg = <0xca2>;
status = "okay";
};
&lpc_ctrl {
status = "okay";
};
&lpc_snoop {
status = "okay";
snoop-ports = <0x80>;
};
&p2a {
status = "okay";
memory-region = <&pci_memory>;
};
&video {
status = "okay";
memory-region = <&video_engine_memory>;
};
&pwm_tacho {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_pwm0_default
&pinctrl_pwm1_default
&pinctrl_pwm2_default
&pinctrl_pwm3_default
&pinctrl_pwm4_default
&pinctrl_pwm5_default>;
fan@0 {
/* FAN1 (4-pin) */
reg = <0x00>;
aspeed,fan-tach-ch = /bits/ 8 <0x00>;
};
fan@1 {
/* FAN2 (4-pin) */
reg = <0x01>;
aspeed,fan-tach-ch = /bits/ 8 <0x01>;
};
fan@2 {
/* FAN3 (4-pin) */
reg = <0x02>;
aspeed,fan-tach-ch = /bits/ 8 <0x02>;
};
fan@3 {
/* FAN4 (6-pin) */
reg = <0x03>;
aspeed,fan-tach-ch = /bits/ 8 <0x04 0x0b>;
};
fan@4 {
/* FAN6 (6-pin) */
reg = <0x04>;
aspeed,fan-tach-ch = /bits/ 8 <0x06 0x0d>;
};
fan@5 {
/* FAN5 (6-pin) */
reg = <0x05>;
aspeed,fan-tach-ch = /bits/ 8 <0x05 0x0c>;
};
};
&adc {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc0_default /* 3VSB */
&pinctrl_adc1_default /* 5VSB */
&pinctrl_adc2_default /* VCPU */
&pinctrl_adc3_default /* VSOC */
&pinctrl_adc4_default /* VCCM */
&pinctrl_adc5_default /* APU-VDDP */
&pinctrl_adc6_default /* PM-VDD-CLDO */
&pinctrl_adc7_default /* PM-VDDCR-S5 */
&pinctrl_adc8_default /* PM-VDDCR */
&pinctrl_adc9_default /* VBAT */
&pinctrl_adc10_default /* 3V */
&pinctrl_adc11_default /* 5V */
&pinctrl_adc12_default>; /* 12V */
};
// 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*/ "", "", "", "", "", "", "", "";
};
......@@ -14,11 +14,11 @@ efuse##n { \
#define EFUSE(hexaddr, num) \
efuse@##hexaddr { \
compatible = "lm25066"; \
compatible = "ti,lm25066"; \
reg = <0x##hexaddr>; \
shunt-resistor-micro-ohms = <675>; \
regulators { \
efuse##num: vout0 { \
efuse##num: vout { \
regulator-name = __stringify(efuse##num##-reg); \
}; \
}; \
......
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2020 Facebook Inc.
/dts-v1/;
#include <dt-bindings/leds/common.h>
#include "ast2600-facebook-netbmc-common.dtsi"
/ {
model = "Facebook Cloudripper BMC";
compatible = "facebook,cloudripper-bmc", "aspeed,ast2600";
aliases {
/*
* PCA9548 (1-0070) provides 8 channels connecting to
* SMB (Switch Main Board).
*/
i2c16 = &imux16;
i2c17 = &imux17;
i2c18 = &imux18;
i2c19 = &imux19;
i2c20 = &imux20;
i2c21 = &imux21;
i2c22 = &imux22;
i2c23 = &imux23;
/*
* PCA9548 (2-0070) provides 8 channels connecting to
* SCM (System Controller Module).
*/
i2c24 = &imux24;
i2c25 = &imux25;
i2c26 = &imux26;
i2c27 = &imux27;
i2c28 = &imux28;
i2c29 = &imux29;
i2c30 = &imux30;
i2c31 = &imux31;
/*
* PCA9548 (3-0070) provides 8 channels connecting to
* SMB (Switch Main Board).
*/
i2c32 = &imux32;
i2c33 = &imux33;
i2c34 = &imux34;
i2c35 = &imux35;
i2c36 = &imux36;
i2c37 = &imux37;
i2c38 = &imux38;
i2c39 = &imux39;
/*
* PCA9548 (8-0070) provides 8 channels connecting to
* PDB (Power Delivery Board).
*/
i2c40 = &imux40;
i2c41 = &imux41;
i2c42 = &imux42;
i2c43 = &imux43;
i2c44 = &imux44;
i2c45 = &imux45;
i2c46 = &imux46;
i2c47 = &imux47;
/*
* PCA9548 (15-0076) provides 8 channels connecting to
* FCM (Fan Controller Module).
*/
i2c48 = &imux48;
i2c49 = &imux49;
i2c50 = &imux50;
i2c51 = &imux51;
i2c52 = &imux52;
i2c53 = &imux53;
i2c54 = &imux54;
i2c55 = &imux55;
};
spi_gpio: spi {
num-chipselects = <2>;
cs-gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>,
<&gpio0 ASPEED_GPIO(X, 1) GPIO_ACTIVE_HIGH>;
eeprom@1 {
compatible = "atmel,at93c46d";
spi-max-frequency = <250000>;
data-size = <16>;
spi-cs-high;
reg = <1>;
};
};
};
&ehci1 {
status = "okay";
};
/*
* "mdio1" is connected to the MDC/MDIO interface of the on-board
* management switch (whose ports are connected to BMC, Host and front
* panel ethernet port).
*/
&mdio1 {
status = "okay";
};
&mdio3 {
status = "okay";
ethphy1: ethernet-phy@13 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x0d>;
};
};
&mac3 {
status = "okay";
phy-mode = "rgmii";
phy-handle = <&ethphy1>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii4_default>;
};
&i2c0 {
multi-master;
bus-frequency = <1000000>;
};
&i2c1 {
/*
* PCA9548 (1-0070) provides 8 channels connecting to SMB (Switch
* Main Board).
*/
i2c-mux@70 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
imux16: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux17: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux18: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux19: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux20: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux21: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux22: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux23: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c2 {
/*
* PCA9548 (2-0070) provides 8 channels connecting to SCM (System
* Controller Module).
*/
i2c-mux@70 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
imux24: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux25: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux26: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux27: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux28: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux29: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux30: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux31: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c3 {
/*
* PCA9548 (3-0070) provides 8 channels connecting to SMB (Switch
* Main Board).
*/
i2c-mux@70 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
imux32: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux33: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux34: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux35: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux36: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux37: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux38: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux39: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c6 {
lp5012@14 {
compatible = "ti,lp5012";
reg = <0x14>;
#address-cells = <1>;
#size-cells = <0>;
multi-led@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
color = <LED_COLOR_ID_MULTI>;
function = LED_FUNCTION_ACTIVITY;
label = "sys";
led@0 {
reg = <0>;
color = <LED_COLOR_ID_RED>;
};
led@1 {
reg = <1>;
color = <LED_COLOR_ID_BLUE>;
};
led@2 {
reg = <2>;
color = <LED_COLOR_ID_GREEN>;
};
};
multi-led@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
color = <LED_COLOR_ID_MULTI>;
function = LED_FUNCTION_ACTIVITY;
label = "fan";
led@0 {
reg = <0>;
color = <LED_COLOR_ID_RED>;
};
led@1 {
reg = <1>;
color = <LED_COLOR_ID_BLUE>;
};
led@2 {
reg = <2>;
color = <LED_COLOR_ID_GREEN>;
};
};
multi-led@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
color = <LED_COLOR_ID_MULTI>;
function = LED_FUNCTION_ACTIVITY;
label = "psu";
led@0 {
reg = <0>;
color = <LED_COLOR_ID_RED>;
};
led@1 {
reg = <1>;
color = <LED_COLOR_ID_BLUE>;
};
led@2 {
reg = <2>;
color = <LED_COLOR_ID_GREEN>;
};
};
multi-led@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
color = <LED_COLOR_ID_MULTI>;
function = LED_FUNCTION_ACTIVITY;
label = "scm";
led@0 {
reg = <0>;
color = <LED_COLOR_ID_RED>;
};
led@1 {
reg = <1>;
color = <LED_COLOR_ID_BLUE>;
};
led@2 {
reg = <2>;
color = <LED_COLOR_ID_GREEN>;
};
};
};
};
&i2c8 {
/*
* PCA9548 (8-0070) provides 8 channels connecting to PDB (Power
* Delivery Board).
*/
i2c-mux@70 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x70>;
i2c-mux-idle-disconnect;
imux40: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux41: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux42: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux43: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux44: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux45: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux46: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux47: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c15 {
/*
* PCA9548 (15-0076) provides 8 channels connecting to FCM (Fan
* Controller Module).
*/
i2c-mux@76 {
compatible = "nxp,pca9548";
#address-cells = <1>;
#size-cells = <0>;
reg = <0x76>;
i2c-mux-idle-disconnect;
imux48: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux49: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux50: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux51: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
imux52: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
imux53: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
imux54: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
imux55: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
......@@ -66,7 +66,7 @@ &mac3 {
pinctrl-0 = <&pinctrl_rmii4_default>;
no-hw-checksum;
use-ncsi;
mlx,multi-host;
mellanox,multi-host;
ncsi-ctrl,start-redo-probe;
ncsi-ctrl,no-channel-monitor;
ncsi-package = <1>;
......@@ -211,7 +211,6 @@ &i2c13 {
};
&adc0 {
ref_voltage = <2500>;
status = "okay";
pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
&pinctrl_adc2_default &pinctrl_adc3_default
......@@ -220,7 +219,6 @@ &pinctrl_adc4_default &pinctrl_adc5_default
};
&adc1 {
ref_voltage = <2500>;
status = "okay";
pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc10_default
&pinctrl_adc11_default &pinctrl_adc12_default
......
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2023 Facebook Inc.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/i2c/i2c.h>
/ {
model = "Facebook Harma";
compatible = "facebook,harma-bmc", "aspeed,ast2600";
aliases {
serial0 = &uart1;
serial1 = &uart2;
serial2 = &uart4;
serial4 = &uart5;
i2c20 = &imux20;
i2c21 = &imux21;
i2c22 = &imux22;
i2c23 = &imux23;
i2c24 = &imux24;
i2c25 = &imux25;
i2c26 = &imux26;
i2c27 = &imux27;
i2c28 = &imux28;
i2c29 = &imux29;
i2c30 = &imux30;
i2c31 = &imux31;
spi1 = &spi_gpio;
};
chosen {
stdout-path = &uart5;
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x80000000>;
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 2>;
};
leds {
compatible = "gpio-leds";
led-0 {
label = "bmc_heartbeat_amber";
gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
led-1 {
label = "fp_id_amber";
default-state = "off";
gpios = <&gpio0 13 GPIO_ACTIVE_HIGH>;
};
led-2 {
label = "power_blue";
default-state = "off";
gpios = <&gpio0 124 GPIO_ACTIVE_HIGH>;
};
};
spi_gpio: spi-gpio {
status = "okay";
compatible = "spi-gpio";
#address-cells = <1>;
#size-cells = <0>;
gpio-sck = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
gpio-mosi = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
gpio-miso = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
tpmdev@0 {
compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
spi-max-frequency = <33000000>;
reg = <0>;
};
};
};
// HOST BIOS Debug
&uart1 {
status = "okay";
};
// SOL Host Console
&uart2 {
status = "okay";
pinctrl-0 = <>;
};
// SOL BMC Console
&uart4 {
status = "okay";
pinctrl-0 = <>;
};
// BMC Debug Console
&uart5 {
status = "okay";
};
// MTIA
&uart6 {
status = "okay";
};
&uart_routing {
status = "okay";
};
&wdt1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdtrst1_default>;
aspeed,reset-type = "soc";
aspeed,external-signal;
aspeed,ext-push-pull;
aspeed,ext-active-high;
aspeed,ext-pulse-duration = <256>;
};
&mac3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
use-ncsi;
mellanox,multi-host;
};
&rtc {
status = "okay";
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-128.dtsi"
};
flash@1 {
status = "okay";
m25p,fast-read;
label = "alt-bmc";
spi-max-frequency = <50000000>;
};
};
// BIOS Flash
&spi2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi2_default>;
flash@0 {
status = "okay";
m25p,fast-read;
label = "pnor";
spi-max-frequency = <12000000>;
spi-tx-bus-width = <2>;
spi-rx-bus-width = <2>;
};
};
&kcs2 {
status = "okay";
aspeed,lpc-io-reg = <0xca8>;
};
&kcs3 {
status = "okay";
aspeed,lpc-io-reg = <0xca2>;
};
&i2c0 {
status = "okay";
pwm@5e{
compatible = "max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
};
&i2c1 {
status = "okay";
temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4b>;
};
// MB NIC FRU
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
};
&i2c2 {
status = "okay";
pwm@5e{
compatible = "max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
};
&i2c3 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9543";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
imux20: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
//Retimer Flash
eeprom@50 {
compatible = "atmel,24c2048";
reg = <0x50>;
pagesize = <128>;
};
};
imux21: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
retimer@24 {
compatible = "asteralabs,pt5161l";
reg = <0x24>;
};
};
};
};
&i2c4 {
status = "okay";
// PDB FRU
eeprom@52 {
compatible = "atmel,24c64";
reg = <0x52>;
};
power-monitor@69 {
compatible = "pmbus";
reg = <0x69>;
};
temperature-sensor@49 {
compatible = "ti,tmp75";
reg = <0x49>;
};
power-monitor@22 {
compatible = "lltc,ltc4286";
reg = <0x22>;
adi,vrange-low-enable;
shunt-resistor-micro-ohms = <500>;
};
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9543";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
imux22: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux23: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
};
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
};
&i2c9 {
status = "okay";
gpio@30 {
compatible = "nxp,pca9555";
reg = <0x30>;
gpio-controller;
#gpio-cells = <2>;
};
gpio@31 {
compatible = "nxp,pca9555";
reg = <0x31>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"","","","",
"","","presence-cmm","",
"","","","",
"","","","";
};
i2c-mux@71 {
compatible = "nxp,pca9546";
reg = <0x71>;
#address-cells = <1>;
#size-cells = <0>;
imux24: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux25: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
imux26: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux27: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
// PTTV FRU
eeprom@52 {
compatible = "atmel,24c64";
reg = <0x52>;
};
};
&i2c11 {
status = "okay";
};
&i2c12 {
status = "okay";
retimer@24 {
compatible = "asteralabs,pt5161l";
reg = <0x24>;
};
};
&i2c13 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9545";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
imux28: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
imux29: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
//MB FRU
eeprom@54 {
compatible = "atmel,24c64";
reg = <0x54>;
};
};
imux30: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
imux31: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
};
};
// To Debug card
&i2c14 {
status = "okay";
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c15 {
status = "okay";
// SCM FRU
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
// BSM FRU
eeprom@56 {
compatible = "atmel,24c64";
reg = <0x56>;
};
};
&adc0 {
aspeed,int-vref-microvolt = <2500000>;
status = "okay";
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 {
aspeed,int-vref-microvolt = <2500000>;
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_adc10_default>;
};
&ehci0 {
status = "okay";
};
&gpio0 {
pinctrl-names = "default";
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "","","","",
"bmc-spi-mux-select-0","led-identify","","",
/*C0-C7*/ "reset-cause-platrst","","","","",
"cpu0-err-alert","","",
/*D0-D7*/ "","","sol-uart-select","","","","","",
/*E0-E7*/ "","","","","","","","",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","",
"leakage-detect-alert","","","",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "led-postcode-0","led-postcode-1",
"led-postcode-2","led-postcode-3",
"led-postcode-4","led-postcode-5",
"led-postcode-6","led-postcode-7",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "power-button","power-host-control",
"reset-button","","led-power","","","",
/*Q0-Q7*/ "","","","","","","","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","","","","","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","led-identify-gate","",
/*V0-V7*/ "","","","",
"rtc-battery-voltage-read-enable","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","presence-post-card","";
};
&gpio1 {
gpio-line-names =
/*18A0-18A7*/ "ac-power-button","","","","","","","",
/*18B0-18B7*/ "","","","","","","","",
/*18C0-18C7*/ "","","","","","","","",
/*18D0-18D7*/ "","","","","","","","",
/*18E0-18E3*/ "","","","","","","","";
};
&sgpiom0 {
status = "okay";
max-ngpios = <128>;
ngpios = <128>;
bus-frequency = <2000000>;
gpio-line-names =
/*in - out - in - out */
/*A0-A3 line 0-7*/
"presence-scm-cable","power-config-disable-e1s-0",
"","",
"","power-config-disable-e1s-1",
"","",
/*A4-A7 line 8-15*/
"","power-config-asic-module-enable",
"","power-config-asic-power-good",
"","power-config-pdb-power-good",
"presence-cpu","smi-control-n",
/*B0-B3 line 16-23*/
"","nmi-control-n",
"","nmi-control-sync-flood-n",
"","",
"","",
/*B4-B7 line 24-31*/
"","FM_CPU_SP5R1",
"reset-cause-rsmrst","FM_CPU_SP5R2",
"","FM_CPU_SP5R3",
"","FM_CPU_SP5R4",
/*C0-C3 line 32-39*/
"","FM_CPU0_SA0",
"","FM_CPU0_SA1",
"","rt-cpu0-p0-enable",
"","rt-cpu0-p1-enable",
/*C4-C7 line 40-47*/
"","smb-rt-rom-p0-select",
"","smb-rt-rom-p1-select",
"","i3c-cpu-mux0-oe-n",
"","i3c-cpu-mux0-select",
/*D0-D3 line 48-55*/
"","i3c-cpu-mux1-oe-n",
"","i3c-cpu-mux1-select",
"","reset-control-bmc",
"","reset-control-cpu0-p0-mux",
/*D4-D7 line 56-63*/
"","reset-control-cpu0-p1-mux",
"","reset-control-e1s-mux",
"power-host-good","reset-control-mb-mux",
"host0-ready","reset-control-smb-e1s-0",
/*E0-E3 line 64-71*/
"","reset-control-smb-e1s-1",
"post-end-n","reset-control-srst",
"presence-e1s-0","reset-control-usb-hub",
"","reset-control",
/*E4-E7 line 72-79*/
"presence-e1s-1","reset-control-cpu-kbrst",
"","reset-control-platrst",
"","bmc-jtag-mux-select-0",
"","bmc-jtag-mux-select-1",
/*F0-F3 line 80-87*/
"","bmc-jtag-select",
"","bmc-ready-n",
"","bmc-ready-sgpio",
"","rt-cpu0-p0-force-enable",
/*F4-F7 line 88-95*/
"presence-asic-modules-0","rt-cpu0-p1-force-enable",
"presence-asic-modules-1","bios-debug-msg-disable",
"","uart-control-buffer-select",
"","ac-control-n",
/*G0-G3 line 96-103*/
"FM_CPU_CORETYPE2","",
"FM_CPU_CORETYPE1","",
"FM_CPU_CORETYPE0","",
"FM_BOARD_REV_ID5","",
/*G4-G7 line 104-111*/
"FM_BOARD_REV_ID4","",
"FM_BOARD_REV_ID3","",
"FM_BOARD_REV_ID2","",
"FM_BOARD_REV_ID1","",
/*H0-H3 line 112-119*/
"FM_BOARD_REV_ID0","",
"","","","","","",
/*H4-H7 line 120-127*/
"","",
"reset-control-pcie-expansion-3","",
"reset-control-pcie-expansion-2","",
"reset-control-pcie-expansion-1","",
/*I0-I3 line 128-135*/
"reset-control-pcie-expansion-0","",
"FM_EXP_SLOT_ID1","",
"FM_EXP_SLOT_ID0","",
"","",
/*I4-I7 line 136-143*/
"","","","","","","","",
/*J0-J3 line 144-151*/
"","","","","","","","",
/*J4-J7 line 152-159*/
"SLOT_ID_BCB_0","",
"SLOT_ID_BCB_1","",
"SLOT_ID_BCB_2","",
"SLOT_ID_BCB_3","",
/*K0-K3 line 160-167*/
"","","","","","","P0_I3C_APML_ALERT_L","",
/*K4-K7 line 168-175*/
"","","","","","","irq-uv-detect-alert","",
/*L0-L3 line 176-183*/
"irq-hsc-alert","",
"cpu0-prochot-alert","",
"cpu0-thermtrip-alert","",
"reset-cause-pcie","",
/*L4-L7 line 184-191*/
"pvdd11-ocp-alert","","","","","","","",
/*M0-M3 line 192-199*/
"","","","","","","","",
/*M4-M7 line 200-207*/
"","","","","","","","",
/*N0-N3 line 208-215*/
"","","","","","","","",
/*N4-N7 line 216-223*/
"","","","","","","","",
/*O0-O3 line 224-231*/
"","","","","","","","",
/*O4-O7 line 232-239*/
"","","","","","","","",
/*P0-P3 line 240-247*/
"","","","","","","","",
/*P4-P7 line 248-255*/
"","","","","","","","";
};
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2023 Facebook Inc.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/i2c/i2c.h>
/ {
model = "Facebook Minerva CMC";
compatible = "facebook,minerva-cmc", "aspeed,ast2600";
aliases {
serial5 = &uart5;
};
chosen {
stdout-path = "serial5:57600n8";
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x80000000>;
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 2>;
};
};
&uart6 {
status = "okay";
};
&wdt1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdtrst1_default>;
aspeed,reset-type = "soc";
aspeed,external-signal;
aspeed,ext-push-pull;
aspeed,ext-active-high;
aspeed,ext-pulse-duration = <256>;
};
&mac3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
use-ncsi;
mlx,multi-host;
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-128.dtsi"
};
flash@1 {
status = "okay";
m25p,fast-read;
label = "alt-bmc";
spi-max-frequency = <50000000>;
};
};
&rtc {
status = "okay";
};
&sgpiom1 {
status = "okay";
ngpios = <128>;
bus-frequency = <2000000>;
};
&i2c0 {
status = "okay";
};
&i2c1 {
status = "okay";
temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4B>;
};
eeprom@51 {
compatible = "atmel,24c128";
reg = <0x51>;
};
};
&i2c2 {
status = "okay";
i2c-mux@77 {
compatible = "nxp,pca9548";
reg = <0x77>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
};
i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
};
i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
};
i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
};
i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
};
i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
};
};
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
};
&i2c12 {
status = "okay";
};
&i2c13 {
status = "okay";
};
&i2c14 {
status = "okay";
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c15 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
};
&adc0 {
aspeed,int-vref-microvolt = <2500000>;
status = "okay";
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 {
aspeed,int-vref-microvolt = <2500000>;
status = "okay";
pinctrl-0 = <&pinctrl_adc10_default>;
};
&ehci1 {
status = "okay";
};
&uhci {
status = "okay";
};
// SPDX-License-Identifier: GPL-2.0+
// Copyright (c) 2023 Facebook Inc.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/i2c/i2c.h>
/ {
model = "Facebook Minerva CMM";
compatible = "facebook,minerva-cmc", "aspeed,ast2600";
aliases {
serial5 = &uart5;
/*
* PCA9548 (2-0077) provides 8 channels connecting to
* 6 pcs of FCB (Fan Controller Board).
*/
i2c16 = &imux16;
i2c17 = &imux17;
i2c18 = &imux18;
i2c19 = &imux19;
i2c20 = &imux20;
i2c21 = &imux21;
};
chosen {
stdout-path = "serial5:57600n8";
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x80000000>;
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&adc0 0>, <&adc0 1>, <&adc0 2>, <&adc0 3>,
<&adc0 4>, <&adc0 5>, <&adc0 6>, <&adc0 7>,
<&adc1 2>;
};
leds {
compatible = "gpio-leds";
led-fan-fault {
label = "led-fan-fault";
gpios = <&leds_gpio 9 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
};
};
&uart6 {
status = "okay";
};
&wdt1 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdtrst1_default>;
aspeed,reset-type = "soc";
aspeed,external-signal;
aspeed,ext-push-pull;
aspeed,ext-active-high;
aspeed,ext-pulse-duration = <256>;
};
&mac3 {
status = "okay";
phy-mode = "rmii";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
fixed-link {
speed = <100>;
full-duplex;
};
};
&fmc {
status = "okay";
flash@0 {
status = "okay";
m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
#include "openbmc-flash-layout-128.dtsi"
};
flash@1 {
status = "okay";
m25p,fast-read;
label = "alt-bmc";
spi-max-frequency = <50000000>;
};
};
&rtc {
status = "okay";
};
&sgpiom0 {
status = "okay";
ngpios = <128>;
bus-frequency = <2000000>;
};
&i2c0 {
status = "okay";
power-monitor@40 {
compatible = "ti,ina230";
reg = <0x40>;
shunt-resistor = <1000>;
};
power-monitor@41 {
compatible = "ti,ina230";
reg = <0x41>;
shunt-resistor = <1000>;
};
power-monitor@67 {
compatible = "adi,ltc2945";
reg = <0x67>;
};
power-monitor@68 {
compatible = "adi,ltc2945";
reg = <0x68>;
};
leds_gpio: gpio@19 {
compatible = "nxp,pca9555";
reg = <0x19>;
gpio-controller;
#gpio-cells = <2>;
};
};
&i2c1 {
status = "okay";
temperature-sensor@4b {
compatible = "ti,tmp75";
reg = <0x4b>;
};
temperature-sensor@48 {
compatible = "ti,tmp75";
reg = <0x48>;
};
eeprom@54 {
compatible = "atmel,24c128";
reg = <0x54>;
};
};
&i2c2 {
status = "okay";
i2c-mux@77 {
compatible = "nxp,pca9548";
reg = <0x77>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
imux16: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
};
imux17: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
};
imux18: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
};
imux19: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
};
imux20: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
};
imux21: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
pwm@5e{
compatible = "max31790";
reg = <0x5e>;
#address-cells = <1>;
#size-cells = <0>;
};
};
};
};
&i2c3 {
status = "okay";
};
&i2c4 {
status = "okay";
};
&i2c5 {
status = "okay";
};
&i2c6 {
status = "okay";
};
&i2c7 {
status = "okay";
};
&i2c8 {
status = "okay";
};
&i2c9 {
status = "okay";
};
&i2c10 {
status = "okay";
};
&i2c11 {
status = "okay";
};
&i2c12 {
status = "okay";
};
&i2c13 {
status = "okay";
};
&i2c14 {
status = "okay";
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c15 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c128";
reg = <0x50>;
};
};
&adc0 {
aspeed,int-vref-microvolt = <2500000>;
status = "okay";
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 {
aspeed,int-vref-microvolt = <2500000>;
status = "okay";
pinctrl-0 = <&pinctrl_adc10_default>;
};
&ehci1 {
status = "okay";
};
&uhci {
status = "okay";
};
&gpio0 {
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "","","","","","","","",
/*C0-C7*/ "","","","","BLADE_UART_SEL2","","","",
/*D0-D7*/ "","","","","","","","",
/*E0-E7*/ "","","","","","","","",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","BLADE_UART_SEL0","","","",
/*M0-M7*/ "","","","","","BLADE_UART_SEL1","","",
/*N0-N7*/ "","","","","","","","",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "","","","","","","","",
/*Q0-Q7*/ "","","","","","","","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","","","","","","",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","","","","BAT_DETECT","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","","BLADE_UART_SEL3","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","";
};
&sgpiom0 {
gpio-line-names =
/*"input pin","output pin"*/
/*A0 - A7*/
"PRSNT_MTIA_BLADE0_N","PWREN_MTIA_BLADE0_EN",
"PRSNT_MTIA_BLADE1_N","PWREN_MTIA_BLADE1_EN",
"PRSNT_MTIA_BLADE2_N","PWREN_MTIA_BLADE2_EN",
"PRSNT_MTIA_BLADE3_N","PWREN_MTIA_BLADE3_EN",
"PRSNT_MTIA_BLADE4_N","PWREN_MTIA_BLADE4_EN",
"PRSNT_MTIA_BLADE5_N","PWREN_MTIA_BLADE5_EN",
"PRSNT_MTIA_BLADE6_N","PWREN_MTIA_BLADE6_EN",
"PRSNT_MTIA_BLADE7_N","PWREN_MTIA_BLADE7_EN",
/*B0 - B7*/
"PRSNT_MTIA_BLADE8_N","PWREN_MTIA_BLADE8_EN",
"PRSNT_MTIA_BLADE9_N","PWREN_MTIA_BLADE9_EN",
"PRSNT_MTIA_BLADE10_N","PWREN_MTIA_BLADE10_EN",
"PRSNT_MTIA_BLADE11_N","PWREN_MTIA_BLADE11_EN",
"PRSNT_MTIA_BLADE12_N","PWREN_MTIA_BLADE12_EN",
"PRSNT_MTIA_BLADE13_N","PWREN_MTIA_BLADE13_EN",
"PRSNT_MTIA_BLADE14_N","PWREN_MTIA_BLADE14_EN",
"PRSNT_MTIA_BLADE15_N","PWREN_MTIA_BLADE15_EN",
/*C0 - C7*/
"PRSNT_NW_BLADE0_N","PWREN_NW_BLADE0_EN",
"PRSNT_NW_BLADE1_N","PWREN_NW_BLADE1_EN",
"PRSNT_NW_BLADE2_N","PWREN_NW_BLADE2_EN",
"PRSNT_NW_BLADE3_N","PWREN_NW_BLADE3_EN",
"PRSNT_NW_BLADE4_N","PWREN_NW_BLADE4_EN",
"PRSNT_NW_BLADE5_N","PWREN_NW_BLADE5_EN",
"PRSNT_FCB_TOP_0_N","PWREN_MTIA_BLADE0_HSC_EN",
"PRSNT_FCB_TOP_1_N","PWREN_MTIA_BLADE1_HSC_EN",
/*D0 - D7*/
"PRSNT_FCB_MIDDLE_0_N","PWREN_MTIA_BLADE2_HSC_EN",
"PRSNT_FCB_MIDDLE_1_N","PWREN_MTIA_BLADE3_HSC_EN",
"PRSNT_FCB_BOTTOM_0_N","PWREN_MTIA_BLADE4_HSC_EN",
"PRSNT_FCB_BOTTOM_1_N","PWREN_MTIA_BLADE5_HSC_EN",
"PWRGD_MTIA_BLADE0_PWROK_L_BUF","PWREN_MTIA_BLADE6_HSC_EN",
"PWRGD_MTIA_BLADE1_PWROK_L_BUF","PWREN_MTIA_BLADE7_HSC_EN",
"PWRGD_MTIA_BLADE2_PWROK_L_BUF","PWREN_MTIA_BLADE8_HSC_EN",
"PWRGD_MTIA_BLADE3_PWROK_L_BUF","PWREN_MTIA_BLADE9_HSC_EN",
/*E0 - E7*/
"PWRGD_MTIA_BLADE4_PWROK_L_BUF","PWREN_MTIA_BLADE10_HSC_EN",
"PWRGD_MTIA_BLADE5_PWROK_L_BUF","PWREN_MTIA_BLADE11_HSC_EN",
"PWRGD_MTIA_BLADE6_PWROK_L_BUF","PWREN_MTIA_BLADE12_HSC_EN",
"PWRGD_MTIA_BLADE7_PWROK_L_BUF","PWREN_MTIA_BLADE13_HSC_EN",
"PWRGD_MTIA_BLADE8_PWROK_L_BUF","PWREN_MTIA_BLADE14_HSC_EN",
"PWRGD_MTIA_BLADE9_PWROK_L_BUF","PWREN_MTIA_BLADE15_HSC_EN",
"PWRGD_MTIA_BLADE10_PWROK_L_BUF","PWREN_NW_BLADE0_HSC_EN",
"PWRGD_MTIA_BLADE11_PWROK_L_BUF","PWREN_NW_BLADE1_HSC_EN",
/*F0 - F7*/
"PWRGD_MTIA_BLADE12_PWROK_L_BUF","PWREN_NW_BLADE2_HSC_EN",
"PWRGD_MTIA_BLADE13_PWROK_L_BUF","PWREN_NW_BLADE3_HSC_EN",
"PWRGD_MTIA_BLADE14_PWROK_L_BUF","PWREN_NW_BLADE4_HSC_EN",
"PWRGD_MTIA_BLADE15_PWROK_L_BUF","PWREN_NW_BLADE5_HSC_EN",
"PWRGD_NW_BLADE0_PWROK_L_BUF","PWREN_FCB_TOP_L_EN",
"PWRGD_NW_BLADE1_PWROK_L_BUF","PWREN_FCB_TOP_R_EN",
"PWRGD_NW_BLADE2_PWROK_L_BUF","PWREN_FCB_MIDDLE_L_EN",
"PWRGD_NW_BLADE3_PWROK_L_BUF","PWREN_FCB_MIDDLE_R_EN",
/*G0 - G7*/
"PWRGD_NW_BLADE4_PWROK_L_BUF","PWREN_FCB_BOTTOM_L_EN",
"PWRGD_NW_BLADE5_PWROK_L_BUF","PWREN_FCB_BOTTOM_R_EN",
"PWRGD_FCB_TOP_0_PWROK_L_BUF","FM_CMM_AC_CYCLE_N",
"PWRGD_FCB_TOP_1_PWROK_L_BUF","MGMT_SFP_TX_DIS",
"PWRGD_FCB_MIDDLE_0_PWROK_L_BUF","",
"PWRGD_FCB_MIDDLE_1_PWROK_L_BUF","RST_I2CRST_MTIA_BLADE0_1_N",
"PWRGD_FCB_BOTTOM_0_PWROK_L_BUF","RST_I2CRST_MTIA_BLADE2_3_N",
"PWRGD_FCB_BOTTOM_1_PWROK_L_BUF","RST_I2CRST_MTIA_BLADE4_5_N",
/*H0 - H7*/
"LEAK_DETECT_MTIA_BLADE0_N_BUF","RST_I2CRST_MTIA_BLADE6_7_N",
"LEAK_DETECT_MTIA_BLADE1_N_BUF","RST_I2CRST_MTIA_BLADE8_9_N",
"LEAK_DETECT_MTIA_BLADE2_N_BUF","RST_I2CRST_MTIA_BLADE10_11_N",
"LEAK_DETECT_MTIA_BLADE3_N_BUF","RST_I2CRST_MTIA_BLADE12_13_N",
"LEAK_DETECT_MTIA_BLADE4_N_BUF","RST_I2CRST_MTIA_BLADE14_15_N",
"LEAK_DETECT_MTIA_BLADE5_N_BUF","RST_I2CRST_NW_BLADE0_1_2_N",
"LEAK_DETECT_MTIA_BLADE6_N_BUF","RST_I2CRST_NW_BLADE3_4_5_N",
"LEAK_DETECT_MTIA_BLADE7_N_BUF","RST_I2CRST_FCB_N",
/*I0 - I7*/
"LEAK_DETECT_MTIA_BLADE8_N_BUF","RST_I2CRST_FCB_B_L_N",
"LEAK_DETECT_MTIA_BLADE9_N_BUF","RST_I2CRST_FCB_B_R_N",
"LEAK_DETECT_MTIA_BLADE10_N_BUF","RST_I2CRST_FCB_M_L_N",
"LEAK_DETECT_MTIA_BLADE11_N_BUF","RST_I2CRST_FCB_M_R_N",
"LEAK_DETECT_MTIA_BLADE12_N_BUF","RST_I2CRST_FCB_T_L_N",
"LEAK_DETECT_MTIA_BLADE13_N_BUF","RST_I2CRST_FCB_T_R_N",
"LEAK_DETECT_MTIA_BLADE14_N_BUF","BMC_READY",
"LEAK_DETECT_MTIA_BLADE15_N_BUF","wFM_88E6393X_BIN_UPDATE_EN_N",
/*J0 - J7*/
"LEAK_DETECT_NW_BLADE0_N_BUF","WATER_VALVE_CLOSED_N",
"LEAK_DETECT_NW_BLADE1_N_BUF","",
"LEAK_DETECT_NW_BLADE2_N_BUF","",
"LEAK_DETECT_NW_BLADE3_N_BUF","",
"LEAK_DETECT_NW_BLADE4_N_BUF","",
"LEAK_DETECT_NW_BLADE5_N_BUF","",
"MTIA_BLADE0_STATUS_LED","",
"MTIA_BLADE1_STATUS_LED","",
/*K0 - K7*/
"MTIA_BLADE2_STATUS_LED","",
"MTIA_BLADE3_STATUS_LED","",
"MTIA_BLADE4_STATUS_LED","",
"MTIA_BLADE5_STATUS_LED","",
"MTIA_BLADE6_STATUS_LED","",
"MTIA_BLADE7_STATUS_LED","",
"MTIA_BLADE8_STATUS_LED","",
"MTIA_BLADE9_STATUS_LED","",
/*L0 - L7*/
"MTIA_BLADE10_STATUS_LED","",
"MTIA_BLADE11_STATUS_LED","",
"MTIA_BLADE12_STATUS_LED","",
"MTIA_BLADE13_STATUS_LED","",
"MTIA_BLADE14_STATUS_LED","",
"MTIA_BLADE15_STATUS_LED","",
"NW_BLADE0_STATUS_LED","",
"NW_BLADE1_STATUS_LED","",
/*M0 - M7*/
"NW_BLADE2_STATUS_LED","",
"NW_BLADE3_STATUS_LED","",
"NW_BLADE4_STATUS_LED","",
"NW_BLADE5_STATUS_LED","",
"RPU_READY","",
"IT_GEAR_RPU_LINK_N","",
"IT_GEAR_LEAK","",
"WATER_VALVE_CLOSED_N","",
/*N0 - N7*/
"VALVE_STS0","",
"VALVE_STS1","",
"VALVE_STS2","",
"VALVE_STS3","",
"CR_TOGGLE_BOOT_BUF_N","",
"CMM_LC_RDY_LED_N","",
"CMM_LC_UNRDY_LED_N","",
"CMM_CABLE_CARTRIDGE_PRSNT_BOT_N","",
/*O0 - O7*/
"CMM_CABLE_CARTRIDGE_PRSNT_TOP_N","",
"BOT_BCB_CABLE_PRSNT_N","",
"TOP_BCB_CABLE_PRSNT_N","",
"CHASSIS0_LEAK_Q_N","",
"CHASSIS1_LEAK_Q_N","",
"LEAK0_DETECT","",
"LEAK1_DETECT","",
"MGMT_SFP_PRSNT_N","",
/*P0 - P7*/
"MGMT_SFP_TX_FAULT","",
"MGMT_SFP_RX_LOS","",
"","",
"","",
"","",
"","",
"","",
"","";
};
......@@ -88,7 +88,7 @@ &mac2 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii3_default>;
use-ncsi;
mlx,multi-host;
mellanox,multi-host;
};
&mac3 {
......@@ -96,7 +96,7 @@ &mac3 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
use-ncsi;
mlx,multi-host;
mellanox,multi-host;
};
&fmc {
......@@ -369,7 +369,14 @@ rtc@6f {
&i2c13 {
status = "okay";
bus-frequency = <400000>;
bus-frequency = <100000>;
multi-master;
ipmb@10 {
compatible = "ipmb-dev";
reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
i2c-protocol;
};
};
&i2c14 {
......@@ -596,7 +603,6 @@ i2c-mux@72 {
};
&adc0 {
ref_voltage = <2500>;
status = "okay";
pinctrl-0 = <&pinctrl_adc0_default &pinctrl_adc1_default
&pinctrl_adc2_default &pinctrl_adc3_default
......@@ -605,7 +611,6 @@ &pinctrl_adc4_default &pinctrl_adc5_default
};
&adc1 {
ref_voltage = <2500>;
status = "okay";
pinctrl-0 = <&pinctrl_adc8_default &pinctrl_adc9_default>;
};
......
......@@ -95,7 +95,7 @@ &mac0 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii1_default>;
use-ncsi;
mlx,multi-host;
mellanox,multi-host;
};
&adc {
......
......@@ -488,7 +488,7 @@ pca9551@60 {
#gpio-cells = <2>;
led@0 {
label = "nvme0";
label = "nvme3";
reg = <0>;
retain-state-shutdown;
default-state = "keep";
......@@ -496,7 +496,7 @@ led@0 {
};
led@1 {
label = "nvme1";
label = "nvme2";
reg = <1>;
retain-state-shutdown;
default-state = "keep";
......@@ -504,7 +504,7 @@ led@1 {
};
led@2 {
label = "nvme2";
label = "nvme1";
reg = <2>;
retain-state-shutdown;
default-state = "keep";
......@@ -512,7 +512,7 @@ led@2 {
};
led@3 {
label = "nvme3";
label = "nvme0";
reg = <3>;
retain-state-shutdown;
default-state = "keep";
......
// SPDX-License-Identifier: GPL-2.0-or-later
// Copyright 2023 IBM Corp.
/dts-v1/;
#include "aspeed-g6.dtsi"
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/i2c/i2c.h>
#include <dt-bindings/leds/leds-pca955x.h>
/ {
model = "System1";
compatible = "ibm,system1-bmc", "aspeed,ast2600";
aliases {
i2c16 = &i2c8mux1chn0;
i2c17 = &i2c8mux1chn1;
i2c18 = &i2c8mux1chn2;
i2c19 = &i2c8mux1chn3;
i2c20 = &i2c8mux1chn4;
i2c21 = &i2c8mux1chn5;
i2c22 = &i2c8mux1chn6;
i2c23 = &i2c8mux1chn7;
i2c24 = &i2c3mux0chn0;
i2c25 = &i2c3mux0chn1;
i2c26 = &i2c3mux0chn2;
i2c27 = &i2c3mux0chn3;
i2c28 = &i2c3mux0chn4;
i2c29 = &i2c3mux0chn5;
i2c30 = &i2c3mux0chn6;
i2c31 = &i2c3mux0chn7;
i2c32 = &i2c6mux0chn0;
i2c33 = &i2c6mux0chn1;
i2c34 = &i2c6mux0chn2;
i2c35 = &i2c6mux0chn3;
i2c36 = &i2c6mux0chn4;
i2c37 = &i2c6mux0chn5;
i2c38 = &i2c6mux0chn6;
i2c39 = &i2c6mux0chn7;
i2c40 = &i2c7mux0chn0;
i2c41 = &i2c7mux0chn1;
i2c42 = &i2c7mux0chn2;
i2c43 = &i2c7mux0chn3;
i2c44 = &i2c7mux0chn4;
i2c45 = &i2c7mux0chn5;
i2c46 = &i2c7mux0chn6;
i2c47 = &i2c7mux0chn7;
i2c48 = &i2c8mux0chn0;
i2c49 = &i2c8mux0chn1;
i2c50 = &i2c8mux0chn2;
i2c51 = &i2c8mux0chn3;
i2c52 = &i2c8mux0chn4;
i2c53 = &i2c8mux0chn5;
i2c54 = &i2c8mux0chn6;
i2c55 = &i2c8mux0chn7;
i2c56 = &i2c14mux0chn0;
i2c57 = &i2c14mux0chn1;
i2c58 = &i2c14mux0chn2;
i2c59 = &i2c14mux0chn3;
i2c60 = &i2c14mux0chn4;
i2c61 = &i2c14mux0chn5;
i2c62 = &i2c14mux0chn6;
i2c63 = &i2c14mux0chn7;
i2c64 = &i2c15mux0chn0;
i2c65 = &i2c15mux0chn1;
i2c66 = &i2c15mux0chn2;
i2c67 = &i2c15mux0chn3;
i2c68 = &i2c15mux0chn4;
i2c69 = &i2c15mux0chn5;
i2c70 = &i2c15mux0chn6;
i2c71 = &i2c15mux0chn7;
};
chosen {
stdout-path = "uart5:115200n8";
};
memory@80000000 {
device_type = "memory";
reg = <0x80000000 0x40000000>;
};
reserved-memory {
#address-cells = <1>;
#size-cells = <1>;
ranges;
eventlog: tcg-event-log@b3d00000 {
no-map;
reg = <0xb3d00000 0x100000>;
};
ramoops@b3e00000 {
compatible = "ramoops";
reg = <0xb3e00000 0x200000>; /* 16 * (4 * 0x8000) */
record-size = <0x8000>;
console-size = <0x8000>;
ftrace-size = <0x8000>;
pmsg-size = <0x8000>;
max-reason = <3>; /* KMSG_DUMP_EMERG */
};
/* LPC FW cycle bridge region requires natural alignment */
flash_memory: region@b4000000 {
no-map;
reg = <0xb4000000 0x04000000>; /* 64M */
};
/* VGA region is dictated by hardware strapping */
vga_memory: region@bf000000 {
no-map;
compatible = "shared-dma-pool";
reg = <0xbf000000 0x01000000>; /* 16M */
};
};
leds {
compatible = "gpio-leds";
led-0 {
gpios = <&gpio0 ASPEED_GPIO(L, 7) GPIO_ACTIVE_HIGH>;
};
led-1 {
gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_HIGH>;
};
led-2 {
gpios = <&gpio0 ASPEED_GPIO(S, 6) GPIO_ACTIVE_HIGH>;
};
led-3 {
gpios = <&gpio0 ASPEED_GPIO(S, 7) GPIO_ACTIVE_HIGH>;
};
led-4 {
gpios = <&pca3 5 GPIO_ACTIVE_LOW>;
};
led-5 {
gpios = <&pca3 6 GPIO_ACTIVE_LOW>;
};
led-6 {
gpios = <&pca3 7 GPIO_ACTIVE_LOW>;
};
led-7 {
gpios = <&pca3 8 GPIO_ACTIVE_LOW>;
};
led-8 {
gpios = <&pca3 9 GPIO_ACTIVE_LOW>;
};
led-9 {
gpios = <&pca3 10 GPIO_ACTIVE_LOW>;
};
led-a {
gpios = <&pca3 11 GPIO_ACTIVE_LOW>;
};
led-b {
gpios = <&pca4 4 GPIO_ACTIVE_HIGH>;
};
led-c {
gpios = <&pca4 5 GPIO_ACTIVE_HIGH>;
};
led-d {
gpios = <&pca4 6 GPIO_ACTIVE_HIGH>;
};
led-e {
gpios = <&pca4 7 GPIO_ACTIVE_HIGH>;
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
poll-interval = <1000>;
event-nvme0-presence {
label = "nvme0-presence";
gpios = <&pca4 0 GPIO_ACTIVE_LOW>;
linux,code = <0>;
};
event-nvme1-presence {
label = "nvme1-presence";
gpios = <&pca4 1 GPIO_ACTIVE_LOW>;
linux,code = <1>;
};
event-nvme2-presence {
label = "nvme2-presence";
gpios = <&pca4 2 GPIO_ACTIVE_LOW>;
linux,code = <2>;
};
event-nvme3-presence {
label = "nvme3-presence";
gpios = <&pca4 3 GPIO_ACTIVE_LOW>;
linux,code = <3>;
};
};
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&p12v_vd 0>, <&p5v_aux_vd 0>,
<&p5v_bmc_aux_vd 0>, <&p3v3_aux_vd 0>,
<&p3v3_bmc_aux_vd 0>, <&p1v8_bmc_aux_vd 0>,
<&adc1 4>, <&adc0 2>, <&adc1 0>,
<&p2v5_aux_vd 0>, <&adc1 7>;
};
p12v_vd: voltage-divider1 {
compatible = "voltage-divider";
io-channels = <&adc1 3>;
#io-channel-cells = <1>;
/*
* Scale the system voltage by 1127/127 to fit the ADC range.
* Use small nominator to prevent integer overflow.
*/
output-ohms = <15>;
full-ohms = <133>;
};
p5v_aux_vd: voltage-divider2 {
compatible = "voltage-divider";
io-channels = <&adc1 5>;
#io-channel-cells = <1>;
/*
* Scale the system voltage by 1365/365 to fit the ADC range.
* Use small nominator to prevent integer overflow.
*/
output-ohms = <50>;
full-ohms = <187>;
};
p5v_bmc_aux_vd: voltage-divider3 {
compatible = "voltage-divider";
io-channels = <&adc0 3>;
#io-channel-cells = <1>;
/*
* Scale the system voltage by 1365/365 to fit the ADC range.
* Use small nominator to prevent integer overflow.
*/
output-ohms = <50>;
full-ohms = <187>;
};
p3v3_aux_vd: voltage-divider4 {
compatible = "voltage-divider";
io-channels = <&adc1 2>;
#io-channel-cells = <1>;
/*
* Scale the system voltage by 1698/698 to fit the ADC range.
* Use small nominator to prevent integer overflow.
*/
output-ohms = <14>;
full-ohms = <34>;
};
p3v3_bmc_aux_vd: voltage-divider5 {
compatible = "voltage-divider";
io-channels = <&adc0 7>;
#io-channel-cells = <1>;
/*
* Scale the system voltage by 1698/698 to fit the ADC range.
* Use small nominator to prevent integer overflow.
*/
output-ohms = <14>;
full-ohms = <34>;
};
p1v8_bmc_aux_vd: voltage-divider6 {
compatible = "voltage-divider";
io-channels = <&adc0 6>;
#io-channel-cells = <1>;
/*
* Scale the system voltage by 4000/3000 to fit the ADC range.
* Use small nominator to prevent integer overflow.
*/
output-ohms = <3>;
full-ohms = <4>;
};
p2v5_aux_vd: voltage-divider7 {
compatible = "voltage-divider";
io-channels = <&adc1 1>;
#io-channel-cells = <1>;
/*
* Scale the system voltage by 2100/1100 to fit the ADC range.
* Use small nominator to prevent integer overflow.
*/
output-ohms = <11>;
full-ohms = <21>;
};
p1v8_bmc_aux: fixedregulator-p1v8-bmc-aux {
compatible = "regulator-fixed";
regulator-name = "p1v8_bmc_aux";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
};
&adc0 {
status = "okay";
vref-supply = <&p1v8_bmc_aux>;
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 {
status = "okay";
vref-supply = <&p1v8_bmc_aux>;
aspeed,battery-sensing;
aspeed,int-vref-microvolt = <2500000>;
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>;
};
&ehci1 {
status = "okay";
};
&uhci {
status = "okay";
};
&gpio0 {
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "","","","","bmc-tpm-reset","","","",
/*C0-C7*/ "","","","","","","","",
/*D0-D7*/ "","","","","","","","",
/*E0-E7*/ "","","","","","","","",
/*F0-F7*/ "","","","","","","","",
/*G0-G7*/ "","","","","","","","",
/*H0-H7*/ "","","","","","","","",
/*I0-I7*/ "","","","","","","","",
/*J0-J7*/ "","","","","","","","",
/*K0-K7*/ "","","","","","","","",
/*L0-L7*/ "","","","","","","","bmc-ready",
/*M0-M7*/ "","","","","","","","",
/*N0-N7*/ "","","","","","","","",
/*O0-O7*/ "","","","","","","","",
/*P0-P7*/ "","","","","","","","bmc-hb",
/*Q0-Q7*/ "","","","","","","","",
/*R0-R7*/ "","","","","","","","",
/*S0-S7*/ "","","","","","","rear-enc-fault0","rear-enc-id0",
/*T0-T7*/ "","","","","","","","",
/*U0-U7*/ "","","","","","","","",
/*V0-V7*/ "","rtc-battery-voltage-read-enable","","power-chassis-control","","","","",
/*W0-W7*/ "","","","","","","","",
/*X0-X7*/ "","power-chassis-good","","","","","","",
/*Y0-Y7*/ "","","","","","","","",
/*Z0-Z7*/ "","","","","","","","";
};
&emmc_controller {
status = "okay";
};
&pinctrl_emmc_default {
bias-disable;
};
&emmc {
status = "okay";
clk-phase-mmc-hs200 = <180>, <180>;
};
&ibt {
status = "okay";
};
&uart2 {
status = "okay";
};
&vuart1 {
status = "okay";
};
&vuart2 {
status = "okay";
};
&lpc_ctrl {
status = "okay";
memory-region = <&flash_memory>;
};
&mac2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii3_default>;
clocks = <&syscon ASPEED_CLK_GATE_MAC3CLK>,
<&syscon ASPEED_CLK_MAC3RCLK>;
clock-names = "MACCLK", "RCLK";
use-ncsi;
};
&mac3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rmii4_default>;
clocks = <&syscon ASPEED_CLK_GATE_MAC4CLK>,
<&syscon ASPEED_CLK_MAC4RCLK>;
clock-names = "MACCLK", "RCLK";
use-ncsi;
};
&wdt1 {
aspeed,reset-type = "none";
aspeed,external-signal;
aspeed,ext-push-pull;
aspeed,ext-active-high;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_wdtrst1_default>;
};
&wdt2 {
status = "okay";
};
&kcs2 {
status = "okay";
aspeed,lpc-io-reg = <0xca8 0xcac>;
};
&kcs3 {
status = "okay";
aspeed,lpc-io-reg = <0xca2>;
aspeed,lpc-interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
};
&i2c0 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
regulator@60 {
compatible = "maxim,max8952";
reg = <0x60>;
max8952,default-mode = <0>;
max8952,dvs-mode-microvolt = <1250000>, <1200000>,
<1050000>, <950000>;
max8952,sync-freq = <0>;
max8952,ramp-speed = <0>;
regulator-name = "VR_v77_1v4";
regulator-min-microvolt = <770000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
};
&i2c1 {
status = "okay";
regulator@42 {
compatible = "infineon,ir38263";
reg = <0x42>;
};
led-controller@60 {
compatible = "nxp,pca9552";
reg = <0x60>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
led@0 {
label = "nic1-perst";
reg = <0>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@1 {
label = "bmc-perst";
reg = <1>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@2 {
label = "reset-M2-SSD1-2-perst";
reg = <2>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@3 {
label = "pcie-perst1";
reg = <3>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@4 {
label = "pcie-perst2";
reg = <4>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@5 {
label = "pcie-perst3";
reg = <5>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@6 {
label = "pcie-perst4";
reg = <6>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@7 {
label = "pcie-perst5";
reg = <7>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@8 {
label = "pcie-perst6";
reg = <8>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@9 {
label = "pcie-perst7";
reg = <9>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@10 {
label = "pcie-perst8";
reg = <10>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@11 {
label = "PV-cp0-sw1stk4-perst";
reg = <11>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@12 {
label = "PV-cp0-sw1stk5-perst";
reg = <12>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@13 {
label = "pe-cp-drv0-perst";
reg = <13>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@14 {
label = "pe-cp-drv1-perst";
reg = <14>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@15 {
label = "lom-perst";
reg = <15>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
};
gpio@74 {
compatible = "nxp,pca9539";
reg = <0x74>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"PLUG_DETECT_PCIE_J101_N",
"PLUG_DETECT_PCIE_J102_N",
"PLUG_DETECT_PCIE_J103_N",
"PLUG_DETECT_PCIE_J104_N",
"PLUG_DETECT_PCIE_J105_N",
"PLUG_DETECT_PCIE_J106_N",
"PLUG_DETECT_PCIE_J107_N",
"PLUG_DETECT_PCIE_J108_N",
"PLUG_DETECT_M2_SSD1_N",
"PLUG_DETECT_NIC1_N",
"SEL_SMB_DIMM_CPU0",
"presence-ps2",
"presence-ps3",
"", "",
"PWRBRD_PLUG_DETECT2_N";
};
};
&i2c2 {
status = "okay";
power-supply@58 {
compatible = "ibm,cffps";
reg = <0x58>;
};
power-supply@59 {
compatible = "ibm,cffps";
reg = <0x59>;
};
power-supply@5a {
compatible = "ibm,cffps";
reg = <0x5a>;
};
power-supply@5b {
compatible = "ibm,cffps";
reg = <0x5b>;
};
};
&i2c3 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9548";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c3mux0chn0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c3mux0chn1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c3mux0chn2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c3mux0chn3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
i2c3mux0chn4: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
i2c3mux0chn5: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
i2c3mux0chn6: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
i2c3mux0chn7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c4 {
status = "okay";
};
&i2c5 {
status = "okay";
regulator@42 {
compatible = "infineon,ir38263";
reg = <0x42>;
};
regulator@43 {
compatible = "infineon,ir38060";
reg = <0x43>;
};
};
&i2c6 {
status = "okay";
fan-controller@52 {
compatible = "maxim,max31785a";
reg = <0x52>;
};
fan-controller@54 {
compatible = "maxim,max31785a";
reg = <0x54>;
};
eeprom@55 {
compatible = "atmel,24c64";
reg = <0x55>;
};
i2c-mux@70 {
compatible = "nxp,pca9548";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c6mux0chn0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c6mux0chn1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c6mux0chn2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c6mux0chn3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
i2c6mux0chn4: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
humidity-sensor@40 {
compatible = "ti,hdc1080";
reg = <0x40>;
};
temperature-sensor@48 {
compatible = "ti,tmp275";
reg = <0x48>;
};
eeprom@50 {
compatible = "atmel,24c32";
reg = <0x50>;
};
led-controller@60 {
compatible = "nxp,pca9551";
reg = <0x60>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
led@0 {
label = "enclosure-id-led";
reg = <0>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@1 {
label = "attention-led";
reg = <1>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@2 {
label = "enclosure-fault-rollup-led";
reg = <2>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@3 {
label = "power-on-led";
reg = <3>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
};
temperature-sensor@76 {
compatible = "infineon,dps310";
reg = <0x76>;
};
};
i2c6mux0chn5: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
i2c6mux0chn6: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
i2c6mux0chn7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
pca3: gpio@74 {
compatible = "nxp,pca9539";
reg = <0x74>;
gpio-controller;
#gpio-cells = <2>;
};
pca4: gpio@77 {
compatible = "nxp,pca9539";
reg = <0x77>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"PE_NVMED0_EXP_PRSNT_N",
"PE_NVMED1_EXP_PRSNT_N",
"PE_NVMED2_EXP_PRSNT_N",
"PE_NVMED3_EXP_PRSNT_N",
"LED_FAULT_NVMED0",
"LED_FAULT_NVMED1",
"LED_FAULT_NVMED2",
"LED_FAULT_NVMED3",
"FAN0_PRESENCE_R_N",
"FAN1_PRESENCE_R_N",
"FAN2_PRESENCE_R_N",
"FAN3_PRESENCE_R_N",
"FAN4_PRESENCE_R_N",
"FAN5_PRESENCE_N",
"FAN6_PRESENCE_N",
"";
};
};
&i2c7 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9548";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c7mux0chn0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c7mux0chn1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c7mux0chn2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c7mux0chn3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
regulator@58 {
compatible = "mps,mp2973";
reg = <0x58>;
};
};
i2c7mux0chn4: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
i2c7mux0chn5: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
regulator@40 {
compatible = "infineon,tda38640";
reg = <0x40>;
};
};
i2c7mux0chn6: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
i2c7mux0chn7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c8 {
status = "okay";
i2c-mux@71 {
compatible = "nxp,pca9548";
reg = <0x71>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c8mux0chn0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
regulator@58 {
compatible = "mps,mp2971";
reg = <0x58>;
};
};
i2c8mux0chn1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
regulator@40 {
compatible = "infineon,tda38640";
reg = <0x40>;
};
regulator@41 {
compatible = "infineon,tda38640";
reg = <0x41>;
};
regulator@58 {
compatible = "mps,mp2971";
reg = <0x58>;
};
regulator@5b {
compatible = "mps,mp2971";
reg = <0x5b>;
};
};
i2c8mux0chn2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c8mux0chn3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
i2c8mux0chn4: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
i2c-mux@70 {
compatible = "nxp,pca9548";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c8mux1chn0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c8mux1chn1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c8mux1chn2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c8mux1chn3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
i2c8mux1chn4: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
i2c8mux1chn5: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
i2c8mux1chn6: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
i2c8mux1chn7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
i2c8mux0chn5: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
i2c8mux0chn6: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
temperature-sensor@4c {
compatible = "ti,tmp423";
reg = <0x4c>;
};
};
i2c8mux0chn7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
regulator@40 {
compatible = "infineon,ir38060";
reg = <0x40>;
};
};
};
};
&i2c9 {
status = "okay";
regulator@40 {
compatible = "infineon,ir38263";
reg = <0x40>;
};
regulator@41 {
compatible = "infineon,ir38263";
reg = <0x41>;
};
eeprom@50 {
compatible = "atmel,24c64";
reg = <0x50>;
};
regulator@60 {
compatible = "maxim,max8952";
reg = <0x60>;
max8952,default-mode = <0>;
max8952,dvs-mode-microvolt = <1250000>, <1200000>,
<1050000>, <950000>;
max8952,sync-freq = <0>;
max8952,ramp-speed = <0>;
regulator-name = "VR_v77_1v4";
regulator-min-microvolt = <770000>;
regulator-max-microvolt = <1400000>;
regulator-always-on;
regulator-boot-on;
};
};
&i2c11 {
status = "okay";
tpm@2e {
compatible = "tcg,tpm-tis-i2c";
reg = <0x2e>;
memory-region = <&eventlog>;
};
};
&i2c12 {
status = "okay";
};
&i2c13 {
status = "okay";
regulator@41 {
compatible = "infineon,ir38263";
reg = <0x41>;
};
led-controller@61 {
compatible = "nxp,pca9552";
reg = <0x61>;
#address-cells = <1>;
#size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
led@0 {
label = "efuse-12v-slots";
reg = <0>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@1 {
label = "efuse-3p3v-slot";
reg = <1>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@3 {
label = "nic2-pert";
reg = <3>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@4 {
label = "pcie-perst9";
reg = <4>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@5 {
label = "pcie-perst10";
reg = <5>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@6 {
label = "pcie-perst11";
reg = <6>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@7 {
label = "pcie-perst12";
reg = <7>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@8 {
label = "pcie-perst13";
reg = <8>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@9 {
label = "pcie-perst14";
reg = <9>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@10 {
label = "pcie-perst15";
reg = <10>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@11 {
label = "pcie-perst16";
reg = <11>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@12 {
label = "PV-cp1-sw1stk4-perst";
reg = <12>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@13 {
label = "PV-cp1-sw1stk5-perst";
reg = <13>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@14 {
label = "pe-cp-drv2-perst";
reg = <14>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
led@15 {
label = "pe-cp-drv3-perst";
reg = <15>;
retain-state-shutdown;
default-state = "keep";
type = <PCA955X_TYPE_LED>;
};
};
gpio@75 {
compatible = "nxp,pca9539";
reg = <0x75>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"PLUG_DETECT_PCIE_J109_N",
"PLUG_DETECT_PCIE_J110_N",
"PLUG_DETECT_PCIE_J111_N",
"PLUG_DETECT_PCIE_J112_N",
"PLUG_DETECT_PCIE_J113_N",
"PLUG_DETECT_PCIE_J114_N",
"PLUG_DETECT_PCIE_J115_N",
"PLUG_DETECT_PCIE_J116_N",
"PLUG_DETECT_M2_SSD2_N",
"PLUG_DETECT_NIC2_N",
"SEL_SMB_DIMM_CPU1",
"presence-ps0",
"presence-ps1",
"", "",
"PWRBRD_PLUG_DETECT1_N";
};
gpio@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
"SW1_BOOTRCVRYB1_N",
"SW1_BOOTRCVRYB0_N",
"SW2_BOOTRCVRYB1_N",
"SW2_BOOTRCVRYB0_N",
"SW3_4_BOOTRCVRYB1_N",
"SW3_4_BOOTRCVRYB0_N",
"SW5_BOOTRCVRYB1_N",
"SW5_BOOTRCVRYB0_N",
"SW6_BOOTRCVRYB1_N",
"SW6_BOOTRCVRYB0_N",
"SW1_RESET_N",
"SW3_RESET_N",
"SW4_RESET_N",
"SW2_RESET_N",
"SW5_RESET_N",
"SW6_RESET_N";
};
};
&i2c14 {
status = "okay";
i2c-mux@70 {
compatible = "nxp,pca9548";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c14mux0chn0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c14mux0chn1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c14mux0chn2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c14mux0chn3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
regulator@58 {
compatible = "mps,mp2973";
reg = <0x58>;
};
};
i2c14mux0chn4: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
i2c14mux0chn5: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
regulator@40 {
compatible = "infineon,tda38640";
reg = <0x40>;
};
};
i2c14mux0chn6: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
i2c14mux0chn7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
&i2c15 {
status = "okay";
i2c-mux@71 {
compatible = "nxp,pca9548";
reg = <0x71>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c15mux0chn0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
regulator@58 {
compatible = "mps,mp2971";
reg = <0x58>;
};
};
i2c15mux0chn1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
regulator@40 {
compatible = "infineon,tda38640";
reg = <0x40>;
};
regulator@41 {
compatible = "infineon,tda38640";
reg = <0x41>;
};
regulator@58 {
compatible = "mps,mp2971";
reg = <0x58>;
};
regulator@5b {
compatible = "mps,mp2971";
reg = <0x5b>;
};
};
i2c15mux0chn2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c15mux0chn3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
i2c15mux0chn4: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
i2c-mux@70 {
compatible = "nxp,pca9548";
reg = <0x70>;
#address-cells = <1>;
#size-cells = <0>;
i2c-mux-idle-disconnect;
i2c15mux1chn0: i2c@0 {
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
};
i2c15mux1chn1: i2c@1 {
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
};
i2c15mux1chn2: i2c@2 {
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
};
i2c15mux1chn3: i2c@3 {
#address-cells = <1>;
#size-cells = <0>;
reg = <3>;
};
i2c15mux1chn4: i2c@4 {
#address-cells = <1>;
#size-cells = <0>;
reg = <4>;
};
i2c15mux1chn5: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
i2c15mux1chn6: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
};
i2c15mux1chn7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
};
};
};
i2c15mux0chn5: i2c@5 {
#address-cells = <1>;
#size-cells = <0>;
reg = <5>;
};
i2c15mux0chn6: i2c@6 {
#address-cells = <1>;
#size-cells = <0>;
reg = <6>;
temperature-sensor@4c {
compatible = "ti,tmp423";
reg = <0x4c>;
};
};
i2c15mux0chn7: i2c@7 {
#address-cells = <1>;
#size-cells = <0>;
reg = <7>;
regulator@40 {
compatible = "infineon,ir38060";
reg = <0x40>;
};
temperature-sensor@4c {
compatible = "ti,tmp423";
reg = <0x4c>;
};
};
};
};
......@@ -867,22 +867,26 @@ i2c: bus@1e78a000 {
};
fsim0: fsi@1e79b000 {
#interrupt-cells = <1>;
compatible = "aspeed,ast2600-fsi-master", "fsi-master";
reg = <0x1e79b000 0x94>;
interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fsi1_default>;
clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
interrupt-controller;
status = "disabled";
};
fsim1: fsi@1e79b100 {
#interrupt-cells = <1>;
compatible = "aspeed,ast2600-fsi-master", "fsi-master";
reg = <0x1e79b100 0x94>;
interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_fsi2_default>;
clocks = <&syscon ASPEED_CLK_GATE_FSICLK>;
interrupt-controller;
status = "disabled";
};
......
......@@ -165,10 +165,12 @@ occ-hwmon {
};
fsi_hub0: hub@3400 {
#interrupt-cells = <1>;
compatible = "fsi-master-hub";
reg = <0x3400 0x400>;
#address-cells = <2>;
#size-cells = <0>;
interrupt-controller;
};
};
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment