wuzhenghui
c667f5a864
feat: support dump last time sleep context
2023-10-09 10:42:10 +08:00
Lou Tian Hao
adae54faca
Merge branch 'bringup/support_callback_mechanism_in_lightsleep_flow' into 'master'
...
Power Management: support_callback_mechanism_in_lightsleep_flow
Closes WIFI-5936
See merge request espressif/esp-idf!24597
2023-10-08 20:16:01 +08:00
gaoxu
3e3e928209
feat(uart): move periph_ll_uart_enabled to uart_ll.h
2023-10-08 10:10:02 +08:00
Ivan Grokhotkov
8545f8595f
Merge branch 'bugfix/build_fail_c6_usb_serial_jtag' into 'master'
...
fix build with CONFIG_ESP_CONSOLE_UART=n on C6, re-enable build tests for C6 and C2
Closes IDFGH-10698
See merge request espressif/esp-idf!24935
2023-09-25 20:39:32 +08:00
Jiang Jiang Jian
217defb939
Merge branch 'bugfix/fix_modem_reject_deepsleep' into 'master'
...
fix(sleep): fix modem reject the deepsleep request
Closes PM-9
See merge request espressif/esp-idf!26101
2023-09-25 17:10:53 +08:00
Lou Tianhao
450e685cb7
feat(PowerManagement/lightsleep): Support ESP_SLEEP_EVENT_CALLBACKS
2023-09-25 15:39:18 +08:00
Armando (Dou Yiwen)
b58a2ea6a6
Merge branch 'feature/support_cache_p4' into 'master'
...
cache: support cache driver on esp32p4
Closes IDF-7516
See merge request espressif/esp-idf!25490
2023-09-25 15:21:46 +08:00
Ivan Grokhotkov
464d278f8a
fix(esp_hw_support): fix build with CONFIG_ESP_CONSOLE_UART=n on C6
...
Closes https://github.com/espressif/esp-idf/issues/11924
2023-09-22 13:32:04 +02:00
Armando
ec27891af6
change(cache): swap cache hal arg 'type' and 'level'
2023-09-22 14:19:41 +08:00
Armando
ea38a2e9a4
feat(cache): support cache driver on esp32p4
2023-09-22 14:19:41 +08:00
wuzhenghui
34f89091b2
fix(sleep): fix modem reject the deepsleep request
2023-09-21 15:11:55 +08:00
Song Ruo Jing
2d458a3f93
feat(lp_io): Add support for ESP32P4
2023-09-20 19:39:41 +08:00
Lou Tianhao
88364b8b11
feat(pm): add internal pull-up/downs option for gpio used for deepsleep wakeup
...
stash
2023-09-19 11:00:59 +08:00
Song Ruo Jing
767698b90d
feat(uart): Add sdkconfig.ci.iram_safe test for UART driver
2023-08-30 11:30:03 +08:00
Lou Tianhao
808a01e656
feat(pm/deepsleep): Support EXT1_WAKEUP_MODE_PER_PIN
2023-08-09 19:46:25 +08:00
Lou Tian Hao
791360336a
Merge branch 'feature/support_pd_hp_aon_domain_in_deepsleep' into 'master'
...
Feature: support pd hp aon domain in deepsleep
See merge request espressif/esp-idf!25175
2023-08-07 17:28:40 +08:00
wuzhenghui
8b5052f213
fix(light_sleep): save vddsdio_config before lightsleep
2023-08-04 11:58:07 +08:00
wuzhenghui
0b0e8ab80b
fix(light_sleep): suspend/resume cache correspondingly after light sleep
2023-08-04 11:56:55 +08:00
Lou Tianhao
caddc10bf3
feat(pm/deepsleep): support pd hp aon domain in deepsleep
2023-08-03 17:23:02 +08:00
Wu Zheng Hui
016cb6a19a
Merge branch 'bugfix/fix_cache_data_mem_corrupt_after_sleep' into 'master'
...
fix(lightsleep): Suspend cache before goto sleep to avoid cache load wrong data
Closes IDFCI-1760
See merge request espressif/esp-idf!25084
2023-08-02 11:02:01 +08:00
Xu Si Yu
36511a3005
Merge branch 'feature/add_sleep_test_for_ot_ci' into 'master'
...
OpenThread CI: add a test case of sleepy device
See merge request espressif/esp-idf!24715
2023-08-01 20:38:29 +08:00
Mahavir Jain
53ff7d43db
Merge branch 'ci/fix_test_switch_ota' into 'master'
...
fix(app_update): Fix CI test_switch_ota by increasing deepsleep
See merge request espressif/esp-idf!24801
2023-08-01 16:49:25 +08:00
wuzhenghui
26618ad536
fix(lightsleep): suspend cache before goto sleep
...
There is a possibility that the cache is still accessing the
SPI flashwhen sleep isolating SPI IO, so it is necessary to
wait for the cache to be free before requesting sleep.
2023-08-01 16:29:04 +08:00
Xu Si Yu
753f74cb99
feat(openthread): add sleep debug message
2023-07-31 17:01:37 +08:00
Lou Tianhao
0d30bbe855
change(pm/deepsleep): rewrite the option all low as any low for esp32s2, esp32s3, esp32c6 and esp32h2
2023-07-21 20:44:15 +08:00
Lou Tianhao
44cd96b543
change(pm/deepsleep): remove disable rtcio before hold it when ext1 wakeup
2023-07-21 20:44:09 +08:00
KonstantinKondrashov
28aec9594a
fix(app_update): Fix CI test_switch_ota by increasing deepsleep
...
It increases the deepsleep time from 2000 to 20000.
2000 is too small for esp32-s3 chip.
2023-07-21 13:58:20 +08:00
Lou Tianhao
e70763f9a4
feat(pm/deepsleep): Support EXT1 wakeup for esp32h2 deep_sleep
2023-07-20 11:43:57 +08:00
Lou Tianhao
dcacd8cdf8
feat(pm/deepsleep): Support deep_sleep example and deep_sleep_wake_stub example for esp32h2
2023-07-20 11:43:57 +08:00
wuzhenghui
a5c992c8af
fix(esp_pm): fix PM_SLP_IRAM_OPT/PM_RTOS_IDLE_OPT feature
...
- Fix flash accessed code to resolve issues with PM_SLP_IRAM_OPT/PM_RTOS_IDLE_OPT enabled
2023-07-14 21:21:19 +08:00
wuzhenghui
9f993705a6
fix: wait spi bus idle before hold CS pin
...
- Wait for spi bus idle before holding CS pin to prevent hold selected state during sleep
2023-07-14 20:12:59 +08:00
wuzhenghui
b9550a1609
feat: support cache safe assertion check
...
- Add support for cache safe assertion check to ensure that code expected to be in RAM is in IRAM
2023-07-14 20:12:59 +08:00
Song Ruo Jing
ea48030514
Merge branch 'refactor/rtcio_caps_responsibility' into 'master'
...
refactor(driver/rtcio): Re-wrap RTCIO APIs with more accurate soc_caps
Closes IDF-7406
See merge request espressif/esp-idf!24522
2023-07-07 14:25:47 +08:00
wuzhenghui
05d15a2eed
sleep: enrich top_domain_pd_allowed function description
2023-07-05 11:16:44 +00:00
Song Ruo Jing
4985caa38f
refactor(driver/rtcio): Re-wrap RTCIO APIs with more accurate soc_caps
2023-07-05 11:47:51 +08:00
Lou Tianhao
7fd74057a3
example: bringup light sleep example for esp32h2
2023-06-26 21:05:16 +08:00
Lou Tianhao
2657d8f307
Power Management: change the IO hold interface for esp32c6
2023-06-26 21:05:16 +08:00
Lou Tianhao
8457998505
Power Management: fix REGDMA power issue when TOP domain powered down during light sleep for esp32h2
2023-06-26 20:58:59 +08:00
Lou Tianhao
6ea441c815
Power Management: support CPU powered down in light sleep for esp32h2
2023-06-26 20:57:55 +08:00
Lou Tianhao
63d32ab620
Power Management: support DFS and PMU feature for esp32h2
2023-06-26 20:57:55 +08:00
wuzhenghui
679ae47271
sleep: enable sleep reject when entering deep sleep and return err if sleep request is rejected
2023-06-21 11:27:40 +08:00
Wu Zheng Hui
1be9eee3ca
Merge branch 'bugfix/fix_esp32s3_psram_access_failed_in_dfs_master' into 'master'
...
esp_pm: fix esp32s3 psram access failed when dfs is enabled
Closes IDF-7400 and IDF-4120
See merge request espressif/esp-idf!24144
2023-06-19 17:58:03 +08:00
wuzhenghui
8334403f3c
bugfix: fix esp32s3 psram access failed when dfs is enabled
2023-06-19 10:15:04 +08:00
Song Ruo Jing
921713fff4
uart: Support LP_UART port with UART driver on esp32c6
2023-06-16 07:31:40 +00:00
Wu Zheng Hui
2b6551f84d
Merge branch 'bugfix/support_esp326_xtal_xpd' into 'master'
...
esp32c6: support xtal xpd
Closes IDF-7318
See merge request espressif/esp-idf!22932
2023-06-12 11:28:59 +08:00
Konstantin Kondrashov
f875978fb3
Merge branch 'bugfix/incorrect_time_after_ota' into 'master'
...
esp_hw_support: Fix invalid system time if s_esp_rtc_time_us & s_rtc_last_ticks were moved around
Closes IDFGH-7930
See merge request espressif/esp-idf!23030
2023-06-09 00:30:52 +08:00
KonstantinKondrashov
cb6e2133f0
esp_hw_support: Fix invalid system time if s_esp_rtc_time_us & s_rtc_last_ticks were moved around
...
The commit fixes the case:
If variables in RTC RAM have been moved around by the linker,
they will be filled with garbage data. Any reset other than OTA would work fine
because the variables would still be initialized from the initial bootup.
So now system time will be valid even after OTA.
Closes https://github.com/espressif/esp-idf/issues/9448
2023-06-08 21:59:21 +08:00
wuzhenghui
71563e0995
sleep: Fix domain power down status cannot get updated accordingly with the allowance of retention in runtime
2023-06-08 17:26:18 +08:00
wuzhenghui
713da85988
bugfix: fix sleep failed caused by uart clk lost
2023-06-02 20:52:25 +08:00
wuzhenghui
2981d38000
bugfix: fix some flash funcs called in sleep wakeup process
2023-05-31 17:56:46 +08:00
wuzhenghui
4236644071
feature: skip console uart flush and sleep when estimated uart flush time exceeds the sleep duration to avoid rtos tick jump failed
2023-05-29 16:35:03 +08:00
wuzhenghui
5c74093300
bugfix: treat too short sleep duration as sleep reject by software
2023-05-29 16:35:03 +08:00
wuzhenghui
d197c59eaa
bugfix: move adc_oneshot_power_acquire/release to adc_oneshot_read
...
Closes https://github.com/espressif/esp-idf/issues/10595
Closes https://github.com/espressif/esp-idf/issues/11386
2023-05-18 10:29:50 +08:00
Zim Kalinowski
099ffe6243
Merge branch 'feature/c6_ulp_timer' into 'master'
...
ulp: lp timer support for lp core
Closes IDF-6956, IDF-6830, and IDF-6835
See merge request espressif/esp-idf!23453
2023-05-10 03:06:35 +08:00
Wu Zheng Hui
35bb946653
Merge branch 'bugfix/update_esp32c6eco1_sleep_fosc_cal_cycles' into 'master'
...
bugfix: update esp32c6eco1 / esp32h2eco2 fosc calibration cycles during sleep and support calibrate OSC clock every N times lightsleep
Closes IDF-7287
See merge request espressif/esp-idf!23489
2023-05-09 18:44:20 +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
Armando
dbf3612d6d
spi_flash: replace flash clock src change API with mspi timing API
2023-05-04 17:05:35 +08:00
wuzhenghui
dcab6368ce
feature: support configuration of sleep clock calibration frequency
2023-05-04 12:09:26 +08:00
wuzhenghui
dd4d1bbe90
bugfix: fix esp32c6eco1 fosc calibration cycles during sleep
2023-05-04 11:46:21 +08:00
Marius Vikhammer
359b237cc5
ulp: added sleep support for lp core
...
Added support for running LP core while hp core sleeps, as well
as waking up the hp core.
2023-04-25 11:51:35 +08:00
laokaiyao
b7053b46ef
esp32h4: remove esp32h4 target from peripherals
2023-04-20 15:19:45 +08:00
wuzhenghui
bd80be3b83
bugfix: fix deepsleep saradc leakage
2023-03-31 15:49:43 +08:00
wuzhenghui
c50e5d45a3
feature: add deep sleep prepare callback hook
2023-03-17 19:45:56 +08:00
wuzhenghui
acecfe4ba5
bugfix: Slow clock power domain management has been maintained in pd_flags
2023-03-17 19:42:01 +08:00
Jiang Jiang Jian
73c06b5039
Merge branch 'bugfix/sleep_current_issue_caused_by_sar_adc' into 'master'
...
sleep current issue caused by sar adc
Closes IDF-6111 and WIFI-4370
See merge request espressif/esp-idf!22769
2023-03-17 17:32:59 +08:00
Jiang Jiang Jian
3f3a2cf560
Merge branch 'bugfix/fix_systimer_stall_issue_in_lightsleep' into 'master'
...
rtc_sleep: workaround systimer stall issue during sleep on ESP32C3
See merge request espressif/esp-idf!22739
2023-03-17 14:16:36 +08:00
Li Shuai
a25ce78392
sleep: fix sleep current issue caused by sar adc
2023-03-17 13:06:39 +08:00
liuning
14ca81f03f
rtc_sleep: workaround systimer stall issue during lightsleep on ESP32C3
2023-03-15 20:33:03 +08:00
wanlei
d0c70aa7ac
mspi: turn down freq to fix crash when sleep
2023-03-15 11:26:34 +08:00
Jiang Jiang Jian
abc43d8e94
Merge branch 'bugfix/some_small_fix_for_sleep' into 'master'
...
esp_hw_support/sleep: update soc caps for chips that support power down modem
Closes WIFI-4424
See merge request espressif/esp-idf!20198
2023-03-13 10:47:26 +08:00
Wu Zheng Hui
c8364fb921
Merge branch 'feature/add_wakeup_cost_info_to_dslp_wakestub_example' into 'master'
...
feature: add wake up time cost info to deep_sleep_wake_stub example
See merge request espressif/esp-idf!22683
2023-03-11 15:11:53 +08:00
C.S.M
b0b99a9a1b
Merge branch 'feature/flash_support_h2' into 'master'
...
spi_flash: Allow clock frequency up to 64M on ESP32H2
See merge request espressif/esp-idf!22476
2023-03-10 19:13:03 +08:00
wuzhenghui
8820efe2e1
feature: add wake up time cost info to deep_sleep_wake_stub example
2023-03-10 16:37:02 +08:00
jingli
cb0f517fe3
soc/soc_caps: update soc caps for chips that support power-down of modem hardware
...
Closes WIFI-4424
2023-03-10 14:15:27 +08:00
Cao Sen Miao
bc655a6890
spi_flash: Allow clock frequency up to 64M, and make it default on ESP32H2
2023-03-10 11:39:53 +08:00
Marius Vikhammer
284dabf17f
ulp: added basic support for building and running a binary in the lp core
2023-03-09 10:12:23 +08:00
wuzhenghui
fd7e8abd73
workaround: bypass esp32c6 flash powedown sleep time adjustment
2023-03-04 00:17:40 +08:00
wuzhenghui
45c2900ec0
resolve WIFI-5150
...
bugfix: Don't hold CS pin when VDDSDIO is power down to reduce the base current
2023-03-04 00:17:40 +08:00
Li Shuai
1a10eabe41
Power Management: refactor the configuration of each module in sleep mode
2023-03-04 00:17:40 +08:00
Li Shuai
200f69e6eb
auto beacon: support esp32c6 autobeacon (advanced DTIM sleep feature)
...
modem retention: Support esp32c6 wifi MAC and baseband sleep retention
sleep_modem: wifi MAC modem wakeup protect in modem state before PMU trigger sleep enable request
sleep modem: provide a interface to get whether the Modem power domain is allowed to power off during sleep
add i2c_ana master header file to project
auto beacon: release PMU's lock on root clock source (it is locked in the PLL)
wifi receiving beacon frame in PMU modem state strongly depends on the BBPLL
clock, PMU will forcibly lock the root clock source as PLL, when the root
clock source of the software system is selected as PLL, we need to release
the root clock source locking.
When it is judged that the PLL is locked by PMU after wakeing up from the PMU
modem state, switch the root clock source to the PLL in the sleep process (a
critical section).
auto beacon: fix the failure to receive broadcast/multicast frames in modem state
When the multicast field in the beacon frame received in the PMU modem state is
True, the PMU switches to the PMU active state (the PMU waits for the HP LDO to
stabilize and then restores the MAC context) and starts to receive
broadcast/multicast frames (Broadcast/Multicast frames will be sent after a
minimum delay of 48 us after the beacon frame), because the PMU waits for the HP
LDO to stabilize too long (~154 us), which will cause broadcast/multicast frame
reception to be missed.
auto beacon: select the PLL clock source as the REGDMA backup clock source when the PMU switches to ACTIVE from MODEM state
update Digital Peripheral (M2A switch) REGDMA restore time parameter
auto beacon: fix the issue that only channel 1 can connect to AP in modem state
2023-03-04 00:17:40 +08:00
Li Shuai
93c02fed3b
light sleep: add modem power domain and power down the modem power domain during sleep
2023-03-04 00:17:40 +08:00
Li Shuai
3a5fe2ab63
light sleep: rename sleep mac bb to modem, it includes MAC and baseband of wifi, bt and ieee802.15.4 modules
2023-03-04 00:17:40 +08:00
wuzhenghui
186da9af93
codeclean: rename sleep_periph to sleep_sys_periph
2023-03-04 00:17:40 +08:00
wuzhenghui
7ee64bd8e8
refactor: always jump to wake stub wrapper after wakeup
2023-03-02 18:10:06 +08:00
wuzhenghui
9eae151f7c
esp32c6: bringup deepsleep examples
2023-03-02 15:06:05 +08:00
wuzhenghui
d3ec7880fe
bugfix: support GPIO current leakage workaround for esp32c6/esp32h2
2023-03-02 15:06:05 +08:00
wuzhenghui
709adaaa37
soc_caps: since esp32c6 only support one ext wakeup src, split SOC_PM_SUPPORT_EXT_WAKEUP
...
Close IDF-5924
2023-03-02 15:06:05 +08:00
Jing Li
75a82988f1
Merge branch 'refactor/wdt_use_unified_type' into 'master'
...
wdt: refactor wdt codes to use unified type
Closes IDF-5653
See merge request espressif/esp-idf!22378
2023-02-21 09:46:06 +08:00
jingli
9c37441b17
wdt: refactor wdt codes to use unified type
2023-02-15 12:08:55 +08:00
wuzhenghui
a0492202b7
bugfix: unhold SPI CS pin in pd_top lightsleep
2023-02-15 11:46:41 +08:00
wuzhenghui
248aa6109d
codeclean: add sleep_mode args to esp_sleep_start()
2023-02-15 11:46:40 +08:00
Li Shuai
aec3f6db1d
light sleep: supported SoC TOP domain powered down
2023-02-15 11:46:40 +08:00
wuzhenghui
75d15e8b80
bugfix: remove redundant SOC_PM_SUPPORT_XTAL_PD wrapping
...
Closes https://github.com/espressif/esp-idf/issues/10681
2023-02-07 20:25:59 +08:00
jingli
f8cc2ec86d
esp32c2: support rtc time feature depend on rtc memory, since c2 does not have rtc memory
2023-02-02 20:25:59 +08:00
wuzhenghui
cd9d914ba0
codeclean: clean esp32c6 rtc_sleep related code
2023-01-31 22:12:58 +08:00
Li Shuai
68594abe05
sleep: light sleep supported for esp32c6
2023-01-31 22:12:58 +08:00
wuzhenghui
a5467f42a0
codeclean: only S series chip VDDSDIO is configurable
2023-01-31 22:12:58 +08:00
Li Shuai
1c39d64f95
cpu retention: refactor cpu retention and add cpu retention versions option in soc caps
2023-01-31 22:12:50 +08:00
Li Shuai
02f5df3b3e
Power Management: added protection to the configuration of each power domain
2023-01-31 22:12:27 +08:00
Li Shuai
59cf87fe7d
pmu: sleep initialization and sleep start support for esp32c6
...
Initialize the pmu sleep machine constant when pmu is initialized, and calculate
the pmu sleep time adjustment value and hardware configuration value according
to the machine constant during system sleep.
Calibrate fast OSC before each sleep and use the calibration value to calculate
PMU hardware wait cycles when use the fast OSC as the work clock.
2023-01-31 22:12:27 +08:00