1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

88 Commits

Author SHA1 Message Date
hugues
d06aa3cd63 cpu/stm32/periph/dma: add support for STM32F3 2020-08-19 11:26:04 +02:00
hugues
2f0ac9e820 cpu/stm32/periph/spi: use dma_stop for STM32s that need it 2020-08-19 11:25:34 +02:00
millotp
69858916c7 boards: enable CAN bus on nucleo-f446re & nucleo-f446ze
Changed the pinout for the CAN bus:
CAN RX: PB8
CAN TX: PB9

And added periph_can to FEATURES_PROVIDED and to Kconfig files
2020-07-27 14:36:29 +02:00
42eb044ec6
Merge pull request #14482 from hugueslarrive/cpu/stm32/periph/pwm
cpu/stm32/periph/pwm: some bugfixes...
2020-07-24 21:05:57 +02:00
Gunar Schorcht
044d08d599 cpu/stm32: GPIO ports definition fix
The available GPIO ports may also differ within a family. Therefore, the vendor definitions GPIO* are used instad of CPU_FAM_STM definitions to determine which ports are available for a certain MCU.
2020-07-22 09:13:52 +02:00
dada52ecd2
cpu/stm32: add stm32g0 support 2020-07-21 12:45:25 +02:00
dea506a719
cpu/stm32wb: define missing IMR bit in CMSIS 2020-07-16 17:35:50 +02:00
1a095b36fa
cpu/stm32: adapt UART driver for stm32l4r5 cpu line 2020-07-16 17:35:49 +02:00
8e87dedbce
cpu/stm32: remove not needed CMSIS vendor headers 2020-07-16 17:35:49 +02:00
f21440b176
cpu/stm32: use CMSIS headers from the stm32cmsis package 2020-07-16 17:35:48 +02:00
8046a74e50
cpu/stm32: model features in Kconfig 2020-07-16 11:34:02 +02:00
055c43c878
cpu/stm32: enable flashpage feature for stm32f031k6 2020-07-16 11:15:30 +02:00
Marian Buschsieweke
aec9eb7f6a
cpu/stm32: Fix uart_init()
- Make use of the fact that gpio_init_af() does not need prior call to
  gpio_init() for all STM32 families anymore and drop call to gpio_init()
- Initialize the UART periph first, before initializing the pins
    - While uninitialized, the UART periph will send signal LOW to TXD. This
      results in a start bit being picked up by the other side.
    - Instead, we do not connect the UART periph to the pins until it is
      initialized, so that the TXD level will already be HIGH when the pins
      are attached.
    - This results in no more garbage being send during initialization
2020-07-15 12:12:46 +02:00
Marian Buschsieweke
73c9161517
cpu/stm32: Fix gpio_init() / gpio_int_af()
- Do not set an intermediate mode, prepare correct mode settings in a temporary
  variable
- Consistently enabled the GPIO periph in gpio_init_af()
    - Previously, STM32 F1 did not require a separate call to gpio_init() prior
      to a call of gpio_init_af(), but other STM32 families did
    - Now, gpio_init_af() can be used without gpio_init() consistently
- STM32 F1: Do not touch ODR for non input pins
    - For input pins, this enables / disabled pull up resistors. For outputs,
      this register should remain untouched (according to API doc)
