benpicco
ba37e93bd6
Merge pull request #18267 from gschorcht/cpu/esp32/periph_hal_esp32_timer
...
cpu/esp32: use ESP-IDF timer HAL for system timer and watchdog
2022-07-10 23:08:57 +02:00
Marian Buschsieweke
d337997e5a
Merge pull request #18277 from gschorcht/cpu/esp/periph_hal_esp32_hwrng
...
cpu/esp_common: use ESP-IDF random API for ESP32
2022-07-04 19:02:58 +02:00
Gunar Schorcht
02310b1148
cpu/esp_common: port periph/hwrng to ESP-IDF random API
2022-06-30 11:10:02 +02:00
Gunar Schorcht
0482eb1c90
cpu/esp32: use ESP-IDF timer HAL for peripheral timer definition
2022-06-29 08:35:38 +02:00
benpicco
3b3c6d34b3
Merge pull request #18273 from gschorcht/cpu/esp32/periph_hal_esp32_cpuid
...
cpu/esp32: use ESP-IDF function esp_efuse_mac for CPU ID
2022-06-29 00:40:02 +02:00
Gunar Schorcht
c03933d08c
cpu/esp32: add ledc to ESP-IDF interface API
2022-06-28 18:28:27 +02:00
Gunar Schorcht
29199b20bd
cpu/esp32: add gpio to ESP-IDF interface API
2022-06-28 16:43:22 +02:00
benpicco
1b2360e6da
Merge pull request #18261 from gschorcht/cpu/esp32/use_esp_idf_interrupt_handling
...
cpu/esp32: use ESP-IDF interrupt handling API
2022-06-28 16:37:11 +02:00
Gunar Schorcht
81caeb1bb1
cpu/esp32: add uart to ESP-IDF interface API
2022-06-28 16:25:10 +02:00
Gunar Schorcht
9065dcff14
cpu/esp32: port periph/cpu_id to ESP-IDF read_mac
2022-06-28 16:09:03 +02:00
Gunar Schorcht
4be0abf41a
cpu/esp32: rename CPU_INUM_RTC to CPU_INUM_RTT
2022-06-28 07:30:59 +02:00
Gunar Schorcht
6bd6afbd22
cpu/esp32: use ESP-IDF for interrupt handling
2022-06-28 07:30:59 +02:00
Gunar Schorcht
a1ba7b1207
cpu/esp32: add periph_ctrl to ESP-IDF interface API
2022-06-23 16:12:22 +02:00
Gunar Schorcht
61bf3d2384
cpu/esp*: update/cleanup stack sizes
2022-06-01 13:27:31 +02:00
Gunar Schorcht
d7382ab063
cpu/esp32: fix compilation problems with ESP-IDF v4.4
2022-06-01 13:27:31 +02:00
Gunar Schorcht
ec5993d888
cpu/esp32: changes in irq_arch for ESP-IDF v4.4
2022-06-01 13:27:31 +02:00
Gunar Schorcht
e5adb7ef34
cpu/esp32: cleanup of periph/gpio for ESP-IDF v4.4
2022-06-01 13:27:31 +02:00
Gunar Schorcht
d4e061f635
cpu/esp_common/freertos: missing functions/definitions for ESP-IDF v4.4
2022-06-01 13:21:29 +02:00
Gunar Schorcht
751a958529
cpu/esp32: add modules for compilation of required ESP-IDF code
...
The code required by the ESP-IDF is compiled directly from source in the `esp32_sdk` package. The compilation is structured by modules for easier use.
2022-06-01 13:21:29 +02:00
Gunar Schorcht
357eaa434a
cpu/esp32: update sys/lock.h for retargetable locking
...
ESP-IDF version 4.4 already provide all locking definitions if retargetable locking is enabled.
2022-05-18 07:27:23 +02:00
Benjamin Valentin
0340ac6129
cpu: include IDLE in PM_NUM_MODES
2022-04-06 12:29:25 +02:00
Gunar Schorcht
92b7b8a3d7
cpu/esp32: disable the use of newlib's pthread headers
2022-03-10 05:31:04 +01:00
Gunar Schorcht
12d0cc9e99
cpu/esp32: enable _NANO_FORMATTED_IO for Espressif's GCC 8.4.0
2022-03-08 09:31:42 +01:00
PeterKietzmann
b348c9ff11
cpu/esp32: enable puf_sram feature
2022-02-17 11:08:11 +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
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
2e820a09fc
cpu/esp32: print SDK version with esp_log_startup
2022-01-04 16:35:47 +01:00
Gunar Schorcht
f6831f34fb
cpu/esp32: add CPU frequency selection to Kconfig
...
t
2021-12-19 12:20:14 +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
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
Jan Romann
4384795cb9
treewide: Remove excessive newlines
2021-08-13 19:50:38 +02:00
Francisco Molina
5ae5c40f26
cpu/esp*: add CLOCK_CORECLOCK
2021-04-21 08:54:43 +02:00
189f7d862d
cpu/esp32: fix typo in timer documentation
2021-01-08 12:04:24 +01:00
b4458e73f2
cpu/esp32: fix typo in Doxygen comment
...
depenend => depend
2021-01-08 10:15:32 +01:00
Vincent Dupont
c498bbdc83
esp32/can: include can_esp.h from periph_cpu.h
2020-09-30 12:59:03 +02:00
Gunar Schorcht
d19a1f5af5
cpu/esp32: remove the dependency of vendor code on BOARDDIR
2020-08-07 16:09:12 +02:00
Gunar Schorcht
fb47f094d3
cpu/esp32: support multiple heaps for newlib
...
Several unsused DRAM sections are added to the heap.
2020-07-10 08:42:12 +02:00
Benjamin Valentin
5da1a9e577
cpu/esp*: use TIMER_CHANNEL_NUMOF
2020-06-24 00:45:35 +02:00
Martine Lenders
ad89680c40
Merge pull request #14004 from gschorcht/cpu/esp32/fix_newlib_nano_printf_float
...
cpu/esp32: fix printf for float with newlib-nano
2020-05-02 20:43:00 +02:00
Gunar Schorcht
5fbf74b203
cpu/esp32: fix printf for float with newlib-nano
2020-05-02 16:56:29 +02:00
Gunar Schorcht
ce431b2343
cpu/esp32: use RTT based RTC implementation
2020-04-07 09:12:44 +02:00
Gunar Schorcht
f67cb48f6d
cpu/esp32: add RTT counter implementation
...
fixup! cpu/esp32: add RTT counter implementation
2020-04-07 09:12:44 +02:00
Gunar Schorcht
6cd9896ac0
cpu/esp: move BACKUP* attributes to esp_common
2020-04-03 18:07:12 +02:00
benpicco
45b635f4c5
Merge pull request #13416 from gschorcht/cpu/esp32/pm_layered
...
cpu/esp32: support for light/deep sleep and pm_layered
2020-03-23 14:11:05 +01:00
Gunar Schorcht
09899e4b8d
cpu/esp32/periph_gpio: funcs for enter/exit sleep
2020-03-23 12:38:36 +01:00
Gunar Schorcht
f4aa253645
cpu/esp32/periph_rtc: funcs for enter/exit sleep
2020-03-23 12:38:36 +01:00
Gunar Schorcht
dff74a3278
cpu/esp32: add pm_layered support
2020-03-23 12:38:36 +01:00
Gunar Schorcht
a7652df499
cpu/esp32: function to set gpio drive strength
2020-03-23 12:25:47 +01:00
Gunar Schorcht
3faf99a894
cpu/esp32: add vendor files for light/deep sleep
2020-03-23 12:25:47 +01:00
Gunar Schorcht
825b01e8e1
cpu/esp32: remove gpio_config_sleep_mode func
...
The function were used to set the GPIO pads in sleep mode. This function isn't required for deep or light sleep.
2020-03-22 23:53:02 +01:00
benpicco
921a6a663e
Merge pull request #12024 from gschorcht/cpu/esp32/esp_wifi/wpa2_enterprise
...
cpu/esp32/esp wifi: add WPA2 enterprise mode with IEEE 802.1x/EAP authentication
2020-03-22 17:10:31 +01:00
Benjamin Valentin
b8e18d521f
cpu/esp32: define BACKUP_RAM attribute
2020-03-19 13:37:58 +01:00
c86ccfcf67
cpu: esp32: make THREAD_STACKSIZE_IDLE/DEFAULT configurable
2020-03-12 13:01:13 +01:00
Gunar Schorcht
33fd259115
cpu/esp: platform heap_stats only used with esp_idf_heap
2020-02-29 12:21:09 +01:00
Gunar Schorcht
ef248b392d
cpu/esp_comomon: rename cpu_conf.h to cpu_conf_common.h
...
To be able to define common configurations for all ESP CPUs, the CPU specific configuration cpu_conf.h has to include a common configuration. For that purpose cpu_conf.h in cpu/esp_common is renamed to cpu_conf_common.h and included in CPU specific configurations.
2020-02-29 12:07:12 +01:00
Gunar Schorcht
202758f400
cpu/esp32/esp_wifi: changes for wpa_supplicant in WPA2 Enterprise mode
...
`nvs_flash` functions have to be set to 0 if module `esp_idf_nvs_flash` is not enabled. Otherwise wpa_supplicant will crash in WPA2 Enterprise mode.
2020-02-23 10:09:48 +01:00
Gunar Schorcht
18659bdf26
cpu/esp*: move FreeRTOS headers to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
0292f8b6a3
cpu/esp*: move periph/hwrng to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
b0517c6733
cpu/esp*: move periph/uart to cpu/esp_common
...
tmp
2020-02-21 09:09:34 +01:00
Gunar Schorcht
90dc2ce846
cpu/esp*: common parts of syscalls in cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
4c466e54ec
cpu/esp*: common irq_arch in cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
43b89a61eb
cpu/esp*: move common parts of gpio_arch to cpu/esp_common
2020-02-21 09:09:34 +01:00
Gunar Schorcht
7d701f6fa8
cpu/esp*: move common headers to cpu/esp_common
2020-02-21 09:09:34 +01:00
benpicco
57db6b7313
Merge pull request #13059 from gschorcht/cpu/esp32/fix_xtal_freq
...
cpu/esp32: activate automatic XTAL detection
2020-01-31 08:36:28 +01:00
Gunar Schorcht
416e8ce8e6
cpu/esp32: fix C linkage compilatio error
...
With the new toolchain version required to fix issue #13133 , the compilation of `examples/posix_socket` fails due to a C linkage error in `atomic_base.h`. The reason is that including `drivers/include/mtd.h` in `boards/esp32/board_common.h` inside the `extern C` block finally leads to including `atomic_base.h` inside the `extern C` block which in turn to the C linkage error for the template definitions in this file.
2020-01-16 13:03:49 +01:00
Gunar Schorcht
528512d9af
cpu/esp32: activate automatic XTAL detection
...
ESP32 can be clocked with either a 40 MHz or 26 MHz crystal. Since most boards use a 40 MHz crystal, the configuration was previously fixed to a 40 MHz crystal. This commit changes the crystal from 40 MHz to automatic detection, allowing boards with a 26 MHz crystal like the Sparkfun ESP32 Thing DEV to be used.
2020-01-09 15:34:18 +01:00
Gunar Schorcht
7bf5bba564
cpu/esp_common: LOG_TAG macro for DEBUG_ALL
...
LOG_TAG macro is required for LOG_VERBOSE level in ESP SDK log output handling.
2019-12-20 16:25:41 +01:00
a8c3c6ab68
cpu/esp32: fix typos
2019-11-23 22:39:36 +01:00
Gunar Schorcht
6fb7c50d48
cpu/esp32: colored output modifications
...
For compatibility with module log_color and the esp8266 esp_log_colored implementation.
2019-11-22 11:11:19 +01:00
Schorcht
4503f45abb
cpu/esp32: esp_log_color renamed to esp_log_colored
2019-11-22 11:11:19 +01:00
Gunar Schorcht
9a4cdc7e93
cpu/esp32: log_module implementation
...
The implementation of `log_module` for ESP32 was changed from functions to a macro-based implementation to be able to use the bunch of macros for colored and tagget log output generation.
2019-11-22 11:11:19 +01:00
Gunar Schorcht
327b9fd32e
cpu/esp32: introduce module esp_log_tagged
...
ESP32 log output was always tagged with additional information by default. The tag consists the type of the log message, the system time in ms, and the module or function in which the log message is generated. By introducing module `esp_log_tagged`, these additional information are disabled by default and can be enabled by using module `esp_log_tagged`.
2019-11-20 08:42:27 +01:00
Gunar Schorcht
a3058291b7
cpu/esp32: colored log output
...
Log module of ESP32 supports colored log outputs when module `esp_log_color` is enabled. The generation of colored log outputs is realized by a extending the bunch of macros with an additional letter indicating the type of log message,
2019-11-20 08:42:22 +01:00
Kevin "Tristate Tom" Weiss
be39169bd4
Merge pull request #11108 from gschorcht/cpu/esp8266/esp-idf/pr
...
cpu/esp8266: complete reimplementation based on ESP8266 RTOS SDK
2019-11-18 09:34:49 +01:00
Yegor Yefremov
df7e760588
doxygen/I2C: don't include overridden typedefs
...
Add missing #ifndefs to overridden I2C typedefs.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:33 +01:00
Yegor Yefremov
cf65070b06
doxygen/GPIO: don't include overridden typedefs
...
Add missing #ifndefs to overridden GPIO typedefs.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:33 +01:00
Yegor Yefremov
5b0252b150
doxygen/ADC: don't include overridden typedefs
...
Add missing #ifndefs to overridden ADC resolution typedefs.
Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
2019-11-15 10:35:32 +01:00
Gunar Schorcht
4f4d882f68
cpu/esp32: changes for RTOS SDK
2019-11-14 13:58:25 +01:00
Marian Buschsieweke
314184adb5
cpu: Platform specific C11 atomics compat headers
...
Added headers to define platform specific sizes and types for the C11 atomics
compatibility module for C++.
2019-10-24 23:08:36 +02:00
Kevin "Tristate Tom" Weiss
4b7c5915ec
Merge pull request #10953 from gschorcht/sys/shell/heap_cmd/pr
...
sys/shell: add heap command
2019-10-04 13:49:57 +02:00
Gunar Schorcht
c498ebd388
cpu/esp32: default device config for periph_can
2019-09-20 19:35:02 +02:00
Gunar Schorcht
49ecce9b81
cpu/esp32: periph_can device/conf type definitions
2019-09-20 19:35:02 +02:00
benpicco
dbd97b7588
Merge pull request #11947 from gschorcht/cpu/esp32/freertos-critcial-sections
...
cpu/esp32: critcial section handling changed in FreeRTOS adaptation layer
2019-09-05 12:40:45 +02:00
Gunar Schorcht
e9e6b7f31a
cpu/esp32: changes for common heap command
2019-09-05 09:20:55 +02:00
Gunar Schorcht
bf331bd54b
cpu/esp32: use printf/puts from newlib
...
Initializing the stdio file descriptors in global reent structure with newlib fake stdio file descriptors led to the problem that newlib stdio functions printf and puts were not working since they can't operate on these fake stdio file descriptors. Therefore, this initialization was removed. Now, the real stdio file descriptors as created automatically by newlib are used. Specific functions `printf`, `puts`, `getchar`and `putchar` are not required any longer and are removed now.
2019-08-19 15:14:32 +02:00
Gunar Schorcht
1b041083ab
cpu/esp32: change of critical section handling in freertos
...
Using a mutex for critical section handling with portENTER_CRITICAL and portEXIT_CRITICAL does not work for RIOT, as this function can also be called in the interrupt context. Therefore, the given mutex is not used. Instead, the basic default FreeRTOS mechanism for critical sections is used by simply disabling interrupts. Since context switches for the ESP32 are also based on interrupts, there is no possibility that another thread will enter the critical section once the interrupts are disabled.
2019-08-12 16:51:50 +02:00
Gunar Schorcht
26b71a3f14
cpu/esp32: removes additional spaces in freertos
2019-08-12 16:51:50 +02:00
Gunar Schorcht
1492f00690
cpu/esp32: esp_wifi compile configuration tuned
...
Downsized numbers of dynamic send and receive buffers.
2019-07-31 13:53:48 +02:00
3da6593a54
esp32: define PERIPH_TIMER_PROVIDES_SET
2019-07-19 22:28:27 +02:00
Leandro Lanzieri
44d981947d
Merge pull request #11293 from gschorcht/cpu/esp32/periph/conf/spi
...
boards/esp32: changes the approach for configurations of SPI interfaces in board definitions
2019-05-14 12:07:19 +02:00
Leandro Lanzieri
ab6d0fe08c
Merge pull request #11292 from gschorcht/cpu/esp32/periph/conf/pwm
...
boards/esp32: changes the approach for configurations of PWM channels in board definitions
2019-05-13 16:11:05 +02:00
Kevin "Bear Puncher" Weiss
6afb0603aa
Merge pull request #11291 from gschorcht/cpu/esp32/periph/conf/i2c
...
boards/esp32: changes the approach for configurations of I2C in board definitions
2019-05-09 08:26:01 -07:00
Kevin "Bear Puncher" Weiss
795ad18f2e
Merge pull request #11294 from gschorcht/cpu/esp32/periph/conf/uart
...
boards/esp32: changes the approach for configurations of UART interfaces in board definitions
2019-05-09 08:25:40 -07:00
Gunar Schorcht
3e79787bcc
cpu/esp32: UART configuration approach changed
...
UART devices are now configured using static array in header files instead of static variables in implementation to be able to define UART_NUMOF using the size of the array instead of a variable.
2019-05-06 13:34:59 +02:00
Gunar Schorcht
26613ee9e7
cpu/esp32: SPI configuration approach changed
...
SPI devices are now configured using static array in header files instead of static variables in implementation to be able to define SPI_NUMOF using the size of the array instead of a variable.
2019-05-06 13:33:48 +02:00
Gunar Schorcht
e8828aded8
cpu/esp32: PWM configuration approach changed
...
PWM channels are now configured using static array in header files instead of static variables in implementation.
2019-05-06 13:32:52 +02:00
Gunar Schorcht
748164ad6a
cpu/esp32: I2C configuration approach changed
...
I2C devices are now configured using static array in header files instead of static variables in implementation to be able to define I2C_NUMOF using the size of the array instead of a variable.
2019-05-06 13:32:06 +02:00
Gunar Schorcht
0510f0c049
cpu/esp32: DAC config approach changed
...
DAC pins are now configured using static arrays in header files instead of static variables in implementation to be able to define DAC_NUMOF using the size of these arrays instead of a variable.
2019-05-06 13:29:38 +02:00
Gunar Schorcht
32d6c046ac
cpu/esp32: ADC config approach changed
...
ADC pins are now configured using static arrays in header files instead of static variables in implementation to be able to define ADC_NUMOF using the size of these arrays instead of a variable.
2019-05-02 16:38:52 +02:00