|
|
|
@ -88,18 +88,47 @@
@@ -88,18 +88,47 @@
|
|
|
|
|
* Definitions |
|
|
|
|
************************************************************************************/ |
|
|
|
|
/* Configuration ********************************************************************/ |
|
|
|
|
/* SPI interrupts */ |
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_STM32_SPI_INTERRUPTS |
|
|
|
|
# error "Interrupt driven SPI not yet supported" |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/* Can't have both interrupt driven SPI and SPI DMA */ |
|
|
|
|
|
|
|
|
|
#if defined(CONFIG_STM32_SPI_INTERRUPTS) && defined(CONFIG_STM32_SPI_DMA) |
|
|
|
|
# error "Cannot enable both interrupt mode and DMA mode for SPI" |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/* DMA channel configuration */ |
|
|
|
|
/* SPI DMA priority */ |
|
|
|
|
|
|
|
|
|
#ifdef CONFIG_STM32_SPI_DMA |
|
|
|
|
|
|
|
|
|
# if defined(CONFIG_SPI_DMAPRIO) |
|
|
|
|
# define SPI_DMA_PRIO CONFIG_SPI_DMAPRIO |
|
|
|
|
# elif defined(CONFIG_STM32_STM32F10XX) |
|
|
|
|
# define SPI_DMA_PRIO DMA_CCR_PRIMED |
|
|
|
|
# elif defined(CONFIG_STM32_STM32F20XX) || defined(CONFIG_STM32_STM32F40XX) |
|
|
|
|
# define SPI_DMA_PRIO DMA_SCR_PRIMED |
|
|
|
|
# else |
|
|
|
|
# error "Unknown STM32 DMA" |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
#define SPI_DMA_PRIO DMA_CCR_PRIMED /* Check this to alter priority */ |
|
|
|
|
# if defined(CONFIG_STM32_STM32F10XX) |
|
|
|
|
# if (SPI_DMA_PRIO & ~DMA_CCR_PL_MASK) != 0 |
|
|
|
|
# error "Illegal value for CONFIG_SPI_DMAPRIO" |
|
|
|
|
# endif |
|
|
|
|
# elif defined(CONFIG_STM32_STM32F20XX) || defined(CONFIG_STM32_STM32F40XX) |
|
|
|
|
# if (SPI_DMA_PRIO & ~DMA_SCR_PL_MASK) != 0 |
|
|
|
|
# error "Illegal value for CONFIG_SPI_DMAPRIO" |
|
|
|
|
# endif |
|
|
|
|
# else |
|
|
|
|
# error "Unknown STM32 DMA" |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/* DMA channel configuration */ |
|
|
|
|
|
|
|
|
|
#define SPI_RXDMA16_CONFIG (SPI_DMA_PRIO|DMA_CCR_MSIZE_16BITS|DMA_CCR_PSIZE_16BITS|DMA_CCR_MINC ) |
|
|
|
|
#define SPI_RXDMA8_CONFIG (SPI_DMA_PRIO|DMA_CCR_MSIZE_8BITS |DMA_CCR_PSIZE_8BITS |DMA_CCR_MINC ) |
|
|
|
|