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

📄 panel.c

📁 VC0558 backend IC LCD panel drive program
💻 C
📖 第 1 页 / 共 5 页
字号:
void TrulyInit(void)
{
	UINT8 temp, State = 0;
	UINT16 i;

	V558_CtrlSetGpioCfg(0xff);
	V558_CtrlSetGpioMode(0xff);
	V558_CtrlSetGpioDirection(0x01);

	for(temp = 0; temp < 58; temp++)
	{ 
		if(State)
		{
			V558_CtrlSetGpioData(0x00);
			State = 0;
		}
		else
		{
			State = 1;
			V558_CtrlSetGpioData(0x01);
			for(i = 0; i < 50; i++);
		}
	}
	V558_CtrlSetGpioData(0x01);
}

const V558_PANELREGVALUE Panel_wakefstd[] =
{
	{0x0,	0x01,	10},
	{0x3,	0x0,	10}
};

const V558_PANELREGVALUE Panel_stdby[] =
{
	{0x7,	0x137,	0},
	{0x7,	0x136,	40},
	{0x7,	0x126,	40},
	{0x7,	0x4,	0},
	{0x3,	0x7fd,	0}
};

//static V558_PANELREGVALUE *Panel_wakefs = NULL;
//{
//};

const V558_PANELREGVALUE Panel_sleep[] =
{
	{0x7,	0x137,	0},
	{0x7,	0x136,	20},
	{0x7,	0x126,	20},
	{0x7,	0x4,	0},
	{0x3,	0x7fe,	0}
};

const V558_PANELREGVALUE Panel_powoff[] =
{
	{0x7,	0x136,	20},
	{0x7,	0x126,	20},
	{0x7,	0x4,	0},
	{0x3,	0x7fc,	0}
};

const V558_PANELREGVALUE Panel_powon[] =
{
	{0x7,	0x104,	0},
	{0xd,	0x100,	0},
	{0xe,	0xd18,	20},
	{0x1,	0x113,	0},
	{0x2,	0x700,	0},
	{0x5,	0x1230,	0},
	{0x6,	0x0,	0},
	{0xb,	0x4008,	0},
	{0xc,	0x0,	0},
	{0x3,	0x8,	0},//
	{0x4,	0x0,	20},
	{0xe,	0x2d18,	0},//
	{0xd,	0x110,	20},//
	{0x21,	0x0,	0},
	{0x30,	0x700,	0},
	{0x31,	0x7,	0},
	{0x32,	0x0,	0},
	{0x33,	0x100,	0},
	{0x34,	0x707,	0},
	{0x35,	0x7,	0},
	{0x36,	0x700,	0},
	{0x37,	0x0007,	0},
	{0x0f,	0x0,	0},
	{0x11,	0x0,	0},
	{0x14,	0x5c00,	0},
	{0x15,	0x9f5d,	0},
	{0x16,	0x7f00,	0},
	{0x17,	0x9f00,	0},
	{0x3a,	0x1800,	0},
	{0x3b,	0x7,	5},
	{0x7,	0x105,	0},
	{0x7,	0x125,	0},
	{0x7,	0x127,	0},
	{0x7,	0x137,	0},

	{0x33,	0x707,	0},
	{0x3a,	0x1f00,	0},
	{0x30,	0x700,	0},
	{0x31,	0x707,	0},
	{0x32,	0x700,	0},

	{0x21,	0x0,	0}
};

V558_LCDIFPARM Panel_LcdIF =
{
	{ 128,	160	},		//size
	{0, 0},				//mp
	{0, 0},				//sp
	0x21, 0, 0, 0, 0, 0,	//hsa, hea, hsxa, hsya, hexa, heya
	0xff8c,				//lc
	0x100,				//dpad
	0x460, 0x460,		//wrcycle, rdcycle
	0,					//rsPolarity
	0x0,				//dmap
	1,					//index select
	0x22,				//dispadr
	Truly_128160_16_PANEL,		//paneltype
	0,					//reserve
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma R;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma G;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma B
	{0xff, 0x0, 0x0, 0}
};

