USB Composite support
Dependents: mbed_cdc_hid_composite
Fork of USBDevice by
Diff: USBDevice/USBHAL_KL25Z.cpp
- Revision:
- 34:a4e9ddc2e2af
- Parent:
- 22:5b7d31d9d3f3
- Child:
- 37:9506bdafbf94
diff -r f85ada5a4cef -r a4e9ddc2e2af USBDevice/USBHAL_KL25Z.cpp --- a/USBDevice/USBHAL_KL25Z.cpp Wed Oct 22 08:45:20 2014 +0100 +++ b/USBDevice/USBHAL_KL25Z.cpp Thu Oct 23 09:45:42 2014 +0100 @@ -16,7 +16,7 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -#if defined(TARGET_KL25Z) | defined(TARGET_KL46Z) | defined(TARGET_K20D5M) | defined(TARGET_K64F) +#if defined(TARGET_KL25Z) | defined(TARGET_KL43Z) | defined(TARGET_KL46Z) | defined(TARGET_K20D5M) | defined(TARGET_K64F) #include "USBHAL.h" @@ -121,12 +121,25 @@ epCallback[28] = &USBHAL::EP15_OUT_callback; epCallback[29] = &USBHAL::EP15_IN_callback; +#if defined(TARGET_KL43Z) + // enable USBFS clock + SIM->SCGC4 |= SIM_SCGC4_USBFS_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 clock + SIM->SOPT2 |= SIM_SOPT2_USBSRC_MASK; +#else // choose usb src as PLL SIM->SOPT2 |= (SIM_SOPT2_USBSRC_MASK | SIM_SOPT2_PLLFLLSEL_MASK); // enable OTG clock SIM->SCGC4 |= SIM_SCGC4_USBOTG_MASK; +#endif // Attach IRQ instance = this;