OSDN Git Service

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 7768e69..a18ed88 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[] = {