179 #ifdef HAL_QSPI_MODULE_ENABLED 186 #define QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE ((uint32_t)0x00000000U) 187 #define QSPI_FUNCTIONAL_MODE_INDIRECT_READ ((uint32_t)QUADSPI_CCR_FMODE_0) 188 #define QSPI_FUNCTIONAL_MODE_AUTO_POLLING ((uint32_t)QUADSPI_CCR_FMODE_1) 189 #define QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED ((uint32_t)QUADSPI_CCR_FMODE) 198 #define IS_QSPI_FUNCTIONAL_MODE(MODE) (((MODE) == QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE) || \ 199 ((MODE) == QSPI_FUNCTIONAL_MODE_INDIRECT_READ) || \ 200 ((MODE) == QSPI_FUNCTIONAL_MODE_AUTO_POLLING) || \ 201 ((MODE) == QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED)) 420 __IO uint32_t *data_reg;
495 #if defined(QSPI1_V1_0) 534 #if defined(QSPI1_V1_0) 692 QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE);
698 status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_TC,
SET, tickstart, Timeout);
788 QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_INDIRECT_WRITE);
864 status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_FT,
SET, tickstart, Timeout);
878 status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_TC,
SET, tickstart, Timeout);
885 #if defined(QSPI1_V1_0) 953 status = QSPI_WaitFlagStateUntilTimeout(hqspi, (QSPI_FLAG_FT | QSPI_FLAG_TC),
SET, tickstart, Timeout);
967 status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_TC,
SET, tickstart, Timeout);
974 #if defined(QSPI1_V1_0) 1225 tmp = (uint32_t*)&pData;
1356 tmp = (uint32_t*)&pData;
1451 status = QSPI_WaitFlagStateUntilTimeout(hqspi,
QSPI_FLAG_BUSY,
RESET, tickstart, Timeout);
1471 QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_AUTO_POLLING);
1474 status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_SM,
SET, tickstart, Timeout);
1573 QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_AUTO_POLLING);
1674 QSPI_Config(hqspi, cmd, QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED);
1868 return hqspi->
State;
1892 if ((hqspi->
State & 0x2) != 0)
1914 status = QSPI_WaitFlagStateUntilTimeout(hqspi, QSPI_FLAG_TC,
SET, tickstart, hqspi->
Timeout);
1944 if ((hqspi->
State & 0x2) != 0)
2159 FlagStatus State, uint32_t tickstart, uint32_t Timeout)
2167 if((Timeout == 0) || ((
HAL_GetTick() - tickstart) > Timeout))
2217 if (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED)
2244 if (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED)
2277 if (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED)
2304 if (FunctionalMode != QSPI_FUNCTIONAL_MODE_MEMORY_MAPPED)
QSPI Handle Structure definition.
#define CLEAR_BIT(REG, BIT)
#define MODIFY_REG(REG, CLEARMASK, SETMASK)
#define IS_QSPI_TIMEOUT_PERIOD(PERIOD)
#define IS_QSPI_ALTERNATE_BYTES_SIZE(SIZE)
#define IS_QSPI_MATCH_MODE(MODE)
#define QUADSPI_CR_PRESCALER
#define QSPI_ALTERNATE_BYTES_NONE
HAL_QSPI_StateTypeDef
HAL QSPI State structures definition.
HAL_StatusTypeDef HAL_QSPI_Abort(QSPI_HandleTypeDef *hqspi)
HAL_StatusTypeDef HAL_QSPI_SetFifoThreshold(QSPI_HandleTypeDef *hqspi, uint32_t Threshold)
#define __HAL_QSPI_CLEAR_FLAG(__HANDLE__, __FLAG__)
Clears the specified QSPI's flag status.
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma)
void HAL_QSPI_IRQHandler(QSPI_HandleTypeDef *hqspi)
#define IS_QSPI_ALL_INSTANCE(__INSTANCE__)
#define IS_QSPI_INTERVAL(INTERVAL)
#define assert_param(expr)
Include module's header file.
#define HAL_QSPI_ERROR_TRANSFER
#define __HAL_QSPI_DISABLE_IT(__HANDLE__, __INTERRUPT__)
Disables the specified QSPI interrupt.
#define QSPI_DUALFLASH_ENABLE
#define IS_QSPI_TIMEOUT_ACTIVATION(TCEN)
void HAL_QSPI_TxCpltCallback(QSPI_HandleTypeDef *hqspi)
#define QSPI_INSTRUCTION_NONE
#define QSPI_ADDRESS_NONE
HAL_StatusTypeDef HAL_QSPI_Transmit_DMA(QSPI_HandleTypeDef *hqspi, uint8_t *pData)
HAL_StatusTypeDef HAL_QSPI_AutoPolling_IT(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_AutoPollingTypeDef *cfg)
#define __HAL_UNLOCK(__HANDLE__)
#define HAL_QSPI_ERROR_INVALID_PARAM
QSPI Command structure definition.
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength)
#define IS_QSPI_INSTRUCTION_MODE(MODE)
__IO HAL_QSPI_StateTypeDef State
__IO uint16_t TxXferCount
#define IS_QSPI_DUMMY_CYCLES(DCY)
#define IS_QSPI_CLOCK_PRESCALER(PRESCALER)
void HAL_QSPI_FifoThresholdCallback(QSPI_HandleTypeDef *hqspi)
uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma)
#define IS_QSPI_DDR_HHC(DDR_HHC)
HAL_StatusTypeDef HAL_QSPI_DeInit(QSPI_HandleTypeDef *hqspi)
#define WRITE_REG(REG, VAL)
uint32_t DdrHoldHalfCycle
void HAL_QSPI_StatusMatchCallback(QSPI_HandleTypeDef *hqspi)
HAL_StatusTypeDef HAL_QSPI_Receive_DMA(QSPI_HandleTypeDef *hqspi, uint8_t *pData)
#define QUADSPI_CR_FTHRES
#define QSPI_TIMEOUT_COUNTER_ENABLE
#define POSITION_VAL(VAL)
HAL_StatusTypeDef HAL_QSPI_Transmit(QSPI_HandleTypeDef *hqspi, uint8_t *pData, uint32_t Timeout)
#define IS_QSPI_ADDRESS_MODE(MODE)
void HAL_QSPI_ErrorCallback(QSPI_HandleTypeDef *hqspi)
void(* XferCpltCallback)(struct __DMA_HandleTypeDef *hdma)
#define __HAL_LOCK(__HANDLE__)
void HAL_QSPI_RxHalfCpltCallback(QSPI_HandleTypeDef *hqspi)
HAL_StatusTypeDef HAL_QSPI_AutoPolling(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_AutoPollingTypeDef *cfg, uint32_t Timeout)
void HAL_QSPI_RxCpltCallback(QSPI_HandleTypeDef *hqspi)
QSPI Memory Mapped mode configuration structure definition.
#define DMA_PDATAALIGN_WORD
HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma)
void HAL_QSPI_MspInit(QSPI_HandleTypeDef *hqspi)
void HAL_QSPI_TxHalfCpltCallback(QSPI_HandleTypeDef *hqspi)
#define DMA_PDATAALIGN_BYTE
#define IS_QSPI_DATA_MODE(MODE)
QSPI Auto Polling mode configuration structure definition.
uint32_t AlternateBytesSize
#define QSPI_AUTOMATIC_STOP_ENABLE
#define READ_BIT(REG, BIT)
QUADSPI_TypeDef * Instance
This file contains all the functions prototypes for the HAL module driver.
#define IS_QSPI_ADDRESS_SIZE(ADDR_SIZE)
void HAL_QSPI_SetTimeout(QSPI_HandleTypeDef *hqspi, uint32_t Timeout)
DMA_Stream_TypeDef * Instance
uint32_t HAL_QSPI_GetError(QSPI_HandleTypeDef *hqspi)
#define QUADSPI_DCR_CKMODE
#define DMA_PDATAALIGN_HALFWORD
void(* XferHalfCpltCallback)(struct __DMA_HandleTypeDef *hdma)
#define QUADSPI_CR_SSHIFT
#define IS_QSPI_DUAL_FLASH_MODE(MODE)
HAL_StatusTypeDef HAL_QSPI_Command_IT(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd)
#define IS_QSPI_CS_HIGH_TIME(CSHTIME)
void HAL_QSPI_AbortCpltCallback(QSPI_HandleTypeDef *hqspi)
#define QUADSPI_SR_FLEVEL
#define IS_QSPI_FLASH_SIZE(FSIZE)
uint32_t PeriphDataAlignment
void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef *hqspi)
#define IS_QSPI_DDR_MODE(DDR_MODE)
void(* XferAbortCallback)(struct __DMA_HandleTypeDef *hdma)
HAL_StatusTypeDef HAL_QSPI_Transmit_IT(QSPI_HandleTypeDef *hqspi, uint8_t *pData)
HAL_StatusTypeDef HAL_QSPI_Abort_IT(QSPI_HandleTypeDef *hqspi)
#define SET_BIT(REG, BIT)
#define QUADSPI_CCR_FMODE
#define __HAL_QSPI_DISABLE(__HANDLE__)
Disable QSPI.
#define QUADSPI_DCR_FSIZE
#define IS_QSPI_FIFO_THRESHOLD(THR)
#define __HAL_DMA_DISABLE(__HANDLE__)
Disable the specified DMA Stream.
#define IS_QSPI_AUTOMATIC_STOP(APMS)
#define HAL_QPSI_TIMEOUT_DEFAULT_VALUE
#define IS_QSPI_ALTERNATE_BYTES_MODE(MODE)
HAL_StatusTypeDef HAL_QSPI_MemoryMapped(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_MemoryMappedTypeDef *cfg)
DMA handle Structure definition.
#define HAL_QSPI_ERROR_DMA
__IO uint16_t RxXferCount
#define __HAL_QSPI_ENABLE(__HANDLE__)
Enable QSPI.
__IO HAL_LockTypeDef Lock
#define IS_QSPI_CLOCK_MODE(CLKMODE)
HAL_StatusTypeDef HAL_QSPI_Init(QSPI_HandleTypeDef *hqspi)
#define IS_QSPI_INSTRUCTION(INSTRUCTION)
uint32_t ChipSelectHighTime
HAL_StatusTypeDef
HAL Status structures definition.
void(* XferErrorCallback)(struct __DMA_HandleTypeDef *hdma)
#define DMA_PERIPH_TO_MEMORY
#define HAL_QSPI_ERROR_TIMEOUT
#define IS_QSPI_SIOO_MODE(SIOO_MODE)
uint32_t HAL_GetTick(void)
Provides a tick value in millisecond.
uint32_t HAL_QSPI_GetFifoThreshold(QSPI_HandleTypeDef *hqspi)
#define IS_QSPI_SSHIFT(SSHIFT)
HAL_StatusTypeDef HAL_QSPI_Command(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, uint32_t Timeout)
void HAL_QSPI_CmdCpltCallback(QSPI_HandleTypeDef *hqspi)
HAL_StatusTypeDef HAL_QSPI_Receive_IT(QSPI_HandleTypeDef *hqspi, uint8_t *pData)
HAL_QSPI_StateTypeDef HAL_QSPI_GetState(QSPI_HandleTypeDef *hqspi)
uint32_t AlternateByteMode
#define IS_QSPI_FLASH_ID(FLA)
void HAL_QSPI_TimeOutCallback(QSPI_HandleTypeDef *hqspi)
#define HAL_QSPI_ERROR_NONE
#define __HAL_QSPI_ENABLE_IT(__HANDLE__, __INTERRUPT__)
Enables the specified QSPI interrupt.
#define DMA_MEMORY_TO_PERIPH
#define IS_QSPI_STATUS_BYTES_SIZE(SIZE)
#define __HAL_QSPI_GET_FLAG(__HANDLE__, __FLAG__)
Get the selected QSPI's flag status.
uint32_t TimeOutActivation
HAL_StatusTypeDef HAL_QSPI_Receive(QSPI_HandleTypeDef *hqspi, uint8_t *pData, uint32_t Timeout)