lib/usb_dfu: disable VBUS sensing

This commit is contained in:
King Kévin 2021-09-24 16:00:23 +02:00
parent a74539ab4f
commit a2f203a81f
1 changed files with 3 additions and 0 deletions

View File

@ -20,6 +20,7 @@
#include <libopencm3/stm32/flash.h> // flash utilities
#include <libopencm3/usb/usbd.h> // USB library
#include <libopencm3/usb/dfu.h> // USB DFU library
#include <libopencm3/usb/dwc/otg_fs.h> // additional USB definitions
#include "global.h" // global utilities
#include "usb_dfu.h" // USB DFU header and definitions
@ -366,6 +367,8 @@ void usb_dfu_setup(void)
gpio_set_af(GPIOA, GPIO_AF10, GPIO11 | GPIO12); // set alternate function to USB
usb_device = usbd_init(&otgfs_usb_driver, &usb_dfu_device, &usb_dfu_configuration, usb_dfu_strings, LENGTH(usb_dfu_strings), usbd_control_buffer, sizeof(usbd_control_buffer)); // configure USB device
usbd_register_control_callback(usb_device, USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE, USB_REQ_TYPE_TYPE | USB_REQ_TYPE_RECIPIENT, usb_dfu_control_request); // set control request handling DFU operations
OTG_FS_GCCFG |= OTG_GCCFG_NOVBUSSENS | OTG_GCCFG_PWRDWN; // disable VBUS sensing
OTG_FS_GCCFG &= ~(OTG_GCCFG_VBUSBSEN | OTG_GCCFG_VBUSASEN); // force USB device mode
}
void usb_dfu_start(void)