Commit Graph

3505 Commits

Author SHA1 Message Date
wuzhenghui
c7de92feda change(hal): rename PLL_F80M to REF_80M for esp32s31 peripherals clock defination 2026-07-22 16:32:13 +08:00
morris
26a22512eb refactor(hal): extract assist_debug, debug_probe and trace into esp_hal_debug_assist
Move the following modules from the hal component into a new dedicated
esp_hal_debug_assist component, following the esp_hal_timg pattern:

- assist_debug (hal + target-specific LL headers)
- debug_probe (types + target-specific LL headers)
- riscv_trace (hal + types + source + target-specific LL headers)
- trace_ll (esp32/esp32s2/esp32s3 target-specific LL headers)

Update the following components to depend on esp_hal_debug_assist:
esp_system, riscv, bootloader_support, esp_hw_support, esp_riscv_trace

Remove riscv_trace_hal.c from the hal component.
2026-07-21 11:28:11 +08:00
Erhan Kurubas
2411f0f52d feat(hal): implement enable_debug/enable_record for ESP32-S31 CPU utility 2026-07-20 12:13:21 +02:00
Island
e309933c07 Merge branch 'feat/optimize_for_esp32h4_light_sleep_ble_current' into 'master'
Feat/optimize for esp32h4 light sleep ble current

Closes BLERP-2958, BLERP-2959, BLERP-2960, and BLERP-2961

See merge request espressif/esp-idf!50415
2026-07-20 16:42:13 +08:00
Erhan Kurubas
44bc2ac703 Merge branch 'esp_riscv_trace' into 'master'
RISC-V Trace Encoder

See merge request espressif/esp-idf!49821
2026-07-20 09:15:17 +02:00
morris
2da1deee3b Merge branch 'contrib/github_pr_18864' into 'master'
docs: fix duplicate word typos across docs and hal (GitHub PR)

Closes IDFGH-18006

See merge request espressif/esp-idf!50942
2026-07-20 15:02:23 +08:00
cjin
48c53023c8 feat(modem_clock): separate bt sec apb clock and add to bt apb module 2026-07-20 10:48:26 +08:00
cjin
9c432f41b5 feat(modem_clock): added bt_apb module and separete bt_apb from bt_mac module 2026-07-20 10:48:26 +08:00
Atharva-2708
f8544b40df docs: fix duplicate word typos across docs and hal
Removes duplicated "the" typos in FreeRTOS, eFuse, Kconfig documentation, and the HAL README.

Signed-off-by: Atharva-2708 <atharva.btech27@gmail.com>
2026-07-19 15:31:16 +05:30
Erhan Kurubas
2c11810ad9 feat(esp_riscv_trace): add riscv trace encoder driver with hal/ll layer 2026-07-17 12:42:13 +02:00
Renz Christian Bagaporo
faca8f56a3 Merge branch 'feat/cmakev2_ulp_full_subproject' into 'master'
feat(ulp): initial support for building ULP projects as full subprojects under CMake v2

See merge request espressif/esp-idf!50134
2026-07-16 21:00:32 +08:00
Mahavir Jain
1b7b298fcf Merge branch 'fix/fix_esp_tee_iv_length_check' into 'master'
fix(esp_tee): extends IV length check and TEE address mapping check

Closes IDF-15940 and IDF-15941

See merge request espressif/esp-idf!50438
2026-07-15 21:58:33 +05:30
morris
50bce17e15 Merge branch 'refactor/move_etm_retention_to_driver_layer' into 'master'
refactor(etm): move ETM retention info from HAL to driver layer

See merge request espressif/esp-idf!50669
2026-07-15 12:07:17 +08:00
Renz Bagaporo
7d75f85221 feat(ulp): build ULP full subprojects as CMake v2 children 2026-07-15 09:14:35 +09:00
morris
4c2395f67b refactor(hal): move lp_spi_ll.h to esp_hal_gpspi and sar_ctrl_ll.h to esp_hal_ana_conv
Move chip-specific LL headers from the hal component to their respective
component directories:
- lp_spi_ll.h (esp32p4, esp32s31) -> esp_hal_gpspi
- sar_ctrl_ll.h (all chips) -> esp_hal_ana_conv
2026-07-13 17:38:55 +08:00
morris
bedeedafec refactor(etm): move ETM retention info from HAL to driver layer
Move soc_etm_retention_desc_t type definition and soc_etm_retention_info
data from hal component to esp_hw_support component, following the
pattern of other peripheral retention data (e.g. MWDT).

