fix issue with bcm2711 caching issue by ading ISB() after dwc2_dcd_int_enable90

also add hwcfg_list for reference
This commit is contained in:
hathach
2021-11-04 12:30:11 +07:00
parent 0faff5a859
commit b51d038b65
3 changed files with 743 additions and 5 deletions

View File

@@ -32,21 +32,22 @@
#endif
#include "broadcom/interrupts.h"
//#include "broadcom/caches.h"
#include "broadcom/caches.h"
#define DWC2_REG_BASE 0xFE980000UL
#define DWC2_EP_MAX 8
#define DWC2_EP_FIFO_SIZE 4096
//#define dcache_clean(_addr, _size) data_clean(_addr, _size)
//#define dcache_invalidate(_addr, _size) data_invalidate(_addr, _size)
//#define dcache_clean_invalidate(_addr, _size) data_clean_and_invalidate(_addr, _size)
#define dcache_clean(_addr, _size) data_clean(_addr, _size)
#define dcache_invalidate(_addr, _size) data_invalidate(_addr, _size)
#define dcache_clean_invalidate(_addr, _size) data_clean_and_invalidate(_addr, _size)
TU_ATTR_ALWAYS_INLINE
static inline void dwc2_dcd_int_enable(uint8_t rhport)
{
(void) rhport;
BP_EnableIRQ(USB_IRQn);
__asm__ volatile("isb");
}
TU_ATTR_ALWAYS_INLINE
@@ -54,6 +55,7 @@ static inline void dwc2_dcd_int_disable (uint8_t rhport)
{
(void) rhport;
BP_DisableIRQ(USB_IRQn);
__asm__ volatile("isb");
}
static inline void dwc2_remote_wakeup_delay(void)