diff --git a/boards/nxp/fmuk66-v3/src/init.c b/boards/nxp/fmuk66-v3/src/init.c index 09dc752985d1..d6cc60326beb 100644 --- a/boards/nxp/fmuk66-v3/src/init.c +++ b/boards/nxp/fmuk66-v3/src/init.c @@ -235,6 +235,25 @@ __EXPORT int board_app_initialize(uintptr_t arg) syslog(LOG_ERR, "DMA alloc FAILED\n"); } + /* set up the serial DMA polling */ +#ifdef SERIAL_HAVE_DMA + static struct hrt_call serial_dma_call; + struct timespec ts; + + /* + * Poll at 1ms intervals for received bytes that have not triggered + * a DMA event. + */ + ts.tv_sec = 0; + ts.tv_nsec = 1000000; + + hrt_call_every(&serial_dma_call, + ts_to_abstime(&ts), + ts_to_abstime(&ts), + (hrt_callout)kinetis_serial_dma_poll, + NULL); +#endif + /* initial LED state */ drv_led_start(); led_off(LED_RED);