summaryrefslogtreecommitdiff
path: root/src/portable/nxp
diff options
context:
space:
mode:
authorhathach <[email protected]>2024-02-24 00:36:07 +0700
committerhathach <[email protected]>2024-02-24 00:36:07 +0700
commit3d3bf45102ded992fc10be09f3e9b9c981379ad1 (patch)
tree0b5ece8d408217116d50e58e473571132a6be175 /src/portable/nxp
parenta1bfde83fbc4c7e62801f74377d0fe4543570307 (diff)
frdm k64f usb work well, add kinetis_k to ci cmake
Diffstat (limited to 'src/portable/nxp')
-rw-r--r--src/portable/nxp/khci/dcd_khci.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/portable/nxp/khci/dcd_khci.c b/src/portable/nxp/khci/dcd_khci.c
index 5a2f768b3..5d04a524a 100644
--- a/src/portable/nxp/khci/dcd_khci.c
+++ b/src/portable/nxp/khci/dcd_khci.c
@@ -269,22 +269,16 @@ void dcd_init(uint8_t rhport)
{
(void) rhport;
-#if (CFG_TUSB_MCU == OPT_MCU_KINETIS_K)
- 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;
+ // save crystal-less setting (recovery clock)
+ uint32_t clk_recover_irc_en = KHCI->CLK_RECOVER_IRC_EN;
+ uint32_t clk_recover_ctrl = KHCI->CLK_RECOVER_CTRL;
KHCI->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
while (KHCI->USBTRC0 & USB_USBTRC0_USBRESET_MASK);
+ // restore crystal-less setting
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 */