BeagleBoard: turn off clocks in ehci_stop
authorKoen Kooi <koen@dominion.thruhere.net>
Fri, 17 Jun 2011 07:26:17 +0000 (09:26 +0200)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Sun, 4 Sep 2011 09:36:20 +0000 (11:36 +0200)
This fixes display problems in linux

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Joel A Fernandes <agnel.joel@gmail.com>
Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
board/ti/beagle/beagle.c

index 776890104fc1b6630e0ab043638e7e1606125c46..a9585457766b8b59b2e13e5e10ff457139f8e913 100644 (file)
@@ -356,6 +356,12 @@ int ehci_hcd_stop(void)
        pr_debug("Resetting OMAP3 EHCI\n");
        omap_set_gpio_dataout(GPIO_PHY_RESET, 0);
        writel(OMAP_UHH_SYSCONFIG_SOFTRESET, OMAP3_UHH_BASE + OMAP_UHH_SYSCONFIG);
+       /* disable USB clocks */
+       struct prcm *prcm_base = (struct prcm *)PRCM_BASE;
+       sr32(&prcm_base->iclken_usbhost, 0, 1, 0);
+       sr32(&prcm_base->fclken_usbhost, 0, 2, 0);
+       sr32(&prcm_base->iclken3_core, 2, 1, 0);
+       sr32(&prcm_base->fclken3_core, 2, 1, 0);
        return 0;
 }