Skip to content

Commit

Permalink
add CFG_TUD_DWC2_DMA, make it compile time option
Browse files Browse the repository at this point in the history
  • Loading branch information
hathach committed Sep 24, 2024
1 parent 86b4608 commit a124438
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 22 deletions.
2 changes: 1 addition & 1 deletion src/common/tusb_mcu.h
Original file line number Diff line number Diff line change
Expand Up @@ -524,7 +524,7 @@
#define TUP_DCD_EDPT_ISO_ALLOC
#endif

#if defined(TUP_USBIP_DWC2)
#if defined(TUP_USBIP_DWC2) // && CFG_TUD_DWC2_DMA == 0
#define TUP_MEM_CONST_ADDR
#endif

Expand Down
9 changes: 3 additions & 6 deletions src/portable/synopsys/dwc2/dcd_dwc2.c
Original file line number Diff line number Diff line change
Expand Up @@ -95,16 +95,13 @@ static bool _sof_en;
//--------------------------------------------------------------------

TU_ATTR_ALWAYS_INLINE static inline bool dma_enabled(const dwc2_regs_t* dwc2) {
#if !CFG_TUD_DWC2_DMA
(void) dwc2;
// DMA doesn't support fifo transfer
#ifdef TUD_AUDIO_PREFER_RING_BUFFER
#if TUD_AUDIO_PREFER_RING_BUFFER
return false;
#endif
#endif
#else
// Internal DMA only
return (dwc2->ghwcfg2_bm.arch == GHWCFG2_ARCH_INTERNAL_DMA);
// return false;
#endif
}

TU_ATTR_ALWAYS_INLINE static inline uint16_t dma_cal_epfifo_base(uint8_t rhport) {
Expand Down
39 changes: 24 additions & 15 deletions src/tusb_option.h
Original file line number Diff line number Diff line change
Expand Up @@ -228,7 +228,7 @@
#define OPT_MODE_SPEED_MASK 0xff00

//--------------------------------------------------------------------+
// Include tusb_config.h and tusb_mcu.h
// Include tusb_config.h
//--------------------------------------------------------------------+

// Allow to use command line to change the config name/location
Expand All @@ -238,6 +238,29 @@
#include "tusb_config.h"
#endif

//--------------------------------------------------------------------+
// USBIP
//--------------------------------------------------------------------+

// DWC2 controller: use DMA for data transfer
#ifndef CFG_TUD_DWC2_DMA
#define CFG_TUD_DWC2_DMA 1
#endif

// Enable PIO-USB software host controller
#ifndef CFG_TUH_RPI_PIO_USB
#define CFG_TUH_RPI_PIO_USB 0
#endif

#ifndef CFG_TUD_RPI_PIO_USB
#define CFG_TUD_RPI_PIO_USB 0
#endif

// MAX3421 Host controller option
#ifndef CFG_TUH_MAX3421
#define CFG_TUH_MAX3421 0
#endif

#include "common/tusb_mcu.h"

//--------------------------------------------------------------------
Expand Down Expand Up @@ -548,20 +571,6 @@
#define CFG_TUH_API_EDPT_XFER 0
#endif

// Enable PIO-USB software host controller
#ifndef CFG_TUH_RPI_PIO_USB
#define CFG_TUH_RPI_PIO_USB 0
#endif

#ifndef CFG_TUD_RPI_PIO_USB
#define CFG_TUD_RPI_PIO_USB 0
#endif

// MAX3421 Host controller option
#ifndef CFG_TUH_MAX3421
#define CFG_TUH_MAX3421 0
#endif

//--------------------------------------------------------------------+
// TypeC Options (Default)
//--------------------------------------------------------------------+
Expand Down

0 comments on commit a124438

Please sign in to comment.