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