1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-18 12:52:44 +01:00
Commit Graph

7807 Commits

Author SHA1 Message Date
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
Gunar Schorcht
a76f5fd55e cpu/esp32: disable ESP-IDF dac API compilation if periph_dac isn't used
The compilation of `esp-idf-api/dac.c` has to be disabled if `periph_dac` is not used to avoid compilation errors.
2022-08-17 02:04:07 +02:00
Gunar Schorcht
945a960fa7 cpu/esp32: add ESP32-S3 support in peripheral drivers 2022-08-17 02:04:07 +02:00
Gunar Schorcht
55e1f88a60 cpu/esp32: add ESP32-S3 specific configuration header files 2022-08-17 02:04:07 +02:00
Gunar Schorcht
d42b20d49f cpu/esp_common: changes for ESP32-S3 2022-08-17 02:04:07 +02:00
Gunar Schorcht
9c834f57d6 cpu/esp32/bootloader: add ESP32-S3 support 2022-08-17 02:04:07 +02:00
Gunar Schorcht
5d47b61f9b
Merge pull request #18412 from gschorcht/cpu/esp32/add_esp32s3_doc
cpu/esp32: add ESP32-S3 support to documentation
2022-08-17 02:03:29 +02:00
benpicco
f2720940d7
Merge pull request #18283 from jia200x/pr/opendsme_nrf52840
drivers/nrf802154: do not filter broadcast PAN ID
2022-08-16 11:43:07 +02:00
Gunar Schorcht
491d4f30e2 cpu/nrf52: nRF52x MCUs support Bluetooth 5 Advertising 2022-08-12 16:15:20 +02:00
Gunar Schorcht
73eb3cba72 kconfig: move BLE_* features to common features file
These BLE_* features are not necessarily nRF5x specific and should be defined as common features. The commit also fixes the alphabetical order for HAS_RUST_TARGET.
2022-08-12 16:14:58 +02:00
benpicco
4ab7ba6758
Merge pull request #18405 from gschorcht/cpu/esp32/periph_gpio_wakeup_extemsion
cpu/esp32: extend GPIO wake-up from deep sleep
2022-08-12 15:41:46 +02:00
Kevin "Tristate Tom" Weiss
98ec922c67
Merge pull request #18430 from jia200x/pr/kconfig/fix_have_ieee802154_radio_hal_interface
Kconfig/ieee802154: fix typo in HAL selector and add missing radios
2022-08-11 09:05:38 +02:00
benpicco
dff1f689b0
Merge pull request #18410 from gschorcht/cpu/esp32/add_esp32s3_makefiles
cpu/esp32: add ESP32-S3 support to makefiles
2022-08-10 15:19:42 +02:00
Jose Alamos
3c849381e2
drivers/nrf52840: select HAVE_IEEE802154_RADIO_HAL_INTERFACE 2022-08-10 13:50:26 +02:00
Jose Alamos
c0dcbc247e
Kconfig/ieee802154: fix typo in hal selector 2022-08-10 13:43:04 +02:00
Gunar Schorcht
adc12a499e
Merge pull request #18409 from gschorcht/cpu/esp32/add_esp32s3_linker_scripts
cpu/esp32: add linker scripts for ESP32-S3
2022-08-10 06:50:48 +02:00
benpicco
3fef5c171d
Merge pull request #18411 from gschorcht/cpu/esp32/add_esp32s3_kconfig
cpu/esp32: add ESP32-S3 support in Kconfig
2022-08-09 22:11:58 +02:00
Gunar Schorcht
2902a9a803 cpu/esp32: add ESP32-S3 support to ESP-IDF interface API compilation 2022-08-09 15:57:18 +02:00
Gunar Schorcht
f0b619bed2 cpu/esp32: add ESP32-S3 support in makefiles 2022-08-09 15:57:18 +02:00
Marian Buschsieweke
bf67a9cdc5
cpu/stm32/periph_eth: optimize IRQ handler
We can just clear both TX and RX IRQ flags in any case, as clearing a
non-set flag is just a nop.
2022-08-09 07:33:34 +02:00
benpicco
26faa881b6
Merge pull request #18416 from maribu/cpu/stm32/periph/stm32_eth/bugfix
cpu/stm32/periph_eth: fix horrible memory corruption bug
2022-08-09 03:01:33 +02:00
Marian Buschsieweke
82fbe08728
cpu/stm32/periph_eth: fix typo in initialization code
A single character type resulted in way fewer TX descriptors being
available than allocated. Not only resulted this in wasting memory,
but also when more iolist chunks than descriptors are send, the

