summaryrefslogtreecommitdiffstats
path: root/bsps/arm/imxrt/include/fsl_elcdif.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bsps/arm/imxrt/include/fsl_elcdif.h747
1 files changed, 0 insertions, 747 deletions
diff --git a/bsps/arm/imxrt/include/fsl_elcdif.h b/bsps/arm/imxrt/include/fsl_elcdif.h
deleted file mode 100644
index 6ffe54c3d7..0000000000
--- a/bsps/arm/imxrt/include/fsl_elcdif.h
+++ /dev/null
@@ -1,747 +0,0 @@
-/*
- * Copyright 2017-2020 NXP
- * All rights reserved.
- *
- *
- * SPDX-License-Identifier: BSD-3-Clause
- */
-
-#ifndef _FSL_ELCDIF_H_
-#define _FSL_ELCDIF_H_
-
-#include "fsl_common.h"
-
-/*!
- * @addtogroup elcdif
- * @{
- */
-
-/*******************************************************************************
- * Definitions
- ******************************************************************************/
-
-/*! @name Driver version */
-/*@{*/
-/*! @brief eLCDIF driver version */
-#define FSL_ELCDIF_DRIVER_VERSION (MAKE_VERSION(2, 0, 2))
-/*@}*/
-
-/* All IRQ flags in CTRL1 register. */
-#define ELCDIF_CTRL1_IRQ_MASK \
- (LCDIF_CTRL1_BM_ERROR_IRQ_MASK | LCDIF_CTRL1_OVERFLOW_IRQ_MASK | LCDIF_CTRL1_UNDERFLOW_IRQ_MASK | \
- LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_MASK | LCDIF_CTRL1_VSYNC_EDGE_IRQ_MASK)
-
-/* All IRQ enable control bits in CTRL1 register. */
-#define ELCDIF_CTRL1_IRQ_EN_MASK \
- (LCDIF_CTRL1_BM_ERROR_IRQ_EN_MASK | LCDIF_CTRL1_OVERFLOW_IRQ_EN_MASK | LCDIF_CTRL1_UNDERFLOW_IRQ_EN_MASK | \
- LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_MASK | LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_MASK)
-
-/* All IRQ flags in AS_CTRL register. */
-#if defined(LCDIF_AS_CTRL_CSI_SYNC_ON_IRQ_MASK)
-#define ELCDIF_AS_CTRL_IRQ_MASK (LCDIF_AS_CTRL_CSI_SYNC_ON_IRQ_MASK)
-#else
-#define ELCDIF_AS_CTRL_IRQ_MASK 0U
-#endif
-
-/* All IRQ enable control bits in AS_CTRL register. */
-#if defined(LCDIF_AS_CTRL_CSI_SYNC_ON_IRQ_EN_MASK)
-#define ELCDIF_AS_CTRL_IRQ_EN_MASK (LCDIF_AS_CTRL_CSI_SYNC_ON_IRQ_EN_MASK)
-#else
-#define ELCDIF_AS_CTRL_IRQ_EN_MASK 0U
-#endif
-
-#if ((ELCDIF_CTRL1_IRQ_MASK & ELCDIF_AS_CTRL_IRQ_MASK) || (ELCDIF_AS_CTRL_IRQ_MASK & ELCDIF_AS_CTRL_IRQ_EN_MASK))
-#error Interrupt bits overlap, need to update the interrupt functions.
-#endif
-
-/* LUT memory entery number. */
-#define ELCDIF_LUT_ENTRY_NUM 256U
-
-/*!
- * @brief eLCDIF signal polarity flags
- */
-enum _elcdif_polarity_flags
-{
- kELCDIF_VsyncActiveLow = 0U, /*!< VSYNC active low. */
- kELCDIF_VsyncActiveHigh = LCDIF_VDCTRL0_VSYNC_POL_MASK, /*!< VSYNC active high. */
- kELCDIF_HsyncActiveLow = 0U, /*!< HSYNC active low. */
- kELCDIF_HsyncActiveHigh = LCDIF_VDCTRL0_HSYNC_POL_MASK, /*!< HSYNC active high. */
- kELCDIF_DataEnableActiveLow = 0U, /*!< Data enable line active low. */
- kELCDIF_DataEnableActiveHigh = LCDIF_VDCTRL0_ENABLE_POL_MASK, /*!< Data enable line active high. */
- kELCDIF_DriveDataOnFallingClkEdge = 0U, /*!< Drive data on falling clock edge, capture data
- on rising clock edge. */
- kELCDIF_DriveDataOnRisingClkEdge = LCDIF_VDCTRL0_DOTCLK_POL_MASK, /*!< Drive data on falling
- clock edge, capture data
- on rising clock edge. */
-};
-
-/*!
- * @brief The eLCDIF interrupts to enable.
- */
-enum _elcdif_interrupt_enable
-{
- kELCDIF_BusMasterErrorInterruptEnable = LCDIF_CTRL1_BM_ERROR_IRQ_EN_MASK, /*!< Bus master error interrupt. */
- kELCDIF_TxFifoOverflowInterruptEnable = LCDIF_CTRL1_OVERFLOW_IRQ_EN_MASK, /*!< TXFIFO overflow interrupt. */
- kELCDIF_TxFifoUnderflowInterruptEnable = LCDIF_CTRL1_UNDERFLOW_IRQ_EN_MASK, /*!< TXFIFO underflow interrupt. */
- kELCDIF_CurFrameDoneInterruptEnable =
- LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_EN_MASK, /*!< Interrupt when hardware enters vertical blanking state. */
- kELCDIF_VsyncEdgeInterruptEnable =
- LCDIF_CTRL1_VSYNC_EDGE_IRQ_EN_MASK, /*!< Interrupt when hardware encounters VSYNC edge. */
-#if defined(LCDIF_AS_CTRL_CSI_SYNC_ON_IRQ_EN_MASK)
- kELCDIF_SciSyncOnInterruptEnable =
- LCDIF_AS_CTRL_CSI_SYNC_ON_IRQ_EN_MASK, /*!< Interrupt when eLCDIF lock with CSI input. */
-#endif
-};
-
-/*!
- * @brief The eLCDIF interrupt status flags.
- */
-enum _elcdif_interrupt_flags
-{
- kELCDIF_BusMasterError = LCDIF_CTRL1_BM_ERROR_IRQ_MASK, /*!< Bus master error interrupt. */
- kELCDIF_TxFifoOverflow = LCDIF_CTRL1_OVERFLOW_IRQ_MASK, /*!< TXFIFO overflow interrupt. */
- kELCDIF_TxFifoUnderflow = LCDIF_CTRL1_UNDERFLOW_IRQ_MASK, /*!< TXFIFO underflow interrupt. */
- kELCDIF_CurFrameDone =
- LCDIF_CTRL1_CUR_FRAME_DONE_IRQ_MASK, /*!< Interrupt when hardware enters vertical blanking state. */
- kELCDIF_VsyncEdge = LCDIF_CTRL1_VSYNC_EDGE_IRQ_MASK, /*!< Interrupt when hardware encounters VSYNC edge. */
-#if defined(LCDIF_AS_CTRL_CSI_SYNC_ON_IRQ_MASK)
- kELCDIF_SciSyncOn = LCDIF_AS_CTRL_CSI_SYNC_ON_IRQ_MASK, /*!< Interrupt when eLCDIF lock with CSI input. */
-#endif
-};
-
-/*!
- * @brief eLCDIF status flags
- */
-enum _elcdif_status_flags
-{
- kELCDIF_LFifoFull = LCDIF_STAT_LFIFO_FULL_MASK, /*!< LFIFO full. */
- kELCDIF_LFifoEmpty = LCDIF_STAT_LFIFO_EMPTY_MASK, /*!< LFIFO empty. */
- kELCDIF_TxFifoFull = LCDIF_STAT_TXFIFO_FULL_MASK, /*!< TXFIFO full. */
- kELCDIF_TxFifoEmpty = LCDIF_STAT_TXFIFO_EMPTY_MASK, /*!< TXFIFO empty. */
-#if defined(LCDIF_STAT_BUSY_MASK)
- kELCDIF_LcdControllerBusy = LCDIF_STAT_BUSY_MASK, /*!< The external LCD controller busy signal. */
-#endif
-#if defined(LCDIF_STAT_DVI_CURRENT_FIELD_MASK)
- kELCDIF_CurDviField2 = LCDIF_STAT_DVI_CURRENT_FIELD_MASK, /*!< Current DVI filed, if set, then current filed is 2,
- otherwise current filed is 1. */
-#endif
-};
-
-/*!
- * @brief The pixel format.
- *
- * This enumerator should be defined together with the array s_pixelFormatReg.
- * To support new pixel format, enhance this enumerator and s_pixelFormatReg.
- */
-typedef enum _elcdif_pixel_format
-{
- kELCDIF_PixelFormatRAW8 = 0, /*!< RAW 8 bit, four data use 32 bits. */
- kELCDIF_PixelFormatRGB565 = 1, /*!< RGB565, two pixel use 32 bits. */
- kELCDIF_PixelFormatRGB666 = 2, /*!< RGB666 unpacked, one pixel uses 32 bits, high byte unused,
- upper 2 bits of other bytes unused. */
- kELCDIF_PixelFormatXRGB8888 = 3, /*!< XRGB8888 unpacked, one pixel uses 32 bits, high byte unused. */
- kELCDIF_PixelFormatRGB888 = 4, /*!< RGB888 packed, one pixel uses 24 bits. */
-} elcdif_pixel_format_t;
-
-/*! @brief The LCD data bus type. */
-typedef enum _elcdif_lcd_data_bus
-{
- kELCDIF_DataBus8Bit = LCDIF_CTRL_LCD_DATABUS_WIDTH(1), /*!< 8-bit data bus. */
- kELCDIF_DataBus16Bit = LCDIF_CTRL_LCD_DATABUS_WIDTH(0), /*!< 16-bit data bus, support RGB565. */
- kELCDIF_DataBus18Bit = LCDIF_CTRL_LCD_DATABUS_WIDTH(2), /*!< 18-bit data bus, support RGB666. */
- kELCDIF_DataBus24Bit = LCDIF_CTRL_LCD_DATABUS_WIDTH(3), /*!< 24-bit data bus, support RGB888. */
-} elcdif_lcd_data_bus_t;
-
-/*!
- * @brief The register value when using different pixel format.
- *
- * These register bits control the pixel format:
- * - CTRL[DATA_FORMAT_24_BIT]
- * - CTRL[DATA_FORMAT_18_BIT]
- * - CTRL[DATA_FORMAT_16_BIT]
- * - CTRL[WORD_LENGTH]
- * - CTRL1[BYTE_PACKING_FORMAT]
- */
-typedef struct _elcdif_pixel_format_reg
-{
- uint32_t regCtrl; /*!< Value of register CTRL. */
- uint32_t regCtrl1; /*!< Value of register CTRL1. */
-} elcdif_pixel_format_reg_t;
-
-/*!
- * @brief eLCDIF configure structure for RGB mode (DOTCLK mode).
- */
-typedef struct _elcdif_rgb_mode_config
-{
- uint16_t panelWidth; /*!< Display panel width, pixels per line. */
- uint16_t panelHeight; /*!< Display panel height, how many lines per panel. */
- uint8_t hsw; /*!< HSYNC pulse width. */
- uint8_t hfp; /*!< Horizontal front porch. */
- uint8_t hbp; /*!< Horizontal back porch. */
- uint8_t vsw; /*!< VSYNC pulse width. */
- uint8_t vfp; /*!< Vrtical front porch. */
- uint8_t vbp; /*!< Vertical back porch. */
- uint32_t polarityFlags; /*!< OR'ed value of @ref _elcdif_polarity_flags, used to contol the signal polarity. */
- uint32_t bufferAddr; /*!< Frame buffer address. */
- elcdif_pixel_format_t pixelFormat; /*!< Pixel format. */
- elcdif_lcd_data_bus_t dataBus; /*!< LCD data bus. */
-} elcdif_rgb_mode_config_t;
-
-/*!
- * @brief eLCDIF alpha surface pixel format.
- */
-typedef enum _elcdif_as_pixel_format
-{
- kELCDIF_AsPixelFormatARGB8888 = 0x0, /*!< 32-bit pixels with alpha. */
- kELCDIF_AsPixelFormatRGB888 = 0x4, /*!< 32-bit pixels without alpha (unpacked 24-bit format) */
- kELCDIF_AsPixelFormatARGB1555 = 0x8, /*!< 16-bit pixels with alpha. */
- kELCDIF_AsPixelFormatARGB4444 = 0x9, /*!< 16-bit pixels with alpha. */
- kELCDIF_AsPixelFormatRGB555 = 0xC, /*!< 16-bit pixels without alpha. */
- kELCDIF_AsPixelFormatRGB444 = 0xD, /*!< 16-bit pixels without alpha. */
- kELCDIF_AsPixelFormatRGB565 = 0xE, /*!< 16-bit pixels without alpha. */
-} elcdif_as_pixel_format_t;
-
-/*!
- * @brief eLCDIF alpha surface buffer configuration.
- */
-typedef struct _elcdif_as_buffer_config
-{
- uint32_t bufferAddr; /*!< Buffer address. */
- elcdif_as_pixel_format_t pixelFormat; /*!< Pixel format. */
-} elcdif_as_buffer_config_t;
-
-/*!
- * @brief eLCDIF alpha mode during blending.
- */
-typedef enum _elcdif_alpha_mode
-{
- kELCDIF_AlphaEmbedded, /*!< The alpha surface pixel alpha value will be used for blend. */
- kELCDIF_AlphaOverride, /*!< The user defined alpha value will be used for blend directly. */
- kELCDIF_AlphaMultiply, /*!< The alpha surface pixel alpha value scaled the user defined
- alpha value will be used for blend, for example, pixel alpha set
- set to 200, user defined alpha set to 100, then the reault alpha
- is 200 * 100 / 255. */
- kELCDIF_AlphaRop /*!< Raster operation. */
-} elcdif_alpha_mode_t;
-
-/*!
- * @brief eLCDIF ROP mode during blending.
- *
- * Explanation:
- * - AS: Alpha surface
- * - PS: Process surface
- * - nAS: Alpha surface NOT value
- * - nPS: Process surface NOT value
- */
-typedef enum _elcdif_rop_mode
-{
- kELCDIF_RopMaskAs = 0x0, /*!< AS AND PS. */
- kELCDIF_RopMaskNotAs = 0x1, /*!< nAS AND PS. */
- kELCDIF_RopMaskAsNot = 0x2, /*!< AS AND nPS. */
- kELCDIF_RopMergeAs = 0x3, /*!< AS OR PS. */
- kELCDIF_RopMergeNotAs = 0x4, /*!< nAS OR PS. */
- kELCDIF_RopMergeAsNot = 0x5, /*!< AS OR nPS. */
- kELCDIF_RopNotCopyAs = 0x6, /*!< nAS. */
- kELCDIF_RopNot = 0x7, /*!< nPS. */
- kELCDIF_RopNotMaskAs = 0x8, /*!< AS NAND PS. */
- kELCDIF_RopNotMergeAs = 0x9, /*!< AS NOR PS. */
- kELCDIF_RopXorAs = 0xA, /*!< AS XOR PS. */
- kELCDIF_RopNotXorAs = 0xB /*!< AS XNOR PS. */
-} elcdif_rop_mode_t;
-
-/*!
- * @brief eLCDIF alpha surface blending configuration.
- */
-typedef struct _elcdif_as_blend_config
-{
- uint8_t alpha; /*!< User defined alpha value, only used when @ref alphaMode is @ref kELCDIF_AlphaOverride or @ref
- kELCDIF_AlphaRop. */
- bool invertAlpha; /*!< Set true to invert the alpha. */
- elcdif_alpha_mode_t alphaMode; /*!< Alpha mode. */
- elcdif_rop_mode_t ropMode; /*!< ROP mode, only valid when @ref alphaMode is @ref kELCDIF_AlphaRop. */
-} elcdif_as_blend_config_t;
-
-/*!
- * @brief eLCDIF LUT
- *
- * The Lookup Table (LUT) is used to expand the 8 bits pixel to 24 bits pixel
- * before output to external displayer.
- *
- * There are two 256x24 bits LUT memory in LCDIF, the LSB of frame buffer address
- * determins which memory to use.
- */
-typedef enum _elcdif_lut
-{
- kELCDIF_Lut0 = 0, /*!< LUT 0. */
- kELCDIF_Lut1, /*!< LUT 1. */
-} elcdif_lut_t;
-
-/*******************************************************************************
- * APIs
- ******************************************************************************/
-
-#if defined(__cplusplus)
-extern "C" {
-#endif /* __cplusplus */
-
-/*!
- * @name eLCDIF initialization and de-initialization
- * @{
- */
-
-/*!
- * @brief Initializes the eLCDIF to work in RGB mode (DOTCLK mode).
- *
- * This function ungates the eLCDIF clock and configures the eLCDIF peripheral according
- * to the configuration structure.
- *
- * @param base eLCDIF peripheral base address.
- * @param config Pointer to the configuration structure.
- */
-void ELCDIF_RgbModeInit(LCDIF_Type *base, const elcdif_rgb_mode_config_t *config);
-
-/*!
- * @brief Gets the eLCDIF default configuration structure for RGB (DOTCLK) mode.
- *
- * This function sets the configuration structure to default values.
- * The default configuration is set to the following values.
- * @code
- config->panelWidth = 480U;
- config->panelHeight = 272U;
- config->hsw = 41;
- config->hfp = 4;
- config->hbp = 8;
- config->vsw = 10;
- config->vfp = 4;
- config->vbp = 2;
- config->polarityFlags = kELCDIF_VsyncActiveLow |
- kELCDIF_HsyncActiveLow |
- kELCDIF_DataEnableActiveLow |
- kELCDIF_DriveDataOnFallingClkEdge;
- config->bufferAddr = 0U;
- config->pixelFormat = kELCDIF_PixelFormatRGB888;
- config->dataBus = kELCDIF_DataBus24Bit;
- @endcode
- *
- * @param config Pointer to the eLCDIF configuration structure.
- */
-void ELCDIF_RgbModeGetDefaultConfig(elcdif_rgb_mode_config_t *config);
-
-/*!
- * @brief Deinitializes the eLCDIF peripheral.
- *
- * @param base eLCDIF peripheral base address.
- */
-void ELCDIF_Deinit(LCDIF_Type *base);
-
-/* @} */
-
-/*!
- * @name Module operation
- * @{
- */
-
-/*!
- * @brief Set the pixel format in RGB (DOTCLK) mode.
- *
- * @param base eLCDIF peripheral base address.
- * @param pixelFormat The pixel format.
- */
-void ELCDIF_RgbModeSetPixelFormat(LCDIF_Type *base, elcdif_pixel_format_t pixelFormat);
-
-/*!
- * @brief Start to display in RGB (DOTCLK) mode.
- *
- * @param base eLCDIF peripheral base address.
- */
-static inline void ELCDIF_RgbModeStart(LCDIF_Type *base)
-{
- base->CTRL_SET = LCDIF_CTRL_RUN_MASK | LCDIF_CTRL_DOTCLK_MODE_MASK;
-}
-
-/*!
- * @brief Stop display in RGB (DOTCLK) mode and wait until finished.
- *
- * @param base eLCDIF peripheral base address.
- */
-void ELCDIF_RgbModeStop(LCDIF_Type *base);
-
-/*!
- * @brief Set the next frame buffer address to display.
- *
- * @param base eLCDIF peripheral base address.
- * @param bufferAddr The frame buffer address to set.
- */
-static inline void ELCDIF_SetNextBufferAddr(LCDIF_Type *base, uint32_t bufferAddr)
-{
- base->NEXT_BUF = bufferAddr;
-}
-
-/*!
- * @brief Reset the eLCDIF peripheral.
- *
- * @param base eLCDIF peripheral base address.
- */
-void ELCDIF_Reset(LCDIF_Type *base);
-
-#if !(defined(FSL_FEATURE_LCDIF_HAS_NO_RESET_PIN) && FSL_FEATURE_LCDIF_HAS_NO_RESET_PIN)
-/*!
- * @brief Pull up or down the reset pin for the externel LCD controller.
- *
- * @param base eLCDIF peripheral base address.
- * @param pullUp True to pull up reset pin, false to pull down.
- */
-static inline void ELCDIF_PullUpResetPin(LCDIF_Type *base, bool pullUp)
-{
- if (pullUp)
- {
- base->CTRL1_SET = LCDIF_CTRL1_RESET_MASK;
- }
- else
- {
- base->CTRL1_CLR = LCDIF_CTRL1_RESET_MASK;
- }
-}
-#endif
-
-/*!
- * @brief Enable or disable the hand shake with PXP.
- *
- * @param base eLCDIF peripheral base address.
- * @param enable True to enable, false to disable.
- */
-static inline void ELCDIF_EnablePxpHandShake(LCDIF_Type *base, bool enable)
-{
- if (enable)
- {
- base->CTRL_SET = LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_MASK;
- }
- else
- {
- base->CTRL_CLR = LCDIF_CTRL_ENABLE_PXP_HANDSHAKE_MASK;
- }
-}
-
-/* @} */
-
-/*!
- * @name Status
- * @{
- */
-
-/*!
- * @brief Get the CRC value of the frame sent out.
- *
- * When a frame is sent complete (the interrupt @ref kELCDIF_CurFrameDone assert), this function
- * can be used to get the CRC value of the frame sent.
- *
- * @param base eLCDIF peripheral base address.
- * @return The CRC value.
- *
- * @note The CRC value is dependent on the LCD_DATABUS_WIDTH.
- */
-static inline uint32_t ELCDIF_GetCrcValue(LCDIF_Type *base)
-{
- return base->CRC_STAT;
-}
-
-/*!
- * @brief Get the bus master error virtual address.
- *
- * When bus master error occurs (the interrupt kELCDIF_BusMasterError assert), this function
- * can get the virtual address at which the AXI master received an error
- * response from the slave.
- *
- * @param base eLCDIF peripheral base address.
- * @return The error virtual address.
- */
-static inline uint32_t ELCDIF_GetBusMasterErrorAddr(LCDIF_Type *base)
-{
- return base->BM_ERROR_STAT;
-}
-
-/*!
- * @brief Get the eLCDIF status.
- *
- * The status flags are returned as a mask value, application could check the
- * corresponding bit. Example:
- *
- * @code
- uint32_t statusFlags;
- statusFlags = ELCDIF_GetStatus(LCDIF);
-
- if (kELCDIF_LFifoFull & statusFlags)
- {
- }
-
- if (kELCDIF_TxFifoEmpty & statusFlags)
- {
- }
- @endcode
- *
- * @param base eLCDIF peripheral base address.
- * @return The mask value of status flags, it is OR'ed value of @ref _elcdif_status_flags.
- */
-static inline uint32_t ELCDIF_GetStatus(LCDIF_Type *base)
-{
- return base->STAT & (LCDIF_STAT_LFIFO_FULL_MASK | LCDIF_STAT_LFIFO_EMPTY_MASK | LCDIF_STAT_TXFIFO_FULL_MASK |
- LCDIF_STAT_TXFIFO_EMPTY_MASK
-#if defined(LCDIF_STAT_BUSY_MASK)
- | LCDIF_STAT_BUSY_MASK
-#endif
-#if defined(LCDIF_STAT_DVI_CURRENT_FIELD_MASK)
- | LCDIF_STAT_DVI_CURRENT_FIELD_MASK
-#endif
- );
-}
-
-/*!
- * @brief Get current count in Latency buffer (LFIFO).
- *
- * @param base eLCDIF peripheral base address.
- * @return The LFIFO current count
- */
-static inline uint32_t ELCDIF_GetLFifoCount(LCDIF_Type *base)
-{
- return (base->STAT & LCDIF_STAT_LFIFO_COUNT_MASK) >> LCDIF_STAT_LFIFO_COUNT_SHIFT;
-}
-
-/* @} */
-
-/*!
- * @name Interrupts
- * @{
- */
-
-/*!
- * @brief Enables eLCDIF interrupt requests.
- *
- * @param base eLCDIF peripheral base address.
- * @param mask interrupt source, OR'ed value of _elcdif_interrupt_enable.
- */
-static inline void ELCDIF_EnableInterrupts(LCDIF_Type *base, uint32_t mask)
-{
- base->CTRL1_SET = (mask & ELCDIF_CTRL1_IRQ_EN_MASK);
-#if !(defined(FSL_FEATURE_LCDIF_HAS_NO_AS) && FSL_FEATURE_LCDIF_HAS_NO_AS)
- base->AS_CTRL |= (mask & ELCDIF_AS_CTRL_IRQ_EN_MASK);
-#endif
-}
-
-/*!
- * @brief Disables eLCDIF interrupt requests.
- *
- * @param base eLCDIF peripheral base address.
- * @param mask interrupt source, OR'ed value of _elcdif_interrupt_enable.
- */
-static inline void ELCDIF_DisableInterrupts(LCDIF_Type *base, uint32_t mask)
-{
- base->CTRL1_CLR = (mask & ELCDIF_CTRL1_IRQ_EN_MASK);
-#if !(defined(FSL_FEATURE_LCDIF_HAS_NO_AS) && FSL_FEATURE_LCDIF_HAS_NO_AS)
- base->AS_CTRL &= ~(mask & ELCDIF_AS_CTRL_IRQ_EN_MASK);
-#endif
-}
-
-/*!
- * @brief Get eLCDIF interrupt peding status.
- *
- * @param base eLCDIF peripheral base address.
- * @return Interrupt pending status, OR'ed value of _elcdif_interrupt_flags.
- */
-static inline uint32_t ELCDIF_GetInterruptStatus(LCDIF_Type *base)
-{
- uint32_t flags;
-
- flags = (base->CTRL1 & ELCDIF_CTRL1_IRQ_MASK);
-#if !(defined(FSL_FEATURE_LCDIF_HAS_NO_AS) && FSL_FEATURE_LCDIF_HAS_NO_AS)
- flags |= (base->AS_CTRL & ELCDIF_AS_CTRL_IRQ_MASK);
-#endif
-
- return flags;
-}
-
-/*!
- * @brief Clear eLCDIF interrupt peding status.
- *
- * @param base eLCDIF peripheral base address.
- * @param mask of the flags to clear, OR'ed value of _elcdif_interrupt_flags.
- */
-static inline void ELCDIF_ClearInterruptStatus(LCDIF_Type *base, uint32_t mask)
-{
- base->CTRL1_CLR = (mask & ELCDIF_CTRL1_IRQ_MASK);
-#if !(defined(FSL_FEATURE_LCDIF_HAS_NO_AS) && FSL_FEATURE_LCDIF_HAS_NO_AS)
- base->AS_CTRL &= ~(mask & ELCDIF_AS_CTRL_IRQ_MASK);
-#endif
-}
-
-/* @} */
-
-#if !(defined(FSL_FEATURE_LCDIF_HAS_NO_AS) && FSL_FEATURE_LCDIF_HAS_NO_AS)
-/*!
- * @name Alpha surface
- * @{
- */
-
-/*!
- * @brief Set the configuration for alpha surface buffer.
- *
- * @param base eLCDIF peripheral base address.
- * @param config Pointer to the configuration structure.
- */
-void ELCDIF_SetAlphaSurfaceBufferConfig(LCDIF_Type *base, const elcdif_as_buffer_config_t *config);
-
-/*!
- * @brief Set the alpha surface blending configuration.
- *
- * @param base eLCDIF peripheral base address.
- * @param config Pointer to the configuration structure.
- */
-void ELCDIF_SetAlphaSurfaceBlendConfig(LCDIF_Type *base, const elcdif_as_blend_config_t *config);
-
-/*!
- * @brief Set the next alpha surface buffer address.
- *
- * @param base eLCDIF peripheral base address.
- * @param bufferAddr Alpha surface buffer address.
- */
-static inline void ELCDIF_SetNextAlphaSurfaceBufferAddr(LCDIF_Type *base, uint32_t bufferAddr)
-{
- base->AS_NEXT_BUF = bufferAddr;
-}
-
-/*!
- * @brief Set the overlay color key.
- *
- * If a pixel in the current overlay image with a color that falls in the range
- * from the @p colorKeyLow to @p colorKeyHigh range, it will use the process surface
- * pixel value for that location.
- *
- * @param base eLCDIF peripheral base address.
- * @param colorKeyLow Color key low range.
- * @param colorKeyHigh Color key high range.
- *
- * @note Colorkey operations are higher priority than alpha or ROP operations
- */
-static inline void ELCDIF_SetOverlayColorKey(LCDIF_Type *base, uint32_t colorKeyLow, uint32_t colorKeyHigh)
-{
- base->AS_CLRKEYLOW = colorKeyLow;
- base->AS_CLRKEYHIGH = colorKeyHigh;
-}
-
-/*!
- * @brief Enable or disable the color key.
- *
- * @param base eLCDIF peripheral base address.
- * @param enable True to enable, false to disable.
- */
-static inline void ELCDIF_EnableOverlayColorKey(LCDIF_Type *base, bool enable)
-{
- if (enable)
- {
- base->AS_CTRL |= LCDIF_AS_CTRL_ENABLE_COLORKEY_MASK;
- }
- else
- {
- base->AS_CTRL &= ~LCDIF_AS_CTRL_ENABLE_COLORKEY_MASK;
- }
-}
-
-/*!
- * @brief Enable or disable the alpha surface.
- *
- * @param base eLCDIF peripheral base address.
- * @param enable True to enable, false to disable.
- */
-static inline void ELCDIF_EnableAlphaSurface(LCDIF_Type *base, bool enable)
-{
- if (enable)
- {
- base->AS_CTRL |= LCDIF_AS_CTRL_AS_ENABLE_MASK;
- }
- else
- {
- base->AS_CTRL &= ~LCDIF_AS_CTRL_AS_ENABLE_MASK;
- }
-}
-
-/*!
- * @brief Enable or disable the process surface.
- *
- * Process surface is the normal frame buffer. The process surface content
- * is controlled by ::ELCDIF_SetNextBufferAddr.
- *
- * @param base eLCDIF peripheral base address.
- * @param enable True to enable, false to disable.
- */
-static inline void ELCDIF_EnableProcessSurface(LCDIF_Type *base, bool enable)
-{
- if (enable)
- {
- base->AS_CTRL &= ~LCDIF_AS_CTRL_PS_DISABLE_MASK;
- }
- else
- {
- base->AS_CTRL |= LCDIF_AS_CTRL_PS_DISABLE_MASK;
- }
-}
-
-/* @} */
-#endif /* FSL_FEATURE_LCDIF_HAS_NO_AS */
-
-#if (defined(FSL_FEATURE_LCDIF_HAS_LUT) && FSL_FEATURE_LCDIF_HAS_LUT)
-/*!
- * @name LUT
- *
- * The Lookup Table (LUT) is used to expand the 8 bits pixel to 24 bits pixel
- * before output to external displayer.
- *
- * There are two 256x24 bits LUT memory in LCDIF, the LSB of frame buffer address
- * determins which memory to use.
- *
- * @{
- */
-
-/*!
- * @brief Enable or disable the LUT.
- *
- * @param base eLCDIF peripheral base address.
- * @param enable True to enable, false to disable.
- */
-static inline void ELCDIF_EnableLut(LCDIF_Type *base, bool enable)
-{
- if (enable)
- {
- base->LUT_CTRL &= ~LCDIF_LUT_CTRL_LUT_BYPASS_MASK;
- }
- else
- {
- base->LUT_CTRL |= LCDIF_LUT_CTRL_LUT_BYPASS_MASK;
- }
-}
-
-/*!
- * @brief Load the LUT value.
- *
- * This function loads the LUT value to the specific LUT memory, user can
- * specify the start entry index.
- *
- * @param base eLCDIF peripheral base address.
- * @param lut Which LUT to load.
- * @param startIndex The start index of the LUT entry to update.
- * @param lutData The LUT data to load.
- * @param count Count of @p lutData.
- * @retval kStatus_Success Initialization success.
- * @retval kStatus_InvalidArgument Wrong argument.
- */
-status_t ELCDIF_UpdateLut(
- LCDIF_Type *base, elcdif_lut_t lut, uint16_t startIndex, const uint32_t *lutData, uint16_t count);
-
-/* @} */
-#endif /* FSL_FEATURE_LCDIF_HAS_LUT */
-
-#if defined(__cplusplus)
-}
-#endif /* __cplusplus */
-
-/* @} */
-
-#endif /*_FSL_ELCDIF_H_*/