Commit Graph
3118 Commits
Author SHA1 Message Date
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
Ashish Sharma 1db72cfe4d fix(esp_hw_support): harden memprot and fix bugs 2026-08-19 13:32:38 +08:00
Armando (Dou Yiwen) 569c22ea2b fix(mpll): fix mpll calibration fail bug 2026-08-12 13:22:22 +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
Jiang Jiang Jian f6eadf3e95 Merge branch 'fix/fix_mpll_enable_order_v6.1' into 'release/v6.1'
fix(esp_hw_support): fix esp32s31 mpll initialization (v6.1)

See merge request espressif/esp-idf!50430
2026-07-16 11:28:17 +08:00
Jiang Jiang Jian e813155ec4 Merge branch 'feature/dma2d_ppa_sleep_retention_support_v6.1' into 'release/v6.1'
feat(ppa): add sleep retention support for DMA2D and PPA (v6.1)

See merge request espressif/esp-idf!50342
2026-07-16 10:48:27 +08:00
Xiao Xufeng 3e8389cc31 fix(mmap): fixed some API read wrong data via mmap when flash being erased/written while XIP on PSRAM
Before:

The cache won't be disabled when XIP on psram. But during flash
erasing/programming, read data will be courrupt.

When XIP in psram is enabled, the image is not mapped to the cache so
usually there will be no flash access. The only way to read from flash
is via the driver or use mmap. The driver has protection during erasing,
while th mmap region not.

Now:

Mmap APIs provide a flag to make mmap->unmap region mutually exclusive
to flash erase/programming when XIP from psram. SPI Flash write APIs
will benefit from this. When the flag is used, no concurrent access to
mapped region will happen while writing; otherwise the cache will be
disable to avoid data corruption.

Most ESP-IDF APIs calls mmap with this flag. As for users calling
mmap-like APIs directly, they can choose whether to enable this by a
flag.

Closes https://github.com/espressif/esp-idf/issues/14897
2026-07-15 18:57:08 +08:00
wuzhenghui 981208a9ad fix(esp_hw_support): disable esp32 livelock workaround before stall another core 2026-07-15 16:10:51 +08:00
hebinglin 0682c52828 fix(esp_hw_support): fix xtal unstable when carry 154 and ble cases 2026-07-13 12:11:49 +08:00
Li Shuai a95e35309d fix(esp_hw_support): fix missing CPU retention register range macros for ESP32S31 2026-07-10 18:13:29 +08:00
wuzhenghui b388afd2f3 fix(esp_hw_support): update memory pointer checks for SPM support 2026-07-10 14:19:47 +08:00
Jack 7ca1369ffc docs(esp_hw_support): fix IEEE 802.15.4 spelling and EUI-64 byte-range notation
Correct "802.154" to "802.15.4" and change the EUI-64 derivation notation
from base_mac[0:3]/base_mac[3:6] to the inclusive base_mac[0:2]/base_mac[3:5]
in the esp32h2/esp32h21/esp32h4 Kconfig.mac help text and the EN/zh_CN
misc_system_api docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 811c64c17c)
2026-07-09 17:44:22 +08:00
Jack b5cd9ce7fa docs(esp_hw_support): document one-universal-MAC scheme and esp32s31 Four-option constraint
Add help text to the esp32h2/esp32h21/esp32h4 Kconfig.mac explaining
that these chips only consume one universally administered MAC address:
the IEEE 802.154 EUI-64 is derived from the base MAC and MAC_EXT, and
Bluetooth reuses the base MAC as-is (no BT offset, since there is no
Wi-Fi).

Add a matching 1-MAC derivation table and note to misc_system_api.rst
(EN and zh_CN) under a new `.. only:: esp32h2 or esp32h21 or esp32h4`
block, and exclude these targets from the generic 4/2 table.

Add an esp32s31-only note stating that the "Four" option may only be
used with a customer-provided custom base MAC range, since ESP32-S31
only provides two universally administered MAC addresses in eFuse.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit e3bc260178)
2026-07-09 17:44:22 +08:00
Jack 57184eb356 fix(esp_hw_support): use one universal MAC address for esp32h2/esp32h21/esp32h4
ESP32-H2/H21/H4 only provide a single universally administered MAC
address in eFuse (MAC_FACTORY), so switch their UNIVERSAL_MAC_ADDRESSES
Kconfig from "Two" to "One" to match the hardware allocation.

