summaryrefslogtreecommitdiff
path: root/src/class
diff options
context:
space:
mode:
authorhathach <[email protected]>2021-04-06 01:07:32 +0700
committerhathach <[email protected]>2021-04-06 01:07:32 +0700
commit7ab8da949e6622f59e49d7435a22f52a18940350 (patch)
tree7ff45711001441e196d01a65400eff9f96201c64 /src/class
parent3acf0c2d73defdc92de02db2456591b8a441a2e0 (diff)
audio driver only use USE_LINEAR_BUFFER = 0 for stm32 synopsys driver
Diffstat (limited to 'src/class')
-rw-r--r--src/class/audio/audio_device.c47
1 files changed, 23 insertions, 24 deletions
diff --git a/src/class/audio/audio_device.c b/src/class/audio/audio_device.c
index dadb66caa..634e9e4d2 100644
--- a/src/class/audio/audio_device.c
+++ b/src/class/audio/audio_device.c
@@ -63,33 +63,32 @@
// MACRO CONSTANT TYPEDEF
//--------------------------------------------------------------------+
-// Linear buffer in case target MCU is not capable of handling a ring buffer FIFO e.g. no hardware buffer is available or driver is would need to be changed dramatically
-#if ( CFG_TUSB_MCU == OPT_MCU_MKL25ZXX || /* Intermediate software buffer required */ \
- CFG_TUSB_MCU == OPT_MCU_DA1469X || /* Intermediate software buffer required */ \
- CFG_TUSB_MCU == OPT_MCU_LPC18XX || /* No clue how driver works */ \
- CFG_TUSB_MCU == OPT_MCU_LPC43XX || \
- CFG_TUSB_MCU == OPT_MCU_MIMXRT10XX || \
- CFG_TUSB_MCU == OPT_MCU_RP2040 || /* Don't want to change driver */ \
- CFG_TUSB_MCU == OPT_MCU_VALENTYUSB_EPTRI || /* Intermediate software buffer required */ \
- CFG_TUSB_MCU == OPT_MCU_CXD56 || /* No clue how driver works */ \
- CFG_TUSB_MCU == OPT_MCU_NRF5X || /* Uses DMA - Ok for FIFO, had no time for implementation */ \
- CFG_TUSB_MCU == OPT_MCU_LPC11UXX || /* Uses DMA - Ok for FIFO, had no time for implementation */ \
- CFG_TUSB_MCU == OPT_MCU_LPC13XX || \
- CFG_TUSB_MCU == OPT_MCU_LPC15XX || \
- CFG_TUSB_MCU == OPT_MCU_LPC51UXX || \
- CFG_TUSB_MCU == OPT_MCU_LPC54XXX || \
- CFG_TUSB_MCU == OPT_MCU_LPC55XX || \
- CFG_TUSB_MCU == OPT_MCU_LPC175X_6X || \
- CFG_TUSB_MCU == OPT_MCU_LPC40XX || \
- CFG_TUSB_MCU == OPT_MCU_SAMD11 || /* Uses DMA - Ok for FIFO, had no time for implementation */ \
- CFG_TUSB_MCU == OPT_MCU_SAMD21 || \
- CFG_TUSB_MCU == OPT_MCU_SAMD51 || \
- CFG_TUSB_MCU == OPT_MCU_SAME5X )
+// Linear buffer in case target MCU is not capable of handling a ring buffer FIFO e.g. no hardware buffer
+// is available or driver is would need to be changed dramatically
-#define USE_LINEAR_BUFFER 1
+// Only STM32 synopsys use non-linear buffer for now
+// Synopsys detection copied from dcd_synopsys.c (refactor later on)
+#if defined (STM32F105x8) || defined (STM32F105xB) || defined (STM32F105xC) || \
+ defined (STM32F107xB) || defined (STM32F107xC)
+#define STM32F1_SYNOPSYS
+#endif
+
+#if defined (STM32L475xx) || defined (STM32L476xx) || \
+ defined (STM32L485xx) || defined (STM32L486xx) || defined (STM32L496xx) || \
+ defined (STM32L4R5xx) || defined (STM32L4R7xx) || defined (STM32L4R9xx) || \
+ defined (STM32L4S5xx) || defined (STM32L4S7xx) || defined (STM32L4S9xx)
+#define STM32L4_SYNOPSYS
+#endif
+#if (CFG_TUSB_MCU == OPT_MCU_STM32F1 && defined(STM32F1_SYNOPSYS)) || \
+ CFG_TUSB_MCU == OPT_MCU_STM32F2 || \
+ CFG_TUSB_MCU == OPT_MCU_STM32F4 || \
+ CFG_TUSB_MCU == OPT_MCU_STM32F7 || \
+ CFG_TUSB_MCU == OPT_MCU_STM32H7 || \
+ (CFG_TUSB_MCU == OPT_MCU_STM32L4 && defined(STM32L4_SYNOPSYS)) \
+ #define USE_LINEAR_BUFFER 0
#else
-#define USE_LINEAR_BUFFER 0
+ #define USE_LINEAR_BUFFER 1
#endif
// Declaration of buffers