Commit Graph
3139 Commits
Author SHA1 Message Date
Jiang Jiang Jian c5355945ae Merge branch 'fix/esp_idf_h4_pmu_icg_mapping_6.1' into 'release/v6.1'
fix(esp_hw_support): pmu_icg_mapping define mistake(v6.1)

See merge request espressif/esp-idf!51912
2026-08-31 10:56:22 +08:00
Jiang Jiang Jian 40feb79578 Merge branch 'feat/support_esp32s31_xtal_fosc_force_pu_v6.1' into 'release/v6.1'
feat: update XTAL sleep FPU parameters to save power (v6.1)

See merge request espressif/esp-idf!51896
2026-08-31 10:54:55 +08:00
Jiang Jiang Jian d293398710 Merge branch 'fix/fix_esp32p4_missing_pvt_clock_v6.1' into 'release/v6.1'
fix(esp_hw_support): fix esp32p4 PVT clock lost (v6.1)

See merge request espressif/esp-idf!51866
2026-08-31 10:54:25 +08:00
harshal.patil 0580cff0e4 change(esp_hw_support): harden the ESP32-S31 PSRAM region permissions
Both PSRAM layouts were mapped as a single RWX window, so everything in external
RAM - the heap included - was executable.

PSRAM used as data only is now RW, and under XIP-from-PSRAM it is split per
section as ESP32-P4 does: .text RX, .rodata read-only, and the MMU-page
alignment gaps and the reclaimed heap RW, so neither is executable.

Both describe the layout that esp_psram_init() produces, and the entries are
locked, so - again as on ESP32-P4 - they are only narrowed when
CONFIG_SPIRAM_PRE_CONFIGURE_MEMORY_PROTECTION says that layout applies. Without
it the application owns the region and PSRAM stays RWX.

The per-section entries cost one PMP entry more than the 16 available, so the CPU
subsystem and peripheral windows are chained as TOR entries, taking one entry
instead of three.

soc.h is corrected against the S31 bus address map: the peripheral window base
was 1 MB too low, and the LP peripheral top, derived from a register base plus a
size rather than from the map, was 16 KB short. SOC_NON_CACHEABLE_OFFSET_FLASH
is added.
2026-08-28 18:06:56 +05:30
Mahavir Jain e7499410fa fix(esp_hw_support): run ESP32-P4 PMA programming from IRAM
The bootloader locks PMA entries on core 0 only (PMA is per-hart), so
core 1 applies its PMA configuration with effective writes. Executing
that from flash momentarily makes the flash aperture non-cacheable
while reprogramming its entry, which executes ciphertext with flash
encryption enabled (illegal instruction -> CPU lockup).
2026-08-28 18:06:56 +05:30
Mahavir Jain 5ff870a33e fix(esp_hw_support): fix ESP32-S31 CPU lockup with flash encryption during PMA setup
Run esp_cpu_configure_invalid_regions() from IRAM: it reprograms the PMA
entry that keeps the flash aperture cacheable, so an instruction fetched
from flash inside the reprogramming window bypasses the cache and, with
flash encryption enabled, executes ciphertext (illegal instruction ->
CPU lockup).

Also move the PSRAM PMA entry to index 7 so that the application layout
matches the entry earlier bootloaders programmed and locked, keeping the
full layout effective under such bootloaders.
2026-08-28 18:06:56 +05:30
Mahavir Jain dedb644938 change(esp_hw_support): drop the frozen PMP entry layout for ESP32-S31
Freezing PMP entry indices as a bootloader<->application ABI (pmp_layout.h)
is only needed on targets where an already-shipped bootloader locks PMP
entries (C5, C6, C61, H2, P4). No such bootloader has ever shipped for
ESP32-S31 and, per the v6.2 PMP ownership policy, the bootloader never
configures or locks any PMP entry on this target - so there is no ABI to
freeze. Program all entries by plain index (as on ESP32-H4/H21) and state
that the application-owned layout is not an ABI.
2026-08-28 18:06:56 +05:30
nilesh.kale 8f3d9e7445 feat: enable cpu region protection for esp32s31 2026-08-28 18:06:56 +05:30
morris 1a0aa28792 Merge branch 'docs/update_get_started_s31_v6.1' into 'release/v6.1'
docs: Update Get Started for ESP32-S31 (v6.1)

See merge request espressif/esp-idf!51722
2026-08-28 10:11:19 +08:00
morris b4f9033645 Merge branch 'feature/add_asrc_sleep_retention_v6.1' into 'release/v6.1'
feat(asrc): Add sleep retention

