RTEMS 6.1-rc7
Loading...
Searching...
No Matches
fsl_flexio_mculcd_smartdma.h
1/*
2 * Copyright 2019, 2021 NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#ifndef _FSL_FLEXIO_MCULCD_SMARTDMA_H_
9#define _FSL_FLEXIO_MCULCD_SMARTDMA_H_
10
11#include "fsl_smartdma.h"
12#include "fsl_flexio_mculcd.h"
13
19/*******************************************************************************
20 * Definitions
21 ******************************************************************************/
22
25#define FSL_FLEXIO_MCULCD_SMARTDMA_DRIVER_VERSION (MAKE_VERSION(2, 0, 2))
29#define FLEXIO_MCULCD_SMARTDMA_TX_LEN_ALIGN 64U
30
32#define FLEXIO_MCULCD_SMARTDMA_TX_ADDR_ALIGN 4U
33
36
44 status_t status,
45 void *userData);
46
50{
52 size_t dataCount;
57 volatile size_t remainingCount;
58 volatile uint32_t state;
59 uint8_t smartdmaApi;
62 2];
64 void *userData;
65 smartdma_flexio_mculcd_param_t smartdmaParam;
66 uint32_t smartdmaStack[1];
67};
68
71{
75
76/*******************************************************************************
77 * APIs
78 ******************************************************************************/
79#if defined(__cplusplus)
80extern "C" {
81#endif
82
107 void *userData);
108
127
135
147 size_t *count);
148
151#if defined(__cplusplus)
152}
153#endif
154
158#endif /* _FSL_FLEXIO_MCULCD_SMARTDMA_H_ */
enum _flexio_mculcd_pixel_format flexio_mculcd_pixel_format_t
Define FlexIO MCULCD pixel format.
status_t FLEXIO_MCULCD_TransferGetCountSMARTDMA(FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, size_t *count)
Gets the remaining bytes for FlexIO MCULCD SMARTDMA transfer.
void(* flexio_mculcd_smartdma_transfer_callback_t)(FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, status_t status, void *userData)
FlexIO MCULCD master callback for transfer complete.
Definition: fsl_flexio_mculcd_smartdma.h:42
struct _flexio_mculcd_smartdma_config flexio_mculcd_smartdma_config_t
FlexIO MCULCD SMARTDMA configuration.
void FLEXIO_MCULCD_TransferAbortSMARTDMA(FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle)
Aborts a FlexIO MCULCD transfer using SMARTDMA.
status_t FLEXIO_MCULCD_TransferSMARTDMA(FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, flexio_mculcd_transfer_t *xfer)
Performs a non-blocking FlexIO MCULCD transfer using SMARTDMA.
#define FLEXIO_MCULCD_SMARTDMA_TX_LEN_ALIGN
SMARTDMA transfer size should be multiple of 64 bytes.
Definition: fsl_flexio_mculcd_smartdma.h:29
status_t FLEXIO_MCULCD_TransferCreateHandleSMARTDMA(FLEXIO_MCULCD_Type *base, flexio_mculcd_smartdma_handle_t *handle, const flexio_mculcd_smartdma_config_t *config, flexio_mculcd_smartdma_transfer_callback_t callback, void *userData)
Initializes the FLEXO MCULCD master SMARTDMA handle.
int32_t status_t
Type used for all status and error return values.
Definition: fsl_common.h:225
FlexIO MCULCD SMARTDMA configuration.
Definition: fsl_flexio_mculcd_smartdma.h:71
flexio_mculcd_pixel_format_t outputPixelFormat
Definition: fsl_flexio_mculcd_smartdma.h:73
flexio_mculcd_pixel_format_t inputPixelFormat
Definition: fsl_flexio_mculcd_smartdma.h:72
FlexIO MCULCD SMARTDMA transfer handle, users should not touch the content of the handle.
Definition: fsl_flexio_mculcd_smartdma.h:50
FLEXIO_MCULCD_Type * base
Definition: fsl_flexio_mculcd_smartdma.h:51
uint8_t blockingXferBuffer[FLEXIO_MCULCD_SMARTDMA_TX_LEN_ALIGN *3/2]
Definition: fsl_flexio_mculcd_smartdma.h:62
uint8_t smartdmaApi
Definition: fsl_flexio_mculcd_smartdma.h:59
size_t dataCountUsingEzh
Definition: fsl_flexio_mculcd_smartdma.h:56
void * userData
Definition: fsl_flexio_mculcd_smartdma.h:64
bool needColorConvert
Definition: fsl_flexio_mculcd_smartdma.h:60
uint32_t dataAddrOrSameValue
Definition: fsl_flexio_mculcd_smartdma.h:53
volatile size_t remainingCount
Definition: fsl_flexio_mculcd_smartdma.h:57
flexio_mculcd_smartdma_transfer_callback_t completionCallback
Definition: fsl_flexio_mculcd_smartdma.h:63
smartdma_flexio_mculcd_param_t smartdmaParam
Definition: fsl_flexio_mculcd_smartdma.h:65
volatile uint32_t state
Definition: fsl_flexio_mculcd_smartdma.h:58
size_t dataCount
Definition: fsl_flexio_mculcd_smartdma.h:52
uint32_t smartdmaStack[1]
Definition: fsl_flexio_mculcd_smartdma.h:66
Define FlexIO MCULCD transfer structure.
Definition: fsl_flexio_mculcd.h:145
Define FlexIO MCULCD access structure typedef.
Definition: fsl_flexio_mculcd.h:105
Definition: deflate.c:114