mirror of
https://github.com/sakumisu/CherryUSB.git
synced 2025-05-09 00:21:44 +08:00
update(port/kinetis): update mcx glue for mcxa153/mcxc444
This commit is contained in:
parent
83b5d842c7
commit
a20e312b55
@ -10,8 +10,8 @@ Modify USB_NOCACHE_RAM_SECTION
|
||||
#define USB_NOCACHE_RAM_SECTION __attribute__((section(".NonCacheable")))
|
||||
```
|
||||
|
||||
- MCXC/MCXA (device only)
|
||||
- MCXN
|
||||
- MCXC444/MCXA153 (device only)
|
||||
- MCXN947
|
||||
|
||||
### MM32
|
||||
|
||||
|
@ -9,12 +9,22 @@
|
||||
|
||||
#define USB_OTG_DEV ((KINETIS_MCX_TypeDef *)g_usbdev_bus[busid].reg_base)
|
||||
|
||||
void USB0_FS_IRQHandler(void)
|
||||
#if defined(MCXC444_H_)
|
||||
#define USBD_IRQ USB0_IRQHandler
|
||||
void USB_ClockInit(void)
|
||||
{
|
||||
extern void USBD_IRQHandler(uint8_t busid);
|
||||
USBD_IRQHandler(0);
|
||||
SystemCoreClockUpdate();
|
||||
CLOCK_EnableUsbfs0Clock(kCLOCK_UsbSrcIrc48M, 48000000U);
|
||||
}
|
||||
|
||||
#elif defined(MCXA153_H_)
|
||||
#define USBD_IRQ USB0_IRQHandler
|
||||
void USB_ClockInit(void)
|
||||
{
|
||||
RESET_PeripheralReset(kUSB0_RST_SHIFT_RSTn);
|
||||
CLOCK_EnableUsbfsClock();
|
||||
}
|
||||
#elif defined(MCXN947_CM33_CORE0_H_)
|
||||
#define USBD_IRQ USB0_FS_IRQHandler
|
||||
void USB_ClockInit(void)
|
||||
{
|
||||
CLOCK_AttachClk(kCLK_48M_to_USB0);
|
||||
@ -22,13 +32,28 @@ void USB_ClockInit(void)
|
||||
CLOCK_EnableClock(kCLOCK_Usb0Fs);
|
||||
CLOCK_EnableUsbfsClock();
|
||||
}
|
||||
#else
|
||||
#error "Unsupported MCU with Kinetis IP"
|
||||
#endif
|
||||
|
||||
void USBD_IRQ(void)
|
||||
{
|
||||
extern void USBD_IRQHandler(uint8_t busid);
|
||||
USBD_IRQHandler(0);
|
||||
}
|
||||
|
||||
void usb_dc_low_level_init(uint8_t busid)
|
||||
{
|
||||
USB_ClockInit();
|
||||
|
||||
uint8_t irqNumber;
|
||||
|
||||
uint8_t usbDeviceKhciIrq[] = USB_IRQS;
|
||||
irqNumber = usbDeviceKhciIrq[0];
|
||||
|
||||
/* Install isr, set priority, and enable IRQ. */
|
||||
NVIC_SetPriority((IRQn_Type)USB0_FS_IRQn, 3);
|
||||
EnableIRQ((IRQn_Type)USB0_FS_IRQn);
|
||||
NVIC_SetPriority((IRQn_Type)irqNumber, 3);
|
||||
EnableIRQ((IRQn_Type)irqNumber);
|
||||
|
||||
USB_OTG_DEV->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
|
||||
while (USB_OTG_DEV->USBTRC0 & USB_USBTRC0_USBRESET_MASK)
|
||||
@ -47,5 +72,4 @@ void usb_dc_low_level_deinit(uint8_t busid)
|
||||
|
||||
void usbd_kinetis_delay_ms(uint8_t ms)
|
||||
{
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user