diff --git a/boards/nucleo-f446ze/Makefile.features b/boards/nucleo-f446ze/Makefile.features index d9f6d7e060..5324f7746a 100644 --- a/boards/nucleo-f446ze/Makefile.features +++ b/boards/nucleo-f446ze/Makefile.features @@ -2,6 +2,7 @@ CPU = stm32f4 CPU_MODEL = stm32f446ze # Put defined MCU peripherals here (in alphabetical order) +FEATURES_PROVIDED += periph_dma FEATURES_PROVIDED += periph_i2c FEATURES_PROVIDED += periph_pwm FEATURES_PROVIDED += periph_rtc diff --git a/boards/nucleo-f446ze/include/periph_conf.h b/boards/nucleo-f446ze/include/periph_conf.h index 169d7b2f1d..06390d2835 100644 --- a/boards/nucleo-f446ze/include/periph_conf.h +++ b/boards/nucleo-f446ze/include/periph_conf.h @@ -30,6 +30,24 @@ extern "C" { #endif +/** + * @name DMA streams configuration + * @{ + */ +#ifdef MODULE_PERIPH_DMA +static const dma_conf_t dma_config[] = { + { .stream = 11 }, /* DMA2 Stream 3 - SPI1_TX */ + { .stream = 10 }, /* DMA2 Stream 2 - SPI1_RX */ +}; + +#define DMA_0_ISR isr_dma2_stream3 +#define DMA_1_ISR isr_dma2_stream2 + +#define DMA_NUMOF ARRAY_SIZE(dma_config) + +#endif /* MODULE_PERIPH_DMA */ +/** @} */ + /** * @name UART configuration * @{ @@ -132,8 +150,14 @@ static const spi_conf_t spi_config[] = { .sclk_af = GPIO_AF5, .cs_af = GPIO_AF5, .rccmask = RCC_APB2ENR_SPI1EN, - .apbbus = APB2 - } + .apbbus = APB2, +#ifdef MODULE_PERIPH_DMA + .tx_dma = 0, + .tx_dma_chan = 3, + .rx_dma = 1, + .rx_dma_chan = 3, +#endif + }, }; #define SPI_NUMOF ARRAY_SIZE(spi_config)