summaryrefslogtreecommitdiff
path: root/src/portable
diff options
context:
space:
mode:
authorMengsk <[email protected]>2020-06-17 12:43:49 +0200
committerMengsk <[email protected]>2020-06-18 14:18:00 +0200
commit9ffb9b69a4cbd6448ac04d8482abe7582ae55528 (patch)
tree9f724a528888a8c4f3b54428f4ccc83f4849087a /src/portable
parent2b27eed01aa25d12c7e78414875d83e9c2604830 (diff)
Disable SOF in dcd_stm32_fsdev
Signed-off-by: Mengsk <[email protected]>
Diffstat (limited to 'src/portable')
-rw-r--r--src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c b/src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c
index b539f4795..da184abe7 100644
--- a/src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c
+++ b/src/portable/st/stm32_fsdev/dcd_stm32_fsdev.c
@@ -144,6 +144,12 @@
# define DCD_STM32_BTABLE_LENGTH (PMA_LENGTH - DCD_STM32_BTABLE_BASE)
#endif
+// Since TinyUSB doesn't use SOF for now, and this interrupt too often (1ms interval)
+// We disable SOF for now until needed later on
+#ifndef USE_SOF
+# define USE_SOF 0
+#endif
+
/***************************************************
* Checks, structs, defines, function definitions, etc.
*/
@@ -235,7 +241,7 @@ void dcd_init (uint8_t rhport)
pcd_set_endpoint(USB,i,0u);
}
- USB->CNTR |= USB_CNTR_RESETM | USB_CNTR_SOFM | USB_CNTR_ESOFM | USB_CNTR_CTRM | USB_CNTR_SUSPM | USB_CNTR_WKUPM;
+ USB->CNTR |= USB_CNTR_RESETM | (USE_SOF ? USB_CNTR_SOFM : 0) | USB_CNTR_ESOFM | USB_CNTR_CTRM | USB_CNTR_SUSPM | USB_CNTR_WKUPM;
dcd_handle_bus_reset();
// Data-line pull-up is left disconnected.
@@ -542,10 +548,12 @@ void dcd_int_handler(uint8_t rhport) {
dcd_event_bus_signal(0, DCD_EVENT_SUSPEND, true);
}
+#if USE_SOF
if(int_status & USB_ISTR_SOF) {
reg16_clear_bits(&USB->ISTR, USB_ISTR_SOF);
dcd_event_bus_signal(0, DCD_EVENT_SOF, true);
}
+#endif
if(int_status & USB_ISTR_ESOF) {
if(remoteWakeCountdown == 1u)