Skip to content

Commit e2f28bc

Browse files
committed
Added support for the NXP K64 series
1 parent 8fa0b74 commit e2f28bc

File tree

4 files changed

+17
-2
lines changed

4 files changed

+17
-2
lines changed

hw/bsp/board_mcu.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
#elif TU_CHECK_MCU(OPT_MCU_LPC51UXX, OPT_MCU_LPC54XXX, OPT_MCU_LPC55XX, OPT_MCU_MCXN9)
4848
#include "fsl_device_registers.h"
4949

50-
#elif TU_CHECK_MCU(OPT_MCU_KINETIS_KL, OPT_MCU_KINETIS_K32L)
50+
#elif TU_CHECK_MCU(OPT_MCU_KINETIS_KL, OPT_MCU_KINETIS_K32L, OPT_MCU_KINETIS_K64)
5151
#include "fsl_device_registers.h"
5252

5353
#elif CFG_TUSB_MCU == OPT_MCU_NRF5X

src/common/tusb_mcu.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@
9797
#define TUP_DCD_ENDPOINT_MAX 8
9898
#define TUP_RHPORT_HIGHSPEED 1
9999

100-
#elif TU_CHECK_MCU(OPT_MCU_KINETIS_KL, OPT_MCU_KINETIS_K32L)
100+
#elif TU_CHECK_MCU(OPT_MCU_KINETIS_KL, OPT_MCU_KINETIS_K32L, OPT_MCU_KINETIS_K64)
101101
#define TUP_USBIP_CHIPIDEA_FS
102102
#define TUP_USBIP_CHIPIDEA_FS_KINETIS
103103
#define TUP_DCD_ENDPOINT_MAX 16

src/portable/nxp/khci/dcd_khci.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,8 +269,22 @@ void dcd_init(uint8_t rhport)
269269
{
270270
(void) rhport;
271271

272+
#if (CFG_TUSB_MCU == OPT_MCU_KINETIS_K64)
273+
uint32_t clk_recover_irc_en;
274+
uint32_t clk_recover_ctrl;
275+
276+
clk_recover_irc_en = KHCI->CLK_RECOVER_IRC_EN;
277+
clk_recover_ctrl = KHCI->CLK_RECOVER_CTRL;
278+
279+
KHCI->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
280+
while (KHCI->USBTRC0 & USB_USBTRC0_USBRESET_MASK);
281+
282+
KHCI->CLK_RECOVER_IRC_EN = clk_recover_irc_en;
283+
KHCI->CLK_RECOVER_CTRL |= clk_recover_ctrl;
284+
#else
272285
KHCI->USBTRC0 |= USB_USBTRC0_USBRESET_MASK;
273286
while (KHCI->USBTRC0 & USB_USBTRC0_USBRESET_MASK);
287+
#endif
274288

275289
tu_memclr(&_dcd, sizeof(_dcd));
276290
KHCI->USBTRC0 |= TU_BIT(6); /* software must set this bit to 1 */

src/tusb_option.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@
121121
#define OPT_MCU_KINETIS_KL 1200 ///< NXP KL series
122122
#define OPT_MCU_KINETIS_K32L 1201 ///< NXP K32L series
123123
#define OPT_MCU_KINETIS_K32 1201 ///< Alias to K32L
124+
#define OPT_MCU_KINETIS_K64 1202 ///< NXP K64 series
124125

125126
#define OPT_MCU_MKL25ZXX 1200 ///< Alias to KL (obsolete)
126127
#define OPT_MCU_K32L2BXX 1201 ///< Alias to K32 (obsolete)

0 commit comments

Comments
 (0)