[PATCH 1/2] clk: qcom: gcc-sdm660: Keep the USB GDSC in retention
From: Fabricio Akio via B4 Relay
Date: Mon Sep 28 2026 - 14:01:03 EST
From: Fabricio Akio <fabricioakio@xxxxxxxxx>
The DWC3 glue writes its QSCRATCH configuration only at probe. When
system suspend switches usb_30_gdsc off, that configuration is lost
and on resume the core fails to enable endpoint 0. Keep the GDSC in
retention, as is already done on:
commit 78a2f2a04fb5 ("clk: qcom: gcc-msm8996: Update the .pwrsts for
usb gdsc")
commit 83fddbcc8337 ("clk: qcom: gcc-msm8998: Update the .pwrsts for
usb gdsc")
This change should be reverted when a proper suspend sequence is
implemented in the USB drivers.
Signed-off-by: Fabricio Akio <fabricioakio@xxxxxxxxx>
---
drivers/clk/qcom/gcc-sdm660.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/clk/qcom/gcc-sdm660.c b/drivers/clk/qcom/gcc-sdm660.c
index 20253a06a583..5d00f1fd4d53 100644
--- a/drivers/clk/qcom/gcc-sdm660.c
+++ b/drivers/clk/qcom/gcc-sdm660.c
@@ -2302,7 +2302,8 @@ static struct gdsc usb_30_gdsc = {
.pd = {
.name = "usb_30_gdsc",
},
- .pwrsts = PWRSTS_OFF_ON,
+ /* TODO: Change to OFF_ON when USB drivers get proper suspend support */
+ .pwrsts = PWRSTS_RET_ON,
.flags = VOTABLE,
};
--
2.55.0