fix(spi_flash): keep program and erase paths in IRAM

This commit is contained in:
Chen Chen
2026-08-25 16:16:43 +08:00
parent 5e8921d589
commit c862edb946
12 changed files with 58 additions and 0 deletions
@@ -72,6 +72,7 @@ static inline bool spimem_flash_ll_cmd_is_done(const spi_mem_dev_t *dev)
*
* @param dev Beginning address of the peripheral registers.
*/
__attribute__((always_inline))
static inline void spimem_flash_ll_erase_chip(spi_mem_dev_t *dev)
{
dev->cmd.flash_ce = 1;
@@ -82,6 +83,7 @@ static inline void spimem_flash_ll_erase_chip(spi_mem_dev_t *dev)
*
* @param dev Beginning address of the peripheral registers.
*/
__attribute__((always_inline))
static inline void spimem_flash_ll_erase_sector(spi_mem_dev_t *dev)
{
dev->ctrl.val = 0;
@@ -93,6 +95,7 @@ static inline void spimem_flash_ll_erase_sector(spi_mem_dev_t *dev)
*
* @param dev Beginning address of the peripheral registers.
*/
__attribute__((always_inline))
static inline void spimem_flash_ll_erase_block(spi_mem_dev_t *dev)
{
dev->cmd.flash_be = 1;
@@ -393,6 +396,7 @@ static inline void spimem_flash_ll_set_buffer_data(spi_mem_dev_t *dev, const voi
* @param buffer Buffer holding the data to program
* @param length Length to program.
*/
__attribute__((always_inline))
static inline void spimem_flash_ll_program_page(spi_mem_dev_t *dev, const void *buffer, uint32_t length)
{
dev->user.usr_dummy = 0;
@@ -598,6 +602,7 @@ static inline void spimem_flash_ll_wb_mode_enable(spi_mem_dev_t *dev, bool wb_mo
* @param dev Beginning address of the peripheral registers.
* @param addr Address to send
*/
__attribute__((always_inline))
static inline void spimem_flash_ll_set_address(spi_mem_dev_t *dev, uint32_t addr)
{
dev->addr = addr;