Commit Graph
1220 Commits
Author SHA1 Message Date
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
He Binglin fcf2df659d Merge branch 'feat/esp_idf_h4_cut_m2a_analog_wait' into 'master'
Feat/esp idf h4 cut m2a analog wait

See merge request espressif/esp-idf!49061
2026-07-15 11:44:05 +08:00
hebinglin e71b30c279 feat(esp_hw_support): add analog_wait calibration in sleep flow for h4 2026-07-14 17:13:32 +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
He Binglin e1b1969b8a Merge branch 'fix/esp_idf_h4h21_ana_wait_short' into 'master'
fix(esp_hw_support): fix xtal unstable when carry 154 and ble cases

See merge request espressif/esp-idf!50249
2026-07-13 11:51:58 +08:00
Jiang Jiang Jian 74005f29cf Merge branch 'fix/support_two_MAC_only_esp32s31' into 'master'
fix(esp32s31): restrict UNIVERSAL_MAC_ADDRESSES to Two

See merge request espressif/esp-idf!50389
2026-07-09 17:40:40 +08:00
Jiang Jiang Jian 12dd02396b Merge branch 'bugfix/change_pvt_timer_target_param' into 'master'
feat(pvt): change pvt timer target & limit on master

See merge request espressif/esp-idf!50472
2026-07-09 16:53:01 +08:00
hebinglin 4d383a7d8a fix(esp_hw_support): fix xtal unstable when carry 154 and ble cases 2026-07-09 14:29:12 +08:00
C.S.M 3359f647c5 Merge branch 'feat/h21_temperature_sensor' into 'master'
feat(temperature_sensor): Add temperature sensor support for esp32h21

Closes IDF-11624 and IDF-11625

See merge request espressif/esp-idf!50419
2026-07-08 17:02:58 +08:00
JackandCursor 811c64c17c 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>
2026-07-08 15:13:52 +08:00
yanzihan@espressif.com 259ecfdbeb feat(pvt): change pvt timer target & limit 2026-07-08 11:15:35 +08:00
Li Shuai f70ea602fe Merge branch 'feat/idfgh-17859' into 'master'
add kconfig option for REGDMA sleep clock ICG

Closes IDFGH-17859

See merge request espressif/esp-idf!50228
2026-07-07 21:50:10 +08:00
C.S.M fff527fbd7 feat(temperature_sensor): Add temperature sensor support for esp32h21 2026-07-07 15:05:39 +08:00
JackandCursor e3bc260178 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>
2026-07-06 19:00:01 +08:00
JackandCursor 431983a091 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>
2026-07-06 18:08:27 +08:00
JackandCursor f18f3814cc 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>
2026-07-06 15:29:37 +08:00
morris 651d6a283f refactor(esp_common): centralize ALIGN_UP/ALIGN_DOWN into esp_macros.h
Remove ~50 duplicate local definitions of ALIGN_UP/ALIGN_DOWN/ALIGN_UP_BY/
ALIGN_DOWN_BY across the codebase and replace them with canonical
ESP_ALIGN_UP/ESP_ALIGN_DOWN from esp_macros.h.
2026-07-06 13:36:06 +08:00
Li Shuai 7d31b82d27 change(esp_pm): add kconfig option for REGDMA sleep clock ICG 2026-07-06 10:34:35 +08:00
nilesh.kale dd0cd88756 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-02 16:56:42 +05:30
wuzhenghui ba1df35672 fix(esp_hw_support): fix esp32s31 mpll initialization 2026-06-25 12:20:57 +08:00
Wu Zheng Hui 7e4773ef38 Merge branch 'feat/support_esp32s31_icg_control' into 'master'
feat(esp_hw_support): support PMU clock ICG management for esp32s31

Closes PM-760

See merge request espressif/esp-idf!48863
2026-06-18 16:21:32 +08:00
sibeibei 3c98f90da9 update(pmu_param): update mdoem icg func clk
Due to c-channel design, ETM and BUS must be set to 1
2026-06-17 17:25:04 +08:00
sibeibei 9fd50d50ce update(pm_sleep): update modem_wait_target_cycle for s31 2026-06-17 17:19:53 +08:00
wuzhenghui 61be47b739 feat(esp_hw_support): support PMU clock ICG management for esp32s31 2026-06-17 11:34:37 +08:00
Song Ruo Jing a66f9463c1 Merge branch 'feature/dma2d_ppa_sleep_retention_support' into 'master'
feat(ppa): add sleep retention support for DMA2D and PPA

Closes IDF-9961, IDF-9930, IDF-14764, and IDF-14770

See merge request espressif/esp-idf!45587
2026-06-16 14:56:19 +08:00
wuzhenghui f2d3448fa2 refactor(esp_hw_support): move system_periph_retention from soc to esp_hw_support 2026-06-15 17:09:58 +08:00
Song Ruo Jing 14d8570163 feat(ppa): add sleep retention support for DMA2D and PPA 2026-06-15 15:45:07 +08:00
wuzhenghui 63cd8caf7b fix(esp_hw_support): pd hp_alive domain in deepsleep 2026-06-10 21:20:04 +08:00
He Binglin 02c225b604 Merge branch 'feat/esp_idf_h21_power_optimization' into 'master'
Feat/esp idf h21 power optimization

Closes PM-778 and PM-678

See merge request espressif/esp-idf!49223
2026-06-10 14:18:52 +08:00
Jiang Jiang Jian 853a2cfd3a Merge branch 'chip/support_wifi_low_power_for_s31_rebase_master' into 'master'
Chip/support wifi low power for s31 rebase master

Closes IDF-14579 and IDF-14582

See merge request espressif/esp-idf!48532
2026-06-09 15:16:53 +08:00
sibeibei e17cd724b4 feat(pm): select XTAL for HP dig_sysclk in modem state
On ESP32-S31, SOC and modem APB are decoupled, so the digital
system can run from XTAL while the modem domain stays in modem state.
2026-06-08 19:24:30 +08:00
sibeibei c8881b2529 update(pmu_sleep): enable SOC_PM_PMU_MIN_SLP_SLOW_CLK_CYCLE_FIXED 2026-06-08 19:24:30 +08:00
sibeibei db8d0e0362 update(pmu_param): update hp modem clk config 2026-06-08 19:24:30 +08:00
yanzihan@espressif.com f9a0e0ad95 feat(pvt): fix monitor en rst error in pvt func on master 2026-06-04 17:32:20 +08:00
hebinglin b24a1ff521 feat(esp_hw_support): use xtalx2 in retention for h21 2026-06-03 15:03:59 +08:00
hebinglin 14a2392510 feat(esp_hw_support): optimize pmu param for h21 2026-06-03 15:03:51 +08:00
gaoxu 13b4430716 feat(adc): support ADC oneshot and continuous mode on ESP32-H21 2026-06-01 19:04:35 +08:00
morris c23e87b81b Merge branch 'bugfix/esp32s31_raise_ahb_clk_freq' into 'master'
fix(clk): raised ESP32S31 axi/ahb clock freq up to 106mhz at max

Closes IDF-14696

See merge request espressif/esp-idf!48207
2026-05-25 18:23:37 +08:00
morris 38c4f27102 fix(iomux): move clock source gating to IOMUX consumers
Remove io_mux_set_clock_source internal source enabling and make SDM,
ana_cmpr, and gpio glitch filter drivers explicitly manage clock source
enable/disable with safe cleanup paths.
2026-05-22 19:10:08 +08:00
He Binglin 9c3a6b3f5d Merge branch 'feat/esp_idf_h4_optimize' into 'master'
Feat/esp idf h4 retention and active clk power optimize

Closes PM-746, PM-745, and PM-736

See merge request espressif/esp-idf!48319
2026-05-22 10:55:43 +08:00
Ondrej Kosta fc41e66e47 Merge branch 'feat/gmac_s31' into 'master'
Feat/gmac s31

Closes IDF-14730

See merge request espressif/esp-idf!48029
2026-05-21 22:51:44 +08:00
hebinglin 23f1ba150a change(esp_hw_support): change dcm_vset to optimize active and sleep current 2026-05-21 20:03:55 +08:00
hebinglin a5b75c89d0 change(esp_hw_support): Align modem analog parameters with the active state in h4 2026-05-21 20:03:55 +08:00
hebinglin 1c279178fa feat(esp_hw_support): support bbpll pd in modem state 2026-05-21 20:03:45 +08:00
hebinglin 1bfa301ee6 change(esp_hw_support): pd xtalx2 in modem state and selected as a2s&s2a retention clk 2026-05-21 19:55:38 +08:00
hebinglin 8104c5c491 feat(esp_hw_support): keep apm_func_ctrl value after sleep 2026-05-21 19:53:51 +08:00
hebinglin 312076e955 feat(esp_hw_support): decrease retention current and duration 2026-05-21 19:53:51 +08:00
Ondrej Kosta 6a82c094fb fix(esp_clk_tree): temporarily disabled gating of all ref_clks on ESP32S31 2026-05-21 13:18:57 +02:00
Li Shuai d7a2e15164 Merge branch 'feat/pm-683' into 'master'
support sleep retention runtime module attach/detach feature

Closes PM-683, PM-656, and BT-4216

See merge request espressif/esp-idf!47164
2026-05-21 17:07:58 +08:00
Song Ruo Jing 3ba8d08d02 fix(clk): raised axi/ahb clock freq up to 106mhz at max 2026-05-21 16:39:40 +08:00