Merge branch 'feature/support_suspend_on_120m_v5.2' into 'release/v5.2'

feat(spi_flash): Enable auto suspend on when flash works under 120M (backport v5.2)

See merge request espressif/esp-idf!27951
This commit is contained in:
Jiang Jiang Jian
2023-12-26 10:42:32 +08:00
8 changed files with 104 additions and 0 deletions

View File

@@ -274,6 +274,24 @@ static inline void spimem_flash_ll_auto_wait_idle_init(spi_mem_dev_t *dev, bool
dev->flash_sus_cmd.flash_pes_wait_en = 1;
}
/**
* This function is used to set dummy phase when auto suspend is enabled.
*
* @note This function is only used when timing tuning is enabled. This function is only used in quad flash
*
* @param dev Beginning address of the peripheral registers.
* @param extra_dummy extra dummy length. Get from timing tuning.
*/
static inline void spimem_flash_ll_set_wait_idle_dummy_phase(spi_mem_dev_t *dev, uint32_t extra_dummy)
{
if (extra_dummy > 0) {
dev->flash_waiti_ctrl.waiti_dummy_cyclelen = extra_dummy - 1;
dev->flash_waiti_ctrl.waiti_dummy = 1;
} else {
dev->flash_waiti_ctrl.waiti_dummy = 0;
}
}
/**
* Return the suspend status of erase or program operations.
*