From 59a8a8a54a24cd84458efee17b9fbc8fce48155f Mon Sep 17 00:00:00 2001 From: wuzhenghui Date: Mon, 15 Apr 2024 11:19:49 +0800 Subject: [PATCH] fix(esp_hw_support): decrease DCDC volt with increase LDO volt in LDO take over preparation --- components/esp_hw_support/port/esp32p4/pmu_sleep.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/esp_hw_support/port/esp32p4/pmu_sleep.c b/components/esp_hw_support/port/esp32p4/pmu_sleep.c index 578c14115e..aabdc45bd0 100644 --- a/components/esp_hw_support/port/esp32p4/pmu_sleep.c +++ b/components/esp_hw_support/port/esp32p4/pmu_sleep.c @@ -257,13 +257,13 @@ void pmu_sleep_init(const pmu_sleep_config_t *config, bool dslp) void pmu_sleep_increase_ldo_volt(void) { REG_SET_FIELD(PMU_HP_ACTIVE_HP_REGULATOR0_REG, PMU_HP_ACTIVE_HP_REGULATOR_DBIAS, 30); REG_SET_BIT(PMU_HP_ACTIVE_HP_REGULATOR0_REG, PMU_HP_ACTIVE_HP_REGULATOR_XPD); + // Decrease the DCDC voltage to reduce the voltage difference between the DCDC and the LDO to avoid overshooting the DCDC voltage during wake-up. + REG_SET_FIELD(PMU_HP_ACTIVE_BIAS_REG, PMU_HP_ACTIVE_DCM_VSET, 24); } void pmu_sleep_shutdown_dcdc(void) { SET_PERI_REG_MASK(LP_SYSTEM_REG_SYS_CTRL_REG, LP_SYSTEM_REG_LP_FIB_DCDC_SWITCH); //0: enable, 1: disable REG_SET_BIT(PMU_DCM_CTRL_REG, PMU_DCDC_OFF_REQ); - // Decrease the DCDC voltage to reduce the voltage difference between the DCDC and the LDO to avoid overshooting the DCDC voltage during wake-up. - REG_SET_FIELD(PMU_HP_ACTIVE_BIAS_REG, PMU_HP_ACTIVE_DCM_VSET, 24); // Decrease hp_ldo voltage. REG_SET_FIELD(PMU_HP_ACTIVE_HP_REGULATOR0_REG, PMU_HP_ACTIVE_HP_REGULATOR_DBIAS, 24); }