* [PATCH v1 0/4] Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs
@ 2026-08-10 11:27 Ziyue Zhang
2026-08-10 11:27 ` [PATCH v1 1/4] dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties Ziyue Zhang
` (3 more replies)
0 siblings, 4 replies; 8+ messages in thread
From: Ziyue Zhang @ 2026-08-10 11:27 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio, Dmitry Baryshkov,
Manivannan Sadhasivam, Abel Vesa
Cc: Krishna Chaitanya Chundru, Ziyue Zhang, Qiang Yu, linux-arm-msm,
linux-phy, devicetree, linux-kernel
This series adds qref and refgen regulator support for the PCIe QMP PHYs
on QCS8300 and SA8775p platforms.
The PCIe PHYs on these SoCs require dedicated qref and refgen voltage
supplies for stable operation. Without enabling these supplies, PCIe may
be unstable and the system can occasionally crash under certain scenarios.
The refgen supply in particular works around a hardware issue where both
QREF and the PCIe PHY are expected to depend on refgen2, but QREF actually
depends on refgen3. This series therefore votes for refgen3 manually via
the refgen supply.
Ziyue Zhang (4):
dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and
refgen supply properties
phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300
and SA8775p PHY
arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs
arm64: dts: qcom: sa8775p: Add qref and refgen supply for PCIe PHYs
.../phy/qcom,sc8280xp-qmp-pcie-phy.yaml | 27 +++++++++++++++++++
arch/arm64/boot/dts/qcom/lemans-evk.dts | 4 +++
.../boot/dts/qcom/lemans-ride-common.dtsi | 4 +++
arch/arm64/boot/dts/qcom/monaco-evk.dts | 4 +++
.../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 +++
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts | 8 ++++++
arch/arm64/boot/dts/qcom/qcs9100-ride.dts | 8 ++++++
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 16 ++++++-----
10 files changed, 77 insertions(+), 6 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v1 1/4] dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties
2026-08-10 11:27 [PATCH v1 0/4] Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs Ziyue Zhang
@ 2026-08-10 11:27 ` Ziyue Zhang
2026-08-10 11:27 ` [PATCH v1 2/4] phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY Ziyue Zhang
` (2 subsequent siblings)
3 siblings, 0 replies; 8+ messages in thread
From: Ziyue Zhang @ 2026-08-10 11:27 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio, Dmitry Baryshkov,
Manivannan Sadhasivam, Abel Vesa
Cc: Krishna Chaitanya Chundru, Ziyue Zhang, Qiang Yu, linux-arm-msm,
linux-phy, devicetree, linux-kernel
QCS8300 and SA8775p PCIe PHYs require dedicated vdda-refgen and refgen
LDO supplies for QREF to provide a stable reference clock. Without these
supplies, the PCIe PHYs cannot work properly. Mark them as required for
the affected compatibles even though it breaks ABI.
vdda-refgen-supply is required for all three QCS8300 and SA8775p PHY
compatibles. refgen-supply is required for QCS8300 only, as a workaround
for a hardware issue where QREF actually depends on refgen3 rather than
refgen2 as documented, so the PHY driver votes for refgen3 directly via
this supply.
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
---
.../phy/qcom,sc8280xp-qmp-pcie-phy.yaml | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
index 259ed9678393..ec66675638a8 100644
--- a/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
+++ b/Documentation/devicetree/bindings/phy/qcom,sc8280xp-qmp-pcie-phy.yaml
@@ -93,6 +93,11 @@ properties:
vdda-qref-supply: true
+ vdda-refgen-supply: true
+
+ # Only required on platforms where the hardware voting doesn't work properly
+ refgen-supply: true
+
qcom,4ln-config-sel:
description: PCIe 4-lane configuration
$ref: /schemas/types.yaml#/definitions/phandle-array
@@ -267,6 +272,28 @@ allOf:
"#clock-cells":
const: 0
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,qcs8300-qmp-gen4x2-pcie-phy
+ - qcom,sa8775p-qmp-gen4x2-pcie-phy
+ - qcom,sa8775p-qmp-gen4x4-pcie-phy
+ then:
+ required:
+ - vdda-refgen-supply
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,qcs8300-qmp-gen4x2-pcie-phy
+ then:
+ required:
+ - refgen-supply
+
examples:
- |
#include <dt-bindings/clock/qcom,gcc-sc8280xp.h>
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v1 2/4] phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY
2026-08-10 11:27 [PATCH v1 0/4] Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs Ziyue Zhang
2026-08-10 11:27 ` [PATCH v1 1/4] dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties Ziyue Zhang
@ 2026-08-10 11:27 ` Ziyue Zhang
2026-08-10 11:37 ` sashiko-bot
2026-08-10 11:27 ` [PATCH v1 3/4] arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs Ziyue Zhang
2026-08-10 11:27 ` [PATCH v1 4/4] arm64: dts: qcom: sa8775p: " Ziyue Zhang
3 siblings, 1 reply; 8+ messages in thread
From: Ziyue Zhang @ 2026-08-10 11:27 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio, Dmitry Baryshkov,
Manivannan Sadhasivam, Abel Vesa
Cc: Krishna Chaitanya Chundru, Ziyue Zhang, Qiang Yu, linux-arm-msm,
linux-phy, devicetree, linux-kernel
Add a new sa8775p_qmp_phy_vreg_l that includes vdda-phy, vdda-pll,
vdda-qref, vdda-refgen and refgen supplies, and use it for QCS8300
and SA8775p PCIe PHY configurations. This avoids modifying
sm8550_qmp_phy_vreg_l and breaking SM8550 and SM8650.
Note that due to a hardware issue, QREF actually depends on refgen3
rather than refgen2 as documented; refgen3 is therefore voted manually
via the refgen supply as a workaround.
Fixes: a05b6d5135ec ("phy: qcom-qmp-pcie: add support for sa8775p")
Fixes: ebf198f17b5a ("phy: qcom-qmp-pcie: add dual lane PHY support for QCS8300")
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
---
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
index 27034bb62d0d..5d6186512c14 100644
--- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
+++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
@@ -4018,6 +4018,10 @@ static const char * const sm8550_qmp_phy_vreg_l[] = {
"vdda-phy", "vdda-pll", "vdda-qref",
};
+static const char * const sa8775p_qmp_phy_vreg_l[] = {
+ "vdda-phy", "vdda-pll", "vdda-qref", "vdda-refgen", "refgen",
+};
+
/* list of resets */
static const char * const ipq8074_pciephy_reset_l[] = {
"phy", "common",
@@ -4508,8 +4512,8 @@ static const struct qmp_phy_cfg qcs8300_qmp_gen4x2_pciephy_cfg = {
.reset_list = sdm845_pciephy_reset_l,
.num_resets = ARRAY_SIZE(sdm845_pciephy_reset_l),
- .vreg_list = qmp_phy_vreg_l,
- .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l),
+ .vreg_list = sa8775p_qmp_phy_vreg_l,
+ .num_vregs = ARRAY_SIZE(sa8775p_qmp_phy_vreg_l),
.regs = pciephy_v5_regs_layout,
.pwrdn_ctrl = SW_PWRDN | REFCLK_DRV_DSBL,
@@ -5218,8 +5222,8 @@ static const struct qmp_phy_cfg sa8775p_qmp_gen4x2_pciephy_cfg = {
.reset_list = sdm845_pciephy_reset_l,
.num_resets = ARRAY_SIZE(sdm845_pciephy_reset_l),
- .vreg_list = qmp_phy_vreg_l,
- .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l),
+ .vreg_list = sa8775p_qmp_phy_vreg_l,
+ .num_vregs = ARRAY_SIZE(sa8775p_qmp_phy_vreg_l),
.regs = pciephy_v5_regs_layout,
.pwrdn_ctrl = SW_PWRDN | REFCLK_DRV_DSBL,
@@ -5259,8 +5263,8 @@ static const struct qmp_phy_cfg sa8775p_qmp_gen4x4_pciephy_cfg = {
.reset_list = sdm845_pciephy_reset_l,
.num_resets = ARRAY_SIZE(sdm845_pciephy_reset_l),
- .vreg_list = qmp_phy_vreg_l,
- .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l),
+ .vreg_list = sa8775p_qmp_phy_vreg_l,
+ .num_vregs = ARRAY_SIZE(sa8775p_qmp_phy_vreg_l),
.regs = pciephy_v5_regs_layout,
.pwrdn_ctrl = SW_PWRDN | REFCLK_DRV_DSBL,
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v1 3/4] arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs
2026-08-10 11:27 [PATCH v1 0/4] Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs Ziyue Zhang
2026-08-10 11:27 ` [PATCH v1 1/4] dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties Ziyue Zhang
2026-08-10 11:27 ` [PATCH v1 2/4] phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY Ziyue Zhang
@ 2026-08-10 11:27 ` Ziyue Zhang
2026-08-10 11:40 ` sashiko-bot
2026-08-10 11:27 ` [PATCH v1 4/4] arm64: dts: qcom: sa8775p: " Ziyue Zhang
3 siblings, 1 reply; 8+ messages in thread
From: Ziyue Zhang @ 2026-08-10 11:27 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio, Dmitry Baryshkov,
Manivannan Sadhasivam, Abel Vesa
Cc: Krishna Chaitanya Chundru, Ziyue Zhang, Qiang Yu, linux-arm-msm,
linux-phy, devicetree, linux-kernel
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@oss.qualcomm.com>
---
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
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v1 4/4] arm64: dts: qcom: sa8775p: Add qref and refgen supply for PCIe PHYs
2026-08-10 11:27 [PATCH v1 0/4] Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs Ziyue Zhang
` (2 preceding siblings ...)
2026-08-10 11:27 ` [PATCH v1 3/4] arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs Ziyue Zhang
@ 2026-08-10 11:27 ` Ziyue Zhang
2026-08-10 11:40 ` sashiko-bot
3 siblings, 1 reply; 8+ messages in thread
From: Ziyue Zhang @ 2026-08-10 11:27 UTC (permalink / raw)
To: Vinod Koul, Neil Armstrong, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bjorn Andersson, Konrad Dybcio, Dmitry Baryshkov,
Manivannan Sadhasivam, Abel Vesa
Cc: Krishna Chaitanya Chundru, Ziyue Zhang, Qiang Yu, linux-arm-msm,
linux-phy, devicetree, linux-kernel
The QMP PCIe PHYs on SA8775p 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
(Lemans-EVK, Lemans-RIDE, QCS9100-RIDE and QCS9100-RIDE-R3).
Fixes: 94d7d37f6ac3 ("arm64: dts: qcom: lemans-evk: Enable PCIe support")
Fixes: 76326da895b8 ("arm64: dts: qcom: lemans: Refactor ride/ride-r3 boards based on daughter cards")
Signed-off-by: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/lemans-evk.dts | 4 ++++
arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi | 4 ++++
arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts | 8 ++++++++
arch/arm64/boot/dts/qcom/qcs9100-ride.dts | 8 ++++++++
4 files changed, 24 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/lemans-evk.dts b/arch/arm64/boot/dts/qcom/lemans-evk.dts
index 0c53640c42a6..4bfea6148172 100644
--- a/arch/arm64/boot/dts/qcom/lemans-evk.dts
+++ b/arch/arm64/boot/dts/qcom/lemans-evk.dts
@@ -851,6 +851,8 @@ &pcie0 {
&pcie0_phy {
vdda-phy-supply = <&vreg_l5a>;
vdda-pll-supply = <&vreg_l1c>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;
status = "okay";
};
@@ -868,6 +870,8 @@ &pcie1 {
&pcie1_phy {
vdda-phy-supply = <&vreg_l5a>;
vdda-pll-supply = <&vreg_l1c>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi b/arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi
index cefb8ff00806..26a215e9a249 100644
--- a/arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi
+++ b/arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi
@@ -983,6 +983,8 @@ &pcie1 {
&pcie0_phy {
vdda-phy-supply = <&vreg_l5a>;
vdda-pll-supply = <&vreg_l1c>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;
status = "okay";
};
@@ -990,6 +992,8 @@ &pcie0_phy {
&pcie1_phy {
vdda-phy-supply = <&vreg_l5a>;
vdda-pll-supply = <&vreg_l1c>;
+ vdda-qref-supply = <&vreg_l4a>;
+ vdda-refgen-supply = <&vreg_l7a>;
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts
index 7fc2de0d3d5e..1b6a4f9cb8f7 100644
--- a/arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts
+++ b/arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts
@@ -14,3 +14,11 @@ / {
model = "Qualcomm Technologies, Inc. Lemans Ride Rev3";
compatible = "qcom,qcs9100-ride-r3", "qcom,qcs9100", "qcom,sa8775p";
};
+
+&pcie0_phy {
+ vdda-refgen-supply = <&vreg_l7a>;
+};
+
+&pcie1_phy {
+ vdda-refgen-supply = <&vreg_l7a>;
+};
diff --git a/arch/arm64/boot/dts/qcom/qcs9100-ride.dts b/arch/arm64/boot/dts/qcom/qcs9100-ride.dts
index b0c5fdde56ae..cc15025fdbc1 100644
--- a/arch/arm64/boot/dts/qcom/qcs9100-ride.dts
+++ b/arch/arm64/boot/dts/qcom/qcs9100-ride.dts
@@ -14,3 +14,11 @@ / {
model = "Qualcomm Technologies, Inc. Lemans Ride";
compatible = "qcom,qcs9100-ride", "qcom,qcs9100", "qcom,sa8775p";
};
+
+&pcie0_phy {
+ vdda-refgen-supply = <&vreg_l7a>;
+};
+
+&pcie1_phy {
+ vdda-refgen-supply = <&vreg_l7a>;
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v1 2/4] phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY
2026-08-10 11:27 ` [PATCH v1 2/4] phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY Ziyue Zhang
@ 2026-08-10 11:37 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-08-10 11:37 UTC (permalink / raw)
To: Ziyue Zhang
Cc: linux-phy, neil.armstrong, olteanv, devicetree, robh, conor+dt,
vkoul
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The patch mistakenly modifies `sm8450_qmp_gen4x2_pciephy_cfg` instead of `qcs8300_qmp_gen4x2_pciephy_cfg`, which breaks PCIe PHY probe on SM8450 and fails to apply the intended fix for QCS8300.
- [Medium] The driver unconditionally requires `refgen-supply` for SA8775P, but the DT binding schema explicitly omits it from the required properties for SA8775P.
--
--- Patch [2]: [PATCH v1 2/4] phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY ---
commit c5c33c8f1974732f049e9666bff7aa68ba984073
Author: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY
This commit adds a new sa8775p_qmp_phy_vreg_l regulator list containing
additional supplies to support QCS8300 and SA8775p PCIe PHY configurations.
It updates the regulator lists for the relevant PHY configurations to apply
a hardware workaround without affecting SM8550.
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
> index d3effad7a074b..b60fee762dabe 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
[ ... ]
> @@ -4394,8 +4398,8 @@ static const struct qmp_phy_cfg sm8450_qmp_gen4x2_pciephy_cfg = {
>
> .reset_list = sdm845_pciephy_reset_l,
> .num_resets = ARRAY_SIZE(sdm845_pciephy_reset_l),
> - .vreg_list = qmp_phy_vreg_l,
> - .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l),
> + .vreg_list = sa8775p_qmp_phy_vreg_l,
> + .num_vregs = ARRAY_SIZE(sa8775p_qmp_phy_vreg_l),
> .regs = pciephy_v5_regs_layout,
[Severity: High]
The commit message mentions updating the QCS8300 configuration, but this
modifies sm8450_qmp_gen4x2_pciephy_cfg instead.
Will this cause SM8450 platforms to fail probe since they will now request
5 regulators instead of the 2 normally provided by the DT?
Also, does this mean qcs8300_qmp_gen4x2_pciephy_cfg remains unmodified and
misses the intended hardware workaround?
[ ... ]
> @@ -4563,8 +4567,8 @@ static const struct qmp_phy_cfg sa8775p_qmp_gen4x2_pciephy_cfg = {
>
> .reset_list = sdm845_pciephy_reset_l,
> .num_resets = ARRAY_SIZE(sdm845_pciephy_reset_l),
> - .vreg_list = qmp_phy_vreg_l,
> - .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l),
> + .vreg_list = sa8775p_qmp_phy_vreg_l,
> + .num_vregs = ARRAY_SIZE(sa8775p_qmp_phy_vreg_l),
> .regs = pciephy_v5_regs_layout,
[Severity: Medium]
This unconditionally requires the refgen supply for the SA8775P PHY, but
the DT binding schema explicitly omits refgen-supply from the required
properties for SA8775P.
If an SA8775P platform boots with a compliant device tree that omits the
optional refgen-supply, will the driver fail to probe here when fetching
the bulk regulators?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260810112735.1326807-1-ziyue.zhang@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 4/4] arm64: dts: qcom: sa8775p: Add qref and refgen supply for PCIe PHYs
2026-08-10 11:27 ` [PATCH v1 4/4] arm64: dts: qcom: sa8775p: " Ziyue Zhang
@ 2026-08-10 11:40 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-08-10 11:40 UTC (permalink / raw)
To: Ziyue Zhang
Cc: linux-phy, neil.armstrong, olteanv, robh, vkoul, conor+dt,
devicetree
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Redundant definition of `vdda-refgen-supply` in the leaf board files `qcs9100-ride.dts` and `qcs9100-ride-r3.dts`.
--
--- Patch [4]: [PATCH v1 4/4] arm64: dts: qcom: sa8775p: Add qref and refgen supply for PCIe PHYs ---
commit 95e45f63ab1216333770f51bde0f0be981ca36f9
Author: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
arm64: dts: qcom: sa8775p: Add qref and refgen supply for PCIe PHYs
The QMP PCIe PHYs on SA8775p require dedicated qref and refgen voltage
supplies for stable operation. This commit adds vdda-qref-supply and
vdda-refgen-supply in the board files to prevent occasional system crashes.
[ ... ]
> diff --git a/arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi b/arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi
> index 40f88498999bd..8dc4a5f461e9e 100644
> --- a/arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi
> +++ b/arch/arm64/boot/dts/qcom/lemans-ride-common.dtsi
> @@ -983,6 +983,8 @@ &pcie1 {
> &pcie0_phy {
> vdda-phy-supply = <&vreg_l5a>;
> vdda-pll-supply = <&vreg_l1c>;
> + vdda-qref-supply = <&vreg_l4a>;
> + vdda-refgen-supply = <&vreg_l7a>;
>
> status = "okay";
> };
> @@ -990,6 +992,8 @@ &pcie0_phy {
> &pcie1_phy {
> vdda-phy-supply = <&vreg_l5a>;
> vdda-pll-supply = <&vreg_l1c>;
> + vdda-qref-supply = <&vreg_l4a>;
> + vdda-refgen-supply = <&vreg_l7a>;
>
> status = "okay";
> };
> diff --git a/arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts b/arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts
> index 7fc2de0d3d5e2..1b6a4f9cb8f7e 100644
> --- a/arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs9100-ride-r3.dts
> @@ -14,3 +14,11 @@ / {
> model = "Qualcomm Technologies, Inc. Lemans Ride Rev3";
> compatible = "qcom,qcs9100-ride-r3", "qcom,qcs9100", "qcom,sa8775p";
> };
> +
> +&pcie0_phy {
> + vdda-refgen-supply = <&vreg_l7a>;
> +};
> +
> +&pcie1_phy {
> + vdda-refgen-supply = <&vreg_l7a>;
> +};
[Severity: Low]
This isn't a bug, but are these vdda-refgen-supply assignments necessary in
the leaf board files?
Since lemans-ride-common.dtsi already adds these exact same vreg_l7a
assignments for both pcie0_phy and pcie1_phy, redefining them in
qcs9100-ride-r3.dts seems redundant.
> diff --git a/arch/arm64/boot/dts/qcom/qcs9100-ride.dts b/arch/arm64/boot/dts/qcom/qcs9100-ride.dts
> index b0c5fdde56aea..cc15025fdbc1a 100644
> --- a/arch/arm64/boot/dts/qcom/qcs9100-ride.dts
> +++ b/arch/arm64/boot/dts/qcom/qcs9100-ride.dts
> @@ -14,3 +14,11 @@ / {
> model = "Qualcomm Technologies, Inc. Lemans Ride";
> compatible = "qcom,qcs9100-ride", "qcom,qcs9100", "qcom,sa8775p";
> };
> +
> +&pcie0_phy {
> + vdda-refgen-supply = <&vreg_l7a>;
> +};
> +
> +&pcie1_phy {
> + vdda-refgen-supply = <&vreg_l7a>;
> +};
[Severity: Low]
This isn't a bug, but similarly here, does qcs9100-ride.dts need to duplicate
the vdda-refgen-supply assignments that are already inherited from
lemans-ride-common.dtsi?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260810112735.1326807-1-ziyue.zhang@oss.qualcomm.com?part=4
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v1 3/4] arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs
2026-08-10 11:27 ` [PATCH v1 3/4] arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs Ziyue Zhang
@ 2026-08-10 11:40 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-08-10 11:40 UTC (permalink / raw)
To: Ziyue Zhang
Cc: conor+dt, neil.armstrong, vkoul, devicetree, linux-phy, robh,
olteanv
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] The newly added DTS regulator properties for QCS8300 are silently ignored by the PCIe PHY driver, while the SM8450 driver now erroneously requires them, causing a severe probe regression.
--
--- Patch [3]: [PATCH v1 3/4] arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs ---
commit 649091d8c2c2002b7f51183d74007a50f755b8db
Author: Ziyue Zhang <ziyue.zhang@oss.qualcomm.com>
arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs
This commit adds vdda-qref-supply, vdda-refgen-supply, and refgen-supply to
various QCS8300 board and SoC device trees. These dedicated voltage supplies
are required by the QMP PCIe PHYs to prevent occasional system crashes.
> diff --git a/arch/arm64/boot/dts/qcom/monaco-evk.dts b/arch/arm64/boot/dts/qcom/monaco-evk.dts
> index 9d17ef7d2caf1..c1f63a4ee2438 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>;
[Severity: High]
Will these new supplies actually be consumed by the QCS8300 PHY driver?
Looking at the driver changes presumably earlier in this series, it appears
the updated regulator list was mistakenly applied to the sm8450 configuration
instead of the qcs8300 configuration:
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c:qcs8300_qmp_gen4x2_pciephy_cfg() {
...
.vreg_list = qmp_phy_vreg_l,
.num_vregs = ARRAY_SIZE(qmp_phy_vreg_l),
}
drivers/phy/qualcomm/phy-qcom-qmp-pcie.c:sm8450_qmp_gen4x2_pciephy_cfg() {
...
.vreg_list = sa8775p_qmp_phy_vreg_l,
.num_vregs = ARRAY_SIZE(sa8775p_qmp_phy_vreg_l),
}
Does this mean the driver will still ignore these newly added properties on
QCS8300, while causing a probe regression on SM8450 platforms due to the
missing regulators?
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260810112735.1326807-1-ziyue.zhang@oss.qualcomm.com?part=3
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-08-10 11:40 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-10 11:27 [PATCH v1 0/4] Add qref and refgen regulator support for QCS8300 and SA8775p PCIe PHYs Ziyue Zhang
2026-08-10 11:27 ` [PATCH v1 1/4] dt-bindings: phy: qcom,sc8280xp-qmp-pcie-phy: Add vdda-refgen and refgen supply properties Ziyue Zhang
2026-08-10 11:27 ` [PATCH v1 2/4] phy: qcom: qmp-pcie: Add qref and refgen regulator vote for QCS8300 and SA8775p PHY Ziyue Zhang
2026-08-10 11:37 ` sashiko-bot
2026-08-10 11:27 ` [PATCH v1 3/4] arm64: dts: qcom: qcs8300: Add qref and refgen supply for PCIe PHYs Ziyue Zhang
2026-08-10 11:40 ` sashiko-bot
2026-08-10 11:27 ` [PATCH v1 4/4] arm64: dts: qcom: sa8775p: " Ziyue Zhang
2026-08-10 11:40 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox