diff options
author | Li Jun <b47624@freescale.com> | 2014-06-29 22:27:35 -0400 |
---|---|---|
committer | Li Jun <B47624@freescale.com> | 2014-06-30 04:38:01 -0400 |
commit | 8ffde85d6522d4c813fd0c77f17800d82ef2e274 (patch) | |
tree | 73d51195ebfb76ae2e8e992e2ee482a49a442a8a | |
parent | a7d025f0f9494294b057fb4a2e89d5ace41c76e8 (diff) |
ENGR00320439-10 usb: phy: mxs: refine phy shutdown
Complete mxs phy shutdown sequence including disable wakeup and
auto bits, power down phy and clock gate.
Signed-off-by: Li Jun <b47624@freescale.com>
-rw-r--r-- | drivers/usb/phy/phy-mxs-usb.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/usb/phy/phy-mxs-usb.c b/drivers/usb/phy/phy-mxs-usb.c index 56602e905dc0..8555ef3c7d3b 100644 --- a/drivers/usb/phy/phy-mxs-usb.c +++ b/drivers/usb/phy/phy-mxs-usb.c | |||
@@ -316,7 +316,17 @@ static int mxs_phy_init(struct usb_phy *phy) | |||
316 | static void mxs_phy_shutdown(struct usb_phy *phy) | 316 | static void mxs_phy_shutdown(struct usb_phy *phy) |
317 | { | 317 | { |
318 | struct mxs_phy *mxs_phy = to_mxs_phy(phy); | 318 | struct mxs_phy *mxs_phy = to_mxs_phy(phy); |
319 | 319 | u32 value = BM_USBPHY_CTRL_ENVBUSCHG_WKUP | | |
320 | BM_USBPHY_CTRL_ENDPDMCHG_WKUP | | ||
321 | BM_USBPHY_CTRL_ENIDCHG_WKUP | | ||
322 | BM_USBPHY_CTRL_ENAUTOSET_USBCLKS | | ||
323 | BM_USBPHY_CTRL_ENAUTOCLR_USBCLKGATE | | ||
324 | BM_USBPHY_CTRL_ENAUTOCLR_PHY_PWD | | ||
325 | BM_USBPHY_CTRL_ENAUTOCLR_CLKGATE | | ||
326 | BM_USBPHY_CTRL_ENAUTO_PWRON_PLL; | ||
327 | |||
328 | writel(value, phy->io_priv + HW_USBPHY_CTRL_CLR); | ||
329 | writel(0xffffffff, phy->io_priv + HW_USBPHY_PWD); | ||
320 | writel(BM_USBPHY_CTRL_CLKGATE, | 330 | writel(BM_USBPHY_CTRL_CLKGATE, |
321 | phy->io_priv + HW_USBPHY_CTRL_SET); | 331 | phy->io_priv + HW_USBPHY_CTRL_SET); |
322 | 332 | ||