summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2026-01-07 20:05:51 +0300
committerArnd Bergmann <arnd@arndb.de>2026-01-07 20:05:52 +0300
commitbc6fe9f0a6430ccd732e0f9726f5747c99aa31b4 (patch)
treeeb822bba7a3fa24da14c8833af4363f44445525f
parent12e491d4f735c7003b73afe6597fb5b223e35b91 (diff)
parent459a5aa171c0f13fcd78faa9594dc4aa5a95770b (diff)
downloadlinux-bc6fe9f0a6430ccd732e0f9726f5747c99aa31b4.tar.xz
Merge tag 'aspeed-6.20-devicetree-0' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/dt
First batch of ASPEED Arm devicetree changes for 6.20 New platforms: - NVIDIA MSX4 BMC The NVIDIA MSX4 HPM (host platform module) is a reference board for managing up to 8 PCIe connected NVIDIA GPUs via ConnectX-8 (CX8) SuperNICs. The BMC manages all GPUs and CX8s for both telemetry and firmware update via MCTP over USB. The host CPUs are dual socket Intel Granite Rapids processors. For more detail on this architecture: https://developer.nvidia.com/blog/nvidia-connectx-8-supernics-advance-ai-platform-architecture-with-pcie-gen6-connectivity/ Updated platforms: - ast2600-evb (ASPEED): Various tidy-ups to address binding warnings - bletchley (Meta): Watchdog fix, tidy-ups to address binding warnings - clemente (Meta): HDD LED fix, GPIO line names, EEPROMs - harma (Meta): fanboard presence GPIO - santabarbara (Meta): IPMB, GPIO line names, additional IO expander * tag 'aspeed-6.20-devicetree-0' of https://git.kernel.org/pub/scm/linux/kernel/git/bmc/linux: ARM: dts: aspeed: bletchley: Fix ADC vref property names ARM: dts: aspeed: bletchley: Remove unused i2c13 property ARM: dts: aspeed: bletchley: Remove unused pca9539 properties ARM: dts: aspeed: bletchley: Fix SPI GPIO property names ARM: dts: aspeed: bletchley: Use generic node names ARM: dts: aspeed: g6: Drop clocks property from arm,armv7-timer ARM: dts: aspeed: ast2600-evb: Tidy up A0 work-around for UART5 ARM: dts: aspeed: g6: Drop unspecified aspeed,ast2600-udma node ARM: dts: aspeed: Drop syscon compatible from EDAC in g6 dtsi ARM: dts: aspeed: Use specified wp-inverted property for AST2600 EVB ARM: dts: aspeed: Remove sdhci-drive-type property from AST2600 EVB ARM: dts: aspeed: Add NVIDIA MSX4 HPM dt-bindings: arm: aspeed: Add NVIDIA MSX4 board ARM: dts: aspeed: clemente: move hdd_led to its own gpio-leds group ARM: dts: aspeed: clemente: add gpio line name to io expander ARM: dts: aspeed: santabarbara: Enable ipmb device for OCP debug card ARM: dts: aspeed: santabarbara: Add swb IO expander and gpio line names ARM: dts: aspeed: clemente: Add EEPROMs for boot and data drive FRUs ARM: dts: aspeed: harma: add fanboard presence sgpio ARM: dts: aspeed: bletchley: remove WDTRST1 assertion from wdt1 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml1
-rw-r--r--arch/arm/boot/dts/aspeed/Makefile1
-rw-r--r--arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts7
-rw-r--r--arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts106
-rw-r--r--arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts43
-rw-r--r--arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-harma.dts8
-rw-r--r--arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-santabarbara.dts29
-rw-r--r--arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts246
-rw-r--r--arch/arm/boot/dts/aspeed/aspeed-g6.dtsi12
9 files changed, 374 insertions, 79 deletions
diff --git a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
index 9298c1a75dd1..8a190819e066 100644
--- a/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
+++ b/Documentation/devicetree/bindings/arm/aspeed/aspeed.yaml
@@ -107,6 +107,7 @@ properties:
- inventec,transformer-bmc
- jabil,rbp-bmc
- nvidia,gb200nvl-bmc
+ - nvidia,msx4-bmc
- qcom,dc-scm-v1-bmc
- quanta,s6q-bmc
- ufispace,ncplite-bmc
diff --git a/arch/arm/boot/dts/aspeed/Makefile b/arch/arm/boot/dts/aspeed/Makefile
index 9adf9278dc94..ed25fec25fc4 100644
--- a/arch/arm/boot/dts/aspeed/Makefile
+++ b/arch/arm/boot/dts/aspeed/Makefile
@@ -58,6 +58,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
aspeed-bmc-lenovo-hr855xg2.dtb \
aspeed-bmc-microsoft-olympus.dtb \
aspeed-bmc-nvidia-gb200nvl-bmc.dtb \
+ aspeed-bmc-nvidia-msx4-bmc.dtb \
aspeed-bmc-opp-lanyang.dtb \
aspeed-bmc-opp-mowgli.dtb \
aspeed-bmc-opp-nicole.dtb \
diff --git a/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts b/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts
index de83c0eb1d6e..3f2ca9da0be2 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-ast2600-evb.dts
@@ -205,6 +205,7 @@
&uart5 {
// Workaround for A0
compatible = "snps,dw-apb-uart";
+ /delete-property/ no-loopback-test;
};
&i2c0 {
@@ -314,9 +315,8 @@
status = "okay";
bus-width = <4>;
max-frequency = <100000000>;
- sdhci-drive-type = /bits/ 8 <3>;
sdhci-caps-mask = <0x7 0x0>;
- sdhci,wp-inverted;
+ wp-inverted;
vmmc-supply = <&vcc_sdhci0>;
vqmmc-supply = <&vccq_sdhci0>;
clk-phase-sd-hs = <7>, <200>;
@@ -326,9 +326,8 @@
status = "okay";
bus-width = <4>;
max-frequency = <100000000>;
- sdhci-drive-type = /bits/ 8 <3>;
sdhci-caps-mask = <0x7 0x0>;
- sdhci,wp-inverted;
+ wp-inverted;
vmmc-supply = <&vcc_sdhci1>;
vqmmc-supply = <&vccq_sdhci1>;
clk-phase-sd-hs = <7>, <200>;
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
index 24969c82d05e..7c27bf6bb51d 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
@@ -34,14 +34,14 @@
<&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
};
- spi1_gpio: spi1-gpio {
+ spi1_gpio: spi {
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>;
+ sck-gpios = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
+ mosi-gpios = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
+ miso-gpios = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
num-chipselects = <1>;
cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
@@ -54,7 +54,8 @@
front_gpio_leds {
compatible = "gpio-leds";
- sys_log_id {
+ led-0 {
+ label = "sys_log_id";
default-state = "off";
gpios = <&front_leds 0 GPIO_ACTIVE_LOW>;
};
@@ -62,42 +63,50 @@
fan_gpio_leds {
compatible = "gpio-leds";
- fan0_blue {
+ led-0 {
+ label = "fan0_blue";
retain-state-shutdown;
default-state = "on";
gpios = <&fan_leds 8 GPIO_ACTIVE_HIGH>;
};
- fan1_blue {
+ led-1 {
+ label = "fan1_blue";
retain-state-shutdown;
default-state = "on";
gpios = <&fan_leds 9 GPIO_ACTIVE_HIGH>;
};
- fan2_blue {
+ led-2 {
+ label = "fan2_blue";
retain-state-shutdown;
default-state = "on";
gpios = <&fan_leds 10 GPIO_ACTIVE_HIGH>;
};
- fan3_blue {
+ led-3 {
+ label = "fan3_blue";
retain-state-shutdown;
default-state = "on";
gpios = <&fan_leds 11 GPIO_ACTIVE_HIGH>;
};
- fan0_amber {
+ led-4 {
+ label = "fan0_amber";
retain-state-shutdown;
default-state = "off";
gpios = <&fan_leds 12 GPIO_ACTIVE_HIGH>;
};
- fan1_amber {
+ led-5 {
+ label = "fan1_amber";
retain-state-shutdown;
default-state = "off";
gpios = <&fan_leds 13 GPIO_ACTIVE_HIGH>;
};
- fan2_amber {
+ led-6 {
+ label = "fan2_amber";
retain-state-shutdown;
default-state = "off";
gpios = <&fan_leds 14 GPIO_ACTIVE_HIGH>;
};
- fan3_amber {
+ led-7 {
+ label = "fan3_amber";
retain-state-shutdown;
default-state = "off";
gpios = <&fan_leds 15 GPIO_ACTIVE_HIGH>;
@@ -106,12 +115,14 @@
sled1_gpio_leds {
compatible = "gpio-leds";
- sled1_amber {
+ led-0 {
+ label = "sled1_amber";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled1_leds 0 GPIO_ACTIVE_LOW>;
};
- sled1_blue {
+ led-1 {
+ label = "sled1_blue";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled1_leds 1 GPIO_ACTIVE_LOW>;
@@ -120,12 +131,14 @@
sled2_gpio_leds {
compatible = "gpio-leds";
- sled2_amber {
+ led-0 {
+ label = "sled2_amber";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled2_leds 0 GPIO_ACTIVE_LOW>;
};
- sled2_blue {
+ led-1 {
+ label = "sled2_blue";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled2_leds 1 GPIO_ACTIVE_LOW>;
@@ -134,12 +147,14 @@
sled3_gpio_leds {
compatible = "gpio-leds";
- sled3_amber {
+ led-0 {
+ label = "sled3_amber";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled3_leds 0 GPIO_ACTIVE_LOW>;
};
- sled3_blue {
+ led-1 {
+ label = "sled3_blue";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled3_leds 1 GPIO_ACTIVE_LOW>;
@@ -148,12 +163,14 @@
sled4_gpio_leds {
compatible = "gpio-leds";
- sled4_amber {
+ led-0 {
+ label = "sled4_amber";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled4_leds 0 GPIO_ACTIVE_LOW>;
};
- sled4_blue {
+ led-1 {
+ label = "sled4_blue";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled4_leds 1 GPIO_ACTIVE_LOW>;
@@ -162,12 +179,14 @@
sled5_gpio_leds {
compatible = "gpio-leds";
- sled5_amber {
+ led-0 {
+ label = "sled5_amber";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled5_leds 0 GPIO_ACTIVE_LOW>;
};
- sled5_blue {
+ led-1 {
+ label = "sled5_blue";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled5_leds 1 GPIO_ACTIVE_LOW>;
@@ -176,12 +195,14 @@
sled6_gpio_leds {
compatible = "gpio-leds";
- sled6_amber {
+ led-0 {
+ label = "sled6_amber";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled6_leds 0 GPIO_ACTIVE_LOW>;
};
- sled6_blue {
+ led-1 {
+ label = "sled6_blue";
retain-state-shutdown;
default-state = "keep";
gpios = <&sled6_leds 1 GPIO_ACTIVE_LOW>;
@@ -191,32 +212,32 @@
gpio-keys {
compatible = "gpio-keys";
- presence-sled1 {
+ presence-sled1-switch {
label = "presence-sled1";
gpios = <&gpio0 ASPEED_GPIO(H, 2) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(H, 2)>;
};
- presence-sled2 {
+ presence-sled2-switch {
label = "presence-sled2";
gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(H, 3)>;
};
- presence-sled3 {
+ presence-sled3-switch {
label = "presence-sled3";
gpios = <&gpio0 ASPEED_GPIO(H, 4) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(H, 4)>;
};
- presence-sled4 {
+ presence-sled4-switch {
label = "presence-sled4";
gpios = <&gpio0 ASPEED_GPIO(H, 5) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(H, 5)>;
};
- presence-sled5 {
+ presence-sled5-switch {
label = "presence-sled5";
gpios = <&gpio0 ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(H, 6)>;
};
- presence-sled6 {
+ presence-sled6-switch {
label = "presence-sled6";
gpios = <&gpio0 ASPEED_GPIO(H, 7) GPIO_ACTIVE_LOW>;
linux,code = <ASPEED_GPIO(H, 7)>;
@@ -352,8 +373,6 @@
sled1_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- #address-cells = <1>;
- #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
@@ -441,8 +460,6 @@
sled2_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- #address-cells = <1>;
- #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
@@ -530,8 +547,6 @@
sled3_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- #address-cells = <1>;
- #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
@@ -619,8 +634,6 @@
sled4_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- #address-cells = <1>;
- #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
@@ -708,8 +721,6 @@
sled5_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- #address-cells = <1>;
- #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
@@ -797,8 +808,6 @@
sled6_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- #address-cells = <1>;
- #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
@@ -953,7 +962,6 @@
&i2c13 {
multi-master;
- aspeed,hw-timeout-ms = <1000>;
status = "okay";
//USB Debug Connector
@@ -1024,7 +1032,7 @@
};
&adc0 {
- vref = <1800>;
+ aspeed,int-vref-microvolt = <2500000>;
status = "okay";
pinctrl-names = "default";
@@ -1035,7 +1043,7 @@
};
&adc1 {
- vref = <2500>;
+ aspeed,int-vref-microvolt = <2500000>;
status = "okay";
pinctrl-names = "default";
@@ -1080,11 +1088,5 @@
&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>;
};
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts
index 450446913e36..2aff21442f11 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts
@@ -96,7 +96,12 @@
gpios = <&gpio0 ASPEED_GPIO(P, 5) (GPIO_ACTIVE_HIGH|GPIO_TRANSITORY)>;
};
- led-hdd {
+ };
+
+ hdd-leds {
+ compatible = "gpio-leds";
+
+ led-0 {
label = "hdd_led";
gpios = <&io_expander13 1 GPIO_ACTIVE_LOW>;
};
@@ -311,6 +316,12 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
+
+ // HDD NVMe SSD FRU 0
+ eeprom@53 {
+ compatible = "atmel,24c02";
+ reg = <0x53>;
+ };
};
i2c0mux0ch1mux0ch1: i2c@1 {
@@ -323,6 +334,12 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
+
+ // HDD NVMe SSD FRU 1
+ eeprom@53 {
+ compatible = "atmel,24c02";
+ reg = <0x53>;
+ };
};
i2c0mux0ch1mux0ch3: i2c@3 {
@@ -493,6 +510,12 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <0>;
+
+ // HDD NVMe SSD FRU 2
+ eeprom@53 {
+ compatible = "atmel,24c02";
+ reg = <0x53>;
+ };
};
i2c0mux3ch1mux0ch1: i2c@1 {
@@ -505,6 +528,12 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <2>;
+
+ // HDD NVMe SSD FRU 3
+ eeprom@53 {
+ compatible = "atmel,24c02";
+ reg = <0x53>;
+ };
};
i2c0mux3ch1mux0ch3: i2c@3 {
@@ -619,6 +648,12 @@
#address-cells = <1>;
#size-cells = <0>;
reg = <1>;
+
+ // BOOT DRIVE FRU
+ eeprom@53 {
+ compatible = "atmel,24c02";
+ reg = <0x53>;
+ };
};
i2c0mux5ch2: i2c@2 {
@@ -983,7 +1018,7 @@
"",
"",
"",
- "",
+ "shdn_force_l_cpld",
"",
"",
"",
@@ -1258,10 +1293,6 @@
use-ncsi;
};
-&udma {
- status = "okay";
-};
-
&uart1 {
status = "okay";
};
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-harma.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-harma.dts
index 1c50e4a367b2..5602a502d07b 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-harma.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-harma.dts
@@ -822,9 +822,13 @@
"irq-pvddcore1-ocp-alert","",
"","",
/*O4-O7 line 232-239*/
- "","","","","","","","",
+ "","","","",
+ "presence-lower-fanboard1","",
+ "presence-lower-fanboard2","",
/*P0-P3 line 240-247*/
- "","","","","","","","",
+ "presence-upper-fanboard1","",
+ "presence-upper-fanboard2","",
+ "","","","",
/*P4-P7 line 248-255*/
"","","","","","","","";
};
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-santabarbara.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-santabarbara.dts
index f74f463cc878..0a3e2e241063 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-santabarbara.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-santabarbara.dts
@@ -845,7 +845,14 @@
};
&i2c7 {
+ multi-master;
status = "okay";
+
+ ipmb@10 {
+ compatible = "ipmb-dev";
+ reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>;
+ i2c-protocol;
+ };
};
&i2c8 {
@@ -1328,6 +1335,20 @@
&i2c12 {
status = "okay";
+ gpio@27 {
+ compatible = "nxp,pca9555";
+ reg = <0x27>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ gpio-line-names =
+ "PEX0_MODE_SEL1_R","PEX0_MODE_SEL2_R",
+ "PEX0_MODE_SEL3_R","PEX0_MODE_SEL4_R",
+ "","","","",
+ "UART_MUX_SEL","RST_SMB_NIC_R_N",
+ "RST_SMB_N","RST_CP2102N_N",
+ "SPI_MUX_SEL","","","";
+ };
+
// SWB FRU
eeprom@52 {
compatible = "atmel,24c64";
@@ -1758,11 +1779,11 @@
"","BIOS_DEBUG_MODE",
/*H0-H3 line 112-119*/
"FM_IOEXP_U538_INT_N","",
- "FM_IOEXP_U539_INT_N","",
- "FM_IOEXP_U540_INT_N","",
- "FM_IOEXP_U541_INT_N","",
+ "FM_IOEXP_U539_INT_N","FM_MODULE_PWR_EN_N_1B",
+ "FM_IOEXP_U540_INT_N","FM_MODULE_PWR_EN_N_2B",
+ "FM_IOEXP_U541_INT_N","FM_MODULE_PWR_EN_N_3B",
/*H4-H7 line 120-127*/
- "FM_IOEXP_PDB2_U1003_INT_N","",
+ "FM_IOEXP_PDB2_U1003_INT_N","FM_MODULE_PWR_EN_N_4B",
"","",
"","",
"FM_MAIN_PWREN_RMC_EN_ISO_R","",
diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts
new file mode 100644
index 000000000000..44f95a3986cb
--- /dev/null
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-msx4-bmc.dts
@@ -0,0 +1,246 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
+
+#include "aspeed-g6.dtsi"
+#include <dt-bindings/gpio/aspeed-gpio.h>
+#include <dt-bindings/i2c/i2c.h>
+
+/ {
+ model = "AST2600 MSX4 BMC";
+ compatible = "nvidia,msx4-bmc", "aspeed,ast2600";
+
+ aliases {
+ serial0 = &uart1;
+ serial1 = &uart2;
+ serial2 = &uart3;
+ serial3 = &uart4;
+ serial4 = &uart5;
+ };
+
+ chosen {
+ stdout-path = "uart5:115200n8";
+ };
+
+ memory@80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x80000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges;
+
+ gfx_memory: framebuffer {
+ compatible = "shared-dma-pool";
+ size = <0x01000000>;
+ alignment = <0x01000000>;
+ reusable;
+ };
+
+ video_engine_memory: jpegbuffer {
+ compatible = "shared-dma-pool";
+ size = <0x02000000>; /* 32M */
+ alignment = <0x01000000>;
+ reusable;
+ };
+ };
+};
+
+&ehci1 {
+ status = "okay";
+};
+
+&fmc {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ label = "bmc";
+ status = "okay";
+ #include "openbmc-flash-layout-128.dtsi"
+ };
+
+ flash@1 {
+ compatible = "jedec,spi-nor";
+ label = "alt-bmc";
+ spi-tx-bus-width = <1>;
+ spi-rx-bus-width = <1>;
+ status = "okay";
+ };
+};
+
+&gfx {
+ memory-region = <&gfx_memory>;
+ status = "okay";
+};
+
+&gpio0 {
+ gpio-line-names =
+ /*A0-A7*/ "","","","","","","","",
+ /*B0-B7*/ "ASSERT_BMC_READY","","","","","","","",
+ /*C0-C7*/ "MON_PWR_GOOD","","","","","","","FP_ID_LED_N",
+ /*D0-D7*/ "","","","","","","","",
+ /*E0-E7*/ "","","","","","","","",
+ /*F0-F7*/ "","","","","","","","",
+ /*G0-G7*/ "","","FP_LED_STATUS_GREEN_N","FP_LED_STATUS_AMBER_N",
+ "","","","",
+ /*H0-H7*/ "","","","","","","","",
+ /*I0-I7*/ "","","","","","","","",
+ /*J0-J7*/ "","","","","","","","",
+ /*K0-K7*/ "","","","","","","","",
+ /*L0-L7*/ "","","","","","","","",
+ /*M0-M7*/ "","","","","","","","",
+ /*N0-N7*/ "","","","","","","","",
+ /*O0-O7*/ "","","","","","","","",
+ /*P0-P7*/ "MON_PWR_BTN_L","ASSERT_PWR_BTN_L","MON_RST_BTN_L",
+ "ASSERT_RST_BTN_L","","ASSERT_NMI_BTN_L","","",
+ /*Q0-Q7*/ "","","MEMORY_HOT_0","MEMORY_HOT_1","","","","",
+ /*R0-R7*/ "ID_BTN","","","","","VBAT_GPIO","","",
+ /*S0-S7*/ "","","RST_PCA_MUX","","","","","",
+ /*T0-T7*/ "","","","","","","","",
+ /*U0-U7*/ "","","","","","","","",
+ /*V0-V7*/ "","","","","","","","",
+ /*W0-W7*/ "","","","","","","","",
+ /*X0-X7*/ "","","","","","","","",
+ /*Y0-Y7*/ "","","","","","","","",
+ /*Z0-Z7*/ "","","","","","","","";
+};
+
+&gpio1 {
+ gpio-line-names =
+ /*18A0-18A7*/ "","","","","","","","",
+ /*18B0-18B7*/ "","","","","","","","",
+ /*18C0-18C7*/ "","","","","","","","",
+ /*18D0-18D7*/ "","","","","","","","",
+ /*18E0-18E3*/ "","","BMC_INIT_DONE","";
+};
+
+// Devices on these busses are available after POST
+// however there isn't a great way to defer probing
+// until that point today, as the BMC doesn't
+// have direct control over when the host completes
+// POST, especially from the kernel.
+&i2c0 {
+ status = "okay";
+};
+
+&i2c1 {
+ status = "okay";
+};
+
+&i2c2 {
+ status = "okay";
+};
+
+&i2c3 {
+ status = "okay";
+};
+
+&i2c4 {
+ status = "okay";
+
+ eeprom@51 {
+ compatible = "atmel,24c256";
+ reg = <0x51>;
+ pagesize = <64>;
+ label = "sku";
+ };
+};
+
+&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";
+};
+
+&i2c15 {
+ status = "okay";
+};
+
+&kcs1 {
+ aspeed,lpc-io-reg = <0xca0>;
+ status = "okay";
+};
+
+&kcs2 {
+ aspeed,lpc-io-reg = <0xca8>;
+ status = "okay";
+};
+
+&kcs3 {
+ aspeed,lpc-io-reg = <0xca2>;
+ status = "okay";
+};
+
+&lpc_reset {
+ status = "okay";
+};
+
+&rtc {
+ status = "okay";
+};
+
+&sgpiom0 {
+ ngpios = <80>;
+ status = "okay";
+};
+
+&uart_routing {
+ status = "okay";
+};
+
+&uart1 {
+ status = "okay";
+};
+
+&uart2 {
+ status = "okay";
+};
+
+&uart3 {
+ status = "okay";
+};
+
+&uart4 {
+ status = "okay";
+};
+
+&uart5 {
+ status = "okay";
+};
+
+&video {
+ memory-region = <&video_engine_memory>;
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
index f8662c8ac089..189bc3bbb47c 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
+++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi
@@ -68,13 +68,12 @@
<GIC_PPI 14 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 11 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
<GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>;
- clocks = <&syscon ASPEED_CLK_HPLL>;
arm,cpu-registers-not-fw-configured;
always-on;
};
edac: sdram@1e6e0000 {
- compatible = "aspeed,ast2600-sdram-edac", "syscon";
+ compatible = "aspeed,ast2600-sdram-edac";
reg = <0x1e6e0000 0x174>;
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
};
@@ -866,15 +865,6 @@
interrupt-controller;
status = "disabled";
};
-
- udma: dma-controller@1e79e000 {
- compatible = "aspeed,ast2600-udma";
- reg = <0x1e79e000 0x1000>;
- interrupts = <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>;
- dma-channels = <28>;
- #dma-cells = <1>;
- status = "disabled";
- };
};
};
};