const V558_PANELINFO	Panel_Info =
{
	"Truly_128160_16",		//description

	&Panel_LcdIF,

	{sizeof(Panel_powon) / sizeof(V558_PANELREGVALUE), Panel_powon},
	{sizeof(Panel_powoff) / sizeof(V558_PANELREGVALUE), Panel_powoff},
	{sizeof(Panel_sleep) / sizeof(V558_PANELREGVALUE), Panel_sleep},
	{0, NULL },
//	{sizeof(Panel_wakefs) / sizeof(V558_PANELREGVALUE), Panel_wakefs},
	{sizeof(Panel_stdby) / sizeof(V558_PANELREGVALUE), Panel_stdby},
	{sizeof(Panel_wakefstd) / sizeof(V558_PANELREGVALUE), Panel_wakefstd},
	V558_LcdPanelSetReg,
	TrulyInit
//	NULL
};
const V558_PANELWRITEINFO SubPanel_WriteType=
{
	Low8,
	RegRsHigh8,
	Lcd_Multi8
};

const V558_PANELREGVALUE SubPanel_powon[] =
{	
	{0xd1,  0,   	0},
	{0x20,  0xb,	10},
	
	{0x81,  0x20,   	0},
	{0xffff,	6,    	0},
	
	{0x94,	0,	0},

	{0xfb,	0x03,	0},

	{0xf7,	0x28,	0},
	{0xffff,	0x2e,	0},
	{0xffff,	0x5,	0},
	
	{0xf2,	0x08,	0},
	{0xffff, 0x06,	0},

	{0xbc,	0x3,	0},
	{0xffff,	0x0,	0},
	{0xffff,	0x02,	0},
	
	{0x15,	0x0,	0},
	{0xffff,	0x2f,	0},
	
	{0x75,	0,	0},
	{0xffff,	0x3f,	0},

	{0xbb,	0x1,	0},
	
	{0xca,	0,	0},
	{0xffff,	0xf,	0},
	{0xffff,	0,	0},
		
	{0xa2,	0,	0},
	{0xa7,	0,	0},
	{0xaf,	0,	0}	
};
V558_LCDIFPARM SubPanel_LcdIF =
{
	{ 96,	64},	//size
	{0x0, 0x04},			//mp
	{0, 0},			//sp
	0x15, 0x75, 0, 0, 0, 0,	//hsa, hea, hsxa, hsya, hexa, heya
	0xd08c,			//lc
	0x100,			//dpad
	0x880, 0x460,		//wrcycle, rdcycle
	0,					//rsPolarity
	0x0c,				//dmap		
	0x1,			//index select
	0x5c,			//dispadr
	0,			//paneltype
	0,			//reserve
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma R;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma G;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma B
	{0xff, 0x0, 0x0, 0}		//background color
};
const V558_PANELINFO	SlavePanel_Info=
{
	"truly_128160_ssd1788",		//description

	&SubPanel_LcdIF,
	{sizeof(SubPanel_powon) / sizeof(V558_PANELREGVALUE),SubPanel_powon},
	{0, NULL},
	{0, NULL},
	{0, NULL},
	{0, NULL},
	{0, NULL},

	V558_LcdSubPanelSetReg,
	NULL

};

#endif



#if	BYD_128160
const V558_PANELWRITEINFO Panel_WriteType=
{
	0,
	(UINT8)RegRsHigh16,
	(UINT8)Lcd_Multi16
};
const V558_PANELREGVALUE Panel_wakefstd[] =
{
	{0x0,	0x01,	10},
	{0x3,	0x0,	10}
};

const V558_PANELREGVALUE Panel_stdby[] =
{
	{0x7,	0x137,	0},
	{0x7,	0x136,	40},
	{0x7,	0x126,	40},
	{0x7,	0x4,	0},
	{0x3,	0x7fd,	0}
};

//static V558_PANELREGVALUE *Panel_wakefs = NULL;
//{
//};

const V558_PANELREGVALUE Panel_sleep[] =
{
	{0x7,	0x137,	0},
	{0x7,	0x136,	20},
	{0x7,	0x126,	20},
	{0x7,	0x4,	0},
	{0x3,	0x7fe,	0}
};

