⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pnl_pvi10_at.h

📁 MST726驱动TFT屏程序,源代码!很好的资料
💻 H
📖 第 1 页 / 共 2 页
字号:
/******************************************************************************
 Copyright (c) 2006 MStar Semiconductor, Inc.
 All rights reserved.

 [Module Name]: Pnl_PVI10_AT.h
 [Date]:        30-Apr-2006
 [Comment]: 已经在新盈的平台点过此PANEL的AV and SV OK //nelson
 Panel parameters.[PW100XU1] 640x480
 [Reversion History]:
*******************************************************************************/
#include "ms_reg.h"

#ifndef _PNL_PVI10_H_
#define _PNL_PVI10_H_

#include "devvd.h"

#define PanelName	"PnlPVI10"
#define WidePanel	1

#define PANEL_DOT_WIDTH		107		// unit: um
#define PANEL_DOT_HEIGHT	       370		// unit: um

#define PanelDither		    6

#define PANEL_TTL		    0
#define PANEL_DIGITAL_TCON  0
#define PANEL_ANALOG_TCON	1

#define PanelSwapRB			0
#define PanelSwap8BitML		0
#define PanelSwap6BitML		0

#define PanelDClkDelay		0
#define PanelInvDE		    0
#define PanelInvDClk		0
#define PanelInvHSync		0
#define PanelInvVSync		0

// driving current setting 0==>4mA, 1==>6mA, 2==>8mA ,3==>12mA
#define PanelDCLKCurrent    	1 // Dclk current
#define PanelDECurrent		1 // DE signal current
#define PANELHSCURRENT	   	1 // HSYNC current
#define PANELVSCURRENT	   	1 // VSYNC current
#define PANELBMCURRENT	   	1 // B data High-Nibble current
#define PANELBLCURRENT	   	1 // B data Low-Nibble current
#define PANELGMCURRENT	   	1 // G data High-Nibble current
#define PANELGLCURRENT	   	1 // G data Low-Nibble current
#define PANELRMCURRENT	   	1 // R data High-Nibble current
#define PANELRLCURRENT	   	1 // R data Low-Nibble current
#define PANELADCLKCURRENT	1 // Analog Panel DCLK current

#define PanelOnTiming1		200 // time between panel & data while turn on power
#define PanelOnTiming2		200 // time between data & back light while turn on power
#define PanelOffTiming1		20 // time between back light & data while turn off power
#define PanelOffTiming2		20 // time between data & panel while turn off power

#define PanelHSyncWidth		0x09 //0x3F  //20
#define PanelHSyncBackPorch	0x12  //39

#define PanelVSyncWidth		 6
#define PanelVSyncBackPorch	 24

#define PANEL_DE_VSTART	0
#define PanelHStart		(PanelHSyncWidth+PanelHSyncBackPorch)
#define PanelVStart		(PanelVSyncWidth+PanelVSyncBackPorch)
#define PanelWidth		640//+26   //480
#define PanelHeight		240//+1  // 496  //480  //234
#define PanelHTotal		800
#define PanelVTotal		320  //600  //270

#define PanelVdeEnd     PanelHeight+5
#define PanelVSiEnd     PanelHeight+5

#define PanelMinHTotal		700 //700//1420//1600
#define PanelDCLK			12//(((DWORD)PanelHTotal*PanelVTotal*60)/1000000/3)

///////////////////////////////////////////////////////
// TCON setting
///////////////////////////////////////////////////////

// PTC Mode setting
#define SET_PTC_MODE1		0xBD  //0x8E	// PTC_MODE1(0xD0)
#define SET_PTC_MODE2_NOR		0x46  //0x3E	// BK1_D1_PTC_MODE2(0xD1) ORG:0x18
#define SET_PTC_MODE2_INV		0x49	// BK1_D1_PTC_MODE2(0xD1) ORG:0x18
#define SET_PTC_MODE3		0x86 //0x81	// PTC_MODE3(0xD2)

