summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2022-09-12 14:59:29 +0800
committersakumisu <[email protected]>2022-09-12 14:59:29 +0800
commitf630da75831b2238988a430a6d35d2770d6ffd50 (patch)
treebcc9e2fb2af3d9081ed3774445fb243da5503a87
parent511d2bdc5d2f638aafec951d747f67a220922ff9 (diff)
give up dcache enable macro
-rw-r--r--common/usb_mem.h12
-rw-r--r--port/dwc2/usb_dc_dwc2.c37
2 files changed, 6 insertions, 43 deletions
diff --git a/common/usb_mem.h b/common/usb_mem.h
index 5a39e5dd..3e9180cc 100644
--- a/common/usb_mem.h
+++ b/common/usb_mem.h
@@ -18,7 +18,7 @@
#endif
#define USB_MEM_ALIGNX __attribute__((aligned(CONFIG_USB_ALIGN_SIZE)))
-#if defined(CONFIG_USB_DCACHE_ENABLE) || (CONFIG_USB_ALIGN_SIZE > 4)
+#if (CONFIG_USB_ALIGN_SIZE > 4)
static inline void *usb_iomalloc(size_t size)
{
void *ptr;
@@ -67,14 +67,4 @@ static inline void usb_iofree(void *ptr)
#define usb_iofree(ptr) usb_free(ptr)
#endif
-#ifdef CONFIG_USB_DCACHE_ENABLE
-void usb_dcache_clean(uintptr_t addr, uint32_t len);
-void usb_dcache_invalidate(uintptr_t addr, uint32_t len);
-void usb_dcache_clean_invalidate(uintptr_t addr, uint32_t len);
-#else
-#define usb_dcache_clean(addr, len)
-#define usb_dcache_invalidate(addr, len)
-#define usb_dcache_clean_invalidate(addr, len)
-#endif
-
#endif /* USB_MEM_H */
diff --git a/port/dwc2/usb_dc_dwc2.c b/port/dwc2/usb_dc_dwc2.c
index 23518285..7442964c 100644
--- a/port/dwc2/usb_dc_dwc2.c
+++ b/port/dwc2/usb_dc_dwc2.c
@@ -78,13 +78,7 @@
#ifdef CONFIG_USB_DWC2_DMA_ENABLE
#if defined(STM32F7) || defined(STM32H7)
-#ifndef CONFIG_USB_DCACHE_ENABLE
-#warning "if you enable dcache,please enable this macro"
-#else
-#if CONFIG_USB_ALIGN_SIZE != 32
-#error "dwc2 hs with dma and cache, must enable align32"
-#endif
-#endif
+#warning "if you enable dcache,please add .nocacheble section in your sct or ld or icf"
#endif
#endif
@@ -130,14 +124,6 @@
#define USB_OTG_OUTEP(i) ((USB_OTG_OUTEndpointTypeDef *)(USB_BASE + USB_OTG_OUT_ENDPOINT_BASE + ((i)*USB_OTG_EP_REG_SIZE)))
#define USB_OTG_FIFO(i) *(__IO uint32_t *)(USB_BASE + USB_OTG_FIFO_BASE + ((i)*USB_OTG_FIFO_SIZE))
-#ifdef CONFIG_USB_DCACHE_ENABLE
-void usb_dwc2_dcache_clean(uintptr_t addr, uint32_t len);
-void usb_dwc2_dcache_invalidate(uintptr_t addr, uint32_t len);
-#else
-#define usb_dwc2_dcache_clean(addr, len)
-#define usb_dwc2_dcache_invalidate(addr, len)
-#endif
-
extern uint32_t SystemCoreClock;
/* Endpoint state */
@@ -801,19 +787,14 @@ int usbd_ep_start_write(const uint8_t ep, const uint8_t *data, uint32_t data_len
if ((uint32_t)data & 0x03) {
return -3;
}
-#endif
-#ifdef CONFIG_USB_DCACHE_ENABLE
- if ((data && (((uint32_t)data) & 0x1f))) {
- return -4;
- }
#if defined(STM32F7) || defined(STM32H7)
if ((((uint32_t)data) & 0x24000000) != 0x24000000) {
- return -5;
+ return -4;
}
#endif
#endif
if (USB_OTG_INEP(ep_idx)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) {
- return -6;
+ return -5;
}
g_dwc2_udc.in_ep[ep_idx].xfer_buf = (uint8_t *)data;
@@ -882,19 +863,14 @@ int usbd_ep_start_read(const uint8_t ep, uint8_t *data, uint32_t data_len)
if (((uint32_t)data) & 0x03) {
return -3;
}
-#endif
-#ifdef CONFIG_USB_DCACHE_ENABLE
- if (((uint32_t)data) & 0x1f) {
- return -4;
- }
#if defined(STM32F7) || defined(STM32H7)
if ((((uint32_t)data) & 0x24000000) != 0x24000000) {
- return -5;
+ return -4;
}
#endif
#endif
if (USB_OTG_OUTEP(ep_idx)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) {
- return -6;
+ return -5;
}
g_dwc2_udc.out_ep[ep_idx].xfer_buf = (uint8_t *)data;
@@ -996,18 +972,15 @@ void USBD_IRQHandler(void)
g_dwc2_udc.out_ep[ep_idx].actual_xfer_len += g_dwc2_udc.out_ep[ep_idx].xfer_len;
g_dwc2_udc.out_ep[ep_idx].xfer_len = 0;
}
- usb_dwc2_dcache_invalidate((uintptr_t)g_dwc2_udc.out_ep[ep_idx].xfer_buf, g_dwc2_udc.out_ep[ep_idx].actual_xfer_len);
usbd_event_ep_out_complete_handler(0x00, g_dwc2_udc.out_ep[ep_idx].actual_xfer_len);
}
} else {
g_dwc2_udc.out_ep[ep_idx].actual_xfer_len = g_dwc2_udc.out_ep[ep_idx].xfer_len - ((USB_OTG_OUTEP(ep_idx)->DOEPTSIZ) & USB_OTG_DOEPTSIZ_XFRSIZ);
- usb_dwc2_dcache_invalidate((uintptr_t)g_dwc2_udc.out_ep[ep_idx].xfer_buf, g_dwc2_udc.out_ep[ep_idx].actual_xfer_len);
usbd_event_ep_out_complete_handler(ep_idx, g_dwc2_udc.out_ep[ep_idx].actual_xfer_len);
}
}
if ((epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) {
- usb_dwc2_dcache_invalidate((uintptr_t)&g_dwc2_udc.setup, 8);
usbd_event_ep0_setup_complete_handler((uint8_t *)&g_dwc2_udc.setup);
}
}