summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrobert-hh <robert@hammelrath.com>2021-10-03 20:54:18 +0200
committerDamien George <damien@micropython.org>2021-10-25 15:50:44 +1100
commit06d1b02014b37664b5b9ecd3841bb48841c7c44c (patch)
tree20f6fa4670488278b958f1e7527313a8f07792f6
parent101d2ddea308d532818fc456d4093941fa01e37b (diff)
mimxrt/dma_channel: Fix the DMA channel management.
The MIMXRT1011 has only 16 channels, so size the channel list accordingly.
-rw-r--r--ports/mimxrt/dma_channel.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/ports/mimxrt/dma_channel.c b/ports/mimxrt/dma_channel.c
index 3dd043a66..c6cae9da9 100644
--- a/ports/mimxrt/dma_channel.c
+++ b/ports/mimxrt/dma_channel.c
@@ -27,10 +27,17 @@
#include "dma_channel.h"
// List of channel flags: true: channel used, false: channel available
-static bool channel_list[32] = { true, true, true, true, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false,
- false, false, false, false, false, false, false, false };
+static bool channel_list[FSL_FEATURE_DMAMUX_MODULE_CHANNEL] = {
+ true, true, true, true, false, false, false, false,
+ false, false, false, false, false, false, false, false,
+
+ #if FSL_FEATURE_DMAMUX_MODULE_CHANNEL > 16
+
+ false, false, false, false, false, false, false, false,
+ false, false, false, false, false, false, false, false
+
+ #endif
+};
// allocate_channel(): retrieve an available channel. Return the number or -1
int allocate_dma_channel(void) {