From 1e8024c42939c7da98615e3e41a97dc044e66710 Mon Sep 17 00:00:00 2001 From: Potin Lai Date: Tue, 21 Jul 2026 19:01:59 +0800 Subject: [PATCH 1/4] ARM: dts: aspeed: sanmiguel: Fix FIO IOEXP interrupt pin The interrupt properties for fio_ioexp (pca9555 on i2c14) were incorrectly configured to gpio1 with ASPEED_GPIO(B, 6). Update the interrupt-parent to gpio0 and the interrupt pin to ASPEED_GPIO(C, 6) according to the hardware specification. Signed-off-by: Potin Lai Signed-off-by: Andrew Jeffery --- arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts index d7ed497d7227..cb07c3615279 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts @@ -578,8 +578,8 @@ fio_ioexp: gpio@20 { reg = <0x20>; gpio-controller; #gpio-cells = <2>; - interrupt-parent = <&gpio1>; - interrupts = ; + interrupt-parent = <&gpio0>; + interrupts = ; gpio-line-names = "", "", "", "", From 1420679cffcea4067f4004f8cf0e651cadebf9a1 Mon Sep 17 00:00:00 2001 From: Potin Lai Date: Thu, 16 Jul 2026 10:31:17 +0800 Subject: [PATCH 2/4] ARM: dts: aspeed: sanmiguel: Fix PWRGD_RMC_N active-low hog configuration GPIO 14 on the fio_ioexp (pca9555) controller corresponds to the PWRGD_RMC_N signal, which is active-low. The pwrgd-rmc-hog node currently specifies output-low for this GPIO with GPIO_ACTIVE_LOW flags. Under Linux gpiolib, configuring an active-low GPIO hog with output-low sets the logical value to inactive (0), causing the subsystem to drive the physical line high. Correct the hog configuration to output-high, which sets the logical value to active (1), driving the physical pin low on boot as intended. [arj: tidy subject line] Signed-off-by: Potin Lai Link: https://patch.msgid.link/20260716-upstream-sanmiguel-fix-pwrgd-rmc-n-v1-1-8287b306e02a@gmail.com Signed-off-by: Andrew Jeffery --- arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts index cb07c3615279..ee406a6c1604 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts @@ -592,7 +592,7 @@ fio_ioexp: gpio@20 { pwrgd-rmc-hog { gpio-hog; gpios = <14 GPIO_ACTIVE_LOW>; - output-low; + output-high; }; }; From cb96bb0b28e981903527c50ad7de5149a9a38dc4 Mon Sep 17 00:00:00 2001 From: Mike Hsieh Date: Thu, 18 Jun 2026 15:41:44 +0800 Subject: [PATCH 3/4] ARM: dts: aspeed: sanmiguel: fix PDB HSC shunt resistor Correct the shunt-resistor-micro-ohms values for the four TI LM5066i hot-swap controllers on the PDB. This ensures accurate current and power sensor readings from the hardware monitors. Signed-off-by: Mike Hsieh Link: https://patch.msgid.link/20260618-sanmiguel-dts-config-hsc-lm5066i-v1-1-cccf959c9b78@gmail.com Signed-off-by: Andrew Jeffery --- .../arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts index ee406a6c1604..3cc6e772cc8c 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-sanmiguel.dts @@ -450,7 +450,7 @@ pdb_mps_hsc1: power-monitor@10 { pdb_ti_hsc1: power-monitor@11 { compatible = "ti,lm5066i"; reg = <0x11>; - shunt-resistor-micro-ohms = <763>; + shunt-resistor-micro-ohms = <1000>; }; pdb_mps_hsc2: power-monitor@12 { @@ -461,7 +461,7 @@ pdb_mps_hsc2: power-monitor@12 { pdb_ti_hsc2: power-monitor@13 { compatible = "ti,lm5066i"; reg = <0x13>; - shunt-resistor-micro-ohms = <294>; + shunt-resistor-micro-ohms = <321>; }; pdb_mps_hsc3: power-monitor@14 { @@ -472,7 +472,7 @@ pdb_mps_hsc3: power-monitor@14 { pdb_ti_hsc3: power-monitor@15 { compatible = "ti,lm5066i"; reg = <0x15>; - shunt-resistor-micro-ohms = <294>; + shunt-resistor-micro-ohms = <321>; }; pdb_mps_hsc4: power-monitor@16 { @@ -483,7 +483,7 @@ pdb_mps_hsc4: power-monitor@16 { pdb_ti_hsc4: power-monitor@17 { compatible = "ti,lm5066i"; reg = <0x17>; - shunt-resistor-micro-ohms = <381>; + shunt-resistor-micro-ohms = <500>; }; pdb_ioexp_20: gpio@20 { From 749c34389679f8d56cb200a69b62f9a64670034f Mon Sep 17 00:00:00 2001 From: Krzysztof Kozlowski Date: Mon, 6 Jul 2026 20:03:08 +0200 Subject: [PATCH 4/4] ARM: dts: aspeed: Correct indentation Correct spaces or mix of tabs+spaces into proper tab-indented lines. No functional impact (same DTB). Signed-off-by: Krzysztof Kozlowski Signed-off-by: Andrew Jeffery --- .../aspeed-bmc-inventec-transformers.dts | 432 +++++++++--------- .../boot/dts/aspeed/aspeed-bmc-opp-vesnin.dts | 2 +- arch/arm/boot/dts/aspeed/aspeed-g6.dtsi | 2 +- 3 files changed, 218 insertions(+), 218 deletions(-) diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-inventec-transformers.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-inventec-transformers.dts index c713cb7a6187..45ee0f2cc2bb 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-inventec-transformers.dts +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-inventec-transformers.dts @@ -9,320 +9,320 @@ #include / { - model = "TRANSFORMERS BMC"; - compatible = "inventec,transformer-bmc", "aspeed,ast2600"; + model = "TRANSFORMERS BMC"; + compatible = "inventec,transformer-bmc", "aspeed,ast2600"; - aliases { - serial4 = &uart5; - }; + aliases { + serial4 = &uart5; + }; - chosen { - stdout-path = &uart5; - bootargs = "console=ttyS4,115200n8"; - }; + chosen { + stdout-path = &uart5; + bootargs = "console=ttyS4,115200n8"; + }; - memory@80000000 { - device_type = "memory"; - reg = <0x80000000 0x80000000>; - }; + memory@80000000 { + device_type = "memory"; + reg = <0x80000000 0x80000000>; + }; - leds { - compatible = "gpio-leds"; + leds { + compatible = "gpio-leds"; - // UID led - uid { - label = "UID_LED"; - gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>; - }; + // UID led + uid { + label = "UID_LED"; + gpios = <&gpio0 ASPEED_GPIO(X, 0) GPIO_ACTIVE_LOW>; + }; - // Heart beat led - heartbeat { - label = "HB_LED"; - gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>; - }; - }; + // Heart beat led + heartbeat { + label = "HB_LED"; + gpios = <&gpio0 ASPEED_GPIO(P, 7) GPIO_ACTIVE_LOW>; + }; + }; }; &mdio0 { - status = "okay"; + status = "okay"; - ethphy0: ethernet-phy@0 { - compatible = "ethernet-phy-ieee802.3-c22"; - reg = <1>; - }; + ethphy0: ethernet-phy@0 { + compatible = "ethernet-phy-ieee802.3-c22"; + reg = <1>; + }; }; &mac3 { - status = "okay"; - phy-mode = "rgmii"; - phy-handle = <ðphy0>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_rgmii4_default>; + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <ðphy0>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_rgmii4_default>; }; &fmc { - status = "okay"; + status = "okay"; - flash@0 { - status = "okay"; - m25p,fast-read; - label = "bmc"; - spi-max-frequency = <33000000>; - spi-tx-bus-width = <2>; - spi-rx-bus-width = <2>; + flash@0 { + status = "okay"; + m25p,fast-read; + label = "bmc"; + spi-max-frequency = <33000000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; #include "openbmc-flash-layout.dtsi" - }; + }; - flash@1 { - status = "okay"; - m25p,fast-read; - label = "bmc2"; - spi-max-frequency = <33000000>; - spi-tx-bus-width = <2>; - spi-rx-bus-width = <2>; - }; + flash@1 { + status = "okay"; + m25p,fast-read; + label = "bmc2"; + spi-max-frequency = <33000000>; + spi-tx-bus-width = <2>; + spi-rx-bus-width = <2>; + }; }; &spi1 { - status = "okay"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_spi1_default>; + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spi1_default>; - flash@0 { - status = "okay"; - m25p,fast-read; - label = "bios"; - spi-max-frequency = <33000000>; - spi-tx-bus-width = <1>; - spi-rx-bus-width = <1>; - }; + flash@0 { + status = "okay"; + m25p,fast-read; + label = "bios"; + spi-max-frequency = <33000000>; + spi-tx-bus-width = <1>; + spi-rx-bus-width = <1>; + }; }; &wdt1 { - status = "okay"; + status = "okay"; }; &uart1 { - status = "okay"; + status = "okay"; }; &uart5 { - status = "okay"; + status = "okay"; }; &i2c0 { - status = "okay"; + status = "okay"; - //Set bmc' slave address; - bmc_slave@10 { - compatible = "ipmb-dev"; - reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; - i2c-protocol; - }; + //Set bmc' slave address; + bmc_slave@10 { + compatible = "ipmb-dev"; + reg = <(0x10 | I2C_OWN_SLAVE_ADDRESS)>; + i2c-protocol; + }; }; &i2c2 { - status = "okay"; + status = "okay"; }; &i2c3 { - // FRU AT24C512C-SSHM-T - status = "okay"; - eeprom@50 { - compatible = "atmel,24c512"; - reg = <0x50>; - pagesize = <128>; - }; + // FRU AT24C512C-SSHM-T + status = "okay"; + eeprom@50 { + compatible = "atmel,24c512"; + reg = <0x50>; + pagesize = <128>; + }; }; &i2c5 { - status = "okay"; + status = "okay"; }; &i2c6 { - status = "okay"; + status = "okay"; - tmp75@49 { - compatible = "ti,tmp75"; - reg = <0x49>; - }; + tmp75@49 { + compatible = "ti,tmp75"; + reg = <0x49>; + }; - tmp75@4f { - compatible = "ti,tmp75"; - reg = <0x4f>; - }; + tmp75@4f { + compatible = "ti,tmp75"; + reg = <0x4f>; + }; - tmp468@48 { - compatible = "ti,tmp468"; - reg = <0x48>; - }; + tmp468@48 { + compatible = "ti,tmp468"; + reg = <0x48>; + }; }; &i2c7 { - status = "okay"; - adm1278@40 { - compatible = "adi,adm1278"; - reg = <0x40>; - }; + status = "okay"; + adm1278@40 { + compatible = "adi,adm1278"; + reg = <0x40>; + }; }; &i2c8 { - // FRU AT24C512C-SSHM-T - status = "okay"; + // FRU AT24C512C-SSHM-T + status = "okay"; - eeprom@51 { - compatible = "atmel,24c512"; - reg = <0x51>; - pagesize = <128>; - }; + eeprom@51 { + compatible = "atmel,24c512"; + reg = <0x51>; + pagesize = <128>; + }; - eeprom@53 { - compatible = "atmel,24c512"; - reg = <0x53>; - pagesize = <128>; - }; + eeprom@53 { + compatible = "atmel,24c512"; + reg = <0x53>; + pagesize = <128>; + }; }; &i2c9 { - // M.2 - status = "okay"; + // M.2 + status = "okay"; }; &i2c10 { - // I2C EXPANDER - status = "okay"; + // I2C EXPANDER + status = "okay"; - i2c-mux@71 { - compatible = "nxp,pca9544"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0x71>; - }; + i2c-mux@71 { + compatible = "nxp,pca9544"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x71>; + }; - i2c-mux@73 { - compatible = "nxp,pca9544"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0x73>; - }; + i2c-mux@73 { + compatible = "nxp,pca9544"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x73>; + }; }; &i2c11 { - // I2C EXPANDER - status = "okay"; + // I2C EXPANDER + status = "okay"; - i2c-mux@70 { - compatible = "nxp,pca9544"; - #address-cells = <1>; - #size-cells = <0>; - reg = <0x70>; + i2c-mux@70 { + compatible = "nxp,pca9544"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x70>; - pcie_eeprom_riser1: i2c@0 { - #address-cells = <1>; - #size-cells = <0>; - reg = <0>; + pcie_eeprom_riser1: i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; - eeprom@55 { - compatible = "atmel,24c512"; - reg = <0x55>; - pagesize = <128>; - }; - }; + eeprom@55 { + compatible = "atmel,24c512"; + reg = <0x55>; + pagesize = <128>; + }; + }; - pcie_eeprom_riser2: i2c@1 { - #address-cells = <1>; - #size-cells = <0>; - reg = <1>; + pcie_eeprom_riser2: i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; - eeprom@55 { - compatible = "atmel,24c512"; - reg = <0x55>; - pagesize = <128>; - }; - }; + eeprom@55 { + compatible = "atmel,24c512"; + reg = <0x55>; + pagesize = <128>; + }; + }; - pcie_eeprom_riser3: i2c@2 { - #address-cells = <1>; - #size-cells = <0>; - reg = <2>; + pcie_eeprom_riser3: i2c@2 { + #address-cells = <1>; + #size-cells = <0>; + reg = <2>; - eeprom@55 { - compatible = "atmel,24c512"; - reg = <0x55>; - pagesize = <128>; - }; - }; - }; + eeprom@55 { + compatible = "atmel,24c512"; + reg = <0x55>; + pagesize = <128>; + }; + }; + }; }; &i2c12 { - status = "okay"; + status = "okay"; - psu0:psu0@58 { - compatible = "pmbus"; - reg = <0x58>; - }; + psu0:psu0@58 { + compatible = "pmbus"; + reg = <0x58>; + }; }; &gpio0 { - status = "okay"; - gpio-line-names = - /*A0-A7*/ "","","","","","","","", - /*B0-B7*/ "presence-ps0","power-chassis-good","","","","","presence-ps1","", - /*C0-C7*/ "","","","","","","","", - /*D0-D7*/ "","","","","","","","", - /*E0-E7*/ "","","","","","","","", - /*F0-F7*/ "","","","","power-chassis-control","","","", - /*G0-G7*/ "","","jtag-mux","","","","","", - /*H0-H7*/ "","","","","reset-button","power-button","","", - /*I0-I7*/ "","","","","","","","", - /*J0-J7*/ "","","","","","","","", - /*K0-K7*/ "","","","","","","","", - /*L0-L7*/ "","","","","","","","", - /*M0-M7*/ "","","","","","","","", - /*N0-N7*/ "","","","","","","","", - /*O0-O7*/ "","","","","","","","", - /*P0-P7*/ "","","","tck-mux","","","","", - /*Q0-Q7*/ "","","","","","","","", - /*R0-R7*/ "","","","","","","","", - /*S0-S7*/ "","","","","","","","", - /*T0-T7*/ "","","","","","","","", - /*U0-U7*/ "","nmi-button","","","","","","", - /*V0-V7*/ "","","","","power-config-full-load","","","", - /*W0-W7*/ "","","","","","","","", - /*X0-X7*/ "","","","","","","","", - /*Y0-Y7*/ "","","","","","","","", - /*Z0-Z7*/ "","","","","","","","", - /*AA0-AA7*/ "","","","","","","","", - /*AB0-AB7*/ "","","","","","","","", - /*AC0-AC7*/ "","","","","","","",""; + status = "okay"; + gpio-line-names = + /*A0-A7*/ "","","","","","","","", + /*B0-B7*/ "presence-ps0","power-chassis-good","","","","","presence-ps1","", + /*C0-C7*/ "","","","","","","","", + /*D0-D7*/ "","","","","","","","", + /*E0-E7*/ "","","","","","","","", + /*F0-F7*/ "","","","","power-chassis-control","","","", + /*G0-G7*/ "","","jtag-mux","","","","","", + /*H0-H7*/ "","","","","reset-button","power-button","","", + /*I0-I7*/ "","","","","","","","", + /*J0-J7*/ "","","","","","","","", + /*K0-K7*/ "","","","","","","","", + /*L0-L7*/ "","","","","","","","", + /*M0-M7*/ "","","","","","","","", + /*N0-N7*/ "","","","","","","","", + /*O0-O7*/ "","","","","","","","", + /*P0-P7*/ "","","","tck-mux","","","","", + /*Q0-Q7*/ "","","","","","","","", + /*R0-R7*/ "","","","","","","","", + /*S0-S7*/ "","","","","","","","", + /*T0-T7*/ "","","","","","","","", + /*U0-U7*/ "","nmi-button","","","","","","", + /*V0-V7*/ "","","","","power-config-full-load","","","", + /*W0-W7*/ "","","","","","","","", + /*X0-X7*/ "","","","","","","","", + /*Y0-Y7*/ "","","","","","","","", + /*Z0-Z7*/ "","","","","","","","", + /*AA0-AA7*/ "","","","","","","","", + /*AB0-AB7*/ "","","","","","","","", + /*AC0-AC7*/ "","","","","","","",""; }; &lpc_snoop { - status = "okay"; - snoop-ports = <0x80>; + status = "okay"; + snoop-ports = <0x80>; }; &emmc_controller { - status = "okay"; + status = "okay"; }; &emmc { - status = "okay"; - non-removable; - max-frequency = <52000000>; - bus-width = <8>; + status = "okay"; + non-removable; + max-frequency = <52000000>; + bus-width = <8>; }; &vhub { - status = "okay"; - aspeed,vhub-downstream-ports = <7>; - aspeed,vhub-generic-endpoints = <21>; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usb2ad_default>; + status = "okay"; + aspeed,vhub-downstream-ports = <7>; + aspeed,vhub-generic-endpoints = <21>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usb2ad_default>; }; &rtc { - status = "okay"; + status = "okay"; }; diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-opp-vesnin.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-opp-vesnin.dts index 8a7fb55ab489..5a3e8a3941d4 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-opp-vesnin.dts +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-opp-vesnin.dts @@ -82,7 +82,7 @@ &fmc { flash@0 { status = "okay"; m25p,fast-read; - label = "bmc"; + label = "bmc"; #include "openbmc-flash-layout.dtsi" }; diff --git a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi index 56bb3b0444f7..edf4b74f5aba 100644 --- a/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi +++ b/arch/arm/boot/dts/aspeed/aspeed-g6.dtsi @@ -517,7 +517,7 @@ timer: timer@1e782000 { clocks = <&syscon ASPEED_CLK_APB1>; clock-names = "PCLK"; status = "disabled"; - }; + }; uart1: serial@1e783000 { compatible = "ns16550a";