Commit Graph

309 Commits

Author SHA1 Message Date
Michael (XIAO Xufeng)
12369a5faf Merge branch 'bugfix/reserve_dma_ram_in_segments_v4.4' into 'release/v4.4'
psram: reserve dma pool in the step of heap max block (v4.4)

See merge request espressif/esp-idf!18858
2022-09-11 02:49:39 +08:00
Marius Vikhammer
228737d978 docs: fix documentation wrongly stating ESP_SLEEP_WAKEUP_GPIO is light sleep only
ESP_SLEEP_WAKEUP_GPIO is also a valid deep sleep wakeup cause on targets
with SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP

Closes https://github.com/espressif/esp-idf/issues/9567
2022-08-24 10:50:59 +08:00
morris
23d5a582cb Merge branch 'bugfix/fix_rtc_clock_freq_value_macro_v4.4' into 'release/v4.4'
rtc_clk: Fix wrong RC_FAST and RC_SLOW clock frequency values on ESP32C3 and ESP32S3

See merge request espressif/esp-idf!19665
2022-08-22 15:54:32 +08:00
Song Ruo Jing
b2f4fc022a rtc_clk: Fix wrong RC_FAST and RC_SLOW clock frequency values on ESP32C3 and ESP32S3 2022-08-19 12:21:11 +08:00
Armando
d08be42a53 esp_psram: fixed 40mhz cs signal glitch issue 2022-08-18 20:33:12 +08:00
Jiang Jiang Jian
34fbb676c7 Merge branch 'feature/optimize_chips_memory_allocation_backport_v4.4' into 'release/v4.4'
system: Optimize chips bootloader and heap memory allocation(backport v4.4)

See merge request espressif/esp-idf!19472
2022-08-12 11:19:06 +08:00
Jiang Jiang Jian
805b6af65d Merge branch 'bugfix/wifi_bt_use_same_clock_source_v4.4' into 'release/v4.4'
Fix Wi-Fi does not know that Bluetooth has modified the lpclk source(v4.4)

See merge request espressif/esp-idf!19408
2022-08-12 11:05:43 +08:00
jingli
6368633102 esp32h2/kconfig: remove repeated kconfig 2022-08-11 15:05:12 +08:00
wuzhenghui
1fb1d6ecde bugfix: malloc retention buffer with MALLOC_CAP_RETENTION caps 2022-08-09 20:56:59 +08:00
Marius Vikhammer
f8f93d936e ulp-riscv: add support for using ADC as well as an example show-casing it. 2022-08-09 09:21:15 +08:00
Li Shuai
970420a923 Power Management: fix the issue of sleeping time error beacause external 32kHz xtal does not exist 2022-08-05 11:30:36 +08:00
Jiang Jiang Jian
d16797b447 Merge branch 'bugfix/further_fix_for_mspi_current_leakage_backport_v4.4' into 'release/v4.4'
system/sleep: further fix spi flash/ram current leakage(backport v4.4)

See merge request espressif/esp-idf!19212
2022-08-04 14:46:56 +08:00
jingli
236bd27134 further fix spi flash/ram current leakage
Currently, we pull up cs io for spi flash/ram to reduce current leakage during
light sleep. But some kind of spi flash/ram chip need all io pull up. Otherwise,
current leakage will still exist.
2022-07-28 13:11:55 +08:00
jingli
5f2855882b kconfig: fix kconfig help of power down flash 2022-07-28 13:10:55 +08:00
jingli
23d934429c esp_hw_support/sleep: fix cannot pd cpu and rc fast at the same time during light sleep
Since cpu retention dma use rc fast as clk source, so rc_fast_digi
will be enabled when we config to pd cpu. And cpu retention does not
need rc fast keep on during light sleep. So, if we use rc_fast_digi
to determine whether rc fast can be powered down, then cpu and and
rc fast cannot pd at the same time.
2022-07-28 11:24:40 +08:00
wanlei
92abac1fd8 psram: fixed heap pool reservation for DMA/internal usage fail issue
As heap block may be allocated into multiple non-continuous chunks, to
reserve enough memory for dma/internal usage, we do the malloc in the
step of max available block.
2022-07-28 10:12:17 +08:00
Marius Vikhammer
90e58c3721 docs: fix all doxygen warnings
Doxygen warnings would previously not result in a failed pipeline.
Fixed this as well as all current warnings.
2022-07-05 11:14:40 +08:00
Jiang Jiang Jian
1bd2e3f9df Merge branch 'feature/s3_ulp_support_v4.4' into 'release/v4.4'
ulp: Added ULP support for  esp32s3 (v4.4)

See merge request espressif/esp-idf!18621
2022-07-01 10:51:18 +08:00
Marius Vikhammer
3c358dd074 ulp: only enable relevant wakeup sources for ULP
Do not enable co-processor trap wakeup source when running ULP FSM, as this
could cause spurious wake-ups.
2022-06-29 11:57:05 +08:00
Michael (XIAO Xufeng)
c3c802d9b8 Revert "touch_sensor: forbid from using touch sensor with sleep on ESP32-S3"
This reverts commit a84faa3cef.
2022-06-27 14:33:09 +08:00
Sudeep Mohanty
b72f987c5c ulp: Added ULP RISC-V support for esp32s3
This commit adds support for ULP RISC-V for esp32s3.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
2022-06-22 13:33:14 +08:00
KonstantinKondrashov
b0a15716ee esp_hw_support: Fix time spent in light sleep when RTC is used for gettimeofday
The esp_timer was not advanced correctly.
2022-06-20 16:17:00 +00:00
jingli
4cc873dfd9 improve flash power down logic 2022-06-20 11:32:20 +08:00
Jiang Jiang Jian
1133b0ef10 Merge branch 'bugfix/touch_wait_circle_after_wakeup_from_sleep_on_s3_v4.4' into 'release/v4.4'
touch: fix the touch sensor wait cycle on s3 (v4.4)

See merge request espressif/esp-idf!17424
2022-06-19 22:49:08 +08:00
Jiang Jiang Jian
469e2e540b Merge branch 'feature/adds_check_32k_xtal_stopped_v4.4' into 'release/v4.4'
esp_hw_support: Adds a msg when 32k xtal was stopped (v4.4)

See merge request espressif/esp-idf!18411
2022-06-19 22:41:20 +08:00
KonstantinKondrashov
871af8c5a5 esp_hw_support: Adds a msg when 32k xtal was stopped 2022-06-09 22:45:31 +08:00
Marius Vikhammer
957505136b spinlock: fixed spinlocks not working on S3 if placed in PSRAM
The compare and set instruction (S32C1I) cannot be used when
lock is not in internal memory.

Closes https://github.com/espressif/esp-idf/issues/9120
2022-06-09 10:39:19 +08:00
chaijie
2a1002b4a4 modify voltage param to fit all mode of S3 2022-06-05 02:33:51 +08:00
Michael (XIAO Xufeng)
a2e1b6756e esp32s3: fixed dangerous power parameters in sleep modes 2022-06-05 02:33:51 +08:00
Michael (XIAO Xufeng)
f46bd50884 pm: putting dbias and pd_cur code into same function 2022-06-05 02:33:51 +08:00
Michael (XIAO Xufeng)
254870c3c4 rtc: fixed 8MD256 can't be used as RTC slow src on ESP32
Sync configuration from other chips

Closes: https://github.com/espressif/esp-idf/issues/8007, https://github.com/espressif/esp-idf/pull/8089
2022-06-05 02:33:50 +08:00
morris
0340c2f2bc Merge branch 'bugfix/keep_rtc8m_in_lightsleep_v4.4' into 'release/v4.4'
pm: fixed RTC8M domain power down issue when used as RTC source (v4.4)

See merge request espressif/esp-idf!18075
2022-05-30 09:54:39 +08:00
jingli
25c49588f9 esp_hw_‎support/sleep: ‎fix cannot lightsleep again after a wakeup from ULP
Since ulp wakeup signal are connected to ulp int raw(except esp32), we
need to clear ulp int raw before sleep when ulp wakeup enabled. Otherwise,
if the ulp int raw is already set, chip will not sleep properly.

Closes https://github.com/espressif/esp-idf/issues/6229
2022-05-19 23:13:42 +08:00
Michael (XIAO Xufeng)
ae6c52e9f9 Merge branch 'bugfix/fix_memory_miss_bug_v4.4' into 'release/v4.4'
esp32c3/esp32s3: Fix cpu crash bug when wakeup from lightsleep for memory data miss (backport v4.4)

See merge request espressif/esp-idf!17826
2022-05-19 13:47:20 +08:00
Jiang Jiang Jian
0bbdd67231 Merge branch 'bugfix/fix_s3_bbpll_calibrate_fail_bug_v4.4' into 'release/v4.4'
ESP32S3: fix bbpll calibrate fail bug in high temperature  (backport v4.4)

