summaryrefslogtreecommitdiff
path: root/src/device/usbd.c
diff options
context:
space:
mode:
authorNathan Conrad <[email protected]>2020-04-14 10:22:03 -0400
committerNathan Conrad <[email protected]>2020-04-14 10:22:03 -0400
commit16f65890eb161e14157f3f10872218ce3c2a981b (patch)
treec8b359f92347868898df867fcdae32bb30c9cdcb /src/device/usbd.c
parentbbc59f1ceb73131b5fc2158cdd3483b61408d59d (diff)
parent57ffa94a5251c2b28cddf63b1897282988019e4d (diff)
Merge branch 'master' into edpt_close
Diffstat (limited to 'src/device/usbd.c')
-rw-r--r--src/device/usbd.c39
1 files changed, 33 insertions, 6 deletions
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 386401d9a..75c0a3720 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -184,21 +184,47 @@ static usbd_class_driver_t const _usbd_driver[] =
#endif
#if CFG_TUD_NET
+#if CFG_TUD_NET != OPT_NET_EEM
+ /* RNDIS management interface */
{
- .class_code =
-#if CFG_TUD_NET == OPT_NET_RNDIS
- TUD_RNDIS_ITF_CLASS,
-#else
- TUSB_CLASS_CDC,
+ .class_code = TUD_RNDIS_ITF_CLASS,
+ .init = netd_init,
+ .reset = netd_reset,
+ .open = netd_open,
+ .control_request = netd_control_request,
+ .control_complete = netd_control_complete,
+ .xfer_cb = netd_xfer_cb,
+ .sof = NULL,
+ },
#endif
+ /* CDC-ECM management interface; CDC-EEM data interface */
+ {
+ .class_code = TUSB_CLASS_CDC,
.init = netd_init,
.reset = netd_reset,
+#if CFG_TUD_NET == OPT_NET_EEM
+ .open = netd_open_data,
+#else
.open = netd_open,
+#endif
.control_request = netd_control_request,
.control_complete = netd_control_complete,
.xfer_cb = netd_xfer_cb,
- .sof = NULL
+ .sof = NULL,
},
+ /* RNDIS/CDC-ECM data interface */
+#if CFG_TUD_NET != OPT_NET_EEM
+ {
+ .class_code = TUSB_CLASS_CDC_DATA,
+ .init = netd_init_data,
+ .reset = NULL,
+ .open = netd_open_data,
+ .control_request = NULL,
+ .control_complete = NULL,
+ .xfer_cb = netd_xfer_cb,
+ .sof = NULL,
+ },
+#endif
#endif
};
@@ -332,6 +358,7 @@ bool tud_init (void)
// Init device controller driver
dcd_init(TUD_OPT_RHPORT);
+ tud_connect();
dcd_int_enable(TUD_OPT_RHPORT);
return true;