Added support for the NXP K64 series

This commit is contained in:
emb4fun
2023-07-23 10:53:22 +02:00
parent 8fa0b74d80
commit e2f28bc134
4 changed files with 17 additions and 2 deletions

View File

@@ -269,9 +269,23 @@ void dcd_init(uint8_t rhport)
{
(void) rhport;
#if (CFG_TUSB_MCU == OPT_MCU_KINETIS_K64)
uint32_t clk_recover_irc_en;
uint32_t clk_recover_ctrl;
clk_recover_irc_en = KHCI->CLK_RECOVER_IRC_EN;
clk_recover_ctrl = KHCI->CLK_RECOVER_CTRL;
KHCI->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
while (KHCI->USBTRC0 & USB_USBTRC0_USBRESET_MASK);
KHCI->CLK_RECOVER_IRC_EN = clk_recover_irc_en;
KHCI->CLK_RECOVER_CTRL |= clk_recover_ctrl;
#else
KHCI->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
while (KHCI->USBTRC0 & USB_USBTRC0_USBRESET_MASK);
#endif
tu_memclr(&_dcd, sizeof(_dcd));
KHCI->USBTRC0 |= TU_BIT(6); /* software must set this bit to 1 */
KHCI->BDTPAGE1 = (uint8_t)((uintptr_t)_dcd.bdt >> 8);