diff --git a/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_hyper.c b/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_hyper.c index 124ec5cce1..1db7f743e9 100644 --- a/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_hyper.c +++ b/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_hyper.c @@ -461,4 +461,3 @@ SECTION("itcm") int rt_hw_flexspi_init(void) rt_hw_interrupt_enable(level); return 0; } -INIT_PREV_EXPORT(rt_hw_flexspi_init); diff --git a/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_nor.c b/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_nor.c index af8247cd88..e9efbfd724 100644 --- a/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_nor.c +++ b/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_nor.c @@ -385,4 +385,3 @@ SECTION("itcm") int rt_hw_flexspi_init(void) rt_hw_interrupt_enable(level); return 0; } -INIT_PREV_EXPORT(rt_hw_flexspi_init); diff --git a/bsp/imxrt/imxrt1050-ArchMix/drivers/SConscript b/bsp/imxrt/imxrt1050-ArchMix/drivers/SConscript index f4557be7f0..3d9c8e1b4f 100644 --- a/bsp/imxrt/imxrt1050-ArchMix/drivers/SConscript +++ b/bsp/imxrt/imxrt1050-ArchMix/drivers/SConscript @@ -5,6 +5,7 @@ cwd = GetCurrentDir() # add the general drivers. src = Split(""" board.c +drv_flexspi.c """) CPPPATH = [cwd] diff --git a/bsp/imxrt/imxrt1050-ArchMix/drivers/drv_flexspi.c b/bsp/imxrt/imxrt1050-ArchMix/drivers/drv_flexspi.c new file mode 100644 index 0000000000..8bd49adc03 --- /dev/null +++ b/bsp/imxrt/imxrt1050-ArchMix/drivers/drv_flexspi.c @@ -0,0 +1,5 @@ +#include +#include + +INIT_PREV_EXPORT(rt_hw_flexspi_init); + diff --git a/bsp/imxrt/imxrt1050-ArchMix/drivers/drv_flexspi.h b/bsp/imxrt/imxrt1050-ArchMix/drivers/drv_flexspi.h new file mode 100644 index 0000000000..b209b47a70 --- /dev/null +++ b/bsp/imxrt/imxrt1050-ArchMix/drivers/drv_flexspi.h @@ -0,0 +1,18 @@ +#ifndef __DRV_FLEXSPI_H__ +#define __DRV_FLEXSPI_H__ +#include "fsl_flexspi.h" +#include "fsl_common.h" +#ifdef BOARD_USING_QSPIFLASH +#define FLASH_SIZE 0x2000 /* 64Mb/KByte */ +#define FLASH_PAGE_SIZE 256 +#define FLEXSPI_NOR_SECTOR_SIZE 0x1000 /* 4K */ +#elif defined(BOARD_USING_HYPERFLASH) +#define FLASH_SIZE 0x10000 /* 512Mb/KByte */ +#define FLASH_PAGE_SIZE 512 +#define FLEXSPI_NOR_SECTOR_SIZE 0x40000 /* 256K */ +#endif +#define FLEXSPI_AMBA_BASE FlexSPI_AMBA_BASE +extern int rt_hw_flexspi_init(void); +extern status_t flexspi_nor_flash_erase_sector(FLEXSPI_Type *base, uint32_t address); +extern status_t flexspi_nor_flash_page_program(FLEXSPI_Type *base, uint32_t address, const uint32_t *src); +#endif diff --git a/bsp/imxrt/imxrt1050-evk/drivers/SConscript b/bsp/imxrt/imxrt1050-evk/drivers/SConscript index a7090a02d3..3c78eb06d3 100644 --- a/bsp/imxrt/imxrt1050-evk/drivers/SConscript +++ b/bsp/imxrt/imxrt1050-evk/drivers/SConscript @@ -5,6 +5,7 @@ cwd = GetCurrentDir() # add the general drivers. src = Split(""" board.c +drv_flexspi.c """) CPPPATH = [cwd] diff --git a/bsp/imxrt/imxrt1050-evk/drivers/drv_flexspi.c b/bsp/imxrt/imxrt1050-evk/drivers/drv_flexspi.c new file mode 100644 index 0000000000..8bd49adc03 --- /dev/null +++ b/bsp/imxrt/imxrt1050-evk/drivers/drv_flexspi.c @@ -0,0 +1,5 @@ +#include +#include + +INIT_PREV_EXPORT(rt_hw_flexspi_init); + diff --git a/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi.h b/bsp/imxrt/imxrt1050-evk/drivers/drv_flexspi.h similarity index 100% rename from bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi.h rename to bsp/imxrt/imxrt1050-evk/drivers/drv_flexspi.h