summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-08-13 04:51:57 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-08-13 04:51:57 -0700
commitbb5866bf9eeba2867bb96fbf03ae896e8854a60a (patch)
treecbdaf661baa7da318fec260bc7434e47fb55fa30
parentae5bb272c38a67ec0a219455224af1c92cfbf735 (diff)
parent9dfea8de0a3e9154f0d2ef4f08990c02acfb0240 (diff)
Merge "usb: dwc3: Use clock API to control the memory power states"
-rw-r--r--drivers/usb/dwc3/dwc3-msm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/dwc3/dwc3-msm.c b/drivers/usb/dwc3/dwc3-msm.c
index aa05e6256852..37a3c954a1dd 100644
--- a/drivers/usb/dwc3/dwc3-msm.c
+++ b/drivers/usb/dwc3/dwc3-msm.c
@@ -1937,6 +1937,12 @@ static int dwc3_msm_suspend(struct dwc3_msm *mdwc)
clk_disable_unprepare(mdwc->bus_aggr_clk);
clk_disable_unprepare(mdwc->utmi_clk);
+ /* Memory core: OFF, Memory periphery: OFF */
+ if (!mdwc->in_host_mode && !mdwc->vbus_active) {
+ clk_set_flags(mdwc->core_clk, CLKFLAG_NORETAIN_MEM);
+ clk_set_flags(mdwc->core_clk, CLKFLAG_NORETAIN_PERIPH);
+ }
+
clk_set_rate(mdwc->core_clk, 19200000);
clk_disable_unprepare(mdwc->core_clk);
/*