This is a functional no-op for MAC generation: the BT offset is only
applied when SOC_WIFI_SUPPORTED, and these chips have no Wi-Fi, so
Bluetooth already reuses the base MAC as-is; the IEEE 802.154 EUI-64 is
derived from the base MAC and MAC_EXT regardless. The only change is
the (otherwise unused) ESP_MAC_UNIVERSAL_MAC_ADDRESSES int value going
from 2 to 1.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit 431983a091)
2026-07-09 17:44:22 +08:00
Jack c7434cc9d9 fix(esp32s31): default UNIVERSAL_MAC_ADDRESSES to Two
ESP32-S31 only provides two universally administered MAC addresses in
eFuse. The previous default of "Four" led to WiFi softap and Ethernet
consuming global MAC slots (base+1/+3) that do not exist on this chip
and could collide with the Bluetooth MAC.

Switch the default to "Two" so Softap and Ethernet fall back to locally
administered MACs derived from the WiFi station and Bluetooth MACs.

The "Four" option is retained for customers who override the base MAC
with a custom range in which four universally administered MAC
addresses are allocated per device; the help text now documents this
constraint.

Co-authored-by: Cursor <cursoragent@cursor.com>
(cherry picked from commit f18f3814cc)
2026-07-09 17:44:22 +08:00
wuzhenghui 7c23080017 fix(esp_hw_support): fix esp32s31 mpll initialization 2026-07-06 21:17:34 +08:00
nilesh.kale 9b243dcf26 fix(esp_hw_support): Keep D-ROM PMP entry so newer apps boot on old bootloaders
ESP32-C6/H2 bootloaders <= v5.2.1 configure and lock PMP entries 3-4 as their
D-ROM region; a locked PMP entry cannot be reconfigured until CPU reset.
Commit 366e4ee944 ("Remove redundant PMP entry for ROM region") dropped the
D-ROM entry, and commit d4167fea60 (which also restructured C6/H2 PMP setup)
then renumbered the regions down, placing the application IRAM/DRAM split on
entries 3-4. On an already-deployed older bootloader those entries are locked,
so IRAM never gains execute permission and the chip resets before app_main()
(GitHub issue #18769).

Restore the separate (redundant) D-ROM PMP entry on indices 3-4 so the
application IRAM/DRAM split stays on entries 5-7, clear of the locked range.
This keeps newer applications bootable on older bootloaders.

Closes https://github.com/espressif/esp-idf/issues/18769
2026-07-03 20:57:04 +05:30
Jiang Jiang Jian edeec716c4 Merge branch 'fix/fix_sleep_cache_writeback_logic_v6.1' into 'release/v6.1'
fix(esp_hw_support): fix esp32s31 sleeping cache writeback logic (v6.1)

See merge request espressif/esp-idf!50347
2026-07-03 22:23:20 +08:00
Jiang Jiang Jian d6d41b0215 Merge branch 'feat/support_esp32s31_icg_control_v6.1' into 'release/v6.1'
feat(esp_hw_support): support PMU clock ICG management for esp32s31 (v6.1)

See merge request espressif/esp-idf!50107
2026-07-03 21:45:42 +08:00
Song Ruo Jing c8a4073e2b feat(ppa): add sleep retention support for DMA2D and PPA 2026-07-03 20:56:59 +08:00
wuzhenghui 3f2d963d47 fix(esp_hw_support): fix esp32s31 sleeping cache writeback logic 2026-07-03 19:13:25 +08:00
Sudeep Mohanty 93d4fad8b1 fix(esp_hw_support): use elif __riscv guard in spinlock.h
spinlock.h used #else to include riscv/rv_utils.h for all non-Xtensa
targets. On Linux host (neither __XTENSA__ nor __riscv defined), this
pulls in a non-existent header. Change to #elif __riscv, matching
esp_cpu.h's existing pattern.
2026-07-01 19:59:05 +08:00
Jiang Jiang Jian cf515d20d7 Merge branch 'feat/support_usb_wakeup_v6.1' into 'release/v6.1'
feat: support usb as wakeup source from light sleep (v6.1)

See merge request espressif/esp-idf!49497
2026-06-30 19:40:33 +08:00
wuzhenghui d5d3cddf23 feat(esp_hw_support): support PMU clock ICG management for esp32s31 2026-06-30 14:23:54 +08:00
Jiang Jiang Jian 3efceac515 Merge branch 'change/esp_idf_dpd_optimize_v6.1' into 'release/v6.1'
Change/esp idf dpd optimize v6.1

See merge request espressif/esp-idf!50039
2026-06-30 14:21:10 +08:00