arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
From: Kimi Chen <kimi.zy.chen@fii-foxconn.com>
The chassis power cycle process requires a forced shutdown before
cutting off the standby power. The SCM CPLD implements a hard shutdown
host function that is controlled through the IO expander in the
Clemente platform.
This change adds a new GPIO line named "shdn_force_l_cpld" to the
PCA9555 IO expander at line 10. When asserted, this GPIO signals the
CPLD to pull the HPM's SHDN_FORCE_L pin low, which triggers a forced
host shutdown.
Signed-off-by: Kimi Chen <kimi.zy.chen@fii-foxconn.com>
---
Changes in v3:
- Improve commit message clarity: restructure the description to clarify the
complete signal flow (BMC → IO expander → "shdn_force_l_cpld" GPIO → CPLD →
SHDN_FORCE_L pin → HPM → forced host shutdown).
- Rename GPIO line to match the schematics net naming convention.
- Add rationale: The current standby-AC power cycling process is suboptimal.
When HSC power is turned off while host power remains active, the FPGA may
detect a power fault. During this fault window, the FPGA—sustained by holdup
capacitance—asserts power brake and initiates power-down sequence. A forced
shutdown before cutting standby power ensures the FPGA properly handles the
AC cycle event without spurious fault assertions. This patch enables the BMC
to perform forced shutdown via the IO expander GPIO, thereby optimizing the
standby-AC power cycling process.
- Link to v2: https://lore.kernel.org/r/20251107-dts-add-gpio-to-io-expander-v2-1-585d48845546@fii-foxconn.com
Changes in v2:
- Add "hard_shutdown_host" GPIO line name to PCA9555 IO expander for Clemente platform.
- Link to v1: https://lore.kernel.org/r/20251106-dts-add-gpio-to-io-expander-v1-1-b4765c092ebe@fii-foxconn.com
---
arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
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..14271be4ff3d 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-clemente.dts
@@ -983,7 +983,7 @@ io_expander4: gpio@4f {
"",
"",
"",
- "",
+ "shdn_force_l_cpld",
"",
"",
"",
---
base-commit: 6953afcd81a2cc73784e3dd23faa0a1aaf97441a
change-id: 20251106-dts-add-gpio-to-io-expander-a4c32ccf56aa
Best regards,
--
Kimi Chen <kimi.zy.chen@fii-foxconn.com>
On Thu, 2025-11-20 at 10:41 +0800, Kimi Chen via B4 Relay wrote: > From: Kimi Chen <kimi.zy.chen@fii-foxconn.com> > > The chassis power cycle process requires a forced shutdown before > cutting off the standby power. The SCM CPLD implements a hard shutdown > host function that is controlled through the IO expander in the > Clemente platform. > > This change adds a new GPIO line named "shdn_force_l_cpld" to the > PCA9555 IO expander at line 10. > This doesn't line up with my count of where you've inserted it in the gpio-line-names property? Is there some explanation for that? Are you referencing pin 10 of the device? If so I feel it would be more helpful to describe it as "IO0_6" or some such. Andrew
© 2016 - 2025 Red Hat, Inc.