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

5595 Commits

Author SHA1 Message Date
4ef0b85495
cpu/saml21: Add DMA peripheral to init 2020-06-12 20:04:05 +02:00
73c8911e62
cpu/samd5x: Add DMA peripheral to init 2020-06-12 20:04:05 +02:00
5dc1d87f74
cpu/samd21: add DMA peripheral to init 2020-06-12 20:04:05 +02:00
6be1b27bbb
sam0_common: Add DMA peripheral driver 2020-06-12 20:04:05 +02:00
benpicco
8ed8775c8e
Merge pull request #14269 from benpicco/cpu/sam0_common/timer_drop_prescaler
cpu/sam0_common: drop prescaler from timer config
2020-06-12 14:16:59 +02:00
ac8e27aab6
Merge pull request #14247 from fjmolinas/pr_stm32f1_nb
cpu/stm32: add non blocking uart
2020-06-11 21:40:27 +02:00
Benjamin Valentin
54b57bd97f cpu/sam0_common: drop prescaler from timer config
since c05984b341 the prescaler in the timer
config struct is no longer used.

Let's remove it.
2020-06-11 19:29:43 +02:00
Akshai M
6450d9989e gnrc/pktbuf : Set Kconfig defaults and conditions
Set Kconfig defaults for CPU and conditions to avoid
conflict with CFLAGS

Co-authored-by: Leandro Lanzieri <leandro.lanzieri@haw-hamburg.de>
2020-06-11 14:47:27 +05:30
Akshai M
5523d119b6 gnrc/pktbuf : Move 'GNRC_PKTBUF_SIZE' to 'CONFIG_' 2020-06-11 14:46:36 +05:30
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
Benjamin Valentin
b46ddebc81 cpu/cc26x2_cc13x2: rename aux.c to restore Windows compatibility
AUX.* is a reserved file name on Windows.

https://docs.microsoft.com/de-de/windows/win32/fileio/naming-a-file

fixes #14253
2020-06-10 23:24:09 +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
8466946ea1 cpu/cortexm_common/Kconfig: add cortexm_svc feature 2020-06-10 23:13:43 +02:00
dbe7331d10 cpu/cortexm: "free" SVC 2020-06-10 23:12:58 +02:00
Leandro Lanzieri
58cd126517
Merge pull request #14210 from btcven/2020_06_04-cc26xx_cc13xx_kconfig
boards/cc26xx_cc13xx-based: model features in Kconfig
2020-06-10 11:27:31 +02:00
Francisco
6c65fa72d7
Merge pull request #14204 from kaspar030/rename_native_trace
cpu/native: rename trace -> backtrace
2020-06-09 16:37:26 +02:00
Jean Pierre Dudey
132d936df7
cpu/cc26x0: model features in Kconfig
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-06-09 07:55:41 -05:00
89b5778381
Merge pull request #14097 from bergzand/pr/stm32_common/spi/optimize_hot_path
STM32_common/SPI: Reduce the overhead in the DMA hot path
2020-06-09 11:10:04 +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
Jean Pierre Dudey
e9a2dcd1e0
cpu/cc26x2_cc13x2: model features in Kconfig
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-06-08 08:23:45 -05:00
Jean Pierre Dudey
d9580514a3
cpu/cc26xx_cc13xx: model features in Kconfig
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-06-08 08:23:45 -05: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
Jean Pierre Dudey
fea44e8b35
cpu/cortexm_common: add HAS_CORTEX_MPU feature
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-06-04 22:16:43 -05:00
49375e1e10 cpu/native: rename trace -> backtrace 2020-06-04 14:37:01 +02:00
Leandro Lanzieri
67a43e0ada
drivers/wdt/kconfig: Rename HAS_WDT_WARNING_PERIOD
The symbol now is HAS_PERIPH_WDT_WARNING_PERIOD.
2020-06-02 17:43:19 +02:00
Leandro Lanzieri
004162060e
cpu/samd21: Add CPU series specific Kconfig symbols 2020-06-02 17:42:16 +02:00
Leandro Lanzieri
079a7ee1e5
cpu/sam0_common: Add family specific Kconfig symbols 2020-06-02 17:42:10 +02:00
José Alamos
892032907f
Merge pull request #14187 from leandrolanzieri/pr/periph/wdt_add_warning_period_feature
drivers/wdt: Add feature to indicate a configurable warning period
2020-06-02 17:18:40 +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
2f6cc5fe56
Merge pull request #14165 from bergzand/pr/nrf52/i2c_mutex_irq
nrf52/i2c: Use mutex and IRQ for blocking
2020-06-02 15:36:04 +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
Leandro Lanzieri
48759eccdc
drivers/wdt: Add feature to indicate a configurable warning period
This adds the feature `periph_wdt_warning_period` that indicates that a
platform WDT driver implementation supports a configurable
CONFIG_WDT_WARNING_PERIOD.
2020-06-02 12:54:25 +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
83a6ad182d
nrf52/i2c: Use mutex and IRQ for blocking
This commit enhances the I2C code of the nRF52 family to block on a
mutex while the I2C transfer is busy. The mutex is unlocked in the ISR
when it is trigger by either a stop condition or an error condition.
2020-06-02 10:24:40 +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
e35914612e
cpu/stm32: restore timer structure in vendor headers 2020-05-29 18:22:00 +02:00
2dc0ec00a1
cpu/stm32: adapt timer driver to common CMSIS timer structure 2020-05-29 18:22:00 +02:00
Benjamin Valentin
7c8f44a368 cpu/stm32: filter availability of RNG by CPU not by board.
The old limitation is not valid anymore, we can evaluate $(CPU_MODEL)
here directly.

