diff options
| author | Peter Lawrence <[email protected]> | 2020-03-16 13:20:17 -0500 |
|---|---|---|
| committer | Peter Lawrence <[email protected]> | 2020-03-16 13:20:17 -0500 |
| commit | df05440d92f0d05532476df5f544d00751f03bce (patch) | |
| tree | 67cb05f23a288613d2eb814ad592004d792088fd | |
| parent | fb56c02a6f7cc03b2f9fd970a5b1bc772ccf4795 (diff) | |
NUC505 : added comment on DMA choice
| -rw-r--r-- | src/portable/nuvoton/nuc505/dcd_nuc505.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/portable/nuvoton/nuc505/dcd_nuc505.c b/src/portable/nuvoton/nuc505/dcd_nuc505.c index 031bfc5e4..e05e73eff 100644 --- a/src/portable/nuvoton/nuc505/dcd_nuc505.c +++ b/src/portable/nuvoton/nuc505/dcd_nuc505.c @@ -33,6 +33,12 @@ nomenclature of EPA through EPL. */ +/* + Note on OPT_MCU_NUC505_USB_DMA: the author suggests against using this option. + The DMA functionality of the USBD peripheral does not appear to succeed with + transfer lengths that are longer (> 64 bytes) and are not a multiple of 4. +*/ + #include "tusb_option.h" #if TUSB_OPT_DEVICE_ENABLED && (CFG_TUSB_MCU == OPT_MCU_NUC505) @@ -211,7 +217,7 @@ static void bus_reset(void) current_dma_xfer = NULL; } -#if 0 +#ifdef OPT_MCU_NUC505_USB_DMA /* this must only be called by the ISR; it does its best to share the single DMA engine across all user EPs (IN and OUT) */ static void service_dma(void) { @@ -467,7 +473,7 @@ void USBD_IRQHandler(void) if (bus_state & USBD_BUSINTSTS_DMADONEIF_Msk) { -#if 0 +#ifdef OPT_MCU_NUC505_USB_DMA if (current_dma_xfer) { current_dma_xfer->dma_requested = false; @@ -601,7 +607,7 @@ void USBD_IRQHandler(void) if (out_ep) { -#if 0 +#ifdef OPT_MCU_NUC505_USB_DMA xfer->dma_requested = true; service_dma(); #else |
