[PATCH v1 3/4] arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs

From: Ziyue Zhang

Date: Mon Aug 10 2026 - 07:30:47 EST


The QMP PCIe PHYs on QCS8300 require dedicated qref and refgen voltage
supplies for stable operation. Without these supplies, the system may
occasionally crash.

Add vdda-qref-supply and vdda-refgen-supply in the board files
(QCS8300-RIDE, Monaco-EVK and Monaco-Monza-SoM), and add refgen-supply
in the SoC DTSI (monaco.dtsi) since refgen is an on-chip regulator
shared across boards. The PHY driver votes for refgen3 directly as a
workaround for a hardware issue where QREF actually depends on refgen3
rather than refgen2 as documented.

Fixes: 33967eadb215 ("arm64: dts: qcom: qcs8300-ride: enable pcie0 interface")
Fixes: cdb613a84527 ("arm64: dts: qcom: qcs8300-ride: enable pcie1 interface")
Fixes: 41e2424651f7 ("arm64: dts: qcom: monaco-evk: Enable PCIe0 and PCIe1.")
Fixes: 5238f4e7169f ("arm64: dts: qcom: Add Monaco Monza SoM")
Signed-off-by: Ziyue Zhang <ziyue.zhang@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/monaco-evk.dts | 4 ++++
arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/monaco.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/qcs8300-ride.dts | 4 ++++
4 files changed, 16 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
index 9d17ef7d2caf..c1f63a4ee243 100644
--- a/arch/arm64/boot/dts/qcom/monaco-evk.dts
+++ b/arch/arm64/boot/dts/qcom/monaco-evk.dts
@@ -623,6 +623,8 @@ &pcie0 {
&pcie0_phy {
vdda-phy-supply = <&vreg_l6a>;
vdda-pll-supply = <&vreg_l5a>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;

status = "okay";
};
@@ -637,6 +639,8 @@ &pcie1 {
&pcie1_phy {
vdda-phy-supply = <&vreg_l6a>;
vdda-pll-supply = <&vreg_l5a>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;

status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi b/arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi
index 36af1ad2105d..b1b3a7773bbe 100644
--- a/arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco-monza-som.dtsi
@@ -211,6 +211,8 @@ &pcie0 {
&pcie0_phy {
vdda-phy-supply = <&vreg_l6a>;
vdda-pll-supply = <&vreg_l5a>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;

status = "okay";
};
@@ -223,6 +225,8 @@ &pcie1 {
&pcie1_phy {
vdda-phy-supply = <&vreg_l6a>;
vdda-pll-supply = <&vreg_l5a>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;

status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/monaco.dtsi b/arch/arm64/boot/dts/qcom/monaco.dtsi
index cfe39f923224..a8e5f7abf686 100644
--- a/arch/arm64/boot/dts/qcom/monaco.dtsi
+++ b/arch/arm64/boot/dts/qcom/monaco.dtsi
@@ -2433,6 +2433,8 @@ pcie0_phy: phy@1c04000 {

#phy-cells = <0>;

+ refgen-supply = <&refgen>;
+
status = "disabled";
};

@@ -2624,6 +2626,8 @@ pcie1_phy: phy@1c14000 {

#phy-cells = <0>;

+ refgen-supply = <&refgen>;
+
status = "disabled";
};

diff --git a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
index 1ff39530ea3d..c7b36feca4ac 100644
--- a/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
+++ b/arch/arm64/boot/dts/qcom/qcs8300-ride.dts
@@ -638,6 +638,8 @@ wifi@0 {
&pcie0_phy {
vdda-phy-supply = <&vreg_l6a>;
vdda-pll-supply = <&vreg_l5a>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;

status = "okay";
};
@@ -657,6 +659,8 @@ &pcieport1 {
&pcie1_phy {
vdda-phy-supply = <&vreg_l6a>;
vdda-pll-supply = <&vreg_l5a>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;

status = "okay";
};
--
2.43.0