const V558_PANELREGVALUE Panel_powoff[] =
{
	{0x7,	0x136,	20},
	{0x7,	0x126,	20},
	{0x7,	0x4,	0},
	{0x3,	0x7fc,	0}
};

const V558_PANELREGVALUE Panel_powon[] =
{
	{0x7,	0x104,    0},//0x104,	0},
	{0xd,	0x201,	0},
	{0xe,	0xd18,	20},
	{0x1,	0x113,	0},
	{0x2,	0x700,	0},
	{0x5,	0x1230,	0},
	{0x6,	0x0,	0},
	{0xb,	0x4008,	0},
	{0xc,	0x0,	0},
	{0x3,	0x508,	0},
	{0x4,	0x0,	20},
	{0xe,	0x2d18,	0},
	{0xd,	0x2111,	20},
	{0x21,	0x0,	0},
	{0x30,	0x700,	0},
	{0x31,	0x7,	0},
	{0x32,	0x0,	0},
	{0x33,	0x100,	0},
	{0x34,	0x700,	0},
	{0x35,	0x7,	0},
	{0x36,	0x700,	0},
	{0x37,	0x01,	0},
	{0x0f,	0x0,	0},
	{0x11,	0x0,	0},
	{0x14,	0x5c00,	0},
	{0x15,	0x9f00,	0},
	{0x16,	0x7f00,	0},
	{0x17,	0x9f00,	0},
	{0x3a,	0x1800,	0},
	{0x3b,	0x7,	5},
	{0x7,	0x105,	0},
	{0x7,	0x125,	0},
	{0x7,	0x127,	0},
	{0x7,	0x137,	0},

/*	{0x33,	0x700,	0},
	{0x3a,	0x1f00,	0},
	{0x30,	0x700,	0},
	{0x31,	0x707,	0},
	{0x32,	0x700,	0},*/

	{0x21,	0x0,	0}
};

V558_LCDIFPARM Panel_LcdIF =
{
	{ 128,	160	},		//size
	{0, 0},				//mp
	{0, 0},				//sp
	0x21, 0, 0, 0, 0, 0,	//hsa, hea, hsxa, hsya, hexa, heya
	0xff8c,				//lc
	0x100,				//dpad
	0x460, 0x460,		//wrcycle, rdcycle
	0,					//rsPolarity
	0x0,				//dmap
	1,					//index select
	0x22,				//dispadr
	BYD_128160_PANEL,		//paneltype
	0,					//reserve
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma R;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma G;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma B
	{0xff, 0x0, 0x0, 0}
};

const V558_PANELINFO	Panel_Info =
{
	" BYD_128160",		//description

	&Panel_LcdIF,

	{sizeof(Panel_powon) / sizeof(V558_PANELREGVALUE), Panel_powon},
	{sizeof(Panel_powoff) / sizeof(V558_PANELREGVALUE), Panel_powoff},
	{sizeof(Panel_sleep) / sizeof(V558_PANELREGVALUE), Panel_sleep},
	{0, NULL },
//	{sizeof(Panel_wakefs) / sizeof(V558_PANELREGVALUE), Panel_wakefs},
	{sizeof(Panel_stdby) / sizeof(V558_PANELREGVALUE), Panel_stdby},
	{sizeof(Panel_wakefstd) / sizeof(V558_PANELREGVALUE), Panel_wakefstd},
	V558_LcdPanelSetReg,
	NULL
};
#endif

#if	Jemiteck_J180S
const V558_PANELWRITEINFO Panel_WriteType=
{
	0,
	(UINT8)RegRsHigh16,
	(UINT8)Lcd_Multi16
};
const V558_PANELREGVALUE Panel_wakefstd[] =
{
	{0x0,	0x01,	10},
	{0x3,	0x0,	10}
};

const V558_PANELREGVALUE Panel_stdby[] =
{
	{0x7,	0x137,	0},
	{0x7,	0x136,	40},
	{0x7,	0x126,	40},
	{0x7,	0x4,	0},
	{0x3,	0x7fd,	0}
};

//static V558_PANELREGVALUE *Panel_wakefs = NULL;
//{
//};

