diff options
author | Bo Shen <voice.shen@atmel.com> | 2013-04-15 11:27:36 +0800 |
---|---|---|
committer | Bo Shen <voice.shen@atmel.com> | 2013-04-18 11:07:44 +0800 |
commit | 457fc9d3f184cd80e9c6eba806d4d621cf6839ae (patch) | |
tree | 4c9484d4b759bad9a2bf93f08b9f22c78e89afad | |
parent | 28d7a5783674c638ba7b4494c848fab34883c215 (diff) |
USB: ohci-at91: at91sam9n12 use PMC_USB for usb clock divisor
at91sam9n12 using PLLB as usb input clock, however it use usb clock
register (PMC_USB) for usb clock divisor, others include usb clock
divisor into PLLB register (bit 29 - 28)
Signed-off-by: Bo Shen <voice.shen@atmel.com>
-rw-r--r-- | drivers/usb/host/ohci-at91.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/host/ohci-at91.c b/drivers/usb/host/ohci-at91.c index 076af18a5c..f9db437792 100644 --- a/drivers/usb/host/ohci-at91.c +++ b/drivers/usb/host/ohci-at91.c @@ -39,6 +39,9 @@ int usb_cpu_init(void) writel(get_pllb_init(), &pmc->pllbr); while ((readl(&pmc->sr) & AT91_PMC_LOCKB) != AT91_PMC_LOCKB) ; +#ifdef CONFIG_AT91SAM9N12 + writel(AT91_PMC_USBS_USB_PLLB | AT91_PMC_USBDIV_(2), &pmc->usb); +#endif #elif defined(CONFIG_USB_ATMEL_CLK_SEL_UPLL) /* Enable UPLL */ writel(readl(&pmc->uckr) | AT91_PMC_UPLLEN | AT91_PMC_BIASEN, @@ -83,6 +86,9 @@ int usb_cpu_stop(void) #endif #ifdef CONFIG_USB_ATMEL_CLK_SEL_PLLB +#ifdef CONFIG_AT91SAM9N12 + writel(0, &pmc->usb); +#endif /* Disable PLLB */ writel(0, &pmc->pllbr); while ((readl(&pmc->sr) & AT91_PMC_LOCKB) != 0) |