mbed library sources

Fork of mbed-src by mbed official

Committer:
mbed_official
Date:
Thu Aug 20 10:45:13 2015 +0100
Revision:
613:bc40b8d2aec4
Parent:
532:fe11edbda85c
Synchronized with git revision 92ca8c7b60a283b6bb60eb65b183dac1599f0ade

Full URL: https://github.com/mbedmicro/mbed/commit/92ca8c7b60a283b6bb60eb65b183dac1599f0ade/

Nordic: update application start address in GCC linker script

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 532:fe11edbda85c 1 /**
mbed_official 532:fe11edbda85c 2 ******************************************************************************
mbed_official 532:fe11edbda85c 3 * @file stm32f4xx_hal_qspi.h
mbed_official 532:fe11edbda85c 4 * @author MCD Application Team
mbed_official 613:bc40b8d2aec4 5 * @version V1.3.2
mbed_official 613:bc40b8d2aec4 6 * @date 26-June-2015
mbed_official 532:fe11edbda85c 7 * @brief Header file of QSPI HAL module.
mbed_official 532:fe11edbda85c 8 ******************************************************************************
mbed_official 532:fe11edbda85c 9 * @attention
mbed_official 532:fe11edbda85c 10 *
mbed_official 532:fe11edbda85c 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
mbed_official 532:fe11edbda85c 12 *
mbed_official 532:fe11edbda85c 13 * Redistribution and use in source and binary forms, with or without modification,
mbed_official 532:fe11edbda85c 14 * are permitted provided that the following conditions are met:
mbed_official 532:fe11edbda85c 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 532:fe11edbda85c 16 * this list of conditions and the following disclaimer.
mbed_official 532:fe11edbda85c 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 532:fe11edbda85c 18 * this list of conditions and the following disclaimer in the documentation
mbed_official 532:fe11edbda85c 19 * and/or other materials provided with the distribution.
mbed_official 532:fe11edbda85c 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
mbed_official 532:fe11edbda85c 21 * may be used to endorse or promote products derived from this software
mbed_official 532:fe11edbda85c 22 * without specific prior written permission.
mbed_official 532:fe11edbda85c 23 *
mbed_official 532:fe11edbda85c 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
mbed_official 532:fe11edbda85c 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
mbed_official 532:fe11edbda85c 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
mbed_official 532:fe11edbda85c 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
mbed_official 532:fe11edbda85c 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 532:fe11edbda85c 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
mbed_official 532:fe11edbda85c 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
mbed_official 532:fe11edbda85c 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
mbed_official 532:fe11edbda85c 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
mbed_official 532:fe11edbda85c 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
mbed_official 532:fe11edbda85c 34 *
mbed_official 532:fe11edbda85c 35 ******************************************************************************
mbed_official 532:fe11edbda85c 36 */
mbed_official 532:fe11edbda85c 37
mbed_official 532:fe11edbda85c 38 /* Define to prevent recursive inclusion -------------------------------------*/
mbed_official 532:fe11edbda85c 39 #ifndef __STM32F4xx_HAL_QSPI_H
mbed_official 532:fe11edbda85c 40 #define __STM32F4xx_HAL_QSPI_H
mbed_official 532:fe11edbda85c 41
mbed_official 532:fe11edbda85c 42 #ifdef __cplusplus
mbed_official 532:fe11edbda85c 43 extern "C" {
mbed_official 532:fe11edbda85c 44 #endif
mbed_official 532:fe11edbda85c 45
mbed_official 532:fe11edbda85c 46 #if defined(STM32F446xx)
mbed_official 532:fe11edbda85c 47 /* Includes ------------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 48 #include "stm32f4xx_hal_def.h"
mbed_official 532:fe11edbda85c 49
mbed_official 532:fe11edbda85c 50 /** @addtogroup STM32F4xx_HAL_Driver
mbed_official 532:fe11edbda85c 51 * @{
mbed_official 532:fe11edbda85c 52 */
mbed_official 532:fe11edbda85c 53
mbed_official 532:fe11edbda85c 54 /** @addtogroup QSPI
mbed_official 532:fe11edbda85c 55 * @{
mbed_official 532:fe11edbda85c 56 */
mbed_official 532:fe11edbda85c 57
mbed_official 532:fe11edbda85c 58 /* Exported types ------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 59 /** @defgroup QSPI_Exported_Types QSPI Exported Types
mbed_official 532:fe11edbda85c 60 * @{
mbed_official 532:fe11edbda85c 61 */
mbed_official 532:fe11edbda85c 62
mbed_official 532:fe11edbda85c 63 /**
mbed_official 532:fe11edbda85c 64 * @brief QSPI Init structure definition
mbed_official 532:fe11edbda85c 65 */
mbed_official 532:fe11edbda85c 66
mbed_official 532:fe11edbda85c 67 typedef struct
mbed_official 532:fe11edbda85c 68 {
mbed_official 532:fe11edbda85c 69 uint32_t ClockPrescaler; /* Specifies the prescaler factor for generating clock based on the AHB clock.
mbed_official 532:fe11edbda85c 70 This parameter can be a number between 0 and 255 */
mbed_official 532:fe11edbda85c 71
mbed_official 532:fe11edbda85c 72 uint32_t FifoThreshold; /* Specifies the threshold number of bytes in the FIFO (used only in indirect mode)
mbed_official 532:fe11edbda85c 73 This parameter can be a value between 1 and 32 */
mbed_official 532:fe11edbda85c 74
mbed_official 532:fe11edbda85c 75 uint32_t SampleShifting; /* Specifies the Sample Shift. The data is sampled 1/2 clock cycle delay later to
mbed_official 532:fe11edbda85c 76 take in account external signal delays. (It should be QSPI_SAMPLE_SHIFTING_NONE in DDR mode)
mbed_official 532:fe11edbda85c 77 This parameter can be a value of @ref QSPI_SampleShifting */
mbed_official 532:fe11edbda85c 78
mbed_official 532:fe11edbda85c 79 uint32_t FlashSize; /* Specifies the Flash Size. FlashSize+1 is effectively the number of address bits
mbed_official 532:fe11edbda85c 80 required to address the flash memory. The flash capacity can be up to 4GB
mbed_official 532:fe11edbda85c 81 (addressed using 32 bits) in indirect mode, but the addressable space in
mbed_official 532:fe11edbda85c 82 memory-mapped mode is limited to 256MB
mbed_official 532:fe11edbda85c 83 This parameter can be a number between 0 and 31 */
mbed_official 532:fe11edbda85c 84
mbed_official 532:fe11edbda85c 85 uint32_t ChipSelectHighTime; /* Specifies the Chip Select High Time. ChipSelectHighTime+1 defines the minimum number
mbed_official 532:fe11edbda85c 86 of clock cycles which the chip select must remain high between commands.
mbed_official 532:fe11edbda85c 87 This parameter can be a value of @ref QSPI_ChipSelectHighTime */
mbed_official 532:fe11edbda85c 88
mbed_official 532:fe11edbda85c 89 uint32_t ClockMode; /* Specifies the Clock Mode. It indicates the level that clock takes between commands.
mbed_official 532:fe11edbda85c 90 This parameter can be a value of @ref QSPI_ClockMode */
mbed_official 532:fe11edbda85c 91
mbed_official 532:fe11edbda85c 92 uint32_t FlashID; /* Specifies the Flash which will be used,
mbed_official 532:fe11edbda85c 93 This parameter can be a value of @ref QSPI_Flash_Select */
mbed_official 532:fe11edbda85c 94
mbed_official 532:fe11edbda85c 95 uint32_t DualFlash; /* Specifies the Dual Flash Mode State
mbed_official 532:fe11edbda85c 96 This parameter can be a value of @ref QSPI_DualFlash_Mode */
mbed_official 532:fe11edbda85c 97 }QSPI_InitTypeDef;
mbed_official 532:fe11edbda85c 98
mbed_official 532:fe11edbda85c 99 /**
mbed_official 532:fe11edbda85c 100 * @brief HAL QSPI State structures definition
mbed_official 532:fe11edbda85c 101 */
mbed_official 532:fe11edbda85c 102 typedef enum
mbed_official 532:fe11edbda85c 103 {
mbed_official 532:fe11edbda85c 104 HAL_QSPI_STATE_RESET = 0x00, /*!< Peripheral not initialized */
mbed_official 532:fe11edbda85c 105 HAL_QSPI_STATE_READY = 0x01, /*!< Peripheral initialized and ready for use */
mbed_official 532:fe11edbda85c 106 HAL_QSPI_STATE_BUSY = 0x02, /*!< Peripheral in indirect mode and busy */
mbed_official 532:fe11edbda85c 107 HAL_QSPI_STATE_BUSY_INDIRECT_TX = 0x12, /*!< Peripheral in indirect mode with transmission ongoing */
mbed_official 532:fe11edbda85c 108 HAL_QSPI_STATE_BUSY_INDIRECT_RX = 0x22, /*!< Peripheral in indirect mode with reception ongoing */
mbed_official 532:fe11edbda85c 109 HAL_QSPI_STATE_BUSY_AUTO_POLLING = 0x42, /*!< Peripheral in auto polling mode ongoing */
mbed_official 532:fe11edbda85c 110 HAL_QSPI_STATE_BUSY_MEM_MAPPED = 0x82, /*!< Peripheral in memory mapped mode ongoing */
mbed_official 532:fe11edbda85c 111 HAL_QSPI_STATE_ERROR = 0x04 /*!< Peripheral in error */
mbed_official 532:fe11edbda85c 112 }HAL_QSPI_StateTypeDef;
mbed_official 532:fe11edbda85c 113
mbed_official 532:fe11edbda85c 114 /**
mbed_official 532:fe11edbda85c 115 * @brief QSPI Handle Structure definition
mbed_official 532:fe11edbda85c 116 */
mbed_official 532:fe11edbda85c 117 typedef struct
mbed_official 532:fe11edbda85c 118 {
mbed_official 532:fe11edbda85c 119 QUADSPI_TypeDef *Instance; /* QSPI registers base address */
mbed_official 532:fe11edbda85c 120 QSPI_InitTypeDef Init; /* QSPI communication parameters */
mbed_official 532:fe11edbda85c 121 uint8_t *pTxBuffPtr; /* Pointer to QSPI Tx transfer Buffer */
mbed_official 532:fe11edbda85c 122 __IO uint16_t TxXferSize; /* QSPI Tx Transfer size */
mbed_official 532:fe11edbda85c 123 __IO uint16_t TxXferCount; /* QSPI Tx Transfer Counter */
mbed_official 532:fe11edbda85c 124 uint8_t *pRxBuffPtr; /* Pointer to QSPI Rx transfer Buffer */
mbed_official 532:fe11edbda85c 125 __IO uint16_t RxXferSize; /* QSPI Rx Transfer size */
mbed_official 532:fe11edbda85c 126 __IO uint16_t RxXferCount; /* QSPI Rx Transfer Counter */
mbed_official 532:fe11edbda85c 127 DMA_HandleTypeDef *hdma; /* QSPI Rx/Tx DMA Handle parameters */
mbed_official 532:fe11edbda85c 128 __IO HAL_LockTypeDef Lock; /* Locking object */
mbed_official 532:fe11edbda85c 129 __IO HAL_QSPI_StateTypeDef State; /* QSPI communication state */
mbed_official 532:fe11edbda85c 130 __IO uint32_t ErrorCode; /* QSPI Error code */
mbed_official 532:fe11edbda85c 131 uint32_t Timeout; /* Timeout for the QSPI memory access */
mbed_official 532:fe11edbda85c 132 }QSPI_HandleTypeDef;
mbed_official 532:fe11edbda85c 133
mbed_official 532:fe11edbda85c 134 /**
mbed_official 532:fe11edbda85c 135 * @brief QSPI Command structure definition
mbed_official 532:fe11edbda85c 136 */
mbed_official 532:fe11edbda85c 137 typedef struct
mbed_official 532:fe11edbda85c 138 {
mbed_official 532:fe11edbda85c 139 uint32_t Instruction; /* Specifies the Instruction to be sent
mbed_official 532:fe11edbda85c 140 This parameter can be a value (8-bit) between 0x00 and 0xFF */
mbed_official 532:fe11edbda85c 141 uint32_t Address; /* Specifies the Address to be sent (Size from 1 to 4 bytes according AddressSize)
mbed_official 532:fe11edbda85c 142 This parameter can be a value (32-bits) between 0x0 and 0xFFFFFFFF */
mbed_official 532:fe11edbda85c 143 uint32_t AlternateBytes; /* Specifies the Alternate Bytes to be sent (Size from 1 to 4 bytes according AlternateBytesSize)
mbed_official 532:fe11edbda85c 144 This parameter can be a value (32-bits) between 0x0 and 0xFFFFFFFF */
mbed_official 532:fe11edbda85c 145 uint32_t AddressSize; /* Specifies the Address Size
mbed_official 532:fe11edbda85c 146 This parameter can be a value of @ref QSPI_AddressSize */
mbed_official 532:fe11edbda85c 147 uint32_t AlternateBytesSize; /* Specifies the Alternate Bytes Size
mbed_official 532:fe11edbda85c 148 This parameter can be a value of @ref QSPI_AlternateBytesSize */
mbed_official 532:fe11edbda85c 149 uint32_t DummyCycles; /* Specifies the Number of Dummy Cycles.
mbed_official 532:fe11edbda85c 150 This parameter can be a number between 0 and 31 */
mbed_official 532:fe11edbda85c 151 uint32_t InstructionMode; /* Specifies the Instruction Mode
mbed_official 532:fe11edbda85c 152 This parameter can be a value of @ref QSPI_InstructionMode */
mbed_official 532:fe11edbda85c 153 uint32_t AddressMode; /* Specifies the Address Mode
mbed_official 532:fe11edbda85c 154 This parameter can be a value of @ref QSPI_AddressMode */
mbed_official 532:fe11edbda85c 155 uint32_t AlternateByteMode; /* Specifies the Alternate Bytes Mode
mbed_official 532:fe11edbda85c 156 This parameter can be a value of @ref QSPI_AlternateBytesMode */
mbed_official 532:fe11edbda85c 157 uint32_t DataMode; /* Specifies the Data Mode (used for dummy cycles and data phases)
mbed_official 532:fe11edbda85c 158 This parameter can be a value of @ref QSPI_DataMode */
mbed_official 532:fe11edbda85c 159 uint32_t NbData; /* Specifies the number of data to transfer.
mbed_official 532:fe11edbda85c 160 This parameter can be any value between 0 and 0xFFFFFFFF (0 means undefined length
mbed_official 532:fe11edbda85c 161 until end of memory)*/
mbed_official 532:fe11edbda85c 162 uint32_t DdrMode; /* Specifies the double data rate mode for address, alternate byte and data phase
mbed_official 532:fe11edbda85c 163 This parameter can be a value of @ref QSPI_DdrMode */
mbed_official 532:fe11edbda85c 164 uint32_t DdrHoldHalfCycle; /* Specifies the DDR hold half cycle. It delays the data output by one half of
mbed_official 532:fe11edbda85c 165 system clock in DDR mode.
mbed_official 532:fe11edbda85c 166 This parameter can be a value of @ref QSPI_DdrHoldHalfCycle */
mbed_official 532:fe11edbda85c 167 uint32_t SIOOMode; /* Specifies the send instruction only once mode
mbed_official 532:fe11edbda85c 168 This parameter can be a value of @ref QSPI_SIOOMode */
mbed_official 532:fe11edbda85c 169 }QSPI_CommandTypeDef;
mbed_official 532:fe11edbda85c 170
mbed_official 532:fe11edbda85c 171 /**
mbed_official 532:fe11edbda85c 172 * @brief QSPI Auto Polling mode configuration structure definition
mbed_official 532:fe11edbda85c 173 */
mbed_official 532:fe11edbda85c 174 typedef struct
mbed_official 532:fe11edbda85c 175 {
mbed_official 532:fe11edbda85c 176 uint32_t Match; /* Specifies the value to be compared with the masked status register to get a match.
mbed_official 532:fe11edbda85c 177 This parameter can be any value between 0 and 0xFFFFFFFF */
mbed_official 532:fe11edbda85c 178 uint32_t Mask; /* Specifies the mask to be applied to the status bytes received.
mbed_official 532:fe11edbda85c 179 This parameter can be any value between 0 and 0xFFFFFFFF */
mbed_official 532:fe11edbda85c 180 uint32_t Interval; /* Specifies the number of clock cycles between two read during automatic polling phases.
mbed_official 532:fe11edbda85c 181 This parameter can be any value between 0 and 0xFFFF */
mbed_official 532:fe11edbda85c 182 uint32_t StatusBytesSize; /* Specifies the size of the status bytes received.
mbed_official 532:fe11edbda85c 183 This parameter can be any value between 1 and 4 */
mbed_official 532:fe11edbda85c 184 uint32_t MatchMode; /* Specifies the method used for determining a match.
mbed_official 532:fe11edbda85c 185 This parameter can be a value of @ref QSPI_MatchMode */
mbed_official 532:fe11edbda85c 186 uint32_t AutomaticStop; /* Specifies if automatic polling is stopped after a match.
mbed_official 532:fe11edbda85c 187 This parameter can be a value of @ref QSPI_AutomaticStop */
mbed_official 532:fe11edbda85c 188 }QSPI_AutoPollingTypeDef;
mbed_official 532:fe11edbda85c 189
mbed_official 532:fe11edbda85c 190 /**
mbed_official 532:fe11edbda85c 191 * @brief QSPI Memory Mapped mode configuration structure definition
mbed_official 532:fe11edbda85c 192 */
mbed_official 532:fe11edbda85c 193 typedef struct
mbed_official 532:fe11edbda85c 194 {
mbed_official 532:fe11edbda85c 195 uint32_t TimeOutPeriod; /* Specifies the number of clock to wait when the FIFO is full before to release the chip select.
mbed_official 532:fe11edbda85c 196 This parameter can be any value between 0 and 0xFFFF */
mbed_official 532:fe11edbda85c 197 uint32_t TimeOutActivation; /* Specifies if the time out counter is enabled to release the chip select.
mbed_official 532:fe11edbda85c 198 This parameter can be a value of @ref QSPI_TimeOutActivation */
mbed_official 532:fe11edbda85c 199 }QSPI_MemoryMappedTypeDef;
mbed_official 532:fe11edbda85c 200 /**
mbed_official 532:fe11edbda85c 201 * @}
mbed_official 532:fe11edbda85c 202 */
mbed_official 532:fe11edbda85c 203
mbed_official 532:fe11edbda85c 204 /* Exported constants --------------------------------------------------------*/
mbed_official 532:fe11edbda85c 205 /** @defgroup QSPI_Exported_Constants QSPI Exported Constants
mbed_official 532:fe11edbda85c 206 * @{
mbed_official 532:fe11edbda85c 207 */
mbed_official 532:fe11edbda85c 208 /** @defgroup QSPI_ErrorCode QSPI Error Code
mbed_official 532:fe11edbda85c 209 * @{
mbed_official 532:fe11edbda85c 210 */
mbed_official 532:fe11edbda85c 211 #define HAL_QSPI_ERROR_NONE ((uint32_t)0x00000000) /*!< No error */
mbed_official 532:fe11edbda85c 212 #define HAL_QSPI_ERROR_TIMEOUT ((uint32_t)0x00000001) /*!< Timeout error */
mbed_official 532:fe11edbda85c 213 #define HAL_QSPI_ERROR_TRANSFER ((uint32_t)0x00000002) /*!< Transfer error */
mbed_official 532:fe11edbda85c 214 #define HAL_QSPI_ERROR_DMA ((uint32_t)0x00000004) /*!< DMA transfer error */
mbed_official 532:fe11edbda85c 215 /**
mbed_official 532:fe11edbda85c 216 * @}
mbed_official 532:fe11edbda85c 217 */
mbed_official 532:fe11edbda85c 218
mbed_official 532:fe11edbda85c 219 /** @defgroup QSPI_SampleShifting QSPI Sample Shifting
mbed_official 532:fe11edbda85c 220 * @{
mbed_official 532:fe11edbda85c 221 */
mbed_official 532:fe11edbda85c 222 #define QSPI_SAMPLE_SHIFTING_NONE ((uint32_t)0x00000000) /*!<No clock cycle shift to sample data*/
mbed_official 532:fe11edbda85c 223 #define QSPI_SAMPLE_SHIFTING_HALFCYCLE ((uint32_t)QUADSPI_CR_SSHIFT) /*!<1/2 clock cycle shift to sample data*/
mbed_official 532:fe11edbda85c 224 /**
mbed_official 532:fe11edbda85c 225 * @}
mbed_official 532:fe11edbda85c 226 */
mbed_official 532:fe11edbda85c 227
mbed_official 532:fe11edbda85c 228 /** @defgroup QSPI_ChipSelectHighTime QSPI Chip Select High Time
mbed_official 532:fe11edbda85c 229 * @{
mbed_official 532:fe11edbda85c 230 */
mbed_official 532:fe11edbda85c 231 #define QSPI_CS_HIGH_TIME_1_CYCLE ((uint32_t)0x00000000) /*!<nCS stay high for at least 1 clock cycle between commands*/
mbed_official 532:fe11edbda85c 232 #define QSPI_CS_HIGH_TIME_2_CYCLE ((uint32_t)QUADSPI_DCR_CSHT_0) /*!<nCS stay high for at least 2 clock cycles between commands*/
mbed_official 532:fe11edbda85c 233 #define QSPI_CS_HIGH_TIME_3_CYCLE ((uint32_t)QUADSPI_DCR_CSHT_1) /*!<nCS stay high for at least 3 clock cycles between commands*/
mbed_official 532:fe11edbda85c 234 #define QSPI_CS_HIGH_TIME_4_CYCLE ((uint32_t)QUADSPI_DCR_CSHT_0 | QUADSPI_DCR_CSHT_1) /*!<nCS stay high for at least 4 clock cycles between commands*/
mbed_official 532:fe11edbda85c 235 #define QSPI_CS_HIGH_TIME_5_CYCLE ((uint32_t)QUADSPI_DCR_CSHT_2) /*!<nCS stay high for at least 5 clock cycles between commands*/
mbed_official 532:fe11edbda85c 236 #define QSPI_CS_HIGH_TIME_6_CYCLE ((uint32_t)QUADSPI_DCR_CSHT_2 | QUADSPI_DCR_CSHT_0) /*!<nCS stay high for at least 6 clock cycles between commands*/
mbed_official 532:fe11edbda85c 237 #define QSPI_CS_HIGH_TIME_7_CYCLE ((uint32_t)QUADSPI_DCR_CSHT_2 | QUADSPI_DCR_CSHT_1) /*!<nCS stay high for at least 7 clock cycles between commands*/
mbed_official 532:fe11edbda85c 238 #define QSPI_CS_HIGH_TIME_8_CYCLE ((uint32_t)QUADSPI_DCR_CSHT) /*!<nCS stay high for at least 8 clock cycles between commands*/
mbed_official 532:fe11edbda85c 239 /**
mbed_official 532:fe11edbda85c 240 * @}
mbed_official 532:fe11edbda85c 241 */
mbed_official 532:fe11edbda85c 242
mbed_official 532:fe11edbda85c 243 /** @defgroup QSPI_ClockMode QSPI Clock Mode
mbed_official 532:fe11edbda85c 244 * @{
mbed_official 532:fe11edbda85c 245 */
mbed_official 532:fe11edbda85c 246 #define QSPI_CLOCK_MODE_0 ((uint32_t)0x00000000) /*!<Clk stays low while nCS is released*/
mbed_official 532:fe11edbda85c 247 #define QSPI_CLOCK_MODE_3 ((uint32_t)QUADSPI_DCR_CKMODE) /*!<Clk goes high while nCS is released*/
mbed_official 532:fe11edbda85c 248 /**
mbed_official 532:fe11edbda85c 249 * @}
mbed_official 532:fe11edbda85c 250 */
mbed_official 532:fe11edbda85c 251
mbed_official 532:fe11edbda85c 252 /** @defgroup QSPI_Flash_Select QSPI Flash Select
mbed_official 532:fe11edbda85c 253 * @{
mbed_official 532:fe11edbda85c 254 */
mbed_official 532:fe11edbda85c 255 #define QSPI_FLASH_ID_1 ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 256 #define QSPI_FLASH_ID_2 ((uint32_t)QUADSPI_CR_FSEL)
mbed_official 532:fe11edbda85c 257 /**
mbed_official 532:fe11edbda85c 258 * @}
mbed_official 532:fe11edbda85c 259 */
mbed_official 532:fe11edbda85c 260
mbed_official 532:fe11edbda85c 261 /** @defgroup QSPI_DualFlash_Mode QSPI Dual Flash Mode
mbed_official 532:fe11edbda85c 262 * @{
mbed_official 532:fe11edbda85c 263 */
mbed_official 532:fe11edbda85c 264 #define QSPI_DUALFLASH_ENABLE ((uint32_t)QUADSPI_CR_DFM)
mbed_official 532:fe11edbda85c 265 #define QSPI_DUALFLASH_DISABLE ((uint32_t)0x00000000)
mbed_official 532:fe11edbda85c 266 /**
mbed_official 532:fe11edbda85c 267 * @}
mbed_official 532:fe11edbda85c 268 */
mbed_official 532:fe11edbda85c 269
mbed_official 532:fe11edbda85c 270 /** @defgroup QSPI_AddressSize QSPI Address Size
mbed_official 532:fe11edbda85c 271 * @{
mbed_official 532:fe11edbda85c 272 */
mbed_official 532:fe11edbda85c 273 #define QSPI_ADDRESS_8_BITS ((uint32_t)0x00000000) /*!<8-bit address*/
mbed_official 532:fe11edbda85c 274 #define QSPI_ADDRESS_16_BITS ((uint32_t)QUADSPI_CCR_ADSIZE_0) /*!<16-bit address*/
mbed_official 532:fe11edbda85c 275 #define QSPI_ADDRESS_24_BITS ((uint32_t)QUADSPI_CCR_ADSIZE_1) /*!<24-bit address*/
mbed_official 532:fe11edbda85c 276 #define QSPI_ADDRESS_32_BITS ((uint32_t)QUADSPI_CCR_ADSIZE) /*!<32-bit address*/
mbed_official 532:fe11edbda85c 277 /**
mbed_official 532:fe11edbda85c 278 * @}
mbed_official 532:fe11edbda85c 279 */
mbed_official 532:fe11edbda85c 280
mbed_official 532:fe11edbda85c 281 /** @defgroup QSPI_AlternateBytesSize QSPI Alternate Bytes Size
mbed_official 532:fe11edbda85c 282 * @{
mbed_official 532:fe11edbda85c 283 */
mbed_official 532:fe11edbda85c 284 #define QSPI_ALTERNATE_BYTES_8_BITS ((uint32_t)0x00000000) /*!<8-bit alternate bytes*/
mbed_official 532:fe11edbda85c 285 #define QSPI_ALTERNATE_BYTES_16_BITS ((uint32_t)QUADSPI_CCR_ABSIZE_0) /*!<16-bit alternate bytes*/
mbed_official 532:fe11edbda85c 286 #define QSPI_ALTERNATE_BYTES_24_BITS ((uint32_t)QUADSPI_CCR_ABSIZE_1) /*!<24-bit alternate bytes*/
mbed_official 532:fe11edbda85c 287 #define QSPI_ALTERNATE_BYTES_32_BITS ((uint32_t)QUADSPI_CCR_ABSIZE) /*!<32-bit alternate bytes*/
mbed_official 532:fe11edbda85c 288 /**
mbed_official 532:fe11edbda85c 289 * @}
mbed_official 532:fe11edbda85c 290 */
mbed_official 532:fe11edbda85c 291
mbed_official 532:fe11edbda85c 292 /** @defgroup QSPI_InstructionMode QSPI Instruction Mode
mbed_official 532:fe11edbda85c 293 * @{
mbed_official 532:fe11edbda85c 294 */
mbed_official 532:fe11edbda85c 295 #define QSPI_INSTRUCTION_NONE ((uint32_t)0x00000000) /*!<No instruction*/
mbed_official 532:fe11edbda85c 296 #define QSPI_INSTRUCTION_1_LINE ((uint32_t)QUADSPI_CCR_IMODE_0) /*!<Instruction on a single line*/
mbed_official 532:fe11edbda85c 297 #define QSPI_INSTRUCTION_2_LINES ((uint32_t)QUADSPI_CCR_IMODE_1) /*!<Instruction on two lines*/
mbed_official 532:fe11edbda85c 298 #define QSPI_INSTRUCTION_4_LINES ((uint32_t)QUADSPI_CCR_IMODE) /*!<Instruction on four lines*/
mbed_official 532:fe11edbda85c 299 /**
mbed_official 532:fe11edbda85c 300 * @}
mbed_official 532:fe11edbda85c 301 */
mbed_official 532:fe11edbda85c 302
mbed_official 532:fe11edbda85c 303 /** @defgroup QSPI_AddressMode QSPI Address Mode
mbed_official 532:fe11edbda85c 304 * @{
mbed_official 532:fe11edbda85c 305 */
mbed_official 532:fe11edbda85c 306 #define QSPI_ADDRESS_NONE ((uint32_t)0x00000000) /*!<No address*/
mbed_official 532:fe11edbda85c 307 #define QSPI_ADDRESS_1_LINE ((uint32_t)QUADSPI_CCR_ADMODE_0) /*!<Address on a single line*/
mbed_official 532:fe11edbda85c 308 #define QSPI_ADDRESS_2_LINES ((uint32_t)QUADSPI_CCR_ADMODE_1) /*!<Address on two lines*/
mbed_official 532:fe11edbda85c 309 #define QSPI_ADDRESS_4_LINES ((uint32_t)QUADSPI_CCR_ADMODE) /*!<Address on four lines*/
mbed_official 532:fe11edbda85c 310 /**
mbed_official 532:fe11edbda85c 311 * @}
mbed_official 532:fe11edbda85c 312 */
mbed_official 532:fe11edbda85c 313
mbed_official 532:fe11edbda85c 314 /** @defgroup QSPI_AlternateBytesMode QSPI Alternate Bytes Mode
mbed_official 532:fe11edbda85c 315 * @{
mbed_official 532:fe11edbda85c 316 */
mbed_official 532:fe11edbda85c 317 #define QSPI_ALTERNATE_BYTES_NONE ((uint32_t)0x00000000) /*!<No alternate bytes*/
mbed_official 532:fe11edbda85c 318 #define QSPI_ALTERNATE_BYTES_1_LINE ((uint32_t)QUADSPI_CCR_ABMODE_0) /*!<Alternate bytes on a single line*/
mbed_official 532:fe11edbda85c 319 #define QSPI_ALTERNATE_BYTES_2_LINES ((uint32_t)QUADSPI_CCR_ABMODE_1) /*!<Alternate bytes on two lines*/
mbed_official 532:fe11edbda85c 320 #define QSPI_ALTERNATE_BYTES_4_LINES ((uint32_t)QUADSPI_CCR_ABMODE) /*!<Alternate bytes on four lines*/
mbed_official 532:fe11edbda85c 321 /**
mbed_official 532:fe11edbda85c 322 * @}
mbed_official 532:fe11edbda85c 323 */
mbed_official 532:fe11edbda85c 324
mbed_official 532:fe11edbda85c 325 /** @defgroup QSPI_DataMode QSPI Data Mode
mbed_official 532:fe11edbda85c 326 * @{
mbed_official 532:fe11edbda85c 327 */
mbed_official 532:fe11edbda85c 328 #define QSPI_DATA_NONE ((uint32_t)0X00000000) /*!<No data*/
mbed_official 532:fe11edbda85c 329 #define QSPI_DATA_1_LINE ((uint32_t)QUADSPI_CCR_DMODE_0) /*!<Data on a single line*/
mbed_official 532:fe11edbda85c 330 #define QSPI_DATA_2_LINES ((uint32_t)QUADSPI_CCR_DMODE_1) /*!<Data on two lines*/
mbed_official 532:fe11edbda85c 331 #define QSPI_DATA_4_LINES ((uint32_t)QUADSPI_CCR_DMODE) /*!<Data on four lines*/
mbed_official 532:fe11edbda85c 332 /**
mbed_official 532:fe11edbda85c 333 * @}
mbed_official 532:fe11edbda85c 334 */
mbed_official 532:fe11edbda85c 335
mbed_official 532:fe11edbda85c 336 /** @defgroup QSPI_DdrMode QSPI Ddr Mode
mbed_official 532:fe11edbda85c 337 * @{
mbed_official 532:fe11edbda85c 338 */
mbed_official 532:fe11edbda85c 339 #define QSPI_DDR_MODE_DISABLE ((uint32_t)0x00000000) /*!<Double data rate mode disabled*/
mbed_official 532:fe11edbda85c 340 #define QSPI_DDR_MODE_ENABLE ((uint32_t)QUADSPI_CCR_DDRM) /*!<Double data rate mode enabled*/
mbed_official 532:fe11edbda85c 341 /**
mbed_official 532:fe11edbda85c 342 * @}
mbed_official 532:fe11edbda85c 343 */
mbed_official 532:fe11edbda85c 344
mbed_official 532:fe11edbda85c 345 /** @defgroup QSPI_DdrHoldHalfCycle QSPI Ddr HoldHalfCycle
mbed_official 532:fe11edbda85c 346 * @{
mbed_official 532:fe11edbda85c 347 */
mbed_official 532:fe11edbda85c 348 #define QSPI_DDR_HHC_ANALOG_DELAY ((uint32_t)0x00000000) /*!<Delay the data output using analog delay in DDR mode*/
mbed_official 532:fe11edbda85c 349 #define QSPI_DDR_HHC_HALF_CLK_DELAY ((uint32_t)QUADSPI_CCR_DHHC) /*!<Delay the data output by 1/2 clock cycle in DDR mode*/
mbed_official 532:fe11edbda85c 350 /**
mbed_official 532:fe11edbda85c 351 * @}
mbed_official 532:fe11edbda85c 352 */
mbed_official 532:fe11edbda85c 353
mbed_official 532:fe11edbda85c 354 /** @defgroup QSPI_SIOOMode QSPI SIOO Mode
mbed_official 532:fe11edbda85c 355 * @{
mbed_official 532:fe11edbda85c 356 */
mbed_official 532:fe11edbda85c 357 #define QSPI_SIOO_INST_EVERY_CMD ((uint32_t)0x00000000) /*!<Send instruction on every transaction*/
mbed_official 532:fe11edbda85c 358 #define QSPI_SIOO_INST_ONLY_FIRST_CMD ((uint32_t)QUADSPI_CCR_SIOO) /*!<Send instruction only for the first command*/
mbed_official 532:fe11edbda85c 359 /**
mbed_official 532:fe11edbda85c 360 * @}
mbed_official 532:fe11edbda85c 361 */
mbed_official 532:fe11edbda85c 362
mbed_official 532:fe11edbda85c 363 /** @defgroup QSPI_MatchMode QSPI Match Mode
mbed_official 532:fe11edbda85c 364 * @{
mbed_official 532:fe11edbda85c 365 */
mbed_official 532:fe11edbda85c 366 #define QSPI_MATCH_MODE_AND ((uint32_t)0x00000000) /*!<AND match mode between unmasked bits*/
mbed_official 532:fe11edbda85c 367 #define QSPI_MATCH_MODE_OR ((uint32_t)QUADSPI_CR_PMM) /*!<OR match mode between unmasked bits*/
mbed_official 532:fe11edbda85c 368 /**
mbed_official 532:fe11edbda85c 369 * @}
mbed_official 532:fe11edbda85c 370 */
mbed_official 532:fe11edbda85c 371
mbed_official 532:fe11edbda85c 372 /** @defgroup QSPI_AutomaticStop QSPI Automatic Stop
mbed_official 532:fe11edbda85c 373 * @{
mbed_official 532:fe11edbda85c 374 */
mbed_official 532:fe11edbda85c 375 #define QSPI_AUTOMATIC_STOP_DISABLE ((uint32_t)0x00000000) /*!<AutoPolling stops only with abort or QSPI disabling*/
mbed_official 532:fe11edbda85c 376 #define QSPI_AUTOMATIC_STOP_ENABLE ((uint32_t)QUADSPI_CR_APMS) /*!<AutoPolling stops as soon as there is a match*/
mbed_official 532:fe11edbda85c 377 /**
mbed_official 532:fe11edbda85c 378 * @}
mbed_official 532:fe11edbda85c 379 */
mbed_official 532:fe11edbda85c 380
mbed_official 532:fe11edbda85c 381 /** @defgroup QSPI_TimeOutActivation QSPI TimeOut Activation
mbed_official 532:fe11edbda85c 382 * @{
mbed_official 532:fe11edbda85c 383 */
mbed_official 532:fe11edbda85c 384 #define QSPI_TIMEOUT_COUNTER_DISABLE ((uint32_t)0x00000000) /*!<Timeout counter disabled, nCS remains active*/
mbed_official 532:fe11edbda85c 385 #define QSPI_TIMEOUT_COUNTER_ENABLE ((uint32_t)QUADSPI_CR_TCEN) /*!<Timeout counter enabled, nCS released when timeout expires*/
mbed_official 532:fe11edbda85c 386 /**
mbed_official 532:fe11edbda85c 387 * @}
mbed_official 532:fe11edbda85c 388 */
mbed_official 532:fe11edbda85c 389
mbed_official 532:fe11edbda85c 390 /** @defgroup QSPI_Flags QSPI Flags
mbed_official 532:fe11edbda85c 391 * @{
mbed_official 532:fe11edbda85c 392 */
mbed_official 532:fe11edbda85c 393 #define QSPI_FLAG_BUSY QUADSPI_SR_BUSY /*!<Busy flag: operation is ongoing*/
mbed_official 532:fe11edbda85c 394 #define QSPI_FLAG_TO QUADSPI_SR_TOF /*!<Timeout flag: timeout occurs in memory-mapped mode*/
mbed_official 532:fe11edbda85c 395 #define QSPI_FLAG_SM QUADSPI_SR_SMF /*!<Status match flag: received data matches in autopolling mode*/
mbed_official 532:fe11edbda85c 396 #define QSPI_FLAG_FT QUADSPI_SR_FTF /*!<Fifo threshold flag: Fifo threshold reached or data left after read from memory is complete*/
mbed_official 532:fe11edbda85c 397 #define QSPI_FLAG_TC QUADSPI_SR_TCF /*!<Transfer complete flag: programmed number of data have been transferred or the transfer has been aborted*/
mbed_official 532:fe11edbda85c 398 #define QSPI_FLAG_TE QUADSPI_SR_TEF /*!<Transfer error flag: invalid address is being accessed*/
mbed_official 532:fe11edbda85c 399 /**
mbed_official 532:fe11edbda85c 400 * @}
mbed_official 532:fe11edbda85c 401 */
mbed_official 532:fe11edbda85c 402
mbed_official 532:fe11edbda85c 403 /** @defgroup QSPI_Interrupts QSPI Interrupts
mbed_official 532:fe11edbda85c 404 * @{
mbed_official 532:fe11edbda85c 405 */
mbed_official 532:fe11edbda85c 406 #define QSPI_IT_TO QUADSPI_CR_TOIE /*!<Interrupt on the timeout flag*/
mbed_official 532:fe11edbda85c 407 #define QSPI_IT_SM QUADSPI_CR_SMIE /*!<Interrupt on the status match flag*/
mbed_official 532:fe11edbda85c 408 #define QSPI_IT_FT QUADSPI_CR_FTIE /*!<Interrupt on the fifo threshold flag*/
mbed_official 532:fe11edbda85c 409 #define QSPI_IT_TC QUADSPI_CR_TCIE /*!<Interrupt on the transfer complete flag*/
mbed_official 532:fe11edbda85c 410 #define QSPI_IT_TE QUADSPI_CR_TEIE /*!<Interrupt on the transfer error flag*/
mbed_official 532:fe11edbda85c 411 /**
mbed_official 532:fe11edbda85c 412 * @}
mbed_official 532:fe11edbda85c 413 */
mbed_official 532:fe11edbda85c 414
mbed_official 532:fe11edbda85c 415 /** @defgroup QSPI_Timeout_definition QSPI Timeout definition
mbed_official 532:fe11edbda85c 416 * @{
mbed_official 532:fe11edbda85c 417 */
mbed_official 532:fe11edbda85c 418 #define HAL_QPSI_TIMEOUT_DEFAULT_VALUE ((uint32_t)5000)/* 5 s */
mbed_official 532:fe11edbda85c 419 /**
mbed_official 532:fe11edbda85c 420 * @}
mbed_official 532:fe11edbda85c 421 */
mbed_official 532:fe11edbda85c 422
mbed_official 532:fe11edbda85c 423 /**
mbed_official 532:fe11edbda85c 424 * @}
mbed_official 532:fe11edbda85c 425 */
mbed_official 532:fe11edbda85c 426
mbed_official 532:fe11edbda85c 427 /* Exported macros -----------------------------------------------------------*/
mbed_official 532:fe11edbda85c 428 /** @defgroup QSPI_Exported_Macros QSPI Exported Macros
mbed_official 532:fe11edbda85c 429 * @{
mbed_official 532:fe11edbda85c 430 */
mbed_official 532:fe11edbda85c 431
mbed_official 532:fe11edbda85c 432 /** @brief Reset QSPI handle state
mbed_official 532:fe11edbda85c 433 * @param __HANDLE__: QSPI handle.
mbed_official 532:fe11edbda85c 434 * @retval None
mbed_official 532:fe11edbda85c 435 */
mbed_official 532:fe11edbda85c 436 #define __HAL_QSPI_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_QSPI_STATE_RESET)
mbed_official 532:fe11edbda85c 437
mbed_official 532:fe11edbda85c 438 /** @brief Enable QSPI
mbed_official 532:fe11edbda85c 439 * @param __HANDLE__: specifies the QSPI Handle.
mbed_official 532:fe11edbda85c 440 * @retval None
mbed_official 532:fe11edbda85c 441 */
mbed_official 532:fe11edbda85c 442 #define __HAL_QSPI_ENABLE(__HANDLE__) SET_BIT((__HANDLE__)->Instance->CR, QUADSPI_CR_EN)
mbed_official 532:fe11edbda85c 443
mbed_official 532:fe11edbda85c 444 /** @brief Disable QSPI
mbed_official 532:fe11edbda85c 445 * @param __HANDLE__: specifies the QSPI Handle.
mbed_official 532:fe11edbda85c 446 * @retval None
mbed_official 532:fe11edbda85c 447 */
mbed_official 532:fe11edbda85c 448 #define __HAL_QSPI_DISABLE(__HANDLE__) CLEAR_BIT((__HANDLE__)->Instance->CR, QUADSPI_CR_EN)
mbed_official 532:fe11edbda85c 449
mbed_official 532:fe11edbda85c 450 /** @brief Enables the specified QSPI interrupt.
mbed_official 532:fe11edbda85c 451 * @param __HANDLE__: specifies the QSPI Handle.
mbed_official 532:fe11edbda85c 452 * @param __INTERRUPT__: specifies the QSPI interrupt source to enable.
mbed_official 532:fe11edbda85c 453 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 454 * @arg QSPI_IT_TO: QSPI Time out interrupt
mbed_official 532:fe11edbda85c 455 * @arg QSPI_IT_SM: QSPI Status match interrupt
mbed_official 532:fe11edbda85c 456 * @arg QSPI_IT_FT: QSPI FIFO threshold interrupt
mbed_official 532:fe11edbda85c 457 * @arg QSPI_IT_TC: QSPI Transfer complete interrupt
mbed_official 532:fe11edbda85c 458 * @arg QSPI_IT_TE: QSPI Transfer error interrupt
mbed_official 532:fe11edbda85c 459 * @retval None
mbed_official 532:fe11edbda85c 460 */
mbed_official 532:fe11edbda85c 461 #define __HAL_QSPI_ENABLE_IT(__HANDLE__, __INTERRUPT__) SET_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__))
mbed_official 532:fe11edbda85c 462
mbed_official 532:fe11edbda85c 463
mbed_official 532:fe11edbda85c 464 /** @brief Disables the specified QSPI interrupt.
mbed_official 532:fe11edbda85c 465 * @param __HANDLE__: specifies the QSPI Handle.
mbed_official 532:fe11edbda85c 466 * @param __INTERRUPT__: specifies the QSPI interrupt source to disable.
mbed_official 532:fe11edbda85c 467 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 468 * @arg QSPI_IT_TO: QSPI Timeout interrupt
mbed_official 532:fe11edbda85c 469 * @arg QSPI_IT_SM: QSPI Status match interrupt
mbed_official 532:fe11edbda85c 470 * @arg QSPI_IT_FT: QSPI FIFO threshold interrupt
mbed_official 532:fe11edbda85c 471 * @arg QSPI_IT_TC: QSPI Transfer complete interrupt
mbed_official 532:fe11edbda85c 472 * @arg QSPI_IT_TE: QSPI Transfer error interrupt
mbed_official 532:fe11edbda85c 473 * @retval None
mbed_official 532:fe11edbda85c 474 */
mbed_official 532:fe11edbda85c 475 #define __HAL_QSPI_DISABLE_IT(__HANDLE__, __INTERRUPT__) CLEAR_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__))
mbed_official 532:fe11edbda85c 476
mbed_official 532:fe11edbda85c 477 /** @brief Checks whether the specified QSPI interrupt source is enabled.
mbed_official 532:fe11edbda85c 478 * @param __HANDLE__: specifies the QSPI Handle.
mbed_official 532:fe11edbda85c 479 * @param __INTERRUPT__: specifies the QSPI interrupt source to check.
mbed_official 532:fe11edbda85c 480 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 481 * @arg QSPI_IT_TO: QSPI Time out interrupt
mbed_official 532:fe11edbda85c 482 * @arg QSPI_IT_SM: QSPI Status match interrupt
mbed_official 532:fe11edbda85c 483 * @arg QSPI_IT_FT: QSPI FIFO threshold interrupt
mbed_official 532:fe11edbda85c 484 * @arg QSPI_IT_TC: QSPI Transfer complete interrupt
mbed_official 532:fe11edbda85c 485 * @arg QSPI_IT_TE: QSPI Transfer error interrupt
mbed_official 532:fe11edbda85c 486 * @retval The new state of __INTERRUPT__ (TRUE or FALSE).
mbed_official 532:fe11edbda85c 487 */
mbed_official 532:fe11edbda85c 488 #define __HAL_QSPI_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) (READ_BIT((__HANDLE__)->Instance->CR, (__INTERRUPT__)) == (__INTERRUPT__))
mbed_official 532:fe11edbda85c 489
mbed_official 532:fe11edbda85c 490 /**
mbed_official 532:fe11edbda85c 491 * @brief Get the selected QSPI's flag status.
mbed_official 532:fe11edbda85c 492 * @param __HANDLE__: specifies the QSPI Handle.
mbed_official 532:fe11edbda85c 493 * @param __FLAG__: specifies the QSPI flag to check.
mbed_official 532:fe11edbda85c 494 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 495 * @arg QSPI_FLAG_BUSY: QSPI Busy flag
mbed_official 532:fe11edbda85c 496 * @arg QSPI_FLAG_TO: QSPI Time out flag
mbed_official 532:fe11edbda85c 497 * @arg QSPI_FLAG_SM: QSPI Status match flag
mbed_official 532:fe11edbda85c 498 * @arg QSPI_FLAG_FT: QSPI FIFO threshold flag
mbed_official 532:fe11edbda85c 499 * @arg QSPI_FLAG_TC: QSPI Transfer complete flag
mbed_official 532:fe11edbda85c 500 * @arg QSPI_FLAG_TE: QSPI Transfer error flag
mbed_official 532:fe11edbda85c 501 * @retval None
mbed_official 532:fe11edbda85c 502 */
mbed_official 532:fe11edbda85c 503 #define __HAL_QSPI_GET_FLAG(__HANDLE__, __FLAG__) (READ_BIT((__HANDLE__)->Instance->SR, (__FLAG__)) != 0)
mbed_official 532:fe11edbda85c 504
mbed_official 532:fe11edbda85c 505 /** @brief Clears the specified QSPI's flag status.
mbed_official 532:fe11edbda85c 506 * @param __HANDLE__: specifies the QSPI Handle.
mbed_official 532:fe11edbda85c 507 * @param __FLAG__: specifies the QSPI clear register flag that needs to be set
mbed_official 532:fe11edbda85c 508 * This parameter can be one of the following values:
mbed_official 532:fe11edbda85c 509 * @arg QSPI_FLAG_TO: QSPI Time out flag
mbed_official 532:fe11edbda85c 510 * @arg QSPI_FLAG_SM: QSPI Status match flag
mbed_official 532:fe11edbda85c 511 * @arg QSPI_FLAG_TC: QSPI Transfer complete flag
mbed_official 532:fe11edbda85c 512 * @arg QSPI_FLAG_TE: QSPI Transfer error flag
mbed_official 532:fe11edbda85c 513 * @retval None
mbed_official 532:fe11edbda85c 514 */
mbed_official 532:fe11edbda85c 515 #define __HAL_QSPI_CLEAR_FLAG(__HANDLE__, __FLAG__) WRITE_REG((__HANDLE__)->Instance->FCR, (__FLAG__))
mbed_official 532:fe11edbda85c 516 /**
mbed_official 532:fe11edbda85c 517 * @}
mbed_official 532:fe11edbda85c 518 */
mbed_official 532:fe11edbda85c 519
mbed_official 532:fe11edbda85c 520 /* Exported functions --------------------------------------------------------*/
mbed_official 532:fe11edbda85c 521 /** @addtogroup QSPI_Exported_Functions
mbed_official 532:fe11edbda85c 522 * @{
mbed_official 532:fe11edbda85c 523 */
mbed_official 532:fe11edbda85c 524
mbed_official 532:fe11edbda85c 525 /** @addtogroup QSPI_Exported_Functions_Group1
mbed_official 532:fe11edbda85c 526 * @{
mbed_official 532:fe11edbda85c 527 */
mbed_official 532:fe11edbda85c 528 /* Initialization/de-initialization functions ********************************/
mbed_official 532:fe11edbda85c 529 HAL_StatusTypeDef HAL_QSPI_Init (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 530 HAL_StatusTypeDef HAL_QSPI_DeInit (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 531 void HAL_QSPI_MspInit (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 532 void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 533 /**
mbed_official 532:fe11edbda85c 534 * @}
mbed_official 532:fe11edbda85c 535 */
mbed_official 532:fe11edbda85c 536
mbed_official 532:fe11edbda85c 537 /** @addtogroup QSPI_Exported_Functions_Group2
mbed_official 532:fe11edbda85c 538 * @{
mbed_official 532:fe11edbda85c 539 */
mbed_official 532:fe11edbda85c 540 /* IO operation functions *****************************************************/
mbed_official 532:fe11edbda85c 541 /* QSPI IRQ handler method */
mbed_official 532:fe11edbda85c 542 void HAL_QSPI_IRQHandler(QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 543
mbed_official 532:fe11edbda85c 544 /* QSPI indirect mode */
mbed_official 532:fe11edbda85c 545 HAL_StatusTypeDef HAL_QSPI_Command (QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, uint32_t Timeout);
mbed_official 532:fe11edbda85c 546 HAL_StatusTypeDef HAL_QSPI_Transmit (QSPI_HandleTypeDef *hqspi, uint8_t *pData, uint32_t Timeout);
mbed_official 532:fe11edbda85c 547 HAL_StatusTypeDef HAL_QSPI_Receive (QSPI_HandleTypeDef *hqspi, uint8_t *pData, uint32_t Timeout);
mbed_official 532:fe11edbda85c 548 HAL_StatusTypeDef HAL_QSPI_Command_IT (QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd);
mbed_official 532:fe11edbda85c 549 HAL_StatusTypeDef HAL_QSPI_Transmit_IT (QSPI_HandleTypeDef *hqspi, uint8_t *pData);
mbed_official 532:fe11edbda85c 550 HAL_StatusTypeDef HAL_QSPI_Receive_IT (QSPI_HandleTypeDef *hqspi, uint8_t *pData);
mbed_official 532:fe11edbda85c 551 HAL_StatusTypeDef HAL_QSPI_Transmit_DMA (QSPI_HandleTypeDef *hqspi, uint8_t *pData);
mbed_official 532:fe11edbda85c 552 HAL_StatusTypeDef HAL_QSPI_Receive_DMA (QSPI_HandleTypeDef *hqspi, uint8_t *pData);
mbed_official 532:fe11edbda85c 553
mbed_official 532:fe11edbda85c 554 /* QSPI status flag polling mode */
mbed_official 532:fe11edbda85c 555 HAL_StatusTypeDef HAL_QSPI_AutoPolling (QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_AutoPollingTypeDef *cfg, uint32_t Timeout);
mbed_official 532:fe11edbda85c 556 HAL_StatusTypeDef HAL_QSPI_AutoPolling_IT(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_AutoPollingTypeDef *cfg);
mbed_official 532:fe11edbda85c 557
mbed_official 532:fe11edbda85c 558 /* QSPI memory-mapped mode */
mbed_official 532:fe11edbda85c 559 HAL_StatusTypeDef HAL_QSPI_MemoryMapped(QSPI_HandleTypeDef *hqspi, QSPI_CommandTypeDef *cmd, QSPI_MemoryMappedTypeDef *cfg);
mbed_official 532:fe11edbda85c 560 /**
mbed_official 532:fe11edbda85c 561 * @}
mbed_official 532:fe11edbda85c 562 */
mbed_official 532:fe11edbda85c 563
mbed_official 532:fe11edbda85c 564 /** @addtogroup QSPI_Exported_Functions_Group3
mbed_official 532:fe11edbda85c 565 * @{
mbed_official 532:fe11edbda85c 566 */
mbed_official 532:fe11edbda85c 567 /* Callback functions in non-blocking modes ***********************************/
mbed_official 532:fe11edbda85c 568 void HAL_QSPI_ErrorCallback (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 569 void HAL_QSPI_FifoThresholdCallback(QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 570
mbed_official 532:fe11edbda85c 571 /* QSPI indirect mode */
mbed_official 532:fe11edbda85c 572 void HAL_QSPI_CmdCpltCallback (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 573 void HAL_QSPI_RxCpltCallback (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 574 void HAL_QSPI_TxCpltCallback (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 575 void HAL_QSPI_RxHalfCpltCallback (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 576 void HAL_QSPI_TxHalfCpltCallback (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 577
mbed_official 532:fe11edbda85c 578 /* QSPI status flag polling mode */
mbed_official 532:fe11edbda85c 579 void HAL_QSPI_StatusMatchCallback (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 580
mbed_official 532:fe11edbda85c 581 /* QSPI memory-mapped mode */
mbed_official 532:fe11edbda85c 582 void HAL_QSPI_TimeOutCallback (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 583 /**
mbed_official 532:fe11edbda85c 584 * @}
mbed_official 532:fe11edbda85c 585 */
mbed_official 532:fe11edbda85c 586
mbed_official 532:fe11edbda85c 587 /** @addtogroup QSPI_Exported_Functions_Group4
mbed_official 532:fe11edbda85c 588 * @{
mbed_official 532:fe11edbda85c 589 */
mbed_official 532:fe11edbda85c 590 /* Peripheral Control and State functions ************************************/
mbed_official 532:fe11edbda85c 591 HAL_QSPI_StateTypeDef HAL_QSPI_GetState(QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 592 uint32_t HAL_QSPI_GetError(QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 593 HAL_StatusTypeDef HAL_QSPI_Abort (QSPI_HandleTypeDef *hqspi);
mbed_official 532:fe11edbda85c 594 void HAL_QSPI_SetTimeout(QSPI_HandleTypeDef *hqspi, uint32_t Timeout);
mbed_official 532:fe11edbda85c 595 /**
mbed_official 532:fe11edbda85c 596 * @}
mbed_official 532:fe11edbda85c 597 */
mbed_official 532:fe11edbda85c 598
mbed_official 532:fe11edbda85c 599 /**
mbed_official 532:fe11edbda85c 600 * @}
mbed_official 532:fe11edbda85c 601 */
mbed_official 532:fe11edbda85c 602
mbed_official 532:fe11edbda85c 603 /* Private types -------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 604 /* Private variables ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 605 /* Private constants ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 606 /** @defgroup QSPI_Private_Constants QSPI Private Constants
mbed_official 532:fe11edbda85c 607 * @{
mbed_official 532:fe11edbda85c 608 */
mbed_official 532:fe11edbda85c 609
mbed_official 532:fe11edbda85c 610 /**
mbed_official 532:fe11edbda85c 611 * @}
mbed_official 532:fe11edbda85c 612 */
mbed_official 532:fe11edbda85c 613
mbed_official 532:fe11edbda85c 614 /* Private macros ------------------------------------------------------------*/
mbed_official 532:fe11edbda85c 615 /** @defgroup QSPI_Private_Macros QSPI Private Macros
mbed_official 532:fe11edbda85c 616 * @{
mbed_official 532:fe11edbda85c 617 */
mbed_official 532:fe11edbda85c 618 /** @defgroup QSPI_ClockPrescaler QSPI Clock Prescaler
mbed_official 532:fe11edbda85c 619 * @{
mbed_official 532:fe11edbda85c 620 */
mbed_official 532:fe11edbda85c 621 #define IS_QSPI_CLOCK_PRESCALER(PRESCALER) ((PRESCALER) <= 0xFF)
mbed_official 532:fe11edbda85c 622 /**
mbed_official 532:fe11edbda85c 623 * @}
mbed_official 532:fe11edbda85c 624 */
mbed_official 532:fe11edbda85c 625
mbed_official 532:fe11edbda85c 626 /** @defgroup QSPI_FifoThreshold QSPI Fifo Threshold
mbed_official 532:fe11edbda85c 627 * @{
mbed_official 532:fe11edbda85c 628 */
mbed_official 532:fe11edbda85c 629 #define IS_QSPI_FIFO_THRESHOLD(THR) (((THR) > 0) && ((THR) <= 32))
mbed_official 532:fe11edbda85c 630 /**
mbed_official 532:fe11edbda85c 631 * @}
mbed_official 532:fe11edbda85c 632 */
mbed_official 532:fe11edbda85c 633
mbed_official 532:fe11edbda85c 634 #define IS_QSPI_SSHIFT(SSHIFT) (((SSHIFT) == QSPI_SAMPLE_SHIFTING_NONE) || \
mbed_official 532:fe11edbda85c 635 ((SSHIFT) == QSPI_SAMPLE_SHIFTING_HALFCYCLE))
mbed_official 532:fe11edbda85c 636
mbed_official 532:fe11edbda85c 637 /** @defgroup QSPI_FlashSize QSPI Flash Size
mbed_official 532:fe11edbda85c 638 * @{
mbed_official 532:fe11edbda85c 639 */
mbed_official 532:fe11edbda85c 640 #define IS_QSPI_FLASH_SIZE(FSIZE) (((FSIZE) <= 31))
mbed_official 532:fe11edbda85c 641 /**
mbed_official 532:fe11edbda85c 642 * @}
mbed_official 532:fe11edbda85c 643 */
mbed_official 532:fe11edbda85c 644
mbed_official 532:fe11edbda85c 645 #define IS_QSPI_CS_HIGH_TIME(CSHTIME) (((CSHTIME) == QSPI_CS_HIGH_TIME_1_CYCLE) || \
mbed_official 532:fe11edbda85c 646 ((CSHTIME) == QSPI_CS_HIGH_TIME_2_CYCLE) || \
mbed_official 532:fe11edbda85c 647 ((CSHTIME) == QSPI_CS_HIGH_TIME_3_CYCLE) || \
mbed_official 532:fe11edbda85c 648 ((CSHTIME) == QSPI_CS_HIGH_TIME_4_CYCLE) || \
mbed_official 532:fe11edbda85c 649 ((CSHTIME) == QSPI_CS_HIGH_TIME_5_CYCLE) || \
mbed_official 532:fe11edbda85c 650 ((CSHTIME) == QSPI_CS_HIGH_TIME_6_CYCLE) || \
mbed_official 532:fe11edbda85c 651 ((CSHTIME) == QSPI_CS_HIGH_TIME_7_CYCLE) || \
mbed_official 532:fe11edbda85c 652 ((CSHTIME) == QSPI_CS_HIGH_TIME_8_CYCLE))
mbed_official 532:fe11edbda85c 653
mbed_official 532:fe11edbda85c 654 #define IS_QSPI_CLOCK_MODE(CLKMODE) (((CLKMODE) == QSPI_CLOCK_MODE_0) || \
mbed_official 532:fe11edbda85c 655 ((CLKMODE) == QSPI_CLOCK_MODE_3))
mbed_official 532:fe11edbda85c 656
mbed_official 532:fe11edbda85c 657 #define IS_QSPI_FLASH_ID(FLA) (((FLA) == QSPI_FLASH_ID_1) || \
mbed_official 532:fe11edbda85c 658 ((FLA) == QSPI_FLASH_ID_2))
mbed_official 532:fe11edbda85c 659
mbed_official 532:fe11edbda85c 660 #define IS_QSPI_DUAL_FLASH_MODE(MODE) (((MODE) == QSPI_DUALFLASH_ENABLE) || \
mbed_official 532:fe11edbda85c 661 ((MODE) == QSPI_DUALFLASH_DISABLE))
mbed_official 532:fe11edbda85c 662
mbed_official 532:fe11edbda85c 663
mbed_official 532:fe11edbda85c 664 /** @defgroup QSPI_Instruction QSPI Instruction
mbed_official 532:fe11edbda85c 665 * @{
mbed_official 532:fe11edbda85c 666 */
mbed_official 532:fe11edbda85c 667 #define IS_QSPI_INSTRUCTION(INSTRUCTION) ((INSTRUCTION) <= 0xFF)
mbed_official 532:fe11edbda85c 668 /**
mbed_official 532:fe11edbda85c 669 * @}
mbed_official 532:fe11edbda85c 670 */
mbed_official 532:fe11edbda85c 671
mbed_official 532:fe11edbda85c 672 #define IS_QSPI_ADDRESS_SIZE(ADDR_SIZE) (((ADDR_SIZE) == QSPI_ADDRESS_8_BITS) || \
mbed_official 532:fe11edbda85c 673 ((ADDR_SIZE) == QSPI_ADDRESS_16_BITS) || \
mbed_official 532:fe11edbda85c 674 ((ADDR_SIZE) == QSPI_ADDRESS_24_BITS) || \
mbed_official 532:fe11edbda85c 675 ((ADDR_SIZE) == QSPI_ADDRESS_32_BITS))
mbed_official 532:fe11edbda85c 676
mbed_official 532:fe11edbda85c 677 #define IS_QSPI_ALTERNATE_BYTES_SIZE(SIZE) (((SIZE) == QSPI_ALTERNATE_BYTES_8_BITS) || \
mbed_official 532:fe11edbda85c 678 ((SIZE) == QSPI_ALTERNATE_BYTES_16_BITS) || \
mbed_official 532:fe11edbda85c 679 ((SIZE) == QSPI_ALTERNATE_BYTES_24_BITS) || \
mbed_official 532:fe11edbda85c 680 ((SIZE) == QSPI_ALTERNATE_BYTES_32_BITS))
mbed_official 532:fe11edbda85c 681
mbed_official 532:fe11edbda85c 682
mbed_official 532:fe11edbda85c 683 /** @defgroup QSPI_DummyCycles QSPI Dummy Cycles
mbed_official 532:fe11edbda85c 684 * @{
mbed_official 532:fe11edbda85c 685 */
mbed_official 532:fe11edbda85c 686 #define IS_QSPI_DUMMY_CYCLES(DCY) ((DCY) <= 31)
mbed_official 532:fe11edbda85c 687 /**
mbed_official 532:fe11edbda85c 688 * @}
mbed_official 532:fe11edbda85c 689 */
mbed_official 532:fe11edbda85c 690
mbed_official 532:fe11edbda85c 691 #define IS_QSPI_INSTRUCTION_MODE(MODE) (((MODE) == QSPI_INSTRUCTION_NONE) || \
mbed_official 532:fe11edbda85c 692 ((MODE) == QSPI_INSTRUCTION_1_LINE) || \
mbed_official 532:fe11edbda85c 693 ((MODE) == QSPI_INSTRUCTION_2_LINES) || \
mbed_official 532:fe11edbda85c 694 ((MODE) == QSPI_INSTRUCTION_4_LINES))
mbed_official 532:fe11edbda85c 695
mbed_official 532:fe11edbda85c 696 #define IS_QSPI_ADDRESS_MODE(MODE) (((MODE) == QSPI_ADDRESS_NONE) || \
mbed_official 532:fe11edbda85c 697 ((MODE) == QSPI_ADDRESS_1_LINE) || \
mbed_official 532:fe11edbda85c 698 ((MODE) == QSPI_ADDRESS_2_LINES) || \
mbed_official 532:fe11edbda85c 699 ((MODE) == QSPI_ADDRESS_4_LINES))
mbed_official 532:fe11edbda85c 700
mbed_official 532:fe11edbda85c 701 #define IS_QSPI_ALTERNATE_BYTES_MODE(MODE) (((MODE) == QSPI_ALTERNATE_BYTES_NONE) || \
mbed_official 532:fe11edbda85c 702 ((MODE) == QSPI_ALTERNATE_BYTES_1_LINE) || \
mbed_official 532:fe11edbda85c 703 ((MODE) == QSPI_ALTERNATE_BYTES_2_LINES) || \
mbed_official 532:fe11edbda85c 704 ((MODE) == QSPI_ALTERNATE_BYTES_4_LINES))
mbed_official 532:fe11edbda85c 705
mbed_official 532:fe11edbda85c 706 #define IS_QSPI_DATA_MODE(MODE) (((MODE) == QSPI_DATA_NONE) || \
mbed_official 532:fe11edbda85c 707 ((MODE) == QSPI_DATA_1_LINE) || \
mbed_official 532:fe11edbda85c 708 ((MODE) == QSPI_DATA_2_LINES) || \
mbed_official 532:fe11edbda85c 709 ((MODE) == QSPI_DATA_4_LINES))
mbed_official 532:fe11edbda85c 710
mbed_official 532:fe11edbda85c 711 #define IS_QSPI_DDR_MODE(DDR_MODE) (((DDR_MODE) == QSPI_DDR_MODE_DISABLE) || \
mbed_official 532:fe11edbda85c 712 ((DDR_MODE) == QSPI_DDR_MODE_ENABLE))
mbed_official 532:fe11edbda85c 713
mbed_official 532:fe11edbda85c 714 #define IS_QSPI_DDR_HHC(DDR_HHC) (((DDR_HHC) == QSPI_DDR_HHC_ANALOG_DELAY) || \
mbed_official 532:fe11edbda85c 715 ((DDR_HHC) == QSPI_DDR_HHC_HALF_CLK_DELAY))
mbed_official 532:fe11edbda85c 716
mbed_official 532:fe11edbda85c 717 #define IS_QSPI_SIOO_MODE(SIOO_MODE) (((SIOO_MODE) == QSPI_SIOO_INST_EVERY_CMD) || \
mbed_official 532:fe11edbda85c 718 ((SIOO_MODE) == QSPI_SIOO_INST_ONLY_FIRST_CMD))
mbed_official 532:fe11edbda85c 719
mbed_official 532:fe11edbda85c 720 /** @defgroup QSPI_Interval QSPI Interval
mbed_official 532:fe11edbda85c 721 * @{
mbed_official 532:fe11edbda85c 722 */
mbed_official 532:fe11edbda85c 723 #define IS_QSPI_INTERVAL(INTERVAL) ((INTERVAL) <= QUADSPI_PIR_INTERVAL)
mbed_official 532:fe11edbda85c 724 /**
mbed_official 532:fe11edbda85c 725 * @}
mbed_official 532:fe11edbda85c 726 */
mbed_official 532:fe11edbda85c 727
mbed_official 532:fe11edbda85c 728 /** @defgroup QSPI_StatusBytesSize QSPI Status Bytes Size
mbed_official 532:fe11edbda85c 729 * @{
mbed_official 532:fe11edbda85c 730 */
mbed_official 532:fe11edbda85c 731 #define IS_QSPI_STATUS_BYTES_SIZE(SIZE) (((SIZE) >= 1) && ((SIZE) <= 4))
mbed_official 532:fe11edbda85c 732 /**
mbed_official 532:fe11edbda85c 733 * @}
mbed_official 532:fe11edbda85c 734 */
mbed_official 532:fe11edbda85c 735 #define IS_QSPI_MATCH_MODE(MODE) (((MODE) == QSPI_MATCH_MODE_AND) || \
mbed_official 532:fe11edbda85c 736 ((MODE) == QSPI_MATCH_MODE_OR))
mbed_official 532:fe11edbda85c 737
mbed_official 532:fe11edbda85c 738 #define IS_QSPI_AUTOMATIC_STOP(APMS) (((APMS) == QSPI_AUTOMATIC_STOP_DISABLE) || \
mbed_official 532:fe11edbda85c 739 ((APMS) == QSPI_AUTOMATIC_STOP_ENABLE))
mbed_official 532:fe11edbda85c 740
mbed_official 532:fe11edbda85c 741 #define IS_QSPI_TIMEOUT_ACTIVATION(TCEN) (((TCEN) == QSPI_TIMEOUT_COUNTER_DISABLE) || \
mbed_official 532:fe11edbda85c 742 ((TCEN) == QSPI_TIMEOUT_COUNTER_ENABLE))
mbed_official 532:fe11edbda85c 743
mbed_official 532:fe11edbda85c 744 /** @defgroup QSPI_TimeOutPeriod QSPI TimeOut Period
mbed_official 532:fe11edbda85c 745 * @{
mbed_official 532:fe11edbda85c 746 */
mbed_official 532:fe11edbda85c 747 #define IS_QSPI_TIMEOUT_PERIOD(PERIOD) ((PERIOD) <= 0xFFFF)
mbed_official 532:fe11edbda85c 748 /**
mbed_official 532:fe11edbda85c 749 * @}
mbed_official 532:fe11edbda85c 750 */
mbed_official 532:fe11edbda85c 751
mbed_official 532:fe11edbda85c 752 #define IS_QSPI_GET_FLAG(FLAG) (((FLAG) == QSPI_FLAG_BUSY) || \
mbed_official 532:fe11edbda85c 753 ((FLAG) == QSPI_FLAG_TO) || \
mbed_official 532:fe11edbda85c 754 ((FLAG) == QSPI_FLAG_SM) || \
mbed_official 532:fe11edbda85c 755 ((FLAG) == QSPI_FLAG_FT) || \
mbed_official 532:fe11edbda85c 756 ((FLAG) == QSPI_FLAG_TC) || \
mbed_official 532:fe11edbda85c 757 ((FLAG) == QSPI_FLAG_TE))
mbed_official 532:fe11edbda85c 758
mbed_official 532:fe11edbda85c 759 #define IS_QSPI_IT(IT) ((((IT) & (uint32_t)0xFFE0FFFF) == 0x00000000) && ((IT) != 0x00000000))
mbed_official 532:fe11edbda85c 760 /**
mbed_official 532:fe11edbda85c 761 * @}
mbed_official 532:fe11edbda85c 762 */
mbed_official 532:fe11edbda85c 763
mbed_official 532:fe11edbda85c 764 /* Private functions ---------------------------------------------------------*/
mbed_official 532:fe11edbda85c 765 /** @defgroup QSPI_Private_Functions QSPI Private Functions
mbed_official 532:fe11edbda85c 766 * @{
mbed_official 532:fe11edbda85c 767 */
mbed_official 532:fe11edbda85c 768
mbed_official 532:fe11edbda85c 769 /**
mbed_official 532:fe11edbda85c 770 * @}
mbed_official 532:fe11edbda85c 771 */
mbed_official 532:fe11edbda85c 772
mbed_official 532:fe11edbda85c 773 /**
mbed_official 532:fe11edbda85c 774 * @}
mbed_official 532:fe11edbda85c 775 */
mbed_official 532:fe11edbda85c 776
mbed_official 532:fe11edbda85c 777 /**
mbed_official 532:fe11edbda85c 778 * @}
mbed_official 532:fe11edbda85c 779 */
mbed_official 532:fe11edbda85c 780 #endif /* STM32F446xx */
mbed_official 532:fe11edbda85c 781
mbed_official 532:fe11edbda85c 782 #ifdef __cplusplus
mbed_official 532:fe11edbda85c 783 }
mbed_official 532:fe11edbda85c 784 #endif
mbed_official 532:fe11edbda85c 785
mbed_official 532:fe11edbda85c 786 #endif /* __STM32F4xx_HAL_QSPI_H */
mbed_official 532:fe11edbda85c 787
mbed_official 532:fe11edbda85c 788 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/