bf0_hal_qspi.h
Header file of QSPI HAL module.
- Author
Sifli software development team
Defines
-
SPI_FLASH_OTP_BASE
-
__HAL_QSPI_EN_HWI(__HANDLE__)
QSPI Enable Hardware Interface .
- 参数:
__HANDLE__ – SPI FLASH handle
- 返回值:
None –
-
__HAL_QSPI_DIS_HWI(__HANDLE__)
QSPI Disable Hardware Interface .
- 参数:
__HANDLE__ – SPI FLASH handle
- 返回值:
None –
-
__HAL_QSPI_SET_CMD(__HANDLE__, __CMD__)
QSPI Set Command , do not wait TCF.
- 参数:
__HANDLE__ – SPI FLASH handle
__CMD__ – Command for FLASH or PSRAM
- 返回值:
None –
Typedefs
-
typedef struct __FLASH_HandleTypeDef FLASH_HandleTypeDef
SPI_FLASH initial structure definition.
Enums
-
enum SPI_FLASH_CMD_E
SPI_FLASH command index.
Values:
-
enumerator SPI_FLASH_CMD_WREN
write enable, nor+nand
-
enumerator SPI_FLASH_CMD_WRDI
write disable, nor+nand
-
enumerator SPI_FLASH_CMD_RDSR
read status register, nor+nand
-
enumerator SPI_FLASH_CMD_WRSR
write status register, nor+nand
-
enumerator SPI_FLASH_CMD_PREAD
page read, nand
-
enumerator SPI_FLASH_CMD_READ
single line read, nor+nand
-
enumerator SPI_FLASH_CMD_FREAD
fast read , nor + nand
-
enumerator SPI_FLASH_CMD_DREAD
fast read dual output, nor+nand
-
enumerator SPI_FLASH_CMD_QREAD
fast read quad output, nor+nand
-
enumerator SPI_FLASH_CMD_2READ
2 line read, nor+nand
-
enumerator SPI_FLASH_CMD_4READ
4 line read, nor+nand . ==== 10
-
enumerator SPI_FLASH_CMD_RDID
read id, nor+nand
-
enumerator SPI_FLASH_CMD_PLD
load program data, nand
-
enumerator SPI_FLASH_CMD_QPLD
qual program load, nand
-
enumerator SPI_FLASH_CMD_PLDR
randome program load, nand
-
enumerator SPI_FLASH_CMD_QPLDR
qual random program load, nand
-
enumerator SPI_FLASH_CMD_PEXE
program execute, nand
-
enumerator SPI_FLASH_CMD_BE
block erase, nand
-
enumerator SPI_FLASH_CMD_RST
reset, nor+nand
-
enumerator SPI_FLASH_CMD_RST_EN
reset en, nor
-
enumerator SPI_FLASH_CMD_RDSR2
read status register 2, nor ==== 20
-
enumerator SPI_FLASH_CMD_WVSR
write volatile status register, nor
-
enumerator SPI_FLASH_CMD_PP
PAGE PROGRAM, nor
-
enumerator SPI_FLASH_CMD_QPP
QUAL PAGE PROGRAM, nor
-
enumerator SPI_FLASH_CMD_RDEAR
read extended address register, nor
-
enumerator SPI_FLASH_CMD_WREAR
write extended address register, nor
-
enumerator SPI_FLASH_CMD_PE
page erase, nor
-
enumerator SPI_FLASH_CMD_SE
SECTOR erase, nor
-
enumerator SPI_FLASH_CMD_BE32
BLOCK erase 32KB, nor
-
enumerator SPI_FLASH_CMD_BE64
BLOCK erase 64KB, nor
-
enumerator SPI_FLASH_CMD_CE
CHIP ERASE, nor ===== 30
-
enumerator SPI_FLASH_CMD_RDSR3
read status register 3, nor
-
enumerator SPI_FLASH_CMD_WRSR3
WRITE status register 3, nor
-
enumerator SPI_FLASH_CMD_EN4BM
enter 4-byte address mode, nor
-
enumerator SPI_FLASH_CMD_ET4BM
exit 4-byte address mode, nor
-
enumerator SPI_FLASH_CMD_RD4BA
read with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_FR4BA
fast read with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_FQR4BA
fast read quad output with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_4RD4BA
4 IO read with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_PP4BA
page program with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_QPP4BA
quad page program with 4-byte address, nor ==== 40
-
enumerator SPI_FLASH_CMD_SE4BA
sector erase with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_BE4BA
64KB block erase with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_WRSR2
write status register command 2, nor
-
enumerator SPI_FLASH_CMD_LEFPA
Last ECC Failue Page Address, NAND
-
enumerator SPI_FLASH_CMD_BBM
Bad Block Management, NAND
-
enumerator SPI_FLASH_CMD_RBLUT
Read BBM Look Up Table, NAND
-
enumerator SPI_FLASH_CMD_CFREAD
Continue fast read with 1 line, NAND
-
enumerator SPI_FLASH_CMD_C4READ
Continue read with 4 line, NAND
-
enumerator SPI_FLASH_CMD_RUID
Read Unique ID, NOR
-
enumerator SPI_FLASH_CMD_RDSCUR
Read Security Register, NOR ====== 50
-
enumerator SPI_FLASH_CMD_PRSCUR
Program Security Register, NOR
-
enumerator SPI_FLASH_CMD_ERSCUR
Erase Security Registers, NOR
-
enumerator SPI_FLASH_CMD_DPD
Deep Power-Down, NOR
-
enumerator SPI_FLASH_CMD_RDP
Release from Deep Power-Down, NOR
-
enumerator SPI_FLASH_CMD_DTR4R
DTR 4 IO Read, NOR
-
enumerator SPI_FLASH_CMD_RDSFDP
Read SFDP(Serial Flash Discoverable Parameter), NOR
-
enumerator SPI_FLASH_CMD_COUNT
current support flash command
-
enumerator SPI_FLASH_CMD_WREN
write enable, nor+nand
-
enumerator SPI_FLASH_CMD_WRDI
write disable, nor+nand
-
enumerator SPI_FLASH_CMD_RDSR
read status register, nor+nand
-
enumerator SPI_FLASH_CMD_WRSR
write status register, nor+nand
-
enumerator SPI_FLASH_CMD_PREAD
page read, nand
-
enumerator SPI_FLASH_CMD_READ
single line read, nor+nand
-
enumerator SPI_FLASH_CMD_FREAD
fast read , nor + nand
-
enumerator SPI_FLASH_CMD_DREAD
fast read dual output, nor+nand
-
enumerator SPI_FLASH_CMD_QREAD
fast read quad output, nor+nand
-
enumerator SPI_FLASH_CMD_2READ
2 line read, nor+nand
-
enumerator SPI_FLASH_CMD_4READ
4 line read, nor+nand . ==== 10
-
enumerator SPI_FLASH_CMD_RDID
read id, nor+nand
-
enumerator SPI_FLASH_CMD_PLD
load program data, nand
-
enumerator SPI_FLASH_CMD_QPLD
qual program load, nand
-
enumerator SPI_FLASH_CMD_PLDR
randome program load, nand
-
enumerator SPI_FLASH_CMD_QPLDR
qual random program load, nand
-
enumerator SPI_FLASH_CMD_PEXE
program execute, nand
-
enumerator SPI_FLASH_CMD_BE
block erase, nand
-
enumerator SPI_FLASH_CMD_RST
reset, nor+nand
-
enumerator SPI_FLASH_CMD_RST_EN
reset en, nor
-
enumerator SPI_FLASH_CMD_RDSR2
read status register 2, nor ==== 20
-
enumerator SPI_FLASH_CMD_WVSR
write volatile status register, nor
-
enumerator SPI_FLASH_CMD_PP
PAGE PROGRAM, nor
-
enumerator SPI_FLASH_CMD_QPP
QUAL PAGE PROGRAM, nor
-
enumerator SPI_FLASH_CMD_RDEAR
read extended address register, nor
-
enumerator SPI_FLASH_CMD_WREAR
write extended address register, nor
-
enumerator SPI_FLASH_CMD_PE
page erase, nor
-
enumerator SPI_FLASH_CMD_SE
SECTOR erase, nor
-
enumerator SPI_FLASH_CMD_BE32
BLOCK erase 32KB, nor
-
enumerator SPI_FLASH_CMD_BE64
BLOCK erase 64KB, nor
-
enumerator SPI_FLASH_CMD_CE
CHIP ERASE, nor ===== 30
-
enumerator SPI_FLASH_CMD_RDSR3
read status register 3, nor
-
enumerator SPI_FLASH_CMD_WRSR3
WRITE status register 3, nor
-
enumerator SPI_FLASH_CMD_EN4BM
enter 4-byte address mode, nor
-
enumerator SPI_FLASH_CMD_ET4BM
exit 4-byte address mode, nor
-
enumerator SPI_FLASH_CMD_RD4BA
read with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_FR4BA
fast read with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_FQR4BA
fast read quad output with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_4RD4BA
4 IO read with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_PP4BA
page program with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_QPP4BA
quad page program with 4-byte address, nor ==== 40
-
enumerator SPI_FLASH_CMD_SE4BA
sector erase with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_BE4BA
64KB block erase with 4-byte address, nor
-
enumerator SPI_FLASH_CMD_WRSR2
write status register command 2, nor
-
enumerator SPI_FLASH_CMD_LEFPA
Last ECC Failue Page Address, NAND
-
enumerator SPI_FLASH_CMD_BBM
Bad Block Management, NAND
-
enumerator SPI_FLASH_CMD_RBLUT
Read BBM Look Up Table, NAND
-
enumerator SPI_FLASH_CMD_CFREAD
Continue fast read with 1 line, NAND
-
enumerator SPI_FLASH_CMD_C4READ
Continue read with 4 line, NAND
-
enumerator SPI_FLASH_CMD_RUID
Read Unique ID, NOR
-
enumerator SPI_FLASH_CMD_RDSCUR
Read Security Register, NOR ====== 50
-
enumerator SPI_FLASH_CMD_PRSCUR
Program Security Register, NOR
-
enumerator SPI_FLASH_CMD_ERSCUR
Erase Security Registers, NOR
-
enumerator SPI_FLASH_CMD_DPD
Deep Power-Down, NOR
-
enumerator SPI_FLASH_CMD_RDP
Release from Deep Power-Down, NOR
-
enumerator SPI_FLASH_CMD_DTR4R
DTR 4 IO Read, NOR
-
enumerator SPI_FLASH_CMD_RDSFDP
Read SFDP(Serial Flash Discoverable Parameter), NOR
-
enumerator SPI_FLASH_CMD_COUNT
current support flash command
-
enumerator SPI_FLASH_CMD_WREN
-
enum FLASH_MANUF_ID_T
SPI_FLASH manufactory id.
Values:
-
enumerator FLASH_INVALID_ID
Initial id
-
enumerator FLASH_SPANSION
Spansion
-
enumerator FLASH_PUYA
puya
-
enumerator FLASH_EON
EON
-
enumerator FLASH_MXIC
Mxic
-
enumerator FLASH_GIGA
Giga device
-
enumerator FLASH_WINBOND
winbond
-
enumerator FLASH_FIDELIX
Fidelix
-
enumerator FLASH_ESMT
Esmt
-
enumerator FLASH_NUMONYX
numonyx
-
enumerator FLASH_MICRON
micro
-
enumerator FLASH_PM25L
pm25l
-
enumerator FLASH_FUDAN
fudan
-
enumerator FLASH_HYF
fudan
-
enumerator FLASH_UNKNOW_ID
Invalid
-
enumerator FLASH_INVALID_ID
Initial id
-
enumerator FLASH_SPANSION
Spansion
-
enumerator FLASH_PUYA
puya
-
enumerator FLASH_EON
EON
-
enumerator FLASH_MXIC
Mxic
-
enumerator FLASH_GIGA
Giga device
-
enumerator FLASH_WINBOND
winbond
-
enumerator FLASH_FIDELIX
Fidelix
-
enumerator FLASH_ESMT
Esmt
-
enumerator FLASH_NUMONYX
numonyx
-
enumerator FLASH_MICRON
micro
-
enumerator FLASH_PM25L
pm25l
-
enumerator FLASH_FUDAN
fudan
-
enumerator FLASH_UNKNOW_ID
Invalid
-
enumerator FLASH_INVALID_ID
-
enum HAL_FLASH_StateTypeDef
SPI_FLASH status define.
Values:
-
enumerator HAL_FLASH_STATE_RESET
Peripheral not Initialized
-
enumerator HAL_FLASH_STATE_READY
Peripheral Initialized and ready for use
-
enumerator HAL_FLASH_STATE_BUSY
an internal process is ongoing
-
enumerator HAL_FLASH_STATE_ERROR
FLASH error state
-
enumerator HAL_FLASH_STATE_ABORT
FLASH abort is ongoing
-
enumerator HAL_FLASH_STATE_RESET
Peripheral not Initialized
-
enumerator HAL_FLASH_STATE_READY
Peripheral Initialized and ready for use
-
enumerator HAL_FLASH_STATE_BUSY
an internal process is ongoing
-
enumerator HAL_FLASH_STATE_ERROR
FLASH error state
-
enumerator HAL_FLASH_STATE_ABORT
FLASH abort is ongoing
-
enumerator HAL_FLASH_STATE_RESET
-
enum HAL_FLASH_ModeDef
SPI_FLASH spi line mode.
Values:
-
enumerator HAL_FLASH_NOR_MODE
Flash single spi mode
-
enumerator HAL_FLASH_DMODE
Flash dual spi mode
-
enumerator HAL_FLASH_QMODE
Flash qual spi mode
-
enumerator HAL_FLASH_NOR_MODE
Flash single spi mode
-
enumerator HAL_FLASH_DMODE
Flash dual spi mode
-
enumerator HAL_FLASH_QMODE
Flash qual spi mode
-
enumerator HAL_FLASH_NOR_MODE
-
enum HAL_FLASH_AES_Mode
SPI_FLASH AES mode.
Values:
-
enumerator HAL_FLASH_AES128
AES 128
-
enumerator HAL_FLASH_AES256
AES 256
-
enumerator HAL_FLASH_AES128
AES 128
-
enumerator HAL_FLASH_AES256
AES 256
-
enumerator HAL_FLASH_AES128
-
enum SPI_FLASH_MODE_E
SPI_FLASH flash type.
Values:
-
enumerator SPI_MODE_NOR
Flash TYPE NOR mode
-
enumerator SPI_MODE_NAND
Flash TYPE NAND mode
-
enumerator SPI_MODE_PSRAM
Flash TYPE QSPI PSRAM mode
-
enumerator SPI_MODE_OPSRAM
Flash TYPE OPI PSRAM mode
-
enumerator SPI_MODE_HPSRAM
Flash TYPE HPI PSRAM mode
-
enumerator SPI_MODE_LEGPSRAM
Flash TYPE LEGACY PSRAM mode
-
enumerator SPI_MODE_HBPSRAM
Flash TYPE Hyper Bus PSRAM mode
-
enumerator SPI_MODE_COUNT
-
enumerator SPI_MODE_NOR
Flash TYPE NOR mode
-
enumerator SPI_MODE_NAND
Flash TYPE NAND mode
-
enumerator SPI_MODE_PSRAM
Flash TYPE PSRAM mode
-
enumerator SPI_MODE_COUNT
-
enumerator SPI_MODE_NOR
-
enum HAL_FLASH_ClearFifo
SPI_FLASH clear fifo mode.
Values:
-
enumerator HAL_FLASH_CLR_RX_FIFO
Clear flash RX FIFO
-
enumerator HAL_FLASH_CLR_TX_FIFO
Clear Flash TX FIFO
-
enumerator HAL_FLASH_CLR_RX_TX_FIFO
Clear Flash RX AND TX FIFO
-
enumerator HAL_FLASH_CLR_RX_FIFO
Clear flash RX FIFO
-
enumerator HAL_FLASH_CLR_TX_FIFO
Clear Flash TX FIFO
-
enumerator HAL_FLASH_CLR_RX_TX_FIFO
Clear Flash RX AND TX FIFO
-
enumerator HAL_FLASH_CLR_RX_FIFO
Functions
-
HAL_StatusTypeDef HAL_FLASH_SET_CS_TIME(FLASH_HandleTypeDef *hflash, uint8_t min, uint16_t max)
SPI_FLASH for boot mode.
- 参数:
hflash – FLASH handle
min – low min
max – high max
- 返回值:
HAL – status
-
HAL_StatusTypeDef HAL_FLASH_DMA_START(FLASH_HandleTypeDef *hflash, char *buf, int write, uint32_t len)
SPI_FLASH start fifo dma transmit.
- 参数:
hflash – FLASH handle
buf – data buffer
write – read/write function, 1 for write and 0 for read
len – data length
- 返回值:
HAL – status
-
HAL_StatusTypeDef HAL_FLASH_DMA_WAIT_DONE(FLASH_HandleTypeDef *hflash, uint32_t timeout)
SPI_FLASH loop mode to wait DMA transmit finish.
- 参数:
hflash – FLASH handle
timeout – wait time out in ms
- 返回值:
HAL – status
-
struct qspi_configure_t
- #include <bf0_hal_qspi.h>
-
struct FLASH_CMD_CFG_T
- #include <bf0_hal_qspi.h>
-
struct SPI_FLASH_FACT_CFG_T
- #include <bf0_hal_qspi.h>
-
struct __FLASH_HandleTypeDef
- #include <bf0_hal_qspi.h>