Skip to content

Commit dd5a5f1

Browse files
committed
feat(esp_hw_support): support DCDC always on
1 parent 79c48b4 commit dd5a5f1

File tree

13 files changed

+77
-39
lines changed

13 files changed

+77
-39
lines changed

components/esp_hw_support/include/esp_private/esp_pmu.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ void pmu_sleep_shutdown_dcdc(void);
270270
* @brief DCDC has taken over power supply, shut down LDO to save power consumption
271271
*/
272272
void pmu_sleep_shutdown_ldo(void);
273-
#endif
273+
#endif // SOC_DCDC_SUPPORTED
274274

275275
/**
276276
* @brief Enter deep or light sleep mode
@@ -302,9 +302,10 @@ uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt, uint32_t lslp
302302

303303
/**
304304
* @brief Finish sleep process settings and get sleep reject status
305+
* @param dslp True if sleep requests id deep-sleep
305306
* @return return sleep reject status
306307
*/
307-
bool pmu_sleep_finish(void);
308+
bool pmu_sleep_finish(bool dslp);
308309

309310
/**
310311
* @brief Initialize PMU related power/clock/digital parameters and functions

components/esp_hw_support/lowpower/cpu_retention/port/esp32c5/sleep_cpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -435,7 +435,7 @@ static IRAM_ATTR esp_err_t do_cpu_retention(sleep_cpu_entry_cb_t goto_sleep,
435435
}
436436
#endif
437437

438-
return pmu_sleep_finish();
438+
return pmu_sleep_finish(dslp);
439439
}
440440

441441
esp_err_t IRAM_ATTR esp_sleep_cpu_retention(uint32_t (*goto_sleep)(uint32_t, uint32_t, uint32_t, bool),

components/esp_hw_support/lowpower/cpu_retention/port/esp32c6/sleep_cpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ static IRAM_ATTR esp_err_t do_cpu_retention(sleep_cpu_entry_cb_t goto_sleep,
475475
}
476476
#endif
477477

478-
return pmu_sleep_finish();
478+
return pmu_sleep_finish(dslp);
479479
}
480480

481481
esp_err_t IRAM_ATTR esp_sleep_cpu_retention(uint32_t (*goto_sleep)(uint32_t, uint32_t, uint32_t, bool),

components/esp_hw_support/lowpower/cpu_retention/port/esp32h2/sleep_cpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,7 @@ static IRAM_ATTR esp_err_t do_cpu_retention(sleep_cpu_entry_cb_t goto_sleep,
475475
}
476476
#endif
477477

478-
return pmu_sleep_finish();
478+
return pmu_sleep_finish(dslp);
479479
}
480480

481481
esp_err_t IRAM_ATTR esp_sleep_cpu_retention(uint32_t (*goto_sleep)(uint32_t, uint32_t, uint32_t, bool),

components/esp_hw_support/lowpower/cpu_retention/port/esp32p4/sleep_cpu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ static TCM_IRAM_ATTR esp_err_t do_cpu_retention(sleep_cpu_entry_cb_t goto_sleep,
429429
}
430430
#endif
431431

432-
return pmu_sleep_finish();
432+
return pmu_sleep_finish(dslp);
433433
}
434434

435435
esp_err_t TCM_IRAM_ATTR esp_sleep_cpu_retention(uint32_t (*goto_sleep)(uint32_t, uint32_t, uint32_t, bool),

components/esp_hw_support/port/esp32c5/pmu_sleep.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,11 +274,12 @@ uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt, uint32_t lslp
274274
;
275275
}
276276

277-
return pmu_sleep_finish();
277+
return pmu_sleep_finish(dslp);
278278
}
279279

280-
bool pmu_sleep_finish(void)
280+
bool pmu_sleep_finish(bool dslp)
281281
{
282+
(void)dslp;
282283
return pmu_ll_hp_is_sleep_reject(PMU_instance()->hal->dev);
283284
}
284285

components/esp_hw_support/port/esp32c6/pmu_sleep.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,11 +341,12 @@ uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt, uint32_t lslp
341341
;
342342
}
343343

344-
return pmu_sleep_finish();
344+
return pmu_sleep_finish(dslp);
345345
}
346346

347-
bool pmu_sleep_finish(void)
347+
bool pmu_sleep_finish(bool dslp)
348348
{
349+
(void)dslp;
349350
return pmu_ll_hp_is_sleep_reject(PMU_instance()->hal->dev);
350351
}
351352

components/esp_hw_support/port/esp32h2/pmu_sleep.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,12 @@ uint32_t pmu_sleep_start(uint32_t wakeup_opt, uint32_t reject_opt, uint32_t lslp
258258
;
259259
}
260260

261-
return ESP_OK;
261+
return pmu_sleep_finish(dslp);
262262
}
263263

264-
bool pmu_sleep_finish(void)
264+
bool pmu_sleep_finish(bool dslp)
265265
{
266+
(void)dslp;
266267
return pmu_ll_hp_is_sleep_reject(PMU_instance()->hal->dev);
267268
}
268269

components/esp_hw_support/port/esp32p4/Kconfig.dcdc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ menu "DCDC Regulator Configurations"
2424
value according to the model of external DCDC selected in your hardware solution.
2525

2626
For the DCDC chip model recommended by ESP, the recommended configuration
27-
valuesare listed below:
28-
- TI-TLV62569/TLV62569P: 14
27+
values are listed below:
28+
29+
- TI-TLV62569/TLV62569P: 14
2930
endmenu

components/esp_hw_support/port/esp32p4/pmu_init.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ void pmu_hp_system_init(pmu_context_t *ctx, pmu_hp_mode_t mode, pmu_hp_system_pa
7979
pmu_ll_hp_set_bias_xpd (ctx->hal->dev, mode, anlg->bias.xpd_bias);
8080
pmu_ll_hp_set_dcm_mode (ctx->hal->dev, mode, anlg->bias.dcm_mode);
8181
pmu_ll_hp_set_dcm_vset (ctx->hal->dev, mode, anlg->bias.dcm_vset);
82-
pmu_ll_hp_set_bias_xpd (ctx->hal->dev, mode, anlg->bias.xpd_bias);
8382
pmu_ll_hp_set_dbg_atten (ctx->hal->dev, mode, anlg->bias.dbg_atten);
8483
pmu_ll_hp_set_current_power_off (ctx->hal->dev, mode, anlg->bias.pd_cur);
8584
pmu_ll_hp_set_bias_sleep_enable (ctx->hal->dev, mode, anlg->bias.bias_sleep);

0 commit comments

Comments
 (0)