diff options
| author | robert-hh <robert@hammelrath.com> | 2021-10-03 20:54:18 +0200 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2021-10-25 15:50:44 +1100 |
| commit | 06d1b02014b37664b5b9ecd3841bb48841c7c44c (patch) | |
| tree | 20f6fa4670488278b958f1e7527313a8f07792f6 | |
| parent | 101d2ddea308d532818fc456d4093941fa01e37b (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.c | 15 |
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) { |
