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

8164 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
Gunar Schorcht
3c3bc1d4ce cpu/esp32: add linker scripts for ESP32-C3 2022-07-20 10:10:37 +02:00
Gunar Schorcht
d6ecb74f96 cpu/esp32: cleanup of esp_log_write 2022-07-20 08:54:15 +02:00
Gunar Schorcht
63cc84ac25 cpu/esp32: fix dependency for module esp_rtc_timer_32k 2022-07-20 08:05:44 +02:00
Gunar Schorcht
a24ddb8517 cpu/esp*: cleanups mainly to reduce the vera++ warnings 2022-07-20 06:29:43 +02:00
Gunar Schorcht
9c1498636c cpu/esp32/periph: add some sanity checks 2022-07-20 06:28:55 +02:00
benpicco
b32f28adb4
Merge pull request #18324 from gschorcht/cpu/esp32/split_periph_conf_into_common_and_specific
cpu/esp32: split periph_cpu.h into ESP32x common and ESP32 specific parts
2022-07-20 01:56:00 +02:00
benpicco
df34926abb
Merge pull request #18320 from gschorcht/cpu/esp32/split_kconfig_to_specific_and_common
cpu/esp32: split Kconfig into ESP32x common and ESP32 specific parts
2022-07-20 00:31:22 +02:00
benpicco
bafb7d53c5
Merge pull request #18326 from gschorcht/cpu/esp32/use_variant_specific_adc_and_gpio
cpu/esp32: extend file names of CPU specific files by CPU family
2022-07-19 15:13:44 +02:00
benpicco
5225c58736
Merge pull request #18325 from gschorcht/cpu/esp32/move_linker_script_to_family_dir
cpu/esp32: move linker scripts to a ESP32x variant specific directory
2022-07-19 12:55:45 +02:00
Gunar Schorcht
5565da394f cpu/esp32: split Kconfig into common and variant specific parts
Split the configuration in Kconfig into a part that is common for all ESP32x SoCs and a part that is specific for ESP32 varaiant.
2022-07-19 10:48:00 +02:00
benpicco
c432df36c2
Merge pull request #18323 from gschorcht/cpu/esp32/split_cpu_conf_into_common_and_specific
cpu/esp32: split cpu_conf.h into ESP32x common and ESP32 specific parts
2022-07-19 10:37:35 +02:00
Gunar Schorcht
3919e8f6df cpu/esp32: split periph_cpu.h into ESP32x and ESP32 parts
Split the defintions for peripherals in periph_conf.h into a part that is common for all ESP32x SoCs and a part that is specific for ESP32.
2022-07-19 06:05:03 +02:00
benpicco
ad4de1db5b
Merge pull request #18317 from gschorcht/cpu/esp32/esp_hw_counter_feature_change
cpu/esp32: make esp_hw_counter feature dependent on ESP32x SoC family
2022-07-19 05:14:47 +02:00
benpicco
14292bdce2
Merge pull request #18322 from gschorcht/cpu/esp32/split_sdkconfig_into_common_and_specific
cpu/esp32: split sdkconfig.h into ESP32x common and ESP32 specific parts
2022-07-19 02:57:06 +02:00
benpicco
44ed21d9e4
Merge pull request #18321 from gschorcht/cpu/esp32/split_doc_into_common_and_specific
cpu/esp32: split the doc into ESP32x common and ESP32 specific parts
2022-07-19 00:43:18 +02:00
benpicco
ad1d393214
Merge pull request #18319 from gschorcht/cpu/esp_common/module_xtensa_dependency_change
cpu/esp_common: MODULE_XTENSA has to depend on HAS_ARCH_ESP_XTENSA
2022-07-18 23:43:33 +02:00
benpicco
e1bc1767af
Merge pull request #18260 from gschorcht/cpu/esp32/add_riscv_platform_code
cpu/esp32: add platform code for RISC-V based ESP32x SoCs
2022-07-18 17:43:02 +02:00
Gunar Schorcht
257d4c3677 cpu/esp32: move linker scripts to a CPU family specific dir 2022-07-18 17:18:59 +02:00
Gunar Schorcht
5f45ca5a2a cpu/esp32: extend file names of CPU specific files by CPU family
To allow the compilation of different ESP32x SoC variants, the file names of ESP32 specific periph/adc_arch.c and periph/gpio_arch.c are extended by the ESP32x SoC family.
2022-07-18 17:08:34 +02:00
Gunar Schorcht
97ab0cd76d cpu/esp32: split cpu_conf.h into ESP32x and ESP32 parts
Split the CPU configuration in cpu_conf.h into a part that is common for all ESP32x SoCs and a part that is specific for ESP32.
2022-07-18 16:48:56 +02:00
Gunar Schorcht
6b3fe4aa70 cpu/esp32: introduce CPU_ARCH_ESP32_XTENSA in Kconfig 2022-07-18 16:37:08 +02:00
Gunar Schorcht
32b1546053 cpu/esp32: split sdkconfig.h into ESP32x and ESP32 parts
Split the SDK defintions sdkconfig.h into a part that is common for all ESP32x SoCs and a part that is specific for ESP32.
2022-07-18 16:26:00 +02:00
Gunar Schorcht
944648c4b7 cpu/esp32/bootloader: split sdkconfig.h into ESP32x and ESP32 parts
Split the defintions for bootloader in sdkconfig.h into a part that is common for all ESP32x SoCs and a part that is specific for ESP32.
2022-07-18 16:25:48 +02:00
Gunar Schorcht
7ddfb3de42 cpu/esp32: split the doc into ESP32x and ESP32 parts
Split the documentation into a part that is common for all ESP32x SoCs and a part that is specific for ESP32.
2022-07-18 16:16:26 +02:00
benpicco
263b918d7c
Merge pull request #18316 from gschorcht/cpu/esp32/use_cpu_fam
cpu/esp32: use CPU_FAM and CPU_ARCH for ESP32x SoC variant dependent compilation
2022-07-18 15:43:59 +02:00
Gunar Schorcht
08cb7adf62 cpu/esp_common: MODULE_XTENSA has to depend on HAS_ARCH_ESP_XTENSA
ESP32x SoC use either Xtensa cores or RISC-V cores. The Xtensa vendor code has to be compiled only for ESP32x SoCs that are Xtensa-based. Therefore, MODULE_XTENSA has to depend on HAS_ARCH_ESP_XTENSA instead of HAS_ARCH_ESP
2022-07-18 14:44:02 +02:00
Gunar Schorcht
778ff10978 cpu/esp_common: add module esp_riscv to Kconfig 2022-07-18 13:52:13 +02:00
Gunar Schorcht
4b86ae3b5e cpu/esp_common: add module esp_riscv to makefiles 2022-07-18 13:51:33 +02:00
Gunar Schorcht
c4132573f4 cpu/esp_common: platform-specific code for RISC-V based ESP32x SoCs 2022-07-18 13:51:33 +02:00
Gunar Schorcht
b59f8b59da cpu/esp32: platform-independent formatting in DEBUG 2022-07-18 13:51:33 +02:00
Gunar Schorcht
b5ea942d12 cpu/esp32: make esp_hw_counter feature dependent on ESP32x SoC family
Feature esp_hw_counter is not supported by all ESP32x SoC variants (families). Therefore it has to be defined dependent on defined CPU_FAM.
2022-07-18 13:28:58 +02:00
Gunar Schorcht
d0bb51aacc cpu/esp*: move CPU_* definitions to CPU-specific Makefile.features 2022-07-18 13:05:21 +02:00
Gunar Schorcht
06d3616710 cpu/esp32: move CPU_FAM definition to board definition
To support ESP32x SoC families with existing Makefiles, CPU_FAM has to be defined by board definition.
2022-07-18 13:05:21 +02:00
Gunar Schorcht
fd67f1402f cpu/esp_common: use CPU_ARCH in Makefile for compile options
To support ESP32x families, CPU_ARCH is used instead of CPU in Makefiles to define architecture dependent compile options.
2022-07-18 13:05:21 +02:00
Gunar Schorcht
55b8c15fe0 cpu/esp_common: use CPU_FAM_* instead of MCU_*
To support ESP32x families with the existing implementation, CPU_FAM_* is used instead of MCU_* in source code.
2022-07-18 13:05:21 +02:00
Gunar Schorcht
ff8baaae79 cpu/esp32: use CPU_FAM_* instead of MCU_*
To support ESP32x families with the existing implementation, CPU_FAM_* is used instead of MCU_* in source code.
2022-07-18 13:05:21 +02:00
Gunar Schorcht
0bec8a81ac cpu/esp32: use CPU_FAM instead of CPU in Makefiles
To support ESP32x families with the existing Makefiles, CPU_FAM is used instead of CPU in the Makefiles.
2022-07-18 13:05:21 +02:00
Gunar Schorcht
14fd3735a2 cpu/esp32: move ESP32 specific Kconfigs to ESP32 submenu 2022-07-18 09:52:26 +02:00
Gunar Schorcht
f066260a9f cpu/esp8266: move ESP8266 specific Kconfigs to ESP8266 submenu 2022-07-18 09:52:11 +02:00
Gunar Schorcht
5f0ad453b2 cpu/esp_common: move ESP specific Kconfigs to ESP submenu 2022-07-18 09:51:45 +02:00
benpicco
365fbed906
Merge pull request #18279 from gschorcht/cpu/esp32/periph_hal_esp32_i2c
cpu/esp32: use ESP-IDF i2c HAL for ESP32 periph/i2c
2022-07-17 22:24:54 +02:00
benpicco
2c9f338791
Merge pull request #18271 from gschorcht/periph_hal_esp32_adc
cpu/esp32: use ESP-IDF adc/dac HAL for periph/adc and periph/dac
2022-07-17 20:06:09 +02:00
Gunar Schorcht
06aa8f2c42 cpu/esp_common: port periph/i2c_sw with calculated delays
Fixed delay values are replaced by calculated delays measured in CPU cycles in I2C software implementation. The advantage is that for each ESP SoC only a clock calibration offset has to be specified. The delay measured in CPU cycles are then then derived from current CPU frequency for the given bus speed. The disadvantage is that the calculated delays are not as precise as the predefined fixed delays.
2022-07-17 18:48:23 +02:00
Gunar Schorcht
c0becd2819 cpu/esp32: port periph/i2c_hw to ESP-IDF i2c HAL 2022-07-17 18:48:23 +02:00
Gunar Schorcht
43d2340eea cpu/esp32: port periph/dac to ESP-IDF dac API 2022-07-17 17:16:49 +02:00
Gunar Schorcht
79ff1e5737 cpu/esp32: add dac to ESP-IDF interface API 2022-07-17 17:16:49 +02:00
Gunar Schorcht
11c9703675 cpu/esp32: port periph/adc to ESP-IDF interface API 2022-07-17 17:16:49 +02:00
benpicco
6ba048f80c
Merge pull request #18280 from gschorcht/cpu/esp32/periph_hal_esp32_pm
cpu/esp32: use ESP-IDF sleep API for periph/pm
2022-07-17 14:17:51 +02:00
Gunar Schorcht
a74a19e9f9 cpu/esp32: port periph/pm to ESP-IDF sleep API 2022-07-15 16:33:16 +02:00
Gunar Schorcht
9e011b653f cpu/esp32: add adc to ESP-IDF initerface API 2022-07-15 16:17:03 +02:00
benpicco
dd806ce72e
Merge pull request #18270 from gschorcht/cpu/esp32/periph_hal_esp32_gpio
cpu/esp32: use ESP-IDF gpio HAL for periph/gpio
2022-07-15 15:44:13 +02:00
benpicco
295f4a5b04
Merge pull request #18281 from gschorcht/cpu/esp32/periph_hal_esp32_spi
cpu/esp32: use ESP-IDF spi HAL for periph/spi
2022-07-15 13:25:50 +02:00
benpicco
0c56e28fe1
Merge pull request #18282 from gschorcht/cpu/esp32/periph_hal_esp32_periph_timer
cpu/esp32: use ESP-IDF timer/interrupt HAL for periph/timer
2022-07-15 11:07:37 +02:00
Gunar Schorcht
d6eef52766 cpu/esp32: port periph/gpio to ESP-IDF gpio HAL 2022-07-15 11:03:32 +02:00
benpicco
1e8f3871fb
Merge pull request #18274 from gschorcht/cpu/esp32/periph_hal_esp32_uart
cpu/esp32: use ESP-IDF interrupt HAL for periph/uart
2022-07-15 10:58:46 +02:00
benpicco
de5472c76a
Merge pull request #18278 from gschorcht/cpu/esp32/periph_hal_esp32_can
cpu/esp32: use to ESP-IDF twai HAL for periph/can
2022-07-15 10:58:33 +02:00
Gunar Schorcht
9142edce03 cpu/esp32: port periph/spi to ESP-IDF spi LL API 2022-07-15 08:57:31 +02:00
Gunar Schorcht
8f3df0eee6 cpu/esp_common: move periph/spi to cpu/esp8266
periph/spi implementation can be used for ESP8266 only from now. An implementation using the ESP-IDF spi HAL interface is required for ESP32x SoCs.
2022-07-15 08:57:16 +02:00
Gunar Schorcht
3fd7e1ab17 cpu/esp32: port periph/timer to ESP-IDF interface API 2022-07-15 06:40:04 +02:00
benpicco
94e9116c04
Merge pull request #18276 from gschorcht/cpu/esp32/periph_hal_esp32_pwm
cpu/esp32: use ESP-IDF ledc HAL for periph/pwm
2022-07-14 18:09:01 +02:00
Gunar Schorcht
fccd3821dd cpu/esp32: port periph/can to ESP-IDF twai HAL 2022-07-14 15:51:47 +02:00
Gunar Schorcht
09064aa056 cpu/esp32: PWM doc changes 2022-07-14 15:50:47 +02:00
Gunar Schorcht
2ae2facf90 cpu/esp32: port periph/pwm to ESP-IDF ledc HAL 2022-07-14 15:50:47 +02:00
Benjamin Valentin
34e11bf2bc sys/architecture: introduce uinttxtptr_t 2022-07-13 23:19:33 +02:00
Gunar Schorcht
6dd2659846 cpu/esp32: replace startup by architecture dependent ESP-IDF startup 2022-07-12 08:01:36 +02:00
benpicco
ba37e93bd6
Merge pull request #18267 from gschorcht/cpu/esp32/periph_hal_esp32_timer
cpu/esp32: use ESP-IDF timer HAL for system timer and watchdog
2022-07-10 23:08:57 +02:00
Marian Buschsieweke
29d21938aa
Merge pull request #18210 from maribu/cpu/esp32
cpu/esp32: enforce MAXTHREADS is at least 3
2022-07-06 17:57:48 +02:00
Marian Buschsieweke
026854d788
cpu/esp32: make sure MAXTHREADS is at least 3
ESP32 has an esp_timer thread in addition to the main and the idle
thread. So applications that work fine with 2 threads on other
platforms will break on ESP32.
2022-07-06 09:00:13 +02:00
Dmitriy Okladov
9304e2bf37 cpu/stm32: support for B subfamily of g0 to determine ram length 2022-07-05 19:10:16 +03:00
Marian Buschsieweke
d337997e5a
Merge pull request #18277 from gschorcht/cpu/esp/periph_hal_esp32_hwrng
cpu/esp_common: use ESP-IDF random API for ESP32
2022-07-04 19:02:58 +02:00
Gunar Schorcht
02310b1148 cpu/esp_common: port periph/hwrng to ESP-IDF random API 2022-06-30 11:10:02 +02:00
Marian Buschsieweke
fcbba02daf
Merge pull request #18256 from Teufelchen1/chore/macos
Documentation: Renaming OS X to macOS
2022-06-30 07:05:48 +02:00
Jose Alamos
45ba9131c8
drivers/nrf802154: do not filter broadcast PAN ID 2022-06-29 17:39:30 +02:00
Jose Alamos
55dc62819a
drivers/nrf802154: fix CCA result 2022-06-29 17:32:45 +02:00
Jose Alamos
5a27241e22
drivers/nrf802154: fix variable initialization 2022-06-29 17:32:26 +02:00
Gunar Schorcht
ae48cfca33 cpu/esp32: port periph/rtt_hw_sys to ESP-IDF timer HAL 2022-06-29 08:37:43 +02:00
Gunar Schorcht
5261a930bb cpu/esp32: port periph/rtt_hw_rtc to ESP-IDF interrupt HAL 2022-06-29 08:37:43 +02:00
Gunar Schorcht
7e19086a60 cpu/esp32: use ESP-IDF timer HAL for system timer in syscalls 2022-06-29 08:37:43 +02:00
Gunar Schorcht
0482eb1c90 cpu/esp32: use ESP-IDF timer HAL for peripheral timer definition 2022-06-29 08:35:38 +02:00
benpicco
a1ee44e114
Merge pull request #18263 from maribu/cpu/avr8/idle_stack
cpu/{atmega_common,atxmega}: increase idle thread stack size
2022-06-29 00:57:57 +02:00
benpicco
b00810c0e5
Merge pull request #18266 from gschorcht/cpu/esp32/variant_indpependent_syscalls
cpu/esp32:  ESP32x SoC variant independent syscalls
2022-06-29 00:57:23 +02:00
benpicco
3b3c6d34b3
Merge pull request #18273 from gschorcht/cpu/esp32/periph_hal_esp32_cpuid
cpu/esp32: use ESP-IDF function esp_efuse_mac for CPU ID
2022-06-29 00:40:02 +02:00
Gunar Schorcht
c03933d08c cpu/esp32: add ledc to ESP-IDF interface API 2022-06-28 18:28:27 +02:00
Gunar Schorcht
29199b20bd cpu/esp32: add gpio to ESP-IDF interface API 2022-06-28 16:43:22 +02:00
benpicco
1b2360e6da
Merge pull request #18261 from gschorcht/cpu/esp32/use_esp_idf_interrupt_handling
cpu/esp32: use ESP-IDF interrupt handling API
2022-06-28 16:37:11 +02:00
Gunar Schorcht
4b2b0047cc cpu/esp_common: port periph/uart to ESP-IDF uart API
This commit changes periph/uart to use ESP-IDF API for ESP32x SoCs. Furthermore, the MCU_* conditionals are inverted so that they can be tested for ESP8266. In all other cases the MCU is any ESP32x SoC
2022-06-28 16:25:24 +02:00
Gunar Schorcht
81caeb1bb1 cpu/esp32: add uart to ESP-IDF interface API 2022-06-28 16:25:10 +02:00
Gunar Schorcht
9065dcff14 cpu/esp32: port periph/cpu_id to ESP-IDF read_mac 2022-06-28 16:09:03 +02:00
Gunar Schorcht
4be0abf41a cpu/esp32: rename CPU_INUM_RTC to CPU_INUM_RTT 2022-06-28 07:30:59 +02:00
Gunar Schorcht
6bd6afbd22 cpu/esp32: use ESP-IDF for interrupt handling 2022-06-28 07:30:59 +02:00
Marian Buschsieweke
b72cafb169
cpu/atmega_common: Fix atmega_port_addr()
In 04ab5a74f3 a bug was introduced in
the calculation of the GPIO port address by refactoring code. This
fixes the issue by extracting the GPIO port first from the pin.
2022-06-27 22:15:52 +02:00
Marian Buschsieweke
8cc0199437
cpu/{atmega_common,atxmega}: increase idle thread stack size
Our AVR port doesn't make use of an ISR stack and just victimizes the
stack of whatever thread happens to be running, which in most cases is
the idle thread. Hence, the idle stack has to be large enough to
support the ztimer ISR.
2022-06-27 14:39:57 +02:00
Gunar Schorcht
50e7eaace3 cpu/esp32: ESP32x SoC variant independent syscalls 2022-06-27 09:13:10 +02:00
benpicco
dd574a45f2
Merge pull request #18253 from gschorcht/cpu/esp32/add_esp_idf_api
cpu/esp32: add ESP-IDF API
2022-06-26 15:36:28 +02:00
benpicco
cff1e3c2b6
Merge pull request #18259 from gschorcht/cpu/esp32/separate_xtensa_platform_code
cpu/esp32: move platform code for Xtensa-based ESP32x SoCs to module esp_xtensa
2022-06-26 15:13:52 +02:00
Gunar Schorcht
ea5d2b3a2e cpu/esp_common: add module esp_xtensa to Kconfig 2022-06-26 00:09:50 +02:00
Gunar Schorcht
6aafc1e362 cpu/esp_common: add module esp_xtensa to makefiles 2022-06-26 00:09:50 +02:00
Gunar Schorcht
b37c30378b cpu/esp_common: move exception xtensa code to module esp_xtensa
To allow a platform independent implementation of exceptions for different ESP32x SoC variants, the platform specific code for Xtensa based ESP SoCs is moved to a separate platform file `exception_xtensa.c`.
2022-06-25 23:22:59 +02:00
Gunar Schorcht
c6ee0aeccb cpu/esp_common: move irq_arch xtensa code to module esp_xtensa
To allow a platform independent implementation of irq_arch for different ESP32x SoC variants, the platform specific code for Xtensa based ESP SoCs is moved to a separate module `esp_xtensa`.
2022-06-25 23:22:59 +02:00
Gunar Schorcht
bb4a57e125 cpu/esp_common: move thread_arch xtensa code to module esp_xtensa
To allow a platform independent implementation of tread_arch for different ESP32x SoC variants, the platform specific code for Xtensa based ESP SoCs is moved to a separate module `esp_xtensa`.
2022-06-25 23:22:59 +02:00
Gunar Schorcht
8fabfbd6d9 cpu/esp_common: cleanup whitespaces in periph/flash 2022-06-25 08:12:31 +02:00
Gunar Schorcht
08cae6d4a8 cpu/esp_common: DEBUG messages with portable formatting 2022-06-25 08:12:31 +02:00
Gunar Schorcht
fb2f080fa7 cpu/esp_common: use ESP-IDF for ESP32 in periph/flash
Updates `cpu/esp_common/periph/flash` for ESP-IDF 4.4. `spi_flash_*` functions for ESP32 are removed since these functions are now used from ESP-IDF.
2022-06-25 08:12:31 +02:00
Gunar Schorcht
94ceccbe95 cpu/esp_common: inverse MCU_* conditionals in periph/flash
The MCU_* conditionals are inverted so that they can be tested for ESP8266. In all other cases the MCU is any ESP32x SoC
2022-06-25 08:10:05 +02:00
benpicco
1870d38594
Merge pull request #18249 from gschorcht/cpu/esp32/variant_independent_makefiles
cpu/esp32: ESP32x SoC variant independent makefiles
2022-06-24 23:02:10 +02:00
benpicco
32e64eb2e3
Merge pull request #18246 from gschorcht/cpu/esp32/variant_independent_bootloader
cpu/esp32: ESP32 SoCx variant independent bootloader makefile
2022-06-24 11:47:23 +02:00
Teufelchen1
1231807bab Documentation: Renaming OS X to macOS 2022-06-23 17:25:48 +02:00
Gunar Schorcht
a1ba7b1207 cpu/esp32: add periph_ctrl to ESP-IDF interface API 2022-06-23 16:12:22 +02:00
Gunar Schorcht
de96a31e1f cpu/esp32: add ESP-IDF interface API
Implements an interface for ESP-IDF types and functions that are required by RIOT-OS but cannot be included directly due to name conflicts.
f
2022-06-23 16:12:13 +02:00
Gunar Schorcht
cdd1ec81a4 cpu/esp_common: ESP32 variant independent makefiles 2022-06-23 13:19:52 +02:00
Gunar Schorcht
1f25ac8893 cpu/esp32: ESP32 variant independent makefiles 2022-06-23 13:19:40 +02:00
Gunar Schorcht
b60b47ff51 cpu/esp_common: inverse MCU_* conditionals to deal with ESP32 variants
The MCU_* conditionals are inverted so that they can be tested for ESP8266. In all other cases the MCU is any ESP32x SoC
2022-06-23 12:56:45 +02:00
Gunar Schorcht
09caa52074 cpu/esp32: variant independent bootloader makefile
Bootloader makefile that can be used for different ESP32x variants
2022-06-22 19:18:08 +02:00
benpicco
5350927111
Merge pull request #18239 from gschorcht/cpu/esp32/split_wpa_supplicant
cpu/esp32: split modul esp_wpa supplicant into several modules
2022-06-22 13:54:11 +02:00
benpicco
2895688a3d
Merge pull request #18224 from gschorcht/cpu/esp/freertos_changes_for_esp_idf_hal_ll
cpu/esp_common: FreeRTOS adaptation layer changes/extension required for ESP-IDF HAL/LL
2022-06-22 13:53:54 +02:00
Marian Buschsieweke
8465119d5c
Merge pull request #18240 from gschorcht/cpu/esp32/small_doc_fixes
cpu/esp32: small doc fixes
2022-06-22 11:44:00 +02:00
Marian Buschsieweke
256294aa56
Merge pull request #18234 from maribu/cpu/avr8_cpu_print_last_instruction
cpu/avr8_common: fix cpu_print_last_instruction
2022-06-22 11:43:21 +02:00
Gunar Schorcht
b5c666f157 cpu/esp32: small doc fixes 2022-06-21 16:43:23 +02:00
Gunar Schorcht
b0bf595494 cpu/esp32: split esp_idf_wpa_supplicant into several modules 2022-06-21 16:28:41 +02:00
Gunar Schorcht
ee9f2e439d cpu/esp32: split esp_idf_wpa_supplicant into several modules 2022-06-21 16:28:28 +02:00
Gunar Schorcht
c8d8e5d3f5 cpu/esp_common/freertos: add required ringbuffer handling 2022-06-20 21:23:47 +02:00
Gunar Schorcht
780fd9a815 cpu/esp_common/freertos: add timeout handling to xQueue 2022-06-20 21:23:47 +02:00
Gunar Schorcht
99fa182fb4 cpu/esp_common/freertos: add required task functions 2022-06-20 21:23:47 +02:00
Gunar Schorcht
ae01985588 cpu/esp_common/freertos: add xSemaphoreGetMutexHolder
The mutex and semaphor handling had to be extended by the thread pid.
2022-06-20 21:23:47 +02:00
Gunar Schorcht
02e52513d1 cpu/esp_common/freertos: add xQueueReset function 2022-06-20 21:23:47 +02:00
Gunar Schorcht
e4f1a94219 cpu/esp_common/freertos: allow platform independent compilation 2022-06-20 21:23:47 +02:00
Marian Buschsieweke
740c2faaa8
cpu/avr8_common: fix cpu_print_last_instruction 2022-06-20 19:56:00 +02:00
Marian Buschsieweke
21daf782a7
cpu/avr8_common: clean up thread_arch.c
Use __AVR_HAVE_RAMP<D,X,Y,Y>__ and __AVR_HAVE_3_BYTE_PC__ provided by
the compiler instead of custom macros.
2022-06-20 19:49:07 +02:00
Benjamin Valentin
8cf20a286d cpu/cortexm_common: allow to overwrite nmi_handler
If a user wants to handle NMI events, let them do so by
providing an implementation for nmi_handler() instead of
paniking.
2022-06-20 18:22:22 +02:00
Gunar Schorcht
4dc5e86b2a cpu/esp32: remove libc_gettimeofday dependency 2022-06-18 16:35:11 +02:00
Gunar Schorcht
8796513ac1 cpu/esp32: add missing newlibc function _gettimeofday_r 2022-06-18 16:34:40 +02:00
Gunar Schorcht
e6823edb6a
Merge pull request #18216 from maribu/makefiles/tests/tests.inc.mk
makefiles/tests: use BINFILE for hash comparision instead of ELFFILE
2022-06-18 14:42:19 +02:00
Marian Buschsieweke
d1317abc02
makefiles/tests: use FLASHFILE for hash comparision instead of ELFFILE
Let's consider firmwares as identical if their flash files are matching.
This will have the side effect that hash mismatches for ESP32 due to
different .debug sections in the ELFFILE are prevented, as for ESP32
the BINFILE is used.
2022-06-17 18:31:17 +02:00
Benjamin Valentin
2583239867 cpu/sam0_eth: generate RX event for queued packets 2022-06-17 10:50:31 +02:00
benpicco
24f7cbf9bb
Merge pull request #18222 from benpicco/sam0_sdhc-align
cpu/sam0_common: mtd_sdhc: ensure source address alignment
2022-06-17 10:15:46 +02:00
Marian Buschsieweke
3f28e2314a
Merge pull request #18219 from maribu/cpu/stm32/periph_eth
cpu/stm32/periph_eth: enable stm32_eth_link_up with lwip_ipv6
2022-06-17 08:51:47 +02:00
Benjamin Valentin
8a30474f30 cpu/sam0_common: spi: limit clock to source clock 2022-06-16 19:15:37 +02:00
Benjamin Valentin
e8fd493f41 cpu/sam0_common: mtd_sdhc: ensure source address alignment
The source / destination address of the SDHC transfer needs to be
word-aligned.

