📄 tft_sunplus_spv518_panel.c
字号:
/*
shenyj modify 2007-7-20 10:26
*/
void spv518_slave_27M_set(void)
{
UINT32 i,j;
UINT32 reg,data;
i= sizeof(spv518_slave_27M_reg);
for(j=0;j<i;j++)
{
reg= spv518_slave_27M_reg[j];
data=spv518_slave_27M_val[j];
WriteToI2c(slave_27m,reg,(BYTE *)&data,1);
}
}
void spv518_slave_panel_set(void)
{
UINT32 i,j;
UINT32 reg,data;
i= sizeof(spv518_slave_panel_reg);
for(j=0;j<i;j++)
{
reg= spv518_slave_panel_reg[j];
data=spv518_slave_panel_val[j];
WriteToI2c(slave_panel,reg,(BYTE *)&data,1);
}
}
void spv518_gamma(void)
{
UINT32 i;
UINT32 reg,data;
// Bank 4
data=0x04;
WriteToI2c(slave_panel,0xff, (BYTE *)&data,1);
//--- download R table
data=0x17;
WriteToI2c(slave_panel,0x00, (BYTE *)&data,1);
for(i=0;i<256;i++)
{
WriteToI2c(slave_panel,0x1, (BYTE *)&i,1);
WriteToI2c(slave_panel,0x2, (BYTE *)&spv518_gamma_tbl[i],1);
}
//--- download G table
data=0x1B;
WriteToI2c(slave_panel,0x00, (BYTE *)&data,1);
for(i=0;i<256;i++)
{
WriteToI2c(slave_panel,0x1, (BYTE *)&i,1);
WriteToI2c(slave_panel,0x2, (BYTE *)&spv518_gamma_tbl[i+256],1);
}
//----download B table
data=0x1F;
WriteToI2c(slave_panel,0x00, (BYTE *)&data,1);
for(i=0;i<256;i++)
{
WriteToI2c(slave_panel,0x1, (BYTE *)&i,1);
WriteToI2c(slave_panel,0x2, (BYTE *)&spv518_gamma_tbl[i+512],1);
}
data=0x01; // gamma correction display
WriteToI2c(slave_panel,0x00, (BYTE *)&data,1);
}
#if 0 //no use shenyj mark it 2007-7-20 11:10
void spv518_tcon(void)
{
UINT32 i,j;
UINT32 reg,data;
i= sizeof(spv518_tcon_reg_ap1);
for(j=0;j<i;j++)
{
reg= spv518_tcon_reg_ap1[j];
data=spv518_tcon_val_ap1[j];
WriteToI2c(slave_panel,reg,(BYTE *)&data,1);
}
}
void spv518_vpp(void)
{
UINT32 i,j;
UINT32 reg,data;
i= sizeof(spv518_vpp_reg_ap1);
for(j=0;j<i;j++)
{
reg= spv518_vpp_reg_ap1[j];
data=spv518_vpp_val_ap1[j];
WriteToI2c(slave_panel,reg,(BYTE *)&data,1);
}
}
void spv518_sys(void)
{
UINT32 i,j;
UINT32 reg,data;
i= sizeof(spv518_sys_reg_ap1);
for(j=0;j<i;j++)
{
reg= spv518_sys_reg_ap1[j];
data=spv518_sys_val_ap1[j];
WriteToI2c(slave_27m,reg,(BYTE *)&data,1);
}
}
void ColorAdjust_Hue_Saturation(void)
{
UINT32 i,j;
UINT32 reg,data;
i= sizeof(spv518_hue_saturation_reg);
for(j=0;j<i;j++)
{
reg= spv518_hue_saturation_reg[j];
data=spv518_hue_saturation_val[j];
WriteToI2c(slave_panel,reg,(BYTE *)&data,1);
}
}
void ColorAdjust_Contrast_Brightness(void)
{
UINT32 i,j;
UINT32 reg,data;
i= sizeof(spv518_contrast_brightness_reg);
for(j=0;j<i;j++)
{
reg= spv518_contrast_brightness_reg[j];
data=spv518_contrast_brightness_val[j];
WriteToI2c(slave_panel,reg,(BYTE *)&data,1);
}
}
#ifdef SPV518_TVD
void spv518_cvd(void) //shenyj add
{
UINT32 i,j;
UINT32 reg,data;
data=0x00; //switch to bank 0
WriteToI2c(slave_panel,0xff, (BYTE *)&data,1);
data=0x08; //internal ccir656
WriteToI2c(slave_panel,0x01, (BYTE *)&data,1);
i= sizeof(spv518_tvd_reg1);
for(j=0;j<i;j++)
{
reg= spv518_tvd_reg1[j];
data=spv518_tvd_val1[j];
WriteToI2c(slave_27m,reg,(BYTE *)&data,1);
}
i= sizeof(spv518_tvd_reg2);
for(j=0;j<i;j++)
{
reg= spv518_tvd_reg2[j];
data=spv518_tvd_val2[j];
WriteToI2c(slave_27m,reg,(BYTE *)&data,1);
}
i= sizeof(spv518_tvd_reg3);
for(j=0;j<i;j++)
{
reg= spv518_tvd_reg3[j];
data=spv518_tvd_val3[j];
WriteToI2c(slave_27m,reg,(BYTE *)&data,1);
}
/* //for external video
data=0x00;
WriteToI2c(slave_27m,0xff,(BYTE *)&data,1);
data=0xe0;//0xe0 for A0 cvbs in ;0xe2 for A2 CVBS in 0xe9 for svideo
WriteToI2c(slave_27m,0x0c,(BYTE *)&data,1);
*/
}
#endif
void spv518_ccir656_pscan(void)
{
#if defined(DIGITAL_VIDEO_OUT)&&defined(IC_8202R)
WriteI2c(slave_panel,0xff,0x00,1);
//ReadFromI2c(slave_panel,0xff,&TempData1,1);
//printf_w("TempData:%x............\n",TempData1);
WriteI2c(slave_panel,0x00,0x00,1);
//ReadFromI2c(slave_panel,0x00,&TempData2,1);
//printf_w("TempData:%x............\n",TempData2);
#endif
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -