diff options
| author | hathach <thach@tinyusb.org> | 2019-01-30 14:13:07 +0700 |
|---|---|---|
| committer | hathach <thach@tinyusb.org> | 2019-01-30 14:13:07 +0700 |
| commit | 164e1e23419450ac8cd72af01051ec6fd299bd92 (patch) | |
| tree | 5951e75739030b788be88ba277cabda42fe6e037 /ports/nrf/supervisor | |
| parent | d1fb384a4a4cda91f293aac7ae49c570a97daa7c (diff) | |
re-init usb hardware when enable/disable SD
Diffstat (limited to 'ports/nrf/supervisor')
| -rw-r--r-- | ports/nrf/supervisor/usb.c | 21 |
1 files changed, 2 insertions, 19 deletions
diff --git a/ports/nrf/supervisor/usb.c b/ports/nrf/supervisor/usb.c index 52eb07040..5a4d5f193 100644 --- a/ports/nrf/supervisor/usb.c +++ b/ports/nrf/supervisor/usb.c @@ -36,9 +36,8 @@ #include "nrf_soc.h" #endif -/* tinyusb function that handles power event (detected, ready, removed) - * We must call it within SD's SOC event handler, or set it as power event handler if SD is not enabled. - */ +// tinyusb function that handles power event (detected, ready, removed) +// We must call it within SD's SOC event handler, or set it as power event handler if SD is not enabled. extern void tusb_hal_nrf_power_event(uint32_t event); void init_usb_hardware(void) { @@ -46,10 +45,6 @@ void init_usb_hardware(void) { // 2 is max priority (0, 1 are reserved for SD) NVIC_SetPriority(USBD_IRQn, 2); - // USB power may already be ready at this time -> no event generated - // We need to invoke the handler based on the status initially - uint32_t usb_reg; - #ifdef SOFTDEVICE_PRESENT uint8_t sd_en = false; (void) sd_softdevice_is_enabled(&sd_en); @@ -58,8 +53,6 @@ void init_usb_hardware(void) { sd_power_usbdetected_enable(true); sd_power_usbpwrrdy_enable(true); sd_power_usbremoved_enable(true); - - sd_power_usbregstatus_get(&usb_reg); }else #endif { @@ -72,15 +65,5 @@ void init_usb_hardware(void) { nrfx_power_usbevt_init(&config); nrfx_power_usbevt_enable(); - - usb_reg = NRF_POWER->USBREGSTATUS; - } - - if ( usb_reg & POWER_USBREGSTATUS_VBUSDETECT_Msk ) { - tusb_hal_nrf_power_event(NRFX_POWER_USB_EVT_DETECTED); - } - - if ( usb_reg & POWER_USBREGSTATUS_OUTPUTRDY_Msk ) { - tusb_hal_nrf_power_event(NRFX_POWER_USB_EVT_READY); } } |
