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
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
deccc720e3
cpu/stm32: add support for LTDC periph 2022-01-07 14:32:24 +01:00
Benjamin Valentin
e0f28f81d0 cpu/sam0_common: add missing MUX definitions
This adds the missing PINMUX modes to the enum.
2022-01-07 13:03:11 +01:00
8272e4fbd2
Merge pull request #17359 from benpicco/irq_is_in-bool
core: change return type of irq_is_in(), irq_is_enabled() to bool
2022-01-06 18:13:20 +01:00
3c0e405f32
boards/cc2538: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:10 +01:00
c6c31f0361
boards/kinetis: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
796e127df9
boards/stm32: replace GPIO_UNDEF with SPI_CS_UNDEF 2022-01-06 12:34:09 +01:00
Gunar Schorcht
2e820a09fc cpu/esp32: print SDK version with esp_log_startup 2022-01-04 16:35:47 +01:00
Gunar Schorcht
81727fb1f1 pkg/esp32_sdk_libs: add ESP SDK libraries as package
The vendor binary libraries of ESP-IDF are provided as a separate GIT repository. These libraries are defined as separate package for two reasons: 1. RIOT packages don't support to clone GIT repositories recursively; 2. ESP-IDF pulls a lot of other GIT repositories that are not needed when it is cloned recursively.
2022-01-04 16:34:31 +01:00
Gunar Schorcht
f9105c3cc1 cpu/esp32: use INCLUDES as defined in pkg/esp32_sdk
The include pathes for the ESP32 SDK are now defined by `pkg/esp32_sdk`. They can be used in Makefiles directly.
2022-01-04 16:34:31 +01:00
Gunar Schorcht
d6c2926933 pkg/esp32_sdk: add ESP32 SDK without libraries as package
The vendor binary libraries of ESP-IDF are provided as a separate GIT repository. These libraries are defined as separate package for two reasons: 1. RIOT packages don't support to clone GIT repositories recursively; 2. ESP-IDF pulls a lot of other GIT repositories that are not needed when it is cloned recursively.
2022-01-04 16:34:31 +01:00
Marian Buschsieweke
30b3f9ad55
Merge pull request #17464 from gschorcht/sys/new_delete_module
sys/new_delete: add malloc/free based new/delete implementation
2022-01-04 14:50:30 +01:00
1a3f2d908a
Merge pull request #17424 from gschorcht/cpu/esp/kconfig_cpu_frequency
cpu/esp: integrate CPU clock frequency selection in Kconfig
2022-01-04 12:06:56 +01:00
05da606ea6
Merge pull request #17438 from gschorcht/cpu/esp/feature_cleanup
boards/esp* and cpu/esp: feature definition cleanup
2022-01-04 10:51:33 +01:00
Gunar Schorcht
d778e77c97 cpu/avr8_common: use C++ new and delete operator 2022-01-03 23:35:35 +01:00
4d75c6ddde
cpu/stm32: group periph definitions by periph type 2022-01-02 20:07:51 +01:00
benpicco
40a6000cc5
Merge pull request #17410 from aabadie/pr/cpu/stm32u5
cpu/stm32: add support for U5 family
2022-01-02 18:45:57 +01:00
Benjamin Valentin
8607a9cdfa
cpu/stm32: extend RAM with SRAM4 2022-01-02 15:43:37 +01:00
Gunar Schorcht
523bcec8ee cpu/esp*: small documentation fixes
Only formatting issues solved, no content changes.
2021-12-30 14:43:31 +01:00
2f0efa8c9e
cpu/stm32: add initial support for stm32u5 family 2021-12-23 11:04:41 +01:00
Gunar Schorcht
3492a36cf6 cpu/esp_common: common periph features moved to cpu/esp_common 2021-12-23 10:35:07 +01:00
Gunar Schorcht
6f7ba3500d cpu/esp8266: common periph features moved to cpu/esp_common 2021-12-23 10:34:40 +01:00
Gunar Schorcht
27decbc6c1 cpu/esp32: common periph features moved to cpu/esp_common 2021-12-23 10:34:25 +01:00
benpicco
f9e3196a54
Merge pull request #17427 from gschorcht/cpu/esp8266/fix_ztimer_esp_wifi_problem
cpu/esp8266: fix problems with ESP WiFi and migration to ztimer
2021-12-21 14:22:53 +01:00
benpicco
2bb2dc35d2
Merge pull request #17420 from gschorcht/cpu/esp/revert_change_for_esp_wifi_passphrase
cpu/esp: revert the change for default definition of ESP_WIFI_PASS
2021-12-20 17:05:45 +01:00
benpicco
b17fa61e83
Merge pull request #17422 from aabadie/pr/cpu/stm32_typo
cpu/stm32/Makefile.dep: fix typo
2021-12-20 15:23:18 +01:00
Gunar Schorcht
48f59a1487 cpu/esp8266: RTT is used by the WiFi Interface
If the WiFi interface is enabled by module `esp_wifi_any`, binary SDK libraries use the RTT. Therefore, `ztimer` must not use `periph_rtt`as backend, if the WiFi interface is enabled by module `esp_wifi_any`.
2021-12-19 15:56:31 +01:00
Gunar Schorcht
ae8713fea8 cpu/esp8266: places ztimer_core function in IRAM
`ztimer_core` functions have to reside in IRAM for timing reasons and to be available also when the IROM cache is disabled. Although the module is called `ztimer`, its object files are generated in directory `ztimer_core`.
2021-12-19 15:41:25 +01:00
Gunar Schorcht
4d19b77fce cpu/esp8266: add CPU frequency selection to Kconfig 2021-12-19 12:20:43 +01:00
Gunar Schorcht
f6831f34fb cpu/esp32: add CPU frequency selection to Kconfig
t
2021-12-19 12:20:14 +01:00
Gunar Schorcht
f01e0804ff cpu/esp32: remove the duplicate ESP_HAS_SPI_RAM 2021-12-19 12:19:59 +01:00
06d3fba129
cpu/stm32/Makefile.dep: fix typo 2021-12-19 10:47:15 +01:00
6f69996937
cpu/stm32/Kconfig: replace tabs with spaces 2021-12-19 10:37:29 +01:00
ec46f1b3f1
cpu/stm32: remove invalid symbols used in Kconfig 2021-12-19 10:33:12 +01:00
Gunar Schorcht
87a72e4dfe cpu/esp: revert the change for ESP_WIFI_PASS define
Previously, a default value for ESP_WIFI_PASS was intentionally defined only if DOXYGEN was also defined, to allow ESP_WIFI_PASS to be left undefined for using APs without authentication. With PR #17415 the definition was changed to always define a default value for EPS_WIFI_PASS.  This made it impossible to use APs without authentication. The commit reverts this change.
2021-12-19 07:39:46 +01:00
2c3e077bca
Merge pull request #17413 from gschorcht/cpu/esp32/support_clocks_2_and_40_MHz
cpu/esp32: support CPU clocks 2 MHz and 40 MHz
2021-12-18 21:58:34 +01:00
Jean-Pierre De Jesus DIAZ
466fdf5114
Merge pull request #17415 from gschorcht/cpu/esp/wifi_ap_dynamic_ssid_option
cpu/esp: change dynamic SSID option handling
2021-12-17 18:11:38 +01:00
Gunar Schorcht
5d00acc868 cpu/esp32/spi: support 2 MHz and 40 MHz APB clocks 2021-12-17 17:45:25 +01:00
Gunar Schorcht
470208e685 cpu/esp32/i2c_hw: assert added for unsupported I2C clock speeds
The former correction factors were determined by measuring the resulting clocks without a device connected to the bus.

However, when testing the changes for low CPU clock frequencies, it was figured out that the clocks not only depend on configured register values

    _i2c_hw[dev].regs->scl_low_period.period
    _i2c_hw[dev].regs->scl_high_period.period

but also on the bus capacity. Obviously, the register values are not absolute times in APB clock cycles, but rather times that start as soon as the corresponding level is reached. In this case, the higher the bus capacity, the longer the period would be.

This means that the clock speed cannot be precisely controlled via the correction factors anyway. For this reason, and because the I2C implementation in ESP-IDF also does not use correction factors, they were removed.
2021-12-17 17:44:27 +01:00
chrysn
afdabcf9b6
Merge pull request #16274 from chrysn-pull-requests/rust-application
Add some Rust building infrastructure and example
2021-12-16 16:17:28 +01:00
chrysn
1838cdf69c rust: Add triples for M23 and M33 (but keep disabled) 2021-12-16 13:29:31 +01:00
chrysn
b557fdce55 rust: Enable on Cortex-M0(+) boards 2021-12-16 13:29:31 +01:00
Gunar Schorcht
effc49f864 cpu/esp32: small documentation fix 2021-12-16 13:18:52 +01:00
Gunar Schorcht
8ac808e4fd cpu/esp: cleanup for dynamic SoftAP SSID option
The semantics of defining an SSID prefix that overrides the already defined SSID exactly when and only when it is set, and then enabling dynamic SSID generation with that prefix, made handling the parameter definition unnecessarily difficult and hard to understand.

Defining a boolean option that enables dynamic SSID generation, which then simply reuses the defined SSID as a prefix, makes it much more understandable and easier to handle, especially with respect to Kconfig.
2021-12-16 13:17:17 +01:00
Gunar Schorcht
0b4fb5a9ea cpu/esp32/i2c_sw: add delays for 2 and 40 MHz 2021-12-16 10:44:53 +01:00
Marian Buschsieweke
882c593575
Merge pull request #17348 from krzysztof-cabaj/add-elf2uf2-tool
tools/elf2uf2: addition of new PROGRAMMER for RPi-pico
2021-12-15 22:08:51 +01:00
benpicco
570d29c05c
Merge pull request #17400 from maribu/cpu/nrf5x_common/periph_temperature
cpu/nrf5x_common/periph_temperature: Increase resolution
2021-12-15 18:53:50 +01:00
krzysztof-cabaj
940f1eea4b tools/elf2uf2: addition of new PROGRAMMER for rpi-pico board 2021-12-15 11:40:10 -05:00
Marian Buschsieweke
8ee657f0e5
cpu/nrf5x_common/periph_temperature: Increase resolution
Modify the periph_temperature implementation to expose the full
resolution of the temperature sensor. The accuracy of the sensor will
likely be less than 0.25 °C, but typically temperature sensors have
a precision in the order of their resolution. Exposing the full
resolution can therefore be useful to monitor relative temperature
changes.
2021-12-15 16:14:08 +01:00
9c71dd7566
Merge pull request #17342 from aabadie/pr/sysclk
sys: introduce sysclk function to retrieve core clock frequency
2021-12-15 15:41:34 +01:00
Francisco
03a004e3c9
Merge pull request #17395 from fjmolinas/pr_cpu_no_rtt
cpu: do not auto-select ztimer_periph_rtt for sam0, fe310
2021-12-15 14:04:57 +01:00
c9207e81a3
cpu/esp8266: include cpu_conf.h in periph_cpu.h 2021-12-15 13:14:19 +01:00
2e74e5e3b9
cpu/esp32: include sdk_conf.h in periph_cpu.h
This allows access to CLOCK_CORECLOCK from periph_conf.h which is used by clk.h
2021-12-15 13:14:19 +01:00
2eb800cb8b
cpu/fe310: use coreclk instead of cpu_freq 2021-12-15 13:14:19 +01:00
b206658b51
cpu/native: define default CLOCK_CORECLOCK constant 2021-12-15 12:41:36 +01:00
Francisco
31f5899c56
Merge pull request #17374 from MrKevinWeiss/pr/fix/kconfig/stms2
boards/stm32-based: model Kconfig
2021-12-15 10:29:49 +01:00
MrKevinWeiss
51fdbdd75c
cpu/cortexm: fix kconfig libc_implemention 2021-12-15 08:39:00 +01:00
MrKevinWeiss
4ac5ad66db
cpu/stm32: Model bootloader_stm32 module 2021-12-15 08:38:59 +01:00
29ed101405
Merge pull request #17393 from fjmolinas/pr_kinetis_fix_rtt
cpu/kinetis/include: fix xtimer backend timer selection
2021-12-15 00:01:52 +01:00
dad01c17f6
Merge pull request #17386 from fjmolinas/pr_esp_ztimer
cpu/esp: migrate to ztimer
2021-12-14 23:39:56 +01:00
Francisco Molina
5e47fc7e22 cpu: do not auto-select ztimer_periph_rtt for sam0, fe310
The sam0 rtt busy loops for 180us every time an alarm is set or
the counter is read, this propagates and leads to timing errors
on ztimer_msec that are higher than > +-1msec.

The same goes for fe310.
2021-12-14 18:43:53 +01:00
Francisco Molina
4e6151bd7d cpu/esp*: migrate from xtimer to ztimer 2021-12-14 18:14:35 +01:00
Francisco Molina
bf05468fab cpu/kinetis/rtt: remove callback on clear 2021-12-14 13:20:36 +01:00
Francisco Molina
d4c84b592f cpu/kinetis/include: fix xtimer backend timer selection 2021-12-14 13:20:36 +01:00
chrysn
a2e1b92e1d makefiles: Define RUST_TARGET for use with Cargo / Rust
For RISC-V and Cortex-M-not-3, triples are known and have worked in some
configuration, but do not work at the moment and stay disabled until the
reference platforms (native, M3) have been established well.
2021-12-14 12:55:13 +01:00
Marian Buschsieweke
1f53b88a62
Merge pull request #17387 from ngandrass/pr/cpu/atmega_common/timer_periodic
cpu/atmega_common: Remember CTC mode with timer_periodic
2021-12-13 14:11:52 +01:00
Kevin "Tristate Tom" Weiss
ed94dd7085
Merge pull request #17376 from leandrolanzieri/pr/makefiles/add_board_cpu_config_variables
makefiles/kconfig: add board & CPU config variables
2021-12-13 13:26:40 +01:00
Leandro Lanzieri
df7ce1c647
makefiles/kconfig: use two lists for boards and CPUs default configs
This introduces KCONFIG_BOARD_CONFIG and KCONFIG_CPU_CONFIG variable for
boards and CPUs (including common directories) to add default
configuration files to be merged. The current approach, as it uses
Makefile.features, would include boards first, not allowing them to
override CPU configurations.
2021-12-13 12:33:21 +01:00
Niels Gandraß
41e8a57960
cpu/atmega_common: Remember CTC mode with timer_periodic 2021-12-13 12:08:38 +01:00
Marian Buschsieweke
5b86d65744
Merge pull request #14364 from gschorcht/fix_ndebug_compilation
Fix NDEBUG compilation problems
2021-12-12 14:39:42 +01:00
Gunar Schorcht
7405df2607 cpu/efm32/periph/wdt: fix compilation with NDEBUG 2021-12-12 13:18:46 +01:00
Gunar Schorcht
85313ccc02
Merge pull request #17232 from leandrolanzieri/pr/cpu/esp/model_kconfig
cpu/esp{32,8266}: model kconfig
2021-12-11 08:53:31 +01:00
benpicco
13f03ad161
Merge pull request #17314 from gschorcht/boards/esp/compile_optional_modules
cpu/esp: compile optional modules in CI
2021-12-10 19:28:24 +01:00
Leandro Lanzieri
a685e037c7
cpu/esp32: check for cpp module instead of used feature 2021-12-10 18:54:28 +01:00
Leandro Lanzieri
01e01c4597
cpu/esp_common: move LINKFLAGS to Makefile.include 2021-12-10 18:54:28 +01:00
Leandro Lanzieri
81b93c9b95
cpu/esp32/kconfig: move esp_wifi_enterprise feature to esp_common 2021-12-10 18:54:28 +01:00
Leandro Lanzieri
281519881e
cpu/esp32: fix esp_jtag dependency
In order to work properly dependencies should be placed on the
Makefile.dep files, not on Makefile.include.
2021-12-10 18:54:27 +01:00
Leandro Lanzieri
721588b03b
cpu/esp8266: remove unneeded Makefile 2021-12-10 18:54:27 +01:00
Leandro Lanzieri
53134d0474
cpu/esp32: require esp_spi_ram feature to use the module 2021-12-10 18:54:27 +01:00
Leandro Lanzieri
9f31dfe28a
cpu/esp32: refactor esp_spi_ram feature
This feature is provided by all esp32_wrover% models, so group it in the
common file.
2021-12-10 18:54:27 +01:00
Leandro Lanzieri
185d1a20df
cpu/esp8266: model Kconfig 2021-12-10 18:54:07 +01:00
Leandro Lanzieri
bfdfbb1a48
cpu/esp32: model Kconfig 2021-12-10 18:54:07 +01:00
Leandro Lanzieri
7a8f58ac4c
cpu/esp_common: model Kconfig 2021-12-10 18:54:07 +01:00
Leandro Lanzieri
831101eea5
cpu/esp_common/periph_flash: fix dependency 2021-12-10 18:51:27 +01:00
Leandro Lanzieri
59d3f0bcc6
cpu/esp32: remove unneeded crypto dependencies 2021-12-10 17:34:19 +01:00
Leandro Lanzieri
252c3886b0
cpu/esp32: do not expand USEMODULE 2021-12-10 17:34:16 +01:00
Marian Buschsieweke
073e738178
Merge pull request #17362 from fjmolinas/pr_atxmega_stackfix
cpu/atxmega/include/cpu_conf: ztimer64 arithmetic idle stack fix
2021-12-09 14:41:19 +01:00
Francisco
7362074f49
Merge pull request #17235 from leandrolanzieri/cpu/kinetis/model_kconfig
cpu/kinetis: model kconfig
2021-12-09 14:22:10 +01:00
ea71155b9b
Merge pull request #17364 from fjmolinas/pr_cpu_unused_xtimer
cpu: remove unused `xtimer.h` headers
2021-12-09 13:54:46 +01:00
benpicco
ccc97db715
Merge pull request #17360 from viktorbatista/debug_fixes
core/include/debug.h: minor fix in debug.h
2021-12-09 12:41:33 +01:00
Francisco Molina
43b3b3991a cpu/atxmega/include/cpu_conf: ztimer64 arithmetic idle stack fix 2021-12-09 12:15:15 +01:00
Francisco Molina
9438c20c59 cpu/stm32/periph: remove unused xtimer includ 2021-12-09 12:14:42 +01:00
Francisco Molina
111e7d906b cpu/sam0_common: remove unused xtimer dependency 2021-12-09 12:14:42 +01:00
Francisco
622fca0235
Merge pull request #17304 from MrKevinWeiss/pr/depmips
cpu/mips: deprecate mips cpu
2021-12-09 11:57:20 +01:00
d959ce7eea
Merge pull request #16928 from kaspar030/ztimer64
sys/ztimer64: initial PR
2021-12-09 10:17:15 +01:00
MrKevinWeiss
cf74b26c55
cpu/mips: deprecate mips cpu
Add deprecate note in the mips cpu.
Add warning in make when any mips based board is being used (6lowpan-clicker, pic32-wifire).
2021-12-09 10:14:52 +01:00
Kevin "Tristate Tom" Weiss
285e1e61cf
Merge pull request #17346 from gschorcht/cpu/esp32/esp_i2c_sw_clear_bus
cpu/esp32: add clear bus during init to the I2C software implementation
2021-12-09 10:13:17 +01:00
benpicco
e8cbf1ea90
Merge pull request #16681 from benpicco/drivers/dose-collision
drivers/dose: make use of UART collision detection feature
2021-12-08 20:48:28 +01:00
Benjamin Valentin
55454e9301 cpu/gd32v: timer: add ; after DEBUG() 2021-12-08 18:30:24 +01:00
Benjamin Valentin
39e6e19c9c drivers/nrf802154: add ; after DEBUG() 2021-12-08 18:28:49 +01:00
Benjamin Valentin
a51fb298dc cpu/sam0_common: implement periph_uart_collision feature 2021-12-08 17:35:00 +01:00
Benjamin Valentin
41a5b7ef7a core: change return type of irq_is_in(), irq_is_enabled() to bool
This only cleans up the API, no change in behavior or users of the API
is expected.
2021-12-08 15:53:15 +01:00
Leandro Lanzieri
15165bfdf7
Merge pull request #17299 from fjmolinas/pr_nrf52_boards_kconfig
boards: model nrf52 boards
2021-12-08 14:45:03 +01:00
b7e9d4fad2 cpu/atmega_common: also enlarge idle stack for ztimer64 2021-12-08 13:49:25 +01:00
Francisco Molina
766bfeace4 boards: model nrf52 boards 2021-12-08 13:25:29 +01:00
José Alamos
ce8cda2fd8
Merge pull request #16932 from benpicco/socket_zep-hal
socket_zep: port to radio HAL
2021-12-07 18:24:33 +01:00
Leandro Lanzieri
421bc95cc6
cpu/kinetis: model Kconfig 2021-12-07 11:32:16 +01:00
benpicco
228ba83dc6
Merge pull request #17184 from benpicco/drivers/dose-standby_fix
drivers/dose: fix standby mode
2021-12-07 11:09:43 +01:00
Gunar Schorcht
a66fef5bf5 cpu/esp_common: add bus clear for I2C on ESP32
On the ESP32 it is often not possible with the I2C software implementation to communicate with an AIP31068 based LCD module.  Therefore, the I2C hardware implementation is enabled when the AIP31068 driver is used, but it is more buggy than stable. The timing of the two implementations seems to be almost identical. The only difference is that the hardware implementation clears the bus before each access by sending 10 clock pulses on the SCL line while SDA is LOW. Using the same mechanism during I2C initialization for the software implementation solves the communication problem with the AIP31068.
The same software implementation works reliably with the AIP31068 on the ESP8266.
2021-12-06 22:02:30 +01:00
7c34d69b84
cpu/qn908x: migrate ADC periph to ztimer 2021-12-04 17:49:57 +01:00
Francisco
3afa47d8f2
Merge pull request #14955 from maribu/cflags-cast-align
makefiles/cflags.inc.mk: Add -Wcast-align
2021-12-03 17:47:24 +01:00
Marian Buschsieweke
e071098d26
cpu/stm32/periph: use uintptr_t instead uintptr_t * 2021-12-03 14:21:54 +01:00
Francisco
5ba215f9c5
Merge pull request #16843 from haukepetersen/add_nimble_scannerext
nimble_scanner: rework to enable scanning BLE5 PHYs and extended advertisements
2021-12-03 12:00:10 +01:00
Marian Buschsieweke
509ced8abb
cpu/stm32/periph_can: use container_of()
This silences false positives of -Wcast-align
2021-12-03 10:12:35 +01:00
Marian Buschsieweke
d59d9c27d7
cpu/esp32/periph_can: use container_of()
This silences false positives of -Wcast-align
2021-12-03 10:12:35 +01:00
Marian Buschsieweke
b433183e0e
cpu/kinetis: silence -Wcast-align 2021-12-03 10:12:34 +01:00
Marian Buschsieweke
7cd9d615fa
cpu/stm32/periph: Use uintptr_t for periph addr
The peripheral register addresses are fixed, properly aligned addresses. Storing
them as uintptr_t makes live easier when casting them to helper structs, as no
intermediate cast to uintptr_t is needed to silence -Wcast-align.
2021-12-03 10:12:32 +01:00
Marian Buschsieweke
d31b1f4854
cpu/esp32: disable -Wcast-align for vendor code 2021-12-03 10:12:32 +01:00
Francisco
1ec9bfdec4
Merge pull request #17287 from leandrolanzieri/pr/sys/vfs/model_kconfig
sys/vfs: model Kconfig
2021-12-03 09:11:57 +01:00
Leandro Lanzieri
d7bf363517
Merge pull request #17290 from fjmolinas/pr_kconfig_msp430
cpu/msp430: add Kconfig
2021-12-03 08:37:11 +01:00
Hauke Petersen
00393e8214 kconfig: add ble_phy_x feature and mapping 2021-12-02 23:31:32 +01:00
Hauke Petersen
96163aa380 cpu/nrf52: add features for coded and 2Mbit PHYs 2021-12-02 23:31:32 +01:00
4d96c1f8e0
Merge pull request #17281 from dylad/pr/cpu/stm32/usbdev_fs_support
cpu/stm32: add new usbdev FS support
2021-12-02 21:57:49 +01:00
Marian Buschsieweke
ec39b8e3aa
Merge pull request #17320 from aabadie/pr/cpu/stm32_ztimer
cpu/stm32: migrate adc and eth periphs to ztimer
2021-12-02 20:05:43 +01:00
Francisco Molina
7ab05fa129 cpu/msp430: add Kconfig 2021-12-02 16:33:19 +01:00
dylad
f5cd2d1438 cpu/stm32: enable HSI48 when needed for L4/Wx 2021-12-02 14:26:03 +01:00
dylad
083e53406d cpu/stm32: add support for a new USBDEV periph
Also rename the other usbdev driver to avoid conflicts
2021-12-02 14:26:03 +01:00
924c2fd6da
cpu/stm32/adc: migrate to ztimer 2021-12-02 13:44:03 +01:00
0c7d2a0f55
cpu/stm32/eth: migrate to ztimer 2021-12-02 12:22:41 +01:00
Dylan Laduranty
97f7b67b49
Merge pull request #17291 from fjmolinas/pr_nrf9160_kconfig
cpu/nrf9160: add Kconfig dependencies
2021-12-02 09:59:16 +01:00
Francisco Molina
4aaf8f12a0 cpu/nrf9160: add Kconfig dependencies 2021-12-02 07:51:21 +01:00
Gunar Schorcht
891a0aae17 cpu/esp8266: fix esp_sw_timer compile problem 2021-12-02 06:17:48 +01:00
Gunar Schorcht
7da115f9e6 cpu/esp32: fix esp_hw_counter compile problem 2021-12-02 06:17:48 +01:00
Gunar Schorcht
6123cde033 cpu/esp32: cleanup of pseudomodule definition 2021-12-02 06:17:48 +01:00
Dylan Laduranty
48e71b2d8c
Merge pull request #17302 from aabadie/pr/cpu/stm32_usb_l4
cpu/stm32: enable USB OTG FS on high end L4
2021-12-01 20:56:07 +01:00
52ce34a23f
Merge pull request #17306 from gschorcht/cpu/esp32/esp_wifi/fix_enterprise_compilation
cpu/esp32: fix esp_wifi_enterprise compilation problem
2021-12-01 15:31:40 +01:00
Gunar Schorcht
09c0341442 cpu/esp32: fix esp_wifi_enterprise compilation problem
With the change from using archive files to using object files in PR #14754, the module `esp_wifi_enterprise` was no longer compilable. The reason for this was that the file `bignum.c` was present in two different vendor sub-directories and created two identical object files, which then led to a symbol conflict when linking. This commit removes one of these identical files. The one that is used in all `esp_wifi` variants is kept, the one that is only used in `esp_wifi_enterprise` is dropped.
2021-12-01 11:25:57 +01:00
337b99002a
cpu/stm32/stmclk: enable 48MHz when usbdev is used 2021-12-01 10:15:19 +01:00
f07696e7a2
cpu/stm32/usbdev: poweron USB during initialization 2021-12-01 10:15:19 +01:00
Leandro Lanzieri
5054bdc786
cpu/lpc23xx: model Kconfig 2021-12-01 10:14:34 +01:00
Leandro Lanzieri
81d646ea03
cpu/arm7_common: model Kconfig 2021-12-01 10:14:32 +01:00
benpicco
bab6f8960c
Merge pull request #17293 from aabadie/pr/cpu/stm32_cmsis_update
cpu/stm32: bump cmsis repositories to latest releases + extend CPU models kconfig
2021-12-01 08:23:39 +01:00
Francisco
cb07027b39
Merge pull request #17277 from leandrolanzieri/pr/cpu/qn908x/model_kconfig
cpu/qn908x: model kconfig
2021-12-01 01:03:30 +01:00
benpicco
05b9c84369
Merge pull request #17255 from MrKevinWeiss/pr/kconfig/sam54
.murdock: Add same54-xpro to kconfig tests
2021-11-29 23:22:23 +01:00
6c60326612
cpu/stm32/kfconfigs: add new CPU from L4 family 2021-11-29 14:26:00 +01:00
a9106719c2
cpu/stm32/kfconfigs: add new CPUs from G4 family 2021-11-29 14:20:20 +01:00
658fa5d048
cpu/stm32/kfconfigs: add new CPUs from G0 family 2021-11-29 14:19:16 +01:00
16db45f77e
cpu/stm32: fix missing clock configuration defines for g0 2021-11-29 14:12:18 +01:00
d09f2e99e3
cpu/stm32/kfconfigs: add new CPUs from WB family 2021-11-29 13:57:20 +01:00
Leandro Lanzieri
c5e9e08de8
cpu/qn908x: model Kconfig 2021-11-29 13:56:43 +01:00
Leandro Lanzieri
922fca3962
cpu/qn908x: add periph_flexcomm as SPI dependency 2021-11-29 13:56:43 +01:00
1746bf9e6f
cpu/stm32/dist: fix bug in gen_kconfig.py script 2021-11-29 13:52:26 +01:00
6a219d7cfa
cpu/stm32: bump cmsis versions to latest release 2021-11-29 13:22:59 +01:00
Leandro Lanzieri
368ccdf3f8
sys/vfs: model Kconfig 2021-11-29 10:30:49 +01:00
MrKevinWeiss
fba9cad987
periph/gpio: Model TAMPER_WAKE for kconfig 2021-11-29 09:12:28 +01:00
Gunar Schorcht
007e29ebb5 cpu/periph/i2c: update implementations to new I2C API
Make all `spi_acquire` implementations return `void` and add assertions to check for valid device identifier where missing.
2021-11-29 06:35:25 +01:00
Erik Ekman
7825512d18 cpu/riscv_common: Suppress cppcheck error
cpu/riscv_common/thread_arch.c:188: error (comparePointers): Subtracting pointers that point to different objects
2021-11-25 13:08:51 +01:00
Erik Ekman
b5f96d2040 cpu/cortexm_common: Suppress cppcheck errors
cpu/cortexm_common/thread_arch.c:262: error (comparePointers): Comparing pointers that point to different objects
cpu/cortexm_common/thread_arch.c:266: error (comparePointers): Subtracting pointers that point to different objects
2021-11-25 13:08:51 +01:00
Erik Ekman
e5d60176e4 cpu/esp: Suppress cppcheck errors
cpu/esp_common/syscalls.c💯 error (memleak): Memory leak: mtx
cpu/esp_common/syscalls.c:131: error (memleak): Memory leak: rmtx
cpu/esp_common/syscalls.c:365: error (comparePointers): Subtracting pointers that point to different objects

cpu/esp_common/thread_arch.c:355: error (comparePointers): Comparing pointers that point to different objects

cpu/esp8266/startup.c:59: error (comparePointers): Subtracting pointers that point to different objects
2021-11-25 13:08:51 +01:00
Leandro Lanzieri
92b7e5ea53
cpu/atxmega: fix dependency 2021-11-22 12:25:57 +01:00
Leandro Lanzieri
845681448d
cpu/atmega_common: move PCINT documentation from boards 2021-11-22 12:25:57 +01:00
Leandro Lanzieri
a37f59b109
cpu/atxmega: model Kconfig 2021-11-22 12:25:29 +01:00
Leandro Lanzieri
b8e2e3ce66
cpu/atmega_common: model Kconfig 2021-11-22 12:25:29 +01:00
Leandro Lanzieri
b534f26e17
cpu/avr8_common: model Kconfig 2021-11-22 12:25:29 +01:00
Leandro Lanzieri
96f31ec39b
cpu/lpc1768: add Kconfig configuration 2021-11-22 09:07:42 +01:00
Jean Pierre Dudey
7ab6729b04
Merge pull request #17236 from leandrolanzieri/pr/cpu/cc26xx_cc13xx/model_kconfig
cpu/{cc26xx, cc13xx}: model kconfig
2021-11-21 17:45:57 +01:00
benpicco
2d882c3521
Merge pull request #16737 from JKRhb/uncrustify
treewide: Address uncrustify suggestions
2021-11-21 15:42:05 +01:00
Benjamin Valentin
669104d841 cpu/sam0_common: SPI: don't perform DMA transfer for small buffers
Setting up a DMA transfer can take longer than sending out a buffer
byte by byte if the buffer is small.

DMA only shows advantages for large buffers, using it for every transfer
will cause a net slowdown.

Since we did not come up with a good way to determine the treshold based
on the SPI frequency, just use a fixed buffer for now so that DMA can be
used without slowing things down overall.
2021-11-19 17:22:51 +01:00
benpicco
e0b3cba571
Merge pull request #17226 from dylad/pr/boards/nrf9160dk/add_riotboot_support
boards/nrf9160dk: add riotboot support
2021-11-19 15:45:05 +01:00
06530c4297
cpu/stm32: clone cmsis header in build/stm32 2021-11-19 13:24:57 +01:00
Leandro Lanzieri
05224def47
cpu/cc26x2_cc13x2: model Kconfig 2021-11-19 10:52:23 +01:00
Leandro Lanzieri
7237002ead
cpu/cc26x0_cc13x0: model Kconfig 2021-11-19 10:52:08 +01:00
Leandro Lanzieri
c68fce0850
cpu/cc26xx_cc13xx: model Kconfig 2021-11-19 10:50:50 +01:00
Jan Romann
3056b89252
cpu/riscv_common: uncrustify 2021-11-19 00:20:12 +01:00
Dylan Laduranty
25b168c34f boards/nrf9160dk: add riotboot to FEATURES_PROVIDED 2021-11-18 23:05:42 +01:00
benpicco
09e0692a85
Merge pull request #17201 from bergzand/pr/nrf5x/periph_qdec
nrf5x_common: Add qdec peripheral implementation
2021-11-18 22:30:58 +01:00
benpicco
2ffbcecbe1
Merge pull request #17225 from dylad/pr/cpu/nrf91/add_periph_flashpage_support
cpu/nrf9160: add periph_flashpage support
2021-11-18 22:10:18 +01:00
benpicco
24aa7eb6bf
Merge pull request #17191 from benpicco/drivers/periph-byte_type
drivers/periph: use uint_fast8_t as default type
2021-11-18 17:21:55 +01:00
Jan Romann
bd7b277f7e
cpu/fe310: uncrustify 2021-11-18 15:44:17 +01:00
Leandro Lanzieri
c5f9d50a57 socket_zep: add Kconfig 2021-11-18 14:17:29 +01:00
Benjamin Valentin
fa2d9bde56 socket_zep: port to radio HAL 2021-11-18 11:51:14 +01:00
Francisco
d573401319
Merge pull request #16912 from leandrolanzieri/pr/cpu/efm32/model_kconfig
cpu/efm32: model kconfig
2021-11-18 11:02:29 +01:00
Benjamin Valentin
3d8e0d7f43 cpu/esp32: fix cast to periph type 2021-11-18 10:14:51 +01:00
Benjamin Valentin
eabc9a8042 cpu/nrf5x_common: fix cast to periph type 2021-11-18 10:14:51 +01:00
Benjamin Valentin
90a6d90df8 cpu/gd32v: uart: fix function parameter 2021-11-18 10:14:51 +01:00
Francisco
691601fbe2
Merge pull request #17087 from gschorcht/cpu/esp32/fix_code_placement
cpu/esp32: place freertos and periph in IRAM
2021-11-18 10:05:25 +01:00
Leandro Lanzieri
805a77b13a
cpu/efm32: model Kconfig 2021-11-18 09:03:06 +01:00
Leandro Lanzieri
44e7e82fad
Merge pull request #17227 from leandrolanzieri/pr/cpu/atmega1281/fix_pcint
cpu/atmega1281: fix pcint
2021-11-18 08:55:30 +01:00
Gunar Schorcht
be1532d935
Merge pull request #17221 from maribu/cpu/esp32
cpu/esp32: make CI happy
2021-11-18 06:45:30 +01:00
31c531c904
Merge pull request #17218 from maribu/cpu/arm7_common
cpu/arm7_common: suppress false positives of cppcheck
2021-11-18 06:30:46 +01:00
Dylan Laduranty
6671aada97 cpu/nrf9160: add FLASHPAGE* feature to Kconfig 2021-11-17 17:25:36 +01:00
Leandro Lanzieri
1035620b38
cpu/atmega1281: fix pcint 2021-11-17 15:05:25 +01:00
Dylan Laduranty
cc440bc296 cpu/nrf9160: add flashpage configuration 2021-11-17 14:06:04 +01:00
Dylan Laduranty
b734622944 cpu/nrf5x_common: update periph_flashpage for nRF9160 support 2021-11-17 14:05:51 +01:00
Marian Buschsieweke
b2f9e2c226
cpu/esp32: fix wrong control flow 2021-11-17 13:10:37 +01:00
Marian Buschsieweke
e46c1f732e
cpu/esp32: make CI happy 2021-11-17 13:10:37 +01:00
9f9ecca95e
Merge pull request #17219 from maribu/cpu/atmega_common
cpu/atmega_common: make cppcheck happy
2021-11-17 10:10:20 +01:00
19a5310ca2
Merge pull request #17220 from maribu/cpu/cortexm_common
cpu/cortexm_common: make CI happy
2021-11-17 10:07:30 +01:00
Dylan Laduranty
aa8608eff5
Merge pull request #17064 from bergzand/pr/usbdev/xmit
USB: refactor to xmit-based API
2021-11-17 09:07:00 +01:00
Marian Buschsieweke
7885130809
cpu/cortexm_common: make CI happy 2021-11-16 21:52:55 +01:00
Marian Buschsieweke
fcba75d86d
cpu/arm7_common: suppress false positives of cppcheck 2021-11-16 21:51:48 +01:00
83c2f2d367
Merge pull request #17155 from maribu/cpu/native
cpu/native: align stack in thread_stack_init()
2021-11-16 20:48:32 +01:00
a6b6f43ce2
sam0_common/usbdev: Adapt to xmit API 2021-11-16 20:17:04 +01:00
c81df904ea
stm32/usbdev: Adapt to xmit API 2021-11-16 20:17:04 +01:00
617027ab5c
nrf52/usb: Adapt to xmit API 2021-11-16 20:17:03 +01:00
Marian Buschsieweke
d91c9cdc5a
cpu/atmega_common: make cppcheck happy 2021-11-16 16:20:26 +01:00
3b1bdd6b3c
nrf5x_common: Add qdec peripheral implementation 2021-11-16 15:21:51 +01:00
76215adef1
Merge pull request #17154 from maribu/cpu/stm32/periph_usb
cpu/stm32/periph/usbdev: fix alignment issues
2021-11-16 11:20:34 +01:00
Dylan Laduranty
8f4ef1eb75
Merge pull request #17186 from benpicco/cpu/sam0_common/uart-frac
cpu/sam0_common: uart: set oversampling based on baud rate
2021-11-15 21:53:19 +01:00
chrysn
5a1c5ad096
Merge pull request #17202 from Ollrogge/doxygen_fix_pr
periph/flashpage: fix wrong doxygen group
2021-11-15 19:43:32 +01:00
Francisco
72abac66f1
Merge pull request #17183 from fjmolinas/pr_stm32wl_adc
cpu/stm32/wl: initial periph_adc implementation
2021-11-15 19:06:24 +01:00
Ollrogge
37403c09eb periph/flashpage: fix wrong doxygen group 2021-11-15 17:25:59 +01:00
benpicco
70ae34a448
Merge pull request #16979 from ospoco/master
cpu/stm32: Add hardening changes to stm32
2021-11-15 15:09:01 +01:00
Francisco Molina
63c51d4add cpu/stm32/wl: initial periph_adc implementation 2021-11-15 09:52:45 +01:00
benpicco
046ecf221e
Merge pull request #17187 from fjmolinas/pr_i2c_stm32wl_typo
cpu/stm32/include/cpu_conf_stm32_common.h: fix typo in macro
2021-11-12 13:41:58 +01:00
VanL
ee832148b3 cpu/stm32: Add hardening changes to stm32
Initialize STM32 RDP in a glitch-resistant fashion to prevent
debugger use when restrictions are set by the designer.
2021-11-11 15:58:52 -06:00
Francisco Molina
ec0e3d242e cpu/stm32/include/cpu_conf_stm32_common.h: fix typo in macro 2021-11-11 19:58:34 +01:00
Benjamin Valentin
18cdd100a9 cpu/sam0_common: uart: set oversampling based on baud rate
In Asynchronous Fractional baud rate mode, the baud rate can not be
greater than the source frequency divided by the oversampling (8, 16).

Currently we are always using 16x oversampling.
This makes it impossible to e.g. set a 2 MHz UART baud rate on the 16 MHz
`saml10-xpro`.

With this change, the oversampling is automatically reduced to 8x which
allows us to set 16 MHz / 8 -> 2 MHz baud rate.
2021-11-11 17:03:05 +01:00
Benjamin Valentin
1ef458a701 cpu/sam0_common: uart: wait for synchronisation done after powerup
Otherwise we lose settings if we write to it right after uart_poweron()
2021-11-11 14:32:42 +01:00
326b0c980a
cpu/native: migrate periph_rtc to ztimer 2021-11-11 10:54:30 +01:00
Marian Buschsieweke
73fc2c215a
Merge pull request #17150 from maribu/cpu/esp_common/periph_flashpage
cpu/esp_common: fix unaligned access in periph_flashpage
2021-11-08 10:49:40 +01:00
Marian Buschsieweke
cb6525b033
cpu/esp_common: fix unaligned access in periph_flashpage 2021-11-07 22:06:27 +01:00
Marian Buschsieweke
09b8387df4
cpu/native: align stack in thread_stack_init()
Unaligned accesses on x86(_64) are allowed, but slow. However, some host systems
might not be that forgiving. Aligning the stack to sizeof(uintptr_t) should be
a pretty safe safety measure.

