Commit Graph

973 Commits

Author SHA1 Message Date
Pranav Sonawane
f8ce32d054 change(hal): exclude PSRAM anti-FI check from bootloader and TEE builds
The PSRAM encryption anti-FI check in mmu_ll_write_entry() pulls in
  ESP_FAULT_ASSERT and efuse_hal_chip_revision(), which inflate the
  bootloader image size. The check is not meaningful in the bootloader
  or in the ESP-TEE build, so guard it out for both.

  Applies to esp32c5, esp32c61 and esp32p4.
2026-07-29 11:44:06 +05:30
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
2c11810ad9 feat(esp_riscv_trace): add riscv trace encoder driver with hal/ll layer 2026-07-17 12:42:13 +02:00
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
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
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
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
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
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
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
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
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
Marius Vikhammer
2fa1906b0a Merge branch 'feature/s31_lp_mailbox' into 'master'
feat(ulp): enable LP mailbox on S31

Closes IDF-14637

See merge request espressif/esp-idf!48218
2026-05-09 10:58:41 +08:00
Konstantin Kondrashov
e8609f59a8 feat(bootloader): Support recovery bootloader for ESP32S31 and ESP32P4 2026-05-08 16:45:14 +03:00
Marius Vikhammer
6023f07868 feat(ulp): add support for mailbox on S31 2026-05-08 14:06:04 +08:00
wuzhenghui
5c2e3b768e feat(esp_hw_support): support LP_Probe in debug probe driver & sig inversion 2026-05-08 10:21:38 +08:00
Marius Vikhammer
defe1cde71 feat(ulp/lp_spi): bring up LP SPI on ESP32-S31
Add LP SPI HAL LL layer for ESP32-S31 and ESP32-P4, enable the
peripheral in soc_caps, and port the HP-side and LP-core-side SPI
drivers to use the new LL abstraction.
2026-04-28 10:20:02 +08:00
hebinglin
0603e0eb23 fix(ulp): record wakeup causes before lp core request sleep 2026-04-22 16:22:11 +08:00
armando
0099a7fff1 fix(cache): fixed preload ascending issue 2026-04-13 13:26:08 +08:00
morris
43bc8c2fe5 feat(etm): add ETM LL and GPIO ETM support on esp32s31
Enable ETM caps and add S31 ETM/GPIO LL and retention support for
GPTimer ETM builds.
2026-04-07 14:47:36 +08:00
armando
4bea0ccb22 fix(cache): fixed cache sys clk not on issue 2026-03-31 15:58:27 +08:00
armando
c60ed4b338 fix(spm): rename scp (scratchpad) to spm (scratchpad memory) 2026-03-17 01:29:34 +00:00
armando
c96f69faef change(mem): deprecated tcm and added scp memory utils 2026-03-11 11:18:15 +08:00
Armando (Dou Yiwen)
8f4212b24a Merge branch 'feat/cache_preload' into 'master'
cache: preload hal api

Closes IDF-7800

See merge request espressif/esp-idf!46106
2026-03-11 01:06:50 +00:00
Song Ruo Jing
600bf5b6d7 refactor(esp_hal_regi2c): move regi2c implementation from esp_rom to esp_hal_regi2c 2026-03-10 15:08:51 +08:00
armando
a699805d39 feat(cache): support cache preload hal api 2026-03-10 15:03:05 +08:00
Chen Chen
eeb24057c4 refactor(hal): graduate systimer hal driver into esp_hal_systimer 2026-02-06 18:08:57 +08:00
armando
8499ad6ab0 feat(hal):graudate the sdmmc/sdio_slave hal driver into a new component 2026-02-02 09:47:54 +08:00
Aditya Patwardhan
5ee7af3afd refactor(hal): Created esp_hal_security for security code 2026-01-21 09:59:46 +05:30
Song Ruo Jing
ce6e80c129 Merge branch 'refactor/esp_hal_clock' into 'master'
refactor(clk): split clock HAL into separate component

Closes IDF-14108

See merge request espressif/esp-idf!44768
2026-01-19 11:33:35 +08:00
Chen Jichang
4709b6b474 change(soc): split SOC_NON_CACHEABLE_OFFSET macro to SRAM/PSRAM/FLASH 2026-01-14 16:04:28 +08:00
Song Ruo Jing
62511d61e9 refactor(clk): split clock HAL into separate component 2026-01-13 15:50:20 +08:00
C.S.M
060283f782 refactor(i3c): Move i3c hal to seperate folder 2026-01-07 10:26:19 +08:00
C.S.M
23fbaad6e9 feat(i3c): Add soc and hal support for i3c master 2025-12-31 18:03:05 +08:00
wuzhenghui
0d93c29143 feat(esp_hal_rtc_timer): introduce new RTC timer component and refactor existing timer functions 2025-12-30 10:33:34 +08:00
Song Ruo Jing
b5aae9a1af Merge branch 'refactor/esp_hal_uart' into 'master'
refactor(uart): split UART HAL into separate component

Closes IDF-14090

See merge request espressif/esp-idf!44197
2025-12-25 18:36:49 +08:00
C.S.M
f0912e8832 Merge branch 'refactor/split_bod_hal' into 'master'
refactor(bod): Move bod hal to pmu hal component

Closes IDF-14104

See merge request espressif/esp-idf!44503
2025-12-25 15:37:54 +08:00
Song Ruo Jing
74aeb3f41f refactor(uart): split UART HAL into separate component 2025-12-25 14:41:28 +08:00
C.S.M
f447fcdf98 refactor(bod): Move bod hal to pmu hal component 2025-12-24 19:23:15 +08:00
morris
1b055b82d7 refactor(hal): remove efuse_hal_get_chip_revision function declaration 2025-12-24 11:51:31 +08:00
wuzhenghui
04ebe9e24f feat(esp_hal_pmu): move pau_hal driver into esp_hal_pmu component 2025-12-22 16:03:52 +08:00
wuzhenghui
20c2dab09c feat(esp_hal_pmu): graduate pmu/rtc_cntl hal driver into a new component: esp_hal_pmu 2025-12-22 16:03:43 +08:00
Mahavir Jain
a943fb10fd Merge branch 'test/run_mbedtls_hw_aes_sha_tests_only_if_enabled' into 'master'
Run mbedtls HW tests only if HW enabled

Closes IDFCI-7505 and IDF-13524

See merge request espressif/esp-idf!44241
2025-12-18 10:52:09 +05:30
Kevin (Lao Kaiyao)
3665d0b0f6 Merge branch 'feature/graduate_tsens_hal_component' into 'master'
feat(tsens): graduate temperature sensor hal component

Closes IDF-14906

See merge request espressif/esp-idf!44121
2025-12-18 12:44:41 +08:00
Song Ruo Jing
a3c63f362b Merge branch 'refactor/esp_hal_ledc' into 'master'
refactor(ledc): split ledc hal into a separate component

Closes IDF-14085

See merge request espressif/esp-idf!44204
2025-12-18 11:59:25 +08:00