Add support for connect/disconnect in WCH USBHS
diff --git a/src/portable/wch/dcd_ch32_usbhs.c b/src/portable/wch/dcd_ch32_usbhs.c index f04f9aa..9c0865e 100644 --- a/src/portable/wch/dcd_ch32_usbhs.c +++ b/src/portable/wch/dcd_ch32_usbhs.c
@@ -178,7 +178,7 @@ xfer_status[0][TUSB_DIR_IN].max_size = CFG_TUD_ENDPOINT0_SIZE; USBHSD->DEV_AD = 0; - USBHSD->CONTROL |= USBHS_DEV_PU_EN; + dcd_connect(rhport); return true; } @@ -218,6 +218,18 @@ (void)rhport; } +void dcd_connect(uint8_t rhport) { + (void)rhport; + USBHSD->HOST_CTRL |= USBHS_PHY_SUSPENDM; + USBHSD->CONTROL |= USBHS_DEV_PU_EN; +} + +void dcd_disconnect(uint8_t rhport) { + (void)rhport; + USBHSD->CONTROL &= ~USBHS_DEV_PU_EN; + USBHSD->HOST_CTRL &= ~USBHS_PHY_SUSPENDM; +} + void dcd_sof_enable(uint8_t rhport, bool en) { (void)rhport; if (en) {