summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2022-12-22 22:30:14 +0800
committersakimisu <[email protected]>2022-12-22 22:30:49 +0800
commit9f9c44d974d3e12ffce73c919fa6b43a64a45978 (patch)
treef1c7457121f16023589c835d2499080eac2fd825
parentd0a6ecbe899f21eaabf5e6e2348c7aca6d2bb47a (diff)
enable iso when use fifo mode
-rw-r--r--port/dwc2/usb_dc_dwc2.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/port/dwc2/usb_dc_dwc2.c b/port/dwc2/usb_dc_dwc2.c
index 0a852c75..1dd1e11e 100644
--- a/port/dwc2/usb_dc_dwc2.c
+++ b/port/dwc2/usb_dc_dwc2.c
@@ -869,9 +869,6 @@ int usbd_ep_start_write(const uint8_t ep, const uint8_t *data, uint32_t data_len
USB_OTG_INEP(ep_idx)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & data_len);
}
-#ifdef CONFIG_USB_DWC2_DMA_ENABLE
- USB_OTG_INEP(ep_idx)->DIEPDMA = (uint32_t)data;
-
if (g_dwc2_udc.in_ep[ep_idx].ep_type == 0x01) {
if ((USB_OTG_DEV->DSTS & (1U << 8)) == 0U) {
USB_OTG_INEP(ep_idx)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM;
@@ -881,6 +878,10 @@ int usbd_ep_start_write(const uint8_t ep, const uint8_t *data, uint32_t data_len
USB_OTG_INEP(ep_idx)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT);
USB_OTG_INEP(ep_idx)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29));
}
+
+#ifdef CONFIG_USB_DWC2_DMA_ENABLE
+ USB_OTG_INEP(ep_idx)->DIEPDMA = (uint32_t)data;
+
USB_OTG_INEP(ep_idx)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA);
#else
USB_OTG_INEP(ep_idx)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA);
@@ -938,7 +939,7 @@ int usbd_ep_start_read(const uint8_t ep, uint8_t *data, uint32_t data_len)
#ifdef CONFIG_USB_DWC2_DMA_ENABLE
USB_OTG_OUTEP(ep_idx)->DOEPDMA = (uint32_t)data;
-
+#endif
if (g_dwc2_udc.out_ep[ep_idx].ep_type == 0x01) {
if ((USB_OTG_DEV->DSTS & (1U << 8)) == 0U) {
USB_OTG_OUTEP(ep_idx)->DOEPCTL |= USB_OTG_DIEPCTL_SODDFRM;
@@ -946,8 +947,6 @@ int usbd_ep_start_read(const uint8_t ep, uint8_t *data, uint32_t data_len)
USB_OTG_OUTEP(ep_idx)->DOEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM;
}
}
-#endif
-
USB_OTG_OUTEP(ep_idx)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA);
return 0;
}