[PATCH 2/2] clk: gcc-sc8280xp: keep USB power-domains always-on

From: Johan Hovold
Date: Fri Aug 05 2022 - 08:13:13 EST


The Qualcomm DWC3 driver suspend implementation appears to be incomplete
for SC8280XP so keep the USB power domains always-on for now so that the
controller survives a suspend cycle.

Signed-off-by: Johan Hovold <johan+linaro@xxxxxxxxxx>
---
drivers/clk/qcom/gcc-sc8280xp.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/clk/qcom/gcc-sc8280xp.c b/drivers/clk/qcom/gcc-sc8280xp.c
index eaeada42e13a..7768e6901dcc 100644
--- a/drivers/clk/qcom/gcc-sc8280xp.c
+++ b/drivers/clk/qcom/gcc-sc8280xp.c
@@ -6843,12 +6843,17 @@ static struct gdsc ufs_phy_gdsc = {
.pwrsts = PWRSTS_OFF_ON,
};

+/*
+ * The Qualcomm DWC3 driver suspend implementation appears to be incomplete
+ * for sc8280xp so keep the USB power domains always-on for now.
+ */
static struct gdsc usb30_mp_gdsc = {
.gdscr = 0xab004,
.pd = {
.name = "usb30_mp_gdsc",
},
.pwrsts = PWRSTS_OFF_ON,
+ .flags = ALWAYS_ON,
};

static struct gdsc usb30_prim_gdsc = {
@@ -6857,6 +6862,7 @@ static struct gdsc usb30_prim_gdsc = {
.name = "usb30_prim_gdsc",
},
.pwrsts = PWRSTS_OFF_ON,
+ .flags = ALWAYS_ON,
};

static struct gdsc usb30_sec_gdsc = {
@@ -6865,6 +6871,7 @@ static struct gdsc usb30_sec_gdsc = {
.name = "usb30_sec_gdsc",
},
.pwrsts = PWRSTS_OFF_ON,
+ .flags = ALWAYS_ON,
};

static struct clk_regmap *gcc_sc8280xp_clocks[] = {
--
2.35.1