Commit Graph

3489 Commits

Author SHA1 Message Date
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
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
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
wuzhenghui
820475f0e7 fix(esp_hw_support): 1v8 flash/psram dedicate ldo depends on pd_cur on 2026-05-07 12:02:06 +08:00
Konstantin Kondrashov
6adb99a389 Merge branch 'feature/support_efuses_esp32s31' into 'master'
feat(efuse): Support efuses for ESP32S31

Closes IDF-14688

See merge request espressif/esp-idf!47986
2026-04-30 12:08:52 +03:00
Konstantin Kondrashov
c29532f98c feat(efuse): Support efuses for ESP32S31 2026-04-29 15:50:32 +03: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
Alexey Lapshin
b42688f6c9 fix(libc): picolibc: workaround wrong pthread_exit declaration for c++ 2026-04-22 22:34:49 +08:00
He Binglin
92e1d04b4f Merge branch 'bugfix/esp_idf_ulp_wakeupcauses_record' into 'master'
fix(ulp): record wakeup causes before lp core request sleep

Closes PM-677 and IDFCI-8878

See merge request espressif/esp-idf!46467
2026-04-22 20:13:17 +08:00
Marius Vikhammer
5f4161b710 Merge branch 'feature/lockup_debug' into 'master'
feat(esp_system): add CPU lockup debug support for esp32h4 and esp32s31

See merge request espressif/esp-idf!47630
2026-04-22 17:52:36 +08:00
hebinglin
0603e0eb23 fix(ulp): record wakeup causes before lp core request sleep 2026-04-22 16:22:11 +08:00
Marius Vikhammer
8e2b416c38 feat(esp_system): add CPU lockup debug support for esp32h4 and esp32s31 2026-04-22 11:11:02 +08:00
Chen Ji Chang
7ed6c83eb5 Merge branch 'feat/support_lcd_on_s31' into 'master'
feat(lcd): support rgb and i80 lcd on s31

Closes IDF-14750, IDF-14751, IDF-14753, and IDF-14754

See merge request espressif/esp-idf!47312
2026-04-22 00:40:26 +08:00
Zhang Wen Xu
9c2bde6b64 Merge branch 'feat/support_154_on_s31' into 'master'
feat(802.15.4): support 154 on esp32s31

Closes IDF-14802, IDF-14803, and IDF-14612

See merge request espressif/esp-idf!47440
2026-04-21 09:27:39 +00:00
Chen Jichang
8b50305650 fix(esp32s31): fix stuck when PSRAM XIP with O0 optimization 2026-04-21 14:18:45 +08:00