📄 panel.h
字号:
#define PANEL_MPLL_LOOP_DIV2 (PANEL_LPLL_MM << 1)
//OutputClk = XTAL * MM * (524288 * LM * K / SET * A)
// XTAL= external XTAL, 14.318MHz
// MM = LPLL diver LM, the recommended value is 8
// K = LPLL divder K, recommended setting is 1
// SET = LPLL divider SEET
// A = LPLL divider A, if output is LVDS signal channel, A= 7
// LVDS dual channel, A= 3.5
// RSDS/TTL, A = 4
#define PANEL_LPLL_MM (((U32) 215000+(U32)MST_XTAL_CLOCK_KHZ/2)/(U32)MST_XTAL_CLOCK_KHZ)
#define PANEL_LPLL_LM (1<<PANEL_LPLL_LOOP_DIV_1st)
#define PANEL_LPLL_K (PANEL_LPLL_LOOP_DIV_2nd)
#if (PANEL_LVDS)
#if (PANEL_DUAL_PORT)
#define PANEL_LPLL_A 3.5
#else
#define PANEL_LPLL_A 7
#endif
#elif (PANEL_DTCON)
#define PANEL_LPLL_A 7
#elif (PANEL_ATCON)
#define PANEL_LPLL_A 7
#elif (PANEL_TTL)
#define PANEL_LPLL_A 4
#elif (PANEL_RSDS)
#define PANEL_LPLL_A 4
#else
#define PANEL_LPLL_A 1
#endif
*/
//
// TCON setting, not every panel have it,
// so we add redundant define here to let compile ok
//
#ifndef SET_PTC_MODE1
#define SET_PTC_MODE1 0
#endif
#ifndef SET_PTC_MODE2
#define SET_PTC_MODE2 0
#endif
#ifndef SET_PTC_MODE3
#define SET_PTC_MODE3 0
#endif
#ifndef SET_FRP_TRAN
#define SET_FRP_TRAN 0
#endif
#ifndef SET_STH_START
#define SET_STH_START 0
#endif
#ifndef SET_STH_WIDTH
#define SET_STH_WIDTH 0
#endif
#ifndef SET_OEH_START
#define SET_OEH_START 0
#endif
#ifndef SET_OEH_WIDTH
#define SET_OEH_WIDTH 0
#endif
#ifndef SET_OEV_START
#define SET_OEV_START 0
#endif
#ifndef SET_OEV_WIDTH
#define SET_OEV_WIDTH 0
#endif
#ifndef SET_CKV_START
#define SET_CKV_START 0
#endif
#ifndef SET_CKV_START2
#define SET_CKV_START2 0
#endif
#ifndef SET_CKV_WIDTH
#define SET_CKV_WIDTH 0
#endif
#ifndef SET_STV_LINE_TH
#define SET_STV_LINE_TH 0
#endif
#ifndef SET_STV_START
#define SET_STV_START 0
#endif
#ifndef SET_STV_WIDTH
#define SET_STV_WIDTH 0
#endif
#ifndef SET_OEV2_START
#define SET_OEV2_START 0
#endif
#ifndef SET_OEV3_START
#define SET_OEV3_START 0
#endif
#ifndef SET_H_ST_DLY_L
#define SET_H_ST_DLY_L 0
#endif
#ifndef SET_H_ST_DLY_H
#define SET_H_ST_DLY_H 0
#endif
#ifndef SET_CLK_DLY_SYNC_OUT
#define SET_CLK_DLY_SYNC_OUT 0
#endif
#ifndef SET_CKV_END2
#define SET_CKV_END2 0
#endif
#ifndef SET_Q1H
#define SET_Q1H 0
#endif
#ifndef SET_OEV2_WIDTH
#define SET_OEV2_WIDTH 0
#endif
#ifndef SET_OEV3_WIDTH
#define SET_OEV3_WIDTH 0
#endif
#ifndef SET_OEV_DELTA
#define SET_OEV_DELTA 0
#endif
#ifndef SET_DTCON_OEN
#define SET_DTCON_OEN 0
#endif
#ifndef SET_DTCON_SEL
#define SET_DTCON_SEL 0
#endif
// Every panel must have his own PanelFineTune()
// The function will be called after mode change successfully
//extern void PanelFineTune();
#if 0
extern code short tSRGB[3][3];
extern code short tDefaultColorCorrectionMatrix[3][3];
extern code short tHDTVColorCorrectionMatrix[3][3];
extern code short tSDTVColorCorrectionMatrix[3][3];
extern code short tATVColorCorrectionMatrix[3][3];
extern code short tVideoColorCorrectionMatrix[3][3];
extern code short tYPbPrColorCorrectionMatrix[3][3];
#endif
extern BYTE code tDefaultDlcCurveTbl[];
extern BYTE code tTestDlcCurveTbl[];
#if (KEEP_UNUSED_FUNC == 1)
extern U8 * pnlGetPanelName(void);
extern U8 pnlGetVSyncWidth(void);
extern U16 pnlGetMaxHTotal(void);
extern U16 pnlGetMinHTotal(void);
extern U16 pnlGetMaxVTotal(void);
extern U16 pnlGetMinVTotal(void);
extern U8 pnlGetMaxDCLK(void);
extern U8 pnlGetMinDCLK(void);
extern U16 devPanel_LetterBoxHEIGHT(void);
#endif
extern BOOLEAN pnlGetDitherEnable();
extern PANEL_LINK_TYPE pnlGetLinkType(void);
extern BOOLEAN pnlGetDualPortEnable(void);
extern BOOLEAN pnlGetSwapPortEnable(void);
extern BOOLEAN pnlGetSwapOddMLEnable(void);
extern BOOLEAN pnlGetSwapEvenMLEnable(void);
extern BOOLEAN pnlGetSwapOddRBEnable(void);
extern BOOLEAN pnlGetSwapEvenRBEnable(void);
extern BOOLEAN pnlGetSwapLvdsPolEnable(void);
extern BOOLEAN pnlGetSwapLvdsChEnable(void);
extern BOOLEAN pnlGetLvdsTiModeEnable(void);
extern BOOLEAN pnlGetDeinterModeEnable(void);
extern U8 pnlGetDCLKDelayEnable(void);
extern BOOLEAN pnlGetInvDCLKEnable(void);
extern BOOLEAN pnlGetInvDEEnable(void);
extern BOOLEAN pnlGetInvHSyncEnable(void);
extern BOOLEAN pnlGetInvVSyncEnable(void);
extern U8 pnlGetDCKLCurrent(void);
extern U8 pnlGetDECurrent(void);
extern U8 pnlGetODDDataCurrent(void);
extern U8 pnlGetEvenDataCurrent(void);
extern U16 pnlGetOnTiming1(void);
extern U16 pnlGetOnTiming2(void);
extern U16 pnlGetOffTiming1(void);
extern U16 pnlGetOffTiming2(void);
extern U8 pnlGetHSyncWidth(void);
extern U8 devPanel_Get_HSYNC_BACK_PORCH(void);
extern U8 devPanel_Get_VSYNC_BACK_PORCH(void);
extern U16 devPanel_HSTART(void);
extern U16 devPanel_VSTART(void);
extern U16 devPanel_WIDTH(void);
extern U16 devPanel_HEIGHT(void);
extern U16 devPanel_HTOTAL(void);
extern U16 devPanel_VTOTAL(void);
extern U8 pnlGetDCLK(void);
extern U16 pnlGetSpreadSpectrumStep(void);
extern U16 pnlGetSpreadSpectrumSpan(void);
//extern BOOLEAN devPanel_IsTTL(void);
//extern BOOLEAN devPanel_IsLVDS(void);
//extern BOOLEAN devPanel_IsTCON(void);
//extern BOOLEAN devPanel_Is_ANALOG_TCON(void);
//extern BOOLEAN devPanel_Is_DUAL_PORT(void);
//extern BOOLEAN devPanel_Is_SWAP_ODD_ML(void);
//extern BOOLEAN devPanel_Is_SWAP_EVEN_ML(void);
//extern BOOLEAN devPanel_Is_PANEL_DITHER(void);
//extern U16 devPanel_Get_PANEL_ON_TIMING1(void);
//extern U16 devPanel_Get_PANEL_ON_TIMING2(void);
//extern U16 devPanel_Get_PANEL_OFF_TIMING1(void);
//extern U16 devPanel_Get_PANEL_OFF_TIMING2(void);
//extern U8 devPanel_Get_HSYNC_BACK_PORCH(void);
//extern U8 devPanel_Get_VSYNC_BACK_PORCH(void);
//extern U16 devPanel_HSTART(void);
//extern U16 devPanel_VSTART(void);
//extern U16 devPanel_WIDTH(void);
//extern U16 devPanel_HEIGHT(void);
//extern U16 devPanel_HTOTAL(void);
//extern U16 devPanel_VTOTAL(void);
//extern U8 devPanel_DCLK(void);
//extern U8 devPanel_Max_DCLK(void);
//extern U8 devPanel_Min_DCLK(void);
extern U8 devPanel_PANEL_TYPE(void);
extern void devPanel_InitGammaTbl(void);
typedef enum
{
PNL_AU17EN05,
}PANEL_MODE_SELECT;
extern U16 devPanel_MaxVTOTAL(void);
extern U16 devPanel_MinHTOTAL(void);
extern U8 devPanel_LockYLine(void);
extern BOOLEAN devPanel_IsLVDS(void);
extern BOOLEAN devPanel_IsTTL(void);
extern BOOLEAN devPanel_IsTCON(void);
extern BOOLEAN devPanel_Is_ANALOG_TCON(void);
extern U16 devPanel_DE_VSTART(void);
extern U16 devPanel_OCTRL(void);
extern U16 devPanel_OSTRL(void);
extern U8 devPanel_ODRV (void);
extern U16 devPanel_DITHCTRL(void);
extern BOOLEAN devPanel_IsWidePanel(void);
/*-- cc.cen: form Venus --*/
extern BOOLEAN devPanel_Is_DUAL_PORT(void);
extern BOOLEAN devPanel_Is_ChannelSwap(void);
extern U32 devPanel_DClkFactor(void);
extern U8 devPanel_DCLK(void);
extern U8 devPanel_Max_DCLK(void);
extern U8 devPanel_Min_DCLK(void);
extern code BYTE tNormalGammaR[];
extern code BYTE tNormalGammaR_2[];
extern code BYTE tNormalGammaG[];
extern code BYTE tNormalGammaG_2[];
extern code BYTE tNormalGammaB[];
extern code BYTE tNormalGammaB_2[];
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -