22 Commits

Author SHA1 Message Date
hebinglin 40d8483c2e change(ulp): add lp periph intr enable apis 2026-04-14 12:24:17 +08:00
Konstantin Kondrashov 74561963e1 feat(ulp): Improved ULP delay API accuracy and removed floating point operations
Closes https://github.com/espressif/esp-idf/issues/17494
Closes https://github.com/espressif/esp-idf/issues/16891
2026-03-05 10:39:34 +02:00
Wu Zheng Hui ad1f0f870b Merge branch 'feat/support_esp32s31_pmu_basic' into 'master'
feat(esp_hw_support): support esp32s31 pmu basic

Closes IDF-14642

See merge request espressif/esp-idf!45494
2026-02-24 14:11:27 +08:00
wuzhenghui 0b27301a09 feat(soc): support esp32s31 lp_aon & rtc_wdt & rtc_timer 2026-02-11 15:03:35 +08:00
Sudeep Mohanty 5f6fab3dde change(lp_adc): Cleanup LP ADC driver and example 2026-01-16 08:22:36 +01:00
Sudeep Mohanty dad79f0464 feat(lp_adc): Set LP ADC calibration params
This commit sets the calibration parameters for a a given LP ADC unit
and channel to improve the raw LP ADC reading when read from the LP
core. The calibration params are set from the HP core.
2026-01-16 08:22:36 +01:00
Meet Patel 4b02a7e320 fix(spinlock): Added fence instruction in spinlock acquire and release
The existing spinlock mechanism possibly has an overlap of memory
operations during multi core execution, as visible in CI testing. When
running the example inter_cpu_critical_section, shared count increment
stops at 299999 instead of reaching 300000, but this only happens
randomly 1 out of 10 times. It is suspected that a memory operation
happens simultaneously from both core, even though spinlock protection
is in place.

To handle this problem, a memory barrier (fence instruction) is added
at critical places during spinlock acquire and release, to ensure that
all memory operations upto that point are completed and synchronised
before proceeding further.
2026-01-06 10:13:00 +05:30
wuzhenghui 48ba430297 change(esp_hal_rtc_timer): unify lp_timer/rtc_timer naming to RTC_TIMER 2025-12-30 11:35:36 +08:00
Omar Chebib 324446da95 feat(mailbox): define and implement a mailbox API with hardware and software support 2025-09-25 10:25:15 +08:00
igor.udot f742a05b28 feat: supports lp uart wakeup 2025-02-05 14:54:48 +08:00
Armando 0cbcd652a3 doc(lp_vad): lp vad programming guide 2024-11-21 11:08:11 +08:00
Armando 1792aba1dc feat(vad): lp vad driver and wakeup feature 2024-10-16 17:27:27 +08:00
Xiaoyu Liu 446528d40f feat(ulp): implement ulp lp core spinlock 2024-09-20 10:22:45 +08:00
Sudeep Mohanty 1e5efd7fa7 feat(lp_adc): Added support to read LP ADC from the LP core
This commit adds APIs to initialize and configure the LP ADC from the HP
core and also adds APIs to read the raw and converted ADC values from the LP core.
2024-09-10 08:45:11 +02:00
Marius Vikhammer b825aa9f95 change(lp_core): changed wakeup time calc to use a precomputed tick value
Previously we would calculate the wakeup ticks upon every wakeup using the lp-timer clock frequency,
but this caused the binary to pull in software division functions, increasing the binary size.

This value is now precalculated by the hp-core when we configure the ULP. This saves about 1k bytes.
2024-07-23 14:14:20 +08:00
Marius Vikhammer 692eb01fe1 fix(lp-core): fixed ULP shared mem address being wrong on P4 2024-07-23 14:12:18 +08:00
Marius Vikhammer a32fb07e7b feat(ulp): add basic support for running lp core on C5 2024-03-13 17:37:29 +08:00
Omar Chebib 5a32ca10ad feat(lp_core): add a public function to get the timer cycle count
Closes https://github.com/espressif/esp-idf/issues/13101
2024-02-09 16:50:02 +08:00
Song Ruo Jing 10b41d7a24 Merge branch 'refactor/soc_rtc_h_file' into 'master'
refactor(rtc): move soc/rtc.h from soc to esp_hw_support component

Closes IDF-8941

See merge request espressif/esp-idf!28238
2024-01-26 20:20:20 +08:00
Song Ruo Jing cf93777077 refactor(rtc): move soc/rtc.h from soc to esp_hw_support component
Deprecated rtc_xtal_freq_t, replaced with soc_xtal_freq_t defined in
clk_tree_defs.h in soc component.
2024-01-25 19:15:33 +08:00
Marius Vikhammer 1bcfde4e7f fix(ulp): enable astyle linter and format ULP component 2024-01-22 11:43:38 +08:00
Marius Vikhammer 3ced7b12e8 ulp: add support for using lp timer with lp core on C6 2023-05-06 14:13:14 +08:00