```C
    assert(iolist_count(iolist) <= ETH_TX_DESCRIPTOR_COUNT);
```

does not trigger. As a result, old TX descriptors are being overwritten
in this case.
2022-08-08 15:13:27 +02:00
Gunar Schorcht
e746a4b1f0 cpu/esp32: add ESP32-S3 support in doc 2022-08-07 14:50:50 +02:00
Gunar Schorcht
34510abe96 cpu/esp32: add ESP32-S3 support in Kconfig 2022-08-07 13:43:23 +02:00
Gunar Schorcht
566bd333de cpu/esp32: add linker scripts for ESP32-S3
Add the linker script for ESP32-S3 and modify the ESP32-C3 linker scripts to be compatible with them. The goal is to use a section list of objects that is common for all ESP32x SoCs in future.
2022-08-07 13:13:11 +02:00
Gunar Schorcht
70d427da0b cpu/esp32: move common ESP-IDF configurations to common file 2022-08-07 12:04:22 +02:00
Gunar Schorcht
8af4c9eb56 cpu/esp32/bootloader: move common configuration to a common file 2022-08-07 08:47:46 +02:00
Gunar Schorcht
53c657ff61 cpu/esp32: extend GPIO wake-up from deep sleep
Depending on SoC capabilities, ESP32x SoC variants support different logical combinations to wake-up from deep sleep.
2022-08-07 08:43:54 +02:00
Gunar Schorcht
08c2af3034 cpu/esp32: small change in assert for ESP32x SoCs 2022-08-05 22:26:44 +02:00
Gunar Schorcht
43d71f276d cpu/esp32: add ESP32-C3 support in peripheral drivers 2022-08-05 22:26:22 +02:00
Gunar Schorcht
9157b5714b cpu/esp32: add ESP32-C3 support in Kconfig 2022-08-05 22:26:22 +02:00
Gunar Schorcht
d0b3c20d88 cpu/esp32: add ESP32-C3 specific configuration header files 2022-08-05 22:26:22 +02:00
benpicco
004ac82af5
Merge pull request #18394 from gschorcht/cpu/esp32/fix_kconfig_for_esp_eth
cpu/esp32: fix provided features and Kconfig for esp_eth
2022-08-05 19:47:03 +02:00
benpicco
cf745e954e
Merge pull request #18387 from gschorcht/cpu/esp32/cleanup_spi_flash_mode
cpu/{esp8266,esp32}: cleanup of SPI Flash configuration
2022-08-05 12:24:45 +02:00
Gunar Schorcht
dff5c8daad cpu/esp32: fix Kconfig for esp_eth 2022-08-03 09:01:05 +02:00
Gunar Schorcht
71c7e9e9f5 cpu/esp32: replace HAS_PERIPH_ETH by HAS_ESP_ETH in Kconfig
In fact the ESP32 has no peripheral driver for the ETH interface. Instead, the `esp_eth` netdev driver directly uses the ESP-IDF Ethernet API. This caused compilation problems with Kconfig. Therefore the required feature `periph_eth` is replaced by the feature `esp_eth`.
2022-08-03 09:00:02 +02:00
Gunar Schorcht
1c28fa8928 cpu/esp32: replace feature periph_eth by esp_eth
In fact the ESP32 has no peripheral driver for the ETH interface. Instead, the `esp_eth` netdev driver directly uses the ESP-IDF Ethernet API. This caused compilation problems with Kconfig. Therefore the required feature `periph_eth` is replaced by the feature `esp_eth`.
2022-08-03 06:38:44 +02:00
Gunar Schorcht
da83c30021 cpu/esp_common: add netdev_register for NETDEV_ESP_WIFI 2022-08-02 09:34:59 +02:00
Gunar Schorcht
2d3bb51488 cpu/esp32: add netdev_register for NETDEV_ESP_ETH 2022-08-02 09:34:35 +02:00
Gunar Schorcht
da39354ae5 cpu/esp32: set CONFIG_ESPTOOL_FLASH_FREQ from FLASH_FREQ
CONFIG_ESPTOOL_FLASH_FREQ_* defines are used in ESP-IDF to select the right SPI clock speed for flash.
2022-08-02 07:24:30 +02:00
Gunar Schorcht
c8de46ddee cpu/{esp_common,esp8266,esp32}: fix default FLASH_* configuration
This commit includes the following changes:
- the default flash mode in bootloader should be dio and not dout
- the default flash configuration for ESP32 has to be exported to be also visible in cpu/esp32/bootloader/Makefile
- the comments in  cpu/esp8266/Makefile.include have to be removed so that the flash configuration do not contain trailing white spaces
2022-08-02 07:24:30 +02:00
Gunar Schorcht
b4fafef6e7 cpu/esp_common: replace FLASH_MODE_* by CONFIG_*FLASHMODE_* defines
The former FLASH_MODE_{DOUT,DIO,QOUT,QIO} defines are replaced by the corresponding CONFIG_FLASHMODE_{DOUT,DIO,QOUT,QIO} and CONFIG_ESPTOOLPY_FLASHMODE_{DOUT,DIO,QOUT,QIO} as used by the ESP-IDF. This is also needed for the migration of defining flash mode in Kconfig.
2022-08-01 15:17:33 +02:00
Gunar Schorcht
cd3c053d32 cpu/esp32: qout mode is no longer required for SPI RAM 2022-08-01 15:11:11 +02:00
Leandro Lanzieri
a4d5169e95
cpu/nrf5x_common/radio/Kconfig.nrf5x: indicate radio HAL implementation 2022-07-28 09:32:25 +02:00
Leandro Lanzieri
f266243477
cpu/native/socket_zep/Kconfig: indicate the radio HAL is implemented 2022-07-28 09:32:25 +02:00
Leandro Lanzieri
16ffe80525
cpu/cc2538/radio/Kconfig: indicate that radio HAL is implemented 2022-07-28 09:32:25 +02:00
Gunar Schorcht
6b57211058
Merge pull request #18364 from MrKevinWeiss/pr/fix/murdock
.murdock: Fix kconfig hash check
2022-07-27 11:14:08 +02:00
MrKevinWeiss
e21c3a1e4a
cpu/esp32: Fix kconfig model 2022-07-26 15:08:46 +02:00
Leandro Lanzieri
1716638792
cpu/stm32/periph_eth: model in Kconfig 2022-07-25 11:08:32 +02:00
Leandro Lanzieri
88df973783
cpu/sam0_common/sam0_eth: model in Kconfig 2022-07-25 11:08:32 +02:00
Leandro Lanzieri
575e58dc5b
cpu/esp32/esp-eth: model in Kconfig 2022-07-25 11:08:32 +02:00
Leandro Lanzieri
6679663647
cpu/native/cli_eui_provider: model in Kconfig 2022-07-22 15:57:22 +02:00
Gunar Schorcht
81b5388093 cpu/esp32: add ESP32-C3 support in doc 2022-07-21 12:29:38 +02:00
benpicco
8d42808f52
Merge pull request #18341 from gschorcht/cpu/esp32/add_esp32c3_makefile_support
cpu/esp32: add ESP32-C3 support in makefiles
2022-07-21 08:04:42 +02:00
benpicco
4ef8b34b8e
Merge pull request #18335 from gschorcht/cpu/esp32/cleanup_esp_log_for_esp32x_socs
cpu/esp32: cleanup of esp_log_write
2022-07-21 05:02:51 +02:00
benpicco
574a3b758a
Merge pull request #18340 from gschorcht/cpu/esp32/add_esp32c3_linker_scripts
cpu/esp32: add linker scripts for ESP32-C3
2022-07-20 21:18:19 +02:00
benpicco
8cc31c21e1
Merge pull request #18334 from gschorcht/cpu/esp32/fix_periph_rtt_32k_crystal_module_dependeny
cpu/esp32: fix dependency for periph/rtt and module esp_rtc_timer_32k
2022-07-20 17:27:05 +02:00
Gunar Schorcht
0645371400 cpu/esp_common: rename architecture to riscv_esp32 to rv32 2022-07-20 17:18:56 +02:00
Gunar Schorcht
d6aeea7e75 cpu/esp32: rename architecture to riscv_esp32 to rv32 2022-07-20 17:18:56 +02:00
Gunar Schorcht
4ed925a2b3 cpu/esp32: add ESP32-C3 support in makefiles 2022-07-20 17:18:56 +02:00
benpicco
c3e5415a5e
Merge pull request #18333 from gschorcht/cpu/esp32/cleanups_to_reduce_vera_warnings
cpu/esp*: cleanups mainly to reduce the vera++ warnings
2022-07-20 15:08:55 +02:00