summaryrefslogtreecommitdiff
path: root/ports/nrf/supervisor
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2020-07-07 11:14:43 -0500
committerJeff Epler <jepler@gmail.com>2020-07-15 11:49:44 -0500
commit6160d11c5a04f60e54ce977fd73fafa5ba858aa0 (patch)
treedc8bda08584d1a5f00761677d9a8094cbbf96398 /ports/nrf/supervisor
parent36b46465167f15eaf8535608b16859e6de10fac8 (diff)
supervisor: factor out, Handle USB via background callback
Diffstat (limited to 'ports/nrf/supervisor')
-rw-r--r--ports/nrf/supervisor/usb.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/ports/nrf/supervisor/usb.c b/ports/nrf/supervisor/usb.c
index 3d2527faa..771e86ce0 100644
--- a/ports/nrf/supervisor/usb.c
+++ b/ports/nrf/supervisor/usb.c
@@ -30,6 +30,7 @@
#include "lib/utils/interrupt_char.h"
#include "lib/mp-readline/readline.h"
#include "lib/tinyusb/src/device/usbd.h"
+#include "supervisor/background_callback.h"
#ifdef SOFTDEVICE_PRESENT
#include "nrf_sdm.h"
@@ -42,7 +43,9 @@ extern void tusb_hal_nrf_power_event(uint32_t event);
void init_usb_hardware(void) {
- // 2 is max priority (0, 1 are reserved for SD)
+ // 2 is max priority (0, 1, and 4 are reserved for SD)
+ // 5 is max priority that still allows calling SD functions such as
+ // sd_softdevice_is_enabled
NVIC_SetPriority(USBD_IRQn, 2);
// USB power may already be ready at this time -> no event generated
@@ -89,5 +92,5 @@ void init_usb_hardware(void) {
}
void USBD_IRQHandler(void) {
- tud_int_handler(0);
+ usb_irq_handler();
}