mirror of
https://github.com/betaflight/betaflight.git
synced 2025-07-13 19:40:31 +03:00
Register allocated DMA channels for dma show
This commit is contained in:
parent
dd9a51a108
commit
f98298c22e
4 changed files with 11 additions and 4 deletions
|
@ -302,7 +302,6 @@ void spiInitBusDMA(void)
|
||||||
// no more available channels so give up
|
// no more available channels so give up
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
channel_rx = dma_claim_unused_channel(true);
|
channel_rx = dma_claim_unused_channel(true);
|
||||||
if (channel_rx == -1) {
|
if (channel_rx == -1) {
|
||||||
// no more available channels so give up, first releasing the one
|
// no more available channels so give up, first releasing the one
|
||||||
|
@ -311,6 +310,14 @@ void spiInitBusDMA(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!dmaAllocate(DMA_CHANNEL_TO_IDENTIFIER(channel_tx), OWNER_SPI_SDO, device + 1) ||
|
||||||
|
!dmaAllocate(DMA_CHANNEL_TO_IDENTIFIER(channel_rx), OWNER_SPI_SDI, device + 1)) {
|
||||||
|
// This should never happen if all allocated channels are claimed
|
||||||
|
dma_channel_unclaim(channel_tx);
|
||||||
|
dma_channel_unclaim(channel_rx);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
bus->dmaTx = &dmaDescriptors[DMA_CHANNEL_TO_INDEX(channel_tx)];
|
bus->dmaTx = &dmaDescriptors[DMA_CHANNEL_TO_INDEX(channel_tx)];
|
||||||
bus->dmaTx->channel = channel_tx;
|
bus->dmaTx->channel = channel_tx;
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ dmaChannelDescriptor_t dmaDescriptors[DMA_LAST_HANDLER] = {
|
||||||
DEFINE_DMA_CHANNEL(DMA_CH9_HANDLER),
|
DEFINE_DMA_CHANNEL(DMA_CH9_HANDLER),
|
||||||
DEFINE_DMA_CHANNEL(DMA_CH10_HANDLER),
|
DEFINE_DMA_CHANNEL(DMA_CH10_HANDLER),
|
||||||
DEFINE_DMA_CHANNEL(DMA_CH11_HANDLER),
|
DEFINE_DMA_CHANNEL(DMA_CH11_HANDLER),
|
||||||
#ifdef RP2350
|
#if defined(RP2350A) || defined(RP2350B)
|
||||||
DEFINE_DMA_CHANNEL(DMA_CH12_HANDLER),
|
DEFINE_DMA_CHANNEL(DMA_CH12_HANDLER),
|
||||||
DEFINE_DMA_CHANNEL(DMA_CH13_HANDLER),
|
DEFINE_DMA_CHANNEL(DMA_CH13_HANDLER),
|
||||||
DEFINE_DMA_CHANNEL(DMA_CH14_HANDLER),
|
DEFINE_DMA_CHANNEL(DMA_CH14_HANDLER),
|
||||||
|
|
|
@ -49,7 +49,7 @@ static dmaChannelSpec_t dmaChannelSpec[MAX_PERIPHERAL_DMA_OPTIONS] = {
|
||||||
DMA(10),
|
DMA(10),
|
||||||
DMA(11),
|
DMA(11),
|
||||||
DMA(12),
|
DMA(12),
|
||||||
#ifdef RP2350
|
#if defined(RP2350A) || defined(RP2350B)
|
||||||
DMA(13),
|
DMA(13),
|
||||||
DMA(14),
|
DMA(14),
|
||||||
DMA(15),
|
DMA(15),
|
||||||
|
|
|
@ -39,7 +39,7 @@ typedef enum {
|
||||||
DMA_CH9_HANDLER,
|
DMA_CH9_HANDLER,
|
||||||
DMA_CH10_HANDLER,
|
DMA_CH10_HANDLER,
|
||||||
DMA_CH11_HANDLER,
|
DMA_CH11_HANDLER,
|
||||||
#ifdef RP2350
|
#if defined(RP2350A) || defined(RP2350B)
|
||||||
DMA_CH12_HANDLER,
|
DMA_CH12_HANDLER,
|
||||||
DMA_CH13_HANDLER,
|
DMA_CH13_HANDLER,
|
||||||
DMA_CH14_HANDLER,
|
DMA_CH14_HANDLER,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue