summaryrefslogtreecommitdiff
path: root/src/device/usbd.c
diff options
context:
space:
mode:
authorSylvain Munaut <[email protected]>2019-10-24 00:42:42 +0200
committerSylvain Munaut <[email protected]>2019-10-28 16:11:08 +0100
commitec4ecfa817d6af9d35cf814d6d8d57e8bf71c605 (patch)
tree24b3b2399d2afb3498f6141cf646fc1fa290e558 /src/device/usbd.c
parente413c9efa303d70de019a91aa415384fe80ca78f (diff)
Add support for DFU Runtime class for devices
This is really just a few descriptors and then answering to the request from the host to reboot into DFU mode. That latter part is delegated to the app since this is platform specific. Signed-off-by: Sylvain Munaut <[email protected]>
Diffstat (limited to 'src/device/usbd.c')
-rw-r--r--src/device/usbd.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 14e56a9b7..49f28da87 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -167,6 +167,20 @@ static usbd_class_driver_t const usbd_class_drivers[] =
.sof = NULL
},
#endif
+
+ #if CFG_TUD_DFU_RT
+ {
+ .class_code = TUD_DFU_APP_CLASS,
+ //.subclass_code = TUD_DFU_APP_SUBCLASS
+ .init = dfu_rtd_init,
+ .reset = dfu_rtd_reset,
+ .open = dfu_rtd_open,
+ .control_request = dfu_rtd_control_request,
+ .control_complete = dfu_rtd_control_complete,
+ .xfer_cb = dfu_rtd_xfer_cb,
+ .sof = NULL
+ },
+ #endif
};
enum { USBD_CLASS_DRIVER_COUNT = TU_ARRAY_SIZE(usbd_class_drivers) };