Use the mtd buffer to fix the alignment if `mtd_write_page` is used,
otherwise return -ENOTSUP.
2022-06-16 18:58:10 +02:00
benpicco
809f9ed174
Merge pull request #18207 from gschorcht/cpu/esp32/fix_shell_reboot
cpu/esp32: fix pm_reboot function
2022-06-16 16:47:31 +02:00
Marian Buschsieweke
c9798c86ce
cpu/stm32/periph_eth: enable stm32_eth_link_up with lwip_ipv6
An network devices that supports netdev_driver_t::get(NETOPT_LINK, ...)
also has to emit NETDEV_EVENT_LINK_UP and NETDEV_EVENT_LINK_DOWN with
lwip for IPv6 duplicate address detection to work. The background is
that the STM32 Ethernet MAC requires a periodic timer to poll for the
state to emit these events. For this reason, `stm32_eth_link_up` was
introduced to allow applications to select if they need these events.

With this dependency in place, IPv6 addresses won't get stuck in a
tentative state any more.
2022-06-16 15:45:24 +02:00
Gunar Schorcht
0622d45949 cpu/esp32: fix pm_reboot function 2022-06-16 13:40:08 +02:00
Marian Buschsieweke
6db97e2871
Merge pull request #18209 from gschorcht/cpu/esp32/fix_malloc_thread_safety
cpu/esp32: fix malloc thread safety
2022-06-16 13:39:26 +02:00
Gunar Schorcht
041fe58209 cpu/esp32: add malloc_thread_safe if esp_idf_heap not used 2022-06-15 07:31:02 +02:00
benpicco
d1a45ba006
Merge pull request #18188 from benpicco/cpu/samd20-errata
cpu/samd21: handle NVM block errata
2022-06-10 15:47:20 +02:00
Francisco
e5c7e3b633
Merge pull request #18029 from haukepetersen/verbump_nimble_nrfx2022
pkg/nimble: version bump to NimBLE 1.5.0 RC1
2022-06-10 04:11:26 +02:00
Benjamin Valentin
2c04d6cefe cpu/samd21: handle silicon errata
- The `periph_flashpage` driver expects the manual write bit to be set
   This should be set by default, but the SAM D20/SAM D21 errata sheets
   correct that this is indeed *not* set by default, which may cause
   spurious writes.

 - SAM D20 may not wake up from any sleep mode if sleep power reduction
   is enabled for the NVM block.
2022-06-09 18:27:30 +02:00
benpicco
a64f722a42
Merge pull request #17781 from benpicco/hard_fault-BKPT
cpu/cortexm_common: remove breakpoint from hard_fault_handler
2022-06-07 15:28:08 +02:00
Dylan Laduranty
a6ac93d429
Merge pull request #18150 from benpicco/cpu/sam0_common-rtc_sync
cpu/sam0_common: RTC: wait for syncbusy in rtc_get_time()
2022-06-06 22:45:42 +02:00
Gunar Schorcht
ca0e651f74
Merge pull request #18165 from benpicco/pkg/esp32_sdk-4.4.1
pkg/esp32_sdk: Update version to 4.4.1
2022-06-06 08:32:51 +02:00
Benjamin Valentin
73e1b3df89 pkg/esp32_sdk: Update version to 4.4.1
Use the latest tagged release of the SDK.
2022-06-05 11:53:31 +02:00
Benjamin Valentin
344c065e2f cpu/esp_common: use LittleFS2 as default FS 2022-06-02 23:21:22 +02:00
Hauke Petersen
f77006044d cpu/nrf51: use nrfxx_peripherals.h vendor header
Using the nrf51xx_peripherals.h vendor header unifies the nrf51
code tree with the nrf52 implementation. It is needed to
prevent build errors with the optional nrfx package.
2022-06-02 14:59:50 +02:00
Hauke Petersen
068c4f1c3b pkg: add nrfx as package 2022-06-02 14:59:50 +02:00
Hauke Petersen
5430c145f8 cpu/nrf5x: rename nrfx.h -> nrfx_riot.h
The nrfx compatibility header is renamed to allow for optinally
including the real nrfx headers using a RIOT package.
2022-06-02 14:59:50 +02:00
benpicco
e1e2b7c5b6
Merge pull request #17601 from gschorcht/cpu/esp32/upgrade_esp-idf_v4.4
cpu/esp32: Upgrade to ESP-IDF v4.4
2022-06-02 10:18:07 +02:00
Gunar Schorcht
565c2e17a0 cpu/esp32: update log module for ESP-IDF 4.4 2022-06-01 13:31:00 +02:00
Gunar Schorcht
79706604aa cpu/esp32: update of sdkconfig.h as required for ESP-IDF 4.4 2022-06-01 13:31:00 +02:00
Gunar Schorcht
84893c672b cpu/esp_common: fix lock handling
Assertions for uninitialized locks must not be triggered as long as the scheduler is not running. Furthemore, the handling of the __malloc_static_object lock is only necessary for ESP8266.
2022-06-01 13:31:00 +02:00
Gunar Schorcht
d63c116eba cpu/esp_esp8266: move missing _rename_r function to esp_common 2022-06-01 13:31:00 +02:00
Gunar Schorcht
587e007a31 ecp/esp32: changes in periph_can for ESP-IDF v4.4 2022-06-01 13:31:00 +02:00
Gunar Schorcht
24162af90a cpu/esp32: small doc fix 2022-06-01 13:31:00 +02:00
Gunar Schorcht
d2a4d6e3d3 cpu/esp32: compile bootloader from ESP-IDF v4.4 source 2022-06-01 13:31:00 +02:00
Gunar Schorcht
e8b4a4feb2 cpu/esp32: changes for ESP-IDF v4.4 2022-06-01 13:28:49 +02:00
Gunar Schorcht
61bf3d2384 cpu/esp*: update/cleanup stack sizes 2022-06-01 13:27:31 +02:00
Gunar Schorcht
d7382ab063 cpu/esp32: fix compilation problems with ESP-IDF v4.4 2022-06-01 13:27:31 +02:00
Gunar Schorcht
443f3b87df cpu/esp_common: missing heap functions for ESP-IDF v4.4 2022-06-01 13:27:31 +02:00
Gunar Schorcht
d1d252cc58 cpu/esp_common: changes in event handling for ESP-IDF v4.4 2022-06-01 13:27:31 +02:00
Gunar Schorcht
2541587eee cpu/esp32: small fix in comment of periph/timer 2022-06-01 13:27:31 +02:00
Gunar Schorcht
48567c8ce0 cpu/esp32: small cleanup in periph/pwm 2022-06-01 13:27:31 +02:00
Gunar Schorcht
0ecbcf6561 cpu/esp_common: changes in esp_now/esp_wifi for ESP-IDF v4.4 2022-06-01 13:27:31 +02:00
Gunar Schorcht
ee4a032a89 cpu/esp_common: fix compilation problems with ESP-IDF v4.4 2022-06-01 13:27:31 +02:00
Gunar Schorcht
9fd056f8ec cpu/esp_common: add missing functions for ESP-EDF v 4.4 2022-06-01 13:27:31 +02:00
Gunar Schorcht
ec5993d888 cpu/esp32: changes in irq_arch for ESP-IDF v4.4 2022-06-01 13:27:31 +02:00
Gunar Schorcht
e5adb7ef34 cpu/esp32: cleanup of periph/gpio for ESP-IDF v4.4 2022-06-01 13:27:31 +02:00
Gunar Schorcht
d4e061f635 cpu/esp_common/freertos: missing functions/definitions for ESP-IDF v4.4 2022-06-01 13:21:29 +02:00
Gunar Schorcht
3e4dc10740 esp/esp32: changes in esp_eth for ESP-IDF v4.4 2022-06-01 13:21:29 +02:00
Gunar Schorcht
ab14b68ea0 cpu/esp32: update of linker scripts for ESP-IDF v4.4 2022-06-01 13:21:29 +02:00
Gunar Schorcht
751a958529 cpu/esp32: add modules for compilation of required ESP-IDF code
The code required by the ESP-IDF is compiled directly from source in the `esp32_sdk` package. The compilation is structured by modules for easier use.
2022-06-01 13:21:29 +02:00
Martine Lenders
c4e202ae67
Merge pull request #17709 from benpicco/cpu/native-tap_wired
netdev_tap: make 'wired' property configurable
2022-06-01 02:24:43 +02:00
benpicco
4b6da5c8e4
Merge pull request #17863 from benpicco/sam0_sdhc
cpu/samd5x: add SD Host Controller implementation
2022-05-31 15:33:24 +02:00
Benjamin Valentin
d77724bf04 cpu/sam0_common: RTC: wait for syncbusy in rtc_get_time()
`rtt_get_counter()` already waits for syncbusy before reading the time,
but we also have to do this in RTC mode (`rtc_get_time()`) to avoid
reading old values.

Thus, always wait for syncbusy to clear when accessing the COUNT register.
2022-05-31 15:26:22 +02:00
Benjamin Valentin
babee877ce cpu/sam0_common: add SD Host Controller implementation 2022-05-31 11:07:20 +02:00
Benjamin Valentin
24e918ca19 cpu/sam0_common: adc: default to 0 for ADC_NEG_INPUT 2022-05-30 20:41:18 +02:00
Benjamin Valentin
d6d5d935a6 cpu/sam0_common: adc: derive GPIO pin from AIN number
ADC pins are fixed on sam0
2022-05-30 20:41:18 +02:00
Benjamin Valentin
ae664baa58 cpu/saml1x: define ADC pins 2022-05-30 20:41:18 +02:00
Benjamin Valentin
9af5deb54a cpu/saml21: define ADC pins 2022-05-30 20:41:18 +02:00
Benjamin Valentin
84add70772 cpu/samd21: define ADC pins 2022-05-30 20:41:18 +02:00
Benjamin Valentin
75ee373b01 cpu/samd5x: define ADC pins
rg define\ PIN_.*_AIN | grep ADC | cut -d' ' -f2 | sort | uniq | sed -E "s/PIN_(P[A-F])([0-9][0-9])B_ADC0_AIN([0-9]*)/\3 GPIO_PIN(\1, \2),/" | sort -n | grep GPIO | cut -d ' ' -f2- | sed -E "s/0([0-9])/\1/"
rg define\ PIN_.*_AIN | grep ADC | cut -d' ' -f2 | sort | uniq | sed -E "s/PIN_(P[A-F])([0-9][0-9])B_ADC1_AIN([0-9]*)/\3 GPIO_PIN(\1, \2),/" | sort -n | grep GPIO | cut -d ' ' -f2- | sed -E "s/0([0-9])/\1/"
2022-05-30 20:41:18 +02:00
Benjamin Valentin
8075b69275 cpu/sam0_common: adc: handle differential mode
- store result in int16_t to ensure proper sign extension
 - double differential result to account for bit lost for sign
