9#ifndef __FSL_FLEXSPI_H_
10#define __FSL_FLEXSPI_H_
13#include "fsl_device_registers.h"
14#include "fsl_common.h"
28#define FSL_FLEXSPI_DRIVER_VERSION (MAKE_VERSION(2, 5, 0))
31#define FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNT FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNTn(0)
34#define FLEXSPI_LUT_SEQ(cmd0, pad0, op0, cmd1, pad1, op1) \
35 (FLEXSPI_LUT_OPERAND0(op0) | FLEXSPI_LUT_NUM_PADS0(pad0) | FLEXSPI_LUT_OPCODE0(cmd0) | FLEXSPI_LUT_OPERAND1(op1) | \
36 FLEXSPI_LUT_NUM_PADS1(pad1) | FLEXSPI_LUT_OPCODE1(cmd1))
99#if defined(FSL_FEATURE_FLEXSPI_HAS_INTEN_AHBBUSERROREN) && FSL_FEATURE_FLEXSPI_HAS_INTEN_AHBBUSERROREN
100 kFLEXSPI_AhbBusErrorFlag = FLEXSPI_INTEN_AHBBUSERROREN_MASK,
105 FLEXSPI_INTEN_SCKSTOPBYWREN_MASK,
108 FLEXSPI_INTEN_SCKSTOPBYRDEN_MASK,
110#if !((defined(FSL_FEATURE_FLEXSPI_HAS_NO_DATA_LEARN)) && (FSL_FEATURE_FLEXSPI_HAS_NO_DATA_LEARN))
116 FLEXSPI_INTEN_AHBCMDERREN_MASK,
119 FLEXSPI_INTEN_AHBCMDGEEN_MASK,
121 FLEXSPI_INTEN_IPCMDGEEN_MASK,
123 FLEXSPI_INTEN_IPCMDDONEEN_MASK,
193#if !((defined(FSL_FEATURE_FLEXSPI_NO_SUPPORT_PORTB)) && (FSL_FEATURE_FLEXSPI_NO_SUPPORT_PORTB))
203 kFLEXSPI_AhbReadCommand = 0x0U,
204 kFLEXSPI_AhbWriteCommand = 0x1U,
205 kFLEXSPI_IpCommand = 0x2U,
206 kFLEXSPI_SuspendedCommand = 0x3U,
232#if !(defined(FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_COMBINATIONEN) && FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_COMBINATIONEN)
239#if defined(FSL_FEATURE_FLEXSPI_SUPPORT_SEPERATE_RXCLKSRC_PORTB) && FSL_FEATURE_FLEXSPI_SUPPORT_SEPERATE_RXCLKSRC_PORTB
242#if defined(FSL_FEATURE_FLEXSPI_SUPPORT_RXCLKSRC_DIFF) && FSL_FEATURE_FLEXSPI_SUPPORT_RXCLKSRC_DIFF
243 bool rxSampleClockDiff;
245#if !(defined(FSL_FEATURE_FLEXSPI_HAS_NO_MCR2_SCKBDIFFOPT) && FSL_FEATURE_FLEXSPI_HAS_NO_MCR2_SCKBDIFFOPT)
259#if !(defined(FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ATDFEN) && FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ATDFEN)
262#if !(defined(FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ARDFEN) && FSL_FEATURE_FLEXSPI_HAS_NO_MCR0_ARDFEN)
290#if defined(FSL_FEATURE_FLEXSPI_SUPPORT_ADDRESS_SHIFT) && (FSL_FEATURE_FLEXSPI_SUPPORT_ADDRESS_SHIFT)
310#if defined(FSL_FEATURE_FLEXSPI_HAS_ERRATA_051426) && (FSL_FEATURE_FLEXSPI_HAS_ERRATA_051426)
311 bool isFroClockSource;
351#if defined(__cplusplus)
431static inline void FLEXSPI_SoftwareReset(
FLEXSPI_Type *base)
433 base->MCR0 |= FLEXSPI_MCR0_SWRESET_MASK;
434 while (0U != (base->MCR0 & FLEXSPI_MCR0_SWRESET_MASK))
445static inline void FLEXSPI_Enable(
FLEXSPI_Type *base,
bool enable)
449 base->MCR0 &= ~FLEXSPI_MCR0_MDIS_MASK;
453 base->MCR0 |= FLEXSPI_MCR0_MDIS_MASK;
469static inline void FLEXSPI_EnableInterrupts(
FLEXSPI_Type *base, uint32_t mask)
480static inline void FLEXSPI_DisableInterrupts(
FLEXSPI_Type *base, uint32_t mask)
482 base->INTEN &= ~mask;
496static inline void FLEXSPI_EnableTxDMA(
FLEXSPI_Type *base,
bool enable)
500 base->IPTXFCR |= FLEXSPI_IPTXFCR_TXDMAEN_MASK;
504 base->IPTXFCR &= ~FLEXSPI_IPTXFCR_TXDMAEN_MASK;
514static inline void FLEXSPI_EnableRxDMA(
FLEXSPI_Type *base,
bool enable)
518 base->IPRXFCR |= FLEXSPI_IPRXFCR_RXDMAEN_MASK;
522 base->IPRXFCR &= ~FLEXSPI_IPRXFCR_RXDMAEN_MASK;
532static inline uint32_t FLEXSPI_GetTxFifoAddress(
FLEXSPI_Type *base)
534 return (uint32_t)&base->TFDR[0];
543static inline uint32_t FLEXSPI_GetRxFifoAddress(
FLEXSPI_Type *base)
545 return (uint32_t)&base->RFDR[0];
559static inline void FLEXSPI_ResetFifos(
FLEXSPI_Type *base,
bool txFifo,
bool rxFifo)
563 base->IPTXFCR |= FLEXSPI_IPTXFCR_CLRIPTXF_MASK;
567 base->IPRXFCR |= FLEXSPI_IPRXFCR_CLRIPRXF_MASK;
580static inline void FLEXSPI_GetFifoCounts(
FLEXSPI_Type *base,
size_t *txCount,
size_t *rxCount)
584 *txCount = (((base->IPTXFSTS) & FLEXSPI_IPTXFSTS_FILL_MASK) >> FLEXSPI_IPTXFSTS_FILL_SHIFT) * 8U;
588 *rxCount = (((base->IPRXFSTS) & FLEXSPI_IPRXFSTS_FILL_MASK) >> FLEXSPI_IPRXFSTS_FILL_SHIFT) * 8U;
604static inline uint32_t FLEXSPI_GetInterruptStatusFlags(
FLEXSPI_Type *base)
615static inline void FLEXSPI_ClearInterruptStatusFlags(
FLEXSPI_Type *base, uint32_t mask)
620#if !((defined(FSL_FEATURE_FLEXSPI_HAS_NO_DATA_LEARN)) && (FSL_FEATURE_FLEXSPI_HAS_NO_DATA_LEARN))
627static inline void FLEXSPI_GetDataLearningPhase(
FLEXSPI_Type *base, uint8_t *portAPhase, uint8_t *portBPhase)
629 if (portAPhase !=
NULL)
631 *portAPhase = (uint8_t)((base->STS0 & FLEXSPI_STS0_DATALEARNPHASEA_MASK) >> FLEXSPI_STS0_DATALEARNPHASEA_SHIFT);
634#if !((defined(FSL_FEATURE_FLEXSPI_HAS_NO_STS0_DATALEARNPHASEB)) && (FSL_FEATURE_FLEXSPI_HAS_NO_STS0_DATALEARNPHASEB))
635 if (portBPhase !=
NULL)
637 *portBPhase = (uint8_t)((base->STS0 & FLEXSPI_STS0_DATALEARNPHASEB_MASK) >> FLEXSPI_STS0_DATALEARNPHASEB_SHIFT);
651 (uint32_t)((base->STS0 & FLEXSPI_STS0_ARBCMDSRC_MASK) >> FLEXSPI_STS0_ARBCMDSRC_SHIFT));
662 *index = (uint8_t)((base->STS1 & FLEXSPI_STS1_IPCMDERRID_MASK) >> FLEXSPI_STS1_IPCMDERRID_SHIFT);
664 (uint32_t)((base->STS1 & FLEXSPI_STS1_IPCMDERRCODE_MASK) >> FLEXSPI_STS1_IPCMDERRCODE_SHIFT));
675 *index = (uint8_t)(base->STS1 & FLEXSPI_STS1_AHBCMDERRID_MASK) >> FLEXSPI_STS1_AHBCMDERRID_SHIFT;
677 (uint32_t)((base->STS1 & FLEXSPI_STS1_AHBCMDERRCODE_MASK) >> FLEXSPI_STS1_AHBCMDERRCODE_SHIFT));
686static inline bool FLEXSPI_GetBusIdleStatus(
FLEXSPI_Type *base)
688 return (0U != (base->STS0 & FLEXSPI_STS0_ARBIDLE_MASK)) && (0U != (base->STS0 & FLEXSPI_STS0_SEQIDLE_MASK));
704#if !(defined(FSL_FEATURE_FLEXSPI_HAS_NO_IP_PARALLEL_MODE) && FSL_FEATURE_FLEXSPI_HAS_NO_IP_PARALLEL_MODE)
710static inline void FLEXSPI_EnableIPParallelMode(
FLEXSPI_Type *base,
bool enable)
714 base->IPCR1 |= FLEXSPI_IPCR1_IPAREN_MASK;
718 base->IPCR1 &= ~FLEXSPI_IPCR1_IPAREN_MASK;
723#if !(defined(FSL_FEATURE_FLEXSPI_HAS_NO_AHB_PARALLEL_MODE) && FSL_FEATURE_FLEXSPI_HAS_NO_AHB_PARALLEL_MODE)
729static inline void FLEXSPI_EnableAHBParallelMode(
FLEXSPI_Type *base,
bool enable)
733 base->AHBCR |= FLEXSPI_AHBCR_APAREN_MASK;
737 base->AHBCR &= ~FLEXSPI_AHBCR_APAREN_MASK;
760static inline void FLEXSPI_WriteData(
FLEXSPI_Type *base, uint32_t data, uint8_t fifoIndex)
762 base->TFDR[fifoIndex] = data;
772static inline uint32_t FLEXSPI_ReadData(
FLEXSPI_Type *base, uint8_t fifoIndex)
774 return base->RFDR[fifoIndex];
881#if defined(__cplusplus)
#define NULL
Requests a GPIO pin group configuration.
Definition: xil_types.h:54
uint8_t priority
Definition: fsl_flexspi.h:220
size_t dataSize
Definition: fsl_flexspi.h:324
void FLEXSPI_UpdateDllValue(FLEXSPI_Type *base, flexspi_device_config_t *config, flexspi_port_t port)
Update FLEXSPI DLL value depending on currently flexspi root clock.
Definition: fsl_flexspi.c:433
_flexspi_pad
pad definition of FLEXSPI, use to form LUT instruction.
Definition: fsl_flexspi.h:88
_flexspi_command_type
Command type.
Definition: fsl_flexspi.h:211
flexspi_transfer_callback_t completionCallback
Definition: fsl_flexspi.h:343
status_t FLEXSPI_TransferGetCount(FLEXSPI_Type *base, flexspi_handle_t *handle, size_t *count)
Gets the master transfer status during a interrupt non-blocking transfer.
Definition: fsl_flexspi.c:1022
uint8_t AWRSeqNumber
Definition: fsl_flexspi.h:302
uint8_t txWatermark
Definition: fsl_flexspi.h:255
uint8_t CSHoldTime
Definition: fsl_flexspi.h:296
_flexspi_ahb_write_wait_unit
FLEXSPI AHB wait interval unit for writing.
Definition: fsl_flexspi.h:147
enum _flexspi_ahb_error_code flexspi_ahb_error_code_t
Error Code when AHB command Error detected.
flexspi_command_type_t cmdType
Definition: fsl_flexspi.h:320
void FLEXSPI_UpdateLUT(FLEXSPI_Type *base, uint32_t index, const uint32_t *cmd, uint32_t count)
Updates the LUT table.
Definition: fsl_flexspi.c:588
uint16_t seqTimeoutCycle
Definition: fsl_flexspi.h:251
uint8_t SeqNumber
Definition: fsl_flexspi.h:322
uint16_t AHBWriteWaitInterval
Definition: fsl_flexspi.h:306
uint32_t deviceAddress
Definition: fsl_flexspi.h:318
bool enableDoze
Definition: fsl_flexspi.h:236
uint8_t masterIndex
Definition: fsl_flexspi.h:221
uint32_t * data
Definition: fsl_flexspi.h:323
enum _flexspi_flags flexspi_flags_t
FLEXSPI interrupt status flags.
uint8_t ahbGrantTimeoutCycle
Definition: fsl_flexspi.h:265
size_t dataSize
Definition: fsl_flexspi.h:341
status_t FLEXSPI_CheckAndClearError(FLEXSPI_Type *base, uint32_t status)
Check and clear IP command execution errors.
Definition: fsl_flexspi.c:210
enum _flexspi_pad flexspi_pad_t
pad definition of FLEXSPI, use to form LUT instruction.
flexspi_port_t port
Definition: fsl_flexspi.h:319
uint16_t ahbBusTimeoutCycle
Definition: fsl_flexspi.h:267
bool enableSckBDiffOpt
Definition: fsl_flexspi.h:246
uint8_t ARDSeqNumber
Definition: fsl_flexspi.h:304
bool enableAHBCachable
Definition: fsl_flexspi.h:280
flexspi_cs_interval_cycle_unit_t CSIntervalUnit
Definition: fsl_flexspi.h:293
bool enableClearAHBBufferOpt
Definition: fsl_flexspi.h:272
_flexspi_arb_command_source
Trigger source of current command sequence granted by arbitrator.
Definition: fsl_flexspi.h:202
void FLEXSPI_SetFlashConfig(FLEXSPI_Type *base, flexspi_device_config_t *config, flexspi_port_t port)
Configures the connected device parameter.
Definition: fsl_flexspi.c:495
_flexspi_cs_interval_cycle_unit
FLEXSPI interval unit for flash device select.
Definition: fsl_flexspi.h:140
bool enableWordAddress
Definition: fsl_flexspi.h:300
void FLEXSPI_UpdateRxSampleClock(FLEXSPI_Type *base, flexspi_read_sample_clock_t clockSource)
Update read sample clock source.
Definition: fsl_flexspi.c:624
bool enableAHBPrefetch
Definition: fsl_flexspi.h:276
enum _flexspi_read_sample_clock flexspi_read_sample_clock_t
FLEXSPI sample clock source selection for Flash Reading.
flexspi_ahb_write_wait_unit_t AHBWriteWaitUnit
Definition: fsl_flexspi.h:305
struct _flexspi_transfer flexspi_transfer_t
Transfer structure for FLEXSPI.
bool enableAHBWriteIpRxFifo
Definition: fsl_flexspi.h:263
bool enableHalfSpeedAccess
Definition: fsl_flexspi.h:237
status_t FLEXSPI_ReadBlocking(FLEXSPI_Type *base, uint8_t *buffer, size_t size)
Receives a buffer of data bytes using a blocking method.
Definition: fsl_flexspi.c:732
void * userData
Definition: fsl_flexspi.h:344
uint32_t state
Definition: fsl_flexspi.h:339
struct _flexspi_config flexspi_config_t
FLEXSPI configuration structure.
enum _flexspi_ahb_write_wait_unit flexspi_ahb_write_wait_unit_t
FLEXSPI AHB wait interval unit for writing.
void FLEXSPI_TransferCreateHandle(FLEXSPI_Type *base, flexspi_handle_t *handle, flexspi_transfer_callback_t callback, void *userData)
Initializes the FLEXSPI handle which is used in transactional functions.
Definition: fsl_flexspi.c:904
void FLEXSPI_TransferAbort(FLEXSPI_Type *base, flexspi_handle_t *handle)
Aborts an interrupt non-blocking transfer early.
Definition: fsl_flexspi.c:1049
enum _flexspi_port flexspi_port_t
FLEXSPI operation port select.
bool enablePrefetch
Definition: fsl_flexspi.h:223
enum _flexspi_cs_interval_cycle_unit flexspi_cs_interval_cycle_unit_t
FLEXSPI interval unit for flash device select.
status_t FLEXSPI_TransferBlocking(FLEXSPI_Type *base, flexspi_transfer_t *xfer)
Execute command to transfer a buffer data bytes using a blocking method.
Definition: fsl_flexspi.c:837
uint8_t ipGrantTimeoutCycle
Definition: fsl_flexspi.h:253
bool enableAHBWriteIpTxFifo
Definition: fsl_flexspi.h:260
uint16_t CSInterval
Definition: fsl_flexspi.h:294
struct _flexspi_device_config flexspi_device_config_t
External device configuration items.
uint8_t resumeWaitCycle
Definition: fsl_flexspi.h:269
flexspi_ahbBuffer_config_t buffer[FSL_FEATURE_FLEXSPI_AHB_BUFFER_COUNT]
Definition: fsl_flexspi.h:271
void FLEXSPI_GetDefaultConfig(flexspi_config_t *config)
Gets default settings for FLEXSPI.
Definition: fsl_flexspi.c:362
bool enableWriteMask
Definition: fsl_flexspi.h:308
void FLEXSPI_Init(FLEXSPI_Type *base, const flexspi_config_t *config)
Initializes the FLEXSPI module and internal state.
Definition: fsl_flexspi.c:256
uint32_t FLEXSPI_GetInstance(FLEXSPI_Type *base)
Get the instance number for FLEXSPI.
Definition: fsl_flexspi.c:130
enum _flexspi_ip_error_code flexspi_ip_error_code_t
Error Code when IP command Error detected.
uint8_t seqIndex
Definition: fsl_flexspi.h:321
status_t FLEXSPI_WriteBlocking(FLEXSPI_Type *base, uint8_t *buffer, size_t size)
Sends a buffer of data bytes using blocking method.
Definition: fsl_flexspi.c:653
status_t FLEXSPI_TransferNonBlocking(FLEXSPI_Type *base, flexspi_handle_t *handle, flexspi_transfer_t *xfer)
Performs a interrupt non-blocking transfer on the FLEXSPI bus.
Definition: fsl_flexspi.c:945
_flexspi_read_sample_clock
FLEXSPI sample clock source selection for Flash Reading.
Definition: fsl_flexspi.h:129
void FLEXSPI_TransferHandleIRQ(FLEXSPI_Type *base, flexspi_handle_t *handle)
Master interrupt handler.
Definition: fsl_flexspi.c:1063
bool enableAHBBufferable
Definition: fsl_flexspi.h:278
enum _flexspi_arb_command_source flexspi_arb_command_source_t
Trigger source of current command sequence granted by arbitrator.
bool enableSckFreeRunning
Definition: fsl_flexspi.h:231
void FLEXSPI_Deinit(FLEXSPI_Type *base)
Deinitializes the FLEXSPI module.
Definition: fsl_flexspi.c:420
uint16_t bufferSize
Definition: fsl_flexspi.h:222
uint8_t CSSetupTime
Definition: fsl_flexspi.h:297
_flexspi_ip_error_code
Error Code when IP command Error detected.
Definition: fsl_flexspi.h:160
bool isSck2Enabled
Definition: fsl_flexspi.h:288
flexspi_read_sample_clock_t rxSampleClock
Definition: fsl_flexspi.h:230
uint8_t dataValidTime
Definition: fsl_flexspi.h:298
_flexspi_port
FLEXSPI operation port select.
Definition: fsl_flexspi.h:190
uint32_t flashSize
Definition: fsl_flexspi.h:289
uint8_t AWRSeqIndex
Definition: fsl_flexspi.h:301
uint8_t columnspace
Definition: fsl_flexspi.h:299
uint8_t * data
Definition: fsl_flexspi.h:340
_flexspi_flags
FLEXSPI interrupt status flags.
Definition: fsl_flexspi.h:97
bool enableCombination
Definition: fsl_flexspi.h:233
uint32_t flexspiRootClk
Definition: fsl_flexspi.h:287
bool enableReadAddressOpt
Definition: fsl_flexspi.h:274
uint8_t ARDSeqIndex
Definition: fsl_flexspi.h:303
uint8_t rxWatermark
Definition: fsl_flexspi.h:256
bool enableSameConfigForAll
Definition: fsl_flexspi.h:249
enum _flexspi_command_type flexspi_command_type_t
Command type.
void(* flexspi_transfer_callback_t)(FLEXSPI_Type *base, flexspi_handle_t *handle, status_t status, void *userData)
FLEXSPI transfer callback function.
Definition: fsl_flexspi.h:331
_flexspi_ahb_error_code
Error Code when AHB command Error detected.
Definition: fsl_flexspi.h:176
size_t transferTotalSize
Definition: fsl_flexspi.h:342
@ kFLEXSPI_2PAD
Definition: fsl_flexspi.h:90
@ kFLEXSPI_1PAD
Definition: fsl_flexspi.h:89
@ kFLEXSPI_8PAD
Definition: fsl_flexspi.h:92
@ kFLEXSPI_4PAD
Definition: fsl_flexspi.h:91
@ kFLEXSPI_Config
Definition: fsl_flexspi.h:213
@ kFLEXSPI_Command
Definition: fsl_flexspi.h:212
@ kFLEXSPI_AhbWriteWaitUnit32AhbCycle
Definition: fsl_flexspi.h:150
@ kFLEXSPI_AhbWriteWaitUnit8AhbCycle
Definition: fsl_flexspi.h:149
@ kFLEXSPI_AhbWriteWaitUnit2AhbCycle
Definition: fsl_flexspi.h:148
@ kFLEXSPI_AhbWriteWaitUnit2048AhbCycle
Definition: fsl_flexspi.h:153
@ kFLEXSPI_AhbWriteWaitUnit8192AhbCycle
Definition: fsl_flexspi.h:154
@ kFLEXSPI_AhbWriteWaitUnit512AhbCycle
Definition: fsl_flexspi.h:152
@ kFLEXSPI_AhbWriteWaitUnit128AhbCycle
Definition: fsl_flexspi.h:151
@ kFLEXSPI_AhbWriteWaitUnit32768AhbCycle
Definition: fsl_flexspi.h:155
@ kFLEXSPI_Command_DUMMY_RWDS_DDR
Definition: fsl_flexspi.h:80
@ kFLEXSPI_Command_DUMMY_RWDS_SDR
Definition: fsl_flexspi.h:66
@ kFLEXSPI_Command_CADDR_SDR
Definition: fsl_flexspi.h:56
@ kFLEXSPI_Command_LEARN_DDR
Definition: fsl_flexspi.h:77
@ kFLEXSPI_Command_SDR
Definition: fsl_flexspi.h:54
@ kFLEXSPI_Command_DDR
Definition: fsl_flexspi.h:68
@ kFLEXSPI_Command_MODE1_SDR
Definition: fsl_flexspi.h:57
@ kFLEXSPI_Command_DATSZ_SDR
Definition: fsl_flexspi.h:64
@ kFLEXSPI_Command_DATSZ_DDR
Definition: fsl_flexspi.h:78
@ kFLEXSPI_Command_RADDR_SDR
Definition: fsl_flexspi.h:55
@ kFLEXSPI_Command_DUMMY_DDR
Definition: fsl_flexspi.h:79
@ kFLEXSPI_Command_MODE4_DDR
Definition: fsl_flexspi.h:73
@ kFLEXSPI_Command_LEARN_SDR
Definition: fsl_flexspi.h:63
@ kFLEXSPI_Command_RADDR_DDR
Definition: fsl_flexspi.h:69
@ kFLEXSPI_Command_MODE4_SDR
Definition: fsl_flexspi.h:59
@ kFLEXSPI_Command_MODE8_SDR
Definition: fsl_flexspi.h:60
@ kFLEXSPI_Command_READ_DDR
Definition: fsl_flexspi.h:76
@ kFLEXSPI_Command_WRITE_SDR
Definition: fsl_flexspi.h:61
@ kFLEXSPI_Command_MODE2_DDR
Definition: fsl_flexspi.h:72
@ kFLEXSPI_Command_JUMP_ON_CS
Definition: fsl_flexspi.h:82
@ kFLEXSPI_Command_DUMMY_SDR
Definition: fsl_flexspi.h:65
@ kFLEXSPI_Command_STOP
Definition: fsl_flexspi.h:53
@ kFLEXSPI_Command_MODE2_SDR
Definition: fsl_flexspi.h:58
@ kFLEXSPI_Command_READ_SDR
Definition: fsl_flexspi.h:62
@ kFLEXSPI_Command_WRITE_DDR
Definition: fsl_flexspi.h:75
@ kFLEXSPI_Command_CADDR_DDR
Definition: fsl_flexspi.h:70
@ kFLEXSPI_Command_MODE8_DDR
Definition: fsl_flexspi.h:74
@ kFLEXSPI_Command_MODE1_DDR
Definition: fsl_flexspi.h:71
@ kFLEXSPI_CsIntervalUnit1SckCycle
Definition: fsl_flexspi.h:141
@ kFLEXSPI_CsIntervalUnit256SckCycle
Definition: fsl_flexspi.h:142
@ kStatus_FLEXSPI_Busy
Definition: fsl_flexspi.h:41
@ kStatus_FLEXSPI_IpCommandSequenceError
Definition: fsl_flexspi.h:44
@ kStatus_FLEXSPI_IpCommandGrantTimeout
Definition: fsl_flexspi.h:46
@ kStatus_FLEXSPI_SequenceExecutionTimeout
Definition: fsl_flexspi.h:42
@ kFLEXSPI_ReadSampleClkExternalInputFromDqsPad
Definition: fsl_flexspi.h:135
@ kFLEXSPI_ReadSampleClkLoopbackFromDqsPad
Definition: fsl_flexspi.h:132
@ kFLEXSPI_ReadSampleClkLoopbackFromSckPad
Definition: fsl_flexspi.h:134
@ kFLEXSPI_ReadSampleClkLoopbackInternally
Definition: fsl_flexspi.h:130
@ kFLEXSPI_IpCmdErrorJumpOnCsInIpCmd
Definition: fsl_flexspi.h:162
@ kFLEXSPI_IpCmdErrorUnknownOpCode
Definition: fsl_flexspi.h:163
@ kFLEXSPI_IpCmdErrorDdrDummyInSdrSequence
Definition: fsl_flexspi.h:166
@ kFLEXSPI_IpCmdErrorFlashBoundaryAcrosss
Definition: fsl_flexspi.h:171
@ kFLEXSPI_IpCmdErrorSdrDummyInDdrSequence
Definition: fsl_flexspi.h:164
@ kFLEXSPI_IpCmdErrorInvalidAddress
Definition: fsl_flexspi.h:168
@ kFLEXSPI_IpCmdErrorNoError
Definition: fsl_flexspi.h:161
@ kFLEXSPI_IpCmdErrorSequenceExecutionTimeout
Definition: fsl_flexspi.h:170
@ kFLEXSPI_PortA1
Definition: fsl_flexspi.h:191
@ kFLEXSPI_PortB2
Definition: fsl_flexspi.h:195
@ kFLEXSPI_PortB1
Definition: fsl_flexspi.h:194
@ kFLEXSPI_PortA2
Definition: fsl_flexspi.h:192
@ kFLEXSPI_AllInterruptFlags
Definition: fsl_flexspi.h:124
@ kFLEXSPI_DataLearningFailedFlag
Definition: fsl_flexspi.h:111
@ kFLEXSPI_IpCommandExecutionDoneFlag
Definition: fsl_flexspi.h:122
@ kFLEXSPI_IpCommandSequenceErrorFlag
Definition: fsl_flexspi.h:117
@ kFLEXSPI_IpRxFifoWatermarkAvailableFlag
Definition: fsl_flexspi.h:114
@ kFLEXSPI_SckStoppedBecauseRxFullFlag
Definition: fsl_flexspi.h:107
@ kFLEXSPI_SequenceExecutionTimeoutFlag
Definition: fsl_flexspi.h:98
@ kFLEXSPI_IpCommandGrantTimeoutFlag
Definition: fsl_flexspi.h:120
@ kFLEXSPI_AhbBusTimeoutFlag
Definition: fsl_flexspi.h:102
@ kFLEXSPI_SckStoppedBecauseTxEmptyFlag
Definition: fsl_flexspi.h:104
@ kFLEXSPI_AhbCommandGrantTimeoutFlag
Definition: fsl_flexspi.h:118
@ kFLEXSPI_AhbCommandSequenceErrorFlag
Definition: fsl_flexspi.h:115
@ kFLEXSPI_IpTxFifoWatermarkEmptyFlag
Definition: fsl_flexspi.h:113
@ kFLEXSPI_AhbCmdErrorUnknownOpCode
Definition: fsl_flexspi.h:180
@ kFLEXSPI_AhbCmdErrorDdrDummyInSdrSequence
Definition: fsl_flexspi.h:183
@ kFLEXSPI_AhbCmdErrorNoError
Definition: fsl_flexspi.h:177
@ kFLEXSPI_AhbCmdErrorSdrDummyInDdrSequence
Definition: fsl_flexspi.h:181
@ kFLEXSPI_AhbCmdSequenceExecutionTimeout
Definition: fsl_flexspi.h:185
@ kFLEXSPI_AhbCmdErrorJumpOnCsInWriteCmd
Definition: fsl_flexspi.h:178
int32_t status_t
Type used for all status and error return values.
Definition: fsl_common.h:225
#define MAKE_STATUS(group, code)
Construct a status code value from a group and code number.
Definition: fsl_common.h:47
@ kStatusGroup_FLEXSPI
Definition: fsl_common.h:142
Definition: MIMXRT1052.h:21299
Definition: fsl_flexspi.h:219
FLEXSPI configuration structure.
Definition: fsl_flexspi.h:229
External device configuration items.
Definition: fsl_flexspi.h:286
Transfer handle structure for FLEXSPI.
Definition: fsl_flexspi.h:338
Transfer structure for FLEXSPI.
Definition: fsl_flexspi.h:317
Definition: deflate.c:114