Commit Graph

399 Commits

Author SHA1 Message Date
Tomas Rezucha
994d2b4203 fix(usb_phy): Fixed USB PHY clock during low-power modes
On ESP32-S3, USB PHY is clocked from BBPLL,
however if the BBPLL is not used as CPU clock source,
the power management unit can turn it off.
This commit registers USB as BBPLL consumer so it is not turned off.

Closes https://github.com/espressif/esp-idf/issues/15451
2026-09-08 14:47:25 +02:00
wuzhenghui
11c590c053 change(esp_hw_support): optimize retention driver RAM cost 2026-08-31 15:26:18 +08:00
wuzhenghui
a3b62bc3c4 fix(esp_hw_support): fix ESP32-S31 CPU/DFS clk_tree refcount and keep clock source during DFS 2026-08-20 16:00:52 +08:00
cjin
5533d153f5 feat(sleep): applied regi2c conflict process at regdma rf 2026-08-14 16:29:55 +08:00
hebinglin
57daf0a8f7 feat(esp_hw_support): add backup clk icg support 2026-07-29 17:09:34 +08:00
hebinglin
a4889bd73d change(esp_hw_support): refactor pmu/esp_sleep param struct 2026-07-29 15:23:09 +08:00
hebinglin
33591e16b6 change(esp_hw_support): split the sleep_clock_icg APIs into sleep_clock_icg.c 2026-07-29 15:23:09 +08:00
hebinglin
d6b0a50c5d change(esp_hw_support): add esp sleep lock APIs for use in the sleep flow 2026-07-29 15:23:09 +08:00
wuzhenghui
11ccd4c304 feat(esp_hw_support): support esp32s31 clock tree management 2026-07-22 16:32:12 +08:00
cjin
63565f7f02 feat(modem): add phy retention related api 2026-07-17 11:04:26 +08:00
cjin
23239e4d99 feat(phy): add skip list to sleep phy link context and fix deinit crash 2026-07-17 11:04:26 +08:00
cjin
0d8ef62e8f feat(sleep): add config SOC_PM_SUPPORT_REGDMA_TRIGGERED_PHY 2026-07-17 11:04:26 +08:00
cjin
6ec7a718f9 feat(sleep_modem): allow multi modem to enable rf with regdma 2026-07-17 11:04:26 +08:00
cjin
226f11da96 feat(modem): rename the sleep modem functions 2026-07-17 11:04:26 +08:00
cjin
62397932f9 feat(phy): added skip method for phy retention list 2026-07-17 11:04:26 +08:00
cjin
d151c1804b feat(phy): rename sleep modem state to sleep phy 2026-07-17 11:04:26 +08:00
morris
50bce17e15 Merge branch 'refactor/move_etm_retention_to_driver_layer' into 'master'
refactor(etm): move ETM retention info from HAL to driver layer

See merge request espressif/esp-idf!50669
2026-07-15 12:07:17 +08:00
hebinglin
e71b30c279 feat(esp_hw_support): add analog_wait calibration in sleep flow for h4 2026-07-14 17:13:32 +08:00
morris
bedeedafec refactor(etm): move ETM retention info from HAL to driver layer
Move soc_etm_retention_desc_t type definition and soc_etm_retention_info
data from hal component to esp_hw_support component, following the
pattern of other peripheral retention data (e.g. MWDT).

- Create esp_private/etm_retention.h with type and extern declaration
- Create port/<target>/etm_retention.c for each target with retention data
- Remove hal/<target>/etm_periph.c and hal/include/hal/etm_periph.h
- Update esp_etm.c to include the new header
- Update CMakeLists.txt in both components
2026-07-13 15:37:52 +08:00
wuzhenghui
18dac21544 fix(esp_hw_support): fix esp32s31 sleeping cache writeback logic 2026-07-03 19:13:05 +08:00
Li Shuai
d69aed64ad Merge branch 'feat/pm-788' into 'master'
support sleep retention destroy callback

Closes PM-788

See merge request espressif/esp-idf!49568
2026-06-30 11:55:57 +08:00
Li Shuai
b624a348ad fix(esp_hw_support): apply some suggestions 2026-06-26 15:18:44 +08:00
Wu Zheng Hui
7e4773ef38 Merge branch 'feat/support_esp32s31_icg_control' into 'master'
feat(esp_hw_support): support PMU clock ICG management for esp32s31

Closes PM-760

See merge request espressif/esp-idf!48863
2026-06-18 16:21:32 +08:00
wuzhenghui
0c7caf79b5 feat(esp_hw_support): implement software CPU retention synchronization for SMP sleep modes 2026-06-18 09:41:41 +08:00
wuzhenghui
61be47b739 feat(esp_hw_support): support PMU clock ICG management for esp32s31 2026-06-17 11:34:37 +08:00
Li Shuai
4011a4de74 feat(esp_hw_support): support sleep retention destroy callback 2026-06-11 11:32:31 +08:00
JiangGuangMing
6020aec177 fix(usb): address wakeup example review comments
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-10 18:59:24 +08:00
Jiang Guang Ming
d65b467108 fix(usb): address usb wakeup review comments 2026-06-10 15:14:37 +08:00
morris
38c4f27102 fix(iomux): move clock source gating to IOMUX consumers
Remove io_mux_set_clock_source internal source enabling and make SDM,
ana_cmpr, and gpio glitch filter drivers explicitly manage clock source
enable/disable with safe cleanup paths.
2026-05-22 19:10:08 +08:00
hebinglin
b160ba668d change(esp_hw_support): add i2c_mst_st_map and lp_apb_st_map in h4 i2c_mst enable way 2026-05-22 15:18:31 +08:00
He Binglin
9c3a6b3f5d Merge branch 'feat/esp_idf_h4_optimize' into 'master'
Feat/esp idf h4 retention and active clk power optimize

Closes PM-746, PM-745, and PM-736

See merge request espressif/esp-idf!48319
2026-05-22 10:55:43 +08:00
Ondrej Kosta
fc41e66e47 Merge branch 'feat/gmac_s31' into 'master'
Feat/gmac s31

Closes IDF-14730

See merge request espressif/esp-idf!48029
2026-05-21 22:51:44 +08:00
hebinglin
1c279178fa feat(esp_hw_support): support bbpll pd in modem state 2026-05-21 20:03:45 +08:00
hebinglin
5710783a89 feat(esp_hw_support): support entry 2 xtalx2 power pu in esp32h4 2026-05-21 19:55:37 +08:00
Ondrej Kosta
c7d6c41198 feat(clk_tree): support derived PLL clocks
Add a generic derived-PLL clock engine to esp_clk_tree_common that
handles acquire/release, mux selection, and divider programming for
target-defined derived clocks. Per-target descriptors (ESP32-P4,
ESP32-S31) plug into the engine via
esp_clk_tree_get_derived_clk_desc().
2026-05-21 15:59:42 +08:00
Li Shuai
7b541be9d5 add comment for sleep_retention_module_detach interface 2026-05-21 11:46:16 +08:00
Li Shuai
f01e818c40 add comment for sleep_retention_module_attach interface 2026-05-21 11:46:16 +08:00
Li Shuai
3bef3296c9 fix(esp_hw_support): fix regdma link dump to print module number 2026-05-21 11:46:16 +08:00
Li Shuai
aa56e1af2e feat(esp_hw_support): support sleep retention module runtime attach and detach 2026-05-21 11:46:16 +08:00
Li Shuai
c4a8b106ce change(esp_hw_support): duplicate module sleep retention entries context to support module attach and detach 2026-05-21 11:46:16 +08:00
wanckl
2521f3887a fix(esp_hw_support): fixed spi buslock multi dev acq/release logic issue 2026-05-11 19:36:40 +08:00
cjin
b6643c4786 feat(ble): supported ble light sleep feat on esp32s31 2026-05-11 08:34:15 +08:00
wuzhenghui
3a40436e63 refactor(esp_hw_support): refactor cache ops to sleep_cache.c 2026-05-07 12:02:06 +08:00
wuzhenghui
820475f0e7 fix(esp_hw_support): 1v8 flash/psram dedicate ldo depends on pd_cur on 2026-05-07 12:02:06 +08:00
wuzhenghui
7c10126309 feat(esp_hw_support): isolate all digital io to suppress pad leakage on TOP pd sleep 2026-05-07 08:39:56 +08:00
wuzhenghui
54fed4c1c3 feat(esp_hw_support): update esp32s31 PMU support 2026-05-06 20:15:01 +08:00
sibeibei
5c936ee229 fix(wifi): fix modem sleep flag clear failed 2026-04-23 20:30:26 +08:00
Tomas Rezucha
6e0878131e Revert "fix(esp_hw_support): Fix deepsleep leakage after initializing USB HS phy"
This reverts commit 7107177e2d.
2026-04-22 10:05:46 +02:00
Chen Jichang
6e206dd173 refactor(clk_tree): use general api to enable the clk 2026-04-16 20:03:06 +08:00
Wu Zheng Hui
1dbf5247d1 Merge branch 'feat/support_gpio_source_for_more_chips' into 'master'
feat(esp_hw_support): support GPIO wakeup deepsleep on esp32/esp32s2/esp32s3

Closes PM-666

See merge request espressif/esp-idf!45773
2026-03-26 11:28:45 +08:00