- Create esp_private/etm_retention.h with type and extern declaration
- Create port/<target>/etm_retention.c for each target with retention data
- Remove hal/<target>/etm_periph.c and hal/include/hal/etm_periph.h
- Update esp_etm.c to include the new header
- Update CMakeLists.txt in both components
2026-07-13 15:37:52 +08:00
Ashish Sharma
133c1c6f6d fix(esp_tee): enforce MMU-map vaddr validity at the REE->TEE boundary 2026-07-13 13:42:58 +08:00
morris
13b23bcdb3 refactor(spi): move sleep retention config into driver layer
Move per-target GPSPI regdma retention descriptors out of esp_hal_gpspi
and
into esp_driver_spi so the driver owns its backup scope and restore
sequence.
2026-07-09 11:53:44 +08:00
C.S.M
048b4dde0c feat(psram): Add unencrypted region for psram for esp32s31 2026-07-07 10:42:45 +08:00
Sudeep Mohanty
8541991224 Merge branch 'fix/lp_spi_driver_and_tests' into 'master'
fix(ulp/lp_spi): fix stale data in driver

Closes IDF-11471, IDF-11472, and IDFCI-10465

See merge request espressif/esp-idf!48972
2026-06-30 15:50:26 +02:00
Sudeep Mohanty
a019532119 fix(ulp/lp_spi): fix driver bugs and add bus deinit API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 10:21:34 +02:00
Konstantin Kondrashov
e08d198fd6 fix(esp_image_format): validate MMU page size 2026-06-29 12:10:50 +03:00
Alexey Lapshin
056eb76645 Revert "fix(libc): picolibc: workaround wrong pthread_exit declaration for c++"
This reverts commit b42688f6c9.
2026-06-17 17:24:25 +07:00
Song Ruo Jing
545b31e6b9 feat(spi_flash): Add exclusive support for ESP32H4
Add 32bit addr support for esp32s31 as well
2026-06-08 17:56:09 +08:00
Konstantin Kondrashov
885097762f feat(efuse): Support efuse token dump
- efuse token dump is compatible with espefuse tool
- EFSW dump can be burned on chip with esp_efuse_token_burn()
2026-06-03 13:19:59 +03:00
Marius Vikhammer
4e2955bb6c Merge branch 'bugfix/h4_cache_error' into 'master'
fix(cache): fixed cache error not getting raised on H4

Closes IDFCI-11484 and IDFCI-11482

See merge request espressif/esp-idf!49132
2026-06-03 10:23:28 +08:00
Marius Vikhammer
919a3ca1d0 fix(cache): fixed cache error not working on H4 2026-06-02 09:54:11 +08:00
gaoxu
13b4430716 feat(adc): support ADC oneshot and continuous mode on ESP32-H21 2026-06-01 19:04:35 +08:00
morris
494b2f8de1 ci(astyle): reformat the hal component by astyle_py 2026-06-01 13:29:38 +08:00
Gao Xu
db3d01d412 Merge branch 'feat/basic_rng_support_h4' into 'master'
RNG support and refactor on ESP32-H4

Closes IDF-12265

See merge request espressif/esp-idf!45361
2026-05-27 11:14:38 +08:00
gaoxu
43317018d1 refactor(rng): use adc_ll apis for ESP32-h4 and refactor rng_ll_enable/disable 2026-05-26 19:02:41 +08:00
Sudeep Mohanty
301eeba878 Merge branch 'task/buildv2_hygiene_and_dep_declarations' into 'master'
fix(components): generic dep-declaration and scope-leakage hygiene exposed by cmakev2

See merge request espressif/esp-idf!48739
2026-05-26 10:18:22 +02:00
morris
e20db709aa feat(debug): add esp32s31 debug probe support
- add ESP32-S31 debug probe LL, target IDs, capability macros, and GPIO signal mapping
- allow LP probe channels to configure four signal bytes while keeping 16 GPIO outputs
- add HP and LP probe read tests, including LP 32-bit read verification
- keep existing vbat LP probe usage aligned with the new LP channel behavior
2026-05-25 19:03:37 +08:00
Konstantin Kondrashov
7dab1d313e Merge branch 'feature/efuse_esp32h21' into 'master'
feat(efuse): Update efuse table for ESP32H21

Closes IDF-11556

