From 44f25b0e34921705756139a7faf3c11215b89a53 Mon Sep 17 00:00:00 2001 From: guozhanxin Date: Sat, 29 Dec 2018 21:09:01 +0800 Subject: [PATCH] =?UTF-8?q?[bsp][imxrt]=20=E6=8B=86=E5=88=86=20flexspi.c/h?= =?UTF-8?q?=20=E9=A9=B1=E5=8A=A8,=E5=8C=BA=E5=88=86=20flash=20=E5=A4=A7?= =?UTF-8?q?=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../imxrt1050/drivers/drv_flexspi_hyper.c | 1 - .../imxrt1050/drivers/drv_flexspi_nor.c | 1 - bsp/imxrt/imxrt1050-ArchMix/drivers/SConscript | 1 + .../imxrt1050-ArchMix/drivers/drv_flexspi.c | 5 +++++ .../imxrt1050-ArchMix/drivers/drv_flexspi.h | 18 ++++++++++++++++++ bsp/imxrt/imxrt1050-evk/drivers/SConscript | 1 + bsp/imxrt/imxrt1050-evk/drivers/drv_flexspi.c | 5 +++++ .../drivers/drv_flexspi.h | 0 8 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 bsp/imxrt/imxrt1050-ArchMix/drivers/drv_flexspi.c create mode 100644 bsp/imxrt/imxrt1050-ArchMix/drivers/drv_flexspi.h create mode 100644 bsp/imxrt/imxrt1050-evk/drivers/drv_flexspi.c rename bsp/imxrt/{Libraries/imxrt1050 => imxrt1050-evk}/drivers/drv_flexspi.h (100%) diff --git a/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_hyper.c b/bsp/imxrt/Libraries/imxrt1050/drivers/drv_flexspi_hyper.c index 124ec5cce..1db7f743e 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 af8247cd8..e9efbfd72 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 f4557be7f..3d9c8e1b4 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 000000000..8bd49adc0 --- /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 000000000..b209b47a7 --- /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 a7090a02d..3c78eb06d 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 000000000..8bd49adc0 --- /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 -- GitLab