2022-05-30 20:41:18 +02:00
benpicco
eb09fe21fd
Merge pull request #18025 from leandrolanzieri/pr/sys/random/change_kconfig_default_backend
sys/random/kconfig: remove HWRNG default in backend choice
2022-05-24 11:35:21 +02:00
benpicco
9b8f032c04
Merge pull request #17981 from maribu/gpio_ll/stm32
cpu/stm32: Implement periph/gpio_ll{,_irq} except for STM32F1
2022-05-24 11:34:53 +02:00
Benjamin Valentin
fad65011b7 netdev_tap: make NETDEV_TAP_MAX an upper bound 2022-05-23 15:27:35 +02:00
Benjamin Valentin
2520aaf1e8 cpu/native: add -w <tap> command line parameter to simulate wireless tap 2022-05-23 15:27:35 +02:00
Benjamin Valentin
f61c12e008 netdev_tap: make 'wired' property configurable
`netdev_tap` is a virtual interface, make it possible to simulate both
a wired and a wireless interface.
2022-05-23 15:27:35 +02:00
Marian Buschsieweke
16f859dafd
drivers/saul: use const qualifier for data to write
This makes life easier when calling e.g. `saul_reg_write()` with data
stored in flash.

As now the signatures for reading and writing differ (in that `const`
qualifier only), `saul_notsup()` is split into `saul_write_notsup()`
and `saul_read_notsup()`. However, one is implemented as a symbol alias
of the other, so that ROM consumption remains unchanged.
2022-05-23 08:35:27 +02:00
chrysn
dc7bc9f854
Merge pull request #17683 from chrysn-pull-requests/mtd-granularity
mtd: Introduce write granularity
2022-05-20 11:52:03 +02:00
Dylan Laduranty
5681cc0a95
Merge pull request #18042 from benpicco/cpu/sam0-adc-extref
cpu/sam0_common: adc: Automatically configure external reference pin
2022-05-18 13:37:07 +02:00
Gunar Schorcht
72abc08d14 cpu/esp_common: small fix of lib_printf 2022-05-18 07:27:23 +02:00
Gunar Schorcht
60bbe0fe49 cpu/esp_common/makefile: move linking of libhal.a to esp8266 makefile 2022-05-18 07:27:23 +02:00
Gunar Schorcht
357eaa434a cpu/esp32: update sys/lock.h for retargetable locking
ESP-IDF version 4.4 already provide all locking definitions if retargetable locking is enabled.
2022-05-18 07:27:23 +02:00
Gunar Schorcht
9ae4b1ca7d cpu/esp32: remove vendor code 2022-05-18 07:27:23 +02:00
Benjamin Valentin
b0bedabbed cpu/esp32: use pthread module if module cpp is used (Kconfig)
Same as b424633016 but for Kconfig
2022-05-17 23:38:08 +02:00
chrysn
b458d52e2b cpu/esp_common: Set write size for flash implementation 2022-05-17 15:48:18 +02:00
Gunar Schorcht
c3c3de2ec2 cpu/esp32: gcc 8.4.0 requires that inline functions are declared static 2022-05-13 18:57:22 +02:00
Gunar Schorcht
b424633016 cpu/esp32: use pthread module if module cpp is used 2022-05-13 18:56:17 +02:00
6f52b90e58
cpu/cortexm_common: enable FPU on cortexm33 2022-05-05 21:16:10 +02:00
Marian Buschsieweke
2025b64f99
Merge pull request #18023 from chrysn-pull-requests/efm32-gpio-ll
cpu/efm32: Minimal support for gpio_ll
2022-05-04 01:40:29 +02:00
chrysn
d90e0f1e85 cpu/efm32: Support pull-up/-down resistors 2022-05-03 19:32:08 +02:00
chrysn
e9a577c384 cpu/efm32: Document what is and is not implemented
Collapsing strengths as they'll stay unused for the time being.
2022-05-03 19:32:08 +02:00
chrysn
ed9cfba747 cpu/efm32: Push-pull support for GPIO_LL 2022-05-03 19:32:08 +02:00
chrysn
3264a1d51d cpu/efm32: Minimal support for gpio_ll 2022-05-03 19:32:08 +02:00
Marian Buschsieweke
bae91c1660
Merge pull request #17723 from benpicco/periph_timer_periodic-set_stopped
drivers/periph/timer: add TIM_FLAG_SET_STOPPED flag
2022-05-03 12:06:37 +02:00
Marian Buschsieweke
95b35c6de0
Merge pull request #17982 from maribu/gpio_ll/atmega
cpu/atmega_common: implement periph/gpio_ll{,_irq}
2022-05-02 17:28:30 +02:00
Benjamin Valentin
35588d46bd cpu/sam0_common: adc: Automatically configure extref pin 2022-05-02 16:23:49 +02:00
Marian Buschsieweke
04ab5a74f3
cpu/atmega_common: implement periph/gpio_ll{,_irq}
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2022-05-02 14:44:55 +02:00
80815edaba
Merge pull request #18028 from aabadie/pr/cpu/uncrustify_arm7_vectors
cpu/arm7_common: uncrustify vectors.c
2022-04-28 22:07:35 +02:00
Benjamin Valentin
4326b5ca54 cpu/native: timer: implement TIM_FLAG_SET_STOPPED 2022-04-28 13:27:59 +02:00
Benjamin Valentin
191ff4079b cpu/nrf5x_common: timer: implement TIM_FLAG_SET_STOPPED 2022-04-28 13:27:59 +02:00
Benjamin Valentin
d6b5bf33b2 cpu/stm32: timer: implement TIM_FLAG_SET_STOPPED 2022-04-28 13:27:59 +02:00
Benjamin Valentin
4540e490e3 cpu/atmega_common: timer: implement TIM_FLAG_SET_STOPPED 2022-04-28 13:27:59 +02:00
Benjamin Valentin
c5a78bd32f cpu/lpc23xx: timer: implement TIM_FLAG_SET_STOPPED 2022-04-28 13:27:59 +02:00
Benjamin Valentin
7ed69cc08a cpu/gd32v: timer: implement TIM_FLAG_SET_STOPPED 2022-04-28 13:27:59 +02:00
bca6f44edc
cpu/arm7_common: uncrustify vectors.c 2022-04-28 11:57:05 +02:00
Francisco Molina
a4bbb74371 cpu/esp32: always include libc_gettimeofday 2022-04-28 09:51:19 +02:00
Leandro Lanzieri
82726a2b2b
sys/random/kconfig: remove HWRNG default in backend choice
For now we match the Makefile.dep default, ignoring if the platform
presents a Hardware RNG.
2022-04-27 15:41:23 +02:00
benpicco
b6b1468240
Merge pull request #17980 from maribu/gpio_ll/nrf5x
cpu/nrf5x_common: implement periph/gpio_ll{,_irq}
2022-04-26 11:27:02 +02:00
Marian Buschsieweke
f0586dbf8f
cpu/nrf5x_common: implement periph/gpio_ll{,_irq}
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
2022-04-23 19:47:00 +02:00
Marian Buschsieweke
8bab36f1c5
cpu/stm32: Implement periph/gpio_ll{,_irq} except for STM32F1
Co-authored-by: Gunar Schorcht <gunar@schorcht.net>
Co-authored-by: Alexandre Abadie <alexandre.abadie@inria.fr>
2022-04-22 14:34:57 +02:00
Francisco Molina
0d7eb36247 boards/native: only one CAN_DLL by default 2022-04-20 14:40:06 +02:00
Daniel Lockau
879e082703 cpu/native: use socketcan pkg 2022-04-20 11:55:29 +02:00
eb6afbba98
cpu/stm32: adapt ltdc periph disp_dev interface 2022-04-13 12:49:58 +02:00
Fabian Hüßler
e261db28c9 cpu/stm32/include/periph/f7: add missing ADC_DEVS 2022-04-12 22:39:17 +02:00
Oleg Hahm
f3ffe134b0
Merge pull request #17895 from benpicco/pm_blocker_array
sys/pm_layered: use array representation, get rid of implicit IDLE mode
2022-04-08 14:04:46 +02:00
Benjamin Valentin
11acdd0526 cpu/samd*: adjust PM_BLOCKER_INITIAL to the new API
For saml1x and samd5x this becomes now obsolete as the default provides
this behavior.
2022-04-06 12:29:25 +02:00
Benjamin Valentin
0340ac6129 cpu: include IDLE in PM_NUM_MODES 2022-04-06 12:29:25 +02:00
Marian Buschsieweke
a097baee80
Merge pull request #17898 from keith-packard/enable-gcc-builtin
cpu/arm7, arch/cortexm: Remove -fno-builtin flag
2022-04-06 08:14:11 +02:00
Ollrogge
b21640f1e0 cpu/riscv_common: fix undeclared memory region linker error 2022-04-04 13:18:01 +02:00
Keith Packard
b21e624280 cpu/arm7, arch/cortexm: Remove -fno-builtin flag
This flag disables all builtin functions provided by the compiler as
well as disabling all optimizations and error checking related to
standard C library functions. If you're using a C library which
conforms to the ANSI C standard, you want to leave these compiler
features enabled.

Signed-off-by: Keith Packard <keithp@keithp.com>
2022-04-02 16:58:09 -07:00
Dylan Laduranty
c568d273ea
Merge pull request #17886 from benpicco/cpu/sam0_eth-sleep
cpu/sam0_eth: implement SLEEP state
2022-04-01 09:18:41 +02:00
Benjamin Valentin
1f96e95fde cpu/sam0_eth: implement SLEEP state
This saves ~3 mA when the device is in SLEEP mode.
2022-03-31 23:54:33 +02:00
Benjamin Valentin
7c3bfb980e cpu/samd5x: allow to block IDLE mode
Make it possible to prevent the CPU clock from stopping.
2022-03-29 18:14:41 +02:00
benpicco
1133d04de1
Merge pull request #17813 from leandrolanzieri/pr/tests/eth_drivers_rework
tests: rework eth drivers
2022-03-28 18:15:27 +02:00
Francisco
b91b984e38
Merge pull request #17733 from fjmolinas/pr_gettimeofday_64_bit
sys/syscalls: make gettimeofday() implementation optional
2022-03-24 15:22:27 +01:00
Francisco Molina
0819660303 sys/syscalls: add libc_gettimeofday
Conditionally implement gettimeofday() if module is included, this
avoids including ztimer64 even when not needed
2022-03-24 11:36:49 +01:00
Leandro Lanzieri
37908431a1
cpu/stm32/eth: call netdev register from the setup function 2022-03-24 09:44:54 +01:00
Leandro Lanzieri
e48f957a52
cpu/nrf52/radio: fix confirm_op info cast 2022-03-23 19:07:49 +01:00
cb5fef4486
cpu/stm32: use HSI with I2C 2022-03-23 10:10:08 +01:00
a7c1be8844
cpu/stm32: f439 line has hardware rng 2022-03-21 08:11:46 +01:00
7501098a8a
Merge pull request #17819 from aabadie/pr/cpu/samd51_adc_enh
cpu/samd51: allow to support ADC0 and ADC1 in the same configuration
2022-03-18 14:09:00 +01:00
Leandro Lanzieri
202fb261fe
Merge pull request #17811 from fjmolinas/pr_xtimer_dep_rework_simple
sys/*timer: rework dependecies to ease backend switch, prefer ztimer_xtimer_compat over xtimer_on_ztimer
2022-03-18 08:17:24 +01:00
benpicco
82b0e08745
Merge pull request #10082 from gschorcht/drivers_l3gd20h
drivers: add driver for L3GD20H 3-axis gyroscope
2022-03-18 08:10:24 +01:00
Gunar Schorcht
1c666c5955 kconfig: add ST L3Gxxxx 3-axis gyro family 2022-03-18 06:34:54 +01:00
chrysn
facb5e633f
Merge pull request #17436 from Ollrogge/reserve_flash
cpu: add flash_writable section to linker script
2022-03-17 21:44:32 +01:00
Ollrogge
41f961a197 periph/flashpage: Add _in_address_space feature 2022-03-17 19:45:54 +01:00
Francisco Molina
d86828c53b cpu/efm32: periph_rtt_series0/1 are not modules 2022-03-17 14:37:33 +01:00
Francisco Molina
2cc5af664e treewide: make all modules use Kconfig ZTIMER_USEC indirection 2022-03-17 14:33:07 +01:00
Francisco
114e61c111
Merge pull request #17786 from fjmolinas/pr_ztimer_rtt_sam3
sys/ztimer: auto-select ztimer_no_periph_rtt only for samd21
2022-03-17 12:32:29 +01:00
9feb1ffa68
cpu/sam0_common: allow for setting the ADC device for each line 2022-03-17 11:44:40 +01:00
Francisco Molina
53c3e38cb9 sys/ztimer: select ztimer_periph_no_rtt only for samd21 2022-03-15 08:15:22 +01:00
ee175fb583
cpu/samx21: allow to override #ifndef PM_BLOCKER_INITIAL 2022-03-11 10:48:12 +01:00
Gunar Schorcht
421fb6dedd cpu/esp32: update the doc for Espressif's ESP32 vendor toolchain 2022-03-10 05:31:04 +01:00
Gunar Schorcht
92b7b8a3d7 cpu/esp32: disable the use of newlib's pthread headers 2022-03-10 05:31:04 +01:00
Benjamin Valentin
1fa1d348d8 cpu/cortexm_common: remove breakpoint from hard_fault_handler
The hard fault handler would normally call core_panic() which in turn
calls ps() - this already helps debugging a lot of crashes caused by
a thread stack overflow.

With the breakpoint in place, the code will not advance to this, leaving
users unknown of this feature in the dark.

On top, the breakpoint is not very helpful if thread stacks are already
corrupted.

Let's just drop it for simplicity's sake - it's not there for any other
architectures.
2022-03-09 23:32:46 +01:00
Gunar Schorcht
12d0cc9e99 cpu/esp32: enable _NANO_FORMATTED_IO for Espressif's GCC 8.4.0 2022-03-08 09:31:42 +01:00
Gunar Schorcht
395ec06c16 dist/tools/esptool: upgrade to v3.2 for ESP32 2022-03-08 09:31:42 +01:00
benpicco
2d89399047
Merge pull request #17745 from leandrolanzieri/cpu/esp32/esp-eth/move_auto_init
cpu/esp32/esp-eth: move GNRC auto_init to init_devs
2022-03-07 20:25:06 +01:00
Dylan Laduranty
9d459b8a14
Merge pull request #17746 from leandrolanzieri/cpu/sam0_common/eth/expose_correct_setup
cpu/sam0_common/eth: expose correct setup function
2022-03-07 18:42:08 +01:00
Ollrogge
74d086cdd6 cpu/riscv_common: add flash_writable section to linker script 2022-03-07 11:25:38 +01:00
Ollrogge
6a40815904 cpu/msp430_common: add flash_writable section to linker script 2022-03-07 11:24:39 +01:00
Ollrogge
5587f5d88f cpu/cortexm_common: add flash_writable section to linker script 2022-03-07 11:23:44 +01:00
Leandro Lanzieri
c33cfdfaec
Merge pull request #17742 from gschorcht/cpu/esp/rename_esptool_dir
dist/tools: rename directory esptool to esptools to use it for multiple tools
2022-03-04 11:58:40 +01:00
Leandro Lanzieri
74c8893a4f
cpu/esp32/esp-eth: move GNRC auto init to init_devs 2022-03-04 09:41:18 +01:00
Leandro Lanzieri
f1075ad749
cpu/sam0_common/eth: expose correct setup function 2022-03-04 08:57:42 +01:00
Gunar Schorcht
cbbd02d520 dist/tools: rename esptool to esptools to use it for several tools
The directory `dist/tools/esptool` already contains a couple of ESP tools and not only esptool.py. As the location for a couple of ESP related tools, it is more clear to call it `esptools` instead of `esptool`.
2022-03-04 08:34:19 +01:00
Francisco
0c166b1e2a
Merge pull request #17732 from fjmolinas/pr_xtimer_compat_deps
sys: sort out ztimer_xtimer_compat and ztimer64_xtimer_compat depes
2022-03-04 08:08:41 +01:00
benpicco
6ddcfc07fb
Merge pull request #17727 from jeandudey/2022_03_01-stm32l1-line
cpu/stm32: Add STM32_LINE cases for STM32L1xxx6
2022-03-03 17:28:56 +01:00
Francisco Molina
6151895bfa sys: use ztimer64_xtimer_compat when required 2022-03-02 14:28:54 +01:00
Jean-Pierre De Jesus DIAZ
919d1b5094
cpu/stm32: Add STM32_LINE cases for STM32L1xxx6 2022-03-01 17:20:16 +01:00
Jean-Pierre De Jesus DIAZ
d64bbdffe5
cpu/stm32: Fix CLOCK_CORECLOCK on stm32l0/l1
With the previous order of the operation there was a loss of precision
when using certain values as the divider
2022-03-01 17:11:16 +01:00
Benjamin Valentin
6540065c7e cpu/rpx0xx: timer: implement TIM_FLAG_SET_STOPPED 2022-03-01 14:22:53 +01:00
Benjamin Valentin
79698d674b cpu/sam0_common: timer: implement TIM_FLAG_SET_STOPPED flag 2022-03-01 14:22:40 +01:00
Francisco
59208722ad
Merge pull request #17008 from benpicco/board_common
sys/board_common: add generic board_init() function
2022-02-23 08:59:32 +01:00
Dylan Laduranty
fb24a54208
Merge pull request #17687 from benpicco/cpu/saml21-EXTWAKE
cpu/sam0_common: implement EXTWAKE for SAM L21
2022-02-22 21:49:24 +01:00
Benjamin Valentin
3977023700 boards/esp32-*: drop custom board_init() 2022-02-22 18:27:37 +01:00
Dylan Laduranty
38943b7051
Merge pull request #17686 from benpicco/cpu/sam0_common-info.mk
cpu/saml21: derive low power SRAM length from model number
2022-02-22 00:48:36 +01:00
Benjamin Valentin
c44cf1423e cpu/saml21: derive low power SRAM length from model number 2022-02-21 19:04:16 +01:00
Benjamin Valentin
7c1c2407b0 cpu/sam0_common: implement EXTWAKE for SAM L21
On SAM L21 only 8 EXTWAKE pins can wake the CPU from Backup sleep.
Handle this analogous to the RTC tamper pins on SAM D5x/E5x where
configuring them as an interrupt will also cause them to wake the
device from Deep Sleep.
2022-02-21 19:03:06 +01:00
Benjamin Valentin
9121680204 cpu/sam0_common: decode model number 2022-02-21 15:13:29 +01:00
Fabian Hüßler
e3509fc023 cpu/stm32: add sampling time to F4/F7 ADC driver 2022-02-21 10:49:43 +01:00
Fabian Hüßler
fa52f1e986 cpu/stm32: Consider VBAT on CPU init 2022-02-21 10:49:43 +01:00
Fabian Hüßler
33c2944076 cpu/stm32: add VBAT for stm32 2022-02-21 10:49:43 +01:00
Francisco
60f3410ae0
Merge pull request #17671 from PeterKietzmann/pr_puf_sram_esp32
cpu/esp32: enable puf_sram feature
2022-02-18 11:45:49 +01:00
Francisco
1a54357e2a
Merge pull request #17665 from PeterKietzmann/pr_puf_sram_riscv
cpu/riscv_common: enable puf_sram feature
2022-02-18 10:25:13 +01:00
Jue
4bb6a764ea cpu/efm32: select series-specific drivers in periph Makefile
This will allow to share implementations across a subset of EFM32 series.
2022-02-17 11:09:24 +01:00
PeterKietzmann
b348c9ff11 cpu/esp32: enable puf_sram feature 2022-02-17 11:08:11 +01:00
PeterKietzmann
6215b7e630 cpu/riscv_common: add puf_sram feature 2022-02-16 15:18:37 +01:00
c5b3934767 cpu/native: improve getpid() stub message 2022-02-16 11:38:32 +01:00
PeterKietzmann
992e09b07b cpu/riscv_common: add bss end to clear memory 2022-02-16 10:52:09 +01:00
PeterKietzmann
dd4fe70a62 cpu/riscv_common: add noinit section to ld script 2022-02-16 10:48:31 +01:00
Karl Fessel
726c461cb5
Merge pull request #17574 from kfessel/p-fix-asserth
core/assert: avoid including panic.h with assert.h
2022-02-15 11:57:55 +01:00
Karl Fessel
5e42af7935 cpu/stm32: i2c include panic.h 2022-02-12 18:30:58 +01:00
benpicco
561157ce72
Merge pull request #17635 from jenswet/feature/netdev_tap_register
cpu/native/netdev_tap: Add to netdev_register
2022-02-11 11:52:04 +01:00
Jens Wetterich
4dfeafcabd cpu/native/netdev_tap: Add to netdev_register 2022-02-11 07:54:11 +01:00
MrKevinWeiss
58097a20aa
cpu/stm32: clk tree account for 16 MHz 2022-02-10 13:27:50 +01:00
Kevin "Tristate Tom" Weiss
d97eed54a1
Merge pull request #17525 from fjmolinas/pr_esp_compile_test_boards
[POC] tests/external-boards: add esp compile test boards
2022-02-10 08:31:12 +01:00
benpicco
be45400631
Merge pull request #17341 from benpicco/vfs-mtd_cleanup
sys/vfs: add file-system auto-mount
2022-02-09 21:50:34 +01:00
Francisco
70e6e695f6
Merge pull request #17616 from fjmolinas/pr_spi_gpio_mode_sam
cpu/sam0_common: add periph_spi_init_gpio
2022-02-09 21:45:51 +01:00
Francisco Molina
c1238ad4e4 cpu/esp: model missing modules 2022-02-09 16:50:04 +01:00
Benjamin Valentin
fc4cd0484b cpu/native: change mtd_native_dev_t parent name to base
This brings it in line with the other MTD implementations.
2022-02-09 12:21:53 +01:00
benpicco
7dca69c182
Merge pull request #17617 from fjmolinas/pr_spi_gpio_mode_nrf
cpu/nrf52-9160: add periph_spi_init_gpio
2022-02-08 13:24:57 +01:00
Francisco Molina
067fa7502d cpu/sam0_common: add periph_spi_init_gpio 2022-02-08 09:21:44 +01:00
Francisco Molina
4906353cfe cpu/nrf52-9160: add periph_spi_init_gpio 2022-02-08 09:17:48 +01:00
MrKevinWeiss
656be63fc0
cpu/stm32/wl: Model clock tree in kconfig 2022-02-07 13:58:43 +01:00
MrKevinWeiss
68e94ea2aa
cpu/stm32: Add clock config for mp1 to kconfig 2022-02-03 12:20:53 +01:00
MrKevinWeiss
7bebbc5545
cpu/stm32: Fix clock config in kconfig 2022-02-01 13:58:07 +01:00
chrysn
716cd8f48b cpu/nrf52 radio: Populate info
According to ieee802154_radio_confirm_transmit docs, the parameter of
confirm_op for IEEE802154_HAL_OP_TRANSMIT is to be populated as an out
parameter -- but this implementation unconditionally left info
unpopulated. Thus, when run with LLVM, _fsm_state_tx_process_tx_done
looked into an uninitialized info and thus crashed into failing
assertions.

Closes: https://github.com/RIOT-OS/RIOT/issues/17591
2022-01-30 16:13:04 +01:00
benpicco
39ad2012ba
Merge pull request #17583 from benpicco/cpu/native-afl_gcc_fix
cpu/native: fix build with afl-gcc 11.2
2022-01-28 10:19:32 +01:00
Benjamin Valentin
4c9f1e0ca4 cpu/native: fix build with afl-gcc 11.2
Building `fuzzing/gcoap` with afl-gcc 11.2 gives

/home/benpicco/dev/RIOT/cpu/native/native_cpu.c: In function ‘thread_stack_init’:
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c:120:11: error: variable ‘stk’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
  120 |     char *stk = NULL;
      |           ^~~
/home/benpicco/dev/RIOT/cpu/native/native_cpu.c:118:72: error: argument ‘stack_start’ might be clobbered by ‘longjmp’ or ‘vfork’ [-Werror=clobbered]
  118 | char *thread_stack_init(thread_task_func_t task_func, void *arg, void *stack_start, int stacksize)
      |

We can re-write the function to not use this temporary variable and the error goes away.
2022-01-27 21:09:59 +01:00
benpicco
4ed9d8fd5c
Merge pull request #17581 from nmeum/riscv-linker-rom-region
cpu/riscv_common: fix undeclared memory region linker error
2022-01-27 17:06:43 +01:00
chrysn
f7dfa2f84d
Merge pull request #17133 from chrysn-pull-requests/doc-develhelp-stackoverflow-precision
doc: Start documenting pseudomodules
2022-01-27 15:09:22 +01:00
Sören Tempel
e41063d40e cpu/riscv_common: fix undeclared memory region linker error
Since commit 3a11b1fbd2 (#16972)
building RIOT applications with `BOARD=hifive1` causes the following
linker error to be emitted on my system:

	/opt/rv32imc/lib/gcc/riscv32-unknown-elf/10.2.0/../../../../riscv32-unknown-elf/bin/ld:riscv_base.ld:220: warning: memory region `rom' not declared

This is due to the fact that the RISC-V linker script doesn't have a rom
memory region. While many other ARM-based boards have a rom memory
region defined in the linker script, the corresponding region name in
the RISC-V linker script is flash and rom is not declared as a memory
region hence the warning.

I think this was accidentally overlooked in
3a11b1fbd2. It is fixed in this commit by
replacing the rom region with the flash region. The linker script
identifiers (e.g. _srom and _erom) are not renamed.
2022-01-27 15:02:50 +01:00
chrysn
bb8402fc0b doc: Document the MPU pseudomodules 2022-01-27 13:49:25 +01:00
chrysn
99d245f538
Merge pull request #17520 from chrysn-pull-requests/rust-enable-riscv
cpu/riscv_common: Enable Rust applications
2022-01-26 19:14:50 +01:00
Gunar Schorcht
c0dc6ccc71 cpu/esp32: set SDK configuration dependent on newlib_nano module 2022-01-25 00:37:08 +01:00
Gunar Schorcht
fdabe050ed cpu/esp32: skip inclusion of toolchain pthread types
The toolchain provides POSIX type definitions for pthread which conflicts with that in RIOT. With the CFLAGS/CXXFLAGS skip the inclusion of the types shipped by the toolchain.
2022-01-25 00:36:51 +01:00
Gunar Schorcht
2ccfb145a1 cpu/esp32: add missing POSIX functions 2022-01-25 00:36:51 +01:00
Gunar Schorcht
1d20f88bb0 cpu/esp32: set stdout/stderr to be non-buffering 2022-01-25 00:36:51 +01:00
Gunar Schorcht
e1c6306bf4 cpu/esp32: replace bzero by memset 2022-01-25 00:36:51 +01:00
Gunar Schorcht
e15e18b195 cpu/esp32: fix compilation errors 2022-01-25 00:36:51 +01:00
Gunar Schorcht
839cf4223d cpu/esp32: changes for retagetable locking 2022-01-25 00:36:51 +01:00
Gunar Schorcht
881a92fe47 cpu/esp32: remove types.h in sys include 2022-01-25 00:36:51 +01:00
benpicco
c18f1c2a9b
Merge pull request #17455 from gschorcht/cpu/esp32/sdk-as-package
cpu/esp32: download Espressif SDK ESP-IDF as package
2022-01-24 16:13:04 +01:00
benpicco
2520b5c608
Merge pull request #16870 from fabian18/cpu_stm32_add_periph_backup_ram
cpu/stm32: make backup SRAM available
2022-01-21 18:09:42 +01:00
Fabian Hüßler
70d3d647d1 cpu/{cortexm_common, stm32}: add support for backup RAM 2022-01-21 15:53:18 +01:00
Gunar Schorcht
6c3e7c5db7 cpu/esp*: nfs_flash/cpp dependency cleanup
Module `esp_idf_nvs_flash` uses C++ code. Since  `esp_idf_nvs_flash` module is always enabled on ESP8266, the permanent dependency on `cpp` is correct. But on ESP32, the `esp_idf_nvs_flash` module is only enabled if `esp_wifi_any` is used. Only in that case the compilation should depend on module `cpp`.
2022-01-21 13:32:56 +01:00
Francisco
007f8d07ce
Merge pull request #17535 from fjmolinas/pr_cc2538_set_counter
cpu/cc2538/rtt: fix rtt_set_counter
2022-01-19 08:15:22 +01:00
5e599a82dd
Merge pull request #17531 from fjmolinas/pr_spi_gpio_init_reference
drivers/periph_spi: spi_init_with_gpio_mode mode by reference
2022-01-18 18:44:54 +01:00
Francisco Molina
8c8ab47806 cpu/cc2538/rtt: fix rtt_set_counter 2022-01-18 16:39:04 +01:00
Francisco Molina
579ca6d941 drivers/periph_spi: spi_init_with_gpio_mode mode by reference 2022-01-18 16:22:18 +01:00
benpicco
e07fb44408
Merge pull request #17363 from fjmolinas/pr_lpc23xx-mci_ztimer
cpu/lpc23xx-mci: migrate to ztimer_msec
2022-01-17 16:11:25 +01:00
Gunar Schorcht
183562b947
Merge pull request #16341 from fjmolinas/pr_esp_rename_clock_coreclock
cpu/esp32: use macros/units
2022-01-17 15:22:23 +01:00
Marian Buschsieweke
8549ff2f7d
Merge pull request #17479 from gschorcht/cxxexflags_cpp+14
makefiles: use C++14 standard by default for C++ compilations
2022-01-17 13:42:41 +01:00
Francisco Molina
91c67c7a0e cpu/lpc23xx-mci: migrate to ztimer_msec 2022-01-17 12:47:03 +01:00
Francisco Molina
b9d1461b38 cpu/esp32: use macros/units 2022-01-17 12:28:11 +01:00
chrysn
d391b1c5f4 cpu/riscv_common: Enable Rust applications
This contains a workaround for
https://github.com/rust-lang/rust-bindgen/issues/1555 (withouot which
bindgen would fail, with little information helping remedy the cause)
2022-01-14 13:42:32 +01:00
Gunar Schorcht
60793f14ae cpu/esp*/vendor: remove -std=c++11 2022-01-13 17:50:59 +01:00
Jose Alamos
874a13e090
ieee802154/hal: remove RX continuous cap 2022-01-10 13:57:03 +01:00
Jose Alamos
db815aa779
ieee802154/hal: migrate to request_op and confirm_op 2022-01-10 13:57:02 +01:00
951ffb267b
Merge pull request #17483 from benpicco/cpu/sam0_common-mux
cpu/sam0_common: add missing MUX definitions
2022-01-07 20:43:33 +01:00
4e582b360f
cpu/stm32: add disp_dev interface for LTDC 2022-01-07 14:32:24 +01:00