2020-07-15 12:12:45 +02:00
hugues
0926a04b08 cpu/stm32/periph/pwm: useless static var and a semicolon removed 2020-07-14 01:41:16 +02:00
Gilles DOFFE
892370121d
cpu/stm32/qdec: test null callback pointer (#14125)
cpu/stm32/qdec: test if callback pointer is set

Callback pointer is not tested and could result in a hard fault
if the pointer is NULL.
Thus only activate interrupt if a callback provided.

Signed-off-by: Gilles DOFFE <g.doffe@gmail.com>
2020-07-10 15:05:53 +02:00
hugues
304d3f9e8d cpu/stm32/periph/pwm: some bugfixes... 2020-07-10 13:47:45 +02:00
hugues
d069c6e787 cpu/stm32/periph/pwm: CCMR1 was defined a second time instead of CCMR2 2020-07-10 13:47:45 +02:00
hugues
a5da5953b2 cpu/stm32/periph/pwm: multiple devices PWM_RIGHT mode bugfix 2020-07-10 13:47:09 +02:00
hugues
16e454ccaf cpu/stm32/periph/pwm: some bugfixes... 2020-07-09 23:49:00 +02:00
hugues
11e847c9af cpu/stm32: fix off-by-one error in clock frequency assert 2020-07-08 14:17:14 +02:00
Bas Stottelaar
21f9afdb5b
Merge pull request #14318 from benpicco/cpu/stm32-TIMER_CHANNELS
cpu/stm32: use TIMER_CHANNEL_NUMOF for consistency
2020-06-24 15:32:22 +02:00
Benjamin Valentin
06cdd30fcb cpu/stm32: use TIMER_CHANNEL_NUMOF for consistency 2020-06-24 12:58:38 +02:00
25c609f2d3
Merge pull request #12101 from OTAkeys/pr/fix_i2c_release
cpu/stm32_common: disable i2c in release
2020-06-23 10:21:15 +02:00
f546c6238b
cpu/stm32: add support for stm32g4 2020-06-19 14:18:17 +02:00
07c78efc83
Merge pull request #14285 from fjmolinas/pr_uart_nb_race
sam0/stm32: fix possible uart_nonblocking deadlock
2020-06-17 12:14:25 +02:00
Francisco Molina
09f0fd4526
cpu/stm32: avoid deadlock on nonblocking write
If a write to a full tsrb is attempted with disabled interrupts
or in a interrupt then a deadlock will occure. To avoid this make
space in the ringbuffer by synchrnously writing to uart.
2020-06-17 10:01:21 +02:00
Francisco Molina
0b8adb2d27
cpu/sam0-stm32/uart: rename tx buf size to UART_TXBUF_SIZE 2020-06-17 10:01:20 +02:00
Francisco Molina
dd331c91d3
cpu/stm32/uart: enable irq for non blocking uart 2020-06-17 10:01:19 +02:00
Leandro Lanzieri
4d65bc8e0a
cpu: Rename CPU_ARCH to CPU_CORE 2020-06-16 12:05:40 +02:00
Francisco Molina
3107993434
cpu/stm32: add non blocking uart
Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2020-06-11 09:51:41 +02:00
benpicco
f75c971297
Merge pull request #14119 from benpicco/cpu/stm32_usb_bootloader
cpu/stm32: implement reset to bootloader
2020-06-10 23:13:50 +02:00
29739be13a
stm32/spi: Use new DMA setup/prepare functions 2020-06-09 10:20:50 +02:00
b7d0cbcd57
stm32/spi: Remove superfluous DMA stop call
The DMA stream will automatically disable itself as soon as the transfer
is finished. No need to do this an additional time after the transfer is
finished
2020-06-09 10:20:49 +02:00
fddf0897e8
stm32/spi: Acquire/release the DMA during the SPI acquire/release 2020-06-09 10:20:49 +02:00
3a8dd32265
stm32/spi: Reduce register writes in hot path
This combines a number of register writes in the SPI
acquire and transfer code. The DMA enable for SPI is moved to the
acquire function, switching between DMA and regular transfer between
acquires is not possible.
2020-06-09 10:20:49 +02:00
Toon Stegen
ac9afbe4f5 cpu/stm32_common: disable i2c in release
the hardware peripheral should be disabled before stopping the
peripheral clock.
2020-06-08 12:27:03 +02:00
Benjamin Valentin
0819f0eb39 cpu/stm32: implement reset to bootloader
The STM32 line of microcontrollers comes with a bootloader in the ROM.
It provides the option to flash the device firmware in DFU mode (USB)
or via UART or SPI.

To enter the bootloader we have to jump to a specific address in memory,
but before reset the CPU to make sure the system is in a known state.

This enables us to use the usb_board_reset module on all STM32 platforms.
2020-06-05 18:41:06 +02:00
460c396101
stm32/spi: Add define for default CR2 settings 2020-06-02 16:04:02 +02:00
c28477a4f0
Merge pull request #14096 from bergzand/pr/stm32_common/dma/optimize_hot_path
STM32_common/dma: Optimize the latency in the hot path
2020-06-02 16:01:27 +02:00
a3f8a381ab
Merge pull request #14183 from benpicco/cpu/stm32/Makefile.features-HWRNG
cpu/stm32/Makefile.features: capture whole family
2020-06-02 14:26:23 +02:00
f583f388be
stm32/dma: Cache DMA stream base address 2020-06-02 11:52:11 +02:00
9ab7e7ef33
stm32/dma: add setup and prepare functions
This commit adds two new functions to the DMA peripheral code for the
stm32. The setup function allows for a one-time setup of peripheral
config. The prepare function does the per-transfer setup. This allows
for a single setup call during the peripheral lock step and a
per-transfer call to the prepare function.
2020-06-02 11:52:11 +02:00
bdeec688f5
Merge pull request #14174 from benpicco/cpu/stm32_usb_includes
cpu/stm32: don't include usbdev_stm32.h in periph_cpu_common.h
2020-06-02 11:42:19 +02:00
Benjamin Valentin
2c346387f6 cpu/stm32/Makefile.features: capture whole family
All members of the stm32f401* family (etc) don't have the HWRNG
peripheral.
Apply a broader wildcard so we don't have to touch this file when
adding new boards with slightly different MCUs.
2020-06-01 16:25:37 +02:00
benpicco
7286c32b5d
Merge pull request #14144 from aabadie/pr/cpu/stm32_cleanup_tim_ccr
cpu/stm32: cleanup timer structure in vendor headers
2020-06-01 16:18:57 +02:00
benpicco
1ac9e70f57
Merge pull request #14177 from GabrielDai/blxxxpill-qdec
cpu/stm32: add qdec support for CPU_FAM_STM32F1
2020-06-01 16:17:45 +02:00
a858c980c4
cpu/stm32: fix remaining occurence of stm32f1 cpu family 2020-05-30 18:59:36 +02:00
2448b26a8b
cpu/stm32: fix issue with cpu feature name 2020-05-30 18:59:01 +02:00
Gabriel Moyano
52ddeeedb0 cpu/stm32: add qdec support for CPU_FAM_STM32F1 2020-05-29 21:11:54 +02:00