The output of

    make -C tests/periph_hwrng info-boards-supported | wc -w

remains the same.
2020-05-29 18:01:12 +02:00
Benjamin Valentin
e957f339d3 cpu/stm32: don't include usbdev_stm32.h in periph_cpu_common.h
`usbdev_stm32.h` will pull in `usb.h` which causes an error if
`USB_H_USER_IS_RIOT_INTERNAL` is not set.

Turns out this include is not needed, so just drop it.
2020-05-29 17:42:19 +02:00
benpicco
d0a5e0527b
Merge pull request #14168 from leandrolanzieri/pr/dist/buildsystem_check_features_provided
sam0_common: Move feature to Makefile.features and add buildsystem check
2020-05-29 17:27:07 +02:00
Leandro Lanzieri
106ab65d7b
cpu/saml21: Check CPU_MODEL to provide periph_hwrng 2020-05-29 16:19:00 +02:00
Leandro Lanzieri
12470f0ed2
cpu/sam0_common: Move periph_timer_periodic feature to Makefile.features 2020-05-29 11:13:59 +02:00
benpicco
49aef1b678
Merge pull request #13902 from benpicco/periph_timer_periodic
periph/timer: add timer_set_periodic()
2020-05-28 18:03:32 +02:00
Benjamin Valentin
c000a77658 cpu/atmega_common: implement timer_set_periodic() 2020-05-28 17:37:42 +02:00
Benjamin Valentin
8486e8c6d1 cpu/sam0_common: implement timer_set_periodic() 2020-05-28 17:37:42 +02:00
Benjamin Valentin
41a961be22 cpu/lpc2387: timer: implement timer_set_periodic() 2020-05-28 17:37:41 +02:00
benpicco
2183fb9273
Merge pull request #14155 from maribu/atmega_timer_cleanup
cpu/atmega*: Clean up timer configs
2020-05-28 17:33:31 +02:00
Marian Buschsieweke
fb722b1be7
cpu/atmega_common/periph_timer: Fix style 2020-05-28 16:27:08 +02:00
Marian Buschsieweke
dfa6863275
cpu/atmega{1281,2560}: Relocate default timer config 2020-05-28 16:27:08 +02:00
Marian Buschsieweke
044a3f9a4c
cpu/atmega1284p: Relocate default timer config 2020-05-28 16:27:07 +02:00
Marian Buschsieweke
200afc46fa
cpu/atmega328p: Relocate default timer config 2020-05-28 16:27:07 +02:00
Marian Buschsieweke
a950d6bbb6
cpu/atmega{128rfa1,256rfr2}: Relocate default timer config 2020-05-28 16:27:07 +02:00
Marian Buschsieweke
9138e48746
cpu/atmega32u4: Relocate default timer config 2020-05-28 16:27:06 +02:00
José Alamos
917cc66e48
Merge pull request #14162 from jia200x/pr/kconfig/cortex
Kconfig/armv7_m/cortexm: declare CPU_ARCH and CPU_CORE symbols
2020-05-28 14:59:37 +02:00
Leandro Lanzieri
be8289bd8d cpu/cortexm_common: Add Kconfig symbols
This declares the architecture and core specific Kconfig symbols and the
features provided by it are selected.
2020-05-28 14:11:21 +02:00
Benjamin Valentin
7c11ae9dcc cpu/lpc2387: use TIMER_CHANNELS for consistency 2020-05-28 13:24:06 +02:00
Benjamin Valentin
ec7ae668e2 cpu/sam0_common: define TIMER_CHANNELS 2020-05-28 13:24:06 +02:00
benpicco
8a2b089cd5
Merge pull request #14098 from maribu/atmega-timer
cpu/atmega_common: Fix periph_timer
2020-05-28 13:23:22 +02:00
Marian Buschsieweke
99bd1c318c
cpu/atmega_common/periph_timer: Add timer_set
Added a low level implementation of timer_set() that allows setting relative
timeouts as short as 0. This results in tests/periph_timer_short_relative_set
no passing.
2020-05-28 11:46:02 +02:00
Leandro Lanzieri
9d4582547f
cpu/Kconfig: Add a common symbol for the CPU Core 2020-05-28 10:08:34 +02:00
3244b26ab4
Merge pull request #14141 from aabadie/pr/cpu/stm32_fam_short
cpu/stm32: use shorten name in CPU_FAM variable
2020-05-27 08:40:01 +02:00
8593176e29
Merge pull request #14140 from aabadie/pr/cpu/stm32_uid_base
cpu/stm32:  get the cpuid address from the UID_BASE constant defined in CMSIS
2020-05-27 08:39:35 +02:00
af8c4a32f6
Merge pull request #14147 from aabadie/pr/cpu/stm32f1_gpio_cleanup
cpu/stm32f1: restore default gpio struct in CMSIS + adapt driver
2020-05-27 08:39:17 +02:00
31c6a225b2
Merge pull request #14145 from aabadie/pr/cpu/stm32_cleanup_exti
cpu/stm32: restore default attribute names in exti structure for l4 and wb
2020-05-26 18:34:36 +02:00
cc9219c96e
cpu/stm32f1: adapt gpio driver and usage to CMSIS struct 2020-05-26 18:10:04 +02:00
Peter Kietzmann
4831300a6a
Merge pull request #14111 from leandrolanzieri/pr/cpu/kinetis/cleanup_dependencies
cpu/kinetis: Move dependencies to Makefile.dep
2020-05-26 17:31:09 +02:00
c40f0a79bf
cpu/stm32: adapt rtc driver to default CMSIS exti structure 2020-05-26 17:29:37 +02:00
09c1afe9c5
cpu/stm32l4/wb: restore exti structure in vendor headers 2020-05-26 17:24:59 +02:00
97942ddbe6
cpu/stm32: adapt gpio driver to default CMSIS exti structure 2020-05-26 17:24:58 +02:00
Francisco
3ef40f3321
Merge pull request #14085 from maribu/atmega_irq
cpu/atmega_common: Update to inlineable IRQ API
2020-05-26 16:33:07 +02:00
1a8f4d4f25
cpu/stm32f1: restore gpio struct to default in CMSIS header 2020-05-26 16:26:20 +02:00
61d3afcb63
cpu/stm32: remove hardcoded cpuid addr for f1 2020-05-26 15:44:50 +02:00
d78c955e50
cpu/stm32: remove hardcoded cpuid addr for f0 2020-05-26 15:44:50 +02:00
98a30ddadf
cpu/stm32: remove not needed periph_cpu.h for f3 2020-05-26 15:44:50 +02:00
4e33cebb3d
cpu/stm32: remove not needed periph_cpu.h for f7 2020-05-26 15:44:50 +02:00
bf01940ec7
cpu/stm32: use UID_BASE when possible 2020-05-26 15:44:50 +02:00
2313b85a8d
cpu/stm32: use UID_BASE from CMSIS when not defined 2020-05-26 15:44:50 +02:00
Marian Buschsieweke
9e566370bf
cpu/atmega_common: Fixed irq_arch implementation
The inline assembly implementation was badly in need of improvement.

