fix(esp_system): fix mspi write stuck after cpu/digital reset on c5/c61
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
#include "hal/lpwdt_ll.h"
|
||||
#include "hal/regi2c_ctrl_ll.h"
|
||||
#include "hal/brownout_ll.h"
|
||||
#include "hal/axi_icm_ll.h"
|
||||
|
||||
static const char *TAG = "boot.esp32c5";
|
||||
|
||||
@@ -85,6 +86,9 @@ static void bootloader_super_wdt_auto_feed(void)
|
||||
|
||||
static inline void bootloader_hardware_init(void)
|
||||
{
|
||||
// Clear bit reset_event_bypass to ensure that the system bus is also reset during a core reset (WDT),
|
||||
// preventing bus freezing caused by an incorrect MSPI core reset in ROM.
|
||||
axi_icm_ll_reset_with_core_reset(true);
|
||||
_regi2c_ctrl_ll_master_enable_clock(true); // keep ana i2c mst clock always enabled in bootloader
|
||||
regi2c_ctrl_ll_master_force_enable_clock(true); // TODO: IDF-8667 Remove this?
|
||||
regi2c_ctrl_ll_master_configure_clock();
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
#include "hal/lpwdt_ll.h"
|
||||
#include "hal/regi2c_ctrl_ll.h"
|
||||
#include "hal/brownout_ll.h"
|
||||
#include "hal/axi_icm_ll.h"
|
||||
|
||||
static const char *TAG = "boot.esp32c61";
|
||||
|
||||
@@ -86,6 +87,9 @@ static void bootloader_super_wdt_auto_feed(void)
|
||||
|
||||
static inline void bootloader_hardware_init(void)
|
||||
{
|
||||
// Clear bit reset_event_bypass to ensure that the system bus is also reset during a core reset (WDT),
|
||||
// preventing bus freezing caused by an incorrect MSPI core reset in ROM.
|
||||
axi_icm_ll_reset_with_core_reset(true);
|
||||
_regi2c_ctrl_ll_master_enable_clock(true); // keep ana i2c mst clock always enabled in bootloader
|
||||
regi2c_ctrl_ll_master_force_enable_clock(true); // TODO: IDF-9274 Remove this?
|
||||
regi2c_ctrl_ll_master_configure_clock();
|
||||
|
||||
Reference in New Issue
Block a user