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

This commit is contained in:
Chen Chen
2026-08-19 16:50:08 +08:00
parent d1fc1ed6b9
commit 79c3ec77d0
13 changed files with 61 additions and 0 deletions
@@ -75,6 +75,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;
@@ -85,6 +86,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;
@@ -96,6 +98,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;
@@ -435,6 +438,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;
@@ -630,6 +634,7 @@ static inline void spimem_flash_ll_set_extra_address(spi_mem_dev_t *dev, uint32_
* @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;