Li Shuai
8920cce89e
Merge branch 'bugfix/pm-107' into 'master'
...
fix esp32c6 failed to enter light sleep caused by soc wakeup request signal
Closes PM-107
See merge request espressif/esp-idf!30551
2024-05-08 16:39:05 +08:00
Li Shuai
ddd65e1f54
fix(esp_wifi): clear soc wakeup request signal at tbtt process
2024-05-08 10:40:16 +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
Li Shuai
5b766e63c0
Merge branch 'bugfix/wifi_bt_mac_bb_pd_light_sleep' into 'master'
...
fixes some sleep related issues
Closes AUD-3278
See merge request espressif/esp-idf!15844
2021-11-15 05:05:47 +00:00
Li Shuai
37e1e9c540
Merge branch 'bugfix/memory_region_define_rtc_fast' into 'master'
...
substract rtc_iram_seg memory region size from ESP_BOOTLOADER_RESERVE_RTC
Closes WIFI-4115
See merge request espressif/esp-idf!15743
2021-11-15 02:34:35 +00:00
Li Shuai
c99cb930c3
sleep: deep sleep does not need cpu and wifi/bt mac retention
2021-11-12 17:46:56 +08:00
Li Shuai
d9e3204115
light sleep: replace new kconfig option of mac bb power down & phy reduce tx power
2021-11-12 17:46:18 +08:00
Li Shuai
bf650edc55
fix the wifi scan fail issue caused by the power off the wifi power domain
2021-11-08 20:59:10 +08:00
Li Shuai
1bae39887c
docs: add a note for deep sleep crc check
2021-11-06 14:31:07 +08:00
Li Shuai
9ac58e32a2
substract rtc_iram_seg memory region size from ESP_BOOTLOADER_RESERVE_RTC
2021-10-29 21:24:09 +08:00
Li Shuai
e8188e5d8f
ci: replacing old header with new SPDX header style
2021-10-20 11:36:23 +08:00
Li Shuai
7c7f3aa84e
unit test: add sleep test case for esp32s3
2021-10-20 11:36:23 +08:00
Li Shuai
a939f7d34b
light sleep: add software workaround for esp32s3 gpio reset issue
2021-10-20 11:36:22 +08:00
Li Shuai
44da7d27ef
heap: add a new heap caps attribute for RTC fast memory
2021-10-20 11:36:22 +08:00
Li Shuai
62a4587e87
deep sleep: modified to support dual-core mode
2021-10-20 11:36:22 +08:00
Li Shuai
881e1b0fd5
deep sleep: add deep sleep support for esp32s3
2021-10-20 11:36:20 +08:00
Li Shuai
9298db641e
deep sleep: fix some rtc fast memory definition errors in esp32s3
2021-10-19 21:47:27 +08:00
Li Shuai
a50312fa63
unit-test: fix esp32 phy enable test case
2021-10-18 19:42:52 +08:00
Li Shuai
c2910c15f4
Merge branch 'bugfix/wifi_bt_power_domain_leakage_current' into 'master'
...
fix wifi and bt power domain leakage current in light sleep
See merge request espressif/esp-idf!15236
2021-10-14 05:10:55 +00:00
Li Shuai
46dedca23c
ci: replace old header with new SPDX header style
2021-10-14 10:51:10 +08:00
Li Shuai
73829221f5
esp_hw_support: force power down wifi and bt power domain when rtc module init
2021-10-14 10:51:10 +08:00
Li Shuai
b774342402
Power Management: power up or down wifi power domain when wifi init or deinit
2021-10-14 10:51:07 +08:00
Li Shuai
b3e27403f3
esp_hw_support: keep external 40 MHz xtal related analog circuit power on during sleep
2021-09-16 14:46:21 +08:00
Li Shuai
58292a7d22
Power Management: add XTAL power domain to control whether external 40MHz xtal is powered down during sleep
2021-09-16 14:43:43 +08:00
Li Shuai
f5b39a7cde
esp_hw_support: No voltage drop during light sleep to ensure stable output clock of rtc8m oscillator
2021-09-16 14:40:46 +08:00