forked from espressif/esp-idf
fix(esp_hw_support): fix pmu power domain initialize order
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -137,22 +137,22 @@ static inline void pmu_power_domain_force_default(pmu_context_t *ctx)
|
|||||||
};
|
};
|
||||||
|
|
||||||
for (uint8_t idx = 0; idx < (sizeof(pmu_hp_domains) / sizeof(pmu_hp_power_domain_t)); idx++) {
|
for (uint8_t idx = 0; idx < (sizeof(pmu_hp_domains) / sizeof(pmu_hp_power_domain_t)); idx++) {
|
||||||
pmu_ll_hp_set_power_force_reset (ctx->hal->dev, pmu_hp_domains[idx], false);
|
|
||||||
pmu_ll_hp_set_power_force_isolate (ctx->hal->dev, pmu_hp_domains[idx], false);
|
|
||||||
pmu_ll_hp_set_power_force_power_up (ctx->hal->dev, pmu_hp_domains[idx], false);
|
pmu_ll_hp_set_power_force_power_up (ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
pmu_ll_hp_set_power_force_no_reset (ctx->hal->dev, pmu_hp_domains[idx], false);
|
pmu_ll_hp_set_power_force_no_reset (ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
pmu_ll_hp_set_power_force_no_isolate(ctx->hal->dev, pmu_hp_domains[idx], false);
|
pmu_ll_hp_set_power_force_no_isolate(ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
pmu_ll_hp_set_power_force_power_down(ctx->hal->dev, pmu_hp_domains[idx], false);
|
pmu_ll_hp_set_power_force_power_down(ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
|
pmu_ll_hp_set_power_force_isolate (ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
|
pmu_ll_hp_set_power_force_reset (ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
}
|
}
|
||||||
/* Isolate all memory banks while sleeping, avoid memory leakage current */
|
/* Isolate all memory banks while sleeping, avoid memory leakage current */
|
||||||
pmu_ll_hp_set_memory_no_isolate (ctx->hal->dev, 0);
|
pmu_ll_hp_set_memory_no_isolate (ctx->hal->dev, 0);
|
||||||
|
|
||||||
pmu_ll_lp_set_power_force_reset (ctx->hal->dev, false);
|
|
||||||
pmu_ll_lp_set_power_force_isolate (ctx->hal->dev, false);
|
|
||||||
pmu_ll_lp_set_power_force_power_up (ctx->hal->dev, false);
|
pmu_ll_lp_set_power_force_power_up (ctx->hal->dev, false);
|
||||||
pmu_ll_lp_set_power_force_no_reset (ctx->hal->dev, false);
|
pmu_ll_lp_set_power_force_no_reset (ctx->hal->dev, false);
|
||||||
pmu_ll_lp_set_power_force_no_isolate(ctx->hal->dev, false);
|
pmu_ll_lp_set_power_force_no_isolate(ctx->hal->dev, false);
|
||||||
pmu_ll_lp_set_power_force_power_down(ctx->hal->dev, false);
|
pmu_ll_lp_set_power_force_power_down(ctx->hal->dev, false);
|
||||||
|
pmu_ll_lp_set_power_force_isolate (ctx->hal->dev, false);
|
||||||
|
pmu_ll_lp_set_power_force_reset (ctx->hal->dev, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void pmu_hp_system_param_default(pmu_hp_mode_t mode, pmu_hp_system_param_t *param)
|
static inline void pmu_hp_system_param_default(pmu_hp_mode_t mode, pmu_hp_system_param_t *param)
|
||||||
|
@@ -136,23 +136,23 @@ static inline void pmu_power_domain_force_default(pmu_context_t *ctx)
|
|||||||
};
|
};
|
||||||
|
|
||||||
for (uint8_t idx = 0; idx < (sizeof(pmu_hp_domains) / sizeof(pmu_hp_power_domain_t)); idx++) {
|
for (uint8_t idx = 0; idx < (sizeof(pmu_hp_domains) / sizeof(pmu_hp_power_domain_t)); idx++) {
|
||||||
pmu_ll_hp_set_power_force_reset (ctx->hal->dev, pmu_hp_domains[idx], false);
|
|
||||||
pmu_ll_hp_set_power_force_isolate (ctx->hal->dev, pmu_hp_domains[idx], false);
|
|
||||||
pmu_ll_hp_set_power_force_power_up (ctx->hal->dev, pmu_hp_domains[idx], false);
|
pmu_ll_hp_set_power_force_power_up (ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
pmu_ll_hp_set_power_force_no_reset (ctx->hal->dev, pmu_hp_domains[idx], false);
|
pmu_ll_hp_set_power_force_no_reset (ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
pmu_ll_hp_set_power_force_no_isolate(ctx->hal->dev, pmu_hp_domains[idx], false);
|
pmu_ll_hp_set_power_force_no_isolate(ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
pmu_ll_hp_set_power_force_power_down(ctx->hal->dev, pmu_hp_domains[idx], false);
|
pmu_ll_hp_set_power_force_power_down(ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
|
pmu_ll_hp_set_power_force_isolate (ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
|
pmu_ll_hp_set_power_force_reset (ctx->hal->dev, pmu_hp_domains[idx], false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Isolate all memory banks while sleeping, avoid memory leakage current */
|
/* Isolate all memory banks while sleeping, avoid memory leakage current */
|
||||||
pmu_ll_hp_set_memory_no_isolate (ctx->hal->dev, 0);
|
pmu_ll_hp_set_memory_no_isolate (ctx->hal->dev, 0);
|
||||||
|
|
||||||
pmu_ll_lp_set_power_force_reset (ctx->hal->dev, false);
|
|
||||||
pmu_ll_lp_set_power_force_isolate (ctx->hal->dev, false);
|
|
||||||
pmu_ll_lp_set_power_force_power_up (ctx->hal->dev, false);
|
pmu_ll_lp_set_power_force_power_up (ctx->hal->dev, false);
|
||||||
pmu_ll_lp_set_power_force_no_reset (ctx->hal->dev, false);
|
pmu_ll_lp_set_power_force_no_reset (ctx->hal->dev, false);
|
||||||
pmu_ll_lp_set_power_force_no_isolate(ctx->hal->dev, false);
|
pmu_ll_lp_set_power_force_no_isolate(ctx->hal->dev, false);
|
||||||
pmu_ll_lp_set_power_force_power_down(ctx->hal->dev, false);
|
pmu_ll_lp_set_power_force_power_down(ctx->hal->dev, false);
|
||||||
|
pmu_ll_lp_set_power_force_isolate (ctx->hal->dev, false);
|
||||||
|
pmu_ll_lp_set_power_force_reset (ctx->hal->dev, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void pmu_hp_system_param_default(pmu_hp_mode_t mode, pmu_hp_system_param_t *param)
|
static inline void pmu_hp_system_param_default(pmu_hp_mode_t mode, pmu_hp_system_param_t *param)
|
||||||
|
Reference in New Issue
Block a user