clk: qcom: gcc-sc8280xp: use retention for USB power domains
authorJohan Hovold <johan+linaro@kernel.org>
Thu, 29 Sep 2022 16:11:24 +0000 (18:11 +0200)
committerBjorn Andersson <andersson@kernel.org>
Thu, 29 Sep 2022 16:42:08 +0000 (11:42 -0500)
Since commit d399723950c4 ("clk: qcom: gdsc: Fix the handling of
PWRSTS_RET support) retention mode can be used on sc8280xp to maintain
state during suspend instead of leaving the domain always on.

This is needed to eventually allow the parent CX domain to be powered
down during suspend.

Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20220929161124.18138-1-johan+linaro@kernel.org
drivers/clk/qcom/gcc-sc8280xp.c

index 7768e6901dcc476fb93f7329d41bb405902373ab..a18ed88f3b822a5375e8cc92fb33e4f280a6392d 100644 (file)
@@ -6843,17 +6843,12 @@ 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,
+       .pwrsts = PWRSTS_RET_ON,
 };
 
 static struct gdsc usb30_prim_gdsc = {
@@ -6861,8 +6856,7 @@ static struct gdsc usb30_prim_gdsc = {
        .pd = {
                .name = "usb30_prim_gdsc",
        },
-       .pwrsts = PWRSTS_OFF_ON,
-       .flags = ALWAYS_ON,
+       .pwrsts = PWRSTS_RET_ON,
 };
 
 static struct gdsc usb30_sec_gdsc = {
@@ -6870,8 +6864,7 @@ static struct gdsc usb30_sec_gdsc = {
        .pd = {
                .name = "usb30_sec_gdsc",
        },
-       .pwrsts = PWRSTS_OFF_ON,
-       .flags = ALWAYS_ON,
+       .pwrsts = PWRSTS_RET_ON,
 };
 
 static struct clk_regmap *gcc_sc8280xp_clocks[] = {