esp-idf/components/esp_hw_support
Darian Leung a73dd07d12 esp_hw_support: Fix esp_light_sleep_start() deadlock
esp_light_sleep_start() will stall the other CPU via esp_ipc_isr_stall_other_cpu(). After stalling the other CPU,
will call esp_clk_... API which themselves take locks. If the other stalled CPU is holding those locks, this will
result in a deadlock.

This commit adds a workaround calling esp_clk_private_lock() to take the lock before stalling the other CPU.
2022-08-10 18:52:32 +08:00
..
include esp_hw_support: Fix esp_light_sleep_start() deadlock 2022-08-10 18:52:32 +08:00
port Merge branch 'feature/further_support_esp32c2_sleep' into 'master' 2022-08-08 13:26:15 +08:00
test build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
adc_share_hw_ctrl.c esp_adc: move adc common hw related code into esp_hw_support 2022-07-28 03:49:48 +00:00
clk_ctrl_os.c i2s: Introduced a brand new driver 2022-06-15 10:29:06 +08:00
CMakeLists.txt build system: re-add -Wno-format as private flag for some components 2022-08-03 16:42:47 +04:00
cpu.c esp_system: Remove deprecate section from esp_cpu.h 2022-07-22 00:06:06 +08:00
esp_async_memcpy.c build: fix unused tag string 2022-01-18 10:06:08 +08:00
esp_clk.c esp_hw_support: Fix esp_light_sleep_start() deadlock 2022-08-10 18:52:32 +08:00
esp_memory_utils.c esp_psram: new psram component 2022-06-14 15:44:27 +08:00
gdma.c dma: move from driver to hw_support 2022-06-28 14:17:12 +08:00
hw_random.c hal: Deprecate interrupt_controller_hal.h, cpu_hal.h and cpu_ll.h interfaces 2022-07-22 00:06:06 +08:00
intr_alloc.c esp_hw_support: Fix formatting of intr_alloc.h and test_panic.c 2022-07-22 00:06:06 +08:00
Kconfig kconfig: refactor xtal freq kconfig to common configuration item 2022-08-05 19:12:29 +08:00
linker.lf systimer: add helper functions to convert between tick and us 2022-07-25 16:08:52 +08:00
mac_addr.c mac addr: fix wrong offset being used for C2 BT mac address 2022-06-28 15:30:24 +08:00
periph_ctrl.c NimBLE: fix compilation issue in nimble examples for ESP32H2 2022-06-09 10:57:31 +05:30
README.md esp_hw_support: create component 2020-10-28 07:21:29 +08:00
regi2c_ctrl.c Add regi2c enable/disable reference count 2022-06-23 15:36:44 +08:00
rtc_module.c esp_intr: Split RTC interrupt, making some of signals can be triggered with cache disabled 2022-06-02 10:38:55 +08:00
rtc_wdt.c coverity: fix uninit variable issue in driver 2022-08-03 10:46:50 +08:00
sdkconfig.rename kconfig: also parse target specific sdkconfig.rename.TARGET files 2022-01-31 11:36:08 +08:00
sdkconfig.rename.esp32 kconfig: refactor xtal freq kconfig to common configuration item 2022-08-05 19:12:29 +08:00
sdkconfig.rename.esp32c3 soc: moved kconfig options out of the target component. 2022-04-21 12:09:43 +08:00
sdkconfig.rename.esp32h2 rtc_clk: Clean up some clock related enum and macro in soc/rtc.h, replace with new ones in 2022-05-24 22:59:41 +08:00
sdkconfig.rename.esp32s2 kconfig: move remaining kconfig options out of target component 2022-05-23 17:57:45 +08:00
sdkconfig.rename.esp32s3 kconfig: move remaining kconfig options out of target component 2022-05-23 17:57:45 +08:00
sleep_gpio.c system/sleep: further fix spi flash/ram current leakage 2022-07-21 19:14:26 +08:00
sleep_mac_bb.c light sleep: separate sleep wifi/bt mac bb function 2021-08-23 10:25:04 +08:00
sleep_modes.c esp_hw_support: Fix esp_light_sleep_start() deadlock 2022-08-10 18:52:32 +08:00
sleep_retention.c bugfix: malloc retention buffer with MALLOC_CAP_RETENTION caps 2022-08-03 20:07:43 +08:00

esp_hw_support

This component contains hardware-related operations for supporting the system. These operations are one level above that of hal in that these(1) use system services such as memory allocation, logging, scheduling or (2) may be multi-step operations involving/affecting multiple parts of the SoC.

Implementations that don't fit other components cleanly, but are not worth creating a new component for (yet) may also be placed here as long as they don't pull dependencies other than the core system components.