And with this done, all casts of the stack pointer that increase alignment
requirements are now intermediately casted to `uintptr_t` to silence
warnings from -Wcast-align - after all the stacks are now manually aligned.
2021-11-06 20:22:10 +01:00
Marian Buschsieweke
825a598ca7
cpu/stm32/periph/usbdev: fix alignment issues
Make sure in `_usbdev_new_ep()` that `usbdev_ep_t::buf` is always aligned to 4
bytes. With this in mind, add intermediate casts to `uintptr_t` before casting
`usbdev_ep_t::buf` to `uint32_t *` to silence `-Wcast-align`, as we now manually
enforced correct alignment.
2021-11-06 20:19:39 +01:00
dylad
8842377e93 cpu/sam0: prevent disabled irq from being called
Reported-by: biboc <bapclenet@gmail.com>
Signed-off-by: dylad <dylan.laduranty@mesotic.com>
2021-11-05 18:21:21 +01:00
Francisco
c739516ac4
Merge pull request #17132 from miri64/core/enh/activate-SCHED_TEST_STACK
core: make SCHED_TEST_STACK boolean and default to 1 with DEVELHELP
2021-11-05 11:11:36 +01:00
Martine Lenders
098eeb1a2c
cpu/esp_common: suppress cppcheck false positives 2021-11-05 09:27:00 +01:00
Martine Lenders
f08989a3c8
core: make SCHED_TEST_STACK boolean and default to 1 with DEVELHELP 2021-11-05 09:27:00 +01:00
d9dd0cc3b1
cpu/sam0_common: Uncrustified and fixed static-check issues 2021-11-04 13:49:34 +01:00
aba81ffa5c
cpu/nrf52: Uncrustified and fixed static-check issues 2021-11-04 13:49:34 +01:00
Leandro Lanzieri
f64b166319
Merge pull request #16845 from MrKevinWeiss/pr/kconfig/supportstms
.murdock: Add nucleo boards to kconfig test
2021-11-01 09:55:22 +01:00
Gunar Schorcht
aecc516ce9 cpu/esp32: place freertos and periph in IRAM
The IRAM is much faster, while the IROM is much slower and can only be accessed via a cache, which is also sometimes disabled, e.g. by the WiFi module or when writing to the flash. Therefore, time-critical code as well as code that has to work even when the cache is disabled must be placed in the IRAM.
2021-10-30 14:46:57 +02:00
Gunar Schorcht
723c24c1d3
Merge pull request #17080 from gschorcht/cpu/esp8266/fix_freertos_placement_in_irom
cpu/esp8266: place freertos functions in IRAM
2021-10-29 13:02:20 +02:00
Gunar Schorcht
06acd8b420 cpu/esp8266: place freertos functions in IRAM
The functions of the `esp*/freetos` libraries must be placed in IRAM because they can be called when the IROM cache is disabled. While the functions implemented in `cpu/esp8266/freetos/*.c` are already placed in IRAM, the functions implemented in `cpu/esp_common/freetos/*.c` are not placed in IRAM. The reason for this is that the object files of these files are created in the `esp_freertos_common` directory, which is not included in the `esp.riot-os.ld` file because the library is named `esp_freertos_common`.
2021-10-29 11:17:24 +02:00
766ebf0af5
stm32/usbdev: Use ztimer instead of xtimer 2021-10-27 18:56:42 +02:00
Francisco
7f3344870d
Merge pull request #16972 from Ollrogge/flashpage_pr
periph/flashpage: extend API
2021-10-26 12:51:05 +02:00
Francisco
96e2ad1f0e
Merge pull request #16956 from fjmolinas/pr_native_relative_stacksize
cpu/native/include: other stacksizes based on default
2021-10-26 09:04:16 +02:00
Gunar Schorcht
697c44811a
Merge pull request #16911 from yarrick/esp_jtag
cpu/esp32: Add openocd programming support
2021-10-26 01:24:27 +02:00
Ollrogge
be254d4125 cpu/cc2538: adjust rom size to account for cca region 2021-10-25 15:13:37 +02:00
Ollrogge
cdd9f303cf cpu/native: extend flashpage API 2021-10-25 15:07:37 +02:00
Ollrogge
4fa25af86c cpu/lpc23xx: extend flashpage API 2021-10-25 15:07:37 +02:00
Ollrogge
3a11b1fbd2 cpu/riscv_common: extend flashpage API 2021-10-25 15:07:37 +02:00
Ollrogge
741943f021 cpu/msp430_common: extend flashpage API 2021-10-25 15:03:50 +02:00
Francisco Molina
5070489aa6 cpu/native/include: other stacksizes based on default 2021-10-25 09:13:21 +02:00
iosabi
7b1f083cd8 esp8266: Download Espressif RTOS SDK as a new RIOT PKG
RIOT-OS uses part of Espressif ESP8266 RTOS SDK to build support for
this CPU. The SDK includes some vendor-provided closed source
pre-compiled libraries that we need to modify to adapt to RIOT-OS
usage. This library modifications was done once and uploaded to a fork
of the vendor repository and was provided as an environment variable.

This patch changes two things:

1. It installs the SDK as a RIOT PKG from the new pkg/esp8266_sdk
directory instead of requiring the user to download it separately.

2. It performs the library modifications (symbol renames) on the pkg
Makefile removing the need to use a fork with the modifications applied
and simplifying the SDK update and future modifications.

This change sets the SDK package version (git SHA) to the same one that
our fork was using as a parent in the vendor repository, meaning that
the output libraries are exactly the same as before.

Tested with
```
ESP8266_RTOS_SDK_DIR=/dev/null USEMODULE=esp_log_startup make -C tests/shell BOARD=esp8266-esp-12x flash
```

and verified that the program works. The boot message now includes:
```
ESP8266-RTOS-SDK Version v3.1-51-g913a06a9
```
confirming the SDK version used.

`/dev/null` in the test is just to make sure that no evaluation of
`ESP8266_RTOS_SDK_DIR` in make is affected by the environment variable
value which would be set to the SDK for people who followed the set up
instructions before this change.

Tested the checkout size:
```bash
$ du -hs build/pkg/esp8266_sdk/
124M	build/pkg/esp8266_sdk/
```
2021-10-23 11:13:38 +00:00
5e52a0ea4c cpu/nrf5x_common: nrfx.h: add missing "kernel_defines.h" include 2021-10-20 11:36:55 +02:00
Ollrogge
d38f6c68b5 cpu/cortexm_common: extend flashpage API 2021-10-19 22:33:15 +02:00
benpicco
f57e2f1e99
Merge pull request #16055 from benpicco/soc_init
cpu: call cpu_init() from startup code, not from board
2021-10-18 20:52:53 +02:00
Erik Ekman
cbfe502cc6 cpu/esp32: Reset when starting debugging
To avoid 'Target not examined yet' error
2021-10-18 20:11:32 +02:00
Benjamin Valentin
3e20e939c6 cpu: drop cpu_init() from public headers
Boards are no longer supposed fo call the function, so drop it from
public header files.
2021-10-18 17:31:26 +02:00
Erik Ekman
1c6d7dcdaf tools/openocd: Make verifying flashed image optional
Checksumming flash is not supported on xtensa platform:

Warn : not implemented yet

make: *** [.../RIOT/examples/saul/../../Makefile.include:796: flash] Error 1
2021-10-15 10:13:25 +02:00
Erik Ekman
2df7d499c8 tools/openocd: Export IMAGE_OFFSET only when flashing 2021-10-15 10:12:40 +02:00
Erik Ekman
d47aa2d550 cpu/esp32: Flash bootloader, partition and app via openocd
https://github.com/espressif/openocd-esp32 is needed.

Example config (when compiled from source):
export OPENOCD="~/esp/openocd-esp32/src/openocd -s ~/esp/openocd-esp32/tcl"
2021-10-15 10:00:57 +02:00
Erik Ekman
3d7d211157 cpu/esp: Always create app.elf.bin and partitions.bin
Even if programmer is not esptool
2021-10-15 09:59:38 +02:00
Marian Buschsieweke
32be74291c
Merge pull request #16790 from maribu/cpu/avr8_common/ldscripts
cpu/avr8_common: Fix link with binutils > 2.35.2
2021-10-15 09:59:14 +02:00
Marian Buschsieweke
696598ff9e
Merge pull request #16985 from gschorcht/cpu/esp/fix_doc
cpu/esp8266, boards/*esp*: fix documentation
2021-10-15 07:54:40 +02:00
Gunar Schorcht
a3ca9776c2 cpu/esp8266: fix documentation format
Fix various issues with incompatibilities of markdown supported by doxygen.
2021-10-15 02:50:21 +02:00
MrKevinWeiss
9b6a63a951
drivers/kconfig: simplify shared rtt/rtc hardware in kconfig 2021-10-14 11:28:46 +02:00
MrKevinWeiss
c7820cf7e5
*/rtt|rtc: Fix Kconfig modeling 2021-10-14 11:28:44 +02:00
Benjamin Valentin
cb18689712 cpu/avr8_common: call cpu_init() 2021-10-13 23:21:56 +02:00
Benjamin Valentin
bcb0df8e18 cpu/cortexm_common: call cpu_init() 2021-10-13 23:21:56 +02:00
Benjamin Valentin
86da174be2 cpu/msp430_common: call msp430_cpu_init() 2021-10-13 23:21:56 +02:00
Benjamin Valentin
0658c41d85 cpu/mips32r2_common: call cpu_init() 2021-10-13 23:21:56 +02:00
Benjamin Valentin
0f625eaebd cpu/riscv_common: call cpu_init() 2021-10-13 23:21:56 +02:00
benpicco
ffd1254eac
Merge pull request #16959 from bissell-homecare-inc/stm32g031-disco
boards/stm32g031-disco,examples,tests: Added STM32G031-DISCO board
2021-10-13 23:17:06 +02:00
Dave VanKampen
55ea8cfb97 boards/stm32g031-disco,examples,tests: Added STM32G031-DISCO board 2021-10-13 12:14:45 -04:00
Marian Buschsieweke
62d6a560b1
cpu/avr8_common: Fix link with binutils > 2.35.2
The xfa.ld script is incompatible with binutils > 2.35.2 and results
in firmwares that wont boot. Sadly, I couldn't figure out an elegant
way to fix the issue. Instead, I modified the linker script provided
by binutils to also include XFA.
2021-10-13 16:37:19 +02:00
benpicco
dcc2908a94
Merge pull request #16976 from benpicco/cpu/native-gcc11
cpu/native: fix build with gcc 11
2021-10-13 16:29:17 +02:00
Marian Buschsieweke
94921942d3
cpu/esp32/doc: Restore center alignment of tables 2021-10-13 14:56:00 +02:00
kl
0f2d10dfb7 cpu/stm32: add HWRNG support to CPU_LINE STM32F469XX 2021-10-13 11:22:45 +02:00
Benjamin Valentin
1a2984b786 cpu/native: fix build with gcc 11
This fixes the following warning with GCC 11.2:

    cpu/native/include/native_internal.h:153:13: error: variably modified ‘__isr_stack’ at file scope
      153 | extern char __isr_stack[SIGSTKSZ];
          |             ^~~~~~~~~~~
    cpu/native/include/native_internal.h:154:13: error: variably modified ‘__end_stack’ at file scope
      154 | extern char __end_stack[SIGSTKSZ];