// PTC Timming Setting
#define SET_FRP_TRAN		0x13	// GPO_FRP_TRAN(0xDC)
#define SET_STH_START		0x2D 	// GPO_STH_START(0xDD) ORG:0x2C
#define SET_STH_WIDTH		0x01	// GPO_STH_WIDTH(0xDE)
#define SET_OEH_START		0xA8  	// GPO_OEH_START(0xDF)
#define SET_OEH_WIDTH		0x0B	// GPO_OEH_WIDTH(0xE0)
#define SET_OEV_START		0x03	// GPO_OEV_START(0xE1)
#define SET_OEV_WIDTH		0x2A 	// GPO_OEV_WIDTH(0xE2)
#define SET_CKV_START		0x28	// GPO_CKV_START(0xE3)
#define SET_CKV_START2		0x5F  	// GPO_CKV_START2(0xE4)
#define SET_CKV_WIDTH		0x30 	// GPO_CKV_WIDTH(0xE5)
#define SET_STV_LINE_TH		0x01 	// GPO_STV_LINE_TH(0xE6)
#define SET_STV_START		0x1F 	// GPO_STV_START(0xE7)
#define SET_STV_WIDTH		0x02 	// GPO_STV_WIDTH(0xE8)
#define SET_OEV2_START		0x04	// GPO_OEV2_START(0xE9)
#define SET_OEV3_START		0x04	// GPO_OEV3_START(0xEA)
#define SET_H_ST_DLY_L		0x04	// H_ST_DLY_L(0xEB)
#define SET_H_ST_DLY_H		0x14  //0xA4	// H_ST_DLY_H(0xEC)
#define SET_CLK_DLY_SYNC_OUT	0x00	// CLK_DLY_SYNC_OUT(0xED)
#define SET_CKV_END2		0xE4 //0x28	// GPO_CKV_END2(0xEE)
#define SET_Q1H 			       0x00	// Q1H_SETTING(0xEF)


#define SET_OEV2_WIDTH		0x54	// GPO_OEV2_WIDTH(0xCD)
#define SET_OEV3_WIDTH		0x54	// GPO_OEV3_WIDTH(0xCE)
#define SET_OEV_DELTA		0x54	// GPO_OEV_DELTA(0xCF)

// VCOM setting
#define SET_BVOM_DC		0x98 //0xA0//0xE1//0x7C	//0xA0	//DEF_VCOM_DC	// BVOM_DC(0x43)
#define SET_BVOM_OUT		0x88 //0xBA//0x72	//0x80	//DEF_VCOM_AC	// BVOM_OUT(0x44)

// DAC setting
#define SET_VDAC_ADJ1		0x05	// VADC_ADJ1(0xAA)
#define SET_VDAC_ADJ2		0x00	// VDAC_ADJ2(0xAB)
// Video decoder
#define _656_PLL_VALUE		0x67	//BK2_9D_DPL_NSPL_HIGH
#if (MST_CHIP==MST710A)				//BK0_10_COCTRL1
#define COCTRL1_VALUE 		0xA0
#else
#define COCTRL1_VALUE 		0x20
#endif

#define SVD_EN_VALUE0		0x40	//BK2_1A_SVD_EN

#define BK1_7B_TERM_SEL_VALUE		0xE4
#define BK1_7C_CROING_VALUE	       0x64

#define PANEL_SYNC_MODE_1   0
#define ENABLE_VSYNC_CTL_AUTO_H_TOTAL   0
#define ENABLE_CHECK_AUTO_H_TOTAL           0

#define ENABLE_OVER_SCAN             1
#define VD_OVER_SCAN_H                 50 // 1.0%
#define VD_OVER_SCAN_V                 30 // 1.0%

#define BK0_03_SYNC_Sample_Edge    0x98

#ifdef _VDCaptureSetting_
code _CaptureVideoWinType tMsVDCapture[SIG_NUMS] = // For internal VD
{
    {0x33, 0x0B, PanelWidth+86,     480}, // NSTC
    {0x33, 0x0F, PanelWidth+91,     576}, // PAL
    {0x3c, 0x0A, PanelWidth,     576}, // SECAM
    {0x79, 0x05, PanelWidth,     480}, // NTSC-443
    {0x79, 0x05, PanelWidth,     480}, // PAL-60
    {0x79, 0x05, PanelWidth,     480}, // PAL-M
    {0x81, 0x0C, PanelWidth,     576}, // PAL-Nc
};

code _CaptureSvideoWinOffsetType tSvideoCaptureOffset[SIG_NUMS] = // For internal VD
{
    {-0x10, 0}, // NSTC
    {-0x10, 0}, // PAL
    {-0x10, 0}, // SECAM
    {-0x10, 0}, // NTSC-443
    {-0x10, 0}, // PAL-60
    {-0x10, 0}, // PAL-M
    {-0x10, 0}, // PAL-Nc
};
#endif

#define FreeRunHTotal       0x31F
#define PalHTotal               0x3BD
#define NtscHTotal            0x319

