[PATCH v3 5/5] ARM: dts: aspeed: santabarbara: Add leak cable present IO expander

From: Fred Chen

Date: Fri Aug 07 2026 - 04:40:47 EST


Add a pca9555 GPIO expander (0x22) on i2c6/i2c8/i2c10/i2c13, one per
module board, to expose the PRSNT_MODULE[0-3]_LEAK_CABLE_R_N line used
to detect whether the module's leak-detection cable is plugged
in.

Signed-off-by: Fred Chen <fredchen.openbmc@xxxxxxxxx>
---
.../aspeed-bmc-facebook-santabarbara.dts | 56 ++++++++++++++++++-
1 file changed, 54 insertions(+), 2 deletions(-)

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 3d35a5a74104..ca5bd805d975 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-santabarbara.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-santabarbara.dts
@@ -641,6 +641,19 @@ gpio@74 {
&i2c6 {
status = "okay";

+ gpio@22 {
+ compatible = "nxp,pca9555";
+ reg = <0x22>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-parent = <&sgpiom0>;
+ interrupts = <150 IRQ_TYPE_LEVEL_LOW>;
+ gpio-line-names =
+ "PRSNT_MODULE0_LEAK_CABLE_R_N","",
+ "","","","","","",
+ "","","","","","","","";
+ };
+
// Rainbow0 FRU
eeprom@52 {
compatible = "atmel,24c256";
@@ -866,6 +879,19 @@ ipmb@10 {
&i2c8 {
status = "okay";

+ gpio@22 {
+ compatible = "nxp,pca9555";
+ reg = <0x22>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-parent = <&sgpiom0>;
+ interrupts = <154 IRQ_TYPE_LEVEL_LOW>;
+ gpio-line-names =
+ "PRSNT_MODULE2_LEAK_CABLE_R_N","",
+ "","","","","","",
+ "","","","","","","","";
+ };
+
// Rainbow2 FRU
eeprom@52 {
compatible = "atmel,24c256";
@@ -1106,7 +1132,20 @@ eeprom@56 {
&i2c10 {
status = "okay";

- // Rainbow3 FRU
+ gpio@22 {
+ compatible = "nxp,pca9555";
+ reg = <0x22>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-parent = <&sgpiom0>;
+ interrupts = <158 IRQ_TYPE_LEVEL_LOW>;
+ gpio-line-names =
+ "PRSNT_MODULE1_LEAK_CABLE_R_N","",
+ "","","","","","",
+ "","","","","","","","";
+ };
+
+ // Rainbow1 FRU
eeprom@52 {
compatible = "atmel,24c256";
reg = <0x52>;
@@ -1588,7 +1627,20 @@ i2c12mux0ch7: i2c@7 {
&i2c13 {
status = "okay";

- // Rainbow1 FRU
+ gpio@22 {
+ compatible = "nxp,pca9555";
+ reg = <0x22>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-parent = <&sgpiom0>;
+ interrupts = <162 IRQ_TYPE_LEVEL_LOW>;
+ gpio-line-names =
+ "PRSNT_MODULE3_LEAK_CABLE_R_N","",
+ "","","","","","",
+ "","","","","","","","";
+ };
+
+ // Rainbow3 FRU
eeprom@52 {
compatible = "atmel,24c256";
reg = <0x52>;
--
2.52.0