Li Shuai
605a0e40ce
fix(esp_hw_support): fix invalid phy link pointer during sleep modem state deinit
2026-03-25 20:56:35 +08:00
Li Shuai
f9b779466c
fix(esp_hw_support): fix analog i2c master race cause by phy retention link
2026-03-25 20:56:35 +08:00
Li Shuai
313f64330b
fix(esp_hw_support): fix the issue of regdma wait node to immediately return to done caused by regdma wait mode comparator
2026-03-25 20:56:35 +08:00
Li Shuai
1a87a7df9f
change(esp_pm): fix ci failed test case of Automatic light occurs when tasks are suspended
2026-01-17 15:05:55 +08:00
Li Shuai
08c146b2ab
change(hal): add hal interface to configure pau regdma wait timeout parameter
2025-08-06 19:42:35 +08:00
Li Shuai
72009edd6f
fix(esp_hw_support): fix modem wakeup req always high caused by pmu min slp cycle update
2025-06-30 16:32:37 +08:00
Li Shuai
03ba1cfb8b
change(esp_hw_support): add interface to calculate slow clock period by clock frequency
2025-06-30 16:32:37 +08:00
Li Shuai
88c1c9c344
change(esp_hw_support): fix some sleep retention build error
2025-02-13 16:33:30 +08:00
Li Shuai
af5a9c87cd
change(soc): define sleep retention module total number to 64 for esp32p4
2025-02-13 16:33:30 +08:00
Li Shuai
62633bcdae
change(esp_hw_support): update power domain pd allowed check logic
2025-02-13 16:33:28 +08:00
Li Shuai
44001a9d70
change(esp_hw_support): update some modules sleep retention init dependency bitmap
2025-02-13 15:35:19 +08:00
Li Shuai
61b7a971d3
change(soc): add sleep retention module total number definition
2025-02-13 15:17:55 +08:00
Li Shuai
c60d991c28
feat(esp_hw_support): extend sleep retention module bitmap bit width
2025-02-13 11:28:25 +08:00
Li Shuai
f453380760
fix(uart): fix esp32c61 light sleep uart wakeup failed
2025-01-16 20:34:31 +08:00
Li Shuai
ff3c790ad1
fix(esp_hw_support): fix esp32c5 and esp32c61 wakeup failed when TOP rejects PD
2025-01-16 20:34:16 +08:00
Li Shuai
2c31e2b118
fix(esp_hw_support): fix the issue of regdma wait node to immediately return to done
2024-12-02 17:44:48 +08:00
Li Shuai
24d122e19c
fix(esp_wifi): fix the issue of station fail to connect to softap caused by abnormal rf flag signal
2024-10-24 19:36:14 +08:00
Li Shuai
1ae89b72cb
fix(wifi): fix the issue of wifipwr losing its clock during sleep on the esp32c6 eco1
2024-06-24 16:46:17 +08:00
Li Shuai
a3a9624ca2
fix(esp_wifi): fix the issue of tbtt interrupt miss caused by beacon monitor
2024-06-13 20:17:11 +08:00
Li Shuai
a27aa02fa3
fix(esp_hw_support): use iterator for regdma_link_stats to save stack consume
...
Closes https://github.com/espressif/esp-idf/issues/13288
2024-06-13 14:08:36 +08:00
Li Shuai
52a922f953
fix(wifi): fixed the issue of tg0 watchdog reset caused by wifi module retention
2024-05-29 20:50:53 +08:00
Li Shuai
e13bb3d734
fix(esp32c6): fix the issue of except wifi state caused by the missing mac retention config
2024-05-21 21:34:30 +08:00
Li Shuai
2396dc5ff7
fix(wifi): fix the issue where deinit ble in a coexist scenario causes the wifi mac tsf counter to stop
2024-05-21 16:39:20 +08:00
Li Shuai
90188040fb
fix(esp_wifi): clear soc wakeup request signal at tbtt process
2024-05-08 13:44:54 +08:00
Li Shuai
f6478e3ced
change(soc): update pmu register map struct for esp32c5 beta3
2024-04-09 20:58:42 +08:00
Li Shuai
3698d0a408
Merge branch 'bugfix/sleep_clock_domain_pd_allowed' into 'master'
...
fix some errors with sleep's power domain management
See merge request espressif/esp-idf!30076
2024-04-08 16:18:02 +08:00
Li Shuai
75cf573637
fix(esp_hw_support): fix some errors with sleep's power domain management
2024-04-07 17:39:48 +08:00
Li Shuai
608713a72a
fix(esp_hw_support): fixed modem hang caused by incorrect configuration of power and isolate signals
2024-04-01 15:21:07 +08:00
Li Shuai
a054f89021
fix: modify some typos to ensure CI pipeline run pass
2024-03-30 11:51:52 +08:00
Li Shuai
7a4d92a7ef
fix(example/bluetooth): fix app partition is to small for binary esp_hid_device.bin and esp_hid_host.bin
2024-03-30 11:51:52 +08:00
Li Shuai
fc308a4234
change(driver/i2c): modify i2c sleep retention test case to fix memory leakage issue
2024-03-30 11:51:52 +08:00
Li Shuai
b1540e2470
change(esp_hw_support): use power down peripheral in light sleep option to determine TOP to off
2024-03-30 11:51:52 +08:00
Li Shuai
91bb0e7276
change(driver/i2c): use new retention api to implement i2c retention
2024-03-30 11:51:52 +08:00
Li Shuai
c07be48edb
change(esp_hw_support): add adc retention module and it is dependencies on the clock modem
2024-03-30 11:51:52 +08:00
Li Shuai
67f1de5e99
change(esp_hw_support): dump sleep retention context to io stream
2024-03-30 11:51:52 +08:00
Li Shuai
4ffa5c23af
change(ieee802154): use new sleep retention api to implement ieee802154 mac retention
2024-03-30 11:51:52 +08:00
Li Shuai
c0f3570237
change(bt): use new retention api to implement BT mac and bb retention
2024-03-30 11:51:52 +08:00
Li Shuai
57c8fdfd86
change(esp_hw_support): use new retention api to implement gdma retention
2024-03-30 11:51:52 +08:00
Li Shuai
a0a343cb13
change(wifi): use new retention api to implement wifi mac and bb retention
2024-03-30 11:51:50 +08:00
Li Shuai
262be04b21
change(esp_hw_support): modify system and modem clock to support modem domain power down
2024-03-29 16:13:52 +08:00
Li Shuai
59115cd2d1
change(esp_hw_support): some system peripherals to use a retention module number
2024-03-29 15:27:08 +08:00
Li Shuai
7092cf7d3e
feat(esp_hw_support): implement of sleep retention module initialize and dependency management
2024-03-29 15:22:53 +08:00
Li Shuai
080d09387c
change(esp_hw_support): modify the style of module argument from bitmap to number
2024-03-29 15:22:52 +08:00
Li Shuai
fd421ba9bb
change(esp_hw_support): rename interface name of get modules bitmap to get created modules
2024-03-29 14:41:57 +08:00
Li Shuai
b521fb4efe
change(esp_hw_support): rename sleep retention module to created module
2024-03-29 14:36:11 +08:00
Li Shuai
28835624d9
fix(example): fixed app partition is too small for binary size
2024-01-11 10:42:38 +08:00
Li Shuai
fa489d3c20
change(Power Management): the xpd_xtal32k value depends on system slow clock source config option when pmu initialize
2023-10-24 17:11:53 +08:00
Li Shuai
0f103817bc
fix(esp32c6/power save): optimize the retention step of the APM and TEE modules to set only the critical parts that affect wifi data frame receipt to level 2 priority
2023-09-06 14:57:46 +08:00
Li Shuai
0c9eba8a2a
fix(esp32c6/power save): improve TEE and APM module retention priority to 2 to avoid the wifi fail to read the rxbuf link and trigger the rxbuf overflow error
2023-08-21 12:28:51 +00:00
Li Shuai
6ba55e1b78
fix(wifi/phy): fix the issue of vTaskStepTick assert failed caused by wifi baseband retention linked list
2023-07-28 13:46:30 +08:00
Li Shuai
e79d6a59ec
Merge branch 'bugfix/mac_hw_parse_beacon_ie_len_eqz_bug' into 'master'
...
fix the mac bug that hardware parse beacon of ie length equal to zero
Closes WIFI-5829
See merge request espressif/esp-idf!24255
2023-07-14 14:37:28 +08:00
Li Shuai
b84d811684
Wi-Fi/power save: fix the some mac issues of wifi power save
...
Some APs are configured to hide the SSID, the length field of the SSID element
in the Beacon frame is set to 0. This can cause incorrect parsing of the Beacon
by the Wi-Fi MAC hardware.
Some APs send two beacon frames with different BSSID in a TBTT cycle. After
correctly parsing the beacon of the associated AP, it continue to receive the
other beacon frame, which will cause the MAC to remain in a wait RX/TXING
state, blocking the Wi-Fi go to sleep.
2023-07-13 21:25:07 +08:00
Li Shuai
efa4eeafd0
light sleep: enable system clock in PMU HP sleep state when selecting a 40 MHz XTAL as low power clock source of ble
2023-07-13 20:44:56 +08:00
Li Shuai
21781b1ab1
modem clock: provide a protected wifipwr clock enable/disable interface to fix the bug of selecting xtal as the low power clock source for ble
2023-07-13 20:44:56 +08:00
Li Shuai
9950b6a527
modem clock: gatable clock interface which can gate or ungate modem clock domain
2023-07-13 20:44:56 +08:00
Li Shuai
19809bdebf
power save: fix bcn_timeout and disconnect with error code 201, m f probe req l=0 issue
2023-07-13 16:59:31 +08:00
Li Shuai
f4c3b07436
fix(rtc_clk): fix the issue of missing configuration for calibration cycles of the internal 32 kHz RC
2023-07-04 11:23:07 +08:00
Li Shuai
e505e19798
Merge branch 'bugfix/fix_rc_fast_calibration' into 'master'
...
rtc_clk: fix esp32c6/esp32h2 eco chip `RC_FAST` bad calibration value
Closes WIFI-5938
See merge request espressif/esp-idf!23927
2023-05-29 19:57:46 +08:00
Li Shuai
87dd7bb51a
Merge branch 'bugfix/support_esp32c6_sleep_retention_extra_link' into 'master'
...
support extra linked list retention for BLE and 15.4
Closes IDF-6528
See merge request espressif/esp-idf!22985
2023-05-10 15:07:03 +08:00
Li Shuai
2e22491b02
sleep retention: implement the extra linked list retention for modules with retention clock bugs
2023-05-06 14:58:00 +08:00
Li Shuai
94ebda298a
fix the issue of failure of receiving beacons in modem state caused by enabling light sleep in wifi min/max modem sleep mode
2023-04-07 05:57:15 +00:00
Li Shuai
10d02c6c5c
power save: add txq memory to mac retention link to fix tx m f null failure
2023-04-06 11:09:46 +08:00
Li Shuai
ec61a0e3cc
sleep retention: fix crash issue caused by destroying the module after the module node creation fails
2023-04-03 19:24:33 +08:00
Li Shuai
a25ce78392
sleep: fix sleep current issue caused by sar adc
2023-03-17 13:06:39 +08:00
Li Shuai
ffcec33057
modem clock: enable all clock enable of wifi module when PMU switch to ACTIVE from sleep state
2023-03-07 16:19:39 +08:00
Li Shuai
7ee1b09433
power save: wifi beacon monitor support for esp32c6
...
power save: fix multicast more data always true cause wifi goto sleep fail
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
Li Shuai
f95854dc8f
soc_caps: add SOC_PM_MODEM_RETENTION_BY_REGDMA caps
...
soc_caps: add SOC_PM_SUPPORT_BEACON_WAKEUP caps
soc_caps: add SOC_PM_SUPPORT_PMU_MODEM_STATE caps
soc_caps: add SOC_WIFI_SUPPORT_VARIABLE_BEACON_WINDOW caps
soc_caps: add SOC_PM_SUPPORT_MAC_BB_PD caps
2023-03-04 00:17:40 +08:00
Li Shuai
aec3f6db1d
light sleep: supported SoC TOP domain powered down
2023-02-15 11:46:40 +08:00
Li Shuai
6e307c04a3
clock retention: supported soc and modem system power and clock sleep retention
2023-02-15 11:46:40 +08:00
Li Shuai
d097bbe40b
sleep retention: wraps the regdma link and hardware driver to provide system sleep retention (WiFi, BLE, 15.4 and digital peripheral) support
2023-02-15 11:46:40 +08:00
Li Shuai
8c18393d23
regdma: add regdma link operation api support
2023-02-15 11:46:36 +08:00
Li Shuai
d3e0e3e3b6
pau: implement the pau regdma driver for esp32c6
2023-02-15 10:45:44 +08:00
Li Shuai
5850cd7492
pau: implement the pau regdma hal&ll layer for esp32c6
2023-02-15 10:45:44 +08:00
Li Shuai
180199319b
soc_caps: add pau link number caps
...
soc_caps: add SOC_PAU_SUPPORTED caps
soc_caps: add SOC_PM_SUPPORT_TOP_PD caps
2023-02-15 10:45:44 +08:00
Li Shuai
68594abe05
sleep: light sleep supported for esp32c6
2023-01-31 22:12:58 +08:00
Li Shuai
9b99fc9033
cpu retention: software cpu retention support for esp32c6
...
cpu retention: add riscv core sleep critical and non-critical register layout structure definition
cpu retention: add assembly subroutine for cpu critical register backup and restore
cpu retention: add cpu core critical register context backup and restore support
cpu retention: add cpu core non-critical register context backup and restore support
cpu retention: add interrupt priority register context backup and restore support
cpu retention: add cache config register context backup and restore support
cpu retention: add plic interrupt register context backup and restore support
cpu retention: add clint interrupt register context backup and restore support
cpu retention: wait icache state idle before pmu enter sleep
2023-01-31 22:12:54 +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
0f6cda1dd3
Power Management: support DFS
2023-01-31 22:12:27 +08:00
Li Shuai
2b5618606b
pmu: clean modem clock pmu related code
2023-01-31 22:12:27 +08:00
Li Shuai
c0ddaa5920
lp_timer: add hal-layer codes for esp32c6
2023-01-31 22:12:27 +08:00
Li Shuai
1eb08db0df
lp_timer: lp_timer register address mapping structure redefinition
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
Li Shuai
6c1f58f135
pmu: add hal layer codes for esp32c6
2023-01-31 22:12:27 +08:00
Li Shuai
34d0464662
pmu: pmu register address mapping structure redefinition
2023-01-31 22:12:22 +08:00
Li Shuai
4e2a32d9b3
soc_cap: add SOC_PM_SUPPORT_VDDSDIO_PD soc_caps
...
soc_cap: add SOC_PM_CPU_RETENTION_BY_SW/REGDMA
soc caps: add SOC_PMU_SUPPORTED
2023-01-31 22:12:18 +08:00
Li Shuai
3ce896429c
periph clock: implemented the modem module enable, disable and reset for esp32c6
2022-12-27 21:31:59 +08:00
Li Shuai
e9172ddcea
initialize the clock gating control signal of each modem clock domain
2022-12-27 21:31:59 +08:00
Li Shuai
63af1e9631
modem clock(driver): implemented the modem clock driver for esp32c6
2022-12-27 21:31:59 +08:00
Li Shuai
8c05d6fd9d
modem clock(hal): implemented the modem clock hal-layer for esp32c6
2022-12-27 21:31:21 +08:00
Li Shuai
28dfaeaaef
modem clock(ll): implemented the modem clock ll-layer (include modem syscon and lpcon) for esp32c6
2022-12-27 21:31:21 +08:00
Li Shuai
17f9285524
esp32c6: add SOC_MODEM_CLOCK_IS_INDEPENDENT soc_cap and more pd_caps
2022-12-27 21:31:21 +08:00
Li Shuai
526a9c665a
backup dma: force clear reset signal to fix the backup dma operation failure caused by RTC_SW_CPU_RST
2022-10-20 03:24:49 +00:00
Li Shuai
4f2cec8495
1. Wi-Fi: update tsf tick interval when lpclk is modified
...
2. Move register_lpclk_callback to coexistence
2022-08-04 14:11:25 +08:00
Li Shuai
4afc115397
Power Management: fix the issue of sleeping time error beacause external 32kHz xtal does not exist
2022-08-04 14:01:34 +08:00
Li Shuai
7efa8b855a
sleep: beacon loss and noise check timer optimize for wifi power save
2022-06-09 15:52:05 +08:00