RTEMS 6.1-rc7
Loading...
Searching...
No Matches
fsl_flexio_mculcd_edma.h
1/*
2 * Copyright (c) 2016, Freescale Semiconductor, Inc.
3 * Copyright 2016-2020 NXP
4 * All rights reserved.
5 *
6 * SPDX-License-Identifier: BSD-3-Clause
7 */
8
9#ifndef _FSL_FLEXIO_MCULCD_EDMA_H_
10#define _FSL_FLEXIO_MCULCD_EDMA_H_
11
12#include "fsl_edma.h"
13#include "fsl_flexio_mculcd.h"
14
20/*******************************************************************************
21 * Definitions
22 ******************************************************************************/
23
26#define FSL_FLEXIO_MCULCD_EDMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 4))
31
39 status_t status,
40 void *userData);
41
45{
47 uint8_t txShifterNum;
48 uint8_t rxShifterNum;
49 uint32_t minorLoopBytes;
56 size_t dataCount;
57 volatile size_t remainingCount;
58 volatile uint32_t state;
62 void *userData;
63};
64
65/*******************************************************************************
66 * APIs
67 ******************************************************************************/
68#if defined(__cplusplus)
69extern "C" {
70#endif
71
98 void *userData,
99 edma_handle_t *txDmaHandle,
100 edma_handle_t *rxDmaHandle);
101
122
130
142 size_t *count);
143
146#if defined(__cplusplus)
147}
148#endif
149
153#endif /* _FSL_FLEXIO_MCULCD_EDMA_H_ */
enum _edma_modulo edma_modulo_t
eDMA modulo configuration
void FLEXIO_MCULCD_TransferAbortEDMA(FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle)
Aborts a FlexIO MCULCD transfer using eDMA.
void(* flexio_mculcd_edma_transfer_callback_t)(FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle, status_t status, void *userData)
FlexIO MCULCD master callback for transfer complete.
Definition: fsl_flexio_mculcd_edma.h:37
status_t FLEXIO_MCULCD_TransferEDMA(FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle, flexio_mculcd_transfer_t *xfer)
Performs a non-blocking FlexIO MCULCD transfer using eDMA.
status_t FLEXIO_MCULCD_TransferCreateHandleEDMA(FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle, flexio_mculcd_edma_transfer_callback_t callback, void *userData, edma_handle_t *txDmaHandle, edma_handle_t *rxDmaHandle)
Initializes the FLEXO MCULCD master eDMA handle.
status_t FLEXIO_MCULCD_TransferGetCountEDMA(FLEXIO_MCULCD_Type *base, flexio_mculcd_edma_handle_t *handle, size_t *count)
Gets the remaining bytes for FlexIO MCULCD eDMA transfer.
int32_t status_t
Type used for all status and error return values.
Definition: fsl_common.h:225
eDMA transfer handle structure
Definition: fsl_edma.h:244
FlexIO MCULCD eDMA transfer handle, users should not touch the content of the handle.
Definition: fsl_flexio_mculcd_edma.h:45
volatile uint32_t state
Definition: fsl_flexio_mculcd_edma.h:58
void * userData
Definition: fsl_flexio_mculcd_edma.h:62
uint8_t txShifterNum
Definition: fsl_flexio_mculcd_edma.h:47
edma_handle_t * rxDmaHandle
Definition: fsl_flexio_mculcd_edma.h:60
edma_handle_t * txDmaHandle
Definition: fsl_flexio_mculcd_edma.h:59
uint32_t minorLoopBytes
Definition: fsl_flexio_mculcd_edma.h:49
edma_modulo_t txEdmaModulo
Definition: fsl_flexio_mculcd_edma.h:50
size_t dataCount
Definition: fsl_flexio_mculcd_edma.h:56
FLEXIO_MCULCD_Type * base
Definition: fsl_flexio_mculcd_edma.h:46
volatile size_t remainingCount
Definition: fsl_flexio_mculcd_edma.h:57
flexio_mculcd_edma_transfer_callback_t completionCallback
Definition: fsl_flexio_mculcd_edma.h:61
uint32_t dataAddrOrSameValue
Definition: fsl_flexio_mculcd_edma.h:52
edma_modulo_t rxEdmaModulo
Definition: fsl_flexio_mculcd_edma.h:51
uint8_t rxShifterNum
Definition: fsl_flexio_mculcd_edma.h:48
Define FlexIO MCULCD transfer structure.
Definition: fsl_flexio_mculcd.h:145
Define FlexIO MCULCD access structure typedef.
Definition: fsl_flexio_mculcd.h:105