RTEMS 6.3
Loading...
Searching...
No Matches
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
18
19/*******************************************************************************
20 * Definitions
21 ******************************************************************************/
22
26#define FSL_FLEXSPI_DMA_DRIVER_VERSION (MAKE_VERSION(2, 2, 1))
28
29typedef struct _flexspi_dma_handle flexspi_dma_handle_t;
30
33 flexspi_dma_handle_t *handle,
34 status_t status,
35 void *userData);
36
44
58
59/*******************************************************************************
60 * APIs
61 ******************************************************************************/
62#if defined(__cplusplus)
63extern "C" {
64#endif
65
70
82 flexspi_dma_handle_t *handle,
84 void *userData,
85 dma_handle_t *txDmaHandle,
86 dma_handle_t *rxDmaHandle);
87
98 flexspi_dma_handle_t *handle,
100
113status_t FLEXSPI_TransferDMA(FLEXSPI_Type *base, flexspi_dma_handle_t *handle, flexspi_transfer_t *xfer);
114
123void FLEXSPI_TransferAbortDMA(FLEXSPI_Type *base, flexspi_dma_handle_t *handle);
124
134status_t FLEXSPI_TransferGetTransferCountDMA(FLEXSPI_Type *base, flexspi_dma_handle_t *handle, size_t *count);
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
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
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
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
struct _flexspi_transfer flexspi_transfer_t
Transfer structure for FLEXSPI.
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