Keep legacy ULP apps on the CMake v1 build path while buildv2 coverage
is limited to full_subproject ULP apps.
Also add the missing esp_driver_gpio dependency to the esp_pm test app
so buildv2 dependency checks see driver/rtc_io.h explicitly.
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
- 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
feat(esp_hw_support): support esp32s31 lowpower features
Closes IDF-5660, IDF-14643, IDF-14645, IDF-14647, IDF-14648, IDF-14784, PM-708, and PM-714
See merge request espressif/esp-idf!47216
Add ESP32-S31 USB DWC/UTMI LL headers, SoC register structures, peripheral
descriptors, capabilities, and linker mappings so the HS OTG controller and
UTMI PHY can be built in esp_hal_usb.
Introduce SOC_USB_FSLS_PHY_NUM on USB-OTG targets to separate FSLS USB_WRAP
support from OTG/UTMI support. Use it to gate usb_wrap, the USB PHY driver,
docs, and example build rules on targets without an FSLS PHY.
Also add UTMI data pulldown control to the HAL, clear the boot-time DWC
suspend state on ESP32-S31, alias the legacy internal PHY target to UTMI for
backward compatibility, and extend usb_phy tests for UTMI-only targets.
No esp32s31 boards are registered in the flash_suspend runner pool yet.
The test_rtc_clk_flash test targets all SOC_CLK_TREE_SUPPORTED chips and
creates a flash_suspend CI job for esp32s31 that immediately fails with
no runner assigned. Add a temp_skip_ci matching the existing pattern for
esp32h2.
Tracked in IDF-15531.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add a dedicated esp_cpu test app that covers the supported helper APIs,
interrupt helpers, debug helper validation, and destructive trigger cases.
Made-with: Cursor
Treat ESP_INTR_FLAG_SHARED_PRIVATE as shared when selecting interrupt
lines and avoid misclassifying private shared vectors as non-shared
during free. Also fix two error-path leaks in esp_intr_alloc_info by
freeing the temporary handle and rolling back group_name on allocation
failure.
refactor(esp_hw_support): add semantic vector descriptor helpers
Introduce helper macros to classify vector descriptor state (shared,
non-shared, private shared, and uninitialized) and apply them in
allocator/free/dump paths. This makes private-shared semantics explicit
and reduces repeated bitwise checks.
Rename vector descriptor helpers to explicitly distinguish public
shared, private shared, and shared-family states. This improves
readability and avoids ambiguity when handling mixed shared/non-shared
flag combinations.
Re-enable ESP32S31 support for multiple test apps and examples:
- hw_support unity tests (with RWDT reset reason fix)
- eventfd example (select functionality)
- stdio test app
- console test app and examples
- startup_time example