See merge request espressif/esp-idf!51807
2026-08-28 10:10:37 +08:00
Marius Vikhammer b29d8694b3 Merge branch 'feat/c5_eco4_newlib_support_v6.1' into 'release/v6.1'
change(esp_libc): use C5 ECO4 ROM newlib functions (v6.1)

See merge request espressif/esp-idf!51902
2026-08-27 18:56:51 +08:00
morris 702b35b9dd Merge branch 'feat/move_flash_120_out_from_experimental_v6.1' into 'release/v6.1'
feat(flash): p4 flash 120MHz is no longer experimental feature (v6.1)

See merge request espressif/esp-idf!51698
2026-08-27 18:01:43 +08:00
morris 5224318d78 Merge branch 'fix/spi_buslock_unregister_issue_v6.1' into 'release/v6.1'
fix(hw_support): spi buslock fix unregister dev api issue (v6.1)

See merge request espressif/esp-idf!51472
2026-08-27 18:00:35 +08:00
morris b9ebe95a44 Merge branch 'fix/fix_mpll_cali_flow_s31_v6.1' into 'release/v6.1'
mpll: improved mpll calibration flow on s31 (v6.1)

See merge request espressif/esp-idf!52000
2026-08-27 17:53:03 +08:00
Fu Hanxi 321dda29ff ci: apply common-scripts CI refactor (v6.1) 2026-08-27 09:14:23 +02:00
Mahavir Jain 61f4e8075a Merge branch 'fix/harden_esp_hw_support_v6.1' into 'release/v6.1'
fix(esp_hw_support): harden memprot and fix bugs (v6.1)

See merge request espressif/esp-idf!51869
2026-08-27 12:29:49 +05:30
Roland Dobai 138482998d Merge branch 'feature/use_zcmp_by_default_v6.1' into 'release/v6.1'
feat(build): add ZCMP workaround post-build check (v6.1)

See merge request espressif/esp-idf!51325
2026-08-27 08:24:39 +02:00
Armando (Dou Yiwen) 36fc263512 fix(mpll): improved mpll calibration flow on esp32s31
Signed-off-by: Armando (Dou Yiwen) <douyiwen@espressif.com>
2026-08-25 10:50:09 +08:00
hebinglin 6fab30ecb7 fix(esp_hw_support): pmu_icg_mapping define mistake 2026-08-20 17:39:08 +08:00
Marius VikhammerandCursor de3b5843ed change(esp_libc): use C5 ECO4 ROM newlib functions
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 15:28:54 +08:00
wuzhenghui 4c56aa2cc8 change(esp_hw_support): update XTAL sleep FPU parameters 2026-08-20 10:34:41 +08:00
Ashish Sharma 1db72cfe4d fix(esp_hw_support): harden memprot and fix bugs 2026-08-19 13:32:38 +08:00
wuzhenghui 9133f3cb92 fix(esp_hw_support): fix esp32p4 PVT clock lost 2026-08-19 11:47:09 +08:00
Ma Jing Jing 409e7b5012 feat(asrc): Add sleep retention 2026-08-17 15:13:04 +08:00
Armando (Dou Yiwen) 60058dae57 feat(flash): p4 flash 120MHz is no longer experimental feature
Signed-off-by: Armando (Dou Yiwen) <douyiwen@espressif.com>
2026-08-14 01:56:27 +00:00
luweike 4e96d91543 docs: Update Get Started for ESP32-S31 2026-08-13 11:44:10 +08:00
Armando (Dou Yiwen) 569c22ea2b fix(mpll): fix mpll calibration fail bug 2026-08-12 13:22:22 +08:00
wanckl 05fb10182d fix(hw_support): spi buslock fix unregister dev api issue 2026-08-04 11:38:18 +08:00
Alexey Lapshin a494009a0c feat(build): add RISC-V ZCMP post-link workaround check
Validate linked RISC-V executables when
CONFIG_COMPILER_ENABLE_RISCV_ZCMP is enabled on affected chips.
Disassemble each function and reject mstatus.MIE clears that lack an
earlier mintthresh write of 0xff.

Handle csrrci, csrrw, and register-mask csrrc patterns while ignoring
csrrs. Add build-only coverage for valid and invalid sequences with
CMake v1 and v2.

Stop the hardware stack guard before switching stacks during restart,
and keep ZCMP disabled for TEE test apps that still require the
workaround.
2026-08-03 14:10:00 +08:00
Jiang Jiang Jian 6e61fd94a0 Merge branch 'fix/bind_lp_periph_pd_with_tsens_power_v6.1' into 'release/v6.1'
fix(esp_driver_tsens): bind lp_periph domain sleep pd with tsens power (v6.1)

See merge request espressif/esp-idf!51177
2026-07-31 19:34:23 +08:00
Jiang Jiang Jian d7e4df3493 Merge branch 'fix/regdma_work_timeout_v6.1' into 'release/v6.1'
Workaround: add a write node to avoid the APB access timeout during REGDMA operations backport  v6.1

See merge request espressif/esp-idf!51383
2026-07-31 11:33:23 +08:00
sibeibei 0627c301f4 fix(esp_hw_support): use symbolic reg and document modem syscon workaround 2026-07-30 19:46:30 +08:00
sibeibei c15ce5ae4a fix(esp_hw_support): use N_REGS_SYSCON() for modem syscon retention count 2026-07-30 19:46:30 +08:00
sibeibei 7144df0c3c feat(wifi): sel pll clk when sleep to modem 2026-07-30 19:46:30 +08:00
sibeibei c86e76dffe Revert "feat(wifi): enable pll clk in modem state"
This reverts commit e238c5bdc6.
2026-07-30 19:46:30 +08:00
cjin 01f29a9356 feat(modem_clock): separete btmac module to btmac and bt peripheral 2026-07-30 08:17:26 +08:00
cjin b17d81882c feat(modem_clock): separate bt sec apb clock and add to bt apb module 2026-07-30 08:17:26 +08:00
cjin 466097d370 feat(modem_clock): added bt_apb module and separete bt_apb from bt_mac module 2026-07-30 08:17:20 +08:00
wuzhenghui da64c0053a fix(esp_driver_tsens): bind lp_periph domain sleep pd with tsens power 2026-07-27 11:40:04 +08:00
wuzhenghui d0867194d4 feat(esp_hw_support): fix esp32p4 PVT retention link 2026-07-17 16:25:25 +08:00
yanzihan@espressif.com c6f556caa9 feat(pvt): add en reset in pvt func for p4 on master 2026-07-17 16:25:19 +08:00
Jiang Jiang Jian 9e9c16c724 Merge branch 'bugfix/change_pvt_timer_target_param_backport_v6.1' into 'release/v6.1'
feat(pvt): change pvt timer target & limit on release v6.1

See merge request espressif/esp-idf!50815
2026-07-17 16:12:52 +08:00
Jiang Jiang Jian f2f57b2922 Merge branch 'fix/do_cache_lock_workaround_before_ipc_stall_v6.1' into 'release/v6.1'
fix(esp_hw_support): disable esp32 livelock workaround before stall another core (v6.1)

See merge request espressif/esp-idf!50768
2026-07-17 11:26:19 +08:00
Jiang Jiang Jian beefc5c263 Merge branch 'feat/idfgh-17859_v6.1' into 'release/v6.1'
backport v6.1: add kconfig option for REGDMA sleep clock ICG

See merge request espressif/esp-idf!50471
2026-07-17 10:45:12 +08:00
Jiang Jiang Jian 947e534927 Merge branch 'fix/mmap_cache_flash_wr_v6.1' into 'release/v6.1'
fix(mmap): fixed mmap read data wrong when flash being erased/written and cache not disabled (v6.1)

See merge request espressif/esp-idf!50117
2026-07-17 10:30:14 +08:00
Jiang Jiang Jian 8158e1d350 Merge branch 'backport/esp32s31_static_cpu_retention_v6.1' into 'release/v6.1'
backport v6.1: fix build failure when CONFIG_PM_CPU_RETENTION_STATIC is enabled

See merge request espressif/esp-idf!50635
2026-07-16 17:38:32 +08:00
yanzihan@espressif.com fa7cc42b9f feat(pvt): change pvt timer target & limit 2026-07-16 14:12:55 +08:00
Jiang Jiang Jian cc979db24b Merge branch 'backport/support_two_MAC_esp32s31_v6.1' into 'release/v6.1'
fix(esp32s31): restrict UNIVERSAL_MAC_ADDRESSES to Two (backport v6.1)

See merge request espressif/esp-idf!50571
2026-07-16 12:07:20 +08:00
Jiang Jiang Jian 1dfc7914b5 Merge branch 'fix/esp_idf_h4h21_ana_wait_short_v6.1' into 'release/v6.1'
fix(esp_hw_support): fix xtal unstable when carry 154 and ble cases(v6.1)

See merge request espressif/esp-idf!50656
2026-07-16 11:40:13 +08:00
Li Shuai 4b8e1e8710 change(esp_pm): add kconfig option for REGDMA sleep clock ICG 2026-07-16 11:30:14 +08:00