[riot-notifications] [RIOT-OS/RIOT] boards/stm32f4: Add DMA config for SPI (#14093)

Koen Zandberg notifications at github.com
Fri May 15 23:24:05 CEST 2020


### Contribution description

This PR adds valid DMA configuration for the SPI peripherals of the boards containing an STM32F4 microcontroller. This adds the DMA as a provided feature for these boards and adds config to make it useable, but doesn't enable the DMA by default for SPI.

### Testing procedure

*with* `FEATURES_REQUIRED += periph_dma`, testing is to be done with `tests/periph_spi`. For a thorough test, check if the bytes send and received match what is expected. Otherwise simply triggering a bidirectional transaction should be sufficient, an incorrect DMA config will not set up the right interrupts and channels and will cause the SPI transfer to hang infinitely:

- [ ] msbiot
- [ ] nucleo-f401re
- [ ] nucleo-f410rb
- [ ] nucleo-f411re
- [ ] nucleo-f412zg
- [ ] nucleo-f413zh
- [ ] nucleo-f429zi
- [ ] nucleo-f446re
- [ ] nucleo-f446ze
- [ ] pyboard
- [ ] stm32f429i-disc1
- [ ] stm32f4discovery

Also please run the very short `tests/periph_dma` to verify that the UART shell doesn't break:

- [ ] msbiot
- [ ] nucleo-f401re
- [ ] nucleo-f410rb
- [ ] nucleo-f411re
- [ ] nucleo-f412zg
- [ ] nucleo-f413zh
- [ ] nucleo-f429zi
- [ ] nucleo-f446re
- [ ] nucleo-f446ze
- [ ] pyboard
- [ ] stm32f429i-disc1
- [ ] stm32f4discovery

### Issues/PRs references

Depends on #14090 to not break the shell (uart) completely when enabling DMA.
You can view, comment on, or merge this pull request online at:

  https://github.com/RIOT-OS/RIOT/pull/14093

-- Commit Summary --

  * boards/stm32f4: Set DMA_STREAM_UNDEF for UART DMA
  * boards/stm32: remove obsolete UART DMA ISR defines
  * nucleo-f401re: Add DMA config for SPI
  * nucleo-f410rb: Add DMA config for SPI
  * nucleo-f411re: Add DMA config for SPI
  * msbiot: Add DMA config for SPI
  * nucleo-f412zg: add DMA config for SPI
  * nucleo-f413zh: Add DMA config for SPI
  * nucleo-f429zi: Add DMA config for SPI
  * nucleo-f446re: Add DMA config for SPI
  * nucleo-f446ze: Add DMA config for SPI
  * pyboard: Add DMA config for SPI
  * stm32f429i-disc1: Add DMA config for SPI
  * stm32f4discovery: Add DMA config for SPI
  * ublox-c030-u201: Add DMA config for SPI

-- File Changes --

    M boards/f4vi1/include/periph_conf.h (6)
    M boards/msbiot/Makefile.features (1)
    M boards/msbiot/include/periph_conf.h (64)
    M boards/nucleo-f401re/Makefile.features (1)
    M boards/nucleo-f401re/include/periph_conf.h (128)
    M boards/nucleo-f410rb/Makefile.features (1)
    M boards/nucleo-f410rb/include/periph_conf.h (64)
    M boards/nucleo-f411re/Makefile.features (1)
    M boards/nucleo-f411re/include/periph_conf.h (64)
    M boards/nucleo-f412zg/Makefile.features (1)
    M boards/nucleo-f412zg/include/periph_conf.h (64)
    M boards/nucleo-f413zh/Makefile.features (1)
    M boards/nucleo-f413zh/include/periph_conf.h (47)
    M boards/nucleo-f429zi/Makefile.features (1)
    M boards/nucleo-f429zi/include/periph_conf.h (64)
    M boards/nucleo-f446re/Makefile.features (1)
    M boards/nucleo-f446re/include/periph_conf.h (128)
    M boards/nucleo-f446ze/Makefile.features (1)
    M boards/nucleo-f446ze/include/periph_conf.h (46)
    M boards/pyboard/Makefile.features (1)
    M boards/pyboard/include/periph_conf.h (51)
    M boards/stm32f429i-disc1/Makefile.features (1)
    M boards/stm32f429i-disc1/include/periph_conf.h (52)
    M boards/stm32f4discovery/Makefile.features (1)
    M boards/stm32f4discovery/include/periph_conf.h (96)
    M boards/ublox-c030-u201/Makefile.features (1)
    M boards/ublox-c030-u201/include/periph_conf.h (58)

-- Patch Links --

https://github.com/RIOT-OS/RIOT/pull/14093.patch
https://github.com/RIOT-OS/RIOT/pull/14093.diff

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/RIOT-OS/RIOT/pull/14093
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.riot-os.org/pipermail/notifications/attachments/20200515/cec00aab/attachment.htm>


More information about the notifications mailing list