const V558_PANELREGVALUE Panel_sleep[] =
{
	{0x7,	0x137,	0},
	{0x7,	0x136,	20},
	{0x7,	0x126,	20},
	{0x7,	0x4,	0},
	{0x3,	0x7fe,	0}
};

const V558_PANELREGVALUE Panel_powoff[] =
{
	{0x7,	0x136,	20},
	{0x7,	0x126,	20},
	{0x7,	0x4,	0},
	{0x3,	0x7fc,	0}
};

const V558_PANELREGVALUE Panel_powon[] =
{

	{0x7,	0x104,	0},
	{0xd,	0x100,	0},
	{0xe,	0xd18,	20},
	{0x1,	0x113,	0},
	{0x2,	0x700,	0},
	{0x5,	0x1230,	0},
	{0x6,	0x0,	0},
	{0xb,	0x4008,	0},
	{0xc,	0x0,	0},
	{0x3,	0x8,	0},//
	{0x4,	0x0,	20},
	{0xe,	0x2d18,	0},//
	{0xd,	0x110,	20},//
	{0x21,	0x0,	0},
	{0x30,	0x700,	0},
	{0x31,	0x7,	0},
	{0x32,	0x0,	0},
	{0x33,	0x100,	0},
	{0x34,	0x707,	0},
	{0x35,	0x7,	0},
	{0x36,	0x700,	0},
	{0x37,	0x0007,	0},
	{0x0f,	0x0,	0},
	{0x11,	0x0,	0},
	{0x14,	0x5c00,	0},
	{0x15,	0x9f5d,	0},
	{0x16,	0x7f00,	0},
	{0x17,	0x9f00,	0},
	{0x3a,	0x1800,	0},
	{0x3b,	0x7,	5},
	{0x7,	0x105,	0},
	{0x7,	0x125,	0},
	{0x7,	0x127,	0},
	{0x7,	0x137,	0},

	{0x33,	0x700,	0},
	{0x3a,	0x1f00,	0},
	{0x30,	0x700,	0},
	{0x31,	0x707,	0},
	{0x32,	0x700,	0},

	{0x21,	0x0,	0}
};

