RTEMS 6.1-rc1
fsl_flexspi_dma.h
1/*
2 * Copyright 2019-2021 NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#ifndef _FSL_FLEXSPI_DMA_H_
9#define _FSL_FLEXSPI_DMA_H_
10
11#include "fsl_flexspi.h"
12#include "fsl_dma.h"
13
19/*******************************************************************************
20 * Definitions
21 ******************************************************************************/
22
26#define FSL_FLEXSPI_DMA_DRIVER_VERSION (MAKE_VERSION(2, 2, 1))
30
34 status_t status,
35 void *userData);
36
39{
44
47{
48 dma_handle_t *txDmaHandle;
49 dma_handle_t *rxDmaHandle;
50 size_t transferSize;
52 uint8_t nbytes;
53 uint8_t count;
54 uint32_t state;
56 void *userData;
57};
58
59/*******************************************************************************
60 * APIs
61 ******************************************************************************/
62#if defined(__cplusplus)
63extern "C" {
64#endif
65
84 void *userData,
85 dma_handle_t *txDmaHandle,
86 dma_handle_t *rxDmaHandle);
87
100
114
124
135
136/* @} */
137
138#if defined(__cplusplus)
139}
140#endif
141
142/* @} */
143
144#endif /* _FSL_FLEXSPI_DMA_H_ */
uint8_t count
Definition: fsl_flexspi_dma.h:53
void(* flexspi_dma_callback_t)(FLEXSPI_Type *base, flexspi_dma_handle_t *handle, status_t status, void *userData)
FLEXSPI dma transfer callback function for finish and error.
Definition: fsl_flexspi_dma.h:32
uint32_t state
Definition: fsl_flexspi_dma.h:54
dma_handle_t * rxDmaHandle
Definition: fsl_flexspi_dma.h:49
size_t transferSize
Definition: fsl_flexspi_dma.h:50
uint8_t nbytes
Definition: fsl_flexspi_dma.h:52
dma_handle_t * txDmaHandle
Definition: fsl_flexspi_dma.h:48
status_t FLEXSPI_TransferDMA(FLEXSPI_Type *base, flexspi_dma_handle_t *handle, flexspi_transfer_t *xfer)
Transfers FLEXSPI data using an dma non-blocking method.
enum _flexspi_dma_ntransfer_size flexspi_dma_transfer_nsize_t
dma transfer configuration
void * userData
Definition: fsl_flexspi_dma.h:56
void FLEXSPI_TransferUpdateSizeDMA(FLEXSPI_Type *base, flexspi_dma_handle_t *handle, flexspi_dma_transfer_nsize_t nsize)
Update FLEXSPI DMA transfer source data transfer size(SSIZE) and destination data transfer size(DSIZE...
flexspi_dma_callback_t completionCallback
Definition: fsl_flexspi_dma.h:55
void FLEXSPI_TransferAbortDMA(FLEXSPI_Type *base, flexspi_dma_handle_t *handle)
Aborts the transfer data using dma.
_flexspi_dma_ntransfer_size
dma transfer configuration
Definition: fsl_flexspi_dma.h:39
status_t FLEXSPI_TransferGetTransferCountDMA(FLEXSPI_Type *base, flexspi_dma_handle_t *handle, size_t *count)
Gets the transferred counts of transfer.
void FLEXSPI_TransferCreateHandleDMA(FLEXSPI_Type *base, flexspi_dma_handle_t *handle, flexspi_dma_callback_t callback, void *userData, dma_handle_t *txDmaHandle, dma_handle_t *rxDmaHandle)
Initializes the FLEXSPI handle for transfer which is used in transactional functions and set the call...
flexspi_dma_transfer_nsize_t nsize
Definition: fsl_flexspi_dma.h:51
@ kFLEXPSI_DMAnSize1Bytes
Definition: fsl_flexspi_dma.h:40
@ kFLEXPSI_DMAnSize4Bytes
Definition: fsl_flexspi_dma.h:42
@ kFLEXPSI_DMAnSize2Bytes
Definition: fsl_flexspi_dma.h:41
int32_t status_t
Type used for all status and error return values.
Definition: fsl_common.h:225
Definition: MIMXRT1052.h:21299
FLEXSPI DMA transfer handle, users should not touch the content of the handle.
Definition: fsl_flexspi_dma.h:47
Transfer structure for FLEXSPI.
Definition: fsl_flexspi.h:317