- irq_disable() took 2 CPU cycles more than needed
    - The current interrupt state was stored in a temporary register and
      afterwards copied to the target register, rather than storing it in the
      target register right away
    - The lower bits of the state were cleared (as they have no meaning for the
      interrupt status), but the API purposely never required such things from
      implementations.
- irq_restore() took 5 CPU cycles. This was reduced to 3 CPU cycles (or 2 CPU
  cycles in the best case)
2020-05-26 15:19:14 +02:00
7bfdd7718f
cpu/stm32: introduce CPU_FAM_SHORT variable
This variable contains the short cpu family name: f1, f2, etc.
2020-05-26 12:27:12 +02:00
8959274165
cpu/stm32: update vendor headers for f1 2020-05-26 11:43:45 +02:00
1e4da87aad
cpu/stm32: update vendor headers for f0 2020-05-26 11:43:44 +02:00
4f96cdbfcd
cpu/stm32: update stm32f334 vendor header 2020-05-26 11:43:44 +02:00
8a5ea2638b
cpu/stm32: update stm32f2 vendor headers 2020-05-26 11:43:44 +02:00
4f30f27e9d
cpu/stm32: update stm32f72x vendor headers 2020-05-26 11:43:37 +02:00
benpicco
3a30db4029
Merge pull request #13895 from gschorcht/cpu/esp32/fix_i2c_gpio_32_33
cpu/esp32: fix GPIO32 and GPIO 33 as I2C pins
2020-05-25 22:37:35 +02:00
benpicco
a5836a6b27
Merge pull request #14128 from btcven/2020_05_24-cc13x2-i2c
cc26xx_cc13xx: add periph_i2c implementation
2020-05-25 22:35:55 +02:00
benpicco
4f295a439b
Merge pull request #14131 from aabadie/pr/cpu/stmclk_cleanup
cpu/stm32: move stmclk in its own module, remove useless ifdefs
2020-05-25 20:42:11 +02:00
46c4803eba
cpu/stm32: remove useless ifdef around DMA definitions 2020-05-25 13:23:20 +02:00
Jean Pierre Dudey
0f3393d61a
cpu/cc26x0: move i2c code to cc26xx_cc13xx
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2020-05-24 12:44:09 -05:00