mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
fix(esp_hw_support): set pau entry backup configuration with link update
This commit is contained in:
parent
1854036f92
commit
2ab144dc3a
@ -247,19 +247,6 @@ void pmu_sleep_init(const pmu_sleep_config_t *config, bool dslp)
|
|||||||
}
|
}
|
||||||
pmu_sleep_analog_init(PMU_instance(), &config->analog, dslp);
|
pmu_sleep_analog_init(PMU_instance(), &config->analog, dslp);
|
||||||
pmu_sleep_param_init(PMU_instance(), &config->param, dslp);
|
pmu_sleep_param_init(PMU_instance(), &config->param, dslp);
|
||||||
|
|
||||||
// When light sleep (PD_TOP), the PAU will power down. so need use LP_SYS_BACKUP_DMA_CFG2_REG to store recover link address.
|
|
||||||
if (!dslp && PMU.hp_sys[PMU_MODE_HP_SLEEP].dig_power.top_pd_en) {
|
|
||||||
if (PMU.hp_sys[PMU_MODE_HP_SLEEP].backup.hp_active2sleep_backup_en ||
|
|
||||||
PMU.hp_sys[PMU_MODE_HP_ACTIVE].backup.hp_sleep2active_backup_en) {
|
|
||||||
uint32_t link_sel = PMU.hp_sys[PMU_MODE_HP_SLEEP].backup.hp_active2sleep_backup_mode & 0x3;
|
|
||||||
uint32_t link_addr = REG_READ(PAU_REGDMA_LINK_0_ADDR_REG + link_sel * 4);
|
|
||||||
lp_sys_ll_set_pau_link_addr(link_addr);
|
|
||||||
pmu_sleep_enable_regdma_backup();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
pmu_sleep_disable_regdma_backup();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void pmu_sleep_increase_ldo_volt(void) {
|
void pmu_sleep_increase_ldo_volt(void) {
|
||||||
|
@ -20,6 +20,10 @@ void pau_hal_set_regdma_entry_link_addr(pau_hal_context_t *hal, pau_regdma_link_
|
|||||||
pau_ll_set_regdma_link2_addr(hal->dev, (*link_addr)[2]);
|
pau_ll_set_regdma_link2_addr(hal->dev, (*link_addr)[2]);
|
||||||
/* The link 3 of REGDMA is reserved, PMU state switching will not use
|
/* The link 3 of REGDMA is reserved, PMU state switching will not use
|
||||||
* REGDMA link 3 */
|
* REGDMA link 3 */
|
||||||
|
|
||||||
|
// When light sleep (PD_TOP), the PAU will power down. so need use LP_SYS_BACKUP_DMA_CFG2_REG
|
||||||
|
// to store recover link address. We always use link0 as the default retention entry.
|
||||||
|
lp_sys_ll_set_pau_link_addr((uint32_t)(*link_addr)[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
void IRAM_ATTR pau_hal_start_regdma_modem_link(pau_hal_context_t *hal, bool backup_or_restore)
|
void IRAM_ATTR pau_hal_start_regdma_modem_link(pau_hal_context_t *hal, bool backup_or_restore)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user