|
@@ -31,6 +31,15 @@
|
|
|
|
|
|
int usb_cpu_init(void)
|
|
|
{
|
|
|
+
|
|
|
+#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
|
|
|
+ defined(CONFIG_AT91SAM9263)
|
|
|
+ /* Enable PLLB */
|
|
|
+ at91_sys_write(AT91_CKGR_PLLBR, CFG_AT91_PLLB);
|
|
|
+ while ((at91_sys_read(AT91_PMC_SR) & AT91_PMC_LOCKB) != AT91_PMC_LOCKB)
|
|
|
+ ;
|
|
|
+#endif
|
|
|
+
|
|
|
/* Enable USB host clock. */
|
|
|
at91_sys_write(AT91_PMC_PCER, 1 << AT91_ID_UHP);
|
|
|
#ifdef CONFIG_AT91SAM9261
|
|
@@ -51,6 +60,15 @@ int usb_cpu_stop(void)
|
|
|
#else
|
|
|
at91_sys_write(AT91_PMC_SCDR, AT91_PMC_UHP);
|
|
|
#endif
|
|
|
+
|
|
|
+#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
|
|
|
+ defined(CONFIG_AT91SAM9263)
|
|
|
+ /* Disable PLLB */
|
|
|
+ at91_sys_write(AT91_CKGR_PLLBR, 0);
|
|
|
+ while ((at91_sys_read(AT91_PMC_SR) & AT91_PMC_LOCKB) != 0)
|
|
|
+ ;
|
|
|
+#endif
|
|
|
+
|
|
|
return 0;
|
|
|
}
|
|
|
|