@@ -443,6 +443,22 @@ static void udc_nrf_thread(void *p1, void *p2, void *p3)
443443 case UDC_NRF_EVT_HAL :
444444 ep = evt .hal_evt .data .eptransfer .ep ;
445445 switch (evt .hal_evt .type ) {
446+ case NRF_USBD_COMMON_EVT_SUSPEND :
447+ LOG_INF ("SUSPEND state detected" );
448+ nrf_usbd_common_suspend ();
449+ udc_set_suspended (udc_nrf_dev , true);
450+ udc_submit_event (udc_nrf_dev , UDC_EVT_SUSPEND , 0 );
451+ break ;
452+ case NRF_USBD_COMMON_EVT_RESUME :
453+ LOG_INF ("RESUMING from suspend" );
454+ udc_set_suspended (udc_nrf_dev , false);
455+ udc_submit_event (udc_nrf_dev , UDC_EVT_RESUME , 0 );
456+ break ;
457+ case NRF_USBD_COMMON_EVT_WUREQ :
458+ LOG_INF ("Remote wakeup initiated" );
459+ udc_set_suspended (udc_nrf_dev , false);
460+ udc_submit_event (udc_nrf_dev , UDC_EVT_RESUME , 0 );
461+ break ;
446462 case NRF_USBD_COMMON_EVT_EPTRANSFER :
447463 start_xfer = true;
448464 if (USB_EP_DIR_IS_IN (ep )) {
@@ -499,22 +515,6 @@ static void udc_sof_check_iso_out(const struct device *dev)
499515static void usbd_event_handler (nrf_usbd_common_evt_t const * const hal_evt )
500516{
501517 switch (hal_evt -> type ) {
502- case NRF_USBD_COMMON_EVT_SUSPEND :
503- LOG_INF ("SUSPEND state detected" );
504- nrf_usbd_common_suspend ();
505- udc_set_suspended (udc_nrf_dev , true);
506- udc_submit_event (udc_nrf_dev , UDC_EVT_SUSPEND , 0 );
507- break ;
508- case NRF_USBD_COMMON_EVT_RESUME :
509- LOG_INF ("RESUMING from suspend" );
510- udc_set_suspended (udc_nrf_dev , false);
511- udc_submit_event (udc_nrf_dev , UDC_EVT_RESUME , 0 );
512- break ;
513- case NRF_USBD_COMMON_EVT_WUREQ :
514- LOG_INF ("Remote wakeup initiated" );
515- udc_set_suspended (udc_nrf_dev , false);
516- udc_submit_event (udc_nrf_dev , UDC_EVT_RESUME , 0 );
517- break ;
518518 case NRF_USBD_COMMON_EVT_RESET :
519519 LOG_INF ("Reset" );
520520 udc_submit_event (udc_nrf_dev , UDC_EVT_RESET , 0 );
@@ -523,6 +523,9 @@ static void usbd_event_handler(nrf_usbd_common_evt_t const *const hal_evt)
523523 udc_submit_event (udc_nrf_dev , UDC_EVT_SOF , 0 );
524524 udc_sof_check_iso_out (udc_nrf_dev );
525525 break ;
526+ case NRF_USBD_COMMON_EVT_SUSPEND :
527+ case NRF_USBD_COMMON_EVT_RESUME :
528+ case NRF_USBD_COMMON_EVT_WUREQ :
526529 case NRF_USBD_COMMON_EVT_EPTRANSFER :
527530 case NRF_USBD_COMMON_EVT_SETUP : {
528531 struct udc_nrf_evt evt = {
0 commit comments