📄 s3c6400_display_con.h
字号:
#ifndef __S3C6400_DISPLAY_CON_H__
#define __S3C6400_DISPLAY_CON_H__
#if __cplusplus
extern "C"
{
#endif
#define MINIMUM_VCLK_FOR_TV 6000000
typedef enum
{
DISP_DEV_LTS222QV_RGB, // QVGA 240x320 2.2"
DISP_DEV_LTV350QV_RGB, // QVGA 320x240 3.5"
DISP_DEV_LTE480WV_RGB, // WVGA 800x480 4.8"
DISP_DEV_LTP700WV_RGB, // WVGA 800x480 7"
DISP_DEV_DUMMY
} DISP_OUT_DEV_TYPE;
typedef enum
{
DISP_VIDOUT_RGBIF,
DISP_VIDOUT_TVENCODER,
DISP_VIDOUT_RGBIF_TVENCODER,
DISP_VIDOUT_I80IF_LDI0,
DISP_VIDOUT_I80IF_LDI1,
DISP_VIDOUT_I80IF_LDI0_TVENCODER,
DISP_VIDOUT_I80IF_LDI1_TVENCODER
} DISP_VIDOUT_MODE;
typedef enum
{
DISP_16BIT_RGB565_P = 0,
DISP_16BIT_RGB565_S,
DISP_18BIT_RGB666_P,
DISP_18BIT_RGB666_S,
DISP_24BIT_RGB888_P,
DISP_24BIT_RGB888_S,
} DISP_RGBIFOUT_MODE;
typedef enum
{
DISP_WIN0_DMA,
DISP_WIN0_POST_RGB,
DISP_WIN0_POST_YUV,
DISP_WIN1_DMA,
DISP_WIN1_TVSCALER_RGB,
DISP_WIN1_TVSCALER_YUV,
DISP_WIN1_CIPREVIEW_RGB,
DISP_WIN1_CIPREVIEW_YUV,
DISP_WIN2_DMA,
DISP_WIN2_TVSCALER_RGB,
DISP_WIN2_TVSCALER_YUV,
DISP_WIN2_CICODEC_RGB,
DISP_WIN2_CICODEC_YUV,
DISP_WIN3_DMA,
DISP_WIN4_DMA
} DISP_WINDOW_MODE;
typedef enum
{
DISP_WIN0,
DISP_WIN1,
DISP_WIN2,
DISP_WIN3,
DISP_WIN4
} DISP_WINDOW;
typedef enum
{
DISP_1BPP = 0,
DISP_2BPP,
DISP_4BPP,
DISP_8BPP_PAL,
DISP_8BPP_NOPAL,
DISP_16BPP_565 ,
DISP_16BPP_A555,
DISP_16BPP_I555,
DISP_18BPP_666,
DISP_18BPP_A665,
DISP_19BPP_A666,
DISP_24BPP_888,
DISP_24BPP_A887,
DISP_25BPP_A888
} DISP_BPP_MODE;
typedef enum
{
DISP_ALPHA_PER_PLANE,
DISP_ALPHA_PER_PIXEL
} DISP_ALPHA_BLEND_METHOD;
typedef enum
{
DISP_FG_MATCH_BG_DISPLAY,
DISP_BG_MATCH_FG_DISPLAY
} DISP_COLOR_KEY_DIRECTION;
typedef enum
{
DISP_ENVID_OFF,
DISP_ENVID_ON,
DISP_ENVID_DIRECT_OFF
} DISP_ENVID_ONOFF;
typedef enum
{
DISP_WINDOW_OFF,
DISP_WINDOW_ON
} DISP_WINDOW_ONOFF;
typedef enum
{
DISP_DITHER_OFF,
DISP_DITHER_565,
DISP_DITHER_666,
DISP_DITHER_888
} DISP_DITHER_MODE;
typedef enum
{
DISP_FRMINT_BACKPORCH = 0,
DISP_FRMINT_VSYNC,
DISP_FRMINT_ACTIVE,
DISP_FRMINT_FRONTPORCH
} DISP_FRAME_INTERRUPT;
typedef enum
{
DISP_FIFO_WIN0 = 1<<5,
DISP_FIFO_WIN1 = 1<<6,
DISP_FIFO_WIN2 = 1<<9,
DISP_FIFO_WIN3 = 1<<10,
DISP_FIFO_WIN4 = 1<<11
} DISP_FIFO_INTERRUPT_WINDOW;
typedef enum
{
DISP_FIFO_0_25 = 0,
DISP_FIFO_0_50,
DISP_FIFO_0_75,
DISP_FIFO_EMPTY,
DISP_FIFO_FULL
} DISP_FIFO_INTERRUPT_LEVEL;
typedef enum
{
DISP_INT_NONE = 0,
DISP_INT_FRAME = 1<<0,
DISP_INT_FIFO = 1<<1,
DISP_INT_I80 = 1<<2
} DISP_INTERRUPT;
typedef enum
{
DISP_V_VSYNC = 0,
DISP_V_BACKPORCH,
DISP_V_ACTIVE,
DISP_V_FRONTPORCH
} DISP_VERTICAL_STATUS;
typedef enum
{
DISP_H_HSYNC = 0,
DISP_H_BACKPORCH,
DISP_H_ACTIVE,
DISP_H_FRONTPORCH
} DISP_HORIZONTAL_STATUS;
typedef enum
{
DISP_SUCCESS,
DISP_ERROR_NULL_PARAMETER,
DISP_ERROR_ILLEGAL_PARAMETER,
DISP_ERROR_NOT_INITIALIZED,
DISP_ERROR_NOT_IMPLEMENTED,
DISP_ERROR_XXX
} DISP_ERROR;
DISP_ERROR Disp_initialize_register_address(void *pDispConReg, void *pMSMIFReg, void *pGPIOReg);
DISP_ERROR Disp_set_output_device_information(DISP_OUT_DEV_TYPE DevType);
DISP_ERROR Disp_initialize_output_interface(DISP_VIDOUT_MODE VidoutMode);
DISP_ERROR Disp_set_window_mode(DISP_WINDOW_MODE Mode, DISP_BPP_MODE BPPMode, unsigned int uiWidth, unsigned int uiHeight, unsigned int uiOffsetX, unsigned int uiOffsetY);
DISP_ERROR Disp_set_window_position(DISP_WINDOW Win, unsigned int uiOffsetX, unsigned int uiOffsetY);
DISP_ERROR Disp_set_framebuffer(DISP_WINDOW Win, unsigned int uiFrameBufferAddress);
DISP_ERROR Disp_envid_onoff(DISP_ENVID_ONOFF EnvidOnOff);
DISP_ERROR Disp_window_onfoff(DISP_WINDOW Win, DISP_WINDOW_ONOFF WinOnOff);
DISP_WINDOW_ONOFF Disp_get_window_status(DISP_WINDOW Win);
DISP_ERROR Disp_set_dithering_mode(DISP_DITHER_MODE Mode);
DISP_ERROR Disp_set_window_color_map(DISP_WINDOW Win, BOOL bOnOff, unsigned int uiColorValue);
DISP_ERROR Disp_set_color_key(DISP_WINDOW Win, BOOL bOnOff, DISP_COLOR_KEY_DIRECTION Direction, unsigned int uiColorKey, unsigned int uiComparekey);
DISP_ERROR Disp_set_alpha_blending(DISP_WINDOW Win, DISP_ALPHA_BLEND_METHOD Method, unsigned int uiAlphaSet0, unsigned int uiAlphaSet1);
DISP_ERROR Disp_set_frame_interrupt(DISP_FRAME_INTERRUPT FrameInt);
DISP_ERROR Disp_enable_frame_interrupt(void);
DISP_ERROR Disp_disable_frame_interrupt(void);
DISP_ERROR Disp_set_fifo_interrupt(DISP_WINDOW Win, DISP_FIFO_INTERRUPT_LEVEL Level);
DISP_ERROR Disp_enable_fifo_interrupt(void);
DISP_ERROR Disp_disable_fifo_interrupt(void);
DISP_INTERRUPT Disp_clear_interrupt_pending(void);
unsigned int Disp_get_line_count(void);
DISP_VERTICAL_STATUS Disp_get_vertical_status(void);
DISP_HORIZONTAL_STATUS Disp_get_horizontal_status(void);
static DISP_ERROR Disp_initialize_port_RGBIF(DISP_RGBIFOUT_MODE RGBOutMode);
static DISP_ERROR Disp_initialize_RGBIF(void);
static DISP_ERROR Disp_initialize_RGBIF_withTVEnc(void);
static DISP_ERROR Disp_initialize_TVEnc(void);
static DISP_ERROR Disp_window0_initialize(DISP_WINDOW_MODE Mode, DISP_BPP_MODE BPPMode, unsigned int uiWidth, unsigned int uiHeight, unsigned int uiOffsetX, unsigned int uiOffsetY);
static DISP_ERROR Disp_window1_initialize(DISP_WINDOW_MODE Mode, DISP_BPP_MODE BPPMode, unsigned int uiWidth, unsigned int uiHeight, unsigned int uiOffsetX, unsigned int uiOffsetY);
static DISP_ERROR Disp_window2_initialize(DISP_WINDOW_MODE Mode, DISP_BPP_MODE BPPMode, unsigned int uiWidth, unsigned int uiHeight, unsigned int uiOffsetX, unsigned int uiOffsetY);
static DISP_ERROR Disp_window3_initialize(DISP_WINDOW_MODE Mode, DISP_BPP_MODE BPPMode, unsigned int uiWidth, unsigned int uiHeight, unsigned int uiOffsetX, unsigned int uiOffsetY);
static DISP_ERROR Disp_window4_initialize(DISP_WINDOW_MODE Mode, DISP_BPP_MODE BPPMode, unsigned int uiWidth, unsigned int uiHeight, unsigned int uiOffsetX, unsigned int uiOffsetY);
static BOOL Disp_get_vclk_direction_divider(unsigned int CLKSrc, unsigned int *ClkDir, unsigned int *ClkDiv);
static BOOL Disp_get_vclk_direction_divider_forTVEnc(unsigned int CLKSrc, unsigned int *ClkDir, unsigned int *ClkDiv);
#if __cplusplus
}
#endif
#endif // __S3C6400_DISPLAY_CON_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -