feat(spi_flash): Enable auto suspend on when flash works under 120M

This commit is contained in:
Cao Sen Miao
2023-11-14 15:38:44 +08:00
parent ff8a6a5bf9
commit e3a854769a
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.
*