V558_LCDIFPARM Panel_LcdIF =
{
	{ 128,	160	},		//size
	{0, 0},				//mp
	{0, 0},				//sp
	0x21, 0, 0, 0, 0, 0,	//hsa, hea, hsxa, hsya, hexa, heya
	0xff8c,				//lc
	0x100,				//dpad
	0x460, 0x460,		//wrcycle, rdcycle
	0,					//rsPolarity
	0x0,				//dmap 
	1,					//index select
	0x22,				//dispadr
	Jemiteck_J180S_Panel,		//paneltype
	0,					//reserve
	{
		0,	0,	1,	4,	9,	0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma R;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma G;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma B
	{0xff, 0x0, 0x0, 0}
};

const V558_PANELINFO	Panel_Info =
{
	" Jemiteck_J180S",		//description

	&Panel_LcdIF,
	{sizeof(Panel_powon) / sizeof(V558_PANELREGVALUE), Panel_powon},
	{sizeof(Panel_powoff) / sizeof(V558_PANELREGVALUE), Panel_powoff},
	{sizeof(Panel_sleep) / sizeof(V558_PANELREGVALUE), Panel_sleep},
	{0, NULL },
//	{sizeof(Panel_wakefs) / sizeof(V558_PANELREGVALUE), Panel_wakefs},
	{sizeof(Panel_stdby) / sizeof(V558_PANELREGVALUE), Panel_stdby},
	{sizeof(Panel_wakefstd) / sizeof(V558_PANELREGVALUE), Panel_wakefstd},
	V558_LcdPanelSetReg,
	NULL
};
#endif


#if	UG_12D181_M16
const V558_PANELWRITEINFO Panel_WriteType=
{
	Low8,
	RegRsLow8,
	Lcd_Multi16
};


const V558_PANELREGVALUE Panel_powon[] =
{
	{0x50,	0xffff,	0},			//DD_TURN_DISPLAY_OFF
	{0x2c,	0xffff,	25},			//STANDBY_MODE_OFF
	{0x2,	0x01,	25},		//DD_TURN_OSC_ON
	
	{0x20,	0x0a,	0},		//DD_POWER_ON_POWER_CIRCUIT
	{0x22,	0x11,	0},			

	{0x26,	0x1,	50},		//DCDC_AMP_ONOFF
	{0x26,	0x9,	25},
	{0x26,	0xb,	25},
	{0x26,	0xf,	25},

	//{0x2,	0x1,	10},
	//{0x2e00,	0x0,	10},

	{0x10,	0x02,	0},

	{0x40,	0x01,	0},
	{0x34,    0x98,       0},
	{0x55,    0x0,       0},

	{0x2a,    0xc5,25},
	//{0x2b,    0xd8,25},

	{0x28,	0x01,	0},
	{0x2e,0xffff,0},
	
	{0x45,	0x00,	10},
	
	{0,0,0},
	{0,0,0},
	
	{0x53,0,0},
	{0x24,0x22,25},
	{0x30,0x0d,0},
	{0x32,0x0c,0},
	
	{0x42,0x0,0},
	{0xffff,0x7f,0},
		
	{0x43,0x0,0},
	{0xffff,0x7f,0},
	
	{0x2b,0x78,0},
	
	{0x59,0x0,0},
	{0xffff,0x0,0},
	{0xffff,0x7f,0},
	{0xffff,0x0,0},

	{0x5a,0x0,0},
	{0x51,0xffff,0}
};

V558_LCDIFPARM Panel_LcdIF =
{
	{ 128,	128	},		//size
	{0x0, 0x0},				//mp
	{0x0, 0x0},				//sp
	0x43, 0x42, 0x0, 0x0, 0X0, 0x0,	//hsa, hea, hsxa, hsya, hexa, heya
	0x708a,				//lc	//old: 108a
	0x100,				//dpad
	0x0480, 0x7CA0,		//wrcycle, rdcycle
	0,					//rsPolarity
	0x0,				//dmap
	5,					//index select
	0x51,				//dispadr
	//LTS180S3_HF1_PANEL,
	UG_12D181_Panel,		//paneltype
	0,					//reserve
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma R;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma G;
	{
		0,		0,		1,		4,		9,		0x10,	0x1a,	0x27,	0x37,
		0x4a,	0x5f,	0x77,	0x91,	0xac,	0xc8,	0xe4,	0xff
	},					//gamma B
	{0xff, 0x0, 0x0, 0}
};

const V558_PANELINFO	Panel_Info =
{
	"Lanser UG_12D181_Panel",		//description

	&Panel_LcdIF,

	{sizeof(Panel_powon) / sizeof(V558_PANELREGVALUE), Panel_powon},
	{0, NULL},
	{0, NULL},
	{0, NULL},
	{0, NULL},
	{0, NULL},
//	{sizeof(Panel_sleep) / sizeof(V558_PANELREGVALUE), Panel_sleep},
//	{sizeof(Panel_wakefs) / sizeof(V558_PANELREGVALUE), Panel_wakefs},
//	{sizeof(Panel_stdby) / sizeof(V558_PANELREGVALUE), Panel_stdby},
//	{sizeof(Panel_wakefstd) / sizeof(V558_PANELREGVALUE), Panel_wakefstd}
	V558_LcdPanelSetReg,
	NULL
};
#endif
#if	UG_12D181_M8
const V558_PANELWRITEINFO Panel_WriteType=
{
	Low8,
	RegRsLow8,
	Lcd_Multi16
};



const V558_PANELREGVALUE Panel_powon[] =
{
	{0x50,	0xffff,	0},			//DD_TURN_DISPLAY_OFF
	{0x2c,	0xffff,	25},			//STANDBY_MODE_OFF
	{0x2,	0x01,	25},		//DD_TURN_OSC_ON
	
	{0x20,	0x0a,	0},		//DD_POWER_ON_POWER_CIRCUIT
	{0x22,	0x11,	0},			

	{0x26,	0x1,	50},		//DCDC_AMP_ONOFF
	{0x26,	0x9,	25},
	{0x26,	0xb,	25},
	{0x26,	0xf,	25},

	//{0x2,	0x1,	10},
	//{0x2e00,	0x0,	10},

⌨️ 快捷键说明

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