summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorJun Li <r65092@freescale.com>2009-12-02 15:08:48 +0800
committerJun Li <r65092@freescale.com>2009-12-03 18:18:37 +0800
commitbe1bbd8525e6a5d8f182dadadcb6ff9513986a66 (patch)
tree2da5c91b2aa95f906d731975005a79e3401c5883 /arch
parent898a2a3fc5527276e96468058c371bb7604930c0 (diff)
ENGR00116829 close usbpll for usb controler is not in serial mode.
1. close usb_clk after usb otg controller switch to utmi mode. 2. usb_clk is a glabal variable for 60M usbpll, when enable usboh3_clk for i.MX51 host port, usb_clk is used, which causes usb_clk can not be closed after the controller is in ULPI mode. Signed-off-by: Li Jun <r65092@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/plat-mxc/usb_common.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/arch/arm/plat-mxc/usb_common.c b/arch/arm/plat-mxc/usb_common.c
index c6551a5c26af..18ea2a6caab8 100644
--- a/arch/arm/plat-mxc/usb_common.c
+++ b/arch/arm/plat-mxc/usb_common.c
@@ -453,9 +453,9 @@ int fsl_usb_host_init(struct platform_device *pdev)
}
if (cpu_is_mx51()) {
- usb_clk = clk_get(NULL, "usboh3_clk");
- clk_enable(usb_clk);
- clk_put(usb_clk);
+ struct clk *usboh3_clk = clk_get(NULL, "usboh3_clk");
+ clk_enable(usboh3_clk);
+ clk_put(usboh3_clk);
}
/* enable board power supply for xcvr */
@@ -745,15 +745,14 @@ static void otg_set_utmi_xcvr(void)
*/
msleep(100);
- /* Turn off the usbpll for mx25 UTMI tranceivers */
- /* DDD: can we do this UTMI xcvrs on all boards? */
- if (cpu_is_mx25()) {
- clk_disable(usb_clk);
- } else if (cpu_is_mx37()) {
+ if (cpu_is_mx37()) {
/* fix USB PHY Power Gating leakage issue for i.MX37 */
USB_PHY_CTR_FUNC &= ~USB_UTMI_PHYCTRL_CHGRDETON;
USB_PHY_CTR_FUNC &= ~USB_UTMI_PHYCTRL_CHGRDETEN;
}
+
+ /* Turn off the usbpll for UTMI tranceivers */
+ clk_disable(usb_clk);
}
static int otg_used = 0;