summaryrefslogtreecommitdiff
path: root/firmware/src/dfu/dfu.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/src/dfu/dfu.h')
-rw-r--r--firmware/src/dfu/dfu.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/firmware/src/dfu/dfu.h b/firmware/src/dfu/dfu.h
index 084883b..a4184b4 100644
--- a/firmware/src/dfu/dfu.h
+++ b/firmware/src/dfu/dfu.h
@@ -26,6 +26,7 @@
#include <sys/types.h>
#include <usb_ch9.h>
#include <usb_dfu.h>
+#include "../config.h"
/* USB DFU functional descriptor */
#define DFU_FUNC_DESC { \
@@ -38,6 +39,7 @@
}
/* USB Interface descriptor in Runtime mode */
+#ifdef CONFIG_USB_STRING
#define DFU_RT_IF_DESC { \
{ \
.bLength = USB_DT_INTERFACE_SIZE, \
@@ -61,6 +63,31 @@
.iInterface = 2, \
}, \
}
+#else
+#define DFU_RT_IF_DESC { \
+ { \
+ .bLength = USB_DT_INTERFACE_SIZE, \
+ .bDescriptorType = USB_DT_INTERFACE, \
+ .bInterfaceNumber = 0x01, \
+ .bAlternateSetting = 0x00, \
+ .bNumEndpoints = 0x00, \
+ .bInterfaceClass = 0xfe, \
+ .bInterfaceSubClass = 0x01, \
+ .bInterfaceProtocol = 0x01, \
+ .iInterface = 0, \
+ }, { \
+ .bLength = USB_DT_INTERFACE_SIZE, \
+ .bDescriptorType = USB_DT_INTERFACE, \
+ .bInterfaceNumber = 0x02, \
+ .bAlternateSetting = 0x00, \
+ .bNumEndpoints = 0x00, \
+ .bInterfaceClass = 0xfe, \
+ .bInterfaceSubClass = 0x01, \
+ .bInterfaceProtocol = 0x01, \
+ .iInterface = 0, \
+ }, \
+}
+#endif
#define __dfufunctab __attribute__ ((section (".dfu.functab")))
#define __dfudata __attribute__ ((section (".data.shared")))
personal git repositories of Harald Welte. Your mileage may vary