mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
ulp riscv: force cocpu clock on to prevent spurious cocpu trap resets
Closes https://github.com/espressif/esp-idf/issues/7224
This commit is contained in:
parent
878e3f8468
commit
b667770cc6
@ -32,12 +32,16 @@
|
||||
esp_err_t ulp_riscv_run(void)
|
||||
{
|
||||
/* Reset COCPU when power on. */
|
||||
SET_PERI_REG_MASK(RTC_CNTL_COCPU_CTRL_REG, RTC_CNTL_COCPU_CLK_FO);
|
||||
SET_PERI_REG_MASK(RTC_CNTL_COCPU_CTRL_REG, RTC_CNTL_COCPU_SHUT_RESET_EN);
|
||||
|
||||
/* The coprocessor cpu trap signal doesnt have a stable reset value,
|
||||
force ULP-RISC-V clock on to stop RTC_COCPU_TRAP_TRIG_EN from waking the CPU*/
|
||||
SET_PERI_REG_MASK(RTC_CNTL_COCPU_CTRL_REG, RTC_CNTL_COCPU_CLK_FO);
|
||||
|
||||
esp_rom_delay_us(20);
|
||||
CLEAR_PERI_REG_MASK(RTC_CNTL_COCPU_CTRL_REG, RTC_CNTL_COCPU_CLK_FO);
|
||||
CLEAR_PERI_REG_MASK(RTC_CNTL_COCPU_CTRL_REG, RTC_CNTL_COCPU_SHUT_RESET_EN);
|
||||
|
||||
|
||||
/* Disable ULP timer */
|
||||
CLEAR_PERI_REG_MASK(RTC_CNTL_ULP_CP_TIMER_REG, RTC_CNTL_ULP_CP_SLP_TIMER_EN);
|
||||
/* wait for at least 1 RTC_SLOW_CLK cycle */
|
||||
@ -55,6 +59,7 @@ esp_err_t ulp_riscv_run(void)
|
||||
return ESP_OK;
|
||||
}
|
||||
|
||||
|
||||
esp_err_t ulp_riscv_load_binary(const uint8_t* program_binary, size_t program_size_bytes)
|
||||
{
|
||||
if (program_binary == NULL) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user