1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-25 06:23:53 +01:00

7766 Commits

Author SHA1 Message Date
benpicco
2917c0f51e
Merge pull request #18506 from gschorcht/cpu/esp32/add_esp32s2_cpu_support
cpu/esp32: add support for ESP32-S2
2022-08-30 21:24:36 +02:00
Kevin "Tristate Tom" Weiss
8a340fec11
Merge pull request #18223 from benpicco/cpu/sam0_common-spi_clk
cpu/sam0_common: spi: limit clock to source clock
2022-08-30 19:30:49 +02:00
benpicco
c9bbac816c
Merge pull request #18527 from dylad/pr/fix_sam0_timer_stop
cpu/sam0/timer: supply all clocks before accessing any regs
2022-08-30 15:21:31 +02:00
Gunar Schorcht
d130f8cc8c cpu/esp_common: fix thread_arch.c for ESP32-S2 2022-08-30 15:08:39 +02:00
Gunar Schorcht
b96aac842b cpu/esp32: export FLASH_* settings
To get FLASH_* settings visible in cpu/esp32/bootloader/Makefile, they have to be exported in cpu/esp32/Makefile.include
2022-08-30 15:08:39 +02:00
Marian Buschsieweke
57201e7521
Merge pull request #18478 from benpicco/cpu/nrf5x_i2c_spi_share
cpu/nrf5x: allow providing multiple I2C and SPI buses on the same shared periph
2022-08-30 12:18:05 +02:00
Benjamin Valentin
7b7eb9d17b cpu/nrf5x: allow multiple I2C and SPI buses on a shared periph 2022-08-30 10:05:34 +02:00
Dylan Laduranty
950a7d51e9 cpu/sam0/timer: supply all clocks before accessing any regs
Signed-off-by: Dylan Laduranty <dylan.laduranty@mesotic.com>
2022-08-30 09:25:46 +02:00
Gunar Schorcht
14edc937bf cpu/esp_common: add ESP32-S2 support in module esp_xtensa 2022-08-29 17:19:39 +02:00
Gunar Schorcht
06bb755c03 cpu/esp32: add ESP32-S2 support in peripheral drivers 2022-08-29 17:19:39 +02:00
Gunar Schorcht
dac197031e cpu/esp32: add ESP32-S2 specific configuration header files 2022-08-29 17:19:39 +02:00
Gunar Schorcht
67183a196d cpu/esp32/bootloader: add ESP32-S2 support 2022-08-29 17:19:39 +02:00
Gunar Schorcht
60c681a2c3 cpu/esp32/esp-ble-nimble: fix too many empty lines in syscfg.h 2022-08-27 17:27:23 +02:00
Gunar Schorcht
5e0b1d665b cpu/esp32: add BLE support for ESP32-S3 2022-08-26 21:16:09 +02:00
Gunar Schorcht
b13bc776c2 cpu/esp_common/freertos: changes required for BLE 2022-08-26 21:16:09 +02:00
Gunar Schorcht
ce215f5be6 cpu/esp32: add BLE support in linker scripts for ESP32-S3 2022-08-26 21:16:09 +02:00
benpicco
5b6dff045a
Merge pull request #18510 from gschorcht/cpu/esp32/add_esp32c3_ble_support
cpu/esp32: enable BLE and NimBLE host support for ESP32-C3
2022-08-26 21:04:49 +02:00
Gunar Schorcht
aba5e35ac4 cpu/esp32: add BLE support for ESP32-C3 2022-08-26 17:10:42 +02:00
benpicco
28cedd52a0
Merge pull request #18201 from benpicco/slip_dose_rxqueue
drivers/{dose, slipdev, sam0_eth}: generate RX event for queued packets
2022-08-26 13:25:13 +02:00
benpicco
ffc657071e
Merge pull request #18509 from gschorcht/cpu/esp32/add_esp32s2_linker_scripts
cpu/esp32: add linker scripts for ESP32-S2
2022-08-24 21:41:53 +02:00
benpicco
d1377eb0bd
Merge pull request #18505 from gschorcht/cpu/esp32/add_esp32s2_support_in_doc
cpu/esp32: add ESP32-S2 support in documentation
2022-08-24 20:36:47 +02:00
benpicco
0fff68dc9b
Merge pull request #18504 from gschorcht/cpu/esp32/add_esp32s2_support_in_kconfig
cpu/esp32: add ESP32-S2 support in Kconfig
2022-08-24 20:30:48 +02:00
Gunar Schorcht
2ec9ca1276 cpu/esp32: add BLE support in linker scripts for ESP32-C3 2022-08-24 18:08:31 +02:00
Gunar Schorcht
0574f463bb cpu/esp_common/freertos: changes required for BLE 2022-08-24 18:02:21 +02:00
Gunar Schorcht
e216a7d719 cpu/esp32: add linker scripts for ESP32-S2 2022-08-24 17:58:41 +02:00
Gunar Schorcht
8ee714cc9b cpu/esp*: cleanup of CPU_ARCH* and CPU_CORE* 2022-08-24 17:15:37 +02:00
Gunar Schorcht
f848f668e3 cpu/esp32: add some debugging info in esp_ble_nimble 2022-08-24 09:05:25 +02:00
Gunar Schorcht
35676ca712 cpu/esp_common: fix of blocking mechanism in FreeRTOS queus
When FreeRTOS semaphores, as required by ESP-IDF, are used together with `gnrc_netif`, RIOT may crash if `STATUS_RECEIVE_BLOCKED` is used as a blocking mechanism in the FreeRTOS adaptation layer. The reason for this is that `gnrc_netif` uses thread flags since PR #16748. If the `gnrc_netif` thread is blocked because of a FreeRTOS semaphore, and is thus in `STATUS_RECEIVE_BLOCKED` state, the `_msg_send` function will cause a crash because it then assumes that `target->wait_data` contains a pointer to a message of type `msg_t`, but by using thread flags it contains the flag mask. This situation can happen if the ESP hardware is used while another thread is sending something timer controlled to the `gnrc_netif` thread.

