diff options
Diffstat (limited to 'firmware/apps/dfu/main.c')
-rw-r--r-- | firmware/apps/dfu/main.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/firmware/apps/dfu/main.c b/firmware/apps/dfu/main.c index 74268ad..7f8fbfc 100644 --- a/firmware/apps/dfu/main.c +++ b/firmware/apps/dfu/main.c @@ -22,6 +22,7 @@ #include "usb/device/dfu/dfu.h" #include "usb/common/dfu/usb_dfu.h" #include "manifest.h" +#include "USBD_HAL.h" #include <osmocom/core/timer.h> @@ -294,11 +295,18 @@ 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 */ +#ifdef PIN_USB_PULLUP const Pin usb_dp_pullup = PIN_USB_PULLUP; PIO_Configure(&usb_dp_pullup, 1); PIO_Set(&usb_dp_pullup); - mdelay(15); +#endif + USBD_HAL_Suspend(); + mdelay(20); +#ifdef PIN_USB_PULLUP PIO_Clear(&usb_dp_pullup); +#endif + USBD_HAL_Activate(); + USBDFU_Initialize(&dfu_descriptors); while (USBD_GetState() < USBD_STATE_CONFIGURED) { |