[PATCH 1/3] ARM: dts: aspeed: nvidia: gb200nvl: Add VCC Supply

Willie Thai wthai at nvidia.com
Mon May 26 04:20:17 AEST 2025


Add Vcc supply to avoid probing the devices before they have power.

Signed-off-by: Deepak Kodihalli <dkodihalli at nvidia.com>
Signed-off-by: Ed Tanous <etanous at nvidia.com>
Signed-off-by: Willie Thai <wthai at nvidia.com>
---
 .../dts/aspeed/aspeed-bmc-nvidia-gb200nvl-bmc.dts  | 34 ++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200nvl-bmc.dts b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200nvl-bmc.dts
index 41e3e9dd85f571254a08d40e68c0d8f8f049256b..0b0abb259ca3a68b43dcfa61df69b8a15421d67c 100644
--- a/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200nvl-bmc.dts
+++ b/arch/arm/boot/dts/aspeed/aspeed-bmc-nvidia-gb200nvl-bmc.dts
@@ -126,6 +126,16 @@ button-uid {
 			gpio = <&sgpiom0 154 GPIO_ACTIVE_LOW>;
 		};
 	};
+
+	standby_power_regulator: standby-power-regulator {
+		compatible = "regulator-fixed";
+		regulator-name = "standby_power";
+		gpio = <&gpio0 ASPEED_GPIO(M, 3) GPIO_ACTIVE_HIGH>;
+		regulator-min-microvolt = <1800000>;
+		regulator-max-microvolt = <1800000>;
+		enable-active-high;
+		regulator-always-on;
+	};
 };
 
 // Enable Primary flash on FMC for bring up activity
