nucleo-f413zh: Add DMA config for SPI

This commit is contained in:
Koen Zandberg 2020-05-15 23:09:10 +02:00
parent 61830480e9
commit 2028a97db6
No known key found for this signature in database
GPG Key ID: 0895A893E6D2985B
2 changed files with 20 additions and 25 deletions

View File

@ -3,6 +3,7 @@ CPU_MODEL = stm32f413zh
# Put defined MCU peripherals here (in alphabetical order) # Put defined MCU peripherals here (in alphabetical order)
FEATURES_PROVIDED += periph_adc FEATURES_PROVIDED += periph_adc
FEATURES_PROVIDED += periph_dma
FEATURES_PROVIDED += periph_can FEATURES_PROVIDED += periph_can
FEATURES_PROVIDED += periph_dma FEATURES_PROVIDED += periph_dma
FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_i2c

View File

@ -38,18 +38,12 @@ extern "C" {
*/ */
#ifdef MODULE_PERIPH_DMA #ifdef MODULE_PERIPH_DMA
static const dma_conf_t dma_config[] = { static const dma_conf_t dma_config[] = {
{ .stream = 4 }, { .stream = 11 }, /* DMA2 Stream 3 - SPI1_TX */
{ .stream = 14 }, { .stream = 10 }, /* DMA2 Stream 2 - SPI1_RX */
{ .stream = 6 },
{ .stream = 10 },
{ .stream = 8 },
}; };
#define DMA_0_ISR isr_dma1_stream4 #define DMA_0_ISR isr_dma2_stream3
#define DMA_1_ISR isr_dma2_stream6 #define DMA_1_ISR isr_dma2_stream2
#define DMA_2_ISR isr_dma1_stream6
#define DMA_3_ISR isr_dma2_stream2
#define DMA_4_ISR isr_dma2_stream0
#define DMA_NUMOF ARRAY_SIZE(dma_config) #define DMA_NUMOF ARRAY_SIZE(dma_config)
#endif #endif
@ -167,22 +161,22 @@ static const uint8_t spi_divtable[2][5] = {
static const spi_conf_t spi_config[] = { static const spi_conf_t spi_config[] = {
{ {
.dev = SPI1, .dev = SPI1,
.mosi_pin = GPIO_PIN(PORT_A, 7), .mosi_pin = GPIO_PIN(PORT_A, 7),
.miso_pin = GPIO_PIN(PORT_A, 6), .miso_pin = GPIO_PIN(PORT_A, 6),
.sclk_pin = GPIO_PIN(PORT_A, 5), .sclk_pin = GPIO_PIN(PORT_A, 5),
.cs_pin = GPIO_PIN(PORT_A, 4), .cs_pin = GPIO_PIN(PORT_A, 4),
.mosi_af = GPIO_AF5, .mosi_af = GPIO_AF5,
.miso_af = GPIO_AF5, .miso_af = GPIO_AF5,
.sclk_af = GPIO_AF5, .sclk_af = GPIO_AF5,
.cs_af = GPIO_AF5, .cs_af = GPIO_AF5,
.rccmask = RCC_APB2ENR_SPI1EN, .rccmask = RCC_APB2ENR_SPI1EN,
.apbbus = APB2, .apbbus = APB2,
#ifdef MODULE_PERIPH_DMA #ifdef MODULE_PERIPH_DMA
.tx_dma = 3, .tx_dma = 0,
.tx_dma_chan = 2, .tx_dma_chan = 3,
.rx_dma = 4, .rx_dma = 1,
.rx_dma_chan = 3, .rx_dma_chan = 3,
#endif #endif
} }
}; };