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

7327 Commits

Author SHA1 Message Date
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