summaryrefslogtreecommitdiffstats
path: root/drivers/usb
diff options
context:
space:
mode:
authorWenyou Yang <wenyou.yang@atmel.com>2016-02-03 10:20:44 +0800
committerAndreas Bießmann <andreas.devel@googlemail.com>2016-02-18 21:34:41 +0100
commit9cf7385c9b4d33b43dcfb6782f0f246ea33769d9 (patch)
tree65688d38a3c9ef9c3de5bd4fca8bdec079472ddd /drivers/usb
parentbe5e485cf995d916ec2e0d2381879ae205354e5c (diff)
downloadtalos-obmc-uboot-9cf7385c9b4d33b43dcfb6782f0f246ea33769d9.tar.gz
talos-obmc-uboot-9cf7385c9b4d33b43dcfb6782f0f246ea33769d9.zip
drivers: usb: ohci-at91: clean up the PLLB code
Due to introducing the new PLLB clock handle functions, use these functions to clean up the PLLB enable/disable code. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Reviewed-by: Andreas Bießmann <andreas.devel@googlemail.com> Tested-by: Heiko Schocher <hs@denx.de>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/ohci-at91.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c
index 6ae6959e4d..e030a0ab14 100644
--- a/drivers/usb/host/ohci-at91.c
+++ b/drivers/usb/host/ohci-at91.c
@@ -9,20 +9,14 @@
#if defined(CONFIG_USB_OHCI_NEW) && defined(CONFIG_SYS_USB_OHCI_CPU_INIT)
-#include <asm/io.h>
-#include <asm/arch/hardware.h>
-#include <asm/arch/at91_pmc.h>
#include <asm/arch/clk.h>
int usb_cpu_init(void)
{
- at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC;
-
#ifdef CONFIG_USB_ATMEL_CLK_SEL_PLLB
- /* Enable PLLB */
- writel(get_pllb_init(), &pmc->pllbr);
- while ((readl(&pmc->sr) & AT91_PMC_LOCKB) != AT91_PMC_LOCKB)
- ;
+ if (at91_pllb_clk_enable(get_pllb_init()))
+ return -1;
+
#ifdef CONFIG_AT91SAM9N12
at91_usb_clk_init(AT91_PMC_USBS_USB_PLLB | AT91_PMC_USB_DIV_2);
#endif
@@ -45,8 +39,6 @@ int usb_cpu_init(void)
int usb_cpu_stop(void)
{
- at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC;
-
at91_periph_clk_disable(ATMEL_ID_UHP);
at91_system_clk_disable(ATMEL_PMC_UHP);
@@ -58,10 +50,10 @@ int usb_cpu_stop(void)
#ifdef CONFIG_AT91SAM9N12
at91_usb_clk_init(0);
#endif
- /* Disable PLLB */
- writel(0, &pmc->pllbr);
- while ((readl(&pmc->sr) & AT91_PMC_LOCKB) != 0)
- ;
+
+ if (at91_pllb_clk_disable())
+ return -1;
+
#elif defined(CONFIG_USB_ATMEL_CLK_SEL_UPLL)
if (at91_upll_clk_disable())
return -1;
OpenPOWER on IntegriCloud