aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Wild <ewild@sysmocom.de>2021-10-28 18:17:00 +0200
committerEric Wild <ewild@sysmocom.de>2021-11-01 14:35:14 +0100
commita079e2b4eee2e28ba59f58fee14ebbdf4f9c3e44 (patch)
tree222dc852a2036613698b456df816cc495d6d0979
parentf83d42ce51995daf188d0b12083e7b0f166d236f (diff)
firmware: increase reset delay before usb reattach
The previous value was way too low and led to reenumeration issues when switching from app to bl because the hosts are fairly lenient and feature long delays until they accept disappearing devices as gone for good instead of ignoring a presuambly flaky usb cable or connection. Related: SYS5061 Change-Id: I9b8c8bf794ad5b94fc7ea2a01d1ebf4e36862c36
-rw-r--r--firmware/apps/dfu/main.c2
-rw-r--r--firmware/libcommon/source/usb.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/firmware/apps/dfu/main.c b/firmware/apps/dfu/main.c
index 4813881..48ba879 100644
--- a/firmware/apps/dfu/main.c
+++ b/firmware/apps/dfu/main.c
@@ -342,7 +342,7 @@ extern int main(void)
TRACE_INFO("USB init...\n\r");
/* Signal USB reset by disabling the pull-up on USB D+ for at least 10 ms */
USBD_Disconnect();
- mdelay(50);
+ mdelay(500);
USBDFU_Initialize(&dfu_descriptors);
while (USBD_GetState() < USBD_STATE_CONFIGURED) {
diff --git a/firmware/libcommon/source/usb.c b/firmware/libcommon/source/usb.c
index 0868263..d86fc92 100644
--- a/firmware/libcommon/source/usb.c
+++ b/firmware/libcommon/source/usb.c
@@ -690,7 +690,7 @@ void SIMtrace_USB_Initialize(void)
unsigned int i;
/* Signal USB reset by disabling the pull-up on USB D+ for at least 10 ms */
USBD_HAL_Suspend();
- mdelay(20);
+ mdelay(500);
USBD_HAL_Activate();
// Get std USB driver