//*************************************************************** // //***** Focus LCDs ***** //***** LCDs Made Simple ***** //***** www.FocusLCDs.com ***** // //*************************************************************** // //NOTE:IOVCC=1.8V,VSN(VDD-)=-5.0V,VSP(VDD+)=+5.0V Display resolution:1080*1080 params->dsi.vertical_sync_active=2 params->dsi.vertical_backporch=10 params->dsi.vertical_frontporch=4 params->dsi.horizontal_sync_active=4 params->dsi.horizontal_backporch=40 params->dsi.horizontal_frontporch=16 params->dsi.MIPI CLOCK=(550)Mpbs //480 params->dsi.PLL_CLOCK=(270)MBPS //FOR MTK params->RGB_CLOCK=(75)MhZ Frame Rate=60HZ /**********************LCD***************************/ void initi(void) { res=1; delay(1); res=0; delay(10);//MS res=1; delay(120); //***************************************************************//LCD SETIN write_command(0x11); delay(120); write_command(0xB9);//Set extension command write_data(0xFF); write_data(0x83); write_data(0x99); write_command(0xBA);//Set MIPI control,set 4lane write_data(0x63); write_data(0x23);//00-1lane,01-2lan,10-3lane,11-4lane write_command(0xD2);//SETOFFSET write_data(0x11); write_command(0xB1);//Set power related register write_data(0x00); write_data(0x04); write_data(0x68); write_data(0x88); write_data(0x01); write_data(0x32); write_data(0x33); write_data(0x11); write_data(0x11); write_data(0x4D); write_data(0x57); write_command(0xB2);//Set display related register write_data(0x00); write_data(0x80); write_data(0x80); write_data(0x45); write_data(0x05); write_data(0x07); write_data(0xBC); write_data(0x11); write_data(0x00); write_data(0x00); write_data(0x10); write_data(0x1F); write_data(0x70); write_data(0x03); write_data(0xc4); write_command(0xB4);//Set display waveform cycles write_data(0x00); write_data(0xFF); write_data(0x02); write_data(0xA7); write_data(0x08); write_data(0x00); write_data(0x08); write_data(0x00); write_data(0x06); write_data(0x00); write_data(0x08); write_data(0x0A); write_data(0x00); write_data(0x30); write_data(0x05); write_data(0x0F); write_data(0x0A); write_data(0x65); write_data(0x03); write_data(0x03); write_data(0x00); write_data(0x14); write_data(0xFF); write_data(0x03); write_data(0x02); write_data(0xA7); write_data(0x08); write_data(0x00); write_data(0x08); write_data(0x00); write_data(0x06); write_data(0x00); write_data(0x08); write_data(0x0A); write_data(0x00); write_data(0x3B); write_data(0x05); write_data(0x0F); write_data(0x0A); write_data(0x03); write_data(0x00); write_data(0x14); write_data(0xFF); write_data(0x02); write_data(0x00); write_command(0xD3);//Set GIP Option0 write_data(0x00); write_data(0x0C); write_data(0x03); write_data(0x03); write_data(0x00); write_data(0x00); write_data(0x14); write_data(0x04); write_data(0x32); write_data(0x10); write_data(0x09); write_data(0x00); write_data(0x09); write_data(0x32); write_data(0x10); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x11); write_data(0x00); write_data(0x02); write_data(0x02); write_data(0x13); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x0A); write_data(0x40); write_command(0xD5);//Set GIP Option1 write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x21); write_data(0x20); write_data(0x19); write_data(0x19); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x03); write_data(0x02); write_data(0x01); write_data(0x00); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x2F); write_data(0x2F); write_data(0x30); write_data(0x30); write_data(0x31); write_data(0x31); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x18); write_command(0xD6);//Set GIP Option2 write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x18); write_data(0x40); write_data(0x40); write_data(0x20); write_data(0x21); write_data(0x18); write_data(0x18); write_data(0x19); write_data(0x19); write_data(0x18); write_data(0x18); write_data(0x00); write_data(0x01); write_data(0x02); write_data(0x03); write_data(0x18); write_data(0x18); write_data(0x40); write_data(0x40); write_data(0x2F); write_data(0x2F); write_data(0x30); write_data(0x30); write_data(0x31); write_data(0x31); write_data(0x18); write_data(0x18); write_data(0x40); write_data(0x40); write_command(0xD8);//Set GIP Option3 write_data(0xAA); write_data(0xAE); write_data(0xAA); write_data(0xAA); write_data(0xAA); write_data(0xAE); write_data(0xAA); write_data(0xAA); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_command(0xBD);//Set register bank write_data(0x01); write_command(0xD8);//Set GIP Option3 write_data(0xFF); write_data(0xFF); write_data(0xFF); write_data(0xFB); write_data(0xFF); write_data(0xFF); write_data(0xFF); write_data(0xFB); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_data(0x00); write_command(0xBD);//Set register bank write_data(0x02); write_command(0xD8);//Set GIP Option3 write_data(0xFF); write_data(0xFF); write_data(0xFF); write_data(0xFB); write_data(0xFF); write_data(0xFF); write_data(0xFF); write_data(0xFB); write_command(0xBD);//Set register bank write_data(0x00); write_command(0xC7); write_data(0x00); write_data(0x88); write_command(0xC6); write_data(0xFF); write_data(0xF9); write_command(0xE0);//Set gamma curve related setting write_data(0x08); write_data(0x23); write_data(0X27); write_data(0x22); write_data(0x4A); write_data(0x51); write_data(0x5D); write_data(0x58); write_data(0x61); write_data(0x6C); write_data(0x74); write_data(0x7B); write_data(0x7F); write_data(0x88); write_data(0x8F); write_data(0x92); write_data(0x97); write_data(0XA0); write_data(0xA2); write_data(0xAA); write_data(0x9E); write_data(0xAC); write_data(0xB1); write_data(0x5C); write_data(0x58); write_data(0x65); write_data(0x73); write_data(0x08); write_data(0x23); write_data(0x27); write_data(0x22); write_data(0x4A); write_data(0x51); write_data(0x5D); write_data(0x58); write_data(0x61); write_data(0x6C); write_data(0x74); write_data(0x7B); write_data(0x7F); write_data(0x88); write_data(0x8F); write_data(0x92); write_data(0x97); write_data(0xA0); write_data(0xA2); write_data(0xAA); write_data(0x9E); write_data(0xAC); write_data(0xB1); write_data(0x5C); write_data(0x58); write_data(0x65); write_data(0x73); write_command(0xCC);//Set panel related register write_data(0x08);//04-180 write_command(0xCB);//SETCLOCK write_data(0x0A); write_command(0xCF); write_data(0x00); write_data(0x14); write_data(0x00); write_data(0x80); write_command(0x29);//Display on Delay(50); } //******************************************* void EnterSleep (void) { write_command(0x28); delay(10); write_command(0x10); } //********************************************************* void ExitSleep (void) { write_command(0x11); delay(120); write_command(0x29); }