Commit Graph

1009 Commits

Author SHA1 Message Date
Armando (Dou Yiwen)
81acd9c18f fix(mpll): fix mpll calibration fail bug 2026-08-11 17:57:55 +08:00
Erhan Kurubas
1a59c3e769 feat(esp_riscv_trace): add ESP32-C5 support 2026-08-06 17:13:04 +02:00
Erhan Kurubas
3dfd8f0154 feat(esp_riscv_trace): add ESP32-S31 support
ESP32-S31 uses the same trace encoder IP as ESP32-P4. Of the E-Trace v2.0
parameters the two targets report, only privilege_width_p differs (1 on P4,
2 on S31), and it affects both the sync packet layout and the filter's
privilege selector.

- Add the SOC_RISCV_TRACE_* caps for ESP32-S31 along with the esp32s31 LL, and
  declare TRACE0/TRACE1 in the target's trace_struct.h.
- Carry privilege_width_p as SOC_RISCV_TRACE_PRIV_WIDTH so the sync packet
  decoder can locate the address field, which starts one bit later on targets
  that implement supervisor mode.
- Use the RISC-V architectural privilege encoding (0 user, 1 supervisor,
  3 machine) in the public filter enum so the values do not change per target,
  and let each LL narrow them to its own register field.
- Add riscv_trace_ll_priv_is_supported() per target, so a privilege level the
  selector cannot represent is rejected with ESP_ERR_NOT_SUPPORTED rather than
  being silently narrowed to a different level. It lives next to the narrowing
  code so the two cannot drift apart.
- Fix trace buffer allocation on targets whose internal RAM is not reached
  through a cache. esp_cache_get_alignment() reports 0 there, which underflowed
  the size check and failed every allocation. Align base and size to the larger
  of the reported cache line and the encoder's 4-byte write granularity.
2026-08-06 13:08:26 +08:00
He Binglin
dce537e00e Merge branch 'feat/esp_idf_h4_retention_clk_icg' into 'master'
feat(esp_hw_support): refactor PMU sleep icg and support retention ICG

See merge request espressif/esp-idf!48915
2026-07-31 10:35:19 +08:00
morris
9c068fe2d9 Merge branch 'feature/add_mcpwm_rc_fast_clk_source' into 'master'
feat(mcpwm): support RC_FAST group clock source

Closes IDF-8048

See merge request espressif/esp-idf!51149
2026-07-29 23:05:19 +08:00
Steven Yang
8a982614a2 feat(mcpwm): support RC_FAST group clock source
Expose RC_FAST as a shared MCPWM group clock source for timers,
capture timers, and carriers on ESP32-C5, ESP32-C6, ESP32-H2,
and ESP32-P4. Fix the ESP32-S31 MCPWM clock selector mapping.

Add a hardware runtime test that verifies MCPWM Timer counting
resolution for every supported clock source.
2026-07-29 20:20:47 +08:00
hebinglin
a4889bd73d change(esp_hw_support): refactor pmu/esp_sleep param struct 2026-07-29 15:23:09 +08:00
Erhan Kurubas
11e6799f80 Merge branch 'stub_bins_for_more_targets' into 'master'
Increase OCD stub memory reservation from 8K to 12K and extend this feature to more targets

See merge request espressif/esp-idf!51231
2026-07-28 16:58:05 +02:00
Jiang Jiang Jian
8e7e031230 Merge branch 'feat/support_active_tickless_idle' into 'master'
feat(esp_pm): support freertos tickless IDLE with auto lightsleep disabled

Closes PM-799

See merge request espressif/esp-idf!49817
2026-07-28 17:04:50 +08:00
Erhan Kurubas
e21ab7e724 feat(system): add OCD stub bin support for more targets
Add SOC_DEBUG_HAVE_OCD_STUB_BINS for esp32c5, esp32c61, esp32h4,
esp32h21, esp32p4, and esp32s31. Update TEE linker scripts with
correct esp_tee_app_config offsets for the 0x3000 stub reservation
2026-07-28 08:34:02 +03:00
harshal.patil
a7b29bfda9 change(security): disable Key Manager support on ESP32-C5/P4/S31
The Key Manager hardware peripheral in its current form needs further
design changes before it can be offered as a production feature.
Until a revised peripheral design is available, withdraw ESP-IDF
support for it on all Key Manager capable targets.
2026-07-22 19:58:23 +05:30
wuzhenghui
0aa75e183b feat(esp_pm): add tickless idle support in WAITI mode to reduce power consumption 2026-07-22 12:55:53 +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
Laukik Hase
11fe9fdad6 feat(hal): Add support for flash/PSRAM protection through MSPI PMS 2026-07-10 13:13:09 +05:30
Tomas Rezucha
a7a89f98c9 Merge branch 'docs/usb_wakeup_source' into 'master'
docs(sleep): Update light-sleep USB wake-up source

See merge request espressif/esp-idf!49990
2026-07-03 15:16:12 +02:00
Tomas Rezucha
2859a9b24a docs(sleep): Update light-sleep USB wake-up source 2026-07-03 15:04:33 +08:00
Tomas Rezucha
702dc82ed4 change(soc/usb): Merge duplicated definitions for P4 v1 and v3 2026-07-01 19:49:07 +02: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
Jiang Jiang Jian
41a7095015 Merge branch 'feat/support_usb_wakeup_from_light_sleep' into 'master'
feat: support usb wakeup from light sleep

Closes IDF-7212

See merge request espressif/esp-idf!48988
2026-06-17 19:50:11 +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
JiangGuangMing
87b0c4c40d feat(sleep/usb): support usb as wakeup source from light sleep 2026-06-08 16:31:21 +08:00
hebinglin
46ff88717c fix(ulp): fix lp uart keep wakeup triggered 2026-06-08 16:17: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
morris
848fbc8d74 Merge branch 'doc/update_ldo_doc_esp32s31' into 'master'
docs(ldo): corrected the LDO channel numbers in the programming guide

See merge request espressif/esp-idf!49141
2026-06-02 14:40:45 +08:00
morris
36063fbfb4 docs(ldo): corrected the LDO channel numbers in the programming guide 2026-06-02 11:20:12 +08:00
gaoxu
7dfc685010 refactor(adc): move some ADC soc_caps to adc_ll.h 2026-06-01 19:05:33 +08:00
igor.masar
d4d993c818 feat(soc): add USB DFU and OTG console caps
Add USB DFU and OTG console SOC capability flags for esp32s2, esp32s3, and esp32p4.

Use these caps in Kconfig, documentation conditionals, and idf.py DFU actions so USB support
is derived from SOC capabilities instead of hardcoded target names.
2026-05-27 10:58:50 +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
Laukik Hase
0ee6ddc7db Merge branch 'feat/p4_pms_support' into 'master'
feat(security): Add support for the ESP32-P4 Permission Control (PMS) peripheral

Closes IDF-9997, IDF-13529, IDF-13737, and IDF-14381

See merge request espressif/esp-idf!44205
2026-05-22 09:33:37 +05:30
Ondrej Kosta
edbf8856ae feat(esp_eth): add ESP32-S31 EMAC support
Add internal EMAC support for ESP32-S31, including:
- HAL/LL layer: emac_ll, emac_hal, emac_clk, emac_periph for S31
- SOC layer: register structs, soc_caps, peripherals linker script,
  interrupt definitions
- MAC driver: clock source configuration via Kconfig, GPIO/DMA
  adaptations, PHY register defs for clause-45 MDIO
- Ethernet examples updated for S31 (basic, build-test-rules, PTP
  readme)
- Refactored existing ESP32/ESP32-P4 EMAC code for shared patterns
  (emac_clk extraction, struct alignment, periph descriptor cleanup)
2026-05-21 15:59:42 +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
Laukik Hase
384eba8a11 refactor(soc): Update the ESP32-P4v3+ PMS header files 2026-05-21 12:15:50 +05:30
Wu Zheng Hui
91e66a8d19 Merge branch 'feat/support_io_edge_wakeup' into 'master'
feat(esp_hw_support): support rtc io edge wakeup sleep

Closes FCS-1880 and IDF-11812

See merge request espressif/esp-idf!48410
2026-05-20 19:37:35 +08:00
wuzhenghui
c67d98fb10 change(soc): move _RTC_GPIO_EDGE_WAKEUP_SUPPORTED to soc_caps.h 2026-05-13 10:51:24 +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
Konstantin Kondrashov
e8609f59a8 feat(bootloader): Support recovery bootloader for ESP32S31 and ESP32P4 2026-05-08 16:45:14 +03:00
wuzhenghui
799669c7a4 feat(esp_hw_support): support main power control during VBAT powered deep sleep 2026-05-08 14:24:35 +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
cbba7795be fix(soc): fix gpio output status retention for all targets 2026-05-07 12:02:05 +08:00
wuzhenghui
8d3732c053 feat(esp_hw_support): support esp32s31 system & peripherals retention 2026-05-07 08:39:56 +08:00
wuzhenghui
68bd919fda feat(esp_hw_support): support esp32s31 DFS 2026-05-07 08:39:52 +08:00
wuzhenghui
f1f3f204fe feat(esp_hw_support): support esp32s31 lightsleep/deepsleep example 2026-05-06 20:15:01 +08:00
morris
47863cb651 feat(ana_cmpr): support multi-channel scan on esp32s31 2026-05-06 09:39:48 +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
Omar Chebib
8e2c7cd3aa Merge branch 'fix/update_p4_clic_registers' into 'master'
fix(soc): update the ESP32-P4 CLIC registers that changed with Rev3

See merge request espressif/esp-idf!46372
2026-04-24 18:27:13 +08:00
Tomas Rezucha
47faecc3e4 Merge branch 'refactor/usb_leakage' into 'master'
Refactor deep-sleep USB leakage current workaround

See merge request espressif/esp-idf!47746
2026-04-22 15:43:02 +02:00
hebinglin
0603e0eb23 fix(ulp): record wakeup causes before lp core request sleep 2026-04-22 16:22:11 +08:00