This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

USBD Errata 187 in QIAAC0 Silicon

Using SDK 15.0.0, I have ported the peripheral/usbd example to custom hardware based on the nRF52840-QIAAC0. 

In the nrf_drv_usbd_enable() function, execution hangs at 

    while (0 == (NRF_USBD_EVENTCAUSE_READY_MASK & nrf_usbd_eventcause_get()))

All is fine after I force the nrf_drv_usbd_errata_187() function to return true.  (By default, nrf_drv_usbd_errata_187() returns false because nrf_drv_usbd_errata_type_52840_fp1() returns false.)

Why is this happening?  Am I missing something? Is there a more graceful work-around? 

Related