@@ -420,6 +430,7 @@ &i2c3 {
 &i2c4 {
 	status = "okay";
 	clock-frequency = <400000>;
+	vcc-supply = <&standby_power_regulator>;
 
 	// Module 0, Expander @0x21
 	exp4: gpio at 21 {
@@ -431,6 +442,7 @@ exp4: gpio at 21 {
 		#interrupt-cells = <2>;
 		interrupt-parent = <&gpio1>;
 		interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
+		vcc-supply = <&standby_power_regulator>;
 		gpio-line-names =
 			"RTC_MUX_SEL-O",
 			"PCI_MUX_SEL-O",
@@ -457,6 +469,7 @@ &i2c5 {
 	status = "okay";
 	clock-frequency = <400000>;
 	multi-master;
+	vcc-supply = <&standby_power_regulator>;
 
 	i2c-mux at 71 {
 		compatible = "nxp,pca9546";
@@ -464,6 +477,7 @@ i2c-mux at 71 {
 		#size-cells = <0>;
 		reg = <0x71>;
 		i2c-mux-idle-disconnect;
+		vdd-supply = <&standby_power_regulator>;
 
 		imux16: i2c at 0 {
 			#address-cells = <1>;
@@ -482,6 +496,7 @@ i2c-mux at 74 {
 				#size-cells = <0>;
 				reg = <0x74>;
 				i2c-mux-idle-disconnect;
+				vcc-supply = <&standby_power_regulator>;
 
 				i2c17mux0: i2c at 0 {
 					#address-cells = <1>;
@@ -528,6 +543,7 @@ i2c-mux at 72 {
 		#size-cells = <0>;
 		reg = <0x72>;
 		i2c-mux-idle-disconnect;
+		vdd-supply = <&standby_power_regulator>;
 
 		imux20: i2c at 0 {
 			#address-cells = <1>;
@@ -545,6 +561,7 @@ gpio at 21 {
 				reg = <0x21>;
 				gpio-controller;
 				#gpio-cells = <2>;
+				vcc-supply = <&standby_power_regulator>;
 				gpio-line-names =
 					"RST_CX_0_L-O",
 					"RST_CX_1_L-O",
@@ -584,6 +601,7 @@ i2c-mux at 73 {
 		#size-cells = <0>;
 		reg = <0x73>;
 		i2c-mux-idle-disconnect;
+		vdd-supply = <&standby_power_regulator>;
 
 		imux24: i2c at 0 {
 			#address-cells = <1>;
@@ -602,6 +620,7 @@ i2c-mux at 70 {
 				#size-cells = <0>;
 				reg = <0x70>;
 				i2c-mux-idle-disconnect;
+				vdd-supply = <&standby_power_regulator>;
 
 				i2c25mux0: i2c at 0 {
 					#address-cells = <1>;
@@ -648,6 +667,7 @@ i2c-mux at 75 {
 		#size-cells = <0>;
 		reg = <0x75>;
 		i2c-mux-idle-disconnect;
+		vdd-supply = <&standby_power_regulator>;
 
 		imux28: i2c at 0 {
 			#address-cells = <1>;
@@ -666,6 +686,7 @@ i2c-mux at 74 {
 				#size-cells = <0>;
 				reg = <0x74>;
 				i2c-mux-idle-disconnect;
+				vcc-supply = <&standby_power_regulator>;
 
 				i2c29mux0: i2c at 0 {
 					#address-cells = <1>;
@@ -712,6 +733,7 @@ i2c-mux at 76 {
 		#size-cells = <0>;
 		reg = <0x76>;
 		i2c-mux-idle-disconnect;
+		vdd-supply = <&standby_power_regulator>;
 
 		imux32: i2c at 0 {
 			#address-cells = <1>;
@@ -729,6 +751,7 @@ gpio at 21 {
 				reg = <0x21>;
 				gpio-controller;
 				#gpio-cells = <2>;
+				vcc-supply = <&standby_power_regulator>;
 				gpio-line-names =
 					"SEC_RST_CX_0_L-O",
 					"SEC_RST_CX_1_L-O",
@@ -768,6 +791,7 @@ i2c-mux at 77 {
 		#size-cells = <0>;
 		reg = <0x77>;
 		i2c-mux-idle-disconnect;
+		vdd-supply = <&standby_power_regulator>;
 
 		imux36: i2c at 0 {
 			#address-cells = <1>;
@@ -801,6 +825,7 @@ imux39: i2c at 3 {
 &i2c6 {
 	status = "okay";
 	clock-frequency = <400000>;
+	vcc-supply = <&standby_power_regulator>;
 
 	pmic at 12 {
 		compatible = "ti,lm5066i";
@@ -843,6 +868,7 @@ &i2c8 {
 	status = "okay";
 	clock-frequency = <400000>;
 	multi-master;
+	vcc-supply = <&standby_power_regulator>;
 };
 
 // I2C10
@@ -851,6 +877,7 @@ &i2c8 {
 &i2c9 {
 	status = "okay";
 	clock-frequency = <400000>;
+	vcc-supply = <&standby_power_regulator>;
 
 	// Module 0, Expander @0x20
 	exp0: gpio at 20 {
@@ -862,6 +889,7 @@ exp0: gpio at 20 {
 		#interrupt-cells = <2>;
 		interrupt-parent = <&gpio1>;
 		interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
+		vcc-supply = <&standby_power_regulator>;
 		gpio-line-names =
 			"FPGA_THERM_OVERT_L-I",
 			"FPGA_READY_BMC-I",
@@ -891,6 +919,7 @@ exp1: gpio at 21 {
 		#interrupt-cells = <2>;
 		interrupt-parent = <&gpio1>;
 		interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
+		vcc-supply = <&standby_power_regulator>;
 		gpio-line-names =
 			"SEC_FPGA_THERM_OVERT_L-I",
 			"SEC_FPGA_READY_BMC-I",
@@ -949,6 +978,7 @@ exp3: gpio at 74 {
 		#interrupt-cells = <2>;
 		interrupt-parent = <&gpio1>;
 		interrupts = <ASPEED_GPIO(B, 6) IRQ_TYPE_LEVEL_LOW>;
+		vcc-supply = <&standby_power_regulator>;
 		gpio-line-names =
 			"IOB_PRSNT_L",
 			"IOB_DP_HPD",
@@ -1006,6 +1036,7 @@ &i2c14 {
 	status = "okay";
 	clock-frequency = <100000>;
 	multi-master;
+	vcc-supply = <&standby_power_regulator>;
 
 	//E1.S drive slot 0-3
 	i2c-mux at 77 {
@@ -1014,6 +1045,7 @@ i2c-mux at 77 {
 		#size-cells = <0>;
 		reg = <0x77>;
 		i2c-mux-idle-disconnect;
+		vdd-supply = <&standby_power_regulator>;
 
 		e1si2c0: i2c at 0 {
 			#address-cells = <1>;
@@ -1046,6 +1078,7 @@ &i2c15 {
 	status = "okay";
 	clock-frequency = <100000>;
 	multi-master;
+	vcc-supply = <&standby_power_regulator>;
 
 	//E1.S drive slot 4-7
 	i2c-mux at 77 {
@@ -1054,6 +1087,7 @@ i2c-mux at 77 {
 		#size-cells = <0>;
 		reg = <0x77>;
 		i2c-mux-idle-disconnect;
+		vdd-supply = <&standby_power_regulator>;
 
 		e1si2c4: i2c at 0 {
 			#address-cells = <1>;

-- 
2.25.1



More information about the Linux-aspeed mailing list