📄 panel.c
字号:
}
if(val==0xffff)
{
V5_BySetRSLow((UINT16)adr<<8);
return;
}
V5_BySetRSLow((UINT16)adr<<8);
V5_BySetRSHigh((UINT16)val<<8);
}
static LCDReg gMLCD_powon[] =
{
{0x31, 0x10, 0},
{0xBC, 0x12, 0},
{0xCA, 0x16, 0},
{0xffff, 0x50, 0},//0x00
{0xffff, 0x01, 0},
{0xffff, 0x3f, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0xa1, 0x02, 0},
{0xffff, 0x26, 0},
{0xffff, 0x06, 0},
{0xffff, 0x26, 0},
{0xffff, 0x13, 0},
{0xffff, 0x00, 0},
{0xffff, 0x0b, 0},
{0x21, 0xff, 0},
{0x8c, 0x00, 0},
{0xffff, 0x1, 0},
{0x8b, 0x00, 0},
{0xa9, 0xffff, 0},
{0xab, 0x00, 0},
{0xffff, 0x00, 0},
{0x6f, 0x0a, 0},
{0xffff, 0x00, 0},
{0xffff, 0x0b, 0},
{0xffff, 0x00, 0},
{0xffff, 0xa0, 0},
{0xffff, 0x01, 0},
{0xffff, 0x4a, 0},
{0x94, 0xffff, 10},
{0x6e, 0x62, 20},
{0xffff, 0x10, 20},
{0x6e, 0x03, 20},
{0xffff, 0xad, 20},
{0x6e, 0x30, 20},
{0xffff, 0xcc, 20},
{0x6e, 0x40, 20},
{0xffff, 0x20, 20},
{0x6e, 0x8b, 20},
{0xffff, 0x40, 20},
{0x6e, 0x63, 20},
{0xffff, 0x30, 110},
{0x6e, 0x63, 20},
{0xffff, 0x70, 20},
{0x6e, 0x63, 20},
{0xffff, 0xf0, 20},
{0x20, 0x00, 0},
{0xffff, 0x11, 0},
{0xffff, 0x22, 0},
{0xffff, 0x33, 0},
{0xffff, 0x44, 0},
{0xffff, 0x44, 0},
{0xffff, 0x33, 0},
{0x15, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0x75, 239, 0},
{0xffff, 0x01, 0},
{0xffff, 0x3f, 0},
{0x5c, 0xffff, 0},
{0xaf, 0xffff, 0}
};
LCDParm MLcdParm =
{
{ sizeof(gMLCD_powon) / sizeof(LCDReg), (PLCDReg)&gMLCD_powon }, //power on
{ 0, NULL }, //stand by
{ 0, NULL }, //sleep
{ 0, NULL }, //stand by
};
LcdSetReg SLcdSetReg =NULL;
#endif
#if JINFEI386_BM128160
/*******************************************************
driver ic bias size
mainpanel: LGDP4511 (0x0,0x0) 128*160
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSHigh((UINT16)val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT16)adr);
return;
}
V5_BySetRSLow((UINT16)adr);
V5_BySetRSHigh((UINT16)val);
}
const LCDReg gMPanel_powon[] =
{
{0x0000,0x0001,15},
{0x0007,0x0000,10},
{0x0011,0x0001,0}, //0x0202
{0x0012,0x000c,0},
{0x0013,0x0c12,0},
{0x0010,0x0004,0},
{0x0010,0x0014,0},
{0x0011,0x0111,0},
{0x0012,0x001c,40},
{0x0013,0x2c12,40},
{0x0010,0x0710,40},
{0x0001,0x0113,0},
{0x0002,0x0700,0},
{0x0003,0x0030,0},//0x0030
{0x0008,0x0808,0},
{0x0009,0x0000,0},
{0x000b,0x000b,0},
{0x000c,0x0000,0},
{0x001a,0x0001,0},
{0x0021,0x0000,0},
{0x0023,0x0000,0},
{0x0024,0x0000,0},
{0x0030,0x0406,0},//
{0x0031,0x0303,0},
{0x0032,0x0000,0},
{0x0033,0x0305,0},
{0x0034,0x0404,0},
{0x0035,0x0000,0},
{0x0036,0x0000,0},
{0x0037,0x0503,0},
{0x0038,0x1d05,0},
{0x0039,0x1d05,0},
{0x0040,0x0000,0},
{0x0041,0x0000,0},
{0x0042,0xaf00,0},
{0x0043,0x0000,0},
{0x0044,0x7f00,0},
{0x0045,0x9f00,10},
{0x0010,0x4710,0},
{0x0007,0x0005,40},
{0x0051,0x0000,40},
{0x0007,0x0025,0},
{0x0007,0x0027,40},
{0x0007,0x0037,10},
{0x0021,0x0000,20},
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
LcdSetReg SLcdSetReg =NULL;
#endif
#if BIRDSM11_S1D19111
/*******************************************************
driver ic bias size
mainpanel: S1D19111_8BIT (0x0,0x0) 176*220
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSHigh((UINT8)val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT8)adr);
return;
}
V5_BySetRSLow((UINT8)adr);
V5_BySetRSHigh((UINT8)val);
}
const LCDReg gMPanel_powon[] =
{
{0x96, 0xffff, 10},//VOSC ON
{0x99, 0xffff, 10},
{0x31, 0x00, 0},//display interface set
{0xffff, 0x00, 0},
{0x6f, 0x00, 0},//gate line scan
{0xbc, 0x0000, 0},//data set
{0xca, 0x4a, 0},//display set 0x42
{0xffff, 0x00, 0},
{0xffff, 0xdb, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0xa1, 0x01, 0}, //display time set
{0xffff, 0x41, 0},
{0xffff, 0x03, 0},
{0xffff, 0x3f, 0},
{0xffff, 0x20, 0},
{0xffff, 0x00, 0},
{0x21, 0x01, 0}, //power control set
{0xffff, 0x24, 0},
{0xffff, 0x0f, 0},
{0xffff, 0x00, 0},
{0xffff, 0x33, 0},
{0xffff, 0x11, 0},
{0xffff, 0xfb, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x22, 0},
{0xffff, 0x33, 0},
{0xffff, 0x11, 0},
{0xffff, 0x44, 0},
{0x23, 0x33, 0}, //partial power set
{0xffff, 0xfb, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x44, 0},
{0x24, 0x33, 0}, //partial power set
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x11, 0},
{0xffff, 0x44, 0},
{0x8c, 0x00, 0}, //ac operation drive line inversion
{0x8b, 0x00, 0}, //display mide set
{0xab, 0x00, 0},
{0xa9, 0xffff, 0},//partial display out
{0x20, 0x1b, 0}, //gamma correction set
{0xffff, 0x00, 0},
{0xffff, 0x16, 0},
{0xffff, 0x10, 0},
{0xffff, 0x00, 0},
{0xffff, 0x16, 0},
{0xffff, 0x00, 0},
{0xff, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x11, 0},
{0x22, 0x03, 0}, //gamma correction set
{0xffff, 0x41, 0},
{0xffff, 0x15, 0},
{0xffff, 0x2a, 0},
{0xffff, 0x37, 0},
{0xffff, 0x07, 0},
{0x25, 0x03, 0},
{0xffff, 0x41, 0},
{0xffff, 0x15, 0},
{0xffff, 0x2a, 0},
{0xffff, 0x37, 0},
{0xffff, 0x07, 0},
{0x94, 0xffff, 60},//sleep out
{0x15, 0x00, 0},//start address set
{0xffff, 0x00, 0},
{0x75, 0xaf, 0},//end address set
{0xffff, 0xdb, 0},
{0xaf, 0xffff, 0},//display on
//{0x5c00, 0x0000, 10},//end address set
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
LcdSetReg SLcdSetReg =NULL;
#endif
#if TRULY_DEMO_T8899LCD
/*******************************************************
driver ic bias size
mainpanel: S1D19120_18BIT (0x0,0x0) 240x320
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSHigh((UINT16)val<<8);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT16)adr<<8);
return;
}
V5_BySetRSLow((UINT16)adr<<8);
V5_BySetRSHigh((UINT16)val<<8);
}
const LCDReg gMPanel_powon[] =
{
{0x96, 0xffff, 1},
{0x99, 0xffff, 1},
{0xca, 0x32, 0},//set display
{0xffff, 0x00, 0},//0x00
{0xffff, 0x01, 0},
{0xffff, 0x3f, 0},
{0xffff, 0x02, 0},
{0xffff, 0x00, 0},
{0xffff, 0x01, 1},
{0xa1, 0x01, 0}, //set display timing
{0xffff, 0x2f, 0},
{0xffff, 0x03, 0},
{0xffff, 0x2d, 0},
{0xffff, 0x23, 0},
{0xffff, 0x30, 0},
{0xffff, 0x00, 0},
{0xa9, 0xffff, 1},//cancel partion display
{0x8c, 0x00, 1},
{0xab, 0x00, 0},
{0xffff, 0x00, 1},
{0x31, 0x00, 0},
{0xffff, 0x00, 1},
{0x8b, 0xffff, 1},
{0xffff,0x00,1},
{0x6f, 0xffff, 8},
{0xffff,0x00,8},
{0xbc, 0x00, 1}, //0x00-->0x60
//{0xbc, 0x09, 1}, //rotate 90 degree
{0x20, 0x10, 0},
{0xffff, 0x18, 0},
{0xffff, 0x1a, 0},
{0xffff, 0x11, 0},
{0xffff, 0x11, 0},
{0xffff, 0x10, 0},
{0xffff, 0x07, 1},
{0x22, 0x14, 0},
{0xffff, 0xc1, 0},
{0xffff, 0x26, 0},
{0xffff, 0x2a, 0},
{0xffff, 0x23, 0},
{0xffff, 0x04, 1},
{0x25, 0x14, 0},
{0xffff, 0xc1, 0},
{0xffff, 0x26, 0},
{0xffff, 0x2a, 0},
{0xffff, 0x23, 0},
{0xffff, 0x04, 1},
{0x21, 0xffff, 0},
{0xffff, 0x01,1},
{0xffff, 0x24,1},
{0xffff, 0x0f,1},
{0xffff, 0xfe,1},
{0xffff, 0x33,1},
{0xffff, 0x31,1},
{0xffff, 0xff,1},
{0xffff, 0x00,1},
{0xffff, 0x00,1},
{0xffff, 0x22,1},
{0xffff, 0x33,1},
{0xffff, 0x11,1},
{0xffff, 0x44,1},
{0xffff, 0x00,1},
{0x23, 0x33, 0},
{0xffff, 0xff, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x44, 0},
{0xffff, 0x00, 1},
{0x94, 0xffff, 5},
{0x15, 0x00, 0},
{0xffff, 0x00, 0},
{0xffff, 0x00, 0},
{0x75, 0xef, 0},
{0xffff, 0x01, 0},
{0xffff, 0x3f, 0},
{0x5c, 0xffff, 0},
{0xaf, 0xffff, 0},
/* {0x07, 0x01, 40},
{0x07, 0x21, 40},
{0x07, 0x23, 40},
{0x07, 0x37, 40},
*/
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
LcdSetReg SLcdSetReg =NULL;
#endif
#if JINFEI_LTM017A141
/*******************************************************
driver ic bias size
mainpanel: TL1771 (0x0,0x0) 128*160
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSHigh((UINT16)val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT16)adr);
return;
}
V5_BySetRSLow((UINT16)adr);
V5_BySetRSHigh((UINT16)val);
}
UINT16 MLcdGetReg(int adr)
{
UINT16 i;
V5B_LcdifRsLExW(adr);
i=V5B_LcdifRsHExR();
return i;
}
const LCDReg gMPanel_powon[] =
{
//POWER setting sequence
{0x00, 0x0001, 30},
{0x11, 0x171f, 0},
{0x12, 0x0001, 0},
{0x13, 0x080c, 0},
{0x14, 0x0416, 0},
{0x10, 0x1208, 40},
{0x13, 0x081c, 400},
//initializing sequence
{0x01, 0x090c, 0},
{0x02, 0x0200, 0},
{0x03, 0x1030, 0},
{0x07, 0x0005, 0},
{0x08, 0x030a, 0},
{0x0b, 0x5004, 0},
{0x0c, 0x0000, 0},
{0x0e, 0x0000, 0},
{0x30, 0x0000, 0},
{0x31, 0x0204, 0},
{0x32, 0x0001, 0},
{0x33, 0x0600, 0},
{0x34, 0x0607, 0},
{0x35, 0x0305, 0},
{0x36, 0x0707, 0},
{0x37, 0x0006, 0},
{0x38, 0x0400, 0},
{0x40, 0x0000, 0},
{0x42, 0x9f00, 0},
{0x43, 0x0000, 0},
{0x44, 0x7f00, 0},
{0x45, 0x9f00, 0},
{0xa7, 0x0300, 0},
{0xa8, 0x0125, 0},
{0xa9, 0x0014, 0},
{0xa7, 0x0001, 0},
{0x07, 0x0021, 40},
{0x07, 0x0023, 40},
{0x07, 0x1037, 80},
{0x21, 0x0000, 0},
};
LCDParm MLcdParm =
{
{ sizeof(gMPanel_powon) / sizeof(LCDReg), (PLCDReg)&gMPanel_powon}, //power on
{ 0, NULL },
{ 0, NULL },
{ 0, NULL },
};
LcdSetReg SLcdSetReg =NULL;
#endif
//------------天宇528--------
#if TIANYU_TRULY_LCD
/*******************************************************
driver ic bias size
mainpanel: S6B33BG_8BIT (0x0,0x0) 128*128
********************************************************/
void MLcdSetReg(int adr,int val)
{
if(adr==0xffff)
{
V5_BySetRSLow((UINT8)val);
return;
}
if(val==0xffff)
{
V5_BySetRSLow((UINT8)adr);
return;
}
V5_BySetRSLow((UINT8)adr);
V5_BySetRSLow((UINT8)val);
}
const LCDReg gMPanel_powon[] =
{
{0x2c, 0xffff, 10}, //wendy//RS=0, write register and register's default value
//RS=1, write BGR data
{0x2, 0xffff, 0},
{0x1, 0xffff, 10},
{0x20, 0xffff, 0},
{0x1, 0xffff, 0},
{0x26, 0xffff, 0},
{0x1, 0xffff, 10},
{0x26, 0xffff, 0},
{0x9, 0xffff, 10},
{0x26, 0xffff, 0},
{0xb, 0xffff, 10},
{0x26, 0xffff, 0},
{0xf, 0xffff, 10},
{0x10, 0xffff, 0},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -