1 #include <stdio.h>
2 #include <string.h>
3 
4 #include "mm32_device.h"
5 #include "hal_rcc.h"
6 #include "usbd_core.h"
7 
usb_dc_low_level_init(uint8_t busid)8 void usb_dc_low_level_init(uint8_t busid)
9 {
10     /* Select USBCLK source */
11     //  RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_Div1);
12     RCC->CFGR &= ~(0x3 << 22);
13     RCC->CFGR |= (0x1 << 22);
14 
15     /* Enable USB clock */
16     RCC->AHB2ENR |= 0x1 << 7;
17 
18 #define USB_DEVICE_INTERRUPT_PRIORITY (7U)
19     NVIC_SetPriority((IRQn_Type)USB_OTGFS_IRQn, USB_DEVICE_INTERRUPT_PRIORITY);
20     NVIC_EnableIRQ(USB_OTGFS_IRQn);
21 }
22 
usb_dc_low_level_deinit(uint8_t busid)23 void usb_dc_low_level_deinit(uint8_t busid)
24 {
25     RCC->AHB2ENR &= ~(0x1 << 7);
26 }
27 
USB_OTGFS_IRQHandler(void)28 void USB_OTGFS_IRQHandler(void)
29 {
30     USBD_IRQHandler(0);
31 }
32 
usbd_kinetis_delay_ms(uint8_t ms)33 void usbd_kinetis_delay_ms(uint8_t ms)
34 {
35     //delay_ms(ms);
36 }
37