USB device stack

Fork of USBDevice by mbed official

Files at this revision

API Documentation at this revision

Comitter:
jpiat
Date:
Tue Jun 09 12:32:28 2015 +0000
Parent:
47:a0cd9646ecd1
Child:
58:c54fa7f1a7de
Commit message:
Enabled clock recovery

Changed in this revision

USBDevice/USBHAL_KL25Z.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/USBDevice/USBHAL_KL25Z.cpp	Wed Apr 08 07:46:23 2015 +0100
+++ b/USBDevice/USBHAL_KL25Z.cpp	Tue Jun 09 12:32:28 2015 +0000
@@ -134,12 +134,26 @@
     // choose usb src clock
     SIM->SOPT2 |= SIM_SOPT2_USBSRC_MASK;
 #else
+
+ // enable OTG clock
+    SIM->SCGC4 |= SIM_SCGC4_USBOTG_MASK;
+    // enable the IRC48M clock
+    USB0->CLK_RECOVER_IRC_EN |=  USB_CLK_RECOVER_IRC_EN_IRC_EN_MASK;
+    // enable the USB clock recovery tuning
+    USB0->CLK_RECOVER_CTRL |= USB_CLK_RECOVER_CTRL_CLOCK_RECOVER_EN_MASK;
     // choose usb src as PLL
     SIM->SOPT2 &= ~SIM_SOPT2_PLLFLLSEL_MASK;
+    SIM->SOPT2 |= SIM_SOPT2_PLLFLLSEL(3) | SIM_SOPT2_USBSRC_MASK;
+    SIM->CLKDIV2 &= ~SIM_CLKDIV2_USBDIV_MASK ;
+    SIM->CLKDIV2 &= ~SIM_CLKDIV2_USBFRAC_MASK ;
+    //SIM->SOPT2 |= (SIM_SOPT2_USBSRC_MASK | (1 << SIM_SOPT2_PLLFLLSEL_SHIFT));
+  /*  // choose usb src as PLL
+    SIM->SOPT2 &= ~SIM_SOPT2_PLLFLLSEL_MASK;
     SIM->SOPT2 |= (SIM_SOPT2_USBSRC_MASK | (1 << SIM_SOPT2_PLLFLLSEL_SHIFT));
 
     // enable OTG clock
     SIM->SCGC4 |= SIM_SCGC4_USBOTG_MASK;
+*/
 #endif
 
     // Attach IRQ