summaryrefslogtreecommitdiffstats
path: root/src/dfu.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/dfu.c')
-rw-r--r--src/dfu.c60
1 files changed, 0 insertions, 60 deletions
diff --git a/src/dfu.c b/src/dfu.c
deleted file mode 100644
index e9de46f..0000000
--- a/src/dfu.c
+++ /dev/null
@@ -1,60 +0,0 @@
-#include "project.h"
-
-#ifdef INCLUDE_DFU_INTERFACE
-
-const struct usb_dfu_descriptor dfu_function = {
- .bLength = sizeof (struct usb_dfu_descriptor),
- .bDescriptorType = DFU_FUNCTIONAL,
- .bmAttributes = USB_DFU_CAN_DOWNLOAD | USB_DFU_WILL_DETACH,
- .wDetachTimeout = 255,
- .wTransferSize = 1024,
- .bcdDFUVersion = 0x011A,
-};
-
-const struct usb_interface_descriptor dfu_iface = {
- .bLength = USB_DT_INTERFACE_SIZE,
- .bDescriptorType = USB_DT_INTERFACE,
- .bInterfaceNumber = 3,
- .bAlternateSetting = 0,
- .bNumEndpoints = 0,
- .bInterfaceClass = 0xFE,
- .bInterfaceSubClass = 1,
- .bInterfaceProtocol = 1,
- .iInterface = 0,
-
- .extra = &dfu_function,
- .extralen = sizeof (dfu_function),
-};
-
-
-static void
-dfu_detach_complete (usbd_device * usbd_dev, struct usb_setup_data *req)
-{
- (void) req;
- (void) usbd_dev;
-
- gpio_set_mode (GPIOA, GPIO_MODE_INPUT, 0, GPIO15);
- gpio_set_mode (GPIOA, GPIO_MODE_OUTPUT_2_MHZ,
- GPIO_CNF_OUTPUT_PUSHPULL, GPIO10);
- gpio_set (GPIOA, GPIO10);
- scb_reset_core ();
-}
-
-int
-dfu_control_request (usbd_device * usbd_dev, struct usb_setup_data *req,
- uint8_t ** buf, uint16_t * len,
- void (**complete) (usbd_device * usbd_dev,
- struct usb_setup_data * req))
-{
- (void) buf;
- (void) len;
- (void) usbd_dev;
-
- if ((req->bmRequestType != 0x21) || (req->bRequest != DFU_DETACH))
- return 0; /* Only accept class request. */
-
- *complete = dfu_detach_complete;
-
- return 1;
-}
-#endif