#ifdef EnableUseModeTbl
RegUnitType code tENDModeTbl[]=
{
 {_END_OF_TBL_,0},
};

RegUnitType code tNtscModeTbl[]=
{//Reg     Vale
 {BK0_00_REGBK,REG_BANK_SCALER},
 {BK0_05_SPRVST_L,0x0E},
 {BK0_07_SPRHST_L,0x47},
 {BK0_09_SPRVDC_L,0xD4},
 {BK0_0A_SPRVDC_H,0x01},
 {BK0_0B_SPRHDC_L,0xDD},
 {BK0_0D_LYL,0x06},
 {BK0_57_OSCTRL1, 0xC6},
 {BK0_25_OPL_SET0,0xB5},
 {BK0_26_OPL_SET1,0x54},
 {BK0_27_OPL_SET2,0x2D},
 {BK0_2B_OPL_SPAN1, 0x80},
 {BK0_30_SRH_L, 0x00},
 {BK0_31_SRH_M,0xA9},
 {BK0_32_SRH_H,0xCF},
 {BK0_33_SRV_L, 0xDF},
 {BK0_34_SRV_M, 0xC4},
 {BK0_35_SRV_H, 0x8F},
 {BK0_36_VDSUSG, 0x11},
 {BK0_40_VFDEST_L, LOBYTE(PANEL_DE_VSTART)},      // vertical DE start
 {BK0_41_VFDEST_H, HIBYTE(PANEL_DE_VSTART)},      // vertical DE start
 {BK0_42_HFDEST_L, 0x3A},
 {BK0_44_VFDEEND_L,0xEA},
 {BK0_45_VFDEEND_H,0x00},
 {BK0_46_HFDEEND_L,0xDD},
 {BK0_48_SIHST_L, 0x3A},
 {BK0_4A_SIVEND_L,0xEC},
 {BK0_4B_SIVEND_H,0x00},
 {BK0_4C_SIHEND_L, 0xDD},
 {BK0_50_VSST_L, 0xEE},  // vsync start position
 {BK0_51_VSST_H, 0x08},
 {BK0_52_VSEND_L, 0xFD},  // vsync start position
 {BK0_53_VSEND_H, 0x00},
 {BK0_54_HDTOT_L,0x19},
 {BK0_55_HDTOT_H, 0x03},
 {BK0_56_HSEND, 0x1F},
 {_END_OF_TBL_, 0x00},
 };

RegUnitType code tPalModeTbl[]=
{//Reg     Vale
 {BK0_00_REGBK,REG_BANK_SCALER},
 {BK0_05_SPRVST_L,0x16},
 {BK0_07_SPRHST_L,0x48},
 {BK0_09_SPRVDC_L,0x30},
 {BK0_0A_SPRVDC_H,0x02},
 //{BK0_0B_SPRHDC_L,0xB7},
 {BK0_0B_SPRHDC_L,0xDD},
 {BK0_0D_LYL,0x06},
 {BK0_57_OSCTRL1, 0xC6},
 {BK0_25_OPL_SET0,0xB5},
 {BK0_26_OPL_SET1,0x54},
 {BK0_27_OPL_SET2,0x3B},
 {BK0_2B_OPL_SPAN1, 0x80},
 {BK0_30_SRH_L, 0x00},
 {BK0_31_SRH_M,0xCE},
 {BK0_32_SRH_H,0xCF},
 {BK0_33_SRV_L, 0xDF},
 {BK0_34_SRV_M, 0xEB},
 {BK0_35_SRV_H, 0x92},
 {BK0_36_VDSUSG, 0x11},
 {BK0_40_VFDEST_L, LOBYTE(PANEL_DE_VSTART)},      // vertical DE start
 {BK0_41_VFDEST_H, HIBYTE(PANEL_DE_VSTART)},      // vertical DE start
 {BK0_42_HFDEST_L, 0x38},
 {BK0_44_VFDEEND_L,0xED},
 {BK0_45_VFDEEND_H,0x00},
 {BK0_46_HFDEEND_L,0xDD},
 {BK0_48_SIHST_L, 0x38},
 {BK0_4A_SIVEND_L,0xED},
 {BK0_4B_SIVEND_H,0x00},
 {BK0_4C_SIHEND_L, 0xDD},
 {BK0_50_VSST_L, 0xEE},  // vsync start position
 {BK0_51_VSST_H, 0x08},
 {BK0_52_VSEND_L, 0xFD},  // vsync start position

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -