* [PATCH v2 1/4] ARM: dts: aspeed: bletchley: Sort i2c device nodes by address
2026-07-29 11:43 [PATCH v2 0/4] ARM: dts: aspeed: bletchley: Cleanups and second source devices Cosmo Chou
@ 2026-07-29 11:43 ` Cosmo Chou
2026-07-29 11:43 ` [PATCH v2 2/4] ARM: dts: aspeed: bletchley: Fix style warnings Cosmo Chou
` (2 subsequent siblings)
3 siblings, 0 replies; 7+ messages in thread
From: Cosmo Chou @ 2026-07-29 11:43 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, joel, andrew
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
cosmo.chou, Cosmo Chou
Reorder child nodes in i2c0-i2c6 to follow ascending unit address
ordering as required by scripts/dtc/dt-check-style. No functional
changes.
Signed-off-by: Cosmo Chou <chou.cosmo@gmail.com>
---
.../aspeed/aspeed-bmc-facebook-bletchley.dts | 430 +++++++++---------
1 file changed, 218 insertions(+), 212 deletions(-)
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 d1a04b63df9e..b022bdd02c1e 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
@@ -343,10 +343,25 @@ flash@0 {
&i2c0 {
status = "okay";
- ina230@45 {
- compatible = "ti,ina230";
- reg = <0x45>;
- shunt-resistor = <2000>;
+
+ sled1_fusb302: typec-portc@22 {
+ compatible = "fcs,fusb302";
+ reg = <0x22>;
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <ASPEED_GPIO(B, 0) IRQ_TYPE_LEVEL_LOW>;
+ vbus-supply = <&vbus_sled1>;
+
+ connector {
+ compatible = "usb-c-connector";
+ label = "USB-C";
+ pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
+ power-role = "dual";
+ data-role = "dual";
+ source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ op-sink-microwatt = <10000000>;
+ };
};
mp5023@40 {
@@ -354,11 +369,6 @@ mp5023@40 {
reg = <0x40>;
};
- tmp421@4f {
- compatible = "ti,tmp421";
- reg = <0x4f>;
- };
-
sled1_ioexp41: pca9536@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
@@ -370,20 +380,20 @@ sled1_ioexp41: pca9536@41 {
"SLED1_CLKREQ_N", "SLED1_PCIE_PWR_EN";
};
- sled1_ioexp: pca9539@76 {
- compatible = "nxp,pca9539";
- reg = <0x76>;
- gpio-controller;
- #gpio-cells = <2>;
+ ina230@45 {
+ compatible = "ti,ina230";
+ reg = <0x45>;
+ shunt-resistor = <2000>;
+ };
- interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(M, 0) IRQ_TYPE_LEVEL_LOW>;
+ tmp421@4f {
+ compatible = "ti,tmp421";
+ reg = <0x4f>;
+ };
- gpio-line-names =
- "SLED1_MS_DETECT1","SLED1_VBUS_BMC_EN","SLED1_INA230_ALERT","SLED1_P12V_STBY_ALERT",
- "SLED1_SSD_ALERT","SLED1_MS_DETECT0","SLED1_RST_CCG5","SLED1_FUSB302_INT",
- "SLED1_MD_STBY_RESET","SLED1_MD_IOEXP_EN_FAULT","SLED1_MD_DIR","SLED1_MD_DECAY",
- "SLED1_MD_MODE1","SLED1_MD_MODE2","SLED1_MD_MODE3","power-host1";
+ eeprom@54 {
+ compatible = "atmel,24c64";
+ reg = <0x54>;
};
sled1_leds: pca9552@67 {
@@ -401,13 +411,33 @@ sled1_leds: pca9552@67 {
"","","","";
};
- sled1_fusb302: typec-portc@22 {
+ sled1_ioexp: pca9539@76 {
+ compatible = "nxp,pca9539";
+ reg = <0x76>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <ASPEED_GPIO(M, 0) IRQ_TYPE_LEVEL_LOW>;
+
+ gpio-line-names =
+ "SLED1_MS_DETECT1","SLED1_VBUS_BMC_EN","SLED1_INA230_ALERT","SLED1_P12V_STBY_ALERT",
+ "SLED1_SSD_ALERT","SLED1_MS_DETECT0","SLED1_RST_CCG5","SLED1_FUSB302_INT",
+ "SLED1_MD_STBY_RESET","SLED1_MD_IOEXP_EN_FAULT","SLED1_MD_DIR","SLED1_MD_DECAY",
+ "SLED1_MD_MODE1","SLED1_MD_MODE2","SLED1_MD_MODE3","power-host1";
+ };
+};
+
+&i2c1 {
+ status = "okay";
+
+ sled2_fusb302: typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(B, 0) IRQ_TYPE_LEVEL_LOW>;
- vbus-supply = <&vbus_sled1>;
+ interrupts = <ASPEED_GPIO(B, 1) IRQ_TYPE_LEVEL_LOW>;
+ vbus-supply = <&vbus_sled2>;
connector {
compatible = "usb-c-connector";
@@ -421,39 +451,51 @@ connector {
};
};
- eeprom@54 {
- compatible = "atmel,24c64";
- reg = <0x54>;
+ mp5023@40 {
+ compatible = "mps,mp5023";
+ reg = <0x40>;
+ };
+
+ sled2_ioexp41: pca9536@41 {
+ compatible = "nxp,pca9536";
+ reg = <0x41>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ gpio-line-names =
+ "SLED2_SWD_MUX", "SLED2_XRES_SWD_N",
+ "SLED2_CLKREQ_N", "SLED2_PCIE_PWR_EN";
};
-};
-&i2c1 {
- status = "okay";
ina230@45 {
compatible = "ti,ina230";
reg = <0x45>;
shunt-resistor = <2000>;
};
- mp5023@40 {
- compatible = "mps,mp5023";
- reg = <0x40>;
- };
-
tmp421@4f {
compatible = "ti,tmp421";
reg = <0x4f>;
};
- sled2_ioexp41: pca9536@41 {
- compatible = "nxp,pca9536";
- reg = <0x41>;
+ eeprom@54 {
+ compatible = "atmel,24c64";
+ reg = <0x54>;
+ };
+
+ sled2_leds: pca9552@67 {
+ compatible = "nxp,pca9552";
+ reg = <0x67>;
+ #address-cells = <1>;
+ #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
- "SLED2_SWD_MUX", "SLED2_XRES_SWD_N",
- "SLED2_CLKREQ_N", "SLED2_PCIE_PWR_EN";
+ "led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
};
sled2_ioexp: pca9539@76 {
@@ -471,29 +513,18 @@ sled2_ioexp: pca9539@76 {
"SLED2_MD_STBY_RESET","SLED2_MD_IOEXP_EN_FAULT","SLED2_MD_DIR","SLED2_MD_DECAY",
"SLED2_MD_MODE1","SLED2_MD_MODE2","SLED2_MD_MODE3","power-host2";
};
+};
- sled2_leds: pca9552@67 {
- compatible = "nxp,pca9552";
- reg = <0x67>;
- #address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
- #gpio-cells = <2>;
-
- gpio-line-names =
- "led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
- "","","","",
- "","","","",
- "","","","";
- };
+&i2c2 {
+ status = "okay";
- sled2_fusb302: typec-portc@22 {
+ sled3_fusb302: typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(B, 1) IRQ_TYPE_LEVEL_LOW>;
- vbus-supply = <&vbus_sled2>;
+ interrupts = <ASPEED_GPIO(B, 7) IRQ_TYPE_LEVEL_LOW>;
+ vbus-supply = <&vbus_sled3>;
connector {
compatible = "usb-c-connector";
@@ -507,39 +538,51 @@ connector {
};
};
- eeprom@54 {
- compatible = "atmel,24c64";
- reg = <0x54>;
+ mp5023@40 {
+ compatible = "mps,mp5023";
+ reg = <0x40>;
+ };
+
+ sled3_ioexp41: pca9536@41 {
+ compatible = "nxp,pca9536";
+ reg = <0x41>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ gpio-line-names =
+ "SLED3_SWD_MUX", "SLED3_XRES_SWD_N",
+ "SLED3_CLKREQ_N", "SLED3_PCIE_PWR_EN";
};
-};
-&i2c2 {
- status = "okay";
ina230@45 {
compatible = "ti,ina230";
reg = <0x45>;
shunt-resistor = <2000>;
};
- mp5023@40 {
- compatible = "mps,mp5023";
- reg = <0x40>;
- };
-
tmp421@4f {
compatible = "ti,tmp421";
reg = <0x4f>;
};
- sled3_ioexp41: pca9536@41 {
- compatible = "nxp,pca9536";
- reg = <0x41>;
+ eeprom@54 {
+ compatible = "atmel,24c64";
+ reg = <0x54>;
+ };
+
+ sled3_leds: pca9552@67 {
+ compatible = "nxp,pca9552";
+ reg = <0x67>;
+ #address-cells = <1>;
+ #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
- "SLED3_SWD_MUX", "SLED3_XRES_SWD_N",
- "SLED3_CLKREQ_N", "SLED3_PCIE_PWR_EN";
+ "led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
};
sled3_ioexp: pca9539@76 {
@@ -557,29 +600,18 @@ sled3_ioexp: pca9539@76 {
"SLED3_MD_STBY_RESET","SLED3_MD_IOEXP_EN_FAULT","SLED3_MD_DIR","SLED3_MD_DECAY",
"SLED3_MD_MODE1","SLED3_MD_MODE2","SLED3_MD_MODE3","power-host3";
};
+};
- sled3_leds: pca9552@67 {
- compatible = "nxp,pca9552";
- reg = <0x67>;
- #address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
- #gpio-cells = <2>;
-
- gpio-line-names =
- "led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
- "","","","",
- "","","","",
- "","","","";
- };
+&i2c3 {
+ status = "okay";
- sled3_fusb302: typec-portc@22 {
+ sled4_fusb302: typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(B, 7) IRQ_TYPE_LEVEL_LOW>;
- vbus-supply = <&vbus_sled3>;
+ interrupts = <ASPEED_GPIO(S, 7) IRQ_TYPE_LEVEL_LOW>;
+ vbus-supply = <&vbus_sled4>;
connector {
compatible = "usb-c-connector";
@@ -593,39 +625,51 @@ connector {
};
};
- eeprom@54 {
- compatible = "atmel,24c64";
- reg = <0x54>;
+ mp5023@40 {
+ compatible = "mps,mp5023";
+ reg = <0x40>;
+ };
+
+ sled4_ioexp41: pca9536@41 {
+ compatible = "nxp,pca9536";
+ reg = <0x41>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ gpio-line-names =
+ "SLED4_SWD_MUX", "SLED4_XRES_SWD_N",
+ "SLED4_CLKREQ_N", "SLED4_PCIE_PWR_EN";
};
-};
-&i2c3 {
- status = "okay";
ina230@45 {
compatible = "ti,ina230";
reg = <0x45>;
shunt-resistor = <2000>;
};
- mp5023@40 {
- compatible = "mps,mp5023";
- reg = <0x40>;
- };
-
tmp421@4f {
compatible = "ti,tmp421";
reg = <0x4f>;
};
- sled4_ioexp41: pca9536@41 {
- compatible = "nxp,pca9536";
- reg = <0x41>;
+ eeprom@54 {
+ compatible = "atmel,24c64";
+ reg = <0x54>;
+ };
+
+ sled4_leds: pca9552@67 {
+ compatible = "nxp,pca9552";
+ reg = <0x67>;
+ #address-cells = <1>;
+ #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
- "SLED4_SWD_MUX", "SLED4_XRES_SWD_N",
- "SLED4_CLKREQ_N", "SLED4_PCIE_PWR_EN";
+ "led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
};
sled4_ioexp: pca9539@76 {
@@ -643,29 +687,18 @@ sled4_ioexp: pca9539@76 {
"SLED4_MD_STBY_RESET","SLED4_MD_IOEXP_EN_FAULT","SLED4_MD_DIR","SLED4_MD_DECAY",
"SLED4_MD_MODE1","SLED4_MD_MODE2","SLED4_MD_MODE3","power-host4";
};
+};
- sled4_leds: pca9552@67 {
- compatible = "nxp,pca9552";
- reg = <0x67>;
- #address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
- #gpio-cells = <2>;
-
- gpio-line-names =
- "led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
- "","","","",
- "","","","",
- "","","","";
- };
+&i2c4 {
+ status = "okay";
- sled4_fusb302: typec-portc@22 {
+ sled5_fusb302: typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(S, 7) IRQ_TYPE_LEVEL_LOW>;
- vbus-supply = <&vbus_sled4>;
+ interrupts = <ASPEED_GPIO(Y, 3) IRQ_TYPE_LEVEL_LOW>;
+ vbus-supply = <&vbus_sled5>;
connector {
compatible = "usb-c-connector";
@@ -679,39 +712,51 @@ connector {
};
};
- eeprom@54 {
- compatible = "atmel,24c64";
- reg = <0x54>;
+ mp5023@40 {
+ compatible = "mps,mp5023";
+ reg = <0x40>;
+ };
+
+ sled5_ioexp41: pca9536@41 {
+ compatible = "nxp,pca9536";
+ reg = <0x41>;
+ gpio-controller;
+ #gpio-cells = <2>;
+
+ gpio-line-names =
+ "SLED5_SWD_MUX", "SLED5_XRES_SWD_N",
+ "SLED5_CLKREQ_N", "SLED5_PCIE_PWR_EN";
};
-};
-&i2c4 {
- status = "okay";
ina230@45 {
compatible = "ti,ina230";
reg = <0x45>;
shunt-resistor = <2000>;
};
- mp5023@40 {
- compatible = "mps,mp5023";
- reg = <0x40>;
- };
-
tmp421@4f {
compatible = "ti,tmp421";
reg = <0x4f>;
};
- sled5_ioexp41: pca9536@41 {
- compatible = "nxp,pca9536";
- reg = <0x41>;
+ eeprom@54 {
+ compatible = "atmel,24c64";
+ reg = <0x54>;
+ };
+
+ sled5_leds: pca9552@67 {
+ compatible = "nxp,pca9552";
+ reg = <0x67>;
+ #address-cells = <1>;
+ #size-cells = <0>;
gpio-controller;
#gpio-cells = <2>;
gpio-line-names =
- "SLED5_SWD_MUX", "SLED5_XRES_SWD_N",
- "SLED5_CLKREQ_N", "SLED5_PCIE_PWR_EN";
+ "led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
};
sled5_ioexp: pca9539@76 {
@@ -729,29 +774,18 @@ sled5_ioexp: pca9539@76 {
"SLED5_MD_STBY_RESET","SLED5_MD_IOEXP_EN_FAULT","SLED5_MD_DIR","SLED5_MD_DECAY",
"SLED5_MD_MODE1","SLED5_MD_MODE2","SLED5_MD_MODE3","power-host5";
};
+};
- sled5_leds: pca9552@67 {
- compatible = "nxp,pca9552";
- reg = <0x67>;
- #address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
- #gpio-cells = <2>;
-
- gpio-line-names =
- "led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
- "","","","",
- "","","","",
- "","","","";
- };
+&i2c5 {
+ status = "okay";
- sled5_fusb302: typec-portc@22 {
+ sled6_fusb302: typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(Y, 3) IRQ_TYPE_LEVEL_LOW>;
- vbus-supply = <&vbus_sled5>;
+ interrupts = <ASPEED_GPIO(I, 7) IRQ_TYPE_LEVEL_LOW>;
+ vbus-supply = <&vbus_sled6>;
connector {
compatible = "usb-c-connector";
@@ -765,30 +799,11 @@ connector {
};
};
- eeprom@54 {
- compatible = "atmel,24c64";
- reg = <0x54>;
- };
-};
-
-&i2c5 {
- status = "okay";
- ina230@45 {
- compatible = "ti,ina230";
- reg = <0x45>;
- shunt-resistor = <2000>;
- };
-
mp5023@40 {
compatible = "mps,mp5023";
reg = <0x40>;
};
- tmp421@4f {
- compatible = "ti,tmp421";
- reg = <0x4f>;
- };
-
sled6_ioexp41: pca9536@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
@@ -800,20 +815,20 @@ sled6_ioexp41: pca9536@41 {
"SLED6_CLKREQ_N", "SLED6_PCIE_PWR_EN";
};
- sled6_ioexp: pca9539@76 {
- compatible = "nxp,pca9539";
- reg = <0x76>;
- gpio-controller;
- #gpio-cells = <2>;
+ ina230@45 {
+ compatible = "ti,ina230";
+ reg = <0x45>;
+ shunt-resistor = <2000>;
+ };
- interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
+ tmp421@4f {
+ compatible = "ti,tmp421";
+ reg = <0x4f>;
+ };
- gpio-line-names =
- "SLED6_MS_DETECT1","SLED6_VBUS_BMC_EN","SLED6_INA230_ALERT","SLED6_P12V_STBY_ALERT",
- "SLED6_SSD_ALERT","SLED6_MS_DETECT0","SLED6_RST_CCG5","SLED6_FUSB302_INT",
- "SLED6_MD_STBY_RESET","SLED6_MD_IOEXP_EN_FAULT","SLED6_MD_DIR","SLED6_MD_DECAY",
- "SLED6_MD_MODE1","SLED6_MD_MODE2","SLED6_MD_MODE3","power-host6";
+ eeprom@54 {
+ compatible = "atmel,24c64";
+ reg = <0x54>;
};
sled6_leds: pca9552@67 {
@@ -831,45 +846,36 @@ sled6_leds: pca9552@67 {
"","","","";
};
- sled6_fusb302: typec-portc@22 {
- compatible = "fcs,fusb302";
- reg = <0x22>;
+ sled6_ioexp: pca9539@76 {
+ compatible = "nxp,pca9539";
+ reg = <0x76>;
+ gpio-controller;
+ #gpio-cells = <2>;
interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(I, 7) IRQ_TYPE_LEVEL_LOW>;
- vbus-supply = <&vbus_sled6>;
-
- connector {
- compatible = "usb-c-connector";
- label = "USB-C";
- pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
- power-role = "dual";
- data-role = "dual";
- source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- op-sink-microwatt = <10000000>;
- };
- };
+ interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
- eeprom@54 {
- compatible = "atmel,24c64";
- reg = <0x54>;
+ gpio-line-names =
+ "SLED6_MS_DETECT1","SLED6_VBUS_BMC_EN","SLED6_INA230_ALERT","SLED6_P12V_STBY_ALERT",
+ "SLED6_SSD_ALERT","SLED6_MS_DETECT0","SLED6_RST_CCG5","SLED6_FUSB302_INT",
+ "SLED6_MD_STBY_RESET","SLED6_MD_IOEXP_EN_FAULT","SLED6_MD_DIR","SLED6_MD_DECAY",
+ "SLED6_MD_MODE1","SLED6_MD_MODE2","SLED6_MD_MODE3","power-host6";
};
};
&i2c6 {
status = "okay";
- eeprom@56 {
- compatible = "atmel,24c64";
- reg = <0x56>;
- };
-
rtc@51 {
/* in-chip rtc disabled, use external rtc (battery-backed) */
compatible = "nxp,pcf85263";
reg = <0x51>;
};
+
+ eeprom@56 {
+ compatible = "atmel,24c64";
+ reg = <0x56>;
+ };
};
&i2c7 {
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 2/4] ARM: dts: aspeed: bletchley: Fix style warnings
2026-07-29 11:43 [PATCH v2 0/4] ARM: dts: aspeed: bletchley: Cleanups and second source devices Cosmo Chou
2026-07-29 11:43 ` [PATCH v2 1/4] ARM: dts: aspeed: bletchley: Sort i2c device nodes by address Cosmo Chou
@ 2026-07-29 11:43 ` Cosmo Chou
2026-07-29 11:43 ` [PATCH v2 3/4] ARM: dts: aspeed: bletchley: Add second source PCA9532 LED controllers Cosmo Chou
2026-07-29 11:43 ` [PATCH v2 4/4] ARM: dts: aspeed: bletchley: Add second source ISL1208 RTC Cosmo Chou
3 siblings, 0 replies; 7+ messages in thread
From: Cosmo Chou @ 2026-07-29 11:43 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, joel, andrew
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
cosmo.chou, Cosmo Chou
Refactor the device tree to resolve all strict mode warnings reported
by scripts/dtc/dt-check-style.
Changes include:
- Sorting properties into their canonical order.
- Reordering child nodes alphabetically.
- Aligning multi-line continuation strings.
- Inserting required blank lines before child nodes and status
properties.
- Removing unused node labels to resolve unused-labels warnings.
- Wrap lines exceeding 80 columns.
No functional changes.
Signed-off-by: Cosmo Chou <chou.cosmo@gmail.com>
---
.../aspeed/aspeed-bmc-facebook-bletchley.dts | 540 ++++++++++--------
1 file changed, 298 insertions(+), 242 deletions(-)
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 b022bdd02c1e..e1fa3a18ea5c 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
@@ -10,8 +10,8 @@
#include <dt-bindings/i2c/i2c.h>
/ {
- model = "Facebook Bletchley BMC";
compatible = "facebook,bletchley-bmc", "aspeed,ast2600";
+ model = "Facebook Bletchley BMC";
aliases {
serial4 = &uart5;
@@ -22,329 +22,361 @@ chosen {
};
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 0>, <&adc1 1>, <&adc1 2>, <&adc1 3>,
- <&adc1 4>, <&adc1 5>, <&adc1 6>, <&adc1 7>;
- };
-
- spi1_gpio: spi {
- compatible = "spi-gpio";
- #address-cells = <1>;
- #size-cells = <0>;
-
- 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>;
-
- tpm@0 {
- compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
- spi-max-frequency = <33000000>;
- reg = <0>;
- };
- };
-
- front_gpio_leds {
- compatible = "gpio-leds";
- led-0 {
- label = "sys_log_id";
- default-state = "off";
- gpios = <&front_leds 0 GPIO_ACTIVE_LOW>;
- };
+ device_type = "memory";
};
fan_gpio_leds {
compatible = "gpio-leds";
+
led-0 {
- label = "fan0_blue";
- retain-state-shutdown;
default-state = "on";
gpios = <&fan_leds 8 GPIO_ACTIVE_HIGH>;
+ label = "fan0_blue";
+ retain-state-shutdown;
};
+
led-1 {
- label = "fan1_blue";
- retain-state-shutdown;
default-state = "on";
gpios = <&fan_leds 9 GPIO_ACTIVE_HIGH>;
+ label = "fan1_blue";
+ retain-state-shutdown;
};
+
led-2 {
- label = "fan2_blue";
- retain-state-shutdown;
default-state = "on";
gpios = <&fan_leds 10 GPIO_ACTIVE_HIGH>;
+ label = "fan2_blue";
+ retain-state-shutdown;
};
+
led-3 {
- label = "fan3_blue";
- retain-state-shutdown;
default-state = "on";
gpios = <&fan_leds 11 GPIO_ACTIVE_HIGH>;
+ label = "fan3_blue";
+ retain-state-shutdown;
};
+
led-4 {
- label = "fan0_amber";
- retain-state-shutdown;
default-state = "off";
gpios = <&fan_leds 12 GPIO_ACTIVE_HIGH>;
+ label = "fan0_amber";
+ retain-state-shutdown;
};
+
led-5 {
- label = "fan1_amber";
- retain-state-shutdown;
default-state = "off";
gpios = <&fan_leds 13 GPIO_ACTIVE_HIGH>;
+ label = "fan1_amber";
+ retain-state-shutdown;
};
+
led-6 {
- label = "fan2_amber";
- retain-state-shutdown;
default-state = "off";
gpios = <&fan_leds 14 GPIO_ACTIVE_HIGH>;
+ label = "fan2_amber";
+ retain-state-shutdown;
};
+
led-7 {
+ default-state = "off";
+ gpios = <&fan_leds 15 GPIO_ACTIVE_HIGH>;
label = "fan3_amber";
retain-state-shutdown;
+ };
+ };
+
+ front_gpio_leds {
+ compatible = "gpio-leds";
+
+ led-0 {
default-state = "off";
- gpios = <&fan_leds 15 GPIO_ACTIVE_HIGH>;
+ gpios = <&front_leds 0 GPIO_ACTIVE_LOW>;
+ label = "sys_log_id";
+ };
+ };
+
+ gpio-keys {
+ compatible = "gpio-keys";
+
+ presence-sled1-switch {
+ gpios = <&gpio0 ASPEED_GPIO(H, 2) GPIO_ACTIVE_LOW>;
+ label = "presence-sled1";
+ linux,code = <ASPEED_GPIO(H, 2)>;
+ };
+
+ presence-sled2-switch {
+ gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
+ label = "presence-sled2";
+ linux,code = <ASPEED_GPIO(H, 3)>;
+ };
+
+ presence-sled3-switch {
+ gpios = <&gpio0 ASPEED_GPIO(H, 4) GPIO_ACTIVE_LOW>;
+ label = "presence-sled3";
+ linux,code = <ASPEED_GPIO(H, 4)>;
+ };
+
+ presence-sled4-switch {
+ gpios = <&gpio0 ASPEED_GPIO(H, 5) GPIO_ACTIVE_LOW>;
+ label = "presence-sled4";
+ linux,code = <ASPEED_GPIO(H, 5)>;
+ };
+
+ presence-sled5-switch {
+ gpios = <&gpio0 ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
+ label = "presence-sled5";
+ linux,code = <ASPEED_GPIO(H, 6)>;
+ };
+
+ presence-sled6-switch {
+ gpios = <&gpio0 ASPEED_GPIO(H, 7) GPIO_ACTIVE_LOW>;
+ label = "presence-sled6";
+ linux,code = <ASPEED_GPIO(H, 7)>;
};
};
+ 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>;
+ };
+
sled1_gpio_leds {
compatible = "gpio-leds";
+
led-0 {
- label = "sled1_amber";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled1_leds 0 GPIO_ACTIVE_LOW>;
+ label = "sled1_amber";
+ retain-state-shutdown;
};
+
led-1 {
- label = "sled1_blue";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled1_leds 1 GPIO_ACTIVE_LOW>;
+ label = "sled1_blue";
+ retain-state-shutdown;
};
};
sled2_gpio_leds {
compatible = "gpio-leds";
+
led-0 {
- label = "sled2_amber";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled2_leds 0 GPIO_ACTIVE_LOW>;
+ label = "sled2_amber";
+ retain-state-shutdown;
};
+
led-1 {
- label = "sled2_blue";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled2_leds 1 GPIO_ACTIVE_LOW>;
+ label = "sled2_blue";
+ retain-state-shutdown;
};
};
sled3_gpio_leds {
compatible = "gpio-leds";
+
led-0 {
- label = "sled3_amber";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled3_leds 0 GPIO_ACTIVE_LOW>;
+ label = "sled3_amber";
+ retain-state-shutdown;
};
+
led-1 {
- label = "sled3_blue";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled3_leds 1 GPIO_ACTIVE_LOW>;
+ label = "sled3_blue";
+ retain-state-shutdown;
};
};
sled4_gpio_leds {
compatible = "gpio-leds";
+
led-0 {
- label = "sled4_amber";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled4_leds 0 GPIO_ACTIVE_LOW>;
+ label = "sled4_amber";
+ retain-state-shutdown;
};
+
led-1 {
- label = "sled4_blue";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled4_leds 1 GPIO_ACTIVE_LOW>;
+ label = "sled4_blue";
+ retain-state-shutdown;
};
};
sled5_gpio_leds {
compatible = "gpio-leds";
+
led-0 {
- label = "sled5_amber";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled5_leds 0 GPIO_ACTIVE_LOW>;
+ label = "sled5_amber";
+ retain-state-shutdown;
};
+
led-1 {
- label = "sled5_blue";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled5_leds 1 GPIO_ACTIVE_LOW>;
+ label = "sled5_blue";
+ retain-state-shutdown;
};
};
sled6_gpio_leds {
compatible = "gpio-leds";
+
led-0 {
- label = "sled6_amber";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled6_leds 0 GPIO_ACTIVE_LOW>;
+ label = "sled6_amber";
+ retain-state-shutdown;
};
+
led-1 {
- label = "sled6_blue";
- retain-state-shutdown;
default-state = "keep";
gpios = <&sled6_leds 1 GPIO_ACTIVE_LOW>;
+ label = "sled6_blue";
+ retain-state-shutdown;
};
};
- gpio-keys {
- compatible = "gpio-keys";
+ spi {
+ compatible = "spi-gpio";
+ #address-cells = <1>;
+ cs-gpios = <&gpio0 ASPEED_GPIO(Z, 0) GPIO_ACTIVE_LOW>;
+ miso-gpios = <&gpio0 ASPEED_GPIO(Z, 5) GPIO_ACTIVE_HIGH>;
+ mosi-gpios = <&gpio0 ASPEED_GPIO(Z, 4) GPIO_ACTIVE_HIGH>;
+ num-chipselects = <1>;
+ sck-gpios = <&gpio0 ASPEED_GPIO(Z, 3) GPIO_ACTIVE_HIGH>;
+ #size-cells = <0>;
- presence-sled1-switch {
- label = "presence-sled1";
- gpios = <&gpio0 ASPEED_GPIO(H, 2) GPIO_ACTIVE_LOW>;
- linux,code = <ASPEED_GPIO(H, 2)>;
- };
- presence-sled2-switch {
- label = "presence-sled2";
- gpios = <&gpio0 ASPEED_GPIO(H, 3) GPIO_ACTIVE_LOW>;
- linux,code = <ASPEED_GPIO(H, 3)>;
- };
- presence-sled3-switch {
- label = "presence-sled3";
- gpios = <&gpio0 ASPEED_GPIO(H, 4) GPIO_ACTIVE_LOW>;
- linux,code = <ASPEED_GPIO(H, 4)>;
- };
- presence-sled4-switch {
- label = "presence-sled4";
- gpios = <&gpio0 ASPEED_GPIO(H, 5) GPIO_ACTIVE_LOW>;
- linux,code = <ASPEED_GPIO(H, 5)>;
- };
- presence-sled5-switch {
- label = "presence-sled5";
- gpios = <&gpio0 ASPEED_GPIO(H, 6) GPIO_ACTIVE_LOW>;
- linux,code = <ASPEED_GPIO(H, 6)>;
- };
- presence-sled6-switch {
- label = "presence-sled6";
- gpios = <&gpio0 ASPEED_GPIO(H, 7) GPIO_ACTIVE_LOW>;
- linux,code = <ASPEED_GPIO(H, 7)>;
+ tpm@0 {
+ compatible = "infineon,slb9670", "tcg,tpm_tis-spi";
+ reg = <0>;
+ spi-max-frequency = <33000000>;
};
};
vbus_sled1: vbus_sled1 {
compatible = "regulator-fixed";
- regulator-name = "vbus_sled1";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- gpio = <&sled1_ioexp 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
+ gpio = <&sled1_ioexp 1 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "vbus_sled1";
};
vbus_sled2: vbus_sled2 {
compatible = "regulator-fixed";
- regulator-name = "vbus_sled2";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- gpio = <&sled2_ioexp 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
+ gpio = <&sled2_ioexp 1 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "vbus_sled2";
};
vbus_sled3: vbus_sled3 {
compatible = "regulator-fixed";
- regulator-name = "vbus_sled3";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- gpio = <&sled3_ioexp 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
+ gpio = <&sled3_ioexp 1 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "vbus_sled3";
};
vbus_sled4: vbus_sled4 {
compatible = "regulator-fixed";
- regulator-name = "vbus_sled4";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- gpio = <&sled4_ioexp 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
+ gpio = <&sled4_ioexp 1 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "vbus_sled4";
};
vbus_sled5: vbus_sled5 {
compatible = "regulator-fixed";
- regulator-name = "vbus_sled5";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- gpio = <&sled5_ioexp 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
+ gpio = <&sled5_ioexp 1 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "vbus_sled5";
};
vbus_sled6: vbus_sled6 {
compatible = "regulator-fixed";
- regulator-name = "vbus_sled6";
- regulator-min-microvolt = <5000000>;
- regulator-max-microvolt = <5000000>;
- gpio = <&sled6_ioexp 1 GPIO_ACTIVE_HIGH>;
enable-active-high;
+ gpio = <&sled6_ioexp 1 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "vbus_sled6";
};
};
&mac2 {
- status = "okay";
phy-mode = "rgmii";
- pinctrl-names = "default";
pinctrl-0 = <&pinctrl_rgmii3_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
fixed-link {
- speed = <1000>;
full-duplex;
+ speed = <1000>;
};
};
&fmc {
status = "okay";
+
flash@0 {
- status = "okay";
- m25p,fast-read;
label = "bmc";
spi-max-frequency = <50000000>;
+ m25p,fast-read;
+
+ status = "okay";
#include "openbmc-flash-layout-128.dtsi"
};
+
flash@1 {
- status = "okay";
- m25p,fast-read;
label = "alt-bmc";
spi-max-frequency = <50000000>;
+ m25p,fast-read;
+
+ status = "okay";
};
};
&spi2 {
- status = "okay";
- pinctrl-names = "default";
pinctrl-0 = <&pinctrl_spi2_default>;
+ pinctrl-names = "default";
+
+ status = "okay";
flash@0 {
- status = "okay";
- m25p,fast-read;
label = "pnor";
spi-max-frequency = <50000000>;
+ m25p,fast-read;
+
+ status = "okay";
};
};
&i2c0 {
status = "okay";
- sled1_fusb302: typec-portc@22 {
+ typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
@@ -354,13 +386,15 @@ sled1_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
+ data-role = "dual";
label = "USB-C";
+ op-sink-microwatt = <10000000>;
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
- data-role = "dual";
- source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- op-sink-microwatt = <10000000>;
+ sink-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ source-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
};
};
@@ -369,11 +403,11 @@ mp5023@40 {
reg = <0x40>;
};
- sled1_ioexp41: pca9536@41 {
+ pca9536@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"SLED1_SWD_MUX", "SLED1_XRES_SWD_N",
@@ -400,38 +434,39 @@ sled1_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
#address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"led-sled1-amber","led-sled1-blue","SLED1_RST_IOEXP","SLED1_MD_REF_PWM",
"","","","",
"","","","",
"","","","";
+
+ #size-cells = <0>;
};
sled1_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- gpio-controller;
#gpio-cells = <2>;
-
- interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(M, 0) IRQ_TYPE_LEVEL_LOW>;
+ gpio-controller;
gpio-line-names =
"SLED1_MS_DETECT1","SLED1_VBUS_BMC_EN","SLED1_INA230_ALERT","SLED1_P12V_STBY_ALERT",
"SLED1_SSD_ALERT","SLED1_MS_DETECT0","SLED1_RST_CCG5","SLED1_FUSB302_INT",
"SLED1_MD_STBY_RESET","SLED1_MD_IOEXP_EN_FAULT","SLED1_MD_DIR","SLED1_MD_DECAY",
"SLED1_MD_MODE1","SLED1_MD_MODE2","SLED1_MD_MODE3","power-host1";
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <ASPEED_GPIO(M, 0) IRQ_TYPE_LEVEL_LOW>;
};
};
&i2c1 {
status = "okay";
- sled2_fusb302: typec-portc@22 {
+ typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
@@ -441,13 +476,15 @@ sled2_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
+ data-role = "dual";
label = "USB-C";
+ op-sink-microwatt = <10000000>;
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
- data-role = "dual";
- source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- op-sink-microwatt = <10000000>;
+ sink-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ source-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
};
};
@@ -456,11 +493,11 @@ mp5023@40 {
reg = <0x40>;
};
- sled2_ioexp41: pca9536@41 {
+ pca9536@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"SLED2_SWD_MUX", "SLED2_XRES_SWD_N",
@@ -487,38 +524,39 @@ sled2_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
#address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
"","","","",
"","","","",
"","","","";
+
+ #size-cells = <0>;
};
sled2_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- gpio-controller;
#gpio-cells = <2>;
-
- interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(M, 1) IRQ_TYPE_LEVEL_LOW>;
+ gpio-controller;
gpio-line-names =
"SLED2_MS_DETECT1","SLED2_VBUS_BMC_EN","SLED2_INA230_ALERT","SLED2_P12V_STBY_ALERT",
"SLED2_SSD_ALERT","SLED2_MS_DETECT0","SLED2_RST_CCG5","SLED2_FUSB302_INT",
"SLED2_MD_STBY_RESET","SLED2_MD_IOEXP_EN_FAULT","SLED2_MD_DIR","SLED2_MD_DECAY",
"SLED2_MD_MODE1","SLED2_MD_MODE2","SLED2_MD_MODE3","power-host2";
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <ASPEED_GPIO(M, 1) IRQ_TYPE_LEVEL_LOW>;
};
};
&i2c2 {
status = "okay";
- sled3_fusb302: typec-portc@22 {
+ typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
@@ -528,13 +566,15 @@ sled3_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
+ data-role = "dual";
label = "USB-C";
+ op-sink-microwatt = <10000000>;
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
- data-role = "dual";
- source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- op-sink-microwatt = <10000000>;
+ sink-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ source-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
};
};
@@ -543,11 +583,11 @@ mp5023@40 {
reg = <0x40>;
};
- sled3_ioexp41: pca9536@41 {
+ pca9536@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"SLED3_SWD_MUX", "SLED3_XRES_SWD_N",
@@ -574,38 +614,39 @@ sled3_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
#address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
"","","","",
"","","","",
"","","","";
+
+ #size-cells = <0>;
};
sled3_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- gpio-controller;
#gpio-cells = <2>;
-
- interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(M, 2) IRQ_TYPE_LEVEL_LOW>;
+ gpio-controller;
gpio-line-names =
"SLED3_MS_DETECT1","SLED3_VBUS_BMC_EN","SLED3_INA230_ALERT","SLED3_P12V_STBY_ALERT",
"SLED3_SSD_ALERT","SLED3_MS_DETECT0","SLED3_RST_CCG5","SLED3_FUSB302_INT",
"SLED3_MD_STBY_RESET","SLED3_MD_IOEXP_EN_FAULT","SLED3_MD_DIR","SLED3_MD_DECAY",
"SLED3_MD_MODE1","SLED3_MD_MODE2","SLED3_MD_MODE3","power-host3";
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <ASPEED_GPIO(M, 2) IRQ_TYPE_LEVEL_LOW>;
};
};
&i2c3 {
status = "okay";
- sled4_fusb302: typec-portc@22 {
+ typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
@@ -615,13 +656,15 @@ sled4_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
+ data-role = "dual";
label = "USB-C";
+ op-sink-microwatt = <10000000>;
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
- data-role = "dual";
- source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- op-sink-microwatt = <10000000>;
+ sink-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ source-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
};
};
@@ -630,11 +673,11 @@ mp5023@40 {
reg = <0x40>;
};
- sled4_ioexp41: pca9536@41 {
+ pca9536@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"SLED4_SWD_MUX", "SLED4_XRES_SWD_N",
@@ -661,38 +704,39 @@ sled4_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
#address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
"","","","",
"","","","",
"","","","";
+
+ #size-cells = <0>;
};
sled4_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- gpio-controller;
#gpio-cells = <2>;
-
- interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(M, 3) IRQ_TYPE_LEVEL_LOW>;
+ gpio-controller;
gpio-line-names =
"SLED4_MS_DETECT1","SLED4_VBUS_BMC_EN","SLED4_INA230_ALERT","SLED4_P12V_STBY_ALERT",
"SLED4_SSD_ALERT","SLED4_MS_DETECT0","SLED4_RST_CCG5","SLED4_FUSB302_INT",
"SLED4_MD_STBY_RESET","SLED4_MD_IOEXP_EN_FAULT","SLED4_MD_DIR","SLED4_MD_DECAY",
"SLED4_MD_MODE1","SLED4_MD_MODE2","SLED4_MD_MODE3","power-host4";
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <ASPEED_GPIO(M, 3) IRQ_TYPE_LEVEL_LOW>;
};
};
&i2c4 {
status = "okay";
- sled5_fusb302: typec-portc@22 {
+ typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
@@ -702,13 +746,15 @@ sled5_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
+ data-role = "dual";
label = "USB-C";
+ op-sink-microwatt = <10000000>;
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
- data-role = "dual";
- source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- op-sink-microwatt = <10000000>;
+ sink-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ source-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
};
};
@@ -717,11 +763,11 @@ mp5023@40 {
reg = <0x40>;
};
- sled5_ioexp41: pca9536@41 {
+ pca9536@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"SLED5_SWD_MUX", "SLED5_XRES_SWD_N",
@@ -748,38 +794,39 @@ sled5_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
#address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
"","","","",
"","","","",
"","","","";
+
+ #size-cells = <0>;
};
sled5_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- gpio-controller;
#gpio-cells = <2>;
-
- interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(M, 4) IRQ_TYPE_LEVEL_LOW>;
+ gpio-controller;
gpio-line-names =
"SLED5_MS_DETECT1","SLED5_VBUS_BMC_EN","SLED5_INA230_ALERT","SLED5_P12V_STBY_ALERT",
"SLED5_SSD_ALERT","SLED5_MS_DETECT0","SLED5_RST_CCG5","SLED5_FUSB302_INT",
"SLED5_MD_STBY_RESET","SLED5_MD_IOEXP_EN_FAULT","SLED5_MD_DIR","SLED5_MD_DECAY",
"SLED5_MD_MODE1","SLED5_MD_MODE2","SLED5_MD_MODE3","power-host5";
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <ASPEED_GPIO(M, 4) IRQ_TYPE_LEVEL_LOW>;
};
};
&i2c5 {
status = "okay";
- sled6_fusb302: typec-portc@22 {
+ typec-portc@22 {
compatible = "fcs,fusb302";
reg = <0x22>;
@@ -789,13 +836,15 @@ sled6_fusb302: typec-portc@22 {
connector {
compatible = "usb-c-connector";
+ data-role = "dual";
label = "USB-C";
+ op-sink-microwatt = <10000000>;
pd-revision = /bits/ 8 <0x2 0x0 0x1 0x20>;
power-role = "dual";
- data-role = "dual";
- source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- sink-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
- op-sink-microwatt = <10000000>;
+ sink-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
+ source-pdos =
+ <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
};
};
@@ -804,11 +853,11 @@ mp5023@40 {
reg = <0x40>;
};
- sled6_ioexp41: pca9536@41 {
+ pca9536@41 {
compatible = "nxp,pca9536";
reg = <0x41>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"SLED6_SWD_MUX", "SLED6_XRES_SWD_N",
@@ -835,31 +884,32 @@ sled6_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
#address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"led-sled6-amber","led-sled6-blue","SLED6_RST_IOEXP","SLED6_MD_REF_PWM",
"","","","",
"","","","",
"","","","";
+
+ #size-cells = <0>;
};
sled6_ioexp: pca9539@76 {
compatible = "nxp,pca9539";
reg = <0x76>;
- gpio-controller;
#gpio-cells = <2>;
-
- interrupt-parent = <&gpio0>;
- interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
+ gpio-controller;
gpio-line-names =
"SLED6_MS_DETECT1","SLED6_VBUS_BMC_EN","SLED6_INA230_ALERT","SLED6_P12V_STBY_ALERT",
"SLED6_SSD_ALERT","SLED6_MS_DETECT0","SLED6_RST_CCG5","SLED6_FUSB302_INT",
"SLED6_MD_STBY_RESET","SLED6_MD_IOEXP_EN_FAULT","SLED6_MD_DIR","SLED6_MD_DECAY",
"SLED6_MD_MODE1","SLED6_MD_MODE2","SLED6_MD_MODE3","power-host6";
+
+ interrupt-parent = <&gpio0>;
+ interrupts = <ASPEED_GPIO(M, 5) IRQ_TYPE_LEVEL_LOW>;
};
};
@@ -908,9 +958,8 @@ front_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
#address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"led-fault-identify","power-p5v-stby-good",
@@ -918,6 +967,8 @@ front_leds: pca9552@67 {
"","","","",
"","","","",
"","","","";
+
+ #size-cells = <0>;
};
};
@@ -928,8 +979,8 @@ adm1278@11 {
compatible = "adi,adm1278";
reg = <0x11>;
shunt-resistor-micro-ohms = <300>;
- adi,volt-curr-sample-average = <128>;
adi,power-sample-average = <128>;
+ adi,volt-curr-sample-average = <128>;
};
tmp421@4c {
@@ -946,9 +997,8 @@ fan_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
#address-cells = <1>;
- #size-cells = <0>;
- gpio-controller;
#gpio-cells = <2>;
+ gpio-controller;
gpio-line-names =
"presence-fan0","presence-fan1",
@@ -957,11 +1007,14 @@ fan_leds: pca9552@67 {
"power-fan2-good","power-fan3-good",
"","","","",
"","","","";
+
+ #size-cells = <0>;
};
};
&i2c13 {
multi-master;
+
status = "okay";
//USB Debug Connector
@@ -973,9 +1026,6 @@ ipmb13@10 {
};
&gpio0 {
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_gpiov2_unbiased_default>;
-
gpio-line-names =
/*A0-A7*/ "","","","","","","","",
/*B0-B7*/ "FUSB302_SLED1_INT_N","FUSB302_SLED2_INT_N",
@@ -1029,28 +1079,33 @@ &gpio0 {
"BSM_FLASH_LATCH_N","FUSB302_SLED5_INT_N",
"","","","",
/*Z0-Z7*/ "","","","","","","","";
+
+ pinctrl-0 = <&pinctrl_gpiov2_unbiased_default>;
+ pinctrl-names = "default";
};
&adc0 {
+ 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>;
+ pinctrl-names = "default";
+
aspeed,int-vref-microvolt = <2500000>;
- 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>;
+ status = "okay";
};
&adc1 {
+ 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>;
+ pinctrl-names = "default";
+
aspeed,int-vref-microvolt = <2500000>;
- 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>;
+ status = "okay";
};
&mdio0 {
@@ -1081,12 +1136,13 @@ &emmc {
&pinctrl {
pinctrl_gpiov2_unbiased_default: gpiov2 {
- pins = "AD14";
bias-disable;
+ pins = "AD14";
};
};
&wdt1 {
- status = "okay";
aspeed,reset-type = "soc";
+
+ status = "okay";
};
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 3/4] ARM: dts: aspeed: bletchley: Add second source PCA9532 LED controllers
2026-07-29 11:43 [PATCH v2 0/4] ARM: dts: aspeed: bletchley: Cleanups and second source devices Cosmo Chou
2026-07-29 11:43 ` [PATCH v2 1/4] ARM: dts: aspeed: bletchley: Sort i2c device nodes by address Cosmo Chou
2026-07-29 11:43 ` [PATCH v2 2/4] ARM: dts: aspeed: bletchley: Fix style warnings Cosmo Chou
@ 2026-07-29 11:43 ` Cosmo Chou
2026-07-29 12:08 ` sashiko-bot
2026-07-29 11:43 ` [PATCH v2 4/4] ARM: dts: aspeed: bletchley: Add second source ISL1208 RTC Cosmo Chou
3 siblings, 1 reply; 7+ messages in thread
From: Cosmo Chou @ 2026-07-29 11:43 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, joel, andrew
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
cosmo.chou, Cosmo Chou
Add alternative PCA9532 LED controllers at address 0x66 to support boards
populated with the PCA9532 instead of the primary PCA9552 at 0x67.
Signed-off-by: Cosmo Chou <chou.cosmo@gmail.com>
---
.../aspeed/aspeed-bmc-facebook-bletchley.dts | 422 ++++++++++++++++++
1 file changed, 422 insertions(+)
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 e1fa3a18ea5c..3da1cf9bbb99 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
@@ -6,6 +6,7 @@
#include <dt-bindings/gpio/aspeed-gpio.h>
#include <dt-bindings/usb/pd.h>
#include <dt-bindings/leds/leds-pca955x.h>
+#include <dt-bindings/leds/leds-pca9532.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/i2c/i2c.h>
@@ -86,6 +87,66 @@ led-7 {
};
};
+ fan_gpio_leds_alt {
+ compatible = "gpio-leds";
+
+ led-0 {
+ default-state = "on";
+ gpios = <&fan_leds_alt 8 GPIO_ACTIVE_HIGH>;
+ label = "fan0_blue";
+ retain-state-shutdown;
+ };
+
+ led-1 {
+ default-state = "on";
+ gpios = <&fan_leds_alt 9 GPIO_ACTIVE_HIGH>;
+ label = "fan1_blue";
+ retain-state-shutdown;
+ };
+
+ led-2 {
+ default-state = "on";
+ gpios = <&fan_leds_alt 10 GPIO_ACTIVE_HIGH>;
+ label = "fan2_blue";
+ retain-state-shutdown;
+ };
+
+ led-3 {
+ default-state = "on";
+ gpios = <&fan_leds_alt 11 GPIO_ACTIVE_HIGH>;
+ label = "fan3_blue";
+ retain-state-shutdown;
+ };
+
+ led-4 {
+ default-state = "off";
+ gpios = <&fan_leds_alt 12 GPIO_ACTIVE_HIGH>;
+ label = "fan0_amber";
+ retain-state-shutdown;
+ };
+
+ led-5 {
+ default-state = "off";
+ gpios = <&fan_leds_alt 13 GPIO_ACTIVE_HIGH>;
+ label = "fan1_amber";
+ retain-state-shutdown;
+ };
+
+ led-6 {
+ default-state = "off";
+ gpios = <&fan_leds_alt 14 GPIO_ACTIVE_HIGH>;
+ label = "fan2_amber";
+ retain-state-shutdown;
+ };
+
+ led-7 {
+ default-state = "off";
+ gpios = <&fan_leds_alt 15 GPIO_ACTIVE_HIGH>;
+ label = "fan3_amber";
+ retain-state-shutdown;
+ };
+ };
+
front_gpio_leds {
compatible = "gpio-leds";
@@ -162,6 +223,24 @@ led-1 {
};
};
+ sled1_gpio_leds_alt {
+ compatible = "gpio-leds";
+
+ led-0 {
+ default-state = "keep";
+ gpios = <&sled1_leds_alt 0 GPIO_ACTIVE_LOW>;
+ label = "sled1_amber";
+ retain-state-shutdown;
+ };
+
+ led-1 {
+ default-state = "keep";
+ gpios = <&sled1_leds_alt 1 GPIO_ACTIVE_LOW>;
+ label = "sled1_blue";
+ retain-state-shutdown;
+ };
+ };
+
sled2_gpio_leds {
compatible = "gpio-leds";
@@ -180,6 +259,24 @@ led-1 {
};
};
+ sled2_gpio_leds_alt {
+ compatible = "gpio-leds";
+
+ led-0 {
+ default-state = "keep";
+ gpios = <&sled2_leds_alt 0 GPIO_ACTIVE_LOW>;
+ label = "sled2_amber";
+ retain-state-shutdown;
+ };
+
+ led-1 {
+ default-state = "keep";
+ gpios = <&sled2_leds_alt 1 GPIO_ACTIVE_LOW>;
+ label = "sled2_blue";
+ retain-state-shutdown;
+ };
+ };
+
sled3_gpio_leds {
compatible = "gpio-leds";
@@ -198,6 +295,24 @@ led-1 {
};
};
+ sled3_gpio_leds_alt {
+ compatible = "gpio-leds";
+
+ led-0 {
+ default-state = "keep";
+ gpios = <&sled3_leds_alt 0 GPIO_ACTIVE_LOW>;
+ label = "sled3_amber";
+ retain-state-shutdown;
+ };
+
+ led-1 {
+ default-state = "keep";
+ gpios = <&sled3_leds_alt 1 GPIO_ACTIVE_LOW>;
+ label = "sled3_blue";
+ retain-state-shutdown;
+ };
+ };
+
sled4_gpio_leds {
compatible = "gpio-leds";
@@ -216,6 +331,24 @@ led-1 {
};
};
+ sled4_gpio_leds_alt {
+ compatible = "gpio-leds";
+
+ led-0 {
+ default-state = "keep";
+ gpios = <&sled4_leds_alt 0 GPIO_ACTIVE_LOW>;
+ label = "sled4_amber";
+ retain-state-shutdown;
+ };
+
+ led-1 {
+ default-state = "keep";
+ gpios = <&sled4_leds_alt 1 GPIO_ACTIVE_LOW>;
+ label = "sled4_blue";
+ retain-state-shutdown;
+ };
+ };
+
sled5_gpio_leds {
compatible = "gpio-leds";
@@ -234,6 +367,24 @@ led-1 {
};
};
+ sled5_gpio_leds_alt {
+ compatible = "gpio-leds";
+
+ led-0 {
+ default-state = "keep";
+ gpios = <&sled5_leds_alt 0 GPIO_ACTIVE_LOW>;
+ label = "sled5_amber";
+ retain-state-shutdown;
+ };
+
+ led-1 {
+ default-state = "keep";
+ gpios = <&sled5_leds_alt 1 GPIO_ACTIVE_LOW>;
+ label = "sled5_blue";
+ retain-state-shutdown;
+ };
+ };
+
sled6_gpio_leds {
compatible = "gpio-leds";
@@ -252,6 +403,24 @@ led-1 {
};
};
+ sled6_gpio_leds_alt {
+ compatible = "gpio-leds";
+
+ led-0 {
+ default-state = "keep";
+ gpios = <&sled6_leds_alt 0 GPIO_ACTIVE_LOW>;
+ label = "sled6_amber";
+ retain-state-shutdown;
+ };
+
+ led-1 {
+ default-state = "keep";
+ gpios = <&sled6_leds_alt 1 GPIO_ACTIVE_LOW>;
+ label = "sled6_blue";
+ retain-state-shutdown;
+ };
+ };
+
spi {
compatible = "spi-gpio";
#address-cells = <1>;
@@ -430,6 +599,35 @@ eeprom@54 {
reg = <0x54>;
};
+ sled1_leds_alt: pca9532@66 {
+ compatible = "nxp,pca9532";
+ reg = <0x66>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ gpio-line-names =
+ "led-sled1-amber","led-sled1-blue","SLED1_RST_IOEXP","SLED1_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
+
+ led-0 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-1 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-2 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-3 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+ };
+
sled1_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
@@ -520,6 +718,35 @@ eeprom@54 {
reg = <0x54>;
};
+ sled2_leds_alt: pca9532@66 {
+ compatible = "nxp,pca9532";
+ reg = <0x66>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ gpio-line-names =
+ "led-sled2-amber","led-sled2-blue","SLED2_RST_IOEXP","SLED2_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
+
+ led-0 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-1 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-2 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-3 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+ };
+
sled2_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
@@ -610,6 +837,35 @@ eeprom@54 {
reg = <0x54>;
};
+ sled3_leds_alt: pca9532@66 {
+ compatible = "nxp,pca9532";
+ reg = <0x66>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ gpio-line-names =
+ "led-sled3-amber","led-sled3-blue","SLED3_RST_IOEXP","SLED3_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
+
+ led-0 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-1 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-2 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-3 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+ };
+
sled3_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
@@ -700,6 +956,35 @@ eeprom@54 {
reg = <0x54>;
};
+ sled4_leds_alt: pca9532@66 {
+ compatible = "nxp,pca9532";
+ reg = <0x66>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ gpio-line-names =
+ "led-sled4-amber","led-sled4-blue","SLED4_RST_IOEXP","SLED4_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
+
+ led-0 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-1 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-2 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-3 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+ };
+
sled4_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
@@ -790,6 +1075,35 @@ eeprom@54 {
reg = <0x54>;
};
+ sled5_leds_alt: pca9532@66 {
+ compatible = "nxp,pca9532";
+ reg = <0x66>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ gpio-line-names =
+ "led-sled5-amber","led-sled5-blue","SLED5_RST_IOEXP","SLED5_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
+
+ led-0 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-1 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-2 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-3 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+ };
+
sled5_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
@@ -880,6 +1194,35 @@ eeprom@54 {
reg = <0x54>;
};
+ sled6_leds_alt: pca9532@66 {
+ compatible = "nxp,pca9532";
+ reg = <0x66>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ gpio-line-names =
+ "led-sled6-amber","led-sled6-blue","SLED6_RST_IOEXP","SLED6_MD_REF_PWM",
+ "","","","",
+ "","","","",
+ "","","","";
+
+ led-0 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-1 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-2 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-3 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+ };
+
sled6_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
@@ -993,6 +1336,85 @@ tmp421@4d {
reg = <0x4d>;
};
+ fan_leds_alt: pca9532@66 {
+ compatible = "nxp,pca9532";
+ reg = <0x66>;
+ #gpio-cells = <2>;
+ gpio-controller;
+
+ gpio-line-names =
+ "presence-fan0","presence-fan1",
+ "presence-fan2","presence-fan3",
+ "power-fan0-good","power-fan1-good",
+ "power-fan2-good","power-fan3-good",
+ "","","","",
+ "","","","";
+
+ led-0 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-1 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-2 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-3 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-4 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-5 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-6 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-7 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-8 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-9 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-10 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-11 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-12 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-13 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-14 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+
+ led-15 {
+ type = <PCA9532_TYPE_GPIO>;
+ };
+ };
+
fan_leds: pca9552@67 {
compatible = "nxp,pca9552";
reg = <0x67>;
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v2 3/4] ARM: dts: aspeed: bletchley: Add second source PCA9532 LED controllers
2026-07-29 11:43 ` [PATCH v2 3/4] ARM: dts: aspeed: bletchley: Add second source PCA9532 LED controllers Cosmo Chou
@ 2026-07-29 12:08 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-07-29 12:08 UTC (permalink / raw)
To: Cosmo Chou; +Cc: conor+dt, devicetree, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The alternative PCA9532 LED controllers use incorrect GPIO active polarity flags, causing the LEDs to operate inverted compared to the primary PCA9552 controllers.
--
--- Patch [3]: [PATCH v2 3/4] ARM: dts: aspeed: bletchley: Add second source PCA9532 LED controllers ---
commit a1677ab804733ff8d7d1bbc1ba314032d50ddf82
Author: Cosmo Chou <chou.cosmo@gmail.com>
ARM: dts: aspeed: bletchley: Add second source PCA9532 LED controllers
This commit adds alternative PCA9532 LED controllers at address 0x66 to
support boards populated with the PCA9532 instead of the primary PCA9552
at 0x67.
> 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 e1fa3a18ea5cf..3da1cf9bbb990 100644
> --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
[ ... ]
> @@ -86,6 +87,66 @@ led-7 {
> };
> };
>
> + fan_gpio_leds_alt {
> + compatible = "gpio-leds";
> +
> + led-0 {
> + default-state = "on";
> + gpios = <&fan_leds_alt 8 GPIO_ACTIVE_HIGH>;
[Severity: High]
Will this GPIO active polarity cause the LED to operate inverted compared to the
primary PCA9552 controller?
The leds-pca955x driver maps a raw value of 1 to High-Z and 0 to Output LOW,
whereas the leds-pca9532 driver maps a raw value of 1 to Output LOW and 0 to
High-Z.
Because the two drivers map raw GPIO values to opposite electrical states, does
this flag need to be GPIO_ACTIVE_LOW to produce the same physical state when
logically ON?
> + label = "fan0_blue";
> + retain-state-shutdown;
> + };
> +
[ ... ]
> @@ -162,6 +223,24 @@ led-1 {
> };
> };
>
> + sled1_gpio_leds_alt {
> + compatible = "gpio-leds";
> +
> + led-0 {
> + default-state = "keep";
> + gpios = <&sled1_leds_alt 0 GPIO_ACTIVE_LOW>;
[Severity: High]
Similar to the fan LEDs above, does this polarity need to be GPIO_ACTIVE_HIGH
for the PCA9532 to output the same physical LOW state when logically ON?
The current GPIO_ACTIVE_LOW flag appears to be copied from the primary PCA9552
node, but due to the inverted semantics of the leds-pca9532 driver, this might
result in inverted electrical signals.
Does this polarity issue also apply to the alternative nodes for sled2 through
sled6?
> + label = "sled1_amber";
> + retain-state-shutdown;
> + };
> +
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260729114312.3947300-1-chou.cosmo@gmail.com?part=3
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 4/4] ARM: dts: aspeed: bletchley: Add second source ISL1208 RTC
2026-07-29 11:43 [PATCH v2 0/4] ARM: dts: aspeed: bletchley: Cleanups and second source devices Cosmo Chou
` (2 preceding siblings ...)
2026-07-29 11:43 ` [PATCH v2 3/4] ARM: dts: aspeed: bletchley: Add second source PCA9532 LED controllers Cosmo Chou
@ 2026-07-29 11:43 ` Cosmo Chou
2026-07-29 11:51 ` sashiko-bot
3 siblings, 1 reply; 7+ messages in thread
From: Cosmo Chou @ 2026-07-29 11:43 UTC (permalink / raw)
To: robh, krzk+dt, conor+dt, joel, andrew
Cc: devicetree, linux-arm-kernel, linux-aspeed, linux-kernel,
cosmo.chou, Cosmo Chou
Add alternative ISL1208 RTC at address 0x6f to support boards populated
with the ISL1208 instead of the primary PCF85263 at 0x51.
Signed-off-by: Cosmo Chou <chou.cosmo@gmail.com>
---
arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts | 5 +++++
1 file changed, 5 insertions(+)
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 3da1cf9bbb99..01dbbda3e4b6 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
@@ -1269,6 +1269,11 @@ eeprom@56 {
compatible = "atmel,24c64";
reg = <0x56>;
};
+
+ rtc@6f {
+ compatible = "isil,isl1208";
+ reg = <0x6f>;
+ };
};
&i2c7 {
--
2.43.0
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH v2 4/4] ARM: dts: aspeed: bletchley: Add second source ISL1208 RTC
2026-07-29 11:43 ` [PATCH v2 4/4] ARM: dts: aspeed: bletchley: Add second source ISL1208 RTC Cosmo Chou
@ 2026-07-29 11:51 ` sashiko-bot
0 siblings, 0 replies; 7+ messages in thread
From: sashiko-bot @ 2026-07-29 11:51 UTC (permalink / raw)
To: Cosmo Chou; +Cc: devicetree, robh, conor+dt
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] Adding the ISL1208 as an active alternative RTC introduces a system-level regression on boards populated with the ISL1208. The unpopulated primary PCF85263 will register a phantom /dev/rtc0 device due to a missing I2C failure check in its driver, causing the ISL1208 to be registered as /dev/rtc1 and breaking userspace time synchronization.
--
--- Patch [4]: [PATCH v2 4/4] ARM: dts: aspeed: bletchley: Add second source ISL1208 RTC ---
commit 02d65705396424e85939c4fb70bef75dc330e54c
Author: Cosmo Chou <chou.cosmo@gmail.com>
ARM: dts: aspeed: bletchley: Add second source ISL1208 RTC
This commit adds an alternative ISL1208 RTC node at address 0x6f to support
boards populated with the ISL1208 instead of the primary PCF85263.
> 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 3da1cf9bbb990..01dbbda3e4b6a 100644
> --- a/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
> +++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-facebook-bletchley.dts
> @@ -1269,6 +1269,11 @@ eeprom@56 {
> compatible = "atmel,24c64";
> reg = <0x56>;
> };
> +
> + rtc@6f {
> + compatible = "isil,isl1208";
> + reg = <0x6f>;
> + };
[Severity: High]
Will adding this alternative RTC node break userspace time synchronization on
boards populated with the ISL1208?
Looking at the primary RTC's driver probe function:
drivers/rtc/rtc-pcf85363.c:pcf85363_probe() {
...
err = pcf85363_load_capacitance(pcf85363, client->dev.of_node);
if (err < 0)
dev_warn(&client->dev, "failed to set xtal load capacitance: %d",
err);
pcf85363->rtc->ops = &rtc_ops;
...
}
The PCF85263 driver ignores I2C communication errors during probe. If a board
is populated with the ISL1208 instead of the PCF85263, the absent PCF85263
will still successfully probe and register a phantom /dev/rtc0 device.
Does this cause the ISL1208 to be registered as /dev/rtc1, resulting in
userspace services like hwclock or systemd-timesyncd targeting the
non-functional phantom device by default?
Should this alternative topology be handled via a bootloader fixup, or
should the rtc-pcf85363 driver be fixed to fail probe when the hardware
is absent before adding this node?
> };
>
> &i2c7 {
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260729114312.3947300-1-chou.cosmo@gmail.com?part=4
^ permalink raw reply [flat|nested] 7+ messages in thread