123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /******************************************************************************/
- /**
- *
- * @file drv_dpy.h
- *
- * @brief This file specifies the APIs provided to control DPY(Display)
- *
- * @note Copyright (c) 2013 S2 Technology Co., Ltd. \n
- * All rights reserved.
- *
- * @author
- *
- ******************************************************************************/
- #ifndef __DRV_DPY_H__
- #define __DRV_DPY_H__
- /*******************************************************************************
- * Header include
- ******************************************************************************/
- #include "drv_types.h"
- typedef enum _DRV_DPY_RESET_TYPE
- {
- eDPY_RESET_TYPE_FIFO = 0,
- eDPY_RESET_TYPE_STATUS,
- eDPY_RESET_TYPE_PANEL_TIMING,
- } DRV_DPY_RESET_TYPE;
- typedef enum _DRV_DPY_WINDOW_DIRECTION
- {
- eDPY_WINDOW_DIRECTION_HORIZONTAL = 0,
- eDPY_WINDOW_DIRECTION_VERTICAL,
- } DRV_DPY_WINDOW_DIRECTION;
- typedef enum _DRV_DPY_DITHER
- {
- eDPY_DITHER_12_BITS_TO_12_BITS = 0,
- eDPY_DITHER_12_BITS_TO_10_BITS = 1,
- eDPY_DITHER_12_BITS_TO_9_BITS = 2,
- eDPY_DITHER_12_BITS_TO_8_BITS = 3,
- } DRV_DPY_DITHER;
- typedef enum _DRV_DPY_FRAME_LOCK_WITH_NEXT_FRAME_METHOD
- {
- eDPY_FRAME_LOCK_WITH_NEXT_FRAME_METHOD_ANY_TIME = 0,
- eDPY_FRAME_LOCK_WITH_NEXT_FRAME_METHOD_END_OF_LINE = 1,
- } DRV_DPY_FRAME_LOCK_WITH_NEXT_FRAME_METHOD;
- typedef enum _DRV_DPY_FRAME_LOCK_MODE
- {
- eDPY_FRAME_LOCK_MODE_OFF = 0,
- eDPY_FRAME_LOCK_MODE_60HZ,
- eDPY_FRAME_LOCK_MODE_50HZ,
- eDPY_FRAME_LOCK_MODE_48HZ,
- } DRV_DPY_FRAME_LOCK_MODE;
- typedef enum _DRV_DPY_LVDS_CHANNEL_MODE
- {
- eDPY_LVDS_CHANNEL_MODE_SINGLE = 0,
- eDPY_LVDS_CHANNEL_MODE_DUAL = 1,
- } DRV_DPY_LVDS_CHANNEL_MODE;
- typedef enum _DRV_DPY_COLOR_LOOK_UP_TABLE_POSITION
- {
- eDPY_COLOR_LOOK_UP_TABLE_POSITION_BEFORE_CONTRAST = 0,
- eDPY_COLOR_LOOK_UP_TABLE_POSITION_AFTER_CONTRAST = 1,
- } DRV_DPY_COLOR_LOOK_UP_TABLE_POSITION;
- typedef enum _DRV_DPY_PATTERN_COLOR_SPACE
- {
- eDPY_PATTERN_COLOR_SPACE_RGB = 0,
- eDPY_PATTERN_COLOR_SPACE_YCC_R609 = 1,
- eDPY_PATTERN_COLOR_SPACE_YPP_R701 = 2,
- } DRV_DPY_PATTERN_COLOR_SPACE;
- typedef struct _DRV_DPY_OUTPUT_PANEL_WINDOW
- {
- UINT32 HTotal;
- UINT32 VTotal;
- UINT32 HStart;
- UINT32 HEnd;
- UINT32 VStart;
- UINT32 VEnd;
- UINT8 HSyncStart;
- UINT8 HSyncEnd;
- UINT8 VSyncStart;
- UINT8 VSyncEnd;
- } DRV_DPY_OUTPUT_PANEL_WINDOW;
- typedef enum{
- DISPLAY_WINDOW, //only transfer color format from RGB to YUV for display window
- DISPLAY_AND_PANEL, //transfer color format from RGB to YUV for display and panel window
- }DRV_DPY_MATRIX_TYPE;
- void DRV_DPY_Reset(DRV_DPY_RESET_TYPE eType, BOOL fEnable);
- void DRV_DPY_EnableOutput(BOOL fEnable);
- void DRV_DPY_Enable(BOOL fEnable);
- #if (CONFIG_CHIPID == 0x330)
- void DRV_DPY_SetDisplayWindow(DRV_DPY_WINDOW_DIRECTION eDirection, UINT16 Start, UINT16 End);
- void DRV_DPY_GetDisplayWindow(DRV_DPY_WINDOW_DIRECTION eDirection, UINT16 *pStart, UINT16 *pEnd);
- #else
- void DRV_DPY_SetDisplayWindow(UINT16 HStart, UINT16 HEnd, UINT16 VStart, UINT16 VEnd);
- #endif
- void DRV_DPY_SetDither(DRV_DPY_DITHER eSelect);
- void DRV_DPY_EnableHistory(BOOL fEnable);
- void DRV_DPY_SetHistoryWindow(DRV_DPY_WINDOW_DIRECTION eDirection, UINT16 Start, UINT16 End);
- void DRV_DPY_GetHistoryWindow(DRV_DPY_WINDOW_DIRECTION eDirection, UINT16 *pStart, UINT16 *pEnd);
- void DRV_DPY_EnableFrameLockMode(BOOL fEnable);
- BOOL DRV_DPY_IsFrameLockModeEnabled(void);
- void DRV_DPY_SetFrameLockWithNextFrameMethod(DRV_DPY_FRAME_LOCK_WITH_NEXT_FRAME_METHOD eMethod);
- void DRV_DPY_SetFrameLockMode(DRV_DPY_FRAME_LOCK_MODE eFrameLockMode, UINT16 InputFrameRate, BOOL fDoubleOutputFrameRate);
- void DRV_DPY_SetFrameLockRate(UINT8 Value);
- UINT8 DRV_DPY_GetFrameLockRate(void);
- void DRV_DPY_SetPanelWindow(DRV_DPY_OUTPUT_PANEL_WINDOW *pWindow);
- void DRV_DPY_GetPanelWindow(DRV_DPY_OUTPUT_PANEL_WINDOW *pWindow);
- void DRV_DPY_SetOutputPanelHVTotal(DRV_DPY_WINDOW_DIRECTION eDirection, UINT32 Value);
- void DRV_DPY_SetLVDSChannelMode(DRV_DPY_LVDS_CHANNEL_MODE eMode);
- DRV_DPY_LVDS_CHANNEL_MODE DRV_DPY_GetLVDSChannelMode(void);
- void DRV_DPY_SetColorLookUpTablePosition(DRV_DPY_COLOR_LOOK_UP_TABLE_POSITION ePosition);
- void DRV_DPY_SetDataPipeDelay(UINT8 PixelClockCycleTime);
- UINT8 DRV_DPY_GetDataPipeDelay(void);
- void DRV_DPY_SetInterruptLineCount(UINT16 Value);
- void DRV_DPY_EnablePipPattern(BOOL fEnable);
- void DRV_DPY_SetPipPatternColorSpace(DRV_DPY_PATTERN_COLOR_SPACE eColorSpace);
- void DRV_DPY_SetPanelWindowColor(UINT8 Red, UINT8 Green, UINT8 Blue);
- void DRV_DPY_SetPanelWindowColor_Bypass(UINT8 Red, UINT8 Green, UINT8 Blue);
- void DRV_DPY_GetPanelWindowColor(UINT8 *Red, UINT8 *Green, UINT8 *Blue);
- void DRV_DPY_SetPipYppPattern(UINT8 Y, UINT8 Pb, UINT8 Pr);
- void DRV_DPY_EnableMatrixPattern(UINT8 wG, UINT8 wB, UINT8 wR);
- void DRV_DPY_DisableMatrixPattern(BOOL fBypassYUV2RGB);
- void DRV_DPY_SetPatternColorYCbCr(UINT8 Y, UINT8 Cb, UINT8 Cr);
- void DRV_DPY_EnableBorder(UINT8 InWidth, UINT8 Red, UINT8 Green, UINT8 Blue);
- void DRV_DPY_DisableBorder(void);
- void DRV_DPY_EnableDigestBorder(BOOL fEn);
- BOOL DRV_DPY_IsDigestBorderEnabled(void);
- #ifdef CONFIG_ENABLE_MIR
- void DRV_DPY_SelectDPYMatrixWindow(DRV_DPY_MATRIX_TYPE eMatrixType);
- void DRV_DPY_SetPanelWindowColorIsYUV(UINT8 Red, UINT8 Green, UINT8 Blue, BOOL fConvertToYUV);
- #endif
- #ifdef CONFIG_SUPPORT_3D_EN
- void DRV_DPY_Set2Dto3DWindow(UINT16 HStart, UINT16 VStart);
- #endif
- #endif
|