STM32 DMA drivers now export an STM32_DMA_MAX_TRANSFER definition.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@15845 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
efd143f36b
commit
50b1d6a8ff
|
@ -38,6 +38,11 @@
|
|||
*/
|
||||
#define STM32_DMA_ADVANCED FALSE
|
||||
|
||||
/**
|
||||
* @brief Maximum number of transfers in a single operation.
|
||||
*/
|
||||
#define STM32_DMA_MAX_TRANSFER 65535
|
||||
|
||||
/**
|
||||
* @brief Total number of DMA streams.
|
||||
* @details This is the total number of streams among all the DMA units.
|
||||
|
|
|
@ -36,6 +36,11 @@
|
|||
*/
|
||||
#define STM32_DMA_ADVANCED TRUE
|
||||
|
||||
/**
|
||||
* @brief Maximum number of transfers in a single operation.
|
||||
*/
|
||||
#define STM32_DMA_MAX_TRANSFER 65535
|
||||
|
||||
/**
|
||||
* @brief Total number of DMA streams.
|
||||
* @details This is the total number of streams among all the DMA units.
|
||||
|
|
|
@ -534,7 +534,7 @@ void spi_lld_unselect(SPIDriver *spip) {
|
|||
*/
|
||||
void spi_lld_ignore(SPIDriver *spip, size_t n) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, &dummyrx);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -566,7 +566,7 @@ void spi_lld_ignore(SPIDriver *spip, size_t n) {
|
|||
void spi_lld_exchange(SPIDriver *spip, size_t n,
|
||||
const void *txbuf, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, rxbuf);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -595,7 +595,7 @@ void spi_lld_exchange(SPIDriver *spip, size_t n,
|
|||
*/
|
||||
void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, &dummyrx);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -624,7 +624,7 @@ void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
|||
*/
|
||||
void spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, rxbuf);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
|
|
@ -720,7 +720,7 @@ void spi_lld_unselect(SPIDriver *spip) {
|
|||
*/
|
||||
msg_t spi_lld_ignore(SPIDriver *spip, size_t n) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, &spip->rxsink);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -755,7 +755,7 @@ msg_t spi_lld_ignore(SPIDriver *spip, size_t n) {
|
|||
msg_t spi_lld_exchange(SPIDriver *spip, size_t n,
|
||||
const void *txbuf, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, rxbuf);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -787,7 +787,7 @@ msg_t spi_lld_exchange(SPIDriver *spip, size_t n,
|
|||
*/
|
||||
msg_t spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, &spip->rxsink);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -819,7 +819,7 @@ msg_t spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
|||
*/
|
||||
msg_t spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, rxbuf);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
|
|
@ -559,7 +559,7 @@ void spi_lld_unselect(SPIDriver *spip) {
|
|||
*/
|
||||
void spi_lld_ignore(SPIDriver *spip, size_t n) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, &dummyrx);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -591,7 +591,7 @@ void spi_lld_ignore(SPIDriver *spip, size_t n) {
|
|||
void spi_lld_exchange(SPIDriver *spip, size_t n,
|
||||
const void *txbuf, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, rxbuf);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -620,7 +620,7 @@ void spi_lld_exchange(SPIDriver *spip, size_t n,
|
|||
*/
|
||||
void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, &dummyrx);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -649,7 +649,7 @@ void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
|||
*/
|
||||
void spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, rxbuf);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
|
|
@ -730,7 +730,7 @@ void spi_lld_unselect(SPIDriver *spip) {
|
|||
*/
|
||||
msg_t spi_lld_ignore(SPIDriver *spip, size_t n) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, &spip->rxsink);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -765,7 +765,7 @@ msg_t spi_lld_ignore(SPIDriver *spip, size_t n) {
|
|||
msg_t spi_lld_exchange(SPIDriver *spip, size_t n,
|
||||
const void *txbuf, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, rxbuf);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -797,7 +797,7 @@ msg_t spi_lld_exchange(SPIDriver *spip, size_t n,
|
|||
*/
|
||||
msg_t spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, &spip->rxsink);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
@ -829,7 +829,7 @@ msg_t spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
|||
*/
|
||||
msg_t spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
dmaStreamSetMemory0(spip->dmarx, rxbuf);
|
||||
dmaStreamSetTransactionSize(spip->dmarx, n);
|
||||
|
|
|
@ -825,7 +825,7 @@ void spi_lld_unselect(SPIDriver *spip) {
|
|||
*/
|
||||
void spi_lld_ignore(SPIDriver *spip, size_t n) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
spi_lld_wait_complete(spip);
|
||||
|
||||
|
@ -885,7 +885,7 @@ void spi_lld_ignore(SPIDriver *spip, size_t n) {
|
|||
void spi_lld_exchange(SPIDriver *spip, size_t n,
|
||||
const void *txbuf, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
spi_lld_wait_complete(spip);
|
||||
|
||||
|
@ -942,7 +942,7 @@ void spi_lld_exchange(SPIDriver *spip, size_t n,
|
|||
*/
|
||||
void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
spi_lld_wait_complete(spip);
|
||||
|
||||
|
@ -999,7 +999,7 @@ void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
|||
*/
|
||||
void spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
spi_lld_wait_complete(spip);
|
||||
|
||||
|
|
|
@ -1069,7 +1069,7 @@ void spi_lld_unselect(SPIDriver *spip) {
|
|||
*/
|
||||
msg_t spi_lld_ignore(SPIDriver *spip, size_t n) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
#if defined(STM32_SPI_DMA_REQUIRED) && defined(STM32_SPI_BDMA_REQUIRED)
|
||||
if (spip->is_bdma)
|
||||
|
@ -1130,7 +1130,7 @@ msg_t spi_lld_ignore(SPIDriver *spip, size_t n) {
|
|||
msg_t spi_lld_exchange(SPIDriver *spip, size_t n,
|
||||
const void *txbuf, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
#if defined(STM32_SPI_DMA_REQUIRED) && defined(STM32_SPI_BDMA_REQUIRED)
|
||||
if (spip->is_bdma)
|
||||
|
@ -1188,7 +1188,7 @@ msg_t spi_lld_exchange(SPIDriver *spip, size_t n,
|
|||
*/
|
||||
msg_t spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
#if defined(STM32_SPI_DMA_REQUIRED) && defined(STM32_SPI_BDMA_REQUIRED)
|
||||
if (spip->is_bdma)
|
||||
|
@ -1246,7 +1246,7 @@ msg_t spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf) {
|
|||
*/
|
||||
msg_t spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf) {
|
||||
|
||||
osalDbgAssert(n < 65536, "unsupported DMA transfer size");
|
||||
osalDbgAssert(n <= STM32_DMA_MAX_TRANSFER, "unsupported DMA transfer size");
|
||||
|
||||
#if defined(STM32_SPI_DMA_REQUIRED) && defined(STM32_SPI_BDMA_REQUIRED)
|
||||
if (spip->is_bdma)
|
||||
|
|
|
@ -74,6 +74,7 @@
|
|||
*****************************************************************************
|
||||
|
||||
*** Next ***
|
||||
- NEW: STM32 DMA drivers now export an STM32_DMA_MAX_TRANSFER definition.
|
||||
- NEW: PAL events for RP2040 added.
|
||||
- NEW: Added a "waend" field to the thread structure in RT for debug
|
||||
convenience.
|
||||
|
|
Loading…
Reference in New Issue