See merge request espressif/esp-idf!17896
2022-05-19 10:39:52 +08:00
chaijie
d222adbeeb solve memory error bug when in lightsleep mode 2022-05-18 17:43:13 +08:00
Michael (XIAO Xufeng)
e119d6cb06 pm: add powerdown for int_8m on ESP32-H2
Also move the xtal fpu logic to sleep_modes.c
2022-05-16 00:59:36 +08:00
Michael (XIAO Xufeng)
17b9cc6b4a pm: fixed RTC8M domain power issues
introduced in e44ead5356

1. The int8M power domain config by default is PD. While LEDC is using
RTC8M as clock source, this power domain will be kept on.

But when 8MD256 is used as RTC clock source, the power domain should
also be kept on.

On ESP32, there was protection for it, but broken by commit
e44ead5356. Currently the power domain
will be forced on when LEDC is using RTC8M as clock source &&
!int8m_pd_en (user enable ESP_PDP_DOMAIN_RTC8M in lightsleep). Otherwise
the power domain will be powered off, regardless of RTC clock source.

In other words, int8M domain will be forced off (even when 8MD256
used as RTC clock source) if LEDC not using RTC8M as clock source, user
doesn't enable ESP_PDP_DOMAIN_RTC8M, or in deep sleep.

On later chips, there's no such protection, so 8MD256 could't be used as
RTC clock source in sleep modes.

This commit adds protection of 8MD256 clock to other chips. Fixes the
incorrect protection logic overriding on ESP32. Now the power domain
will be determiend by the logic below (order by priority):

    1. When RTC clock source uses 8MD256, power up
    2. When LEDC uses RTC8M clock source, power up
    3. In deepsleep, power down
    4. Otherwise determined by user config of ESP_PDP_DOMAIN_RTC8M,
       power down by default. (This is preferred to have highest
       priority, but it's kept as is because of current code structure.)

2. Before, after the macro `RTC_SLEEP_CONFIG_DEFAULT` decides dbias, the
protection above may force the int8m PU. This may cause the inconsistent
of dbias and the int8m PU status.

This commit lifts the logic of pd int8m/xtal fpu logic to upper layer
(sleep_modes.c).

Related: https://github.com/espressif/esp-idf/issues/8007, https://github.com/espressif/esp-idf/pull/8089

temp
2022-05-12 15:57:09 +08:00
Jiang Jiang Jian
b6f4629e11 Merge branch 'bugfix/_rtc_slow_length_incorrectly_optimized_backport_v4.4' into 'release/v4.4'
sleep_power_domain: fix _rtc_slow_length being incorrectly optimized by compiler(backport v4.4)

See merge request espressif/esp-idf!17974
2022-05-03 15:04:09 +08:00
jingli
a2f141807f fix rtc mem load err(since the voltage of rtc regulator is too low) 2022-05-01 23:29:12 +08:00
jingli
74399f5b44 fix _rtc_slow_length being incorrectly optimized by compiler 2022-05-01 23:14:18 +08:00
chaijie
fe83802d65 fix c3 brownout bug after deepsleep 2022-04-28 18:23:28 +08:00
chaijie
a86cad6afe fix s3 bbpll calibrate fail bug in high temperature 2022-04-25 18:21:10 +08:00
Michael (XIAO Xufeng)
d378ca2b78 esp_phy: use spinlock to avoid regi2c access conflicts 2022-04-06 12:18:23 +08:00
Michael (XIAO Xufeng)
8522bb1178 regi2c: use safe version of spinlock, instead of ISR ver 2022-04-06 09:34:43 +08:00
Michael (XIAO Xufeng)
3503ee41ca sleep: fixed the issue error log not printed 2022-03-25 14:50:26 +08:00
Michael (XIAO Xufeng)
ea27a8543a touch_sensor: forbid from using touch sensor with sleep on ESP32-S3
This is not supported yet.
2022-03-25 14:50:26 +08:00
laokaiyao
19faa6ef43 touch: fix the touch sensor wait cycle on s3 2022-03-11 06:24:07 +00:00
Armando
32afe6a498 sleep: restore analog calibration registers after waking up from light sleep
Closes https://github.com/espressif/esp-idf/issues/8287
Closes https://github.com/espressif/esp-idf/issues/7921
2022-03-07 11:28:48 +08:00
morris
5f56bbd2d0 Merge branch 'bugfix/rtcio_increase_size_v4.4' into 'release/v4.4'
sleep: fixed ext1 cannot wakeup via RTCIO >= 18 issue (v4.4)

See merge request espressif/esp-idf!17201
2022-03-02 16:53:05 +08:00