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

463 Commits

Author SHA1 Message Date
Benjamin Valentin
3977023700 boards/esp32-*: drop custom board_init() 2022-02-22 18:27:37 +01:00
PeterKietzmann
b348c9ff11 cpu/esp32: enable puf_sram feature 2022-02-17 11:08:11 +01:00
Francisco Molina
c1238ad4e4 cpu/esp: model missing modules 2022-02-09 16:50:04 +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
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
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
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
Francisco Molina
b9d1461b38 cpu/esp32: use macros/units 2022-01-17 12:28:11 +01:00
Gunar Schorcht
60793f14ae cpu/esp*/vendor: remove -std=c++11 2022-01-13 17:50:59 +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
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
523bcec8ee cpu/esp*: small documentation fixes
Only formatting issues solved, no content changes.
2021-12-30 14:43:31 +01:00
Gunar Schorcht
27decbc6c1 cpu/esp32: common periph features moved to cpu/esp_common 2021-12-23 10:34:25 +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
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
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
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
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
Francisco Molina
4e6151bd7d cpu/esp*: migrate from xtimer to ztimer 2021-12-14 18:14:35 +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
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
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
bfdfbb1a48
cpu/esp32: model Kconfig 2021-12-10 18:54:07 +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
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
d31b1f4854
cpu/esp32: disable -Wcast-align for vendor code 2021-12-03 10:12:32 +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
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
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
Benjamin Valentin
3d8e0d7f43 cpu/esp32: fix cast to periph type 2021-11-18 10:14:51 +01:00