2021-10-12 14:56:11 +02:00
luisan00
af4c01bbc6 cpu/stm32: add stm32f469i to ADCs defs 2021-10-11 23:35:48 +02:00
Jean Pierre Dudey
b965feb5ba
Merge pull request #16968 from Mesh4all/cpu/stm32_duplicated_defs
cpu/stm32: duplicated ADC devices definitions
2021-10-11 12:58:05 +02:00
Marian Buschsieweke
1ba0bdfa9c
Merge pull request #16952 from maribu/esp32/doc
cpu/esp32,boards/*esp32*:  fix documentation
2021-10-11 08:57:58 +02:00
Marian Buschsieweke
8d1d00776c
cpu/esp32: Fix documentation format
Fix various issues with incompatibilities to flavor of markdown
supported by Doxygen and re-format text.
2021-10-10 21:35:30 +02:00
luisan00
6459d4c344 cpu/stm32: fix duplicated defs 2021-10-10 00:04:51 +02:00
Francisco
93bff48538
Merge pull request #16909 from leandrolanzieri/pr/cpu/riscv/model_kconfig
cpu/riscv: model Kconfig
2021-10-05 16:51:17 +02:00
benpicco
3b002cc4c8
Merge pull request #16821 from jia200x/pr/cc2538/rx_busy
cc2538_rf: remove RX Busy detection in request_set_trx_state
2021-10-05 00:08:40 +02:00
Leandro Lanzieri
a015508e77
cpu/gd32v: model Kconfig 2021-10-01 11:26:15 +02:00
Leandro Lanzieri
fe8e043c36
cpu/fe310: model Kconfig 2021-10-01 11:26:15 +02:00
Leandro Lanzieri
cf753c6790
cpu/riscv_common: model Kconfig 2021-10-01 11:26:15 +02:00
Marian Buschsieweke
35a1b60068
cpu/{atxmega,atmega_common}: fix invalid use of PSTR()
core_panic() doesn't expect the message to be in program memory, but
in data memory. Bad things will happen on AVR when the address is
interpreted as being in data address space, but the allocation is
done in program address space.
2021-09-30 17:15:39 +02:00
Marian Buschsieweke
7bfc1814ae
Merge pull request #16917 from maribu/cpu/avr8_common/cleanup
cpu/avr8_common: Clean up cpu_print_last_inscrution()
2021-09-30 13:29:01 +02:00
Marian Buschsieweke
417bc949ab
cpu/avr8_common: Clean up cpu_print_last_inscrution() 2021-09-30 10:39:21 +02:00
Leandro Lanzieri
b160e43233
Merge pull request #16837 from fjmolinas/pr_kconfig_nrf52
cpu/nrf52: initial kconfig modeling (no netif)
2021-09-30 09:57:11 +02:00
Jose Alamos
474838ba15
cc2538_rf: remove RX Busy detection in request_set_trx_state
This PR removes the RX Busy detection because it doesn't seem to be
reliable enough to ensure the radio is not locked. Some radios such as
nrf802154 don't provide RX Busy detection mechanisms, so this is not
uncommon. It's intended that the MAC layer takes care of this (e.g
slots, CSMA-CA with retransmissions, etc)
2021-09-29 16:05:34 +02:00
Francisco Molina
6b276af790 cpu/nrf52: initial kconfig modeling 2021-09-29 10:17:47 +02:00
Francisco Molina
c9de733c52 cpu/nrf52/Makefile.dep: move radio dependencies from boards/common 2021-09-29 10:16:31 +02:00
benpicco
6d9db1673d
Merge pull request #16902 from maribu/cpu/avr8_common/float
cpu/avr8_common: implement printf_float
2021-09-28 14:28:29 +02:00
Francisco
211c1a51d8
Merge pull request #16886 from bissell-homecare-inc/g030_ram_len
cpu/stm32: added RAM_LEN identifier for stm32g03x
2021-09-28 13:40:42 +02:00
Marian Buschsieweke
b12a8103e3
cpu/avr8_common: implement printf_float 2021-09-28 12:35:43 +02:00
José Alamos
1ee57f80a0
Merge pull request #15030 from jia200x/pr/lora/remove_xtimer
drivers/sx127x: remove ZTIMER_USEC dependency
2021-09-27 11:41:22 +02:00
benpicco
d1768e95a5
Merge pull request #16885 from bissell-homecare-inc/g0_adc
cpu/stm32: added ADC for g0
2021-09-25 18:32:19 +02:00
1b83ecdd5d
Merge pull request #16881 from bissell-homecare-inc/add_g0_apbmul
added APB12 bus multiplier entry for applicable cpus
2021-09-24 16:25:07 +02:00
Dave VanKampen
6414c64f89 cpu/stm32: added ADC for g0 2021-09-24 10:20:09 -04:00
Dave VanKampen
664f5d156d cpu/stm32: added RAM_LEN identifier for stm32g03x 2021-09-23 10:06:33 -04:00
Dave VanKampen
7ab8ec391a cpu/stm32: added APB12 bus multiplier entry for applicable cpus 2021-09-23 08:46:52 -04:00
benpicco
cc3df3ec85
Merge pull request #16822 from benpicco/cpu/native-stdio
cpu/native: make use of stdio_read() / stdio_write()
2021-09-22 20:47:45 +02:00
Benjamin Valentin
13e16fa34f cpu/native: make use of stdio_read() / stdio_write()
On `native` the functions stdio_read() / stdio_write() were not
used.
Those functions are intended for alternative stdio implementations.
As a result, no alternative stdio could be used on `native`.

To fix this, call the functions in `_native_read()` / `_native_write()`
when dealing with stdio fds.
2021-09-22 17:22:30 +02:00
Karl Fessel
baf07e881e cpu/fe310: add CPU_CORE information 2021-09-22 15:51:54 +02:00
Karl Fessel
fe03c4c059 cpu/riscv,gd32: match Kconfig to Makefile changes 2021-09-22 15:50:28 +02:00
Karl Fessel
645cb04c4d cpu/riscv,gd32v: add CPU_ARCH, CPU_CORE information
adds CPU_ARCH to riscv_common preparing to handle it like cortex-m does
adds CPU_CORE to gd32v
2021-09-22 14:39:44 +02:00
Joakim Nohlgård
b70a4b7694 riscv: Simplify reset trampoline
By loading the absolute address of _start_real we can unconditionally
jump to it regardless if the PC is somewhere at 0x0 or at ROM_START_ADDR
2021-09-22 10:37:23 +02:00
Francisco
0b7eb2bbc9
Merge pull request #16836 from fjmolinas/pr_kconfig_mtd
drivers/mtd: fix Kconfig dependencies
2021-09-22 10:08:14 +02:00
Francisco Molina
14ef09b8b4 drivers/mtd: fix Kconfig dependencies
Currently implementations of the MTD api are selecting the module,
this makes it easy for default backends to be selected. But the
correct modeling is simply selecting the MTD api and then selecting
a backend. BOARDs providing one of the backends can expose this and
then that backend can be selected by default.

There is also currently nothing preventing from using the MTD api
with no backend since a mock backend can easily be provided as is
done in all mtd tests.
2021-09-22 09:22:51 +02:00
Benjamin Valentin
97de8afaf6 cpu/cc2538: don't pollute global namespace with cc2538_rfcore.h
`cc2538_rfcore.h` contains enums with non-prefixed single-word constants.
Those cause ugly naming conflicts down the line.
Only include the file when needed, don't include it in `cpu_conf.h` which
gets pulled in everywhere.
2021-09-16 15:31:22 +02:00
Benjamin Valentin
f6950daf4c cpu/cc26x0_cc13x0: fix build 2021-09-14 14:58:03 +02:00
Jean Pierre Dudey
ffff68deaf
Merge pull request #16813 from jeandudey/doc1
cpu: fix doxygen grouping warnings
2021-09-13 11:30:27 +02:00
Jean-Pierre De Jesus DIAZ
d2a6745855 cpu/mips32r2_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
d1f9cd0647 cpu/native: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
3de8f247c3 cpu/lpc23xx: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
209304ccb8 cpu/lpc1768: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
8061e99be4 cpu/qnx908x: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
63017413e9 cpu/msp430*: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
22a7e1af03 cpu/riscv_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
cedf0b061d cpu/kinetis: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
5750dc0270 cpu/cc2538: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
51bab0a5a9 cpu/cortexm_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
0d9f6ca3f4 cpu/cc26xx_cc13xx: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
35d1a2fc02 cpu/esp*: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Jean-Pierre De Jesus DIAZ
480e22be66 cpu/sam*: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-11 12:45:15 +02:00
Kevin "Tristate Tom" Weiss
4c6dc973c8
Merge pull request #16719 from MrKevinWeiss/pr/kconfig/cc2538
cpu/cc2538: Add Kconfig support
2021-09-09 08:21:09 +02:00
benpicco
69b7db2d94
Merge pull request #16802 from fjmolinas/pr_stm32_periph_rtc_mem
cpu/stm32: add rtc_mem
2021-09-08 19:11:55 +02:00
benpicco
bcaaaec66f
Merge pull request #16814 from dylad/pr/cpu/nrf9160_add_twi_and_spi_support
cpu/nrf9160: add twi and spi support
2021-09-08 19:11:37 +02:00
MrKevinWeiss
537c4c7096
cpu/cc2538: Add Kconfig cpu and radio 2021-09-08 12:40:31 +02:00
MrKevinWeiss
636c6c4cdb
cpu/cortexm: Use DEVELHELP to add stack guard 2021-09-08 12:40:30 +02:00
Francisco Molina
8e17b67a2f cpu/stm32: add rtc_mem 2021-09-07 10:06:31 +02:00
benpicco
f79207e217
Merge pull request #16744 from benpicco/gnrc_netdev_default
gnrc: deprecate gnrc_netdev_default, use netdev_default instead
2021-09-06 21:03:16 +02:00
dylad
1beda0f1e4 cpu/nrf9160: add TWI and SPI support 2021-09-06 20:15:18 +02:00
Benjamin Valentin
9a6fc85b16 treewide: replace gnrc_netdev_default with netdev_default 2021-09-06 15:43:40 +02:00
Marian Buschsieweke
5964dea70c
cpu/cc2538/periph/spi: move assert to spi_acquire 2021-09-06 10:52:35 +02:00
Jean-Pierre De Jesus DIAZ
9d1cff3b55 cpu/stm32: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-05 20:39:15 +02:00
Jean-Pierre De Jesus DIAZ
1759014134 cpu/avr8_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-05 20:38:52 +02:00
Jean-Pierre De Jesus DIAZ
8c9759063e cpu/arm7_common: fix doxygen grouping warnings
Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2021-09-05 20:38:30 +02:00
benpicco
c98c488559
Merge pull request #16746 from jia200x/pr/hal/fb_lock
ieee802154/submac: reimplement using FSM
2021-09-03 18:13:58 +02:00
benpicco
3b304328f3
Merge pull request #16758 from benpicco/periph/rtc_mem
drivers/periph: define rtc_mem and implement it for sam0_common
2021-09-03 14:59:11 +02:00
Benjamin Valentin
3fbf473a07 cpu/sam0_common: implement periph_rtc_mem 2021-09-03 11:43:43 +02:00
Jose Alamos
0fb55b21c5
cc2538_rf: adapt radio HAL changes
This PR adapts the cc2538 to the new Radio HAL changes:
- Move RX FLUSH to the `read` function
- Add RX_CONTINUOS cap
2021-09-03 11:00:46 +02:00
Jose Alamos
0b5b896e70
cc2538_rf: fix race condition when changing state 2021-09-03 11:00:46 +02:00
Hugues Larrive
f292cfc8ce drivers/periph_spi: remove duplicated includes introduced in #15902 2021-09-02 09:40:31 +02:00
Francisco
a1cbcc9ede
Merge pull request #15902 from maribu/spi-api-change-1
drivers/periph_spi: let spi_acquire return void
2021-09-02 08:50:56 +02:00
benpicco
550565f052
Merge pull request #16783 from benpicco/avr8_clk_init
cpu/atmega_common: move clock init to common code
2021-09-01 22:28:14 +02:00
Marian Buschsieweke
f04b522601
cpu/periph_spi: update implementations to new API
Make all spi_acquire() implementations return `void` and add assertions to
check for valid parameters, where missing.
2021-09-01 21:38:40 +02:00
Benjamin Valentin
87f7e5a963 cpu/atmega_common: move clock init to common code
This code should not be in the realm of the board config, but in
common arch code.
2021-08-27 17:06:50 +02:00
Benjamin Valentin
f903ec90d4 drivers/flashpage: flashpage_page() takes a const argument
All addresses to flashpage_page() must be in flash. Flash memory is
`const`, therefore this function must also take `const` pointers.
2021-08-27 14:08:25 +02:00
Francisco
3db378e015
Merge pull request #11117 from haukepetersen/add_core_irqisen
core: add irq_is_enabled() function to irq interface
2021-08-26 18:41:02 +02:00
benpicco
19acd2e6a1
Merge pull request #16778 from benpicco/cpu/riscv-deps
cpu/riscv_common: cleanup dependencies
2021-08-26 16:37:37 +02:00
benpicco
0b69747389
Merge pull request #16023 from maribu/max_pdu_size
sys/net/netopt: Drop deprecated NETOPT_MAX_PACKET_SIZE
2021-08-26 14:40:18 +02:00
da140c251a
Merge pull request #16754 from kaspar030/native_deferred_yield_higher
cpu/native: fix thread_yield_higher() with IRQs disabled
2021-08-25 22:59:18 +03:00
benpicco
dde4772aa4
Merge pull request #16003 from benpicco/cpu/nrf52/saul-vddh
cpu/nrf52: add SAUL driver for VDDH sensor
2021-08-25 20:31:53 +02:00
Benjamin Valentin
39b81c332e cpu/stm32: remove ErrorStatus enum from vendor files 2021-08-25 18:42:40 +02:00
Benjamin Valentin
a75ae3c938 cpu/riscv_common: move C lib selection to common place 2021-08-25 10:53:00 +02:00
Benjamin Valentin
a9c83017ee cpu/riscv_common: only select PLIC for fe310
Not every RISC-V implements that interrupt controller, gd32v uses
CLIC instead.
2021-08-25 10:49:47 +02:00
Benjamin Valentin
e92a4b9628 cpu/gd32v: enable periph_timer_periodic 2021-08-25 10:48:48 +02:00
Hauke Petersen
7baf5b4a46 cpu/arm7: add irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
a2c4a73c51 cpu/mips32r2_common: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
5cdef474c2 cpu/esp_common: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
9a5edcf839 cpu/riscv: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
48e2d6e8f9 cpu/atmega_common: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
d4181b91fa cpu/native: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
d65442a32b cpu/msp430: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
Hauke Petersen
65b7f84568 cpu/cortexm_common: implement irq_is_enabled() 2021-08-25 08:01:05 +02:00
benpicco
2de7dab0f4
Merge pull request #16288 from nandojve/xmega_ebi
cpu/atxmega/periph: Add ebi driver
2021-08-25 00:38:22 +02:00
benpicco
025770968b
Merge pull request #16036 from bergzand/pr/gd32vf103/initial
gd32v/seeedstudio-gd32: Initial support
2021-08-25 00:38:00 +02:00
f2787448e1 cpu/riscv_common: Move MCAUSE defines to riscv_common 2021-08-24 14:30:23 +02:00
3d470b0c12 cpu/gd32v: Initial include of the GD32VF103 device
This adds support for the gd32v class devices from Gigadevice. The
gd32vf103 contains an 108 MHz RISC-V core with similar peripherals as
the stm32f1 devices

Co-authored-by: Benjamin Valentin <benjamin.valentin@ml-pa.com>
2021-08-24 14:30:23 +02:00
Gerson Fernando Budke
307e8c7a17 cpu/atxmega: Add external bus interface
Introduce XMEGA EBI driver.  This enable EBI for use with all memory
supported by the device and peripherals. It include support to  SRAM,
SDRAM, LCDs or any other external bus access.

Note: This feature only works for A1/A1U series, which are, the series
with EBI hardware.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-08-24 08:35:41 -03:00
48aa533639
cpu/riscv_common: Add CLIC peripheral driver
The CLIC is a next generation interrupt controller for the RISC-V
architecture.

Co-authored-by:
2021-08-24 10:30:18 +02:00
9239c2fe14
cpu/riscv_common: Add bit set and clear functions 2021-08-24 10:30:15 +02:00
c1d81cfb56
cpu/riscv_common: Jump to rom start on boot
With this the riscv start code jumps to the ROM start on boot when the
ROM area doesn't start at address 0x0.
2021-08-24 10:30:12 +02:00
87b49d04ab cpu/native: defer yield when IRQs are disabled.
This makes native behave like Cortex-M, which flags PENDSV, which then
gets triggered once IRQs are re-enabled.
2021-08-24 09:49:40 +02:00
benpicco
8ae782b98d
Merge pull request #16759 from jia200x/pr/nrf802154/fix_write
drivers/nrf802154: fix write return value and `__cplusplus` closing bracket.
2021-08-20 12:31:34 +02:00
Jose Alamos
5111bef5aa
drivers/nrf802154: fix write return value 2021-08-20 10:54:35 +02:00
Jose Alamos
8d049005de
drivers/nrf802154: add missing __cpluscplus closing bracket 2021-08-20 10:54:35 +02:00
benpicco
71953c984c
Merge pull request #16534 from jia200x/pr/detach_radio_hal_descriptor
ieee802154/radio_hal: detach hal descriptor from driver
2021-08-18 18:15:51 +02:00
Jose Alamos
ddc9c7c686
ieee802154/radio_hal: detach hal descriptor from driver 2021-08-18 15:24:10 +02:00
8f10f22b1f cpu/cortexm: ldscripts: bkup-ram -> bkup_ram
Fixes this error with binutils 2.37:

```
/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/bin/ld:cortexm_base.ld:217: warning: memory region `bkup' not declared
/usr/lib/gcc/arm-none-eabi/11.2.0/../../../../arm-none-eabi/bin/ld:cortexm_base.ld:217: syntax error
```
2021-08-18 10:29:38 +02:00
Gerson Fernando Budke
2d3f7bf17c cpu/atxmega: Fix features config
Update features definitions and configurations.  Now atxmega define
features that only are full available on all variations and do not
require any definition at periph_conf.h file.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-08-17 12:42:59 -03:00
Jan Romann
4384795cb9
treewide: Remove excessive newlines 2021-08-13 19:50:38 +02:00
benpicco
acc9889ec8
Merge pull request #16716 from jia200x/pr/cc2538/fix_cca
drivers/cc2538_rf: fix deadlock when receiving too fast.
2021-08-10 18:41:54 +02:00
Benjamin Valentin
64846c0af4 avr_libc_extra: implement strerror()
Add a minimal implementation of `strerror()`.
All other targets use either newlib or picolibc and provide this
function, add it to AVR so we can rely on it in common code.
2021-08-09 16:24:04 +02:00
Jose Alamos
a6d0052ff0
drivers/cc2538_rf: don't poll internal FSM state 2021-08-09 11:39:00 +02:00
Jose Alamos
3fce21a62b
drivers/cc2538_rf: disable RX detection during CCA 2021-08-09 11:37:17 +02:00
Fabian Hüßler
e89ef368c1 cpu/rpx0xx: implement periph timer 2021-08-09 10:45:34 +02:00
Nicolas Harel
580b8d6561 cpu/nrf52: i2c: add support for 16-bit register addresses
Removed VLA


removed unused reg buffer


Added mutex 


Buffer comment correction
2021-08-06 11:06:59 +02:00
Benjamin Valentin
ddf96f7000 cpu/saml21: uart: disable fractional baud rate
SERCOM5 on SAM L21 does not support fractional baud rate mode.
Instead of special-casing it, just use arithmetic baud rate mode
in general on this CPU, as I'm not sure what the advantages of fractional
baud rate mode are.

fixes #16692
2021-07-30 11:28:02 +02:00
Dylan Laduranty
9582ec9b5c kconfig: add Kconfig support for nRF9160 cpu and nRF9160DK board 2021-07-28 20:11:26 +02:00
dylad
5b85a5750e cpu/nrf9160: add initial support 2021-07-28 20:11:26 +02:00
benpicco
feac187d54
Merge pull request #16506 from benpicco/drivers/dose-rx_start
drivers/dose: make use of start condition received interrupt
2021-07-28 17:21:29 +02:00
Benjamin Valentin
02269ef869 cpu/sam0_common: implement periph_uart_rx_start feature 2021-07-28 16:19:04 +02:00
benpicco
9645950e08
Merge pull request #16685 from fabian18/cpu_rp2040_fix_gpio_warnings
cpu/rpx0xx: fix minor gpio warnings
2021-07-27 18:28:51 +02:00
Fabian Hüßler
e9a1c61389 cpu/rpx0xx: fix C++ compatibility for gpio 2021-07-27 14:03:05 +02:00
benpicco
666a45729c
Merge pull request #16683 from dylad/pr/cpu/sam0/eth-fix
cpu/sam0: improve ethernet driver resilience
2021-07-27 14:02:31 +02:00
dylad
950c71cc10 cpu/sam0: improve ethernet driver resilience
In case of network heavy traffic on the Ethernet, interrupts
fire faster than the netdev thread can process them and we
run out of buffers. With this commit, we now check if we
don't have buffers available, so we can flush everything and
restart reception properly even if we did drop a few in the
operation
2021-07-27 12:52:07 +02:00
Fabian Hüßler
f7127fa2b7 cpu/rpx0xx: fix unused port warning due to GPIO_PIN macro 2021-07-27 11:26:30 +02:00
benpicco
775d6095bc
Merge pull request #16660 from fjmolinas/pr_lora_e5_dev
boards/lora-e5-dev: initial support
2021-07-21 14:36:58 +02:00
Francisco Molina
c62f6e0590
cpu/stm32/flashpage: adapt to non dual-core stm32wl 2021-07-21 11:28:16 +02:00
Francisco Molina
8a8e023d04
cpu/stm32/wl: common subghz debug pin initialization 2021-07-21 11:28:15 +02:00
Francisco Molina
f2995240d4
cpu/stm32: handle parsing stm32wlex CPU_MODELs 2021-07-21 11:23:47 +02:00
benpicco
4f905bfa8c
Merge pull request #15493 from benpicco/riotboot-serial
riotboot: implement serial flasher
2021-07-21 11:01:31 +02:00
Benjamin Valentin
a93deb4e95 cpu/stm32: usbdev: fix pm_layered include 2021-07-20 22:51:59 +02:00
aidiaz
5b9d8bd6c8 Update rtc_all.c for CPU_FAM_STM32L5 support. 2021-07-19 10:49:38 -04:00
benpicco
9c8b62aa1f
Merge pull request #16609 from maribu/cpu/rp2040
cpu/rpx0xx: port RIOT to the Raspberry Pi RP2040 MCU
2021-07-14 16:37:40 +02:00
Marian Buschsieweke
e3821480f1
cpu/rpx0xx: implement periph_uart
Co-authored-by: nickw96 <nick.weiler@st.ovgu.de>
Co-authored-by: MaestroOnICe <justus.krebs@st.ovgu.de>
Co-authored-by: Franz2000 <franz.freitag@st.ovgu.de>
2021-07-14 12:41:20 +02:00
Marian Buschsieweke
ea56dfc3ff
cpu/rpx0xx: add support for the RP2040 MCU
Co-authored-by: Fabian Hüßler <fabian.huessler@st.ovgu.de>
2021-07-14 12:41:20 +02:00
Marian Buschsieweke
6c4f0da7a7
cpu/esp_common: fix bootloop on ESP8266 2021-07-13 20:48:01 +02:00
José Alamos
934c875aba
Merge pull request #16579 from akshaim/pr/wl55jc_lorawan_final
drivers/sx126x: Add support for Nucleo -WL55JC
2021-07-09 14:48:11 +02:00
Jose Alamos
3f62db6042
nrfmin: avoid explicit cast to netdev 2021-07-09 11:35:21 +02:00
Akshai M
f58a021f6d cpu/stm32wl : Add HW Debug pins 2021-07-09 11:16:41 +02:00
Akshai M
a4bbf0cffc cpu/stm32 : APB3 and VDDTCXO config
Add APB3 disable, Enable VDDTCXO for Radio
2021-07-09 11:16:41 +02:00
Akshai M
f68dab9ccb cpu/stm32: add GPIO_AF_UNDEF 2021-07-09 11:16:41 +02:00
Akshai M
8156b13cc8 docs/doxygen : Add CPU section
Add section `CPU Configurations` in `config` group
2021-07-09 10:47:42 +02:00
Jose Alamos
97f20198a0
stm32/eth: avoid explicit cast to netdev 2021-07-09 10:38:35 +02:00
Jose Alamos
853b3a0918
netdev_tap: avoid explicit cast to netdev 2021-07-09 10:38:34 +02:00
Jose Alamos
4340047781
esp-wifi: avoid explicit cast to netdev 2021-07-09 10:38:34 +02:00
Jose Alamos
88dc962c3e
esp-now: avoid explicit cast to netdev 2021-07-09 10:38:34 +02:00
Jose Alamos
0e65605c39
esp-eth: avoid explicit cast to netdev 2021-07-09 10:38:34 +02:00
Jose Alamos
686c81caf7
socket_zep: avoid explicit cast to netdev 2021-07-09 10:38:33 +02:00
Jose Alamos
352e9431fe
nrf802154: avoid explicit cast to netdev 2021-07-09 10:38:32 +02:00
Jose Alamos
9c2258f97c
cc2538_rf: avoid explicit cast to netdev 2021-07-09 10:38:32 +02:00
Marian Buschsieweke
03670e6e86
Merge pull request #16630 from jia200x/pr/remove_nrf52840_legacy
drivers/nrf802154: remove nrf802154_rf_netdev_legacy
2021-07-09 09:53:41 +02:00
José Alamos
2500d15526
Merge pull request #16628 from jia200x/pr/remove_cc2538_legacy
drivers/cc2538_rf: remove cc2538_rf_netdev_legacy
2021-07-08 23:38:41 +02:00
Jose Alamos
670782a76b
drivers/nrf802154: remove nrf802154_rf_netdev_legacy 2021-07-08 18:43:54 +02:00
benpicco
9781414720
Merge pull request #16625 from akshaim/pr/spi_stm32_check
stm32/spi : Add check for GPIO_UNDEF
2021-07-08 15:45:05 +02:00
Jose Alamos
8f553488d1
drivers/cc2538_rf: remove cc2538_rf legacy 2021-07-08 15:37:42 +02:00
Akshai M
d3aa6ca00b stm32/periph/spi : Add check for GPIO_UNDEF 2021-07-08 13:38:07 +02:00
benpicco
1407559f33
Merge pull request #15773 from benpicco/tools/zep_dispatch-topology
tools/zep_dispatch: add support for advanced topologies
2021-07-07 12:14:43 +02:00
benpicco
9755b7ae12
Merge pull request #16608 from benpicco/cpu/kinetis-RAM_LEN
cpu/kinetis: fix RAM_LEN calculation
2021-07-05 09:47:55 +02:00
Benjamin Valentin
41765e6e4b cpu/kinetis: fix RAM_LEN calculation 2021-07-05 00:53:10 +02:00
MrKevinWeiss
02a2de4916
cpu/stm32: Add Kconfig dependency modeling 2021-07-02 15:11:05 +02:00
Jose Alamos
94d46e756e
cpu/fe310: fix RTT frequency 2021-07-02 14:53:22 +02:00
MrKevinWeiss
cead7a5877 cpu/sam0/i2c: Handle read with I2C_NOSTOP flag
When using the I2C_NOSTOP flag the bus should remain in control.
The current check assumes it must go to idle when reading.
This adds a condition checks if the nostop flag is active
and expects the bus status to be the owner of the bus.
2021-07-01 14:50:54 +02:00
Jose Alamos
d68b1a5f84
nrf802154: use ieee802154_dst_filter in netdev implementation 2021-06-23 16:44:08 +02:00
Leandro Lanzieri
2bde4b65b0
Merge pull request #16551 from MrKevinWeiss/pr/fix/kconfignativemtd
cpu/native: Add native mtd kconfig dep
2021-06-18 12:22:26 +02:00
MrKevinWeiss
9917b37c1c cpu/native: Add native mtd kconfig dep 2021-06-18 11:27:33 +02:00
Martine Lenders
7cad799afe
Merge pull request #15468 from jia200x/pr/rh/rev.13.11
ieee802154/hal: adapt frame filter and source address matching changes
2021-06-17 16:18:57 +02:00
Jose Alamos
44934d300c
cc2538_rf: adapt to Radio HAL changes 2021-06-17 10:07:42 +02:00
Francisco Molina
ca4ca1fac5
cpu/avr8_common: fix errno
avr only defines two errno MACROS, make sure RIOT header ERRNO match
the ones defined by avr.
2021-06-17 09:09:30 +02:00
Jose Alamos
4cfe62fc99
nrf52840: adapt to Radio HAL changes 2021-06-16 14:19:39 +02:00
Francisco
52f5746904
Merge pull request #16545 from aidiaz/periph_rtt_l5
cpu/stm32/periph/rtt_all: RTT peripheral support for CPU_FAM_STM32L5
2021-06-15 18:19:11 +02:00
aidiaz
fc1cd85c76 cpu/stm32/periph_rtt: RTT peripheral support for CPU_FAM_STM32L5 2021-06-15 09:49:55 -04:00
Francisco Molina
d9ee424b7c
cpu/kinetis: use LPTMR as rtt backend 2021-06-15 08:29:09 +02:00
Francisco Molina
92924ccad7
kinetis/rtc: use RTC directly 2021-06-11 17:21:01 +02:00
Rémy Grünblatt
deb8d34c43 cpu/stm32: Generate the irqs in a reproducible manner 2021-05-29 14:28:36 +02:00
Dylan Laduranty
596cee61e2
Merge pull request #15205 from benpicco/cpu/sam0_common-drop_inv_tx
cpu/sam0_common: UART: Revert "implement inverted RX & TX"
2021-05-23 21:40:16 +02:00
Jean Pierre Dudey
5fd6daac3e
Merge pull request #16319 from jue89/fix/stm32-gpio_all-isr
cpu/stm32/gpio_all: fix IRQ handler for G0/L5/MP1 families
2021-05-23 21:40:02 +02:00
Benjamin Valentin
5f002ced1f Revert "cpu/sam0_common: UART: implement inverted RX & TX"
This reverts commit 585dc15f99.

I did misunderstand this feature: This only inverts the data
bits (instead of `c` uart will transmit `~c`), not the whole
line level.

This is not very useful on it's own, so revert it.
2021-05-21 12:47:03 +02:00
Francisco
967cbcd7e1
Merge pull request #16478 from jue89/fix/stm32-gpio_f1-isr
cpu/stm32/gpio_f1: fix IRQ handler
2021-05-19 08:55:04 +02:00
benpicco
7cb5f31380
Merge pull request #16290 from nandojve/xmega_spi
cpu/atxmega/periph: Add spi driver
2021-05-15 15:02:23 +02:00
Hugues Larrive
1cf34afb76 cpu/stm32/periph/adc_f3.c: e-mail update 2021-05-15 05:53:45 +02:00
Gerson Fernando Budke
91316a879a cpu/atxmega/periph/spi: Add spi driver
Introduce SPI driver.

Signed-off-by: Gerson Fernando Budke <nandojve@gmail.com>
2021-05-14 23:26:08 -03:00
Marian Buschsieweke
c210975108
Merge pull request #16443 from maribu/tests/malloc
sys/malloc_thread_safety: fix potential overflow in multiplication
2021-05-13 14:38:59 +02:00
Marian Buschsieweke
a9dea12eb8
cpu/esp_common: add overflow detection to calloc
If esp_idf_heap is not used, implement calloc through a custom wrapper
function on top of malloc to add overflow detection, which is not
present in the newlib forks with xtensa support yet.
2021-05-10 15:29:48 +02:00
Francisco
26b61d0254
Merge pull request #16457 from aabadie/pr/cpu/native_custom_thread_sizes
cpu/native: make thread stacksize defines overridable
2021-05-07 16:28:29 +02:00
136c630870
cpu/native: make thread size defines overridable 2021-05-07 13:12:01 +02:00
Dylan Laduranty
a1c3782e28
Merge pull request #16446 from ant9000/pr_cpu_saml21_slow_clock_fix_timers
CPU SAML21: fix timers frequency when using slow clocks
2021-05-06 20:17:02 +02:00
Antonio Galea
c6f6f925a0 cpu/saml21: moved GCLK_GENCTRL_SRC_MAIN define to top 2021-05-05 23:59:05 +02:00
benpicco
619a444741
Merge pull request #16347 from benpicco/drivers/rtt_rtc-rtc_get_time_ms
drivers/rtt_rtc: implement rtc_get_time_ms()
2021-05-05 19:13:21 +02:00