See merge request espressif/esp-idf!48762
2026-05-22 09:39:18 +03:00
Konstantin Kondrashov
f870ed9d61 feat(efuse): Update efuse table for ESP32H21 2026-05-21 16:29:09 +03:00
Sudeep Mohanty
794d3772e4 fix(hal): initialize priv_include to prevent scope leakage in cmakev2 2026-05-21 10:05:48 +02:00
Laukik Hase
3acb4a3e0c refactor(hal): Refactor and update the ESP32-P4 APM LL/HAL APIs 2026-05-21 12:15:50 +05:30
Mahavir Jain
4811388910 Merge branch 'feat/spiram_enc_exempt' into 'master'
feat(esp_psram): add option to carve unencrypted PSRAM region

Closes IDF-15032

See merge request espressif/esp-idf!48214
2026-05-21 11:36:58 +05:30
Konstantin Kondrashov
d289f24f91 Merge branch 'fix/efuse_sleep_retention_h4' into 'master'
fix(pmu_sleep): Wait eFuse memory update after sleep for ESP32H4

Closes IDF-12323

See merge request espressif/esp-idf!48702
2026-05-20 08:02:10 +03:00
morris
fac826665c Merge branch 'feat/axi_icm_esp32s31' into 'master'
feat(icm): add esp32s31 AXI ICM QoS priority LL APIs

See merge request espressif/esp-idf!48436
2026-05-20 10:10:57 +08:00
Konstantin Kondrashov
b853ad7091 fix(pmu_sleep): Wait eFuse memory update after sleep for ESP32H4 2026-05-19 14:11:34 +03:00
zhuanghang
26df946075 feat(802.15.4): supported 802.15.4 for esp32h21 2026-05-18 15:15:32 +08:00
morris
e58dabe7a7 feat(etm): add modem ETM support on esp32s31
Enable modem ETM capability on esp32s31 and add a dedicated modem_etm LL
implementation with the correct event/task status register mapping.
2026-05-15 11:32:26 +08:00
Mahavir Jain
23aba459f5 feat(esp_psram): add option to carve unencrypted PSRAM region
Adds CONFIG_SPIRAM_ENC_EXEMPT, available on chips that support per-page
PSRAM encryption configuration (esp32c5, esp32c61, esp32p4). When
enabled, esp_psram carves CONFIG_SPIRAM_ENC_EXEMPT_SIZE off the top of
PSRAM and maps it via the new mmu_hal_map_region_no_enc() helper, which
writes MMU entries without the SENSITIVE bit. The region is registered
as a separate heap pool reachable only through the new
MALLOC_CAP_SPIRAM_NO_ENC capability bit, so default SPIRAM allocations
cannot accidentally land there.

PSRAM encryption imposes alignment constraints that some DMA engines
(e.g. 2D-DMA) cannot satisfy. This option lets such workloads place
their buffers in unencrypted PSRAM while keeping the rest of PSRAM
(and flash) encrypted. Default disabled; security implications are
documented in the Kconfig help text.
2026-05-14 19:21:18 +05:30
gaoxu
03c8862a9f feat(adc): support ADC single ended oneshot and continuous mode on ESP32-S31 2026-05-14 16:31:29 +08:00
Gao Xu
69136606ab Merge branch 'feat/s31_rng_basic_support' into 'master'
Feat/s31 rng support

Closes IDF-14632, WIFIBUG-1875, and TZ-2554

See merge request espressif/esp-idf!47217
2026-05-13 17:47:59 +08:00
gaoxu
07aaba7c7b refactor(rng): move rng read data function to rng_ll.h and update docs of RNG source 2026-05-13 15:09:55 +08:00
Konstantin Kondrashov
485ab9aa29 Merge branch 'feature/recovery_bootloader_support' into 'master'
feat(bootloader): Support recovery bootloader for ESP32P4

Closes IDF-15653 and IDF-13165

See merge request espressif/esp-idf!48215
2026-05-12 23:24:40 +03:00
morris
9624058dbe feat(icm): add esp32s31 AXI ICM QoS priority LL APIs
Add ESP32-S31 AXI ICM LL helpers for setting per-master read/write QoS
priority via ICM_SYS, including GMAC and SDMMC masters. Export ICM_SYS
in the S31 register struct header so the LL layer can use the shared
register symbol.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-12 16:12:23 +08:00
gaoxu
3d7a643ff7 feat(rng): trng refactor to ll functions on esp32s31 2026-05-11 09:08:25 +08:00