To solve this problem `STATUS_MUTEX_LOCKED` is used instead of `STATUS_RECEIVE_BLOCKED` and `STATUS_SEND_BLOCKED`
2022-08-24 09:05:25 +02:00
Gunar Schorcht
26956a9a2b cpu/esp_common: use BLE as netdev_default if nimble_netif is used
To reduce the required RAM in default configuration, the BLE interface is used as netdev_default instead of ESP-NOW. Further network interfaces can be enabled with the modules `esp_now`, `esp_wifi` or `esp_eth`.
2022-08-24 09:05:25 +02:00
Gunar Schorcht
56e59eb036 cpu/esp32: add NimBLE support for ESP32 2022-08-24 09:05:25 +02:00
Gunar Schorcht
abccc41db7 cpu/esp32: add BLE support for ESP32 2022-08-24 09:05:25 +02:00
Gunar Schorcht
48e7263674 cpu/esp32: add BLE support in linker scripts for ESP32 2022-08-24 09:03:38 +02:00
Gunar Schorcht
e257652e1d cpu/esp32/esp-idf: add ESP-IDF module for BLE support 2022-08-24 09:03:38 +02:00
Gunar Schorcht
cdc8a725a4 cpu/esp_common/freertos: changes required for BLE 2022-08-24 09:03:38 +02:00
Gunar Schorcht
b74bf015ef cpu/esp32: change the UART interrupt number
When using Bluetooth LE, the former UART interrupt number 5 is occupied by the ESP32 Bluetooth Controller. Therefore, another interrupt number has to be used for UART.
2022-08-24 09:03:38 +02:00
Gunar Schorcht
0bef4c0c30 pkg/nimble: conditional compilation of nRF5x code
The package uses the nRFx SDK package `nrfx`. In addition, the `mynewt-nimble` repository contains some files (`porting/nimble/src/hal_timer.c` and `porting/npl/riot/src/nrf5x_isr.c`) that are compilable only for nRF MCUs. To allow the compilation for other platforms, the use of the `nrfx` package and the compilation of these files are now dependent on the use of any nRF5x MCU.
2022-08-24 09:03:38 +02:00
Gunar Schorcht
53376ce2d3 cpu/esp32: add ESP32-S2 support in doc 2022-08-23 17:36:13 +02:00
Gunar Schorcht
13e3e09414 cpu/esp32: add ESP32-S2 support in Kconfig 2022-08-23 17:35:32 +02:00
Gunar Schorcht
fbdad5fe02 cpu/esp32: add ESP32-S2 support to ESP-IDF compilation 2022-08-23 17:34:38 +02:00
Gunar Schorcht
cd5c350e88 cpu/esp32: add ESP32-S2 support in makefiles 2022-08-23 17:34:25 +02:00
benpicco
00ede8f7d2
Merge pull request #18421 from gschorcht/cpu/esp32/add_esp32s3_cpu_support
cpu/esp32: add support for ESP32-S3
2022-08-22 17:33:05 +02:00
Benjamin Valentin
14b5eca22d cpu/nrf9160: add locking for shared peripherals 2022-08-19 15:47:53 +02:00
Benjamin Valentin
5129d249e9 cpu/nrf52: add locking for shared peripherals 2022-08-19 15:47:53 +02:00
Benjamin Valentin
74dc558972 cpu/{sam0_common, stm32}: select netdev_legacy_api in KConfig 2022-08-17 23:37:05 +02:00
Leandro Lanzieri
2dd59236c8
Merge pull request #18423 from MrKevinWeiss/pr/disable/hashchecks
.murdock: disable hash checks of kconfig/make
2022-08-17 18:30:36 +02:00
benpicco
2321841ccc
Merge pull request #18426 from maribu/sys/net/gnrc/netif/api_check
sys/net/gnrc/netif: allow checking if a netdev is legacy or new API
2022-08-17 16:50:16 +02:00
Gunar Schorcht
e7bf789dd4 cpu/esp32: move CLOCK_CORECLOCK to periph_cpu_*.h
This define does not belong to the defines in `sdkconfig_*.h` that are used for the ESP-IDF SDK. It is therefore moved to the corresponding `periph_cpu_*.h` file.
2022-08-17 15:58:40 +02:00
MrKevinWeiss
9b6036def3
cpu/efm32/periph: remove seriesn in kconfig
As this is not handled in the makefile.dep it does not need to be modeled in kconfig.
2022-08-17 14:37:23 +02:00
MrKevinWeiss
f79f43903d
cpu/periph_eth: Fix kconfig model
This probably can be done better as the periph_eth should not be
only part of the stm32 as the sam0 also uses it.
2022-08-17 14:37:22 +02:00
Marian Buschsieweke
276ad5716a
sys/net/gnrc/netif: allow checking if a netdev is legacy or new API
A if `netdev_driver_t::confirm_send()` is provided, it provides the
new netdev API. However, detecting the API at runtime and handling
both API styles comes at a cost. This can be optimized in case only
new or only old style netdevs are in use.

To do so, this adds the pseudo modules `netdev_legacy_api` and
`netdev_new_api`. As right now no netdev actually implements the new
API, all netdevs pull in `netdev_legacy_api`. If `netdev_legacy_api` is
in used but `netdev_new_api` is not, we can safely assume at compile
time that only legacy netdevs are in use. Similar, if only
`netdev_new_api` is used, only support for the new API is needed. Only
when both are in use, run time checks are needed.

This provides two helper function to check for a netif if the
corresponding netdev implements the old or the new API. (With one
being the inverse of the other.) They are suitable for constant folding
when only new or only legacy devices are in use. Consequently, dead
branches should be eliminated by the optimizer.
2022-08-17 12:56:07 +02:00