📄 pnl_pvi08w_at.h
字号:
/******************************************************************************
Copyright (c) 2003 MStar Semiconductor, Inc.
All rights reserved.
[Module Name]: Pnl_PVI08W_AT.h
[Date]: 25-Jun-2005
[Comment]:
Panel parameters.[PW080XU1] 1440X220
[Reversion History]:
*******************************************************************************/
#ifndef __PVI8W_H
#define __PVI8W_H
///////////////////////////////////////////////
// Common setting
///////////////////////////////////////////////
#define PANEL_NAME "PVI08W_AT"
#define PANEL_DOT_WIDTH 126 // unit: um
#define PANEL_DOT_HEIGHT 429 // unit: um
//////////////////////////////////////////////
// Panel output
//////////////////////////////////////////////
#define PANEL_DITHER 1 // 8/6 bits panel
#define PANEL_LVDS 0
#define PANEL_TTL 0
#define PANEL_TCON 0
#define PANEL_ANALOG_TCON 1
#define PANEL_SWAP_LVDS_POL 0
#define PANEL_SWAP_LVDS_CH 0
#define PANEL_LVDS_TI_MODE 0
#define PANEL_6BIT_OUT 0 // 0/1: 8BIT/6BIT out
#define PANEL_DITHER_ENABLE 1 // 0/1:Enable/Disable
#define PANEL_DITHER_CONTROL 0x0C+(PANEL_6BIT_OUT<<1)+PANEL_DITHER_ENABLE
#define PANEL_SWAP_8BIT_ML 0
#define PANEL_SWAP_6BIT_ML 0
#if (BOARD_TYPE_SEL == BD_DEMO_7988M_IAP)
#define PANEL_SWAP_RB 1
#else
#define PANEL_SWAP_RB 0
#endif
#define PANEL_SWAP_CONTROL (PANEL_SWAP_RB<<2)+(PANEL_SWAP_6BIT_ML<<1)+PANEL_SWAP_8BIT_ML
#define PANEL_DCLK_DELAY 0x0 // Range (0~F)
#define PANEL_INV_DCLK 1 // 1: Invert output DCLK
#define PANEL_INV_DE 0 // 1: Invert output DE
#define PANEL_INV_VSYNC 0 // 1: Invert output VSYNC
#define PANEL_INV_HSYNC 0 // 1: Invert output HSYNC
#define PANEL_SYNC_CONTROL (PANEL_DCLK_DELAY<<4)+(PANEL_INV_DCLK<<3)+(PANEL_INV_DE<<2) \
+(PANEL_INV_VSYNC<<1)+PANEL_INV_HSYNC
// Lock Y line
#define PANEL_LOCK_Y_LINE 0
///////////////////////////////////////////////
// Output tmming setting
///////////////////////////////////////////////
// driving current setting (0x00=4mA, 0x01=6mA, 0x02=8mA, 0x03=12mA)
#define PANEL_DCLK_CURRENT 0x01 // DCLK current
#define PANEL_DE_CURRENT 0x01 // DE signal current
#define PANEL_HS_CURRENT 0x01 // HSYNC current
#define PANEL_VS_CURRENT 0x01 // VSYNC current
#define PANEL_BM_CURRENT 0x01 // B data High-Nibble current
#define PANEL_BL_CURRENT 0x01 // B data Low-Nibble current
#define PANEL_GM_CURRENT 0x01 // G data High-Nibble current
#define PANEL_GL_CURRENT 0x01 // G data Low-Nibble current
#define PANEL_RM_CURRENT 0x01 // R data High-Nibble current
#define PANEL_RL_CURRENT 0x01 // R data Low-Nibble current
#define PANEL_ADCLK_CURRENT 0x01 // Analog Panel DCLK current
#define PANEL_ON_TIMING1 30 // time between panel & data while turn on power
#define PANEL_ON_TIMING2 100 // time between data & back light while turn on power
#define PANEL_OFF_TIMING1 20 // time between back light & data while turn off power
#define PANEL_OFF_TIMING2 20 // time between data & panel while turn off power
#define PANEL_HSYNC_WIDTH 16
#define PANEL_HSYNC_BACK_PORCH 78
#define PANEL_VSYNC_WIDTH 12
#define PANEL_VSYNC_BACK_PORCH 24
#define PANEL_HSTART (PANEL_HSYNC_WIDTH + PANEL_HSYNC_BACK_PORCH)
#define PANEL_VSTART 7//PANEL_VSYNC_WIDTH //(PANEL_VSYNC_WIDTH + PANEL_VSYNC_BACK_PORCH)
#define PANEL_WIDTH 482
#define PANEL_HEIGHT 228
#define PANEL_HTOTAL 680
#define PANEL_VTOTAL 262
#define PANEL_MAX_HTOTAL 876
#define PANEL_MIN_HTOTAL 756
#define PANEL_MAX_VTOTAL 270
#define PANEL_MIN_VTOTAL 254
#define PANEL_DCLK (((DWORD)PANEL_HTOTAL*PANEL_VTOTAL*60)/1000000)
#define PANEL_MAX_DCLK 49
#define PANEL_MIN_DCLK 30
///////////////////////////////////////////////
// Panel color default setting
///////////////////////////////////////////////
#define _COLOR_DEF_CONTRAST 180
#define _COLOR_DEF_SATURATION 180
#define _COLOR_DEF_HUE 50
#define _COLOR_DEF_CB 0x96
#define _COLOR_DEF_CR 0x6A
#define _INIT_VD_SATURATION 0xB6 // for BK3.65h initial setting
#define _INIT_VD_BRT 0x80 //for BK3.64h intial setting
#define _INIT_VD_CON 0x92 //for BK3.63h intial setting
#ifdef _MST7X_C_
BYTE code tPanel_InitialTable[]=
{
0x03, BK0_25_OPL_SET0, // Set output clock (32.5MHz)
0x00, 0x00, 0x37, // BK0_25_OPL_SET0, BK0_26_OPL_SET1, BK0_27_OPL_SET2
0x01, BK0_36_VDSUSG,
0x10, // BK0_36_VDSUSG
0x17, BK0_40_VFDEST_L,
LOBYTE(PANEL_VSTART), // VFDEST [41:40]
HIBYTE(PANEL_VSTART), // BK0_40_VFDEST_L, BK0_41_VFDEST_H
LOBYTE(PANEL_HSTART), // HFDEST [43:42]
HIBYTE(PANEL_HSTART), // BK0_42_HFDEST_L, BK0_43_HFDEST_H
LOBYTE(PANEL_HEIGHT), // VFDEEND [45:44]
HIBYTE(PANEL_HEIGHT), // BK0_44_VFDEEND_L, BK0_45_VFDEEND_H
LOBYTE(PANEL_HSTART+PANEL_WIDTH-1), // HFDEEND [47:46]
HIBYTE(PANEL_HSTART+PANEL_WIDTH-1), // BK0_46_HFDEEND_L, BK0_47_HFDEEND_H
LOBYTE(PANEL_HSTART), // SIHST [49:48]
HIBYTE(PANEL_HSTART), // BK0_48_SIHST_L, BK0_49_SIHST_H
LOBYTE(PANEL_HEIGHT), // SIVEND [4B:4A]
HIBYTE(PANEL_HEIGHT), // BK0_4A_SIVEND_L, BK0_4B_SIVEND_H
LOBYTE(PANEL_HSTART+PANEL_WIDTH-1), // SIHEND [4D:4C]
HIBYTE(PANEL_HSTART+PANEL_WIDTH-1), // BK0_4C_SIHEND_L, BK0_4D_SIHEND_H
LOBYTE(PANEL_VTOTAL), // VDTOT [4F:4E]
HIBYTE(PANEL_VTOTAL), // BK0_4E_VDTOT_L, BK0_4F_VDTOT_H
// BK0_50_VSST_L, BK0_51_VSST_H, BK0_52_VSEND_L, BK0_53_VSEND_H
0xEC, //LOBYTE(PANEL_VTOTAL-PANEL_VSTART), // VSST [51:50]
0x08, //HIBYTE(PANEL_VTOTAL-PANEL_VSTART),
0xFE, //LOBYTE(PANEL_VTOTAL-PANEL_VSYNC_WIDTH-PANEL_VSYNC_BACK_PORCH), // VSEND [53:52]
0x00, //HIBYTE(PANEL_VTOTAL-PANEL_VSYNC_WIDTH-PANEL_VSYNC_BACK_PORCH),
LOBYTE(PANEL_HTOTAL-1), // HDTOT [55:54]
HIBYTE(PANEL_HTOTAL-1), // BK0_54_HDTOT_L, BK0_55_HDTOT_H
PANEL_HSYNC_WIDTH, // BK0_56_HSEND
0x02, BK0_60_DITHCTRL,
PANEL_DITHER_CONTROL, // BK0_60_DITHCTRL
0x2D, // BK0_61_DITHCOEF
0x01, BK0_86_FNTN_TEST,
PANEL_SWAP_CONTROL, // BK0_86_FNTN_TEST
0x01, BK0_B1_SYNC_CONTROL,
PANEL_SYNC_CONTROL, // BK0_B1_SYNC_CONTROL
-1,
};
// ************ ACE setting start ****************
BYTE code tMsACETable[]=
{
1, GEN_00_REGBK, // select register bank ADC
REGBANKADC, // GEN_00_REGBK
// MACE setting start
// lpf 9 tap 0x50
5, BK1_50_LPF_TAP1,
0x7E, 0x04, // BK1_50_LPF_TAP1, BK1_51_LPF_TAP2
0x3C, 0x04, // BK1_52_LPF_TAP3, BK1_53_LPF_TAP4
0x1C, // BK1_54_LPF_TAP5
// wle and ble (enable) 0x7F 0x80
2, BK1_7F_MAX_PIX,
0xFA, 0x08, // BK1_7F_MAX_PIX, BK1_80_MIN_PIX
// 0x7e 03 to 02 jordan0608 solve vetical line disable white peaking
1, BK1_7E_VIP_Y_CTRL,
0x03, // BK1_7E_VIP_Y_CTRL
// fcc 0x56-0x76
33, BK1_56_FCC_CB_1T,
0x73, 0x98, 0x6E, 0xAC, 0x9D, 0x6B, 0x5A, 0x9A, // BK1_56, BK1_57, BK1_58, BK1_59, BK1_5A, BK1_5B, BK1_5C, BK1_5D,
0x5D, 0x86, 0xB0, 0x48, 0x64, 0xC8, 0x80, 0x80, // BK1_5E, BK1_5F, BK1_60, BK1_61, BK1_62, BK1_63, BK1_64, BK1_65,
0x80, 0x80, 0xB2, 0xBA, 0xFB, 0x73, 0xFB, 0xFB, // BK1_66, BK1_67, BK1_68, BK1_69, BK1_6A, BK1_6B, BK1_6C, BK1_6D,
0xFF, 0x6A, 0x00, 0xFF, 0x20, 0x88, 0xE8, 0x85, // BK1_6E, BK1_6F, BK1_70, BK1_71, BK1_72, BK1_73, BK1_74, BK1_75,
0x0D, // BK1_76,
// lpf + (diff peak) 0x88
1, BK1_88_YC_LPF,
0x10, // BK1_88_YC_LPF
// band 1 0x78
1, BK1_78_PEAK_BAND1,
0xB0, // BK1_78_PEAK_BAND1 //20050712 David, Kevin
2, BK1_81_EGE_BAND1_POS,
0x10, 0x30, // BK1_81_EGE_BAND1_POS, BK1_82_EGE_BAND1_NEG
// band 2 0x79
1, BK1_79_PEAK_BAND2,
0x5F, // BK1_79_PEAK_BAND2
2, BK1_83_EGE_BAND2_POS,
0x04, 0x10, // BK1_83_EGE_BAND2_POS, BK1_84_EGE_BAND2_NEG
// lti 0x7a
1, BK1_7A_LTI,
0xE3, // BK1_7A_LTI //20050712 David, Kevin
2, BK1_86_EGE_LTI_POS,
0x00, 0x00, // BK1_86_EGE_LTI_POS, BK1_87_EGE_LTI_NEG
3, BK1_7B_TERM_SEL,
0xB5, // mix term BK1_7B_TERM_SEL
0x84, // coring BK1_7C_CROING
0xBF, // cti BK1_7D_CTI
// enable cti_med cti lti_med lti peak lpftap (csc) 0x77
1, BK1_77_APP_CTRL,
0x3E, // BK1_77_APP_CTRL //20050712 David, Kevin
//bri_YPbPr 0x85
1, BK1_85_M_BRI, // 0xE0 for Mode1_CSC_Bypass "1110b"
0xD6, // BK1_85_M_BRI //20050712 David, Kevin
// MACE setting end
1, GEN_00_REGBK, // select register bank scaler
REGBANKSCALER, // GEN_00_REGBK
-1,
};
BYTE code tGammaTableNormal[3][33]=
{
//20050712 modify by David, Kevin
/* {
0x00,0x01,0x03,0x05,0x08,0x0C,0x10,0x16,0x1C,0x24,0x33,
0x44,0x56,0x66,0x76,0x85,0x92,0x9E,0xA9,0xB2,0xBB,0xC3,
0xCB,0xD3,0xDB,0xE2,0xE8,0xEC,0xF0,0xF3,0xF7,0xFA,0xFF,
},
{
0x00,0x01,0x03,0x05,0x08,0x0C,0x10,0x16,0x1C,0x24,0x33,
0x44,0x56,0x66,0x76,0x85,0x92,0x9E,0xA9,0xB2,0xBB,0xC3,
0xCB,0xD3,0xDB,0xE2,0xE8,0xEC,0xF0,0xF3,0xF7,0xFA,0xFF,
},
{
0x00,0x01,0x03,0x05,0x08,0x0C,0x10,0x16,0x1C,0x24,0x33,
0x44,0x56,0x66,0x76,0x85,0x92,0x9E,0xA9,0xB2,0xBB,0xC3,
0xCB,0xD3,0xDB,0xE2,0xE8,0xEC,0xF0,0xF3,0xF7,0xFA,0xFF,
},
*/
{
0x00,0x02,0x0B,0x16,0x23,0x2E,0x39,0x46,0x52,0x60,0x6C,
0x78,0x83,0x8C,0x93,0x9B,0xA2,0xA9,0xB0,0xB6,0xBD,0xC3,
0xC9,0xCE,0xD4,0xD9,0xDE,0xE3,0xE9,0xEE,0xF3,0xF9,0xFF,
},
{
0x00,0x02,0x0B,0x16,0x23,0x2E,0x39,0x46,0x52,0x60,0x6C,
0x78,0x83,0x8C,0x93,0x9B,0xA2,0xA9,0xB0,0xB6,0xBD,0xC3,
0xC9,0xCE,0xD4,0xD9,0xDE,0xE3,0xE9,0xEE,0xF3,0xF9,0xFF,
},
{
0x00,0x02,0x0B,0x16,0x23,0x2E,0x39,0x46,0x52,0x60,0x6C,
0x78,0x83,0x8C,0x93,0x9B,0xA2,0xA9,0xB0,0xB6,0xBD,0xC3,
0xC9,0xCE,0xD4,0xD9,0xDE,0xE3,0xE9,0xEE,0xF3,0xF9,0xFF,
},
};
short code tVideoColorCorrectionMatrix[][3]=
{
/*/20050712 modify by David, Kevin
0x0473,-0x0052,-0x0012, 0x004E, 0x03FD,-0x0056,-0x00CD, 0x0055,
0x0479,-0x69AB, 0xC51B,-0x7012, 0x79D9,-0x5F77, 0xB378,-0xC735,
-0xF17A, 0x019E, 0xFA6E,-0x3A74, 0x8687, 0xBFA6,-0x2A80, 0x8B4C,
-0x87AF, 0x0EE4,-0xB468, 0x40CF,-0xE895, 0xE607,-0x6C93, 0x2422,
*/
0x0400,-0x0020, 0x001F, 0x006A, 0x0396, 0x0000,-0x008C, 0x0087,
0x0404,-0x69AB, 0xC51B,-0x7012, 0x79D9,-0x5F77, 0xB378,-0xC735,
-0xF17A, 0x019E, 0xFA6E,-0x3A74, 0x8687, 0xBFA6,-0x2A80, 0x8B4C,
-0x87AF, 0x0EE4,-0xB468, 0x40CF,-0xE895, 0xE607,-0x6C93, 0x2422,
};
//**************************************************************************
#else // _MST7X_C_
extern BYTE code tMsACETable[];
extern BYTE code tGammaTableNormal[3][33];
extern short code tVideoColorCorrectionMatrix[][3];
#endif //_MST7X_C_
#ifdef _SYNC_C_
/****************************** CVBS Timing Table ****************************/
BYTE code tSyncCVBSNTSCTable[] =
{
1, GEN_00_REGBK, // select register bank scaler
REGBANKSCALER,
//20050921 (set bit3 to avoid BK0_1D produce wrong message for VCR)
1, BK0_03_IPCTRL2, // Set Capture
0x88, // BK0_03_IPCTRL2,
#if DEMODULELATOR_MODE
9, BK0_05_SPRVST_L, // Set Capture
// 0x21, 0x00,
0x05, 0x00, // BK0_05_SPRVST_L, BK0_06_SPRVST_H //20050921 To complement V-shift due to set the BK0_03[3]
0x5F, 0x00,
0xE4, 0x01,
0x8B, 0x05,
0x00,
7, BK0_30_SRH_L, // Set H&V scaling rate
0x00, 0x39, 0xC7,
0x00, 0xD0, 0x90, 0x10,
#else
9, BK0_05_SPRVST_L, // Set Capture
0x26, 0x00,
0x5F, 0x00,
0xCC, 0x01,
0x8B, 0x05,
0x00,
7, BK0_30_SRH_L, // Set H&V scaling rate
0x00, 0x39, 0xC7,
0x00, 0x00, 0x90, 0x10,
#endif
-1
};
BYTE code tSyncCVBSPALTable[] =
{
1, GEN_00_REGBK, // select register bank scaler
REGBANKSCALER,
//20050921 (set bit3 to avoid BK0_1D produce wrong message for VCR)
1, BK0_03_IPCTRL2, // Set Capture
0x88, // BK0_03_IPCTRL2,
#if DEMODULELATOR_MODE
9, BK0_05_SPRVST_L, // Set Capture
// 0x23, 0x00,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -