RTEMS 6.1-rc2
Loading...
Searching...
No Matches
fsl_mipi_dsi.h
1/*
2 * Copyright 2020-2022 NXP
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: BSD-3-Clause
6 */
7
8#ifndef _FSL_MIPI_DSI_H_
9#define _FSL_MIPI_DSI_H_
10
11#include "fsl_common.h"
12
18/*******************************************************************************
19 * Definitions
20 ******************************************************************************/
21
24#define FSL_MIPI_DSI_DRIVER_VERSION (MAKE_VERSION(2, 2, 3))
27/* The max APB transfer size. */
28#define FSL_DSI_TX_MAX_PAYLOAD_BYTE (64U * 4U)
29#define FSL_DSI_RX_MAX_PAYLOAD_BYTE (64U * 4U)
30
32typedef struct
33{
39
41enum
42{
48};
49
51typedef struct _dsi_config
52{
53 uint8_t numLanes;
58 uint8_t numExtraEoTp;
59 uint32_t htxTo_ByteClk;
61 uint32_t btaTo_ByteClk;
63
66{
74
77{
83
85enum
86{
91};
92
95{
100
103{
108
110typedef struct _dsi_dpi_config
111{
122 uint16_t hfp;
123 uint16_t hbp;
124 uint16_t hsw;
125 uint8_t vfp;
126 uint8_t vbp;
127 uint16_t panelHeight;
131
133typedef struct _dsi_dphy_config
134{
135 uint32_t txHsBitClk_Hz;
147 uint32_t tWakeup_EscClk;
170
172enum
173{
174 kDSI_ApbNotIdle = (1UL << 0U),
175 kDSI_ApbTxDone = (1UL << 1U),
176 kDSI_ApbRxControl = (1UL << 2U),
177 kDSI_ApbTxOverflow = (1UL << 3U),
178 kDSI_ApbTxUnderflow = (1UL << 4U),
179 kDSI_ApbRxOverflow = (1UL << 5U),
180 kDSI_ApbRxUnderflow = (1UL << 6U),
183};
184
186enum
187{
188 kDSI_RxErrorEccOneBit = (1UL << 0U),
190 kDSI_RxErrorCrc = (1UL << 7U),
191 kDSI_RxErrorHtxTo = (1UL << 8U),
192 kDSI_RxErrorLrxTo = (1UL << 9U),
193 kDSI_RxErrorBtaTo = (1UL << 10U)
195
198{
199 kDSI_HostSoTError = (1UL << 0U),
200 kDSI_HostSoTSyncError = (1UL << 1U),
201 kDSI_HostEoTSyncError = (1UL << 2U),
209 kDSI_HostChecksumError = (1UL << 10U),
211 kDSI_HostInvalidVcId = (1UL << 12U),
217};
218
220enum
221{
236 kDSI_InterruptGroup1LpTxSyncError = (1UL << 13U),
238 kDSI_InterruptGroup1PeriphToError = (1UL << 14U),
260};
261
264{
300
303{
313
315enum
316{
319};
320
322typedef struct _dsi_transfer
323{
326 uint8_t flags;
327 const uint8_t *txData;
328 uint8_t *rxData;
329 uint16_t txDataSize;
330 uint16_t rxDataSize;
333 uint8_t dscCmd;
335
338
351typedef void (*dsi_callback_t)(const MIPI_DSI_Type *base, dsi_handle_t *handle, status_t status, void *userData);
352
355{
356 volatile bool isBusy;
359 void *userData;
361};
362
363/*******************************************************************************
364 * API
365 ******************************************************************************/
366
367#if defined(__cplusplus)
368extern "C" {
369#endif
370
385void DSI_Init(const MIPI_DSI_Type *base, const dsi_config_t *config);
386
394void DSI_Deinit(const MIPI_DSI_Type *base);
395
414
435void DSI_SetDpiConfig(const MIPI_DSI_Type *base,
437 uint8_t numLanes,
438 uint32_t dpiPixelClkFreq_Hz,
439 uint32_t dsiHsBitClkFreq_Hz);
440
465uint32_t DSI_InitDphy(const MIPI_DSI_Type *base, const dsi_dphy_config_t *config, uint32_t refClkFreq_Hz);
466
474void DSI_DeinitDphy(const MIPI_DSI_Type *base);
475
487void DSI_GetDphyDefaultConfig(dsi_dphy_config_t *config, uint32_t txHsBitClk_Hz, uint32_t txEscClk_Hz);
488
505static inline void DSI_EnableInterrupts(const MIPI_DSI_Type *base, uint32_t intGroup1, uint32_t intGroup2)
506{
507 base->apb->IRQ_MASK &= ~intGroup1;
508 base->apb->IRQ_MASK2 &= ~intGroup2;
509}
510
520static inline void DSI_DisableInterrupts(const MIPI_DSI_Type *base, uint32_t intGroup1, uint32_t intGroup2)
521{
522 base->apb->IRQ_MASK |= intGroup1;
523 base->apb->IRQ_MASK2 |= intGroup2;
524}
525
533static inline void DSI_GetAndClearInterruptStatus(const MIPI_DSI_Type *base, uint32_t *intGroup1, uint32_t *intGroup2)
534{
535 *intGroup2 = base->apb->IRQ_STATUS2;
536 *intGroup1 = base->apb->IRQ_STATUS;
537}
538
562 const MIPI_DSI_Type *base, uint16_t wordCount, uint8_t virtualChannel, dsi_tx_data_type_t dataType, uint8_t flags);
563
573void DSI_WriteApbTxPayload(const MIPI_DSI_Type *base, const uint8_t *payload, uint16_t payloadSize);
574
597 const MIPI_DSI_Type *base, const uint8_t *payload, uint16_t payloadSize, bool sendDscCmd, uint8_t dscCmd);
598
610void DSI_ReadApbRxPayload(const MIPI_DSI_Type *base, uint8_t *payload, uint16_t payloadSize);
611
619static inline void DSI_SendApbPacket(const MIPI_DSI_Type *base)
620{
621 base->apb->SEND_PACKET = 0x1U;
622}
623
632static inline uint32_t DSI_GetApbStatus(const MIPI_DSI_Type *base)
633{
634 return base->apb->PKT_STATUS;
635}
636
645static inline uint32_t DSI_GetRxErrorStatus(const MIPI_DSI_Type *base)
646{
647 return base->host->RX_ERROR_STATUS;
648}
649
668static inline uint8_t DSI_GetEccRxErrorPosition(uint32_t rxErrorStatus)
669{
670 return (uint8_t)((rxErrorStatus >> 2U) & 0x1FU);
671}
672
681static inline uint32_t DSI_GetAndClearHostStatus(const MIPI_DSI_Type *base)
682{
683 return base->host->CFG_STATUS_OUT;
684}
685
692static inline uint32_t DSI_GetRxPacketHeader(const MIPI_DSI_Type *base)
693{
694 return base->apb->PKT_RX_PKT_HEADER;
695}
696
705static inline dsi_rx_data_type_t DSI_GetRxPacketType(uint32_t rxPktHeader)
706{
707 return (dsi_rx_data_type_t)(uint8_t)((rxPktHeader >> 16U) & 0x3FU);
708}
709
719static inline uint16_t DSI_GetRxPacketWordCount(uint32_t rxPktHeader)
720{
721 return (uint16_t)(rxPktHeader & 0xFFFFU);
722}
723
732static inline uint8_t DSI_GetRxPacketVirtualChannel(uint32_t rxPktHeader)
733{
734 return (uint8_t)((rxPktHeader >> 22U) & 0x3U);
735}
736
758
777 dsi_handle_t *handle,
778 dsi_callback_t callback,
779 void *userData);
780
799
806void DSI_TransferAbort(const MIPI_DSI_Type *base, dsi_handle_t *handle);
807
814void DSI_TransferHandleIRQ(const MIPI_DSI_Type *base, dsi_handle_t *handle);
815
818#if defined(__cplusplus)
819}
820#endif
821
824#endif /* _FSL_MIPI_DSI_H_ */
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_MIPI_DSI
Definition: fsl_common.h:113
void DSI_TransferHandleIRQ(const MIPI_DSI_Type *base, dsi_handle_t *handle)
Interrupt handler for the DSI.
Definition: fsl_mipi_dsi.c:1370
void DSI_GetDphyDefaultConfig(dsi_dphy_config_t *config, uint32_t txHsBitClk_Hz, uint32_t txEscClk_Hz)
Get the default D-PHY configuration.
Definition: fsl_mipi_dsi.c:722
void DSI_GetDefaultConfig(dsi_config_t *config)
Get the default configuration to initialize the MIPI DSI host.
Definition: fsl_mipi_dsi.c:506
uint32_t DSI_InitDphy(const MIPI_DSI_Type *base, const dsi_dphy_config_t *config, uint32_t refClkFreq_Hz)
Initializes the D-PHY.
Definition: fsl_mipi_dsi.c:619
_dsi_host_status
DSI host controller status (status_out)
Definition: fsl_mipi_dsi.h:198
struct _dsi_dpi_config dsi_dpi_config_t
MIPI DSI controller DPI interface configuration.
_dsi_dpi_video_mode
DPI video mode.
Definition: fsl_mipi_dsi.h:95
enum _dsi_tx_data_type dsi_tx_data_type_t
DSI TX data type.
enum _dsi_rx_data_type dsi_rx_data_type_t
DSI RX data type.
void DSI_ReadApbRxPayload(const MIPI_DSI_Type *base, uint8_t *payload, uint16_t payloadSize)
Read the long APB packet payload.
Definition: fsl_mipi_dsi.c:1026
_dsi_tx_data_type
DSI TX data type.
Definition: fsl_mipi_dsi.h:264
_dsi_rx_data_type
DSI RX data type.
Definition: fsl_mipi_dsi.h:303
void DSI_SetDpiConfig(const MIPI_DSI_Type *base, const dsi_dpi_config_t *config, uint8_t numLanes, uint32_t dpiPixelClkFreq_Hz, uint32_t dsiHsBitClkFreq_Hz)
Configure the DPI interface core.
Definition: fsl_mipi_dsi.c:536
status_t DSI_TransferCreateHandle(const MIPI_DSI_Type *base, dsi_handle_t *handle, dsi_callback_t callback, void *userData)
Create the MIPI DSI handle.
Definition: fsl_mipi_dsi.c:1248
enum _dsi_dpi_bllp_mode dsi_dpi_bllp_mode_t
Behavior in BLLP (Blanking or Low-Power Interval).
void DSI_Init(const MIPI_DSI_Type *base, const dsi_config_t *config)
Initializes an MIPI DSI host with the user configuration.
Definition: fsl_mipi_dsi.c:419
void DSI_SetApbPacketControl(const MIPI_DSI_Type *base, uint16_t wordCount, uint8_t virtualChannel, dsi_tx_data_type_t dataType, uint8_t flags)
Configure the APB packet to send.
Definition: fsl_mipi_dsi.c:825
_dsi_dpi_pixel_packet
MIPI DSI pixel packet type send through DPI interface.
Definition: fsl_mipi_dsi.h:77
void DSI_TransferAbort(const MIPI_DSI_Type *base, dsi_handle_t *handle)
Abort current APB data transfer.
Definition: fsl_mipi_dsi.c:1341
enum _dsi_dpi_pixel_packet dsi_dpi_pixel_packet_t
MIPI DSI pixel packet type send through DPI interface.
enum _dsi_dpi_color_coding dsi_dpi_color_coding_t
MIPI DPI interface color coding.
void DSI_WriteApbTxPayloadExt(const MIPI_DSI_Type *base, const uint8_t *payload, uint16_t payloadSize, bool sendDscCmd, uint8_t dscCmd)
Extended function to fill the payload to TX FIFO.
Definition: fsl_mipi_dsi.c:861
void DSI_Deinit(const MIPI_DSI_Type *base)
Deinitializes an MIPI DSI host.
Definition: fsl_mipi_dsi.c:482
struct _dsi_transfer dsi_transfer_t
Structure for the data transfer.
status_t DSI_TransferBlocking(const MIPI_DSI_Type *base, dsi_transfer_t *xfer)
APB data transfer using blocking method.
Definition: fsl_mipi_dsi.c:1072
status_t DSI_TransferNonBlocking(const MIPI_DSI_Type *base, dsi_handle_t *handle, dsi_transfer_t *xfer)
APB data transfer using interrupt method.
Definition: fsl_mipi_dsi.c:1290
struct _dsi_dphy_config dsi_dphy_config_t
MIPI DSI D-PHY configuration.
enum _dsi_dpi_video_mode dsi_dpi_video_mode_t
DPI video mode.
_dsi_dpi_color_coding
MIPI DPI interface color coding.
Definition: fsl_mipi_dsi.h:66
_dsi_dpi_bllp_mode
Behavior in BLLP (Blanking or Low-Power Interval).
Definition: fsl_mipi_dsi.h:103
void DSI_DeinitDphy(const MIPI_DSI_Type *base)
Deinitializes the D-PHY.
Definition: fsl_mipi_dsi.c:700
struct _dsi_config dsi_config_t
MIPI DSI controller configuration.
void(* dsi_callback_t)(const MIPI_DSI_Type *base, dsi_handle_t *handle, status_t status, void *userData)
MIPI DSI callback for finished transfer.
Definition: fsl_mipi_dsi.h:351
void DSI_WriteApbTxPayload(const MIPI_DSI_Type *base, const uint8_t *payload, uint16_t payloadSize)
Fill the long APB packet payload.
Definition: fsl_mipi_dsi.c:856
@ kStatus_DSI_NotSupported
Definition: fsl_mipi_dsi.h:47
@ kStatus_DSI_Busy
Definition: fsl_mipi_dsi.h:43
@ kStatus_DSI_ErrorReportReceived
Definition: fsl_mipi_dsi.h:45
@ kStatus_DSI_RxDataError
Definition: fsl_mipi_dsi.h:44
@ kDSI_ApbRxControl
Definition: fsl_mipi_dsi.h:176
@ kDSI_ApbTxUnderflow
Definition: fsl_mipi_dsi.h:178
@ kDSI_ApbTxDone
Definition: fsl_mipi_dsi.h:175
@ kDSI_ApbNotIdle
Definition: fsl_mipi_dsi.h:174
@ kDSI_ApbRxOverflow
Definition: fsl_mipi_dsi.h:179
@ kDSI_ApbRxUnderflow
Definition: fsl_mipi_dsi.h:180
@ kDSI_ApbRxPacketReceived
Definition: fsl_mipi_dsi.h:182
@ kDSI_ApbRxHeaderReceived
Definition: fsl_mipi_dsi.h:181
@ kDSI_ApbTxOverflow
Definition: fsl_mipi_dsi.h:177
@ kDSI_HostInvalidDataType
Definition: fsl_mipi_dsi.h:210
@ kDSI_HostLpTxSyncError
Definition: fsl_mipi_dsi.h:203
@ kDSI_HostEccErrorOneBit
Definition: fsl_mipi_dsi.h:207
@ kDSI_HostEccErrorMultiBit
Definition: fsl_mipi_dsi.h:208
@ kDSI_HostContentionDetected
Definition: fsl_mipi_dsi.h:206
@ kDSI_HostChecksumError
Definition: fsl_mipi_dsi.h:209
@ kDSI_HostProtocalViolation
Definition: fsl_mipi_dsi.h:213
@ kDSI_HostPeriphToError
Definition: fsl_mipi_dsi.h:204
@ kDSI_HostInvalidTxLength
Definition: fsl_mipi_dsi.h:212
@ kDSI_HostTearTriggerReceived
Definition: fsl_mipi_dsi.h:215
@ kDSI_HostResetTriggerReceived
Definition: fsl_mipi_dsi.h:214
@ kDSI_HostSoTSyncError
Definition: fsl_mipi_dsi.h:200
@ kDSI_HostEscEntryCmdError
Definition: fsl_mipi_dsi.h:202
@ kDSI_HostSoTError
Definition: fsl_mipi_dsi.h:199
@ kDSI_HostEoTSyncError
Definition: fsl_mipi_dsi.h:201
@ kDSI_HostFalseControlError
Definition: fsl_mipi_dsi.h:205
@ kDSI_HostInvalidVcId
Definition: fsl_mipi_dsi.h:211
@ kDSI_HostAckTriggerReceived
Definition: fsl_mipi_dsi.h:216
@ kDSI_DpiBurst
Definition: fsl_mipi_dsi.h:98
@ kDSI_DpiNonBurstWithSyncEvent
Definition: fsl_mipi_dsi.h:97
@ kDSI_DpiNonBurstWithSyncPulse
Definition: fsl_mipi_dsi.h:96
@ kDSI_TxDataTurnOnPeriph
Definition: fsl_mipi_dsi.h:273
@ kDSI_TxDataGenShortRdTwoParam
Definition: fsl_mipi_dsi.h:279
@ kDSI_TxDataPackedPixel16BitYCbCr
Definition: fsl_mipi_dsi.h:291
@ kDSI_TxDataPackedPixel18BitRGB
Definition: fsl_mipi_dsi.h:296
@ kDSI_TxDataPackedPixel24BitYCbCr
Definition: fsl_mipi_dsi.h:290
@ kDSI_TxDataLooselyPackedPixel20BitYCbCr
Definition: fsl_mipi_dsi.h:289
@ kDSI_TxDataSetMaxReturnPktSize
Definition: fsl_mipi_dsi.h:283
@ kDSI_TxDataShutDownPeriph
Definition: fsl_mipi_dsi.h:272
@ kDSI_TxDataPackedPixel36BitRGB
Definition: fsl_mipi_dsi.h:293
@ kDSI_TxDataPackedPixel12BitYCrCb
Definition: fsl_mipi_dsi.h:294
@ kDSI_TxDataEoTp
Definition: fsl_mipi_dsi.h:269
@ kDSI_TxDataPackedPixel16BitRGB
Definition: fsl_mipi_dsi.h:295
@ kDSI_TxDataNull
Definition: fsl_mipi_dsi.h:285
@ kDSI_TxDataPackedPixel24BitRGB
Definition: fsl_mipi_dsi.h:298
@ kDSI_TxDataBlanking
Definition: fsl_mipi_dsi.h:286
@ kDSI_TxDataGenShortWrOneParam
Definition: fsl_mipi_dsi.h:275
@ kDSI_TxDataLooselyPackedPixel18BitRGB
Definition: fsl_mipi_dsi.h:297
@ kDSI_TxDataHsyncStart
Definition: fsl_mipi_dsi.h:267
@ kDSI_TxDataCmOff
Definition: fsl_mipi_dsi.h:270
@ kDSI_TxDataHsyncEnd
Definition: fsl_mipi_dsi.h:268
@ kDSI_TxDataVsyncEnd
Definition: fsl_mipi_dsi.h:266
@ kDSI_TxDataDcsShortWrNoParam
Definition: fsl_mipi_dsi.h:280
@ kDSI_TxDataPackedPixel30BitRGB
Definition: fsl_mipi_dsi.h:292
@ kDSI_TxDataDcsLongWr
Definition: fsl_mipi_dsi.h:288
@ kDSI_TxDataGenShortWrTwoParam
Definition: fsl_mipi_dsi.h:276
@ kDSI_TxDataVsyncStart
Definition: fsl_mipi_dsi.h:265
@ kDSI_TxDataGenLongWr
Definition: fsl_mipi_dsi.h:287
@ kDSI_TxDataCmOn
Definition: fsl_mipi_dsi.h:271
@ kDSI_TxDataGenShortRdNoParam
Definition: fsl_mipi_dsi.h:277
@ kDSI_TxDataDcsShortWrOneParam
Definition: fsl_mipi_dsi.h:281
@ kDSI_TxDataGenShortRdOneParam
Definition: fsl_mipi_dsi.h:278
@ kDSI_TxDataGenShortWrNoParam
Definition: fsl_mipi_dsi.h:274
@ kDSI_TxDataDcsShortRdNoParam
Definition: fsl_mipi_dsi.h:282
@ kDSI_RxDataDcsShortRdResponseTwoByte
Definition: fsl_mipi_dsi.h:311
@ kDSI_RxDataDcsLongRdResponse
Definition: fsl_mipi_dsi.h:309
@ kDSI_RxDataGenLongRdResponse
Definition: fsl_mipi_dsi.h:308
@ kDSI_RxDataEoTp
Definition: fsl_mipi_dsi.h:305
@ kDSI_RxDataGenShortRdResponseOneByte
Definition: fsl_mipi_dsi.h:306
@ kDSI_RxDataGenShortRdResponseTwoByte
Definition: fsl_mipi_dsi.h:307
@ kDSI_RxDataAckAndErrorReport
Definition: fsl_mipi_dsi.h:304
@ kDSI_RxDataDcsShortRdResponseOneByte
Definition: fsl_mipi_dsi.h:310
@ kDSI_PixelPacket18Bit
Definition: fsl_mipi_dsi.h:79
@ kDSI_PixelPacket24Bit
Definition: fsl_mipi_dsi.h:81
@ kDSI_PixelPacket16Bit
Definition: fsl_mipi_dsi.h:78
@ kDSI_PixelPacket18BitLoosely
Definition: fsl_mipi_dsi.h:80
@ kDSI_TransferPerformBTA
Definition: fsl_mipi_dsi.h:318
@ kDSI_TransferUseHighSpeed
Definition: fsl_mipi_dsi.h:317
@ kDSI_RxErrorCrc
Definition: fsl_mipi_dsi.h:190
@ kDSI_RxErrorEccMultiBit
Definition: fsl_mipi_dsi.h:189
@ kDSI_RxErrorLrxTo
Definition: fsl_mipi_dsi.h:192
@ kDSI_RxErrorEccOneBit
Definition: fsl_mipi_dsi.h:188
@ kDSI_RxErrorBtaTo
Definition: fsl_mipi_dsi.h:193
@ kDSI_RxErrorHtxTo
Definition: fsl_mipi_dsi.h:191
@ kDSI_DpiHsyncActiveHigh
Definition: fsl_mipi_dsi.h:90
@ kDSI_DpiVsyncActiveHigh
Definition: fsl_mipi_dsi.h:89
@ kDSI_DpiHsyncActiveLow
Definition: fsl_mipi_dsi.h:88
@ kDSI_DpiVsyncActiveLow
Definition: fsl_mipi_dsi.h:87
@ kDSI_Dpi18BitConfig2
Definition: fsl_mipi_dsi.h:71
@ kDSI_Dpi16BitConfig3
Definition: fsl_mipi_dsi.h:69
@ kDSI_Dpi16BitConfig1
Definition: fsl_mipi_dsi.h:67
@ kDSI_Dpi16BitConfig2
Definition: fsl_mipi_dsi.h:68
@ kDSI_Dpi24Bit
Definition: fsl_mipi_dsi.h:72
@ kDSI_Dpi18BitConfig1
Definition: fsl_mipi_dsi.h:70
@ kDSI_DpiBllpLowPower
Definition: fsl_mipi_dsi.h:104
@ kDSI_DpiBllpNull
Definition: fsl_mipi_dsi.h:106
@ kDSI_DpiBllpBlanking
Definition: fsl_mipi_dsi.h:105
@ kDSI_InterruptGroup1InvalidTxLength
Definition: fsl_mipi_dsi.h:249
@ kDSI_InterruptGroup1ApbTxOverflow
Definition: fsl_mipi_dsi.h:225
@ kDSI_InterruptGroup1ContentionDetected
Definition: fsl_mipi_dsi.h:241
@ kDSI_InterruptGroup1ApbRxUnderflow
Definition: fsl_mipi_dsi.h:228
@ kDSI_InterruptGroup2CrcError
Definition: fsl_mipi_dsi.h:259
@ kDSI_InterruptGroup1InvalidVcId
Definition: fsl_mipi_dsi.h:248
@ kDSI_InterruptGroup1BtaTo
Definition: fsl_mipi_dsi.h:256
@ kDSI_InterruptGroup1ApbTxUnderflow
Definition: fsl_mipi_dsi.h:226
@ kDSI_InterruptGroup2EccMultiBit
Definition: fsl_mipi_dsi.h:258
@ kDSI_InterruptGroup1SoTError
Definition: fsl_mipi_dsi.h:231
@ kDSI_InterruptGroup1EoTSyncError
Definition: fsl_mipi_dsi.h:233
@ kDSI_InterruptGroup1ResetTriggerReceived
Definition: fsl_mipi_dsi.h:251
@ kDSI_InterruptGroup1InvalidDataType
Definition: fsl_mipi_dsi.h:247
@ kDSI_InterruptGroup1LpTxSyncError
Definition: fsl_mipi_dsi.h:236
@ kDSI_InterruptGroup1ProtocalViolation
Definition: fsl_mipi_dsi.h:250
@ kDSI_InterruptGroup1ApbTxDone
Definition: fsl_mipi_dsi.h:223
@ kDSI_InterruptGroup1LrxTo
Definition: fsl_mipi_dsi.h:255
@ kDSI_InterruptGroup1ApbRxPacketReceived
Definition: fsl_mipi_dsi.h:230
@ kDSI_InterruptGroup1PeriphToError
Definition: fsl_mipi_dsi.h:238
@ kDSI_InterruptGroup1SoTSyncError
Definition: fsl_mipi_dsi.h:232
@ kDSI_InterruptGroup1ApbRxControl
Definition: fsl_mipi_dsi.h:224
@ kDSI_InterruptGroup1ApbRxHeaderReceived
Definition: fsl_mipi_dsi.h:229
@ kDSI_InterruptGroup1FalseControlError
Definition: fsl_mipi_dsi.h:240
@ kDSI_InterruptGroup1ChecksumError
Definition: fsl_mipi_dsi.h:246
@ kDSI_InterruptGroup2EccOneBit
Definition: fsl_mipi_dsi.h:257
@ kDSI_InterruptGroup1EccErrorMultiBit
Definition: fsl_mipi_dsi.h:244
@ kDSI_InterruptGroup1HtxTo
Definition: fsl_mipi_dsi.h:254
@ kDSI_InterruptGroup1EscEntryCmdError
Definition: fsl_mipi_dsi.h:234
@ kDSI_InterruptGroup1AckTriggerReceived
Definition: fsl_mipi_dsi.h:253
@ kDSI_InterruptGroup1ApbRxOverflow
Definition: fsl_mipi_dsi.h:227
@ kDSI_InterruptGroup1ApbNotIdle
Definition: fsl_mipi_dsi.h:222
@ kDSI_InterruptGroup1EccErrorOneBit
Definition: fsl_mipi_dsi.h:242
@ kDSI_InterruptGroup1TearTriggerReceived
Definition: fsl_mipi_dsi.h:252
Definition: MIMXRT1166_cm4.h:32960
Definition: MIMXRT1166_cm4.h:33138
Definition: MIMXRT1166_cm4.h:33386
Definition: MIMXRT1166_cm4.h:32747
MIPI DSI structure definition.
Definition: fsl_mipi_dsi.h:33
DSI_HOST_DPI_INTFC_Type * dpi
Definition: fsl_mipi_dsi.h:36
DSI_HOST_Type * host
Definition: fsl_mipi_dsi.h:34
DSI_HOST_NXP_FDSOI28_DPHY_INTFC_Type * dphy
Definition: fsl_mipi_dsi.h:37
DSI_HOST_APB_PKT_IF_Type * apb
Definition: fsl_mipi_dsi.h:35
MIPI DSI controller configuration.
Definition: fsl_mipi_dsi.h:52
bool enableNonContinuousHsClk
Definition: fsl_mipi_dsi.h:54
uint8_t numLanes
Definition: fsl_mipi_dsi.h:53
uint32_t htxTo_ByteClk
Definition: fsl_mipi_dsi.h:59
uint8_t numExtraEoTp
Definition: fsl_mipi_dsi.h:58
bool enableTxUlps
Definition: fsl_mipi_dsi.h:56
bool autoInsertEoTp
Definition: fsl_mipi_dsi.h:57
uint32_t btaTo_ByteClk
Definition: fsl_mipi_dsi.h:61
uint32_t lrxHostTo_ByteClk
Definition: fsl_mipi_dsi.h:60
MIPI DSI D-PHY configuration.
Definition: fsl_mipi_dsi.h:134
uint32_t tWakeup_EscClk
Definition: fsl_mipi_dsi.h:147
uint8_t tHsPrepare_HalfEscClk
Definition: fsl_mipi_dsi.h:149
uint8_t tHsZero_ByteClk
Definition: fsl_mipi_dsi.h:155
uint8_t tClkPost_ByteClk
Definition: fsl_mipi_dsi.h:141
uint32_t txHsBitClk_Hz
Definition: fsl_mipi_dsi.h:135
uint8_t tClkPre_ByteClk
Definition: fsl_mipi_dsi.h:137
uint8_t tHsExit_ByteClk
Definition: fsl_mipi_dsi.h:144
uint8_t tClkZero_ByteClk
Definition: fsl_mipi_dsi.h:158
uint8_t tClkPrepare_HalfEscClk
Definition: fsl_mipi_dsi.h:152
uint8_t tHsTrail_ByteClk
Definition: fsl_mipi_dsi.h:161
uint8_t tClkTrail_ByteClk
Definition: fsl_mipi_dsi.h:165
MIPI DSI controller DPI interface configuration.
Definition: fsl_mipi_dsi.h:111
uint16_t panelHeight
Definition: fsl_mipi_dsi.h:127
uint16_t pixelPayloadSize
Definition: fsl_mipi_dsi.h:112
uint16_t hsw
Definition: fsl_mipi_dsi.h:124
dsi_dpi_bllp_mode_t bllpMode
Definition: fsl_mipi_dsi.h:119
uint8_t polarityFlags
Definition: fsl_mipi_dsi.h:121
uint16_t hbp
Definition: fsl_mipi_dsi.h:123
uint8_t virtualChannel
Definition: fsl_mipi_dsi.h:129
dsi_dpi_pixel_packet_t pixelPacket
Definition: fsl_mipi_dsi.h:116
dsi_dpi_color_coding_t dpiColorCoding
Definition: fsl_mipi_dsi.h:115
dsi_dpi_video_mode_t videoMode
Definition: fsl_mipi_dsi.h:118
uint16_t hfp
Definition: fsl_mipi_dsi.h:122
uint8_t vfp
Definition: fsl_mipi_dsi.h:125
uint8_t vbp
Definition: fsl_mipi_dsi.h:126
MIPI DSI transfer handle structure.
Definition: fsl_mipi_dsi.h:355
void * userData
Definition: fsl_mipi_dsi.h:359
const MIPI_DSI_Type * dsi
Definition: fsl_mipi_dsi.h:360
dsi_transfer_t xfer
Definition: fsl_mipi_dsi.h:357
dsi_callback_t callback
Definition: fsl_mipi_dsi.h:358
volatile bool isBusy
Definition: fsl_mipi_dsi.h:356
Structure for the data transfer.
Definition: fsl_mipi_dsi.h:323
dsi_tx_data_type_t txDataType
Definition: fsl_mipi_dsi.h:325
uint8_t flags
Definition: fsl_mipi_dsi.h:326
bool sendDscCmd
Definition: fsl_mipi_dsi.h:331
uint8_t virtualChannel
Definition: fsl_mipi_dsi.h:324
uint8_t * rxData
Definition: fsl_mipi_dsi.h:328
uint16_t txDataSize
Definition: fsl_mipi_dsi.h:329
uint16_t rxDataSize
Definition: fsl_mipi_dsi.h:330
const uint8_t * txData
Definition: fsl_mipi_dsi.h:327
uint8_t dscCmd
Definition: fsl_mipi_dsi.h:333
Definition: deflate.c:114