static void init_lcm_registers(void) { int i; send_ctrl_cmd(0x30); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0x12); send_ctrl_cmd(0x35); send_data_cmd(0x00); send_ctrl_cmd(0x36); send_data_cmd(0x00); send_ctrl_cmd(0x3A); send_data_cmd(0x66); send_ctrl_cmd(0x2C); for (i = 0; i < FRAME_WIDTH * FRAME_HEIGHT; i++) { send_data_cmd(0xFF); send_data_cmd(0xFF); send_data_cmd(0xFF); } send_ctrl_cmd(0xB2); send_data_cmd(0x1C); send_data_cmd(0x1C); send_data_cmd(0x01); send_data_cmd(0xFF); send_data_cmd(0x33); send_ctrl_cmd(0xB3); send_data_cmd(0x10); send_data_cmd(0xFF); send_data_cmd(0x0F); send_ctrl_cmd(0xB4); send_data_cmd(0x0B); send_ctrl_cmd(0xB5); send_data_cmd(0x9F); send_ctrl_cmd(0xB7); send_data_cmd(0x35); send_ctrl_cmd(0xBB); send_data_cmd(0x28); send_ctrl_cmd(0xBC); send_data_cmd(0xEC); send_ctrl_cmd(0xBD); send_data_cmd(0xFE); send_ctrl_cmd(0xC0); send_data_cmd(0x2C); send_ctrl_cmd(0xC2); send_data_cmd(0x01); send_ctrl_cmd(0xC3); send_data_cmd(0x1E); send_ctrl_cmd(0xC4); send_data_cmd(0x20); send_ctrl_cmd(0xC6); send_data_cmd(0x0F); send_ctrl_cmd(0xD0); send_data_cmd(0xA4); send_data_cmd(0xA1); send_ctrl_cmd(0xE0); send_data_cmd(0xD0); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x08); send_data_cmd(0x07); send_data_cmd(0x05); send_data_cmd(0x29); send_data_cmd(0x54); send_data_cmd(0x41); send_data_cmd(0x3C); send_data_cmd(0x17); send_data_cmd(0x15); send_data_cmd(0x1A); send_data_cmd(0x20); send_ctrl_cmd(0xE1); send_data_cmd(0xD0); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x08); send_data_cmd(0x07); send_data_cmd(0x04); send_data_cmd(0x29); send_data_cmd(0x44); send_data_cmd(0x42); send_data_cmd(0x3B); send_data_cmd(0x16); send_data_cmd(0x15); send_data_cmd(0x1B); send_data_cmd(0x1F); send_ctrl_cmd(0x11); MDELAY(120); send_ctrl_cmd(0x29); }
static void lcm_suspend(void) { send_ctrl_cmd(0x1000); MDELAY(20); }
static void init_lcm_registers_INN(void) { send_ctrl_cmd(0x3A); //16BIT 65K send_data_cmd(0x55); send_ctrl_cmd(0xCF); //EXTC option send_data_cmd(0x00); send_data_cmd(0xA1); send_ctrl_cmd(0xB1); // Frame rate send_data_cmd(0x00); send_data_cmd(0x1E); //0x1E is 60Hz, 70Hz is 0x1A send_ctrl_cmd(0XB4); //inversion control send_data_cmd(0x02); //0x02 is 2-dot inversion, 0x00 is column inversion send_ctrl_cmd(0X36); send_data_cmd(0x00); send_ctrl_cmd(0XB6); send_data_cmd(0x02); send_ctrl_cmd(0XC0); //power control send_data_cmd(0x0F); // send_data_cmd(0x0D); // send_ctrl_cmd(0xC1); //power control send_data_cmd(0x01); //VGH =6x VCI VGL= -4xVCI send_ctrl_cmd(0xC2); //power control send_data_cmd(0x33); send_ctrl_cmd(0xC5); // VCOMDC=-1 send_data_cmd(0xEB); #if 1 /* LGE_BSP_COMMON LGE_CHANGE_S 140310 jongwoo82.lee : LCD first init crash fix, code from Tovis init code */ send_ctrl_cmd(0x35); // Tearing Effect Line On send_data_cmd(0x00); // block this code for Camera Tearing //send_ctrl_cmd(0x44); // Tearing Effect Control Parameter //send_data_cmd(0x00); //send_data_cmd(0xEF); #endif /* LGE_BSP_COMMON LGE_CHANGE_E 140310 jongwoo82.lee : LCD first init crash fix, code from Tovis init code */ send_ctrl_cmd(0xE0); // Set P Gamma //value up brightness up send_data_cmd(0x00); // 0 send_data_cmd(0x08); // 0x08 send_data_cmd(0x0E); // 0x0E send_data_cmd(0x04); //4 send_data_cmd(0x12); //6 send_data_cmd(0x06); //13 send_data_cmd(0x2E); //20 32 send_data_cmd(0x87); //36 27 67 send_data_cmd(0x40); //43 --3f send_data_cmd(0x0A); //50 --08 send_data_cmd(0x0E); //57 --0e send_data_cmd(0x0B); //59 --0a send_data_cmd(0x0F); //61---10 send_data_cmd(0x13); //62 send_data_cmd(0x0f); //63 send_ctrl_cmd(0XE1); //Set N Gamma value down brightness down send_data_cmd(0x00); //63 send_data_cmd(0x22); //62 send_data_cmd(0x23); //61 send_data_cmd(0x02); //59 //03 send_data_cmd(0x0D); //57 //0f send_data_cmd(0x02); //50 //05 send_data_cmd(0x39); //43 --3a send_data_cmd(0x37); //27 36 send_data_cmd(0x50); //20 4C send_data_cmd(0x04); //13 send_data_cmd(0x0d); //6 send_data_cmd(0x0b); //4 send_data_cmd(0x33); send_data_cmd(0x36); // 36 send_data_cmd(0x0f); //0 send_ctrl_cmd(0x11); // Exit Sleep MDELAY(120); send_ctrl_cmd(0XF6); send_data_cmd(0x41); send_ctrl_cmd(0XEE); send_data_cmd(0x0C);//Prevent tearing effect send_ctrl_cmd(0x29); //display on }
static void lcm_setbacklight(unsigned int level) { if(level > 255) level = 255; send_ctrl_cmd(0x51); send_data_cmd(level); }
static void init_lcm_registers(void) { send_ctrl_cmd(0xF000);send_data_cmd(0x55); send_ctrl_cmd(0xF001);send_data_cmd(0xAA); send_ctrl_cmd(0xF002);send_data_cmd(0x52); send_ctrl_cmd(0xF003);send_data_cmd(0x08); send_ctrl_cmd(0xF004);send_data_cmd(0x01); // AVDD: manual) send_ctrl_cmd(0xB000);send_data_cmd(0x0D); send_ctrl_cmd(0xB001);send_data_cmd(0x0D); send_ctrl_cmd(0xB002);send_data_cmd(0x0D); send_ctrl_cmd(0xB600);send_data_cmd(0x34); send_ctrl_cmd(0xB601);send_data_cmd(0x34); send_ctrl_cmd(0xB602);send_data_cmd(0x34); // AVEE: manual) send_ctrl_cmd(0xB100);send_data_cmd(0x0D); send_ctrl_cmd(0xB101);send_data_cmd(0x0D); send_ctrl_cmd(0xB102);send_data_cmd(0x0D); send_ctrl_cmd(0xB700);send_data_cmd(0x34); send_ctrl_cmd(0xB701);send_data_cmd(0x34); send_ctrl_cmd(0xB702);send_data_cmd(0x34); send_ctrl_cmd(0xB200);send_data_cmd(0x00); send_ctrl_cmd(0xB201);send_data_cmd(0x00); send_ctrl_cmd(0xB202);send_data_cmd(0x00); //Power Control for VCL send_ctrl_cmd(0xB800);send_data_cmd(0x24); send_ctrl_cmd(0xB800);send_data_cmd(0x24); send_ctrl_cmd(0xB800);send_data_cmd(0x24); // VGH: send_ctrl_cmd(0xBF00);send_data_cmd(0x01); send_ctrl_cmd(0xB300);send_data_cmd(0x0F); send_ctrl_cmd(0xB301);send_data_cmd(0x0F); send_ctrl_cmd(0xB302);send_data_cmd(0x0F); send_ctrl_cmd(0xB900);send_data_cmd(0x34); send_ctrl_cmd(0xB901);send_data_cmd(0x34); send_ctrl_cmd(0xB902);send_data_cmd(0x34); // VGL_REG(VGLO) send_ctrl_cmd(0xB500);send_data_cmd(0x08); send_ctrl_cmd(0xB501);send_data_cmd(0x08); send_ctrl_cmd(0xB502);send_data_cmd(0x08); send_ctrl_cmd(0xC200);send_data_cmd(0x03); // VGL(LVGL) send_ctrl_cmd(0xBA00);send_data_cmd(0x24); send_ctrl_cmd(0xBA01);send_data_cmd(0x24); send_ctrl_cmd(0xBA02);send_data_cmd(0x24); // VGMP/VGSP send_ctrl_cmd(0xBC00);send_data_cmd(0X00); // 02 send_ctrl_cmd(0xBC01);send_data_cmd(0x78); // 02 send_ctrl_cmd(0xBC02);send_data_cmd(0X00); //02 //VGMN/VGSN send_ctrl_cmd(0xBD00);send_data_cmd(0x00); send_ctrl_cmd(0xBD01);send_data_cmd(0x78); send_ctrl_cmd(0xBD02);send_data_cmd(0x00); // VCOM= send_ctrl_cmd(0xBE00);send_data_cmd(0x00); send_ctrl_cmd(0xBE01);send_data_cmd(0x63);//flicker 0x69 //vddhh -= 0x02; //R+ send_ctrl_cmd(0xD100);send_data_cmd(0x00); send_ctrl_cmd(0xD101);send_data_cmd(0x2D); send_ctrl_cmd(0xD102);send_data_cmd(0x00); send_ctrl_cmd(0xD103);send_data_cmd(0x2E); send_ctrl_cmd(0xD104);send_data_cmd(0x00); send_ctrl_cmd(0xD105);send_data_cmd(0x32); send_ctrl_cmd(0xD106);send_data_cmd(0x00); send_ctrl_cmd(0xD107);send_data_cmd(0x44); send_ctrl_cmd(0xD108);send_data_cmd(0x00); send_ctrl_cmd(0xD109);send_data_cmd(0x53); send_ctrl_cmd(0xD10A);send_data_cmd(0x00); send_ctrl_cmd(0xD10B);send_data_cmd(0x88); send_ctrl_cmd(0xD10C);send_data_cmd(0x00); send_ctrl_cmd(0xD10D);send_data_cmd(0xB6); send_ctrl_cmd(0xD10E);send_data_cmd(0x00); send_ctrl_cmd(0xD10F);send_data_cmd(0xF3); send_ctrl_cmd(0xD110);send_data_cmd(0x01); send_ctrl_cmd(0xD111);send_data_cmd(0x22); send_ctrl_cmd(0xD112);send_data_cmd(0x01); send_ctrl_cmd(0xD113);send_data_cmd(0x64); send_ctrl_cmd(0xD114);send_data_cmd(0x01); send_ctrl_cmd(0xD115);send_data_cmd(0x92); send_ctrl_cmd(0xD116);send_data_cmd(0x01); send_ctrl_cmd(0xD117);send_data_cmd(0xD4); send_ctrl_cmd(0xD118);send_data_cmd(0x02); send_ctrl_cmd(0xD119);send_data_cmd(0x07); send_ctrl_cmd(0xD11A);send_data_cmd(0x02); send_ctrl_cmd(0xD11B);send_data_cmd(0x08); send_ctrl_cmd(0xD11C);send_data_cmd(0x02); send_ctrl_cmd(0xD11D);send_data_cmd(0x34); send_ctrl_cmd(0xD11E);send_data_cmd(0x02); send_ctrl_cmd(0xD11F);send_data_cmd(0x5F); send_ctrl_cmd(0xD120);send_data_cmd(0x02); send_ctrl_cmd(0xD121);send_data_cmd(0x78); send_ctrl_cmd(0xD122);send_data_cmd(0x02); send_ctrl_cmd(0xD123);send_data_cmd(0x94); send_ctrl_cmd(0xD124);send_data_cmd(0x02); send_ctrl_cmd(0xD125);send_data_cmd(0xA6); send_ctrl_cmd(0xD126);send_data_cmd(0x02); send_ctrl_cmd(0xD127);send_data_cmd(0xBB); send_ctrl_cmd(0xD128);send_data_cmd(0x02); send_ctrl_cmd(0xD129);send_data_cmd(0xCA); send_ctrl_cmd(0xD12A);send_data_cmd(0x02); send_ctrl_cmd(0xD12B);send_data_cmd(0xDB); send_ctrl_cmd(0xD12C);send_data_cmd(0x02); send_ctrl_cmd(0xD12D);send_data_cmd(0xe8); send_ctrl_cmd(0xD12E);send_data_cmd(0x02); send_ctrl_cmd(0xD12F);send_data_cmd(0xF9); send_ctrl_cmd(0xD130);send_data_cmd(0x03); send_ctrl_cmd(0xD131);send_data_cmd(0x1F); send_ctrl_cmd(0xD132);send_data_cmd(0x03); send_ctrl_cmd(0xD133);send_data_cmd(0x7F); //G+ send_ctrl_cmd(0xD200);send_data_cmd(0x00); send_ctrl_cmd(0xD201);send_data_cmd(0x2D); send_ctrl_cmd(0xD202);send_data_cmd(0x00); send_ctrl_cmd(0xD203);send_data_cmd(0x2E); send_ctrl_cmd(0xD204);send_data_cmd(0x00); send_ctrl_cmd(0xD205);send_data_cmd(0x32); send_ctrl_cmd(0xD206);send_data_cmd(0x00); send_ctrl_cmd(0xD207);send_data_cmd(0x44); send_ctrl_cmd(0xD208);send_data_cmd(0x00); send_ctrl_cmd(0xD209);send_data_cmd(0x53); send_ctrl_cmd(0xD20A);send_data_cmd(0x00); send_ctrl_cmd(0xD20B);send_data_cmd(0x88); send_ctrl_cmd(0xD20C);send_data_cmd(0x00); send_ctrl_cmd(0xD20D);send_data_cmd(0xB6); send_ctrl_cmd(0xD20E);send_data_cmd(0x00); send_ctrl_cmd(0xD20F);send_data_cmd(0xF3); send_ctrl_cmd(0xD210);send_data_cmd(0x01); send_ctrl_cmd(0xD211);send_data_cmd(0x22); send_ctrl_cmd(0xD212);send_data_cmd(0x01); send_ctrl_cmd(0xD213);send_data_cmd(0x64); send_ctrl_cmd(0xD214);send_data_cmd(0x01); send_ctrl_cmd(0xD215);send_data_cmd(0x92); send_ctrl_cmd(0xD216);send_data_cmd(0x01); send_ctrl_cmd(0xD217);send_data_cmd(0xD4); send_ctrl_cmd(0xD218);send_data_cmd(0x02); send_ctrl_cmd(0xD219);send_data_cmd(0x07); send_ctrl_cmd(0xD21A);send_data_cmd(0x02); send_ctrl_cmd(0xD21B);send_data_cmd(0x08); send_ctrl_cmd(0xD21C);send_data_cmd(0x02); send_ctrl_cmd(0xD21D);send_data_cmd(0x34); send_ctrl_cmd(0xD21E);send_data_cmd(0x02); send_ctrl_cmd(0xD21F);send_data_cmd(0x5F); send_ctrl_cmd(0xD220);send_data_cmd(0x02); send_ctrl_cmd(0xD221);send_data_cmd(0x78); send_ctrl_cmd(0xD222);send_data_cmd(0x02); send_ctrl_cmd(0xD223);send_data_cmd(0x94); send_ctrl_cmd(0xD224);send_data_cmd(0x02); send_ctrl_cmd(0xD225);send_data_cmd(0xA6); send_ctrl_cmd(0xD226);send_data_cmd(0x02); send_ctrl_cmd(0xD227);send_data_cmd(0xBB); send_ctrl_cmd(0xD228);send_data_cmd(0x02); send_ctrl_cmd(0xD229);send_data_cmd(0xCA); send_ctrl_cmd(0xD22A);send_data_cmd(0x02); send_ctrl_cmd(0xD22B);send_data_cmd(0xDB); send_ctrl_cmd(0xD22C);send_data_cmd(0x02); send_ctrl_cmd(0xD22D);send_data_cmd(0xe8); send_ctrl_cmd(0xD22E);send_data_cmd(0x02); send_ctrl_cmd(0xD22F);send_data_cmd(0xF9); send_ctrl_cmd(0xD230);send_data_cmd(0x03); send_ctrl_cmd(0xD231);send_data_cmd(0x1F); send_ctrl_cmd(0xD232);send_data_cmd(0x03); send_ctrl_cmd(0xD233);send_data_cmd(0x7F); //B+ send_ctrl_cmd(0xD300);send_data_cmd(0x00); send_ctrl_cmd(0xD301);send_data_cmd(0x2D); send_ctrl_cmd(0xD302);send_data_cmd(0x00); send_ctrl_cmd(0xD303);send_data_cmd(0x2E); send_ctrl_cmd(0xD304);send_data_cmd(0x00); send_ctrl_cmd(0xD305);send_data_cmd(0x32); send_ctrl_cmd(0xD306);send_data_cmd(0x00); send_ctrl_cmd(0xD307);send_data_cmd(0x44); send_ctrl_cmd(0xD308);send_data_cmd(0x00); send_ctrl_cmd(0xD309);send_data_cmd(0x53); send_ctrl_cmd(0xD30A);send_data_cmd(0x00); send_ctrl_cmd(0xD30B);send_data_cmd(0x88); send_ctrl_cmd(0xD30C);send_data_cmd(0x00); send_ctrl_cmd(0xD30D);send_data_cmd(0xB6); send_ctrl_cmd(0xD30E);send_data_cmd(0x00); send_ctrl_cmd(0xD30F);send_data_cmd(0xF3); send_ctrl_cmd(0xD310);send_data_cmd(0x01); send_ctrl_cmd(0xD311);send_data_cmd(0x22); send_ctrl_cmd(0xD312);send_data_cmd(0x01); send_ctrl_cmd(0xD313);send_data_cmd(0x64); send_ctrl_cmd(0xD314);send_data_cmd(0x01); send_ctrl_cmd(0xD315);send_data_cmd(0x92); send_ctrl_cmd(0xD316);send_data_cmd(0x01); send_ctrl_cmd(0xD317);send_data_cmd(0xD4); send_ctrl_cmd(0xD318);send_data_cmd(0x02); send_ctrl_cmd(0xD319);send_data_cmd(0x07); send_ctrl_cmd(0xD31A);send_data_cmd(0x02); send_ctrl_cmd(0xD31B);send_data_cmd(0x08); send_ctrl_cmd(0xD31C);send_data_cmd(0x02); send_ctrl_cmd(0xD31D);send_data_cmd(0x34); send_ctrl_cmd(0xD31E);send_data_cmd(0x02); send_ctrl_cmd(0xD31F);send_data_cmd(0x5F); send_ctrl_cmd(0xD320);send_data_cmd(0x02); send_ctrl_cmd(0xD321);send_data_cmd(0x78); send_ctrl_cmd(0xD322);send_data_cmd(0x02); send_ctrl_cmd(0xD323);send_data_cmd(0x94); send_ctrl_cmd(0xD324);send_data_cmd(0x02); send_ctrl_cmd(0xD325);send_data_cmd(0xA6); send_ctrl_cmd(0xD326);send_data_cmd(0x02); send_ctrl_cmd(0xD327);send_data_cmd(0xBB); send_ctrl_cmd(0xD328);send_data_cmd(0x02); send_ctrl_cmd(0xD329);send_data_cmd(0xCA); send_ctrl_cmd(0xD32A);send_data_cmd(0x02); send_ctrl_cmd(0xD32B);send_data_cmd(0xDB); send_ctrl_cmd(0xD32C);send_data_cmd(0x02); send_ctrl_cmd(0xD32D);send_data_cmd(0xe8); send_ctrl_cmd(0xD32E);send_data_cmd(0x02); send_ctrl_cmd(0xD32F);send_data_cmd(0xF9); send_ctrl_cmd(0xD330);send_data_cmd(0x03); send_ctrl_cmd(0xD331);send_data_cmd(0x1F); send_ctrl_cmd(0xD332);send_data_cmd(0x03); send_ctrl_cmd(0xD333);send_data_cmd(0x7F); //RREGW send_ctrl_cmd(0xD400);send_data_cmd(0x00); send_ctrl_cmd(0xD401);send_data_cmd(0x2D); send_ctrl_cmd(0xD402);send_data_cmd(0x00); send_ctrl_cmd(0xD403);send_data_cmd(0x2E); send_ctrl_cmd(0xD404);send_data_cmd(0x00); send_ctrl_cmd(0xD405);send_data_cmd(0x32); send_ctrl_cmd(0xD406);send_data_cmd(0x00); send_ctrl_cmd(0xD407);send_data_cmd(0x44); send_ctrl_cmd(0xD408);send_data_cmd(0x00); send_ctrl_cmd(0xD409);send_data_cmd(0x53); send_ctrl_cmd(0xD40A);send_data_cmd(0x00); send_ctrl_cmd(0xD40B);send_data_cmd(0x88); send_ctrl_cmd(0xD40C);send_data_cmd(0x00); send_ctrl_cmd(0xD40D);send_data_cmd(0xB6); send_ctrl_cmd(0xD40E);send_data_cmd(0x00); send_ctrl_cmd(0xD40F);send_data_cmd(0xF3); send_ctrl_cmd(0xD410);send_data_cmd(0x01); send_ctrl_cmd(0xD411);send_data_cmd(0x22); send_ctrl_cmd(0xD412);send_data_cmd(0x01); send_ctrl_cmd(0xD413);send_data_cmd(0x64); send_ctrl_cmd(0xD414);send_data_cmd(0x01); send_ctrl_cmd(0xD415);send_data_cmd(0x92); send_ctrl_cmd(0xD416);send_data_cmd(0x01); send_ctrl_cmd(0xD417);send_data_cmd(0xD4); send_ctrl_cmd(0xD418);send_data_cmd(0x02); send_ctrl_cmd(0xD419);send_data_cmd(0x07); send_ctrl_cmd(0xD41A);send_data_cmd(0x02); send_ctrl_cmd(0xD41B);send_data_cmd(0x08); send_ctrl_cmd(0xD41C);send_data_cmd(0x02); send_ctrl_cmd(0xD41D);send_data_cmd(0x34); send_ctrl_cmd(0xD41E);send_data_cmd(0x02); send_ctrl_cmd(0xD41F);send_data_cmd(0x5F); send_ctrl_cmd(0xD420);send_data_cmd(0x02); send_ctrl_cmd(0xD421);send_data_cmd(0x78); send_ctrl_cmd(0xD422);send_data_cmd(0x02); send_ctrl_cmd(0xD423);send_data_cmd(0x94); send_ctrl_cmd(0xD424);send_data_cmd(0x02); send_ctrl_cmd(0xD425);send_data_cmd(0xA6); send_ctrl_cmd(0xD426);send_data_cmd(0x02); send_ctrl_cmd(0xD427);send_data_cmd(0xBB); send_ctrl_cmd(0xD428);send_data_cmd(0x02); send_ctrl_cmd(0xD429);send_data_cmd(0xCA); send_ctrl_cmd(0xD42A);send_data_cmd(0x02); send_ctrl_cmd(0xD42B);send_data_cmd(0xDB); send_ctrl_cmd(0xD42C);send_data_cmd(0x02); send_ctrl_cmd(0xD42D);send_data_cmd(0xe8); send_ctrl_cmd(0xD42E);send_data_cmd(0x02); send_ctrl_cmd(0xD42F);send_data_cmd(0xF9); send_ctrl_cmd(0xD430);send_data_cmd(0x03); send_ctrl_cmd(0xD431);send_data_cmd(0x1F); send_ctrl_cmd(0xD432);send_data_cmd(0x03); send_ctrl_cmd(0xD433);send_data_cmd(0x7F); //GREGW send_ctrl_cmd(0xD500);send_data_cmd(0x00); send_ctrl_cmd(0xD501);send_data_cmd(0x2D); send_ctrl_cmd(0xD502);send_data_cmd(0x00); send_ctrl_cmd(0xD503);send_data_cmd(0x2E); send_ctrl_cmd(0xD504);send_data_cmd(0x00); send_ctrl_cmd(0xD505);send_data_cmd(0x32); send_ctrl_cmd(0xD506);send_data_cmd(0x00); send_ctrl_cmd(0xD507);send_data_cmd(0x44); send_ctrl_cmd(0xD508);send_data_cmd(0x00); send_ctrl_cmd(0xD509);send_data_cmd(0x53); send_ctrl_cmd(0xD50A);send_data_cmd(0x00); send_ctrl_cmd(0xD50B);send_data_cmd(0x88); send_ctrl_cmd(0xD50C);send_data_cmd(0x00); send_ctrl_cmd(0xD50D);send_data_cmd(0xB6); send_ctrl_cmd(0xD50E);send_data_cmd(0x00); send_ctrl_cmd(0xD50F);send_data_cmd(0xF3); send_ctrl_cmd(0xD510);send_data_cmd(0x01); send_ctrl_cmd(0xD511);send_data_cmd(0x22); send_ctrl_cmd(0xD512);send_data_cmd(0x01); send_ctrl_cmd(0xD513);send_data_cmd(0x64); send_ctrl_cmd(0xD514);send_data_cmd(0x01); send_ctrl_cmd(0xD515);send_data_cmd(0x92); send_ctrl_cmd(0xD516);send_data_cmd(0x01); send_ctrl_cmd(0xD517);send_data_cmd(0xD5); send_ctrl_cmd(0xD518);send_data_cmd(0x02); send_ctrl_cmd(0xD519);send_data_cmd(0x07); send_ctrl_cmd(0xD51A);send_data_cmd(0x02); send_ctrl_cmd(0xD51B);send_data_cmd(0x08); send_ctrl_cmd(0xD51C);send_data_cmd(0x02); send_ctrl_cmd(0xD51D);send_data_cmd(0x34); send_ctrl_cmd(0xD51E);send_data_cmd(0x02); send_ctrl_cmd(0xD51F);send_data_cmd(0x5F); send_ctrl_cmd(0xD520);send_data_cmd(0x02); send_ctrl_cmd(0xD521);send_data_cmd(0x78); send_ctrl_cmd(0xD522);send_data_cmd(0x02); send_ctrl_cmd(0xD523);send_data_cmd(0x94); send_ctrl_cmd(0xD524);send_data_cmd(0x02); send_ctrl_cmd(0xD525);send_data_cmd(0xA6); send_ctrl_cmd(0xD526);send_data_cmd(0x02); send_ctrl_cmd(0xD527);send_data_cmd(0xBB); send_ctrl_cmd(0xD528);send_data_cmd(0x02); send_ctrl_cmd(0xD529);send_data_cmd(0xCA); send_ctrl_cmd(0xD52A);send_data_cmd(0x02); send_ctrl_cmd(0xD52B);send_data_cmd(0xDB); send_ctrl_cmd(0xD52C);send_data_cmd(0x02); send_ctrl_cmd(0xD52D);send_data_cmd(0xe8); send_ctrl_cmd(0xD52E);send_data_cmd(0x02); send_ctrl_cmd(0xD52F);send_data_cmd(0xF9); send_ctrl_cmd(0xD530);send_data_cmd(0x03); send_ctrl_cmd(0xD531);send_data_cmd(0x1F); send_ctrl_cmd(0xD532);send_data_cmd(0x03); send_ctrl_cmd(0xD533);send_data_cmd(0x7F); //BREGW send_ctrl_cmd(0xD600);send_data_cmd(0x00); send_ctrl_cmd(0xD601);send_data_cmd(0x2D); send_ctrl_cmd(0xD602);send_data_cmd(0x00); send_ctrl_cmd(0xD603);send_data_cmd(0x2E); send_ctrl_cmd(0xD604);send_data_cmd(0x00); send_ctrl_cmd(0xD605);send_data_cmd(0x32); send_ctrl_cmd(0xD606);send_data_cmd(0x00); send_ctrl_cmd(0xD607);send_data_cmd(0x44); send_ctrl_cmd(0xD608);send_data_cmd(0x00); send_ctrl_cmd(0xD609);send_data_cmd(0x53); send_ctrl_cmd(0xD60A);send_data_cmd(0x00); send_ctrl_cmd(0xD60B);send_data_cmd(0x88); send_ctrl_cmd(0xD60C);send_data_cmd(0x00); send_ctrl_cmd(0xD60D);send_data_cmd(0xB6); send_ctrl_cmd(0xD60E);send_data_cmd(0x00); send_ctrl_cmd(0xD60F);send_data_cmd(0xF3); send_ctrl_cmd(0xD610);send_data_cmd(0x01); send_ctrl_cmd(0xD611);send_data_cmd(0x22); send_ctrl_cmd(0xD612);send_data_cmd(0x01); send_ctrl_cmd(0xD613);send_data_cmd(0x64); send_ctrl_cmd(0xD614);send_data_cmd(0x01); send_ctrl_cmd(0xD615);send_data_cmd(0x92); send_ctrl_cmd(0xD616);send_data_cmd(0x01); send_ctrl_cmd(0xD617);send_data_cmd(0xD6); send_ctrl_cmd(0xD618);send_data_cmd(0x02); send_ctrl_cmd(0xD619);send_data_cmd(0x07); send_ctrl_cmd(0xD61A);send_data_cmd(0x02); send_ctrl_cmd(0xD61B);send_data_cmd(0x08); send_ctrl_cmd(0xD61C);send_data_cmd(0x02); send_ctrl_cmd(0xD61D);send_data_cmd(0x34); send_ctrl_cmd(0xD61E);send_data_cmd(0x02); send_ctrl_cmd(0xD61F);send_data_cmd(0x5F); send_ctrl_cmd(0xD620);send_data_cmd(0x02); send_ctrl_cmd(0xD621);send_data_cmd(0x78); send_ctrl_cmd(0xD622);send_data_cmd(0x02); send_ctrl_cmd(0xD623);send_data_cmd(0x94); send_ctrl_cmd(0xD624);send_data_cmd(0x02); send_ctrl_cmd(0xD625);send_data_cmd(0xA6); send_ctrl_cmd(0xD626);send_data_cmd(0x02); send_ctrl_cmd(0xD627);send_data_cmd(0xBB); send_ctrl_cmd(0xD628);send_data_cmd(0x02); send_ctrl_cmd(0xD629);send_data_cmd(0xCA); send_ctrl_cmd(0xD62A);send_data_cmd(0x02); send_ctrl_cmd(0xD62B);send_data_cmd(0xDB); send_ctrl_cmd(0xD62C);send_data_cmd(0x02); send_ctrl_cmd(0xD62D);send_data_cmd(0xe8); send_ctrl_cmd(0xD62E);send_data_cmd(0x02); send_ctrl_cmd(0xD62F);send_data_cmd(0xF9); send_ctrl_cmd(0xD630);send_data_cmd(0x03); send_ctrl_cmd(0xD631);send_data_cmd(0x1F); send_ctrl_cmd(0xD632);send_data_cmd(0x03); send_ctrl_cmd(0xD633);send_data_cmd(0x7F); //Enable Page0 send_ctrl_cmd(0xF000);send_data_cmd(0x55); send_ctrl_cmd(0xF001);send_data_cmd(0xAA); send_ctrl_cmd(0xF002);send_data_cmd(0x52); send_ctrl_cmd(0xF003);send_data_cmd(0x08); send_ctrl_cmd(0xF004);send_data_cmd(0x00); send_ctrl_cmd(0xB100);send_data_cmd(0xCC); send_ctrl_cmd(0xB101);send_data_cmd(0x00); // SDT: send_ctrl_cmd(0xB600);send_data_cmd(0x05); // Gate EQ:); send_ctrl_cmd(0xB700);send_data_cmd(0x70); send_ctrl_cmd(0xB701);send_data_cmd(0x70); send_ctrl_cmd(0xB800);send_data_cmd(0x01); send_ctrl_cmd(0xB801);send_data_cmd(0x03); send_ctrl_cmd(0xB802);send_data_cmd(0x03); send_ctrl_cmd(0xB803);send_data_cmd(0x03); send_ctrl_cmd(0xBC00);send_data_cmd(0x00); send_ctrl_cmd(0xBC01);send_data_cmd(0x00); send_ctrl_cmd(0xBC02);send_data_cmd(0x00); // Source EQ send_ctrl_cmd(0xC900);send_data_cmd(0xD0); send_ctrl_cmd(0xC901);send_data_cmd(0x02); send_ctrl_cmd(0xC902);send_data_cmd(0x50); send_ctrl_cmd(0xC903);send_data_cmd(0x50); send_ctrl_cmd(0xC904);send_data_cmd(0x50); #ifdef TE_CONTROL send_ctrl_cmd(0x3500);send_data_cmd(0x00);//ADD TE ON send_ctrl_cmd(0x4400);send_data_cmd(0x01);//ADD send_ctrl_cmd(0x4401);send_data_cmd(0x90);//ADD #endif send_ctrl_cmd(0x3600);send_data_cmd(0x00); send_ctrl_cmd(0x3A00);send_data_cmd(0x55);//16bit send_ctrl_cmd(0x2A00);send_data_cmd(0x00); send_ctrl_cmd(0x2A01);send_data_cmd(0x00); send_ctrl_cmd(0x2A02);send_data_cmd(HIGH_BYTE(FRAME_WIDTH)); send_ctrl_cmd(0x2A03);send_data_cmd(LOW_BYTE(FRAME_WIDTH)); send_ctrl_cmd(0x2B00);send_data_cmd(0x00); send_ctrl_cmd(0x2B01);send_data_cmd(0x00); send_ctrl_cmd(0x2B02);send_data_cmd(HIGH_BYTE(FRAME_HEIGHT)); send_ctrl_cmd(0x2B03);send_data_cmd(LOW_BYTE(FRAME_HEIGHT)); send_ctrl_cmd(0x2C00); send_ctrl_cmd(0x2000); send_ctrl_cmd(0x1100); MDELAY(120); send_ctrl_cmd(0x2900); MDELAY(50); }
static void init_lcm_registers(void) { send_ctrl_cmd(0xCF); send_data_cmd(0x00); send_data_cmd(0x21); send_ctrl_cmd(0xB4); send_data_cmd(0x02); send_ctrl_cmd(0xC0); //VREG1OUT send_data_cmd(0x0d); send_data_cmd(0x0f); send_ctrl_cmd(0xC1); //ddcdh/vgl.vgh send_data_cmd(0x01); send_ctrl_cmd(0x36); send_data_cmd(0x08); send_ctrl_cmd(0x3A); send_data_cmd(0x06); send_ctrl_cmd(0xB6); //Display Function Control send_data_cmd(0x0A); send_data_cmd(0x82); send_ctrl_cmd(0xC5); //VCOM send_data_cmd(0xED); //VCOMH send_ctrl_cmd(0xE8); send_data_cmd(0x84); send_data_cmd(0x1A); send_data_cmd(0x18); send_ctrl_cmd(0xE0); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x03); send_data_cmd(0x06); send_data_cmd(0x0c); send_data_cmd(0x36); send_data_cmd(0x88); send_data_cmd(0x46); send_data_cmd(0x08); send_data_cmd(0x0e); send_data_cmd(0x0b); send_data_cmd(0x18); send_data_cmd(0x1a); send_data_cmd(0x00); send_ctrl_cmd(0xE1); send_data_cmd(0x0f); send_data_cmd(0x26); send_data_cmd(0x27); send_data_cmd(0x03); send_data_cmd(0x11); send_data_cmd(0x07); send_data_cmd(0x39); send_data_cmd(0x47); send_data_cmd(0x49); send_data_cmd(0x03); send_data_cmd(0x09); send_data_cmd(0x0c); send_data_cmd(0x2e); send_data_cmd(0x3f); send_data_cmd(0x0f); send_ctrl_cmd(0x2A); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0x2B); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x3F); send_ctrl_cmd(0xF6); send_data_cmd(0x41); send_data_cmd(0x00); send_data_cmd(0x00); send_ctrl_cmd(0xB7); send_data_cmd(0x06); send_ctrl_cmd(0xB1); send_data_cmd(0x00); send_data_cmd(0x15); send_ctrl_cmd(0x11); MDELAY(120); send_ctrl_cmd(0x29); send_ctrl_cmd(0x2c); //memory write MDELAY(120); }
static void lcm_suspend(void) { sw_clear_panel(0); send_ctrl_cmd(0x10); MDELAY(5); }
static void init_lcm_registers(void) { #if 0 send_ctrl_cmd(0x11); //Sleep Out MDELAY(300); send_ctrl_cmd(0xB4); //Set RM, DM send_data_cmd(0x00); send_ctrl_cmd(0xC8); //Set Gamma send_data_cmd(0x00); send_data_cmd(0x34); send_data_cmd(0x46); send_data_cmd(0x31); send_data_cmd(0x00); send_data_cmd(0x1A); send_data_cmd(0x12); send_data_cmd(0x34); send_data_cmd(0x77); send_data_cmd(0x13); send_data_cmd(0x0F); send_data_cmd(0x00); send_ctrl_cmd(0xD0); //Set Power send_data_cmd(0x51); //DDVDH 0X44 send_data_cmd(0x42); send_data_cmd(0x0F); //VREG1 0X08 send_ctrl_cmd(0xD1); //Set VCOM send_data_cmd(0x4F); //VCOMH send_data_cmd(0x1D); //VCOML send_ctrl_cmd(0xD2); //Set NOROW send_data_cmd(0x01); //SAP send_data_cmd(0x12); //DC10/00 send_ctrl_cmd(0xE9); //Set Panel send_data_cmd(0x01); send_ctrl_cmd(0xEA); //Set STBA send_data_cmd(0x03); send_data_cmd(0x00); send_data_cmd(0x00); send_ctrl_cmd(0xEE); //Set EQ send_data_cmd(0x13); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x13); send_ctrl_cmd(0xED); //Set DIR TIM send_data_cmd(0x13); send_data_cmd(0x13); send_data_cmd(0xA2); send_data_cmd(0xA2); send_data_cmd(0xA3); send_data_cmd(0xA3); send_data_cmd(0x13); send_data_cmd(0x13); send_data_cmd(0x13); send_data_cmd(0x13); send_data_cmd(0xAE); send_data_cmd(0xAE); send_data_cmd(0x13); send_data_cmd(0xA2); send_data_cmd(0x13); send_ctrl_cmd(0x36); send_data_cmd(0x02); send_ctrl_cmd(0x3A); send_data_cmd(0x66); send_ctrl_cmd(0x51);//write display brightness send_data_cmd(0x70);//set brightness 0x00-0xff MDELAY(50); send_ctrl_cmd(0x53);//write ctrl display send_data_cmd(0x24); MDELAY(50); send_ctrl_cmd(0x55); send_data_cmd(0x01);//still picture MDELAY(50); send_ctrl_cmd(0x5e);//write CABC minumum brightness send_data_cmd(0x70);// MDELAY(50); send_ctrl_cmd(0xCA); //Set UI GAIN send_data_cmd(0x24); send_data_cmd(0x24); send_data_cmd(0x24); send_data_cmd(0x23); send_data_cmd(0x23); send_data_cmd(0x23); send_data_cmd(0x22); send_data_cmd(0x22); send_data_cmd(0x22); send_data_cmd(0x22); send_ctrl_cmd(0x11); MDELAY(120); #else MDELAY(10); send_ctrl_cmd(0x11);//Sleep Out MDELAY(120); send_ctrl_cmd(0xEE);//Set EQ send_data_cmd(0x02); send_data_cmd(0x01); send_data_cmd(0x02); send_data_cmd(0x01); send_ctrl_cmd(0xED);//Set DIR TIM send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x9A); send_data_cmd(0x9A); send_data_cmd(0x9B); send_data_cmd(0x9B); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0xAE); send_data_cmd(0xAE); send_data_cmd(0x01); send_data_cmd(0xA2); send_data_cmd(0x00); send_ctrl_cmd(0xB4);//Set RM, DM send_data_cmd(0x00);// send_ctrl_cmd(0xC0); //Set Panel Driving send_data_cmd(0x10); //REV SM GS send_data_cmd(0x3B); // NL[5:0] send_data_cmd(0x00); //SCN[6:0] send_data_cmd(0x02); //NDL 0 PTS[2:0] send_data_cmd(0x11); //PTG ISC[3:0] send_ctrl_cmd(0xC8);//Set Gamma send_data_cmd(0x00); //KP1,KP0 send_data_cmd(0x46); //KP3,KP2 send_data_cmd(0x12); //KP5,KP4 send_data_cmd(0x20); //RP1,RP0 send_data_cmd(0x0c); //VRP0 01 send_data_cmd(0x00); //VRP1 send_data_cmd(0x56); //KN1,KN0 send_data_cmd(0x12); //KN3,KN2 send_data_cmd(0x67); //KN5,KN4 send_data_cmd(0x02); //RN1,RN0 send_data_cmd(0x00); //VRN0 send_data_cmd(0x0c); //VRN1 01 send_ctrl_cmd(0xD0);//Set Power send_data_cmd(0x44);//DDVDH :5.28 send_data_cmd(0x44); // BT VGH:15.84 VGL:-7.92 send_data_cmd(0x05);//VREG1 4.625V send_ctrl_cmd(0xD1);//Set VCOM send_data_cmd(0x4b); //VCOMH 3.367 //3B send_data_cmd(0x14);//VCOM 5.2725 send_ctrl_cmd(0xD2); send_data_cmd(0x04); send_data_cmd(0x22); //12 send_ctrl_cmd(0xD3); send_data_cmd(0x04); send_data_cmd(0x12); send_ctrl_cmd(0xD4); send_data_cmd(0x07); send_data_cmd(0x12); send_ctrl_cmd(0xE9); //Set Panel send_data_cmd(0x00); send_ctrl_cmd(0xC5); //Set Frame rate send_data_cmd(0x08); //61.51Hz send_ctrl_cmd(0X0036); send_data_cmd(0X000a); send_ctrl_cmd(0X003A); send_data_cmd(0X0006); send_ctrl_cmd(0X002A); send_data_cmd(0X0000); send_data_cmd(0X0000); send_data_cmd(0X0001); send_data_cmd(0X003F); send_ctrl_cmd(0X002B); send_data_cmd(0X0000); send_data_cmd(0X0000); send_data_cmd(0X0001); send_data_cmd(0X00E0); MDELAY(120); send_ctrl_cmd(0x29); //Display On MDELAY(5); #endif }
static void init_lcm_registers(void) { #ifdef BUILD_LK printf("init_lcm_registers -----jmo4861 \r\n"); #else printk("init_lcm_registers-----jmo4861 \r\n"); #endif //LK@Z1 send_ctrl_cmd(0xB9); //EXTC send_data_cmd(0xFF); //EXTC send_data_cmd(0x83); //EXTC send_data_cmd(0x57); //EXTC MDELAY(15); send_ctrl_cmd(0xB6); // send_data_cmd(0x25); //6f VCOMDC//56 send_ctrl_cmd(0x11); // SLPOUT MDELAY(130); //send_ctrl_cmd(0x35); // TE ON //LK@ /* send_ctrl_cmd(0xe9); send_data_cmd(0x20); */ /* send_ctrl_cmd(0xB0); send_data_cmd(0x68); //80Hz send_data_cmd(0x01); */ send_ctrl_cmd(0xCC); // Set Panel send_data_cmd(0x09); //09 send_ctrl_cmd(0xB1); // send_data_cmd(0x00); // send_data_cmd(0x15); //BT send_data_cmd(0x1e); //1c VSPR//LK@0x3B send_data_cmd(0x1e); //1c VSNR//LK@0x3B send_data_cmd(0x83); //83 AP 83 send_data_cmd(0xAA); //FS send_ctrl_cmd(0xB4); // send_data_cmd(0x02); //NW send_data_cmd(0x40); //RTN send_data_cmd(0x00); //DIV send_data_cmd(0x2A); //DUM send_data_cmd(0x2A); //DUM send_data_cmd(0x0d); //0D GDON send_data_cmd(0x4f); //GDOFF /* send_ctrl_cmd(0xB5); send_data_cmd(0x01); send_data_cmd(0x01); send_data_cmd(0x67); */ send_ctrl_cmd(0xB3); //COLOR FORMAT send_data_cmd(0xC3); //SDO_EN,BYPASS,EPF[1:0],0,0,RM,DM//43->C3,SDO_EN=1 send_data_cmd(0x08);//0x00 //DPL,HSPL,VSPL,EPL send_data_cmd(0x06); //RCM, HPL[5:0] send_data_cmd(0x06); //VPL[5:0] /* send_ctrl_cmd(0xE3); send_data_cmd(0x37); send_data_cmd(0x27); */ send_ctrl_cmd(0xC0); //STBA send_data_cmd(0x24); //OPON////LK@0x50 send_data_cmd(0x24); //OPON///LK@0x50 send_data_cmd(0x01); // send_data_cmd(0x3C); // send_data_cmd(0x1E); // send_data_cmd(0x08); //GEN send_ctrl_cmd(0xE0); // send_data_cmd(0x02); //02 1// send_data_cmd(0x08); //06 2// send_data_cmd(0x11); //3 send_data_cmd(0x23); //4 send_data_cmd(0x2C); //5 send_data_cmd(0x40); //6 send_data_cmd(0x4A); //7 send_data_cmd(0x52); //8 send_data_cmd(0x48); //9 send_data_cmd(0x41); //10 send_data_cmd(0x3C); //11 send_data_cmd(0x33); //12 send_data_cmd(0x2E); //13 send_data_cmd(0x28); //14 send_data_cmd(0x27); //15 send_data_cmd(0x1B); //16 send_data_cmd(0x02); //02 17 v1 send_data_cmd(0x08); //06 18 send_data_cmd(0x11); //19 send_data_cmd(0x23); //20 send_data_cmd(0x2C); //21 send_data_cmd(0x40); //22 send_data_cmd(0x4A); //23 send_data_cmd(0x52); //24 send_data_cmd(0x48); //25 send_data_cmd(0x41); //26 send_data_cmd(0x3C); //27 send_data_cmd(0x33); //28 send_data_cmd(0x2E); //29 send_data_cmd(0x28); //30 send_data_cmd(0x27); //28 31 send_data_cmd(0x1B); //03 32 send_data_cmd(0x00); //33 send_data_cmd(0x01); //34 send_ctrl_cmd(0x3A); send_data_cmd(0x66); //LK@ 0x77:24bit;0x66:18bit;0x55:16bit send_ctrl_cmd(0x36); send_data_cmd(0x00); send_ctrl_cmd(0x29); // Display On MDELAY(25); //send_ctrl_cmd(0x2C); //memary write }
static void lcm_suspend(void) { send_ctrl_cmd(0x0028); send_ctrl_cmd(0x0010); MDELAY(200); }
static void init_lcm_registers(void) { // FROM 9K0804 send_ctrl_cmd(0X0011); MDELAY(20); send_ctrl_cmd(0X00D0); // Power_Setting (D0h) send_data_cmd(0X0007); send_data_cmd(0X0042); send_data_cmd(0X001B); send_ctrl_cmd(0X00D1); // VCOM Control (D1h) send_data_cmd(0X0000); send_data_cmd(0X0025); send_data_cmd(0X0012); send_ctrl_cmd(0X00D2); // Power_Setting for Normal Mode send_data_cmd(0X0001); send_data_cmd(0X0011); send_ctrl_cmd(0X00C0); // Panel Driving Setting (C0h) send_data_cmd(0X0010); send_data_cmd(0X003B); send_data_cmd(0X0000); send_data_cmd(0X0012); send_data_cmd(0X0001); send_ctrl_cmd(0X00C1); send_data_cmd(0X0010); send_data_cmd(0X0013); send_data_cmd(0X0088); // xuecheng, lcm fps setting // 0x001 for 125hz send_ctrl_cmd(0X00C5); send_data_cmd(0X0000); send_ctrl_cmd(0X00C8); send_data_cmd(0X0002); send_data_cmd(0X0046); send_data_cmd(0X0014); send_data_cmd(0X0031); send_data_cmd(0X000A); send_data_cmd(0X0004); send_data_cmd(0X0037); send_data_cmd(0X0024); send_data_cmd(0X0057); send_data_cmd(0X0013); send_data_cmd(0X0006); send_data_cmd(0X000C); send_ctrl_cmd(0X0036); send_data_cmd(0X000A); send_ctrl_cmd(0X003A); send_data_cmd(0X0005); send_ctrl_cmd(0X002A); send_data_cmd(0X0000); send_data_cmd(0X0000); send_data_cmd(0X0001); send_data_cmd(0X003F); send_ctrl_cmd(0X002B); send_data_cmd(0X0000); send_data_cmd(0X0000); send_data_cmd(0X0001); send_data_cmd(0X00DF); MDELAY(120); send_ctrl_cmd(0X0029); }
static void init_lcm_registers(void) { unsigned int i = 0; send_ctrl_cmd(0xB9);//B9 send_data_cmd(0xFF); send_data_cmd(0x83); send_data_cmd(0x69); MDELAY(10); send_ctrl_cmd(0xB1);//B1 send_data_cmd(0x01); send_data_cmd(0x00); send_data_cmd(0x44); send_data_cmd(0x0a); send_data_cmd(0x00); send_data_cmd(0x0f); send_data_cmd(0x0f); send_data_cmd(0x2c); send_data_cmd(0x2c); send_data_cmd(0x3f); send_data_cmd(0x3f); send_data_cmd(0x01); send_data_cmd(0x23);// send_data_cmd(0x01); send_data_cmd(0xe6); send_data_cmd(0xe6); send_data_cmd(0xe6); send_data_cmd(0xe6); send_data_cmd(0xE6); send_ctrl_cmd(0xB2);//B2 send_data_cmd(0x00); send_data_cmd(0x10); send_data_cmd(0x07); send_data_cmd(0x03); /* send_data_cmd(0x70); send_data_cmd(0x00); send_data_cmd(0xFF); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x03); send_data_cmd(0x03); send_data_cmd(0x00); send_data_cmd(0x01); */ send_ctrl_cmd(0xB4);//B4 send_data_cmd(0x02); send_data_cmd(0x1d); send_data_cmd(0x80); send_data_cmd(0x00); send_data_cmd(0x00); MDELAY(5); send_ctrl_cmd(0xB6); // SET VCOM send_data_cmd(0x53); send_data_cmd(0x53); //屏倒置使用需设置RCC=0A,R36=10 ,如果正放,设置RCC=02H. send_ctrl_cmd(0xCC); // SS=1,REV=1 send_data_cmd(0x02); // 0A send_ctrl_cmd(0x36);//36 send_data_cmd(0x00); send_ctrl_cmd(0xd5);//D5 send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x03); send_data_cmd(0x28); send_data_cmd(0x01); send_data_cmd(0x04); send_data_cmd(0x28); send_data_cmd(0x70);//70 send_data_cmd(0x11); send_data_cmd(0x13); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x60); send_data_cmd(0x04); send_data_cmd(0x71); send_data_cmd(0x05); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x71); send_data_cmd(0x05); send_data_cmd(0x60); send_data_cmd(0x04); send_data_cmd(0x07); send_data_cmd(0x0F); send_data_cmd(0x04); send_data_cmd(0x04); MDELAY(5); send_ctrl_cmd(0xE0); // Set Gamma 1 send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x0c); send_data_cmd(0x34); send_data_cmd(0x38); send_data_cmd(0x3F); send_data_cmd(0x26); send_data_cmd(0x47); send_data_cmd(0x05); send_data_cmd(0x0e); send_data_cmd(0x11); send_data_cmd(0x15); send_data_cmd(0x17); send_data_cmd(0x15); send_data_cmd(0x16); send_data_cmd(0x11); send_data_cmd(0x17); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x0c); send_data_cmd(0x34); send_data_cmd(0x38); send_data_cmd(0x3F); send_data_cmd(0x26); send_data_cmd(0x47); send_data_cmd(0x05); send_data_cmd(0x0e); send_data_cmd(0x11); send_data_cmd(0x15); send_data_cmd(0x17); send_data_cmd(0x15); send_data_cmd(0x16); send_data_cmd(0x11); send_data_cmd(0x17); /* ////////////////////16bits/////////////////// send_ctrl_cmd(0x2d);//SET LUT for(i=0;i<=63;i++) send_data_cmd(i*8); for(i=0;i<=63;i++) send_data_cmd(i*4); for(i=0;i<=63;i++) send_data_cmd(i*8); */ ////////////////////18bits/////////////////// send_ctrl_cmd(0x2D); //Look up table// for(i=0;i<64;i++) send_data_cmd(4*i);//RED for(i=0;i<64;i++) send_data_cmd(4*i);//Green for(i=0;i<64;i++) send_data_cmd(4*i);//Blue*/ MDELAY(10); send_ctrl_cmd(0x3A); send_data_cmd(0x66); send_ctrl_cmd(0x11); //Sleep Out MDELAY(150); send_ctrl_cmd(0x29); //Display On MDELAY(20); send_ctrl_cmd(0x2C); }
static void init_lcm_registers(void) { #if 1 send_ctrl_cmd(0xCF); // EXTC Option send_data_cmd(0x00); send_data_cmd(0x21); send_data_cmd(0x20); send_ctrl_cmd(0xF2); // 3-Gamma Function Off send_data_cmd(0x02); send_ctrl_cmd(0xB4); // Inversion Control -> 2Dot inversion send_data_cmd(0x02); send_ctrl_cmd(0xC0); // Powr control 1 send_data_cmd(0x15); send_data_cmd(0x15); send_ctrl_cmd(0xC1); // Power control 2 send_data_cmd(0x05); send_ctrl_cmd(0xC2); // Powr control 3 send_data_cmd(0x32); send_ctrl_cmd(0xC5); // Vcom control 1 send_data_cmd(0xFC); send_ctrl_cmd(0xCB); // V-core Setting send_data_cmd(0x31); send_data_cmd(0x24); send_data_cmd(0x00); send_data_cmd(0x34); send_ctrl_cmd(0xF6); // Interface control send_data_cmd(0x41); send_data_cmd(0x00); send_data_cmd(0x00); send_ctrl_cmd(0xB7); // Entry Mode Set send_data_cmd(0x06); send_ctrl_cmd(0xB1); // Frame Rate Control send_data_cmd(0x00); send_data_cmd(0x1B); send_ctrl_cmd(0x36); // Memory Access Control send_data_cmd(0x08); // seosc 08 -> C8 send_ctrl_cmd(0xB5); // Blanking Porch control send_data_cmd(0x02); send_data_cmd(0x02); send_data_cmd(0x0A); send_data_cmd(0x14); send_ctrl_cmd(0xB6); // Display Function control send_data_cmd(0x0A); send_data_cmd(0x82); send_data_cmd(0x27); send_data_cmd(0x00); send_ctrl_cmd(0x3A); // Pixel Format->DBI(5=16bit) send_data_cmd(0x05); send_ctrl_cmd(0x35); // Tearing Effect Line On send_data_cmd(0x00); send_ctrl_cmd(0x44); // Tearing Effect Control Parameter send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0xE0); // Positive Gamma Correction send_data_cmd(0x00); send_data_cmd(0x06); send_data_cmd(0x07); send_data_cmd(0x03); send_data_cmd(0x0A); send_data_cmd(0x0A); send_data_cmd(0x36); send_data_cmd(0x59); send_data_cmd(0x4B); send_data_cmd(0x0C); send_data_cmd(0x18); send_data_cmd(0x0F); send_data_cmd(0x22); send_data_cmd(0x1F); send_data_cmd(0x0F); send_ctrl_cmd(0xE1); // Negative Gamma Correction send_data_cmd(0x06); send_data_cmd(0x23); send_data_cmd(0x24); send_data_cmd(0x01); send_data_cmd(0x0F); send_data_cmd(0x01); send_data_cmd(0x31); send_data_cmd(0x23); send_data_cmd(0x40); send_data_cmd(0x07); send_data_cmd(0x0F); send_data_cmd(0x0F); send_data_cmd(0x30); send_data_cmd(0x31); send_data_cmd(0x0E); send_ctrl_cmd(0x2A); // Column address send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0x2B); // Page address send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x3F); send_ctrl_cmd(0xE8); send_data_cmd(0x84); send_data_cmd(0x1A); send_data_cmd(0x68); send_ctrl_cmd(0x11); // Exit Sleep MDELAY(120); send_ctrl_cmd(0x2C); MDELAY(80); send_ctrl_cmd(0x29); // LCD on #else // HDK board send_ctrl_cmd(0xCF); // EXTC Option send_data_cmd(0x20); send_data_cmd(0x21); send_data_cmd(0x20); send_ctrl_cmd(0xF2); // 3-Gamma Function Off send_data_cmd(0x02); send_ctrl_cmd(0xB4); // Inversion Control -> 2Dot inversion send_data_cmd(0x02); send_ctrl_cmd(0xC0); // Powr control 1 send_data_cmd(0x15); send_data_cmd(0x15); send_ctrl_cmd(0xC1); // Power control 2 send_data_cmd(0x05); send_ctrl_cmd(0xC2); // Powr control 3 send_data_cmd(0x32); send_ctrl_cmd(0xC5); // Vcom control 1 send_data_cmd(0xFC); send_ctrl_cmd(0xCB); // V-core Setting send_data_cmd(0x31); send_data_cmd(0x24); send_data_cmd(0x00); send_data_cmd(0x34); send_ctrl_cmd(0xF6); // Interface control send_data_cmd(0x41); send_data_cmd(0x00); send_data_cmd(0x00); send_ctrl_cmd(0xB7); // Entry Mode Set send_data_cmd(0x06); send_ctrl_cmd(0xB1); // Frame Rate Control send_data_cmd(0x00); send_data_cmd(0x1B); send_ctrl_cmd(0x36); // Memory Access Control send_data_cmd(0x08); // seosc 08 -> C8 send_ctrl_cmd(0xB5); // Blanking Porch control send_data_cmd(0x02); send_data_cmd(0x02); send_data_cmd(0x0A); send_data_cmd(0x14); send_ctrl_cmd(0xB6); // Display Function control send_data_cmd(0x02); send_data_cmd(0x82); send_data_cmd(0x27); send_data_cmd(0x00); send_ctrl_cmd(0x3A); // Pixel Format->DBI(5=16bit) send_data_cmd(0x05); send_ctrl_cmd(0x51);//write display brightness send_data_cmd(0xff);//set brightness 0x00-0xff MDELAY(50); send_ctrl_cmd(0x53);//write ctrl display send_data_cmd(0x24); MDELAY(50); send_ctrl_cmd(0x55); send_data_cmd(0x02);//still picture MDELAY(50); send_ctrl_cmd(0x5e);//write CABC minumum brightness send_data_cmd(0x70);// MDELAY(50); send_ctrl_cmd(0x35); // Tearing Effect Line On send_data_cmd(0x00); send_ctrl_cmd(0x44); // Tearing Effect Control Parameter send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0xE0); // Positive Gamma Correction send_data_cmd(0x00); send_data_cmd(0x06); send_data_cmd(0x07); send_data_cmd(0x03); send_data_cmd(0x0A); send_data_cmd(0x0A); send_data_cmd(0x41); send_data_cmd(0x59); send_data_cmd(0x4D); send_data_cmd(0x0C); send_data_cmd(0x18); send_data_cmd(0x0F); send_data_cmd(0x22); send_data_cmd(0x1D); send_data_cmd(0x0F); send_ctrl_cmd(0xE1); // Negative Gamma Correction send_data_cmd(0x06); send_data_cmd(0x23); send_data_cmd(0x24); send_data_cmd(0x01); send_data_cmd(0x0F); send_data_cmd(0x01); send_data_cmd(0x36); send_data_cmd(0x23); send_data_cmd(0x41); send_data_cmd(0x07); send_data_cmd(0x0F); send_data_cmd(0x0F); send_data_cmd(0x30); send_data_cmd(0x27); send_data_cmd(0x0E); send_ctrl_cmd(0x2A); // Column address send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0x2B); // Page address send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x3F); send_ctrl_cmd(0xE8); send_data_cmd(0x84); send_data_cmd(0x1A); send_data_cmd(0x68); send_ctrl_cmd(0x11); MDELAY(120); send_ctrl_cmd(0X29); #endif }
static void init_lcm_registers(void) { send_ctrl_cmd(0x00B0);//Manufacturer Command Access Protect send_data_cmd(0x003F); send_data_cmd(0x003F); MDELAY(100); send_ctrl_cmd(0x00FE);//? send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x0021); send_data_cmd(0x00B4); send_ctrl_cmd(0x00B3);//Frame Memory Access and Interface Setting send_data_cmd(0x0000); send_data_cmd(0x0010); send_ctrl_cmd(0x00E0);//NVM Access Control send_data_cmd(0x0000);//NVAE: NVM access enable register. NVM access is enabled when NVAE=1. send_data_cmd(0x0040);//FTT: NVM control bit. MDELAY(50); send_ctrl_cmd(0x00B3); send_data_cmd(0x0000); send_data_cmd(0x0000); send_ctrl_cmd(0x00FE); send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x0021); send_data_cmd(0x0030); send_ctrl_cmd(0x00B0); send_data_cmd(0x003F); send_data_cmd(0x003F); send_ctrl_cmd(0x00B3); send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x0000); send_ctrl_cmd(0x00B4); send_data_cmd(0x0000); send_ctrl_cmd(0x00C0); send_data_cmd(0x0013);//GIP REV SM GS BGR SS send_data_cmd(0x004F); send_data_cmd(0x0000); send_data_cmd(0x0010); send_data_cmd(0x00A0);//BLV=0 LINE send_data_cmd(0x0000); send_data_cmd(0x0001); send_data_cmd(0x0000); //Frame frequency (fFRM)={fosc/(Clock per line×division ratio×(NL + FP + BP))} [Hz] send_ctrl_cmd(0x00C1); send_data_cmd(0x0001);//BC0 Frame inversion(0)/Line inversion(1) send_data_cmd(0x0002);//DIV0[1:0] 800kHz send_data_cmd(0x0020);//RTN0[5:0] clocks 21 send_data_cmd(0x0008);//BP0[7:0] 4 lines send_data_cmd(0x0008);//FP0[7:0] 4 lines MDELAY(50); send_ctrl_cmd(0x00C3); //PRTIAL MODE send_data_cmd(0x0001);//BC2 send_data_cmd(0x0000);//DIV2[1:0] send_data_cmd(0x0021);//RTN2[5:0] send_data_cmd(0x0008);//BP2[7:0] send_data_cmd(0x0008);//FP2[7:0] MDELAY(50); send_ctrl_cmd(0x00C4); send_data_cmd(0x0011); send_data_cmd(0x0001); send_data_cmd(0x0033); send_data_cmd(0x0003); send_ctrl_cmd(0x00C8); send_data_cmd(0x0003); send_data_cmd(0x000a); send_data_cmd(0x0006); send_data_cmd(0x000e); send_data_cmd(0x000e); send_data_cmd(0x0007); send_data_cmd(0x0005); send_data_cmd(0x0005); send_data_cmd(0x0021); send_data_cmd(0x0004); send_data_cmd(0x0000); send_data_cmd(0x0020); send_data_cmd(0x0006); send_data_cmd(0x0006); send_data_cmd(0x0009); send_data_cmd(0x0010); send_data_cmd(0x0011); send_data_cmd(0x0009); send_data_cmd(0x000e); send_data_cmd(0x0005); send_data_cmd(0x0006); send_data_cmd(0x0001); send_ctrl_cmd(0x00C9); //send_ctrl_cmd(0x00C8); send_data_cmd(0x0003); send_data_cmd(0x000a); send_data_cmd(0x0006); send_data_cmd(0x000e); send_data_cmd(0x000e); send_data_cmd(0x0007); send_data_cmd(0x0005); send_data_cmd(0x0005); send_data_cmd(0x0021); send_data_cmd(0x0004); send_data_cmd(0x0000); send_data_cmd(0x0020); send_data_cmd(0x0006); send_data_cmd(0x0006); send_data_cmd(0x0009); send_data_cmd(0x0010); send_data_cmd(0x0011); send_data_cmd(0x0009); send_data_cmd(0x000e); send_data_cmd(0x0005); send_data_cmd(0x0006); send_data_cmd(0x0001); send_ctrl_cmd(0x00CA); //send_ctrl_cmd(0x00C8); send_data_cmd(0x0003); send_data_cmd(0x000a); send_data_cmd(0x0006); send_data_cmd(0x000e); send_data_cmd(0x000e); send_data_cmd(0x0007); send_data_cmd(0x0005); send_data_cmd(0x0005); send_data_cmd(0x0021); send_data_cmd(0x0004); send_data_cmd(0x0000); send_data_cmd(0x0020); send_data_cmd(0x0006); send_data_cmd(0x0006); send_data_cmd(0x0009); send_data_cmd(0x0010); send_data_cmd(0x0011); send_data_cmd(0x0009); send_data_cmd(0x000e); send_data_cmd(0x0005); send_data_cmd(0x0006); send_data_cmd(0x0001); send_ctrl_cmd(0x00D0); send_data_cmd(0x0033); send_data_cmd(0x0053); send_data_cmd(0x0081); send_data_cmd(0x0031); send_ctrl_cmd(0x00D1); send_data_cmd(0x002f);//40 send_data_cmd(0x0057); //send_data_cmd(0x0010); send_ctrl_cmd(0x00D2); send_data_cmd(0x0003); send_data_cmd(0x0024); send_ctrl_cmd(0x00D4); send_data_cmd(0x0003); send_data_cmd(0x0024); send_ctrl_cmd(0x00E2); send_data_cmd(0x003F); send_ctrl_cmd(0x0035);//set_tear_on send_data_cmd(0x0000); send_ctrl_cmd(0x0036); send_data_cmd(0x0000); send_ctrl_cmd(0x003A);//set_pixel_format send_data_cmd(0x0066);//66 send_ctrl_cmd(0x002A);//set_column_address send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x00EF); send_ctrl_cmd(0x002B);//set_page_address: send_data_cmd(0x0000); send_data_cmd(0x0000); send_data_cmd(0x0001); send_data_cmd(0x003F); send_ctrl_cmd(0x002C);//write_memory_start: send_ctrl_cmd(0x0011);//exit_sleep_mode MDELAY(100); send_ctrl_cmd(0x0029);//set_display_on MDELAY(200); }
static void sw_clear_panel(unsigned int color) { unsigned short x0, y0, x1, y1, x, y; unsigned short h_X_start,l_X_start,h_X_end,l_X_end,h_Y_start,l_Y_start,h_Y_end,l_Y_end; x0 = (unsigned short)0; y0 = (unsigned short)0; x1 = (unsigned short)FRAME_WIDTH-1; y1 = (unsigned short)FRAME_HEIGHT-1; h_X_start=((x0&0xFF00)>>8); l_X_start=(x0&0x00FF); h_X_end=((x1&0xFF00)>>8); l_X_end=(x1&0x00FF); h_Y_start=((y0&0xFF00)>>8); l_Y_start=(y0&0x00FF); h_Y_end=((y1&0xFF00)>>8); l_Y_end=(y1&0x00FF); #ifdef __LCM_WINDOW_CFG__ send_ctrl_cmd(0x2A00); send_data_cmd(h_X_start); send_ctrl_cmd(0x2A01); send_data_cmd(l_X_start); send_ctrl_cmd(0x2A02); send_data_cmd(h_X_end); send_ctrl_cmd(0x2A03); send_data_cmd(l_X_end); send_ctrl_cmd(0x2B00); send_data_cmd(h_Y_start); send_ctrl_cmd(0x2B01); send_data_cmd(l_Y_start); send_ctrl_cmd(0x2B02); send_data_cmd(h_Y_end); send_ctrl_cmd(0x2B03); send_data_cmd(l_Y_end); #else send_ctrl_cmd(0x2A00); send_data_cmd(h_X_start); send_data_cmd(l_X_start); send_data_cmd(h_X_end); send_data_cmd(l_X_end); send_ctrl_cmd(0x2B00); send_data_cmd(h_Y_start); send_data_cmd(l_Y_start); send_data_cmd(h_Y_end); send_data_cmd(l_Y_end); #endif //color=0x8410 ; // color=0xF800 ; //color=0xFFFF ; send_ctrl_cmd(0x2900); send_ctrl_cmd(0x2C00); for (y = y0; y <= y1; ++ y) { for (x = x0; x <= x1; ++ x) { lcm_util.send_data(color); } } }
static unsigned int lcm_compare_id(void) { send_ctrl_cmd(0x00); return (LCM_ID == read_data_cmd())?1:0; }
static void lcm_update(unsigned int x, unsigned int y, unsigned int width, unsigned int height) { unsigned short x0, y0, x1, y1; unsigned short h_X_start,l_X_start,h_X_end,l_X_end,h_Y_start,l_Y_start,h_Y_end,l_Y_end; //Lcd_Log("lcm_update otm8009a_nisin_nst397wv3502anb_mcu_wvga\r\n"); x0 = (unsigned short)x; y0 = (unsigned short)y; x1 = (unsigned short)x+width-1; y1 = (unsigned short)y+height-1; h_X_start=((x0&0xFF00)>>8); l_X_start=(x0&0x00FF); h_X_end=((x1&0xFF00)>>8); l_X_end=(x1&0x00FF); h_Y_start=((y0&0xFF00)>>8); l_Y_start=(y0&0x00FF); h_Y_end=((y1&0xFF00)>>8); l_Y_end=(y1&0x00FF); #ifdef __LCM_WINDOW_CFG__ send_ctrl_cmd(0x2A00); send_data_cmd(h_X_start); send_ctrl_cmd(0x2A01); send_data_cmd(l_X_start); send_ctrl_cmd(0x2A02); send_data_cmd(h_X_end); send_ctrl_cmd(0x2A03); send_data_cmd(l_X_end); send_ctrl_cmd(0x2B00); send_data_cmd(h_Y_start); send_ctrl_cmd(0x2B01); send_data_cmd(l_Y_start); send_ctrl_cmd(0x2B02); send_data_cmd(h_Y_end); send_ctrl_cmd(0x2B03); send_data_cmd(l_Y_end); #else send_ctrl_cmd(0x2A00); send_data_cmd(h_X_start); send_data_cmd(l_X_start); send_data_cmd(h_X_end); send_data_cmd(l_X_end); send_ctrl_cmd(0x2B00); send_data_cmd(h_Y_start); send_data_cmd(l_Y_start); send_data_cmd(h_Y_end); send_data_cmd(l_Y_end); #endif send_ctrl_cmd(0x2900); send_ctrl_cmd(0x2C00); }
static void init_lcm_registers(void) { send_ctrl_cmd(0x1100); MDELAY(200); send_ctrl_cmd(0xC000); send_data_cmd(0x86); send_ctrl_cmd(0xC001); send_data_cmd(0x00); send_ctrl_cmd(0xC002); send_data_cmd(0x86); send_ctrl_cmd(0xC003); send_data_cmd(0x00); send_ctrl_cmd(0xC100); send_data_cmd(0x45); send_ctrl_cmd(0xC200); send_data_cmd(0x21); send_ctrl_cmd(0xC202); send_data_cmd(0x02); send_ctrl_cmd(0xB600); send_data_cmd(0x30); send_ctrl_cmd(0xB602); send_data_cmd(0x30); send_ctrl_cmd(0xC700); send_data_cmd(0x8F); send_ctrl_cmd(0xE000); send_data_cmd(0x0E); send_ctrl_cmd(0xE001); send_data_cmd(0x14); send_ctrl_cmd(0xE002); send_data_cmd(0x29); send_ctrl_cmd(0xE003); send_data_cmd(0x3A); send_ctrl_cmd(0xE004); send_data_cmd(0x1D); send_ctrl_cmd(0xE005); send_data_cmd(0x30); send_ctrl_cmd(0xE006); send_data_cmd(0x61); send_ctrl_cmd(0xE007); send_data_cmd(0x3D); send_ctrl_cmd(0xE008); send_data_cmd(0x22); send_ctrl_cmd(0xE009); send_data_cmd(0x2A); send_ctrl_cmd(0xE00A); send_data_cmd(0x87); send_ctrl_cmd(0xE00B); send_data_cmd(0x16); send_ctrl_cmd(0xE00C); send_data_cmd(0x3B); send_ctrl_cmd(0xE00D); send_data_cmd(0x4C); send_ctrl_cmd(0xE00E); send_data_cmd(0x78); send_ctrl_cmd(0xE00F); send_data_cmd(0x96); send_ctrl_cmd(0xE010); send_data_cmd(0x4A); send_ctrl_cmd(0xE011); send_data_cmd(0x4D); send_ctrl_cmd(0xE100); send_data_cmd(0x0E); send_ctrl_cmd(0xE101); send_data_cmd(0x14); send_ctrl_cmd(0xE102); send_data_cmd(0x29); send_ctrl_cmd(0xE103); send_data_cmd(0x3A); send_ctrl_cmd(0xE104); send_data_cmd(0x1D); send_ctrl_cmd(0xE105); send_data_cmd(0x30); send_ctrl_cmd(0xE106); send_data_cmd(0x61); send_ctrl_cmd(0xE107); send_data_cmd(0x3F); send_ctrl_cmd(0xE108); send_data_cmd(0x20); send_ctrl_cmd(0xE109); send_data_cmd(0x26); send_ctrl_cmd(0xE10A); send_data_cmd(0x83); send_ctrl_cmd(0xE10B); send_data_cmd(0x16); send_ctrl_cmd(0xE10C); send_data_cmd(0x3B); send_ctrl_cmd(0xE10D); send_data_cmd(0x4C); send_ctrl_cmd(0xE10E); send_data_cmd(0x78); send_ctrl_cmd(0xE10F); send_data_cmd(0x96); send_ctrl_cmd(0xE110); send_data_cmd(0x4A); send_ctrl_cmd(0xE111); send_data_cmd(0x4D); send_ctrl_cmd(0xE200); send_data_cmd(0x0E); send_ctrl_cmd(0xE201); send_data_cmd(0x14); send_ctrl_cmd(0xE202); send_data_cmd(0x29); send_ctrl_cmd(0xE203); send_data_cmd(0x3A); send_ctrl_cmd(0xE204); send_data_cmd(0x1D); send_ctrl_cmd(0xE205); send_data_cmd(0x30); send_ctrl_cmd(0xE206); send_data_cmd(0x61); send_ctrl_cmd(0xE207); send_data_cmd(0x3D); send_ctrl_cmd(0xE208); send_data_cmd(0x22); send_ctrl_cmd(0xE209); send_data_cmd(0x2A); send_ctrl_cmd(0xE20A); send_data_cmd(0x87); send_ctrl_cmd(0xE20B); send_data_cmd(0x16); send_ctrl_cmd(0xE20C); send_data_cmd(0x3B); send_ctrl_cmd(0xE20D); send_data_cmd(0x4C); send_ctrl_cmd(0xE20E); send_data_cmd(0x78); send_ctrl_cmd(0xE20F); send_data_cmd(0x96); send_ctrl_cmd(0xE210); send_data_cmd(0x4A); send_ctrl_cmd(0xE211); send_data_cmd(0x4D); send_ctrl_cmd(0xE300); send_data_cmd(0x0E); send_ctrl_cmd(0xE301); send_data_cmd(0x14); send_ctrl_cmd(0xE302); send_data_cmd(0x29); send_ctrl_cmd(0xE303); send_data_cmd(0x3A); send_ctrl_cmd(0xE304); send_data_cmd(0x1D); send_ctrl_cmd(0xE305); send_data_cmd(0x30); send_ctrl_cmd(0xE306); send_data_cmd(0x61); send_ctrl_cmd(0xE307); send_data_cmd(0x3F); send_ctrl_cmd(0xE308); send_data_cmd(0x20); send_ctrl_cmd(0xE309); send_data_cmd(0x26); send_ctrl_cmd(0xE30A); send_data_cmd(0x83); send_ctrl_cmd(0xE30B); send_data_cmd(0x16); send_ctrl_cmd(0xE30C); send_data_cmd(0x3B); send_ctrl_cmd(0xE30D); send_data_cmd(0x4C); send_ctrl_cmd(0xE30E); send_data_cmd(0x78); send_ctrl_cmd(0xE30F); send_data_cmd(0x96); send_ctrl_cmd(0xE310); send_data_cmd(0x4A); send_ctrl_cmd(0xE311); send_data_cmd(0x4D); send_ctrl_cmd(0xE400); send_data_cmd(0x0E); send_ctrl_cmd(0xE401); send_data_cmd(0x14); send_ctrl_cmd(0xE402); send_data_cmd(0x29); send_ctrl_cmd(0xE403); send_data_cmd(0x3A); send_ctrl_cmd(0xE404); send_data_cmd(0x1D); send_ctrl_cmd(0xE405); send_data_cmd(0x30); send_ctrl_cmd(0xE406); send_data_cmd(0x61); send_ctrl_cmd(0xE407); send_data_cmd(0x3D); send_ctrl_cmd(0xE408); send_data_cmd(0x22); send_ctrl_cmd(0xE409); send_data_cmd(0x2A); send_ctrl_cmd(0xE40A); send_data_cmd(0x87); send_ctrl_cmd(0xE40B); send_data_cmd(0x16); send_ctrl_cmd(0xE40C); send_data_cmd(0x3B); send_ctrl_cmd(0xE40D); send_data_cmd(0x4C); send_ctrl_cmd(0xE40E); send_data_cmd(0x78); send_ctrl_cmd(0xE40F); send_data_cmd(0x96); send_ctrl_cmd(0xE410); send_data_cmd(0x4A); send_ctrl_cmd(0xE411); send_data_cmd(0x4D); send_ctrl_cmd(0xE500); send_data_cmd(0x0E); send_ctrl_cmd(0xE501); send_data_cmd(0x14); send_ctrl_cmd(0xE502); send_data_cmd(0x29); send_ctrl_cmd(0xE503); send_data_cmd(0x3A); send_ctrl_cmd(0xE504); send_data_cmd(0x1D); send_ctrl_cmd(0xE505); send_data_cmd(0x30); send_ctrl_cmd(0xE506); send_data_cmd(0x61); send_ctrl_cmd(0xE507); send_data_cmd(0x3F); send_ctrl_cmd(0xE508); send_data_cmd(0x20); send_ctrl_cmd(0xE509); send_data_cmd(0x26); send_ctrl_cmd(0xE50A); send_data_cmd(0x83); send_ctrl_cmd(0xE50B); send_data_cmd(0x16); send_ctrl_cmd(0xE50C); send_data_cmd(0x3B); send_ctrl_cmd(0xE50D); send_data_cmd(0x4C); send_ctrl_cmd(0xE50E); send_data_cmd(0x78); send_ctrl_cmd(0xE50F); send_data_cmd(0x96); send_ctrl_cmd(0xE510); send_data_cmd(0x4A); send_ctrl_cmd(0xE511); send_data_cmd(0x4D); send_ctrl_cmd(0x2900); MDELAY(200); send_ctrl_cmd(0x2C00); }
static void init_lcm_registers(void) { #if 1 //defined(CONFIG_LGE_L30_REVA) /* LGE_BSP_COMMON LGE_CHANGE_S 140116 jongwoo82.lee : L30 RevA, Tovis LCD */ send_ctrl_cmd(0xCF); // EXTC Option send_data_cmd(0x00); send_data_cmd(0xA1); // 0x21 -> 0xA1 : low temp white screen issue fix send_data_cmd(0x20); send_ctrl_cmd(0xF2); // 3-Gamma Function Off send_data_cmd(0x03); // 0x02 -> 0x03 send_ctrl_cmd(0xB4); // Inversion Control -> 2Dot inversion send_data_cmd(0x02); send_ctrl_cmd(0xC0); // Powr control 1 send_data_cmd(0x15); // 0x11 -> 0x16 -> 0x15 send_data_cmd(0x15); // 0x11 -> 0x16 -> 0x15 send_ctrl_cmd(0xC1); // Power control 2 send_data_cmd(0x04); // 0x07 -> 0x04 send_ctrl_cmd(0xC2); // Powr control 3 send_data_cmd(0x32); // 0x43->0x32 send_ctrl_cmd(0xC5); // Vcom control 1 send_data_cmd(0xFC); // 0xFD -> 0xFC send_ctrl_cmd(0xCB); // V-core Setting send_data_cmd(0x31); send_data_cmd(0x24); send_data_cmd(0x00); send_data_cmd(0x34); send_ctrl_cmd(0xF6); // Interface control send_data_cmd(0x41); send_data_cmd(0x30); send_data_cmd(0x00); send_ctrl_cmd(0xB7); // Entry Mode Set send_data_cmd(0x06); send_ctrl_cmd(0xB1); // Frame Rate Control send_data_cmd(0x00); send_data_cmd(0x1D); // 0x1B -> 0x1D send_ctrl_cmd(0x36); // Memory Access Control send_data_cmd(0x08); send_ctrl_cmd(0xB5); // Blanking Porch control send_data_cmd(0x02); send_data_cmd(0x02); send_data_cmd(0x0A); send_data_cmd(0x14); send_ctrl_cmd(0xB6); // Display Function control send_data_cmd(0x0A); send_data_cmd(0x82); send_data_cmd(0x27); send_data_cmd(0x00); send_ctrl_cmd(0x3A); // Pixel Format->DBI(5=16bit) send_data_cmd(0x05); send_ctrl_cmd(0x35); // Tearing Effect Line On send_data_cmd(0x00); send_ctrl_cmd(0x44); // Tearing Effect Control Parameter send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0xE0); // Positive Gamma Correction send_data_cmd(0x00); send_data_cmd(0x0A); // 0x0A -> 0x08 send_data_cmd(0x10); // 0x11 -> 0x0A send_data_cmd(0x05); // 0x02 -> 0x07 send_data_cmd(0x14); send_data_cmd(0x0A); // 0x07 -> 0x08 send_data_cmd(0x3E); // 0x3E -> 0x3F send_data_cmd(0x67); // 0x43 -> 0x30 send_data_cmd(0x4D); // 0x4B -> 0x4A send_data_cmd(0x06); // 0x05 -> 0x04 send_data_cmd(0x0B); // 0x0C -> 0x0b send_data_cmd(0x0A); send_data_cmd(0x1D); // 0x1D -> 0x1C send_data_cmd(0x24); // 0x23 -> 0x1E send_data_cmd(0x0F); send_ctrl_cmd(0xE1); // Negative Gamma Correction send_data_cmd(0x00); // 0x06 -> 0x00 send_data_cmd(0x1E); // 0x1A -> 0x21 send_data_cmd(0x23); // 0x24 -> 0x23 send_data_cmd(0x00); // 0x03 -> 0x00 send_data_cmd(0x0B); // 0x0D -> 0x0C send_data_cmd(0x02); // 0x05 -> 0x01 send_data_cmd(0x32); // 0x34 -> 0x31 send_data_cmd(0x15); // 0x22 -> 0x03 send_data_cmd(0x41); // 0x45 -> 0x43 send_data_cmd(0x03); // 0x01 -> 0x02 send_data_cmd(0x09); // 0x09 -> 0x0c send_data_cmd(0x09); // 0x08 -> 0x07 send_data_cmd(0x2C); // 0x30 -> 0x34 send_data_cmd(0x31); // 0x35 -> 0x36 send_data_cmd(0x0F); send_ctrl_cmd(0xE2); // Digital Gamma Control 1 send_data_cmd(0x00); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x91); send_data_cmd(0x00); send_ctrl_cmd(0xE3); // Digital Gamma Control 2 send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_ctrl_cmd(0x2A); // Column address send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0x2B); // Page address send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x3F); send_ctrl_cmd(0xE8); send_data_cmd(0x84); send_data_cmd(0x1A); send_data_cmd(0x68); // 0x38 -> 0x68 send_ctrl_cmd(0x11); // Exit Sleep MDELAY(120); send_ctrl_cmd(0x2C); MDELAY(80); send_ctrl_cmd(0x29); // LCD on #else // LGE_BSP_COMMON [email protected] 131220 , L30 EVB send_ctrl_cmd(0xCF); // EXTC Option send_data_cmd(0x20); send_data_cmd(0x21); send_ctrl_cmd(0xB4); // Inversion Control -> 2Dot inversion send_data_cmd(0x02); send_ctrl_cmd(0xC0); // Powr control 1 send_data_cmd(0x14); send_data_cmd(0x0F); send_ctrl_cmd(0xC1); // Power control 2 send_data_cmd(0x04); send_ctrl_cmd(0xC2); // Powr control 3 send_data_cmd(0x32); send_ctrl_cmd(0xC5); // Vcom control 1 send_data_cmd(0xFC); send_ctrl_cmd(0xF6); // Interface control send_data_cmd(0x41); send_data_cmd(0x30); send_data_cmd(0x00); send_ctrl_cmd(0xB7); // Entry Mode Set send_data_cmd(0x06); send_ctrl_cmd(0xB1); // Frame Rate Control send_data_cmd(0x00); send_data_cmd(0x1F); send_ctrl_cmd(0x36); // Memory Access Control send_data_cmd(0x08); // seosc 08 -> C8 send_ctrl_cmd(0xB5); // Blanking Porch control send_data_cmd(0x02); send_data_cmd(0x02); send_data_cmd(0x0A); send_data_cmd(0x14); send_ctrl_cmd(0xB6); // Display Function control send_data_cmd(0x0A); send_data_cmd(0x02); send_data_cmd(0x27); send_data_cmd(0x04); send_ctrl_cmd(0x3A); // Pixel Format->DBI(5=16bit) send_data_cmd(0x55); send_ctrl_cmd(0x35); // Tearing Effect Line On send_data_cmd(0x00); send_ctrl_cmd(0x44); // Tearing Effect Control Parameter send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0xE0); // Positive Gamma Correction send_data_cmd(0x08); send_data_cmd(0x11); send_data_cmd(0x17); send_data_cmd(0x07); send_data_cmd(0x12); send_data_cmd(0x07); send_data_cmd(0x39); send_data_cmd(0x12); send_data_cmd(0x4D); send_data_cmd(0x02); send_data_cmd(0x0A); send_data_cmd(0x09); send_data_cmd(0x2E); send_data_cmd(0x35); send_data_cmd(0x0F); send_ctrl_cmd(0xE1); // Negative Gamma Correction send_data_cmd(0x08); send_data_cmd(0x0E); send_data_cmd(0x13); send_data_cmd(0x04); send_data_cmd(0x10); send_data_cmd(0x04); send_data_cmd(0x37); send_data_cmd(0x01); send_data_cmd(0x49); send_data_cmd(0x08); send_data_cmd(0x0F); send_data_cmd(0x0C); send_data_cmd(0x2C); send_data_cmd(0x35); send_data_cmd(0x0F); send_ctrl_cmd(0x2A); // Column address send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0xEF); send_ctrl_cmd(0x2B); // Page address send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x3F); send_ctrl_cmd(0xE8); send_data_cmd(0x84); send_data_cmd(0x1A); send_data_cmd(0x68); send_ctrl_cmd(0x11); MDELAY(120); send_ctrl_cmd(0X29); #endif /* LGE_BSP_COMMON LGE_CHANGE_S 140116 jongwoo82.lee : L30 RevA, Tovis LCD */ }
static void init_lcm_registers(void) { //ENABLE PAGE 1 set_lcm_register(0xF000,0x55); set_lcm_register(0xF001,0xAA); set_lcm_register(0xF002,0x52); set_lcm_register(0xF003,0x08); set_lcm_register(0xF004,0x00); set_lcm_register(0xB100,0x0C); set_lcm_register(0xB101,0x00); //VGMP/VGMN/VCOM SETING set_lcm_register(0xBC00,0x05); set_lcm_register(0xBC01,0x05); set_lcm_register(0xBC02,0x05); set_lcm_register(0xF000,0x55); set_lcm_register(0xF001,0xAA); set_lcm_register(0xF002,0x52); set_lcm_register(0xF003,0x08); set_lcm_register(0xF004,0x01); //BGH VOLTAGE SETTING set_lcm_register(0xB900,0x24); set_lcm_register(0xB901,0x24); set_lcm_register(0xB902,0x24); //VGLX VOLTAGE SETTING set_lcm_register(0xBA00,0x24); set_lcm_register(0xBA01,0x24); set_lcm_register(0xBA02,0x24); set_lcm_register(0xBE00,0x00);//40 set_lcm_register(0xBE01,0x78);//78 //Z-INVERSION set_lcm_register(0xBC00,0x00); set_lcm_register(0xBC01,0x88); set_lcm_register(0xBC02,0x01); set_lcm_register(0xBD00,0x00); set_lcm_register(0xBD01,0x88); set_lcm_register(0xBD02,0x01); //GAMMA SETING RED set_lcm_register(0xD100,0x00); set_lcm_register(0xD101,0x00); set_lcm_register(0xD102,0x00); set_lcm_register(0xD103,0x16); set_lcm_register(0xD104,0x00); set_lcm_register(0xD105,0x42); set_lcm_register(0xD106,0x00); set_lcm_register(0xD107,0x61); set_lcm_register(0xD108,0x00); set_lcm_register(0xD109,0x74); set_lcm_register(0xD10A,0x00); set_lcm_register(0xD10B,0x97); set_lcm_register(0xD10C,0x00); set_lcm_register(0xD10D,0xAD); set_lcm_register(0xD10E,0x00); set_lcm_register(0xD10F,0xDE); set_lcm_register(0xD110,0x01); set_lcm_register(0xD111,0x00); set_lcm_register(0xD112,0x01); set_lcm_register(0xD113,0x26); set_lcm_register(0xD114,0x01); set_lcm_register(0xD115,0x50); set_lcm_register(0xD116,0x01); set_lcm_register(0xD117,0x87); set_lcm_register(0xD118,0x01); set_lcm_register(0xD119,0xB3); set_lcm_register(0xD11A,0x01); set_lcm_register(0xD11B,0xB6); set_lcm_register(0xD11C,0x01); set_lcm_register(0xD11D,0xDC); set_lcm_register(0xD11E,0x02); set_lcm_register(0xD11F,0x04); set_lcm_register(0xD120,0x02); set_lcm_register(0xD121,0x1C); set_lcm_register(0xD122,0x02); set_lcm_register(0xD123,0x34); set_lcm_register(0xD124,0x02); set_lcm_register(0xD125,0x4E); set_lcm_register(0xD126,0x02); set_lcm_register(0xD127,0x8A); set_lcm_register(0xD128,0x02); set_lcm_register(0xD129,0xC2); set_lcm_register(0xD12A,0x03); set_lcm_register(0xD12B,0x04); set_lcm_register(0xD12C,0x03); set_lcm_register(0xD12D,0x2E); set_lcm_register(0xD12E,0x03); set_lcm_register(0xD12F,0x74); set_lcm_register(0xD130,0x03); set_lcm_register(0xD131,0xEB); set_lcm_register(0xD132,0x03); set_lcm_register(0xD133,0xFF); //GAMMA SETING RED set_lcm_register(0xD200,0x00); set_lcm_register(0xD201,0x00); set_lcm_register(0xD202,0x00); set_lcm_register(0xD203,0x16); set_lcm_register(0xD204,0x00); set_lcm_register(0xD205,0x42); set_lcm_register(0xD206,0x00); set_lcm_register(0xD207,0x61); set_lcm_register(0xD208,0x00); set_lcm_register(0xD209,0x74); set_lcm_register(0xD20A,0x00); set_lcm_register(0xD20B,0x97); set_lcm_register(0xD20C,0x00); set_lcm_register(0xD20D,0xAD); set_lcm_register(0xD20E,0x00); set_lcm_register(0xD20F,0xDE); set_lcm_register(0xD210,0x01); set_lcm_register(0xD211,0x00); set_lcm_register(0xD212,0x01); set_lcm_register(0xD213,0x26); set_lcm_register(0xD214,0x01); set_lcm_register(0xD215,0x50); set_lcm_register(0xD216,0x01); set_lcm_register(0xD217,0x87); set_lcm_register(0xD218,0x01); set_lcm_register(0xD219,0xB3); set_lcm_register(0xD21A,0x01); set_lcm_register(0xD21B,0xB6); set_lcm_register(0xD21C,0x01); set_lcm_register(0xD21D,0xDC); set_lcm_register(0xD21E,0x02); set_lcm_register(0xD21F,0x04); set_lcm_register(0xD220,0x02); set_lcm_register(0xD221,0x1C); set_lcm_register(0xD222,0x02); set_lcm_register(0xD223,0x34); set_lcm_register(0xD224,0x02); set_lcm_register(0xD225,0x4E); set_lcm_register(0xD226,0x02); set_lcm_register(0xD227,0x8A); set_lcm_register(0xD228,0x02); set_lcm_register(0xD229,0xC2); set_lcm_register(0xD22A,0x03); set_lcm_register(0xD22B,0x04); set_lcm_register(0xD22C,0x03); set_lcm_register(0xD22D,0x2E); set_lcm_register(0xD22E,0x03); set_lcm_register(0xD22F,0x74); set_lcm_register(0xD230,0x03); set_lcm_register(0xD231,0xEB); set_lcm_register(0xD232,0x03); set_lcm_register(0xD233,0xFF); //GAMMA SETING RED set_lcm_register(0xD300,0x00); set_lcm_register(0xD301,0x00); set_lcm_register(0xD302,0x00); set_lcm_register(0xD303,0x16); set_lcm_register(0xD304,0x00); set_lcm_register(0xD305,0x42); set_lcm_register(0xD306,0x00); set_lcm_register(0xD307,0x61); set_lcm_register(0xD308,0x00); set_lcm_register(0xD309,0x74); set_lcm_register(0xD30A,0x00); set_lcm_register(0xD30B,0x97); set_lcm_register(0xD30C,0x00); set_lcm_register(0xD30D,0xAD); set_lcm_register(0xD30E,0x00); set_lcm_register(0xD30F,0xDE); set_lcm_register(0xD310,0x01); set_lcm_register(0xD311,0x00); set_lcm_register(0xD312,0x01); set_lcm_register(0xD313,0x26); set_lcm_register(0xD314,0x01); set_lcm_register(0xD315,0x50); set_lcm_register(0xD316,0x01); set_lcm_register(0xD317,0x87); set_lcm_register(0xD318,0x01); set_lcm_register(0xD319,0xB3); set_lcm_register(0xD31A,0x01); set_lcm_register(0xD31B,0xB6); set_lcm_register(0xD31C,0x01); set_lcm_register(0xD31D,0xDC); set_lcm_register(0xD31E,0x02); set_lcm_register(0xD31F,0x04); set_lcm_register(0xD320,0x02); set_lcm_register(0xD321,0x1C); set_lcm_register(0xD322,0x02); set_lcm_register(0xD323,0x34); set_lcm_register(0xD324,0x02); set_lcm_register(0xD325,0x4E); set_lcm_register(0xD326,0x02); set_lcm_register(0xD327,0x8A); set_lcm_register(0xD328,0x02); set_lcm_register(0xD329,0xC2); set_lcm_register(0xD32A,0x03); set_lcm_register(0xD32B,0x04); set_lcm_register(0xD32C,0x03); set_lcm_register(0xD32D,0x2E); set_lcm_register(0xD32E,0x03); set_lcm_register(0xD32F,0x74); set_lcm_register(0xD330,0x03); set_lcm_register(0xD331,0xEB); set_lcm_register(0xD332,0x03); set_lcm_register(0xD333,0xFF); //GAMMA SETING RED set_lcm_register(0xD400,0x00); set_lcm_register(0xD401,0x00); set_lcm_register(0xD402,0x00); set_lcm_register(0xD403,0x16); set_lcm_register(0xD404,0x00); set_lcm_register(0xD405,0x42); set_lcm_register(0xD406,0x00); set_lcm_register(0xD407,0x61); set_lcm_register(0xD408,0x00); set_lcm_register(0xD409,0x74); set_lcm_register(0xD40A,0x00); set_lcm_register(0xD40B,0x97); set_lcm_register(0xD40C,0x00); set_lcm_register(0xD40D,0xAD); set_lcm_register(0xD40E,0x00); set_lcm_register(0xD40F,0xDE); set_lcm_register(0xD410,0x01); set_lcm_register(0xD411,0x00); set_lcm_register(0xD412,0x01); set_lcm_register(0xD413,0x26); set_lcm_register(0xD414,0x01); set_lcm_register(0xD415,0x50); set_lcm_register(0xD416,0x01); set_lcm_register(0xD417,0x87); set_lcm_register(0xD418,0x01); set_lcm_register(0xD419,0xB3); set_lcm_register(0xD41A,0x01); set_lcm_register(0xD41B,0xB6); set_lcm_register(0xD41C,0x01); set_lcm_register(0xD41D,0xDC); set_lcm_register(0xD41E,0x02); set_lcm_register(0xD41F,0x04); set_lcm_register(0xD420,0x02); set_lcm_register(0xD421,0x1C); set_lcm_register(0xD422,0x02); set_lcm_register(0xD423,0x34); set_lcm_register(0xD424,0x02); set_lcm_register(0xD425,0x4E); set_lcm_register(0xD426,0x02); set_lcm_register(0xD427,0x8A); set_lcm_register(0xD428,0x02); set_lcm_register(0xD429,0xC2); set_lcm_register(0xD42A,0x03); set_lcm_register(0xD42B,0x04); set_lcm_register(0xD42C,0x03); set_lcm_register(0xD42D,0x2E); set_lcm_register(0xD42E,0x03); set_lcm_register(0xD42F,0x74); set_lcm_register(0xD430,0x03); set_lcm_register(0xD431,0xEB); set_lcm_register(0xD432,0x03); set_lcm_register(0xD433,0xFF); //GAMMA SETING RED set_lcm_register(0xD500,0x00); set_lcm_register(0xD501,0x00); set_lcm_register(0xD502,0x00); set_lcm_register(0xD503,0x16); set_lcm_register(0xD504,0x00); set_lcm_register(0xD505,0x42); set_lcm_register(0xD506,0x00); set_lcm_register(0xD507,0x61); set_lcm_register(0xD508,0x00); set_lcm_register(0xD509,0x74); set_lcm_register(0xD50A,0x00); set_lcm_register(0xD50B,0x97); set_lcm_register(0xD50C,0x00); set_lcm_register(0xD50D,0xAD); set_lcm_register(0xD50E,0x00); set_lcm_register(0xD50F,0xDE); set_lcm_register(0xD510,0x01); set_lcm_register(0xD511,0x00); set_lcm_register(0xD512,0x01); set_lcm_register(0xD513,0x26); set_lcm_register(0xD514,0x01); set_lcm_register(0xD515,0x50); set_lcm_register(0xD516,0x01); set_lcm_register(0xD517,0x87); set_lcm_register(0xD518,0x01); set_lcm_register(0xD519,0xB3); set_lcm_register(0xD51A,0x01); set_lcm_register(0xD51B,0xB6); set_lcm_register(0xD51C,0x01); set_lcm_register(0xD51D,0xDC); set_lcm_register(0xD51E,0x02); set_lcm_register(0xD51F,0x04); set_lcm_register(0xD520,0x02); set_lcm_register(0xD521,0x1C); set_lcm_register(0xD522,0x02); set_lcm_register(0xD523,0x34); set_lcm_register(0xD524,0x02); set_lcm_register(0xD525,0x4E); set_lcm_register(0xD526,0x02); set_lcm_register(0xD527,0x8A); set_lcm_register(0xD528,0x02); set_lcm_register(0xD529,0xC2); set_lcm_register(0xD52A,0x03); set_lcm_register(0xD52B,0x04); set_lcm_register(0xD52C,0x03); set_lcm_register(0xD52D,0x2E); set_lcm_register(0xD52E,0x03); set_lcm_register(0xD52F,0x74); set_lcm_register(0xD530,0x03); set_lcm_register(0xD531,0xEB); set_lcm_register(0xD532,0x03); set_lcm_register(0xD533,0xFF); //GAMMA SETING RED set_lcm_register(0xD600,0x00); set_lcm_register(0xD601,0x00); set_lcm_register(0xD602,0x00); set_lcm_register(0xD603,0x16); set_lcm_register(0xD604,0x00); set_lcm_register(0xD605,0x42); set_lcm_register(0xD606,0x00); set_lcm_register(0xD607,0x61); set_lcm_register(0xD608,0x00); set_lcm_register(0xD609,0x74); set_lcm_register(0xD60A,0x00); set_lcm_register(0xD60B,0x97); set_lcm_register(0xD60C,0x00); set_lcm_register(0xD60D,0xAD); set_lcm_register(0xD60E,0x00); set_lcm_register(0xD60F,0xDE); set_lcm_register(0xD610,0x01); set_lcm_register(0xD611,0x00); set_lcm_register(0xD612,0x01); set_lcm_register(0xD613,0x26); set_lcm_register(0xD614,0x01); set_lcm_register(0xD615,0x50); set_lcm_register(0xD616,0x01); set_lcm_register(0xD617,0x87); set_lcm_register(0xD618,0x01); set_lcm_register(0xD619,0xB3); set_lcm_register(0xD61A,0x01); set_lcm_register(0xD61B,0xB6); set_lcm_register(0xD61C,0x01); set_lcm_register(0xD61D,0xDC); set_lcm_register(0xD61E,0x02); set_lcm_register(0xD61F,0x04); set_lcm_register(0xD620,0x02); set_lcm_register(0xD621,0x1C); set_lcm_register(0xD622,0x02); set_lcm_register(0xD623,0x34); set_lcm_register(0xD624,0x02); set_lcm_register(0xD625,0x4E); set_lcm_register(0xD626,0x02); set_lcm_register(0xD627,0x8A); set_lcm_register(0xD628,0x02); set_lcm_register(0xD629,0xC2); set_lcm_register(0xD62A,0x03); set_lcm_register(0xD62B,0x04); set_lcm_register(0xD62C,0x03); set_lcm_register(0xD62D,0x2E); set_lcm_register(0xD62E,0x03); set_lcm_register(0xD62F,0x74); set_lcm_register(0xD630,0x03); set_lcm_register(0xD631,0xEB); set_lcm_register(0xD632,0x03); set_lcm_register(0xD633,0xFF); set_lcm_register(0x3A00,0x77); MDELAY(10); send_ctrl_cmd(0x1100); MDELAY(150); send_ctrl_cmd(0x2900); MDELAY(100); }
static void lcm_resume(void) { send_ctrl_cmd(0x11); MDELAY(120); }
static void init_lcm_registers(void) { MDELAY(120); set_lcm_register(0xF000,0x55);//Enable Page 0 set_lcm_register(0xF001,0xAA); set_lcm_register(0xF002,0x52); set_lcm_register(0xF003,0x08); set_lcm_register(0xF004,0x00);//comand 1 set_lcm_register(0xB000,0x00);//RGB I/F signal setting set_lcm_register(0xB001,0x05); set_lcm_register(0xB002,0x02); set_lcm_register(0xB003,0x05); set_lcm_register(0xB004,0x02); set_lcm_register(0xB100,0x0C);//Display option control set_lcm_register(0xB101,0x00); set_lcm_register(0xBC00,0x05);//Z-inversion set_lcm_register(0xBC01,0x05); set_lcm_register(0xBC02,0x05); set_lcm_register(0xF000,0x55);//Enable Page 1 set_lcm_register(0xF001,0xAA); set_lcm_register(0xF002,0x52); set_lcm_register(0xF003,0x08); set_lcm_register(0xF004,0x01); set_lcm_register(0xB900,0x24);//VGH Voltage setting set_lcm_register(0xB901,0x24); set_lcm_register(0xB902,0x24); set_lcm_register(0xBA00,0x24);//VGLX Voltage setting set_lcm_register(0xBA01,0x24); set_lcm_register(0xBA02,0x24); set_lcm_register(0xBE00,0x00);//VCOM Voltage setting set_lcm_register(0xBE01,0x78); set_lcm_register(0xBC00,0x00);//VGMP/VGMN Setting set_lcm_register(0xBC01,0x88); set_lcm_register(0xBC02,0x01); set_lcm_register(0xBD00,0x00); set_lcm_register(0xBD01,0x88); set_lcm_register(0xBD02,0x01); set_lcm_register(0xD100,0x00);//Gamma setting RED set_lcm_register(0xD101,0x00); set_lcm_register(0xD102,0x00); set_lcm_register(0xD103,0x16); set_lcm_register(0xD104,0x00); set_lcm_register(0xD105,0x42); set_lcm_register(0xD106,0x00); set_lcm_register(0xD107,0x61); set_lcm_register(0xD108,0x00); set_lcm_register(0xD109,0x74); set_lcm_register(0xD10A,0x00); set_lcm_register(0xD10B,0x97); set_lcm_register(0xD10C,0x00); set_lcm_register(0xD10D,0xAD); set_lcm_register(0xD10E,0x00); set_lcm_register(0xD10F,0xDE); set_lcm_register(0xD110,0x01); set_lcm_register(0xD111,0x00); set_lcm_register(0xD112,0x01); set_lcm_register(0xD113,0x26); set_lcm_register(0xD114,0x01); set_lcm_register(0xD115,0x50); set_lcm_register(0xD116,0x01); set_lcm_register(0xD117,0x87); set_lcm_register(0xD118,0x01); set_lcm_register(0xD119,0xB3); set_lcm_register(0xD11A,0x01); set_lcm_register(0xD11B,0xB6); set_lcm_register(0xD11C,0x01); set_lcm_register(0xD11D,0xDC); set_lcm_register(0xD11E,0x02); set_lcm_register(0xD11F,0x04); set_lcm_register(0xD120,0x02); set_lcm_register(0xD121,0x1C); set_lcm_register(0xD122,0x02); set_lcm_register(0xD123,0x34); set_lcm_register(0xD124,0x02); set_lcm_register(0xD125,0x4E); set_lcm_register(0xD126,0x02); set_lcm_register(0xD127,0x8A); set_lcm_register(0xD128,0x02); set_lcm_register(0xD129,0xC2); set_lcm_register(0xD12A,0x03); set_lcm_register(0xD12B,0x04); set_lcm_register(0xD12C,0x03); set_lcm_register(0xD12D,0x2E); set_lcm_register(0xD12E,0x03); set_lcm_register(0xD12F,0x74); set_lcm_register(0xD130,0x03); set_lcm_register(0xD131,0xEB); set_lcm_register(0xD132,0x03); set_lcm_register(0xD133,0xFF); //Gamma setting Green positive set_lcm_register(0xD200,0x00); set_lcm_register(0xD201,0x00); set_lcm_register(0xD202,0x00); set_lcm_register(0xD203,0x16); set_lcm_register(0xD204,0x00); set_lcm_register(0xD205,0x42); set_lcm_register(0xD206,0x00); set_lcm_register(0xD207,0x61); set_lcm_register(0xD208,0x00); set_lcm_register(0xD209,0x74); set_lcm_register(0xD20A,0x00); set_lcm_register(0xD20B,0x97); set_lcm_register(0xD20C,0x00); set_lcm_register(0xD20D,0xAD); set_lcm_register(0xD20E,0x00); set_lcm_register(0xD20F,0xDE); set_lcm_register(0xD210,0x01); set_lcm_register(0xD211,0x00); set_lcm_register(0xD212,0x01); set_lcm_register(0xD213,0x26); set_lcm_register(0xD214,0x01); set_lcm_register(0xD215,0x50); set_lcm_register(0xD216,0x01); set_lcm_register(0xD217,0x87); set_lcm_register(0xD218,0x01); set_lcm_register(0xD219,0xB3); set_lcm_register(0xD21A,0x01); set_lcm_register(0xD21B,0xB6); set_lcm_register(0xD21C,0x01); set_lcm_register(0xD21D,0xDC); set_lcm_register(0xD21E,0x02); set_lcm_register(0xD21F,0x04); set_lcm_register(0xD220,0x02); set_lcm_register(0xD221,0x1C); set_lcm_register(0xD222,0x02); set_lcm_register(0xD223,0x34); set_lcm_register(0xD224,0x02); set_lcm_register(0xD225,0x4E); set_lcm_register(0xD226,0x02); set_lcm_register(0xD227,0x8A); set_lcm_register(0xD228,0x02); set_lcm_register(0xD229,0xC2); set_lcm_register(0xD22A,0x03); set_lcm_register(0xD22B,0x04); set_lcm_register(0xD22C,0x03); set_lcm_register(0xD22D,0x2E); set_lcm_register(0xD22E,0x03); set_lcm_register(0xD22F,0x74); set_lcm_register(0xD230,0x03); set_lcm_register(0xD231,0xEB); set_lcm_register(0xD232,0x03); set_lcm_register(0xD233,0xFF); //Gamma setting Blue positive set_lcm_register(0xD300,0x00); set_lcm_register(0xD301,0x00); set_lcm_register(0xD302,0x00); set_lcm_register(0xD303,0x16); set_lcm_register(0xD304,0x00); set_lcm_register(0xD305,0x42); set_lcm_register(0xD306,0x00); set_lcm_register(0xD307,0x61); set_lcm_register(0xD308,0x00); set_lcm_register(0xD309,0x74); set_lcm_register(0xD30A,0x00); set_lcm_register(0xD30B,0x97); set_lcm_register(0xD30C,0x00); set_lcm_register(0xD30D,0xAD); set_lcm_register(0xD30E,0x00); set_lcm_register(0xD30F,0xDE); set_lcm_register(0xD310,0x01); set_lcm_register(0xD311,0x00); set_lcm_register(0xD312,0x01); set_lcm_register(0xD313,0x26); set_lcm_register(0xD314,0x01); set_lcm_register(0xD315,0x50); set_lcm_register(0xD316,0x01); set_lcm_register(0xD317,0x87); set_lcm_register(0xD318,0x01); set_lcm_register(0xD319,0xB3); set_lcm_register(0xD31A,0x01); set_lcm_register(0xD31B,0xB6); set_lcm_register(0xD31C,0x01); set_lcm_register(0xD31D,0xDC); set_lcm_register(0xD31E,0x02); set_lcm_register(0xD31F,0x04); set_lcm_register(0xD320,0x02); set_lcm_register(0xD321,0x1C); set_lcm_register(0xD322,0x02); set_lcm_register(0xD323,0x34); set_lcm_register(0xD324,0x02); set_lcm_register(0xD325,0x4E); set_lcm_register(0xD326,0x02); set_lcm_register(0xD327,0x8A); set_lcm_register(0xD328,0x02); set_lcm_register(0xD329,0xC2); set_lcm_register(0xD32A,0x03); set_lcm_register(0xD32B,0x04); set_lcm_register(0xD32C,0x03); set_lcm_register(0xD32D,0x2E); set_lcm_register(0xD32E,0x03); set_lcm_register(0xD32F,0x74); set_lcm_register(0xD330,0x03); set_lcm_register(0xD331,0xEB); set_lcm_register(0xD332,0x03); set_lcm_register(0xD333,0xFF); //Gamma setting RED Negative set_lcm_register(0xD400,0x00); set_lcm_register(0xD401,0x00); set_lcm_register(0xD402,0x00); set_lcm_register(0xD403,0x16); set_lcm_register(0xD404,0x00); set_lcm_register(0xD405,0x42); set_lcm_register(0xD406,0x00); set_lcm_register(0xD407,0x61); set_lcm_register(0xD408,0x00); set_lcm_register(0xD409,0x74); set_lcm_register(0xD40A,0x00); set_lcm_register(0xD40B,0x97); set_lcm_register(0xD40C,0x00); set_lcm_register(0xD40D,0xAD); set_lcm_register(0xD40E,0x00); set_lcm_register(0xD40F,0xDE); set_lcm_register(0xD410,0x01); set_lcm_register(0xD411,0x00); set_lcm_register(0xD412,0x01); set_lcm_register(0xD413,0x26); set_lcm_register(0xD414,0x01); set_lcm_register(0xD415,0x50); set_lcm_register(0xD416,0x01); set_lcm_register(0xD417,0x87); set_lcm_register(0xD418,0x01); set_lcm_register(0xD419,0xB3); set_lcm_register(0xD41A,0x01); set_lcm_register(0xD41B,0xB6); set_lcm_register(0xD41C,0x01); set_lcm_register(0xD41D,0xDC); set_lcm_register(0xD41E,0x02); set_lcm_register(0xD41F,0x04); set_lcm_register(0xD420,0x02); set_lcm_register(0xD421,0x1C); set_lcm_register(0xD422,0x02); set_lcm_register(0xD423,0x34); set_lcm_register(0xD424,0x02); set_lcm_register(0xD425,0x4E); set_lcm_register(0xD426,0x02); set_lcm_register(0xD427,0x8A); set_lcm_register(0xD428,0x02); set_lcm_register(0xD429,0xC2); set_lcm_register(0xD42A,0x03); set_lcm_register(0xD42B,0x04); set_lcm_register(0xD42C,0x03); set_lcm_register(0xD42D,0x2E); set_lcm_register(0xD42E,0x03); set_lcm_register(0xD42F,0x74); set_lcm_register(0xD430,0x03); set_lcm_register(0xD431,0xEB); set_lcm_register(0xD432,0x03); set_lcm_register(0xD433,0xFF); //Gamma setting Green Negative set_lcm_register(0xD500,0x00); set_lcm_register(0xD501,0x00); set_lcm_register(0xD502,0x00); set_lcm_register(0xD503,0x16); set_lcm_register(0xD504,0x00); set_lcm_register(0xD505,0x42); set_lcm_register(0xD506,0x00); set_lcm_register(0xD507,0x61); set_lcm_register(0xD508,0x00); set_lcm_register(0xD509,0x74); set_lcm_register(0xD50A,0x00); set_lcm_register(0xD50B,0x97); set_lcm_register(0xD50C,0x00); set_lcm_register(0xD50D,0xAD); set_lcm_register(0xD50E,0x00); set_lcm_register(0xD50F,0xDE); set_lcm_register(0xD510,0x01); set_lcm_register(0xD511,0x00); set_lcm_register(0xD512,0x01); set_lcm_register(0xD513,0x26); set_lcm_register(0xD514,0x01); set_lcm_register(0xD515,0x50); set_lcm_register(0xD516,0x01); set_lcm_register(0xD517,0x87); set_lcm_register(0xD518,0x01); set_lcm_register(0xD519,0xB3); set_lcm_register(0xD51A,0x01); set_lcm_register(0xD51B,0xB6); set_lcm_register(0xD51C,0x01); set_lcm_register(0xD51D,0xDC); set_lcm_register(0xD51E,0x02); set_lcm_register(0xD51F,0x04); set_lcm_register(0xD520,0x02); set_lcm_register(0xD521,0x1C); set_lcm_register(0xD522,0x02); set_lcm_register(0xD523,0x34); set_lcm_register(0xD524,0x02); set_lcm_register(0xD525,0x4E); set_lcm_register(0xD526,0x02); set_lcm_register(0xD527,0x8A); set_lcm_register(0xD528,0x02); set_lcm_register(0xD529,0xC2); set_lcm_register(0xD52A,0x03); set_lcm_register(0xD52B,0x04); set_lcm_register(0xD52C,0x03); set_lcm_register(0xD52D,0x2E); set_lcm_register(0xD52E,0x03); set_lcm_register(0xD52F,0x74); set_lcm_register(0xD530,0x03); set_lcm_register(0xD531,0xEB); set_lcm_register(0xD532,0x03); set_lcm_register(0xD533,0xFF); //Gamma setting Blue Negative set_lcm_register(0xD600,0x00); set_lcm_register(0xD601,0x00); set_lcm_register(0xD602,0x00); set_lcm_register(0xD603,0x16); set_lcm_register(0xD604,0x00); set_lcm_register(0xD605,0x42); set_lcm_register(0xD606,0x00); set_lcm_register(0xD607,0x61); set_lcm_register(0xD608,0x00); set_lcm_register(0xD609,0x74); set_lcm_register(0xD60A,0x00); set_lcm_register(0xD60B,0x97); set_lcm_register(0xD60C,0x00); set_lcm_register(0xD60D,0xAD); set_lcm_register(0xD60E,0x00); set_lcm_register(0xD60F,0xDE); set_lcm_register(0xD610,0x01); set_lcm_register(0xD611,0x00); set_lcm_register(0xD612,0x01); set_lcm_register(0xD613,0x26); set_lcm_register(0xD614,0x01); set_lcm_register(0xD615,0x50); set_lcm_register(0xD616,0x01); set_lcm_register(0xD617,0x87); set_lcm_register(0xD618,0x01); set_lcm_register(0xD619,0xB3); set_lcm_register(0xD61A,0x01); set_lcm_register(0xD61B,0xB6); set_lcm_register(0xD61C,0x01); set_lcm_register(0xD61D,0xDC); set_lcm_register(0xD61E,0x02); set_lcm_register(0xD61F,0x04); set_lcm_register(0xD620,0x02); set_lcm_register(0xD621,0x1C); set_lcm_register(0xD622,0x02); set_lcm_register(0xD623,0x34); set_lcm_register(0xD624,0x02); set_lcm_register(0xD625,0x4E); set_lcm_register(0xD626,0x02); set_lcm_register(0xD627,0x8A); set_lcm_register(0xD628,0x02); set_lcm_register(0xD629,0xC2); set_lcm_register(0xD62A,0x03); set_lcm_register(0xD62B,0x04); set_lcm_register(0xD62C,0x03); set_lcm_register(0xD62D,0x2E); set_lcm_register(0xD62E,0x03); set_lcm_register(0xD62F,0x74); set_lcm_register(0xD630,0x03); set_lcm_register(0xD631,0xEB); set_lcm_register(0xD632,0x03); set_lcm_register(0xD633,0xFF); //set_lcm_register(0xB700,0x00);//Gate EQ //set_lcm_register(0xB701,0x00); //set_lcm_register(0xB800,0x01);//Source EQ //set_lcm_register(0xB801,0x05); //set_lcm_register(0xB802,0x05); //set_lcm_register(0xB803,0x05); //set_lcm_register(0xFF00,0xAA);//#ENABLE LV3 //set_lcm_register(0xFF01,0x55); //set_lcm_register(0xFF02,0x25); //set_lcm_register(0xFF03,0x01); //set_lcm_register(0xB101,0x04); //set_lcm_register(0x3600,0x80);//set memory data access control set_lcm_register(0x3A00,0x77);//set interface pixel format //#StartUp send_ctrl_cmd(0x1100); MDELAY(200); send_ctrl_cmd(0x2900); MDELAY(120); send_ctrl_cmd(0x2C00); MDELAY(120); }
static void init_lcm_registers(void) { send_ctrl_cmd(0xB9); // SET password send_data_cmd(0xFF); send_data_cmd(0x83); send_data_cmd(0x69); send_ctrl_cmd(0xB1); //Set Power send_data_cmd(0x85); send_data_cmd(0x00); send_data_cmd(0x34); send_data_cmd(0x0A); send_data_cmd(0x00); send_data_cmd(0x0F); send_data_cmd(0x0F); send_data_cmd(0x2A); send_data_cmd(0x32); send_data_cmd(0x3F); send_data_cmd(0x3F); send_data_cmd(0x01); send_data_cmd(0x23); send_data_cmd(0x01); send_data_cmd(0xE6); send_data_cmd(0xE6); send_data_cmd(0xE6); send_data_cmd(0xE6); send_data_cmd(0xE6); send_ctrl_cmd(0xB2); // SET Display 480x800 send_data_cmd(0x00); send_data_cmd(0x20); send_data_cmd(0x03); send_data_cmd(0x03); send_data_cmd(0x70); send_data_cmd(0x00); send_data_cmd(0xFF); send_data_cmd(0x06); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x03); send_data_cmd(0x03); send_data_cmd(0x00); send_data_cmd(0x01); send_ctrl_cmd(0xB4); // SET Display column inversion send_data_cmd(0x00); send_data_cmd(0x18); send_data_cmd(0x80); send_data_cmd(0x06); send_data_cmd(0x02); send_ctrl_cmd(0xB6); // SET VCOM send_data_cmd(0x3A); send_data_cmd(0x3A); send_ctrl_cmd(0xD5); send_data_cmd(0x00); send_data_cmd(0x02); send_data_cmd(0x03); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x03); send_data_cmd(0x28); send_data_cmd(0x70); send_data_cmd(0x01); send_data_cmd(0x03); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x40); send_data_cmd(0x06); send_data_cmd(0x51); send_data_cmd(0x07); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x41); send_data_cmd(0x06); send_data_cmd(0x50); send_data_cmd(0x07); send_data_cmd(0x07); send_data_cmd(0x0F); send_data_cmd(0x04); send_data_cmd(0x00); send_ctrl_cmd(0xE0); // Set Gamma send_data_cmd(0x00); send_data_cmd(0x13); send_data_cmd(0x19); send_data_cmd(0x38); send_data_cmd(0x3D); send_data_cmd(0x3F); send_data_cmd(0x28); send_data_cmd(0x46); send_data_cmd(0x07); send_data_cmd(0x0D); send_data_cmd(0x0E); send_data_cmd(0x12); send_data_cmd(0x15); send_data_cmd(0x12); send_data_cmd(0x14); send_data_cmd(0x0F); send_data_cmd(0x17); send_data_cmd(0x00); send_data_cmd(0x13); send_data_cmd(0x19); send_data_cmd(0x38); send_data_cmd(0x3D); send_data_cmd(0x3F); send_data_cmd(0x28); send_data_cmd(0x46); send_data_cmd(0x07); send_data_cmd(0x0D); send_data_cmd(0x0E); send_data_cmd(0x12); send_data_cmd(0x15); send_data_cmd(0x12); send_data_cmd(0x14); send_data_cmd(0x0F); send_data_cmd(0x17); send_ctrl_cmd(0xC1); // Set DGC send_data_cmd(0x01); send_data_cmd(0x04); send_data_cmd(0x13); send_data_cmd(0x1A); send_data_cmd(0x20); send_data_cmd(0x27); send_data_cmd(0x2C); send_data_cmd(0x32); send_data_cmd(0x36); send_data_cmd(0x3F); send_data_cmd(0x47); send_data_cmd(0x50); send_data_cmd(0x59); send_data_cmd(0x60); send_data_cmd(0x68); send_data_cmd(0x71); send_data_cmd(0x7B); send_data_cmd(0x82); send_data_cmd(0x89); send_data_cmd(0x91); send_data_cmd(0x98); send_data_cmd(0xA0); send_data_cmd(0xA8); send_data_cmd(0xB0); send_data_cmd(0xB8); send_data_cmd(0xC1); send_data_cmd(0xC9); send_data_cmd(0xD0); send_data_cmd(0xD7); send_data_cmd(0xE0); send_data_cmd(0xE7); send_data_cmd(0xEF); send_data_cmd(0xF7); send_data_cmd(0xFE); send_data_cmd(0xCF); send_data_cmd(0x52); send_data_cmd(0x34); send_data_cmd(0xF8); send_data_cmd(0x51); send_data_cmd(0xF5); send_data_cmd(0x9D); send_data_cmd(0x75); send_data_cmd(0x00); send_data_cmd(0x04); send_data_cmd(0x13); send_data_cmd(0x1A); send_data_cmd(0x20); send_data_cmd(0x27); send_data_cmd(0x2C); send_data_cmd(0x32); send_data_cmd(0x36); send_data_cmd(0x3F); send_data_cmd(0x47); send_data_cmd(0x50); send_data_cmd(0x59); send_data_cmd(0x60); send_data_cmd(0x68); send_data_cmd(0x71); send_data_cmd(0x7B); send_data_cmd(0x82); send_data_cmd(0x89); send_data_cmd(0x91); send_data_cmd(0x98); send_data_cmd(0xA0); send_data_cmd(0xA8); send_data_cmd(0xB0); send_data_cmd(0xB8); send_data_cmd(0xC1); send_data_cmd(0xC9); send_data_cmd(0xD0); send_data_cmd(0xD7); send_data_cmd(0xE0); send_data_cmd(0xE7); send_data_cmd(0xEF); send_data_cmd(0xF7); send_data_cmd(0xFE); send_data_cmd(0xCF); send_data_cmd(0x52); send_data_cmd(0x34); send_data_cmd(0xF8); send_data_cmd(0x51); send_data_cmd(0xF5); send_data_cmd(0x9D); send_data_cmd(0x75); send_data_cmd(0x00); send_data_cmd(0x04); send_data_cmd(0x13); send_data_cmd(0x1A); send_data_cmd(0x20); send_data_cmd(0x27); send_data_cmd(0x2C); send_data_cmd(0x32); send_data_cmd(0x36); send_data_cmd(0x3F); send_data_cmd(0x47); send_data_cmd(0x50); send_data_cmd(0x59); send_data_cmd(0x60); send_data_cmd(0x68); send_data_cmd(0x71); send_data_cmd(0x7B); send_data_cmd(0x82); send_data_cmd(0x89); send_data_cmd(0x91); send_data_cmd(0x98); send_data_cmd(0xA0); send_data_cmd(0xA8); send_data_cmd(0xB0); send_data_cmd(0xB8); send_data_cmd(0xC1); send_data_cmd(0xC9); send_data_cmd(0xD0); send_data_cmd(0xD7); send_data_cmd(0xE0); send_data_cmd(0xE7); send_data_cmd(0xEF); send_data_cmd(0xF7); send_data_cmd(0xFE); send_data_cmd(0xCF); send_data_cmd(0x52); send_data_cmd(0x34); send_data_cmd(0xF8); send_data_cmd(0x51); send_data_cmd(0xF5); send_data_cmd(0x9D); send_data_cmd(0x75); send_data_cmd(0x00); send_ctrl_cmd(0x3A); // set Interface Pixel Format send_data_cmd(0x07); // 0x07=24 Bit/Pixel; 0x06=18 Bit/Pixel; 0x05=16 Bit/Pixel send_ctrl_cmd(0x51);//write display brightness send_data_cmd(0xff);//set brightness 0x00-0xff MDELAY(50); send_ctrl_cmd(0x53);//write ctrl display send_data_cmd(0x24); MDELAY(50); send_ctrl_cmd(0x55); send_data_cmd(0x02);//still picture MDELAY(50); send_ctrl_cmd(0x5e);//write CABC minumum brightness send_data_cmd(0x70);// MDELAY(50); send_ctrl_cmd(0x11); MDELAY(120); }
static void init_lcm_registers(void) { #if defined(BUILD_UBOOT) printf("mycat LCD huarui lcd +++000 \n"); #endif // VCI=2.8V //************* Reset LCD Driver ****************// //LCD_nRESET = 1; //delayms(1); // Delay 1ms //LCD_nRESET = 0; //delayms(10); // Delay 10ms // This delay time is necessary //LCD_nRESET = 1; //delayms(120); // Delay 120 ms //************* Start Initial Sequence **********// send_ctrl_cmd(0xFF); // EXTC Command Set enable register send_data_cmd(0xFF); send_data_cmd(0x98); send_data_cmd(0x06); send_ctrl_cmd(0xBA); // SPI Interface Setting send_data_cmd(0x60); send_ctrl_cmd(0xBC); // GIP 1 send_data_cmd(0x03); send_data_cmd(0x0E); send_data_cmd(0x61); send_data_cmd(0x6A); send_data_cmd(0x01); send_data_cmd(0x01); send_data_cmd(0x1B); send_data_cmd(0x12); send_data_cmd(0x39); send_data_cmd(0x10); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x01); send_data_cmd(0x01); send_data_cmd(0x03); send_data_cmd(0x00); send_data_cmd(0xFF); send_data_cmd(0XF2); send_data_cmd(0x01); send_data_cmd(0x00); send_data_cmd(0xC0); send_ctrl_cmd(0xBD); // GIP 2 send_data_cmd(0x01); send_data_cmd(0x45); send_data_cmd(0x45); send_data_cmd(0x01); send_data_cmd(0x01); send_data_cmd(0x23); send_data_cmd(0x45); send_data_cmd(0x67); send_ctrl_cmd(0xBE); // GIP 3 send_data_cmd(0x01); send_data_cmd(0x21); send_data_cmd(0x06); send_data_cmd(0x82); send_data_cmd(0x2A); send_data_cmd(0xCB); send_data_cmd(0xD2); send_data_cmd(0x22); send_data_cmd(0x22); send_ctrl_cmd(0xC7); // Vcom send_data_cmd(0x3E);//38 send_ctrl_cmd(0xED); // EN_volt_reg send_data_cmd(0x7F); send_data_cmd(0x0F); send_data_cmd(0x00); send_ctrl_cmd(0xC0); // Power Control 1 send_data_cmd(0x03); send_data_cmd(0x0B); send_data_cmd(0x0C); send_ctrl_cmd(0xFC); // LVGL send_data_cmd(0x08); send_ctrl_cmd(0xDF); // Engineering Setting send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x00); send_data_cmd(0x20); send_ctrl_cmd(0xF3); // DVDD Voltage Setting send_data_cmd(0x74); send_ctrl_cmd(0xB4); // Display Inversion Control send_data_cmd(0x00); send_data_cmd(0x00); // send_data_cmd(0x02); send_ctrl_cmd(0xF7); // 480x854 send_data_cmd(0x81); send_ctrl_cmd(0xB1); // Frame Rate send_data_cmd(0x00); send_data_cmd(0x13); send_data_cmd(0x13); send_ctrl_cmd(0xF2); //Panel Timing Control send_data_cmd(0x80); send_data_cmd(0x06); send_data_cmd(0x40); send_data_cmd(0x2A); send_ctrl_cmd(0xC1); // Power Control 2 send_data_cmd(0x17); send_data_cmd(0x70); send_data_cmd(0x6E); send_data_cmd(0x20); send_ctrl_cmd(0xE0); send_data_cmd(0x00); //P1 send_data_cmd(0x03); //P2 send_data_cmd(0x0C); //P3 send_data_cmd(0x0F); //P4 send_data_cmd(0x11); //P5 send_data_cmd(0x1A); //P6 send_data_cmd(0x09); //P7 send_data_cmd(0x09); //P8 send_data_cmd(0x01); //P9 send_data_cmd(0x08); //P10 send_data_cmd(0x04); //P11 send_data_cmd(0x0C); //P12 send_data_cmd(0x0A); //P13 send_data_cmd(0x33); //P14 send_data_cmd(0x31); //P15 send_data_cmd(0x00); //P16 send_ctrl_cmd(0xE1); send_data_cmd(0x00); //P1 send_data_cmd(0x03); //P2 send_data_cmd(0x0C); //P3 send_data_cmd(0x10); //P4 send_data_cmd(0x12); //P5 send_data_cmd(0x18); //P6 send_data_cmd(0x0A); //P7 send_data_cmd(0x09); //P8 send_data_cmd(0x03); //P9 send_data_cmd(0x07); //P10 send_data_cmd(0x05); //P11 send_data_cmd(0x0B); //P12 send_data_cmd(0x0A); //P13 send_data_cmd(0x2B); //P14 send_data_cmd(0x27); //P15 send_data_cmd(0x00); //P16 #ifdef __LCM_TE_ON__ send_ctrl_cmd(0x35); //Tearing Effect ON send_data_cmd(0x00); #else send_ctrl_cmd(0x34); #endif send_ctrl_cmd(0x3A); send_data_cmd(0x66); send_ctrl_cmd(0x11); //Exit Sleep MDELAY(120); send_ctrl_cmd(0x29); // Display On MDELAY(20); }
static void init_lcm_registers(void) { send_ctrl_cmd(0x1100);//sleep out MDELAY(200); set_lcm_register(0xC000,0x86);//power control PWCTR1 set_lcm_register(0xC001,0x00); set_lcm_register(0xC002,0x86); set_lcm_register(0xC003,0x00); set_lcm_register(0xC100,0x45); set_lcm_register(0xC200,0x21); set_lcm_register(0xC202,0x02); set_lcm_register(0xB600,0x30);//SD_OP_SET set_lcm_register(0xB602,0x30); set_lcm_register(0xB100,0xA7);//wei zeng added set_lcm_register(0xC700,0x8F);//vcom set_lcm_register(0x3A00,0x06);//SET PIXEL_FORMAT,pre:0x55 set_lcm_register(0xE000,0x0E);//gamma GMACTRL1 set_lcm_register(0xE001,0x14); set_lcm_register(0xE002,0x29); set_lcm_register(0xE003,0x3A); set_lcm_register(0xE004,0x1D); set_lcm_register(0xE005,0x30); set_lcm_register(0xE006,0x61); set_lcm_register(0xE007,0x3D); set_lcm_register(0xE008,0x22); set_lcm_register(0xE009,0x2A); set_lcm_register(0xE00A,0x87); set_lcm_register(0xE00B,0x16); set_lcm_register(0xE00C,0x3B); set_lcm_register(0xE00D,0x4C); set_lcm_register(0xE00E,0x78); set_lcm_register(0xE00F,0x96); set_lcm_register(0xE010,0x4A); set_lcm_register(0xE011,0x4D); set_lcm_register(0xE100,0x0E);//GMACTRL2 set_lcm_register(0xE101,0x14); set_lcm_register(0xE102,0x29); set_lcm_register(0xE103,0x3A); set_lcm_register(0xE104,0x1D); set_lcm_register(0xE105,0x30); set_lcm_register(0xE106,0x61); set_lcm_register(0xE107,0x3F); set_lcm_register(0xE108,0x20); set_lcm_register(0xE109,0x26); set_lcm_register(0xE10A,0x83); set_lcm_register(0xE10B,0x16); set_lcm_register(0xE10C,0x3B); set_lcm_register(0xE10D,0x4C); set_lcm_register(0xE10E,0x78); set_lcm_register(0xE10F,0x96); set_lcm_register(0xE110,0x4A); set_lcm_register(0xE111,0x4D); set_lcm_register(0xE200,0x0E);//GMACTRL3 set_lcm_register(0xE201,0x14); set_lcm_register(0xE202,0x29); set_lcm_register(0xE203,0x3A); set_lcm_register(0xE204,0x1D); set_lcm_register(0xE205,0x30); set_lcm_register(0xE206,0x61); set_lcm_register(0xE207,0x3D); set_lcm_register(0xE208,0x22); set_lcm_register(0xE209,0x2A); set_lcm_register(0xE20A,0x87); set_lcm_register(0xE20B,0x16); set_lcm_register(0xE20C,0x3B); set_lcm_register(0xE20D,0x4C); set_lcm_register(0xE20E,0x78); set_lcm_register(0xE20F,0x96); set_lcm_register(0xE210,0x4A); set_lcm_register(0xE211,0x4D); set_lcm_register(0xE300,0x0E);//GMACTRL4 set_lcm_register(0xE301,0x14); set_lcm_register(0xE302,0x29); set_lcm_register(0xE303,0x3A); set_lcm_register(0xE304,0x1D); set_lcm_register(0xE305,0x30); set_lcm_register(0xE306,0x61); set_lcm_register(0xE307,0x3F); set_lcm_register(0xE308,0x20); set_lcm_register(0xE309,0x26); set_lcm_register(0xE30A,0x83); set_lcm_register(0xE30B,0x16); set_lcm_register(0xE30C,0x3B); set_lcm_register(0xE30D,0x4C); set_lcm_register(0xE30E,0x78); set_lcm_register(0xE30F,0x96); set_lcm_register(0xE310,0x4A); set_lcm_register(0xE311,0x4D); set_lcm_register(0xE400,0x0E);//GMACTRL5 set_lcm_register(0xE401,0x14); set_lcm_register(0xE402,0x29); set_lcm_register(0xE403,0x3A); set_lcm_register(0xE404,0x1D); set_lcm_register(0xE405,0x30); set_lcm_register(0xE406,0x61); set_lcm_register(0xE407,0x3D); set_lcm_register(0xE408,0x22); set_lcm_register(0xE409,0x2A); set_lcm_register(0xE40A,0x87); set_lcm_register(0xE40B,0x16); set_lcm_register(0xE40C,0x3B); set_lcm_register(0xE40D,0x4C); set_lcm_register(0xE40E,0x78); set_lcm_register(0xE40F,0x96); set_lcm_register(0xE410,0x4A); set_lcm_register(0xE411,0x4D); set_lcm_register(0xE500,0x0E); set_lcm_register(0xE501,0x14); set_lcm_register(0xE502,0x29); set_lcm_register(0xE503,0x3A); set_lcm_register(0xE504,0x1D); set_lcm_register(0xE505,0x30); set_lcm_register(0xE506,0x61); set_lcm_register(0xE507,0x3F); set_lcm_register(0xE508,0x20); set_lcm_register(0xE509,0x26); set_lcm_register(0xE50A,0x83); set_lcm_register(0xE50B,0x16); set_lcm_register(0xE50C,0x3B); set_lcm_register(0xE50D,0x4C); set_lcm_register(0xE50E,0x78); set_lcm_register(0xE50F,0x96); set_lcm_register(0xE510,0x4A); set_lcm_register(0xE511,0x4D); // enable tering free set_lcm_register(0x3500,0x02); set_lcm_register(0x3600,0x00); send_ctrl_cmd(0x2900); MDELAY(200); send_ctrl_cmd(0x2C00);//wei zeng }
static void init_lcm_registers(void) { #if defined(BUILD_UBOOT) printf("MYCAT LCD nt35510_tengsheng_43008fn_mcu_wvga"); #endif LCD_Write_COM(0xF0,0x00); LCD_Write_DATA(0x00,0x55); LCD_Write_COM(0xF0,0x01); LCD_Write_DATA(0x00,0xAA); LCD_Write_COM(0xF0,0x02); LCD_Write_DATA(0x00,0x52); LCD_Write_COM(0xF0,0x03); LCD_Write_DATA(0x00,0x08); LCD_Write_COM(0xF0,0x04); LCD_Write_DATA(0x00,0x01); //Set AVDD Ratio LCD_Write_COM(0xB6,0x00); LCD_Write_DATA(0x00,0x34); LCD_Write_COM(0xB6,0x01); LCD_Write_DATA(0x00,0x34); LCD_Write_COM(0xB6,0x02); LCD_Write_DATA(0x00,0x34); //Set AVDD 5.2V LCD_Write_COM(0xB0,0x00); LCD_Write_DATA(0x00,0x09); LCD_Write_COM(0xB0,0x01); LCD_Write_DATA(0x00,0x09); LCD_Write_COM(0xB0,0x02); LCD_Write_DATA(0x00,0x09); //Set AVEE Ratio LCD_Write_COM(0xB7,0x00); LCD_Write_DATA(0x00,0x24); LCD_Write_COM(0xB7,0x01); LCD_Write_DATA(0x00,0x24); LCD_Write_COM(0xB7,0x02); LCD_Write_DATA(0x00,0x24); //Set AVEE 5.2V LCD_Write_COM(0xB1,0x00); LCD_Write_DATA(0x00,0x09); LCD_Write_COM(0xB1,0x01); LCD_Write_DATA(0x00,0x09); LCD_Write_COM(0xB1,0x02); LCD_Write_DATA(0x00,0x09); LCD_Write_COM(0xB8,0x00); LCD_Write_DATA(0x00,0x34); LCD_Write_COM(0xB2,0x00); LCD_Write_DATA(0x00,0x00); //Set VCL -2.5V LCD_Write_COM(0xB9,0x00); LCD_Write_DATA(0x00,0x24); LCD_Write_COM(0xB9,0x01); LCD_Write_DATA(0x00,0x24); LCD_Write_COM(0xB9,0x02); LCD_Write_DATA(0x00,0x24); //VGH=15V(1V/step) Free pump LCD_Write_COM(0xB3,0x00); LCD_Write_DATA(0x00,0x05); //08 LCD_Write_COM(0xB3,0x01); LCD_Write_DATA(0x00,0x05); //08 LCD_Write_COM(0xB3,0x02); LCD_Write_DATA(0x00,0x05); //08 LCD_Write_COM(0xBF,0x00); LCD_Write_DATA(0x00,0x01); //VGLX Ratio LCD_Write_COM(0xBA,0x00); LCD_Write_DATA(0x00,0x34); LCD_Write_COM(0xBA,0x01); LCD_Write_DATA(0x00,0x34); LCD_Write_COM(0xBA,0x02); LCD_Write_DATA(0x00,0x34); //VGL_REG=-10(1V/step) LCD_Write_COM(0xB5,0x00); LCD_Write_DATA(0x00,0x0b); LCD_Write_COM(0xB5,0x01); LCD_Write_DATA(0x00,0x0b); LCD_Write_COM(0xB5,0x02); LCD_Write_DATA(0x00,0x0b); //VGMP/VGSP=4.5V/0V LCD_Write_COM(0xBC,0x00); LCD_Write_DATA(0x00,0x00); //00 LCD_Write_COM(0xBC,0x01); LCD_Write_DATA(0x00,0xa3); //C8 =5.5V/90=4.8V LCD_Write_COM(0xBC,0x02); LCD_Write_DATA(0x00,0x00); //01 //VGMN/VGSN=-4.5V/0V LCD_Write_COM(0xBD,0x00); LCD_Write_DATA(0x00,0x00); //00 LCD_Write_COM(0xBD,0x01); LCD_Write_DATA(0x00,0xa3); //90 LCD_Write_COM(0xBD,0x02); LCD_Write_DATA(0x00,0x00); //Vcom=-1.4V(12.5mV/step) LCD_Write_COM(0xBE,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xBE,0x01); LCD_Write_DATA(0x00,0x5A); // 50 LCD_Write_COM(0xD1,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD1,0x01); LCD_Write_DATA(0x00,0x37); LCD_Write_COM(0xD1,0x02); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD1,0x03); LCD_Write_DATA(0x00,0x52); LCD_Write_COM(0xD1,0x04); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD1,0x05); LCD_Write_DATA(0x00,0x7B); LCD_Write_COM(0xD1,0x06); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD1,0x07); LCD_Write_DATA(0x00,0x99); LCD_Write_COM(0xD1,0x08); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD1,0x09); LCD_Write_DATA(0x00,0xB1); LCD_Write_COM(0xD1,0x0A); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD1,0x0B); LCD_Write_DATA(0x00,0xD2); LCD_Write_COM(0xD1,0x0C); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD1,0x0D); LCD_Write_DATA(0x00,0xf6); LCD_Write_COM(0xD1,0x0E); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD1,0x0F); LCD_Write_DATA(0x00,0x27); LCD_Write_COM(0xD1,0x10); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD1,0x11); LCD_Write_DATA(0x00,0x41); LCD_Write_COM(0xD1,0x12); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD1,0x13); LCD_Write_DATA(0x00,0x8C); LCD_Write_COM(0xD1,0x14); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD1,0x15); LCD_Write_DATA(0x00,0xBE); LCD_Write_COM(0xD1,0x16); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD1,0x17); LCD_Write_DATA(0x00,0x0B); LCD_Write_COM(0xD1,0x18); LCD_Write_DATA(0x00,0x02);//////////////////// LCD_Write_COM(0xD1,0x19); LCD_Write_DATA(0x00,0x48); LCD_Write_COM(0xD1,0x1A); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD1,0x1B); LCD_Write_DATA(0x00,0x4A); LCD_Write_COM(0xD1,0x1C); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD1,0x1D); LCD_Write_DATA(0x00,0x7E); LCD_Write_COM(0xD1,0x1E); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD1,0x1F); LCD_Write_DATA(0x00,0xBC); LCD_Write_COM(0xD1,0x20); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD1,0x21); LCD_Write_DATA(0x00,0xe1); LCD_Write_COM(0xD1,0x22); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x23); LCD_Write_DATA(0x00,0x10); LCD_Write_COM(0xD1,0x24); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x25); LCD_Write_DATA(0x00,0x31); LCD_Write_COM(0xD1,0x26); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x27); LCD_Write_DATA(0x00,0x5A); LCD_Write_COM(0xD1,0x28); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x29); LCD_Write_DATA(0x00,0x73); LCD_Write_COM(0xD1,0x2A); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x2B); LCD_Write_DATA(0x00,0x94); LCD_Write_COM(0xD1,0x2C); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x2D); LCD_Write_DATA(0x00,0x9F); LCD_Write_COM(0xD1,0x2E); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x2F); LCD_Write_DATA(0x00,0xb3); LCD_Write_COM(0xD1,0x30); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x31); LCD_Write_DATA(0x00,0xb9); LCD_Write_COM(0xD1,0x32); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD1,0x33); LCD_Write_DATA(0x00,0xc1); //Gamma (G+) LCD_Write_COM(0xD2,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD2,0x01); LCD_Write_DATA(0x00,0x37); LCD_Write_COM(0xD2,0x02); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD2,0x03); LCD_Write_DATA(0x00,0x52); LCD_Write_COM(0xD2,0x04); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD2,0x05); LCD_Write_DATA(0x00,0x7B); LCD_Write_COM(0xD2,0x06); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD2,0x07); LCD_Write_DATA(0x00,0x99); LCD_Write_COM(0xD2,0x08); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD2,0x09); LCD_Write_DATA(0x00,0xB1); LCD_Write_COM(0xD2,0x0A); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD2,0x0B); LCD_Write_DATA(0x00,0xD2); LCD_Write_COM(0xD2,0x0C); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD2,0x0D); LCD_Write_DATA(0x00,0xf6); LCD_Write_COM(0xD2,0x0E); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD2,0x0F); LCD_Write_DATA(0x00,0x27); LCD_Write_COM(0xD2,0x10); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD2,0x11); LCD_Write_DATA(0x00,0x41); LCD_Write_COM(0xD2,0x12); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD2,0x13); LCD_Write_DATA(0x00,0x8C); LCD_Write_COM(0xD2,0x14); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD2,0x15); LCD_Write_DATA(0x00,0xBE); LCD_Write_COM(0xD2,0x16); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD2,0x17); LCD_Write_DATA(0x00,0x0B); LCD_Write_COM(0xD2,0x18); LCD_Write_DATA(0x00,0x02);//////////////////// LCD_Write_COM(0xD2,0x19); LCD_Write_DATA(0x00,0x48); LCD_Write_COM(0xD2,0x1A); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD2,0x1B); LCD_Write_DATA(0x00,0x4A); LCD_Write_COM(0xD2,0x1C); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD2,0x1D); LCD_Write_DATA(0x00,0x7E); LCD_Write_COM(0xD2,0x1E); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD2,0x1F); LCD_Write_DATA(0x00,0xBC); LCD_Write_COM(0xD2,0x20); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD2,0x21); LCD_Write_DATA(0x00,0xe1); LCD_Write_COM(0xD2,0x22); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x23); LCD_Write_DATA(0x00,0x10); LCD_Write_COM(0xD2,0x24); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x25); LCD_Write_DATA(0x00,0x31); LCD_Write_COM(0xD2,0x26); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x27); LCD_Write_DATA(0x00,0x5A); LCD_Write_COM(0xD2,0x28); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x29); LCD_Write_DATA(0x00,0x73); LCD_Write_COM(0xD2,0x2A); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x2B); LCD_Write_DATA(0x00,0x94); LCD_Write_COM(0xD2,0x2C); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x2D); LCD_Write_DATA(0x00,0x9F); LCD_Write_COM(0xD2,0x2E); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x2F); LCD_Write_DATA(0x00,0xb3); LCD_Write_COM(0xD2,0x30); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x31); LCD_Write_DATA(0x00,0xb9); LCD_Write_COM(0xD2,0x32); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD2,0x33); LCD_Write_DATA(0x00,0xc1); //Gamma (B+) LCD_Write_COM(0xD3,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD3,0x01); LCD_Write_DATA(0x00,0x37); LCD_Write_COM(0xD3,0x02); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD3,0x03); LCD_Write_DATA(0x00,0x52); LCD_Write_COM(0xD3,0x04); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD3,0x05); LCD_Write_DATA(0x00,0x7B); LCD_Write_COM(0xD3,0x06); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD3,0x07); LCD_Write_DATA(0x00,0x99); LCD_Write_COM(0xD3,0x08); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD3,0x09); LCD_Write_DATA(0x00,0xB1); LCD_Write_COM(0xD3,0x0A); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD3,0x0B); LCD_Write_DATA(0x00,0xD2); LCD_Write_COM(0xD3,0x0C); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD3,0x0D); LCD_Write_DATA(0x00,0xf6); LCD_Write_COM(0xD3,0x0E); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD3,0x0F); LCD_Write_DATA(0x00,0x27); LCD_Write_COM(0xD3,0x10); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD3,0x11); LCD_Write_DATA(0x00,0x41); LCD_Write_COM(0xD3,0x12); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD3,0x13); LCD_Write_DATA(0x00,0x8C); LCD_Write_COM(0xD3,0x14); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD3,0x15); LCD_Write_DATA(0x00,0xBE); LCD_Write_COM(0xD3,0x16); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD3,0x17); LCD_Write_DATA(0x00,0x0B); LCD_Write_COM(0xD3,0x18); LCD_Write_DATA(0x00,0x02);//////////////////// LCD_Write_COM(0xD3,0x19); LCD_Write_DATA(0x00,0x48); LCD_Write_COM(0xD3,0x1A); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD3,0x1B); LCD_Write_DATA(0x00,0x4A); LCD_Write_COM(0xD3,0x1C); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD3,0x1D); LCD_Write_DATA(0x00,0x7E); LCD_Write_COM(0xD3,0x1E); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD3,0x1F); LCD_Write_DATA(0x00,0xBC); LCD_Write_COM(0xD3,0x20); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD3,0x21); LCD_Write_DATA(0x00,0xe1); LCD_Write_COM(0xD3,0x22); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x23); LCD_Write_DATA(0x00,0x10); LCD_Write_COM(0xD3,0x24); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x25); LCD_Write_DATA(0x00,0x31); LCD_Write_COM(0xD3,0x26); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x27); LCD_Write_DATA(0x00,0x5A); LCD_Write_COM(0xD3,0x28); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x29); LCD_Write_DATA(0x00,0x73); LCD_Write_COM(0xD3,0x2A); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x2B); LCD_Write_DATA(0x00,0x94); LCD_Write_COM(0xD3,0x2C); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x2D); LCD_Write_DATA(0x00,0x9F); LCD_Write_COM(0xD3,0x2E); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x2F); LCD_Write_DATA(0x00,0xb3); LCD_Write_COM(0xD3,0x30); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x31); LCD_Write_DATA(0x00,0xb9); LCD_Write_COM(0xD3,0x32); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD3,0x33); LCD_Write_DATA(0x00,0xc1); //Gamma (R-) LCD_Write_COM(0xD4,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD4,0x01); LCD_Write_DATA(0x00,0x37); LCD_Write_COM(0xD4,0x02); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD4,0x03); LCD_Write_DATA(0x00,0x52); LCD_Write_COM(0xD4,0x04); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD4,0x05); LCD_Write_DATA(0x00,0x7B); LCD_Write_COM(0xD4,0x06); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD4,0x07); LCD_Write_DATA(0x00,0x99); LCD_Write_COM(0xD4,0x08); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD4,0x09); LCD_Write_DATA(0x00,0xB1); LCD_Write_COM(0xD4,0x0A); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD4,0x0B); LCD_Write_DATA(0x00,0xD2); LCD_Write_COM(0xD4,0x0C); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD4,0x0D); LCD_Write_DATA(0x00,0xf6); LCD_Write_COM(0xD4,0x0E); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD4,0x0F); LCD_Write_DATA(0x00,0x27); LCD_Write_COM(0xD4,0x10); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD4,0x11); LCD_Write_DATA(0x00,0x41); LCD_Write_COM(0xD4,0x12); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD4,0x13); LCD_Write_DATA(0x00,0x8C); LCD_Write_COM(0xD4,0x14); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD4,0x15); LCD_Write_DATA(0x00,0xBE); LCD_Write_COM(0xD4,0x16); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD4,0x17); LCD_Write_DATA(0x00,0x0B); LCD_Write_COM(0xD4,0x18); LCD_Write_DATA(0x00,0x02);//////////////////// LCD_Write_COM(0xD4,0x19); LCD_Write_DATA(0x00,0x48); LCD_Write_COM(0xD4,0x1A); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD4,0x1B); LCD_Write_DATA(0x00,0x4A); LCD_Write_COM(0xD4,0x1C); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD4,0x1D); LCD_Write_DATA(0x00,0x7E); LCD_Write_COM(0xD4,0x1E); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD4,0x1F); LCD_Write_DATA(0x00,0xBC); LCD_Write_COM(0xD4,0x20); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD4,0x21); LCD_Write_DATA(0x00,0xe1); LCD_Write_COM(0xD4,0x22); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x23); LCD_Write_DATA(0x00,0x10); LCD_Write_COM(0xD4,0x24); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x25); LCD_Write_DATA(0x00,0x31); LCD_Write_COM(0xD4,0x26); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x27); LCD_Write_DATA(0x00,0x5A); LCD_Write_COM(0xD4,0x28); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x29); LCD_Write_DATA(0x00,0x73); LCD_Write_COM(0xD4,0x2A); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x2B); LCD_Write_DATA(0x00,0x94); LCD_Write_COM(0xD4,0x2C); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x2D); LCD_Write_DATA(0x00,0x9F); LCD_Write_COM(0xD4,0x2E); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x2F); LCD_Write_DATA(0x00,0xb3); LCD_Write_COM(0xD4,0x30); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x31); LCD_Write_DATA(0x00,0xb9); LCD_Write_COM(0xD4,0x32); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD4,0x33); LCD_Write_DATA(0x00,0xc1); //Gamma (G-) LCD_Write_COM(0xD5,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD5,0x01); LCD_Write_DATA(0x00,0x37); LCD_Write_COM(0xD5,0x02); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD5,0x03); LCD_Write_DATA(0x00,0x52); LCD_Write_COM(0xD5,0x04); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD5,0x05); LCD_Write_DATA(0x00,0x7B); LCD_Write_COM(0xD5,0x06); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD5,0x07); LCD_Write_DATA(0x00,0x99); LCD_Write_COM(0xD5,0x08); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD5,0x09); LCD_Write_DATA(0x00,0xB1); LCD_Write_COM(0xD5,0x0A); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD5,0x0B); LCD_Write_DATA(0x00,0xD2); LCD_Write_COM(0xD5,0x0C); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD5,0x0D); LCD_Write_DATA(0x00,0xf6); LCD_Write_COM(0xD5,0x0E); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD5,0x0F); LCD_Write_DATA(0x00,0x27); LCD_Write_COM(0xD5,0x10); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD5,0x11); LCD_Write_DATA(0x00,0x41); LCD_Write_COM(0xD5,0x12); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD5,0x13); LCD_Write_DATA(0x00,0x8C); LCD_Write_COM(0xD5,0x14); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD5,0x15); LCD_Write_DATA(0x00,0xBE); LCD_Write_COM(0xD5,0x16); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD5,0x17); LCD_Write_DATA(0x00,0x0B); LCD_Write_COM(0xD5,0x18); LCD_Write_DATA(0x00,0x02);//////////////////// LCD_Write_COM(0xD5,0x19); LCD_Write_DATA(0x00,0x48); LCD_Write_COM(0xD5,0x1A); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD5,0x1B); LCD_Write_DATA(0x00,0x4A); LCD_Write_COM(0xD5,0x1C); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD5,0x1D); LCD_Write_DATA(0x00,0x7E); LCD_Write_COM(0xD5,0x1E); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD5,0x1F); LCD_Write_DATA(0x00,0xBC); LCD_Write_COM(0xD5,0x20); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD5,0x21); LCD_Write_DATA(0x00,0xe1); LCD_Write_COM(0xD5,0x22); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x23); LCD_Write_DATA(0x00,0x10); LCD_Write_COM(0xD5,0x24); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x25); LCD_Write_DATA(0x00,0x31); LCD_Write_COM(0xD5,0x26); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x27); LCD_Write_DATA(0x00,0x5A); LCD_Write_COM(0xD5,0x28); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x29); LCD_Write_DATA(0x00,0x73); LCD_Write_COM(0xD5,0x2A); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x2B); LCD_Write_DATA(0x00,0x94); LCD_Write_COM(0xD5,0x2C); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x2D); LCD_Write_DATA(0x00,0x9F); LCD_Write_COM(0xD5,0x2E); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x2F); LCD_Write_DATA(0x00,0xb3); LCD_Write_COM(0xD5,0x30); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x31); LCD_Write_DATA(0x00,0xb9); LCD_Write_COM(0xD5,0x32); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD5,0x33); LCD_Write_DATA(0x00,0xc1); //Gamma (B-) LCD_Write_COM(0xD6,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD6,0x01); LCD_Write_DATA(0x00,0x37); LCD_Write_COM(0xD6,0x02); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD6,0x03); LCD_Write_DATA(0x00,0x52); LCD_Write_COM(0xD6,0x04); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD6,0x05); LCD_Write_DATA(0x00,0x7B); LCD_Write_COM(0xD6,0x06); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD6,0x07); LCD_Write_DATA(0x00,0x99); LCD_Write_COM(0xD6,0x08); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD6,0x09); LCD_Write_DATA(0x00,0xB1); LCD_Write_COM(0xD6,0x0A); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD6,0x0B); LCD_Write_DATA(0x00,0xD2); LCD_Write_COM(0xD6,0x0C); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xD6,0x0D); LCD_Write_DATA(0x00,0xf6); LCD_Write_COM(0xD6,0x0E); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD6,0x0F); LCD_Write_DATA(0x00,0x27); LCD_Write_COM(0xD6,0x10); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD6,0x11); LCD_Write_DATA(0x00,0x41); LCD_Write_COM(0xD6,0x12); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD6,0x13); LCD_Write_DATA(0x00,0x8C); LCD_Write_COM(0xD6,0x14); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xD6,0x15); LCD_Write_DATA(0x00,0xBE); LCD_Write_COM(0xD6,0x16); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD6,0x17); LCD_Write_DATA(0x00,0x0B); LCD_Write_COM(0xD6,0x18); LCD_Write_DATA(0x00,0x02);//////////////////// LCD_Write_COM(0xD6,0x19); LCD_Write_DATA(0x00,0x48); LCD_Write_COM(0xD6,0x1A); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD6,0x1B); LCD_Write_DATA(0x00,0x4A); LCD_Write_COM(0xD6,0x1C); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD6,0x1D); LCD_Write_DATA(0x00,0x7E); LCD_Write_COM(0xD6,0x1E); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD6,0x1F); LCD_Write_DATA(0x00,0xBC); LCD_Write_COM(0xD6,0x20); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xD6,0x21); LCD_Write_DATA(0x00,0xe1); LCD_Write_COM(0xD6,0x22); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x23); LCD_Write_DATA(0x00,0x10); LCD_Write_COM(0xD6,0x24); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x25); LCD_Write_DATA(0x00,0x31); LCD_Write_COM(0xD6,0x26); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x27); LCD_Write_DATA(0x00,0x5A); LCD_Write_COM(0xD6,0x28); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x29); LCD_Write_DATA(0x00,0x73); LCD_Write_COM(0xD6,0x2A); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x2B); LCD_Write_DATA(0x00,0x94); LCD_Write_COM(0xD6,0x2C); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x2D); LCD_Write_DATA(0x00,0x9F); LCD_Write_COM(0xD6,0x2E); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x2F); LCD_Write_DATA(0x00,0xb3); LCD_Write_COM(0xD6,0x30); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x31); LCD_Write_DATA(0x00,0xb9); LCD_Write_COM(0xD6,0x32); LCD_Write_DATA(0x00,0x03); LCD_Write_COM(0xD6,0x33); LCD_Write_DATA(0x00,0xc1); //PAGE0 LCD_Write_COM(0xF0,0x00); LCD_Write_DATA(0x00,0x55); LCD_Write_COM(0xF0,0x01); LCD_Write_DATA(0x00,0xAA); LCD_Write_COM(0xF0,0x02); LCD_Write_DATA(0x00,0x52); LCD_Write_COM(0xF0,0x03); LCD_Write_DATA(0x00,0x08); LCD_Write_COM(0xF0,0x04); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0xb0,0x00); LCD_Write_DATA(0x00,0x08); LCD_Write_COM(0xb0,0x01); LCD_Write_DATA(0x00,0x05); LCD_Write_COM(0xb0,0x02); LCD_Write_DATA(0x00,0x02); LCD_Write_COM(0xb0,0x03); LCD_Write_DATA(0x00,0x05); LCD_Write_COM(0xb0,0x04); LCD_Write_DATA(0x00,0x02); //Source hold time (Nova non-used) LCD_Write_COM(0xB6,0x00); LCD_Write_DATA(0x00,0x0A); //Gate EQ control (Nova non-used) LCD_Write_COM(0xB7,0x00); LCD_Write_DATA(0x00,0x00); //HSD:70;Nova:77 LCD_Write_COM(0xB7,0x01); LCD_Write_DATA(0x00,0x70); //HSD:70;Nova:77 //Source EQ control (Nova non-used) LCD_Write_COM(0xB8,0x00); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xB8,0x01); LCD_Write_DATA(0x00,0x05); //HSD:05;Nova:07 //03 LCD_Write_COM(0xB8,0x02); LCD_Write_DATA(0x00,0x05); //HSD:05;Nova:07 //03 LCD_Write_COM(0xB8,0x03); LCD_Write_DATA(0x00,0x05); //HSD:05;Nova:07 03 // LCD_Write_COM(0xBa,0x00); LCD_Write_DATA(0x00,0x01); //HSD:05;Nova:07 03 //Inversion mode: column LCD_Write_COM(0xBC,0x00); LCD_Write_DATA(0x00,0x00); //00: column LCD_Write_COM(0xBC,0x01); LCD_Write_DATA(0x00,0x00); //01:1dot LCD_Write_COM(0xBC,0x02); LCD_Write_DATA(0x00,0x00); //LGD timing control(4H/4-Delay) LCD_Write_COM(0xCc,0x00); LCD_Write_DATA(0x00,0x03); //3H:0x50;4H:0xD0 //D LCD_Write_COM(0xCc,0x01); LCD_Write_DATA(0x00,0x00); //HSD:05;Nova:02 LCD_Write_COM(0xCc,0x02); LCD_Write_DATA(0x00,0x00); //HSD:05;Nova:50 LCD_Write_COM(0xBd,0x00); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0xBd,0x01); LCD_Write_DATA(0x00,0x9F); //HSD:05;Nova:07 //03 84 LCD_Write_COM(0xBd,0x02); LCD_Write_DATA(0x00,0x07); //HSD:05;Nova:07 //03 LCD_Write_COM(0xBd,0x03); LCD_Write_DATA(0x00,0x31); //HSD:05;Nova:07 03 LCD_Write_COM(0xBd,0x04); LCD_Write_DATA(0x00,0x00); //HSD:05;Nova:07 03 LCD_Write_COM(0xBA,0x00); LCD_Write_DATA(0x00,0x01); //HSD:05;Nova:07 03 LCD_Write_COM(0xFF,0x00); LCD_Write_DATA(0x00,0xAA); //HSD:05;Nova:07 03 LCD_Write_COM(0xFF,0x01); LCD_Write_DATA(0x00,0x55); //HSD:05;Nova:07 03 LCD_Write_COM(0xFF,0x02); LCD_Write_DATA(0x00,0x25); //HSD:05;Nova:07 03 LCD_Write_COM(0xFF,0x03); LCD_Write_DATA(0x00,0x01); //HSD:05;Nova:07 03 LCD_Write_COM(0x35,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0x44,0x00); LCD_Write_DATA(0x00,0x01); LCD_Write_COM(0x44,0x01); LCD_Write_DATA(0x00,0x20); LCD_Write_COM(0x36,0x00); LCD_Write_DATA(0x00,0x00); LCD_Write_COM(0x3A,0x00); LCD_Write_DATA(0x00,0x66); //Sleep out LCD_Write_COM(0x11,0x00); // Sleep Out (1100h) delayms(160); //Display on LCD_Write_COM(0x29,0x00); MDELAY(200); send_ctrl_cmd(0x2C00); MDELAY(200); sw_clear_panel(0x0); // Clean panel as black MDELAY(10); }
static __inline void set_lcm_register(unsigned int regIndex, unsigned int regData) { send_ctrl_cmd(regIndex); send_data_cmd(regData); }
static void init_lcm_registers(void) { //Lcd_Log("xxxxxxxx mycat lcd id = %d\n",get_lcd_id()); #if defined(BUILD_LK) printf("mycat LCD otm8012_haifei_HF145391127_A0_HSD_mcu18_fwvga\n"); #endif send_ctrl_cmd(0xFF00); send_data_cmd(0x80); send_ctrl_cmd(0xFF01); send_data_cmd(0x12); send_ctrl_cmd(0xFF02); send_data_cmd(0x01); send_ctrl_cmd(0xFF80); send_data_cmd(0x80); send_ctrl_cmd(0xFF81); send_data_cmd(0x12); send_ctrl_cmd(0xB390); send_data_cmd(0x02); send_ctrl_cmd(0xB3A1); send_data_cmd(0x00); send_ctrl_cmd(0xB3B0); send_data_cmd(0x18); send_ctrl_cmd(0xC0A3); send_data_cmd(0x05); send_ctrl_cmd(0xC0A4); send_data_cmd(0x15); send_ctrl_cmd(0xC0B4); send_data_cmd(0x11); send_ctrl_cmd(0xC181); send_data_cmd(0x66); send_ctrl_cmd(0xC481); send_data_cmd(0x04); send_ctrl_cmd(0xC482); send_data_cmd(0xF2); send_ctrl_cmd(0xC48B); send_data_cmd(0x24); send_ctrl_cmd(0xC492); send_data_cmd(0x00); send_ctrl_cmd(0xC580); send_data_cmd(0x50); send_ctrl_cmd(0xC582); send_data_cmd(0xF0); send_ctrl_cmd(0xC590); send_data_cmd(0x03); send_ctrl_cmd(0xC591); send_data_cmd(0x76); send_ctrl_cmd(0xC594); send_data_cmd(0x44); send_ctrl_cmd(0xC595); send_data_cmd(0x44); send_ctrl_cmd(0xC596); send_data_cmd(0x46); send_ctrl_cmd(0xC5B2); send_data_cmd(0x40); send_ctrl_cmd(0xF5BA); send_data_cmd(0x01); send_ctrl_cmd(0xF5BB); send_data_cmd(0x11); send_ctrl_cmd(0xF5C2); send_data_cmd(0x40); send_ctrl_cmd(0xCE80); send_data_cmd(0x86); send_ctrl_cmd(0xCE81); send_data_cmd(0x03); send_ctrl_cmd(0xCE82); send_data_cmd(0x00); send_ctrl_cmd(0xCE83); send_data_cmd(0x84); send_ctrl_cmd(0xCE84); send_data_cmd(0x03); send_ctrl_cmd(0xCE85); send_data_cmd(0x00); send_ctrl_cmd(0xCE86); send_data_cmd(0x85); send_ctrl_cmd(0xCE87); send_data_cmd(0x03); send_ctrl_cmd(0xCE88); send_data_cmd(0x00); send_ctrl_cmd(0xCE89); send_data_cmd(0x83); send_ctrl_cmd(0xCE8A); send_data_cmd(0x03); send_ctrl_cmd(0xCE8B); send_data_cmd(0x00); send_ctrl_cmd(0xCEA0); send_data_cmd(0x38); send_ctrl_cmd(0xCEA1); send_data_cmd(0x02); send_ctrl_cmd(0xCEA2); send_data_cmd(0x03); send_ctrl_cmd(0xCEA3); send_data_cmd(0x59); send_ctrl_cmd(0xCEA4); send_data_cmd(0x00); send_ctrl_cmd(0xCEA5); send_data_cmd(0x00); send_ctrl_cmd(0xCEA6); send_data_cmd(0x00); send_ctrl_cmd(0xCEA7); send_data_cmd(0x38); send_ctrl_cmd(0xCEA8); send_data_cmd(0x01); send_ctrl_cmd(0xCEA9); send_data_cmd(0x03); send_ctrl_cmd(0xCEAA); send_data_cmd(0x5A); send_ctrl_cmd(0xCEAB); send_data_cmd(0x00); send_ctrl_cmd(0xCEAC); send_data_cmd(0x00); send_ctrl_cmd(0xCEAD); send_data_cmd(0x00); send_ctrl_cmd(0xCEB0); send_data_cmd(0x38); send_ctrl_cmd(0xCEB1); send_data_cmd(0x00); send_ctrl_cmd(0xCEB2); send_data_cmd(0x03); send_ctrl_cmd(0xCEB3); send_data_cmd(0x5B); send_ctrl_cmd(0xCEB4); send_data_cmd(0x00); send_ctrl_cmd(0xCEB5); send_data_cmd(0x00); send_ctrl_cmd(0xCEB6); send_data_cmd(0x00); send_ctrl_cmd(0xCEB7); send_data_cmd(0x30); send_ctrl_cmd(0xCEB8); send_data_cmd(0x00); send_ctrl_cmd(0xCEB9); send_data_cmd(0x03); send_ctrl_cmd(0xCEBA); send_data_cmd(0x5C); send_ctrl_cmd(0xCEBB); send_data_cmd(0x00); send_ctrl_cmd(0xCEBC); send_data_cmd(0x00); send_ctrl_cmd(0xCEBD); send_data_cmd(0x00); send_ctrl_cmd(0xCEC0); send_data_cmd(0x30); send_ctrl_cmd(0xCEC1); send_data_cmd(0x01); send_ctrl_cmd(0xCEC2); send_data_cmd(0x03); send_ctrl_cmd(0xCEC3); send_data_cmd(0x5D); send_ctrl_cmd(0xCEC4); send_data_cmd(0x00); send_ctrl_cmd(0xCEC5); send_data_cmd(0x00); send_ctrl_cmd(0xCEC6); send_data_cmd(0x00); send_ctrl_cmd(0xCEC7); send_data_cmd(0x30); send_ctrl_cmd(0xCEC8); send_data_cmd(0x02); send_ctrl_cmd(0xCEC9); send_data_cmd(0x03); send_ctrl_cmd(0xCECA); send_data_cmd(0x5E); send_ctrl_cmd(0xCECB); send_data_cmd(0x00); send_ctrl_cmd(0xCECC); send_data_cmd(0x00); send_ctrl_cmd(0xCECD); send_data_cmd(0x00); send_ctrl_cmd(0xCED0); send_data_cmd(0x30); send_ctrl_cmd(0xCED1); send_data_cmd(0x03); send_ctrl_cmd(0xCED2); send_data_cmd(0x03); send_ctrl_cmd(0xCED3); send_data_cmd(0x5F); send_ctrl_cmd(0xCED4); send_data_cmd(0x00); send_ctrl_cmd(0xCED5); send_data_cmd(0x00); send_ctrl_cmd(0xCED6); send_data_cmd(0x00); send_ctrl_cmd(0xCED7); send_data_cmd(0x30); send_ctrl_cmd(0xCED8); send_data_cmd(0x04); send_ctrl_cmd(0xCED9); send_data_cmd(0x03); send_ctrl_cmd(0xCEDA); send_data_cmd(0x60); send_ctrl_cmd(0xCEDB); send_data_cmd(0x00); send_ctrl_cmd(0xCEDC); send_data_cmd(0x00); send_ctrl_cmd(0xCEDD); send_data_cmd(0x00); send_ctrl_cmd(0xCFC7); send_data_cmd(0x00); send_ctrl_cmd(0xCFC8); send_data_cmd(0x01); send_ctrl_cmd(0xCFC9); send_data_cmd(0x00); send_ctrl_cmd(0xCFCA); send_data_cmd(0x06); send_ctrl_cmd(0xCBC0); send_data_cmd(0x00); send_ctrl_cmd(0xCBC1); send_data_cmd(0x00); send_ctrl_cmd(0xCBC2); send_data_cmd(0x00); send_ctrl_cmd(0xCBC3); send_data_cmd(0x00); send_ctrl_cmd(0xCBC4); send_data_cmd(0x04); send_ctrl_cmd(0xCBC5); send_data_cmd(0x04); send_ctrl_cmd(0xCBC6); send_data_cmd(0x04); send_ctrl_cmd(0xCBC7); send_data_cmd(0x04); send_ctrl_cmd(0xCBC8); send_data_cmd(0x04); send_ctrl_cmd(0xCBC9); send_data_cmd(0x04); send_ctrl_cmd(0xCBCA); send_data_cmd(0x00); send_ctrl_cmd(0xCBCB); send_data_cmd(0x00); send_ctrl_cmd(0xCBCC); send_data_cmd(0x00); send_ctrl_cmd(0xCBCD); send_data_cmd(0x00); send_ctrl_cmd(0xCBCE); send_data_cmd(0x00); send_ctrl_cmd(0xCBD0); send_data_cmd(0x00); send_ctrl_cmd(0xCBD5); send_data_cmd(0x00); send_ctrl_cmd(0xCBD6); send_data_cmd(0x00); send_ctrl_cmd(0xCBD7); send_data_cmd(0x00); send_ctrl_cmd(0xCBD8); send_data_cmd(0x00); send_ctrl_cmd(0xCBD9); send_data_cmd(0x00); send_ctrl_cmd(0xCBDA); send_data_cmd(0x00); send_ctrl_cmd(0xCBDB); send_data_cmd(0x04); send_ctrl_cmd(0xCBDC); send_data_cmd(0x04); send_ctrl_cmd(0xCBDD); send_data_cmd(0x04); send_ctrl_cmd(0xCBDE); send_data_cmd(0x04); send_ctrl_cmd(0xCBE0); send_data_cmd(0x04); send_ctrl_cmd(0xCBE1); send_data_cmd(0x04); send_ctrl_cmd(0xCBE2); send_data_cmd(0x00); send_ctrl_cmd(0xCBE3); send_data_cmd(0x00); send_ctrl_cmd(0xCBE4); send_data_cmd(0x00); send_ctrl_cmd(0xCBE5); send_data_cmd(0x00); send_ctrl_cmd(0xCC84); send_data_cmd(0x0C); send_ctrl_cmd(0xCC85); send_data_cmd(0x0A); send_ctrl_cmd(0xCC86); send_data_cmd(0x10); send_ctrl_cmd(0xCC87); send_data_cmd(0x0E); send_ctrl_cmd(0xCC88); send_data_cmd(0x03); send_ctrl_cmd(0xCC89); send_data_cmd(0x04); send_ctrl_cmd(0xCC9E); send_data_cmd(0x00); send_ctrl_cmd(0xCCA0); send_data_cmd(0x00); send_ctrl_cmd(0xCCA1); send_data_cmd(0x02); send_ctrl_cmd(0xCCA2); send_data_cmd(0x01); send_ctrl_cmd(0xCCA3); send_data_cmd(0x0D); send_ctrl_cmd(0xCCA4); send_data_cmd(0x0F); send_ctrl_cmd(0xCCA5); send_data_cmd(0x09); send_ctrl_cmd(0xCCA6); send_data_cmd(0x0B); send_ctrl_cmd(0xCCB4); send_data_cmd(0x0D); send_ctrl_cmd(0xCCB5); send_data_cmd(0x0F); send_ctrl_cmd(0xCCB6); send_data_cmd(0x09); send_ctrl_cmd(0xCCB7); send_data_cmd(0x0B); send_ctrl_cmd(0xCCB8); send_data_cmd(0x02); send_ctrl_cmd(0xCCB9); send_data_cmd(0x01); send_ctrl_cmd(0xCCCE); send_data_cmd(0x00); send_ctrl_cmd(0xCCD0); send_data_cmd(0x00); send_ctrl_cmd(0xCCD1); send_data_cmd(0x03); send_ctrl_cmd(0xCCD2); send_data_cmd(0x04); send_ctrl_cmd(0xCCD3); send_data_cmd(0x10); send_ctrl_cmd(0xCCD4); send_data_cmd(0x0E); send_ctrl_cmd(0xD800); send_data_cmd(0x75); send_ctrl_cmd(0xD801); send_data_cmd(0x75); send_ctrl_cmd(0xD900); send_data_cmd(0x4C); send_ctrl_cmd(0xE100); send_data_cmd(0x08); send_ctrl_cmd(0xE101); send_data_cmd(0x0F); send_ctrl_cmd(0xE102); send_data_cmd(0x18); send_ctrl_cmd(0xE103); send_data_cmd(0x23); send_ctrl_cmd(0xE104); send_data_cmd(0x32); send_ctrl_cmd(0xE105); send_data_cmd(0x46); send_ctrl_cmd(0xE106); send_data_cmd(0x58); send_ctrl_cmd(0xE107); send_data_cmd(0x86); send_ctrl_cmd(0xE108); send_data_cmd(0x77); send_ctrl_cmd(0xE109); send_data_cmd(0x8E); send_ctrl_cmd(0xE10A); send_data_cmd(0x78); send_ctrl_cmd(0xE10B); send_data_cmd(0x67); send_ctrl_cmd(0xE10C); send_data_cmd(0x7E); send_ctrl_cmd(0xE10D); send_data_cmd(0x69); send_ctrl_cmd(0xE10E); send_data_cmd(0x6E); send_ctrl_cmd(0xE10F); send_data_cmd(0x66); send_ctrl_cmd(0xE110); send_data_cmd(0x5D); send_ctrl_cmd(0xE111); send_data_cmd(0x51); send_ctrl_cmd(0xE112); send_data_cmd(0x40); send_ctrl_cmd(0xE113); send_data_cmd(0x20); send_ctrl_cmd(0xE200); send_data_cmd(0x08); send_ctrl_cmd(0xE201); send_data_cmd(0x0F); send_ctrl_cmd(0xE202); send_data_cmd(0x18); send_ctrl_cmd(0xE203); send_data_cmd(0x23); send_ctrl_cmd(0xE204); send_data_cmd(0x32); send_ctrl_cmd(0xE205); send_data_cmd(0x46); send_ctrl_cmd(0xE206); send_data_cmd(0x48); send_ctrl_cmd(0xE207); send_data_cmd(0x86); send_ctrl_cmd(0xE208); send_data_cmd(0x77); send_ctrl_cmd(0xE209); send_data_cmd(0x8E); send_ctrl_cmd(0xE20A); send_data_cmd(0x78); send_ctrl_cmd(0xE20B); send_data_cmd(0x67); send_ctrl_cmd(0xE20C); send_data_cmd(0x7E); send_ctrl_cmd(0xE20D); send_data_cmd(0x69); send_ctrl_cmd(0xE20E); send_data_cmd(0x6E); send_ctrl_cmd(0xE20F); send_data_cmd(0x66); send_ctrl_cmd(0xE210); send_data_cmd(0x5D); send_ctrl_cmd(0xE211); send_data_cmd(0x51); send_ctrl_cmd(0xE212); send_data_cmd(0x40); send_ctrl_cmd(0xE213); send_data_cmd(0x20); send_ctrl_cmd(0x3500); send_data_cmd(0x00); send_ctrl_cmd(0x3A00); send_data_cmd(0x66); //55 16BIT 66 18BIT 77 24BIT send_ctrl_cmd(0x1100); MDELAY(150); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x00); MDELAY(1); send_ctrl_cmd(0xC492); send_data_cmd(0x08); send_ctrl_cmd(0xFF00); send_data_cmd(0xFF); send_ctrl_cmd(0xFF01); send_data_cmd(0xFF); send_ctrl_cmd(0xFF02); send_data_cmd(0xFF); send_ctrl_cmd(0x2900); MDELAY(20); send_ctrl_cmd(0x2A00); send_data_cmd(0x00); send_ctrl_cmd(0x2A01); send_data_cmd(0x00); send_ctrl_cmd(0x2A02); send_data_cmd(0x01); send_ctrl_cmd(0x2A03); send_data_cmd(0xDF); send_ctrl_cmd(0x2B00); send_data_cmd(0x00); send_ctrl_cmd(0x2B01); send_data_cmd(0x00); send_ctrl_cmd(0x2B02); send_data_cmd(0x03); send_ctrl_cmd(0x2B03); send_data_cmd(0x55); }
/***************************************************************************** * Copyright Statement: * -------------------- * This software is protected by Copyright and the information contained * herein is confidential. The software may not be copied and the information * contained herein may not be used or disclosed except with the written * permission of MediaTek Inc. (C) 2008 * * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO * NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM. * * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. * * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC). * *****************************************************************************/ #ifdef BUILD_LK #include <platform/mt_gpio.h> #else #include <linux/string.h> #if defined(BUILD_UBOOT) #include <asm/arch/mt_gpio.h> #else #include <mach/mt_gpio.h> #endif #endif #include "lcm_drv.h" #define FRAME_WIDTH (240) #define FRAME_HEIGHT (320) #define LCM_ID (0x69) // --------------------------------------------------------------------------- // Local Variables // --------------------------------------------------------------------------- static LCM_UTIL_FUNCS lcm_util = {0}; #define SET_RESET_PIN(v) (lcm_util.set_reset_pin((v))) #define UDELAY(n) (lcm_util.udelay(n)) #define MDELAY(n) (lcm_util.mdelay(n)) #if defined(BUILD_LK) #define LCM_PRINT printf #elif defined(BUILD_UBOOT) #define LCM_PRINT printf #else #define LCM_PRINT printk #if 1 /* LGE_BSP_COMMON LGE_CHANGE_S 140116 jongwoo82.lee : L30 RevA, Tovis LCD */ #include <mach/mt_pm_ldo.h> #endif /* LGE_BSP_COMMON LGE_CHANGE_E 140116 jongwoo82.lee : L30 RevA, Tovis LCD */ #endif #if 1 /* LGE_BSP_COMMON LGE_CHANGE_S 140311 jongwoo82.lee : LCD Dualization */ #define LCD_MAKER_ID GPIO98 extern int isFirstLCM; static int is_INN_LCD = true; static int esd_check_period = 0; static unsigned int lcm_compare_id_INN(void); static void init_lcm_registers_TCL(void); // TCL #endif /* LGE_BSP_COMMON LGE_CHANGE_E 140311 jongwoo82.lee : LCD Dualization */ typedef struct __LCM_register_table__ { unsigned char address; unsigned char count; unsigned char param_list[15]; } LCM_register_table; static LCM_register_table INN_register_table[] = { {0x09, 5, {0x80, 0x53, 0x06, 0x00, 0x00}}, // Display Status, register for ESD check from ilitek engineer {0x0A, 2, {0x9C, 0x00}}, // Display Power mode, register for ESD check from ilitek engineer, {0x35, 1, {0x00}}, {0x36, 1, {0x00}}, {0x3A, 1, {0x55}}, {0x44, 2, {0x00, 0xEF}}, {0xB1, 2, {0x00, 0x1E}}, {0xB4, 1, {0x02}}, {0xB6, 1, {0x02}}, {0xB7, 1, {0x06}}, {0xC0, 2, {0x0F, 0x0D}}, {0xC1, 1, {0x01}}, {0xC2, 1, {0x33}}, {0xC5, 1, {0xEB}}, {0xCF, 2, {0x00, 0xA1}}, {0xE0, 15, {0x00, 0x08, 0x0E, 0x04, 0x12, 0x06, 0x2E, 0x87, 0x40, 0x0A, 0x0E, 0x0B, 0x0F, 0x13, 0x0F}}, {0xE1, 15, {0x00, 0x22, 0x23, 0x02, 0x0D, 0x02, 0x39, 0x37, 0x50, 0x04, 0x0D, 0x0B, 0x33, 0x36, 0x0F}}, {0xEE, 1, {0x0C}}, {0xF6, 3, {0x41, 0x00, 0x00}}, }; static LCM_register_table TCL_register_table[] = { {0x09, 5, {0x84, 0x53, 0x06, 0x00, 0x00}}, // Display Status, register for ESD check from ilitek engineer {0x0A, 2, {0x9C, 0x00}}, // Display Power mode, register for ESD check from ilitek engineer, {0x35, 1, {0x00}}, {0x36, 1, {0x08}}, {0x3A, 1, {0x55}}, {0x44, 2, {0x00, 0xEF}}, {0xB1, 2, {0x00, 0x1B}}, {0xB4, 1, {0x00}}, {0xB6, 1, {0x02}}, {0xB7, 1, {0x06}}, {0xC0, 2, {0x12, 0x12}}, {0xC1, 1, {0x05}}, {0xC2, 1, {0x32}}, {0xC5, 1, {0xF5}}, {0xCF, 2, {0x00, 0x01}}, {0xE0, 15, {0x00, 0x08, 0x08, 0x03, 0x12, 0x08, 0x3D, 0x77, 0x4F, 0x0C, 0x13, 0x0F, 0x1A, 0x1B, 0x00}}, {0xE1, 15, {0x0F, 0x1A, 0x1E, 0x05, 0x12, 0x05, 0x39, 0x22, 0x4E, 0x03, 0x0F, 0x0D, 0x38, 0x3C, 0x0F}}, {0xEE, 1, {0x0C}}, {0xF6, 3, {0x41, 0x30, 0x00}}, }; static LCM_register_table *table_ptr = INN_register_table; // not to make null pointer void lcm_driver_detect_on_boot() { is_INN_LCD = isFirstLCM; if(is_INN_LCD == 1) { table_ptr = INN_register_table; } else { table_ptr = TCL_register_table; } LCM_PRINT("[LCD] lcm_driver_detect_on_boot : 1st LCD : %d\n", is_INN_LCD); } // --------------------------------------------------------------------------- // Local Functions // --------------------------------------------------------------------------- static __inline void send_ctrl_cmd(unsigned int cmd) { lcm_util.send_cmd(cmd); } static __inline void send_data_cmd(unsigned int data) { lcm_util.send_data(data&0xff); } static __inline unsigned int read_data_cmd(void) { return 0xFF&lcm_util.read_data(); } static __inline void set_lcm_register(unsigned int regIndex, unsigned int regData) { send_ctrl_cmd(regIndex); send_data_cmd(regData); } static void sw_clear_panel(unsigned int color) { unsigned short x0, y0, x1, y1, x, y; unsigned short h_X_start,l_X_start,h_X_end,l_X_end,h_Y_start,l_Y_start,h_Y_end,l_Y_end; x0 = (unsigned short)0; y0 = (unsigned short)0; x1 = (unsigned short)FRAME_WIDTH-1; y1 = (unsigned short)FRAME_HEIGHT-1; h_X_start=((x0&0xFF00)>>8); l_X_start=(x0&0x00FF); h_X_end=((x1&0xFF00)>>8); l_X_end=(x1&0x00FF); h_Y_start=((y0&0xFF00)>>8); l_Y_start=(y0&0x00FF); h_Y_end=((y1&0xFF00)>>8); l_Y_end=(y1&0x00FF); send_ctrl_cmd(0x2A); send_data_cmd(h_X_start); send_data_cmd(l_X_start); send_data_cmd(h_X_end); send_data_cmd(l_X_end); send_ctrl_cmd(0x2B); send_data_cmd(h_Y_start); send_data_cmd(l_Y_start); send_data_cmd(h_Y_end); send_data_cmd(l_Y_end); send_ctrl_cmd(0x29); send_ctrl_cmd(0x2C); for (y = y0; y <= y1; ++ y) { for (x = x0; x <= x1; ++ x) { lcm_util.send_data(color); } } } static void init_lcm_registers_INN(void) { send_ctrl_cmd(0x3A); //16BIT 65K send_data_cmd(0x55); send_ctrl_cmd(0xCF); //EXTC option send_data_cmd(0x00); send_data_cmd(0xA1); send_ctrl_cmd(0xB1); // Frame rate send_data_cmd(0x00); send_data_cmd(0x1E); //0x1E is 60Hz, 70Hz is 0x1A send_ctrl_cmd(0XB4); //inversion control send_data_cmd(0x02); //0x02 is 2-dot inversion, 0x00 is column inversion send_ctrl_cmd(0X36); send_data_cmd(0x00); send_ctrl_cmd(0XB6); send_data_cmd(0x02); send_ctrl_cmd(0XC0); //power control send_data_cmd(0x0F); // send_data_cmd(0x0D); // send_ctrl_cmd(0xC1); //power control send_data_cmd(0x01); //VGH =6x VCI VGL= -4xVCI send_ctrl_cmd(0xC2); //power control send_data_cmd(0x33); send_ctrl_cmd(0xC5); // VCOMDC=-1 send_data_cmd(0xEB); #if 1 /* LGE_BSP_COMMON LGE_CHANGE_S 140310 jongwoo82.lee : LCD first init crash fix, code from Tovis init code */ send_ctrl_cmd(0x35); // Tearing Effect Line On send_data_cmd(0x00); // block this code for Camera Tearing //send_ctrl_cmd(0x44); // Tearing Effect Control Parameter //send_data_cmd(0x00); //send_data_cmd(0xEF); #endif /* LGE_BSP_COMMON LGE_CHANGE_E 140310 jongwoo82.lee : LCD first init crash fix, code from Tovis init code */ send_ctrl_cmd(0xE0); // Set P Gamma //value up brightness up send_data_cmd(0x00); // 0 send_data_cmd(0x08); // 0x08 send_data_cmd(0x0E); // 0x0E send_data_cmd(0x04); //4 send_data_cmd(0x12); //6 send_data_cmd(0x06); //13 send_data_cmd(0x2E); //20 32 send_data_cmd(0x87); //36 27 67 send_data_cmd(0x40); //43 --3f send_data_cmd(0x0A); //50 --08 send_data_cmd(0x0E); //57 --0e send_data_cmd(0x0B); //59 --0a send_data_cmd(0x0F); //61---10 send_data_cmd(0x13); //62 send_data_cmd(0x0f); //63 send_ctrl_cmd(0XE1); //Set N Gamma value down brightness down send_data_cmd(0x00); //63 send_data_cmd(0x22); //62 send_data_cmd(0x23); //61 send_data_cmd(0x02); //59 //03 send_data_cmd(0x0D); //57 //0f send_data_cmd(0x02); //50 //05 send_data_cmd(0x39); //43 --3a send_data_cmd(0x37); //27 36 send_data_cmd(0x50); //20 4C send_data_cmd(0x04); //13 send_data_cmd(0x0d); //6 send_data_cmd(0x0b); //4 send_data_cmd(0x33); send_data_cmd(0x36); // 36 send_data_cmd(0x0f); //0 send_ctrl_cmd(0x11); // Exit Sleep MDELAY(120); send_ctrl_cmd(0XF6); send_data_cmd(0x41); send_ctrl_cmd(0XEE); send_data_cmd(0x0C);//Prevent tearing effect send_ctrl_cmd(0x29); //display on } // --------------------------------------------------------------------------- // LCM Driver Implementations // --------------------------------------------------------------------------- static void lcm_set_util_funcs(const LCM_UTIL_FUNCS *util) { memcpy(&lcm_util, util, sizeof(LCM_UTIL_FUNCS)); } static void lcm_get_params(LCM_PARAMS *params) { memset(params, 0, sizeof(LCM_PARAMS)); params->type = LCM_TYPE_DBI; params->ctrl = LCM_CTRL_PARALLEL_DBI; params->width = FRAME_WIDTH; params->height = FRAME_HEIGHT; params->io_select_mode = 1; params->dbi.port = 0; params->dbi.clock_freq = LCM_DBI_CLOCK_FREQ_52M; params->dbi.data_width = LCM_DBI_DATA_WIDTH_16BITS; params->dbi.data_format.color_order = LCM_COLOR_ORDER_RGB; params->dbi.data_format.trans_seq = LCM_DBI_TRANS_SEQ_MSB_FIRST; params->dbi.data_format.padding = LCM_DBI_PADDING_ON_MSB; params->dbi.data_format.format = LCM_DBI_FORMAT_RGB565; params->dbi.data_format.width = LCM_DBI_DATA_WIDTH_16BITS; params->dbi.cpu_write_bits = LCM_DBI_CPU_WRITE_16_BITS; params->dbi.io_driving_current = 0; params->dbi.parallel.write_setup = 6; params->dbi.parallel.write_hold = 2; params->dbi.parallel.write_wait = 12; params->dbi.parallel.read_setup = 2; params->dbi.parallel.read_latency = 31; params->dbi.parallel.wait_period = 9; // enable tearing-free params->dbi.te_mode = LCM_DBI_TE_MODE_VSYNC_ONLY; params->dbi.te_edge_polarity = LCM_POLARITY_RISING; } static void lcm_init_INN(void) { // no power on/off control for TOVIS LCD sleep current consumption issue //hwPowerOn(MT6323_POWER_LDO_VCAM_AF, VOL_2800, "2V8_LCD_VCC_MTK_S"); //MDELAY(1); //hwPowerOn(MT6323_POWER_LDO_VGP1, VOL_1800, "1V8_LCD_VIO_MTK_S"); //MDELAY(1); SET_RESET_PIN(1); MDELAY(10); SET_RESET_PIN(0); MDELAY(10); SET_RESET_PIN(1); MDELAY(120); #if 1 /* LGE_BSP_COMMON LGE_CHANGE_S 140325 jongwoo82.lee : LCD dualization temp code */ if(is_INN_LCD == true) { init_lcm_registers_INN(); } else { init_lcm_registers_TCL(); } #else init_lcm_registers_INN(); #endif /* LGE_BSP_COMMON LGE_CHANGE_E 140325 jongwoo82.lee : LCD dualization temp code */ LCM_PRINT("[LCD] lcm_init \n"); } static void lcm_suspend_INN(void) { send_ctrl_cmd(0x28); MDELAY(50); send_ctrl_cmd(0x10); MDELAY(120); // no power on/off control for TOVIS LCD sleep current consumption issue //hwPowerDown(MT6323_POWER_LDO_VCAM_AF, "2V8_LCD_VCC_MTK_S"); //hwPowerDown(MT6323_POWER_LDO_VGP1, "1V8_LCD_VIO_MTK_S"); LCM_PRINT("[LCD] lcm_suspend \n"); } static void lcm_resume_INN(void) { lcm_init_INN(); MDELAY(120); LCM_PRINT("[LCD] lcm_resume \n"); } static void lcm_update(unsigned int x, unsigned int y, unsigned int width, unsigned int height) { unsigned short x0, y0, x1, y1; unsigned short h_X_start,l_X_start,h_X_end,l_X_end,h_Y_start,l_Y_start,h_Y_end,l_Y_end; x0 = (unsigned short)x; y0 = (unsigned short)y; x1 = (unsigned short)x+width-1; y1 = (unsigned short)y+height-1; h_X_start=((x0&0xFF00)>>8); l_X_start=(x0&0x00FF); h_X_end=((x1&0xFF00)>>8); l_X_end=(x1&0x00FF); h_Y_start=((y0&0xFF00)>>8); l_Y_start=(y0&0x00FF); h_Y_end=((y1&0xFF00)>>8); l_Y_end=(y1&0x00FF); send_ctrl_cmd(0x2A); send_data_cmd(h_X_start); send_data_cmd(l_X_start); send_data_cmd(h_X_end); send_data_cmd(l_X_end); send_ctrl_cmd(0x2B); send_data_cmd(h_Y_start); send_data_cmd(l_Y_start); send_data_cmd(h_Y_end); send_data_cmd(l_Y_end); send_ctrl_cmd(0x29); send_ctrl_cmd(0x2C); } static void lcm_setbacklight(unsigned int level) { if(level > 255) level = 255; #if 0 send_ctrl_cmd(0x51); send_data_cmd(level); #else send_ctrl_cmd(0xBE); send_data_cmd(0x0F); #endif } static unsigned int lcm_compare_id_INN(void) { if(mt_get_gpio_in(LCD_MAKER_ID) == GPIO_IN_ONE) { LCM_PRINT("[LCD] 1st LCD detected\n"); return TRUE; } else { return FALSE; } } static void lcm_set_pwm(unsigned int divider) { #if 0 send_ctrl_cmd(0xBE); send_data_cmd(0xFF); send_ctrl_cmd(0xBF); send_data_cmd(0x07); #endif } #if 1 /* LGE_BSP_COMMON LGE_CHANGE_S 140304 jongwoo82.lee : LCM register dump interface */ static bool register_data_read(unsigned char addr, unsigned char size, unsigned char data[]) { int i; send_ctrl_cmd(addr); read_data_cmd(); // dummy command for correct read for(i = 0; i < size; i++) { data[i] = read_data_cmd(); } return TRUE; } static bool register_compare(unsigned char addr, unsigned char data[], unsigned char count) { unsigned char index = 0; unsigned char i; LCM_register_table *ptr = table_ptr; switch(addr) { case 0x09 : index = 0; break; case 0x0A : index = 1; break; case 0x35 : index = 2; break; case 0x36 : index = 3; break; case 0x3A : index = 4; break; case 0x44 : index = 5; break; case 0xB1 : index = 6; break; case 0xB4 : index = 7; break; case 0xB6 : index = 8; break; case 0xB7 : index = 9; break; case 0xC0 : index = 10; break; case 0xC1 : index = 11; break; case 0xC2 : index = 12; break; case 0xC5 : index = 13; break; case 0xCF : index = 14; break; case 0xE0 : index = 15; break; case 0xE1 : index = 16; break; case 0xEE : index = 17; break; case 0xF6 : index = 18; break; default : LCM_PRINT("[LCD] register_compare, wrong address : 0x%x\n", addr); return TRUE; break; } for(i = 0; i < count; i++) { if(ptr[index].param_list[i] != data[i]) { LCM_PRINT("[LCD] register data changed, addr : 0x%x, data : 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x\n", addr, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8], data[9], data[10], data[11], data[12], data[13], data[14]); return FALSE; } } return TRUE; } bool lcm_register_check(unsigned char addr) { unsigned char data[15] = {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}; unsigned char param_cnt; unsigned char i; bool result; switch(addr) { case 0x35 : // Fall through case 0x36 : // Fall through case 0x3A : // Fall through case 0xB4 : // Fall through case 0xB6 : // Fall through case 0xB7 : // Fall through case 0xC1 : // Fall through case 0xC2 : // Fall through case 0xC5 : // Fall through case 0xEE : // Fall through param_cnt = 1; break; case 0x0A : // Fall through case 0x44 : // Fall through case 0xB1 : // Fall through case 0xC0 : // Fall through case 0xCF : // Fall through param_cnt = 2; break; case 0xF6 : param_cnt = 3; break; case 0x09 : param_cnt = 5; break; case 0xE0 : // Fall through case 0xE1 : // Fall through param_cnt = 15; break; default : LCM_PRINT("[LCD] lcm_register_check, wrong address : 0x%x\n", addr); return TRUE; break; } result = register_data_read(addr, param_cnt, &data); if(result == TRUE) { return register_compare(addr, data, param_cnt); } else { LCM_PRINT("[LCD] register data read fail, return TRUE\n"); return TRUE; } } #endif /* LGE_BSP_COMMON LGE_CHANGE_E 140304 jongwoo82.lee : LCM register dump interface */ #if 1 /* LGE_BSP_COMMON LGE_CHANGE_S 140304 jongwoo82.lee : ESD check & recovery */ static unsigned int lcm_esd_check(void) { //LCM_PRINT("[LCD] lcm_esd_check\n"); if(esd_check_period >=3) { esd_check_period = 0; if( lcm_register_check(0xE0) && lcm_register_check(0xE1) && lcm_register_check(0xEE) && lcm_register_check(0xF6)) { return FALSE; } else { return TRUE; } } else { esd_check_period++; return FALSE; } } static unsigned int lcm_esd_recover(void) { LCM_PRINT("\n[LCD] lcm_esd_recover, LCD re-initialize \n"); lcm_suspend_INN(); MDELAY(200); lcm_init_INN(); return TRUE; } int dump_lcm_register(char *buf) { int i, j; unsigned char param_cnt; unsigned char addr; unsigned char data[15]; int table_size = sizeof(INN_register_table)/sizeof(LCM_register_table); int ret = FALSE; // register data not changed LCM_register_table *ptr = table_ptr; for(i = 0; i < table_size; i++) { memset(data, 0xFF, sizeof(data)); addr = ptr[i].address; param_cnt = ptr[i].count; register_data_read(addr, param_cnt, &data); LCM_PRINT("[LCD] DUMP LCM REGISTER ADDRESS : 0x%x, data : 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x\n", addr, data[0], data[1], data[2], data[3], data[4], data[5], data[6], data[7], data[8], data[9], data[10], data[11], data[12], data[13], data[14]); if(register_compare(addr, data, param_cnt) == FALSE) { sprintf(buf, "%s 0x%x", buf, addr); ret = TRUE; // register data changed } } sprintf(buf, "%s\0", buf); return ret; } #endif /* LGE_BSP_COMMON LGE_CHANGE_E 140304 jongwoo82.lee : ESD check & recovery */ #if 1 /* LGE_BSP_COMMON LGE_CHANGE_S 140311 jongwoo82.lee : LCD Dualization */ static void init_lcm_registers_TCL(void) // TCL { send_ctrl_cmd(0xCF); send_data_cmd(0x00); send_data_cmd(0x01); send_ctrl_cmd(0xC0);//Power control send_data_cmd(0x12);//VRH[5:0] send_data_cmd(0x12);// send_ctrl_cmd(0xC1);//Power control send_data_cmd(0x05);//SAP[2:0];BT[3:0] send_ctrl_cmd(0xC2); send_data_cmd(0x32); send_ctrl_cmd(0xC5); send_data_cmd(0xf8); // 0xf5->0xf8 send_ctrl_cmd(0x36);// Memory Access Control send_data_cmd(0x08); send_ctrl_cmd(0x3A); send_data_cmd(0x55); send_ctrl_cmd(0xB1);// Frame Rate Control send_data_cmd(0x00); send_data_cmd(0x1B);//0x17--83Hz,0x1b--70Hz send_ctrl_cmd(0xb4); send_data_cmd(0x00); // column inversion send_ctrl_cmd(0x20); send_ctrl_cmd(0xb7); send_data_cmd(0x06); send_ctrl_cmd(0xE0);//Set Gamma send_data_cmd(0x00); send_data_cmd(0x08); send_data_cmd(0x08); send_data_cmd(0x03); send_data_cmd(0x12); send_data_cmd(0x08); send_data_cmd(0x3D); send_data_cmd(0x77); send_data_cmd(0x4F); send_data_cmd(0x1C); send_data_cmd(0x13); send_data_cmd(0x0F); send_data_cmd(0x1A); send_data_cmd(0x1B); send_data_cmd(0x00); send_ctrl_cmd(0XE1);//Set Gamma send_data_cmd(0x0F); send_data_cmd(0x1A); send_data_cmd(0x1E); send_data_cmd(0x05); send_data_cmd(0x12); send_data_cmd(0x05); send_data_cmd(0x39); send_data_cmd(0x22); send_data_cmd(0x4E); send_data_cmd(0x03); send_data_cmd(0x0F); send_data_cmd(0x0D); send_data_cmd(0x38); send_data_cmd(0x3C); send_data_cmd(0x0F); send_ctrl_cmd(0x35); // TE on send_data_cmd(0x00); send_ctrl_cmd(0x11);//Exit Sleep MDELAY(150); send_ctrl_cmd(0xf6); send_data_cmd(0x41); send_data_cmd(0x30); send_data_cmd(0x00); send_ctrl_cmd(0XEE);//Set MADCTL send_data_cmd(0x0C); send_ctrl_cmd(0x29);//display on MDELAY(20); send_ctrl_cmd(0x2c);//Memory Write }
static void init_lcm_registers(void) { Lcd_Log("MYCAT LCD nt35510_tengsheng_43008fn_mcu_wvga"); send_ctrl_cmd(0xF000); send_data_cmd(0x55); send_ctrl_cmd(0xF001); send_data_cmd(0xAA); send_ctrl_cmd(0xF002); send_data_cmd(0x52); send_ctrl_cmd(0xF003); send_data_cmd(0x08); send_ctrl_cmd(0xF004); send_data_cmd(0x01); //# AVDD: manual, 6V (0x44: 2.5xVCI0) send_ctrl_cmd(0xB600); send_data_cmd(0x34); send_ctrl_cmd(0xB601); send_data_cmd(0x34); send_ctrl_cmd(0xB602); send_data_cmd(0x34); send_ctrl_cmd(0xB000); send_data_cmd(0x0C); //#Default ?иж05 6v send_ctrl_cmd(0xB001); send_data_cmd(0x0C); send_ctrl_cmd(0xB002); send_data_cmd(0x0C); //# AVEE: manual, -6V (0x34: -2.5xVCI) send_ctrl_cmd(0xB700); send_data_cmd(0x24); send_ctrl_cmd(0xB701); send_data_cmd(0x24); send_ctrl_cmd(0xB702); send_data_cmd(0x24); send_ctrl_cmd(0xB100); send_data_cmd(0x0C); //#Default ?иж05 -6v send_ctrl_cmd(0xB101); send_data_cmd(0x0C); send_ctrl_cmd(0xB102); send_data_cmd(0x0C); //#Power Control for VCL send_ctrl_cmd(0xB800); send_data_cmd(0x34); send_ctrl_cmd(0xB200); send_data_cmd(0x00); //#-2.5v //# VGH: Clamp Enable, 2*AVDD-AVEE send_ctrl_cmd(0xB900); send_data_cmd(0x34); send_ctrl_cmd(0xB901); send_data_cmd(0x34); send_ctrl_cmd(0xB902); send_data_cmd(0x34); send_ctrl_cmd(0xB300); send_data_cmd(0x08); send_ctrl_cmd(0xB301); send_data_cmd(0x08); send_ctrl_cmd(0xB302); send_data_cmd(0x08); //# VGL(LVGL): send_ctrl_cmd(0xBA00); send_data_cmd(0x14); send_ctrl_cmd(0xBA01); send_data_cmd(0x14); send_ctrl_cmd(0xBA02); send_data_cmd(0x14); //# VGL_REG(VGLO):-10V send_ctrl_cmd(0xB500); send_data_cmd(0x08); send_ctrl_cmd(0xB501); send_data_cmd(0x08); send_ctrl_cmd(0xB502); send_data_cmd(0x08); //# VGMP/VGSP: 4.8v send_ctrl_cmd(0xBC00); send_data_cmd(0x00); send_ctrl_cmd(0xBC01); send_data_cmd(0xA0);//80 send_ctrl_cmd(0xBC02); send_data_cmd(0x00); //# VGMN/VGSN -4.8v send_ctrl_cmd(0xBD00); send_data_cmd(0x00); send_ctrl_cmd(0xBD01); send_data_cmd(0xA0);//80 send_ctrl_cmd(0xBD02); send_data_cmd(0x00); //# VCOM=-0.1 send_ctrl_cmd(0xBE00); send_data_cmd(0x00); send_ctrl_cmd(0xBE01); send_data_cmd(0x40);//40 //#R+ send_ctrl_cmd(0xD100); send_data_cmd(0x00); send_ctrl_cmd(0xD101); send_data_cmd(0x14); send_ctrl_cmd(0xD102); send_data_cmd(0x00); send_ctrl_cmd(0xD103); send_data_cmd(0x3a); send_ctrl_cmd(0xD104); send_data_cmd(0x00); send_ctrl_cmd(0xD105); send_data_cmd(0x66); send_ctrl_cmd(0xD106); send_data_cmd(0x00); send_ctrl_cmd(0xD107); send_data_cmd(0x86); send_ctrl_cmd(0xD108); send_data_cmd(0x00); send_ctrl_cmd(0xD109); send_data_cmd(0x9d); send_ctrl_cmd(0xD10A); send_data_cmd(0x00); send_ctrl_cmd(0xD10B); send_data_cmd(0xc3); send_ctrl_cmd(0xD10C); send_data_cmd(0x00); send_ctrl_cmd(0xD10D); send_data_cmd(0xe7); send_ctrl_cmd(0xD10E); send_data_cmd(0x01); send_ctrl_cmd(0xD10F); send_data_cmd(0x19); send_ctrl_cmd(0xD110); send_data_cmd(0x01); send_ctrl_cmd(0xD111); send_data_cmd(0x41); send_ctrl_cmd(0xD112); send_data_cmd(0x01); send_ctrl_cmd(0xD113); send_data_cmd(0x81); send_ctrl_cmd(0xD114); send_data_cmd(0x01); send_ctrl_cmd(0xD115); send_data_cmd(0xB4); send_ctrl_cmd(0xD116); send_data_cmd(0x02); send_ctrl_cmd(0xD117); send_data_cmd(0x03); send_ctrl_cmd(0xD118); send_data_cmd(0x02); send_ctrl_cmd(0xD119); send_data_cmd(0x41); send_ctrl_cmd(0xD11A); send_data_cmd(0x02); send_ctrl_cmd(0xD11B); send_data_cmd(0x43); send_ctrl_cmd(0xD11C); send_data_cmd(0x02); send_ctrl_cmd(0xD11D); send_data_cmd(0x7c); send_ctrl_cmd(0xD11E); send_data_cmd(0x02); send_ctrl_cmd(0xD11F); send_data_cmd(0xB8); send_ctrl_cmd(0xD120); send_data_cmd(0x02); send_ctrl_cmd(0xD121); send_data_cmd(0xDd); send_ctrl_cmd(0xD122); send_data_cmd(0x03); send_ctrl_cmd(0xD123); send_data_cmd(0x0b); send_ctrl_cmd(0xD124); send_data_cmd(0x03); send_ctrl_cmd(0xD125); send_data_cmd(0x2a); send_ctrl_cmd(0xD126); send_data_cmd(0x03); send_ctrl_cmd(0xD127); send_data_cmd(0x55); send_ctrl_cmd(0xD128); send_data_cmd(0x03); send_ctrl_cmd(0xD129); send_data_cmd(0x71); send_ctrl_cmd(0xD12A); send_data_cmd(0x03); send_ctrl_cmd(0xD12B); send_data_cmd(0x92); send_ctrl_cmd(0xD12C); send_data_cmd(0x03); send_ctrl_cmd(0xD12D); send_data_cmd(0xab); send_ctrl_cmd(0xD12E); send_data_cmd(0x03); send_ctrl_cmd(0xD12F); send_data_cmd(0xbe); send_ctrl_cmd(0xD130); send_data_cmd(0x03); send_ctrl_cmd(0xD131); send_data_cmd(0xC0); send_ctrl_cmd(0xD132); send_data_cmd(0x03); send_ctrl_cmd(0xD133); send_data_cmd(0xC0); //#G+ send_ctrl_cmd(0xD200); send_data_cmd(0x00); send_ctrl_cmd(0xD201); send_data_cmd(0x14); send_ctrl_cmd(0xD202); send_data_cmd(0x00); send_ctrl_cmd(0xD203); send_data_cmd(0x3a); send_ctrl_cmd(0xD204); send_data_cmd(0x00); send_ctrl_cmd(0xD205); send_data_cmd(0x66); send_ctrl_cmd(0xD206); send_data_cmd(0x00); send_ctrl_cmd(0xD207); send_data_cmd(0x86); send_ctrl_cmd(0xD208); send_data_cmd(0x00); send_ctrl_cmd(0xD209); send_data_cmd(0x9d); send_ctrl_cmd(0xD20A); send_data_cmd(0x00); send_ctrl_cmd(0xD20B); send_data_cmd(0xc3); send_ctrl_cmd(0xD20C); send_data_cmd(0x00); send_ctrl_cmd(0xD20D); send_data_cmd(0xe7); send_ctrl_cmd(0xD20E); send_data_cmd(0x01); send_ctrl_cmd(0xD20F); send_data_cmd(0x19); send_ctrl_cmd(0xD210); send_data_cmd(0x01); send_ctrl_cmd(0xD211); send_data_cmd(0x41); send_ctrl_cmd(0xD212); send_data_cmd(0x01); send_ctrl_cmd(0xD213); send_data_cmd(0x81); send_ctrl_cmd(0xD214); send_data_cmd(0x01); send_ctrl_cmd(0xD215); send_data_cmd(0xB4); send_ctrl_cmd(0xD216); send_data_cmd(0x02); send_ctrl_cmd(0xD217); send_data_cmd(0x03); send_ctrl_cmd(0xD218); send_data_cmd(0x02); send_ctrl_cmd(0xD219); send_data_cmd(0x41); send_ctrl_cmd(0xD21A); send_data_cmd(0x02); send_ctrl_cmd(0xD21B); send_data_cmd(0x43); send_ctrl_cmd(0xD21C); send_data_cmd(0x02); send_ctrl_cmd(0xD21D); send_data_cmd(0x7c); send_ctrl_cmd(0xD21E); send_data_cmd(0x02); send_ctrl_cmd(0xD21F); send_data_cmd(0xB8); send_ctrl_cmd(0xD220); send_data_cmd(0x02); send_ctrl_cmd(0xD221); send_data_cmd(0xDd); send_ctrl_cmd(0xD222); send_data_cmd(0x03); send_ctrl_cmd(0xD223); send_data_cmd(0x0b); send_ctrl_cmd(0xD224); send_data_cmd(0x03); send_ctrl_cmd(0xD225); send_data_cmd(0x2a); send_ctrl_cmd(0xD226); send_data_cmd(0x03); send_ctrl_cmd(0xD227); send_data_cmd(0x55); send_ctrl_cmd(0xD228); send_data_cmd(0x03); send_ctrl_cmd(0xD229); send_data_cmd(0x71); send_ctrl_cmd(0xD22A); send_data_cmd(0x03); send_ctrl_cmd(0xD22B); send_data_cmd(0x92); send_ctrl_cmd(0xD22C); send_data_cmd(0x03); send_ctrl_cmd(0xD22D); send_data_cmd(0xab); send_ctrl_cmd(0xD22E); send_data_cmd(0x03); send_ctrl_cmd(0xD22F); send_data_cmd(0xbe); send_ctrl_cmd(0xD230); send_data_cmd(0x03); send_ctrl_cmd(0xD231); send_data_cmd(0xC0); send_ctrl_cmd(0xD232); send_data_cmd(0x03); send_ctrl_cmd(0xD233); send_data_cmd(0xC0); //#B+ send_ctrl_cmd(0xD300); send_data_cmd(0x00); send_ctrl_cmd(0xD301); send_data_cmd(0x14); send_ctrl_cmd(0xD302); send_data_cmd(0x00); send_ctrl_cmd(0xD303); send_data_cmd(0x3a); send_ctrl_cmd(0xD304); send_data_cmd(0x00); send_ctrl_cmd(0xD305); send_data_cmd(0x66); send_ctrl_cmd(0xD306); send_data_cmd(0x00); send_ctrl_cmd(0xD307); send_data_cmd(0x86); send_ctrl_cmd(0xD308); send_data_cmd(0x00); send_ctrl_cmd(0xD309); send_data_cmd(0x9d); send_ctrl_cmd(0xD30A); send_data_cmd(0x00); send_ctrl_cmd(0xD30B); send_data_cmd(0xc3); send_ctrl_cmd(0xD30C); send_data_cmd(0x00); send_ctrl_cmd(0xD30D); send_data_cmd(0xe7); send_ctrl_cmd(0xD30E); send_data_cmd(0x01); send_ctrl_cmd(0xD30F); send_data_cmd(0x19); send_ctrl_cmd(0xD310); send_data_cmd(0x01); send_ctrl_cmd(0xD311); send_data_cmd(0x41); send_ctrl_cmd(0xD312); send_data_cmd(0x01); send_ctrl_cmd(0xD313); send_data_cmd(0x81); send_ctrl_cmd(0xD314); send_data_cmd(0x01); send_ctrl_cmd(0xD315); send_data_cmd(0xB4); send_ctrl_cmd(0xD316); send_data_cmd(0x02); send_ctrl_cmd(0xD317); send_data_cmd(0x03); send_ctrl_cmd(0xD318); send_data_cmd(0x02); send_ctrl_cmd(0xD319); send_data_cmd(0x41); send_ctrl_cmd(0xD31A); send_data_cmd(0x02); send_ctrl_cmd(0xD31B); send_data_cmd(0x43); send_ctrl_cmd(0xD31C); send_data_cmd(0x02); send_ctrl_cmd(0xD31D); send_data_cmd(0x7c); send_ctrl_cmd(0xD31E); send_data_cmd(0x02); send_ctrl_cmd(0xD31F); send_data_cmd(0xB8); send_ctrl_cmd(0xD320); send_data_cmd(0x02); send_ctrl_cmd(0xD321); send_data_cmd(0xDd); send_ctrl_cmd(0xD322); send_data_cmd(0x03); send_ctrl_cmd(0xD323); send_data_cmd(0x0b); send_ctrl_cmd(0xD324); send_data_cmd(0x03); send_ctrl_cmd(0xD325); send_data_cmd(0x2a); send_ctrl_cmd(0xD326); send_data_cmd(0x03); send_ctrl_cmd(0xD327); send_data_cmd(0x55); send_ctrl_cmd(0xD328); send_data_cmd(0x03); send_ctrl_cmd(0xD329); send_data_cmd(0x71); send_ctrl_cmd(0xD32A); send_data_cmd(0x03); send_ctrl_cmd(0xD32B); send_data_cmd(0x92); send_ctrl_cmd(0xD32C); send_data_cmd(0x03); send_ctrl_cmd(0xD32D); send_data_cmd(0xab); send_ctrl_cmd(0xD32E); send_data_cmd(0x03); send_ctrl_cmd(0xD32F); send_data_cmd(0xbe); send_ctrl_cmd(0xD330); send_data_cmd(0x03); send_ctrl_cmd(0xD331); send_data_cmd(0xC0); send_ctrl_cmd(0xD332); send_data_cmd(0x03); send_ctrl_cmd(0xD333); send_data_cmd(0xC0); //#R- send_ctrl_cmd(0xD400); send_data_cmd(0x00); send_ctrl_cmd(0xD401); send_data_cmd(0x14); send_ctrl_cmd(0xD402); send_data_cmd(0x00); send_ctrl_cmd(0xD403); send_data_cmd(0x3a); send_ctrl_cmd(0xD404); send_data_cmd(0x00); send_ctrl_cmd(0xD405); send_data_cmd(0x66); send_ctrl_cmd(0xD406); send_data_cmd(0x00); send_ctrl_cmd(0xD407); send_data_cmd(0x86); send_ctrl_cmd(0xD408); send_data_cmd(0x00); send_ctrl_cmd(0xD409); send_data_cmd(0x9d); send_ctrl_cmd(0xD40A); send_data_cmd(0x00); send_ctrl_cmd(0xD40B); send_data_cmd(0xc3); send_ctrl_cmd(0xD40C); send_data_cmd(0x00); send_ctrl_cmd(0xD40D); send_data_cmd(0xe7); send_ctrl_cmd(0xD40E); send_data_cmd(0x01); send_ctrl_cmd(0xD40F); send_data_cmd(0x19); send_ctrl_cmd(0xD410); send_data_cmd(0x01); send_ctrl_cmd(0xD411); send_data_cmd(0x41); send_ctrl_cmd(0xD412); send_data_cmd(0x01); send_ctrl_cmd(0xD413); send_data_cmd(0x81); send_ctrl_cmd(0xD414); send_data_cmd(0x01); send_ctrl_cmd(0xD415); send_data_cmd(0xB4); send_ctrl_cmd(0xD416); send_data_cmd(0x02); send_ctrl_cmd(0xD417); send_data_cmd(0x03); send_ctrl_cmd(0xD418); send_data_cmd(0x02); send_ctrl_cmd(0xD419); send_data_cmd(0x41); send_ctrl_cmd(0xD41A); send_data_cmd(0x02); send_ctrl_cmd(0xD41B); send_data_cmd(0x43); send_ctrl_cmd(0xD41C); send_data_cmd(0x02); send_ctrl_cmd(0xD41D); send_data_cmd(0x7c); send_ctrl_cmd(0xD41E); send_data_cmd(0x02); send_ctrl_cmd(0xD41F); send_data_cmd(0xB8); send_ctrl_cmd(0xD420); send_data_cmd(0x02); send_ctrl_cmd(0xD421); send_data_cmd(0xDd); send_ctrl_cmd(0xD422); send_data_cmd(0x03); send_ctrl_cmd(0xD423); send_data_cmd(0x0b); send_ctrl_cmd(0xD424); send_data_cmd(0x03); send_ctrl_cmd(0xD425); send_data_cmd(0x2a); send_ctrl_cmd(0xD426); send_data_cmd(0x03); send_ctrl_cmd(0xD427); send_data_cmd(0x55); send_ctrl_cmd(0xD428); send_data_cmd(0x03); send_ctrl_cmd(0xD429); send_data_cmd(0x71); send_ctrl_cmd(0xD42A); send_data_cmd(0x03); send_ctrl_cmd(0xD42B); send_data_cmd(0x92); send_ctrl_cmd(0xD42C); send_data_cmd(0x03); send_ctrl_cmd(0xD42D); send_data_cmd(0xab); send_ctrl_cmd(0xD42E); send_data_cmd(0x03); send_ctrl_cmd(0xD42F); send_data_cmd(0xbe); send_ctrl_cmd(0xD430); send_data_cmd(0x03); send_ctrl_cmd(0xD431); send_data_cmd(0xC0); send_ctrl_cmd(0xD432); send_data_cmd(0x03); send_ctrl_cmd(0xD433); send_data_cmd(0xC0); //#G- send_ctrl_cmd(0xD500); send_data_cmd(0x00); send_ctrl_cmd(0xD501); send_data_cmd(0x14); send_ctrl_cmd(0xD502); send_data_cmd(0x00); send_ctrl_cmd(0xD503); send_data_cmd(0x3a); send_ctrl_cmd(0xD504); send_data_cmd(0x00); send_ctrl_cmd(0xD505); send_data_cmd(0x66); send_ctrl_cmd(0xD506); send_data_cmd(0x00); send_ctrl_cmd(0xD507); send_data_cmd(0x86); send_ctrl_cmd(0xD508); send_data_cmd(0x00); send_ctrl_cmd(0xD509); send_data_cmd(0x9d); send_ctrl_cmd(0xD50A); send_data_cmd(0x00); send_ctrl_cmd(0xD50B); send_data_cmd(0xc3); send_ctrl_cmd(0xD50C); send_data_cmd(0x00); send_ctrl_cmd(0xD50D); send_data_cmd(0xe7); send_ctrl_cmd(0xD50E); send_data_cmd(0x01); send_ctrl_cmd(0xD50F); send_data_cmd(0x19); send_ctrl_cmd(0xD510); send_data_cmd(0x01); send_ctrl_cmd(0xD511); send_data_cmd(0x41); send_ctrl_cmd(0xD512); send_data_cmd(0x01); send_ctrl_cmd(0xD513); send_data_cmd(0x81); send_ctrl_cmd(0xD514); send_data_cmd(0x01); send_ctrl_cmd(0xD515); send_data_cmd(0xB4); send_ctrl_cmd(0xD516); send_data_cmd(0x02); send_ctrl_cmd(0xD517); send_data_cmd(0x03); send_ctrl_cmd(0xD518); send_data_cmd(0x02); send_ctrl_cmd(0xD519); send_data_cmd(0x41); send_ctrl_cmd(0xD51A); send_data_cmd(0x02); send_ctrl_cmd(0xD51B); send_data_cmd(0x43); send_ctrl_cmd(0xD51C); send_data_cmd(0x02); send_ctrl_cmd(0xD51D); send_data_cmd(0x7c); send_ctrl_cmd(0xD51E); send_data_cmd(0x02); send_ctrl_cmd(0xD51F); send_data_cmd(0xB8); send_ctrl_cmd(0xD520); send_data_cmd(0x02); send_ctrl_cmd(0xD521); send_data_cmd(0xDd); send_ctrl_cmd(0xD522); send_data_cmd(0x03); send_ctrl_cmd(0xD523); send_data_cmd(0x0b); send_ctrl_cmd(0xD524); send_data_cmd(0x03); send_ctrl_cmd(0xD525); send_data_cmd(0x2a); send_ctrl_cmd(0xD526); send_data_cmd(0x03); send_ctrl_cmd(0xD527); send_data_cmd(0x55); send_ctrl_cmd(0xD528); send_data_cmd(0x03); send_ctrl_cmd(0xD529); send_data_cmd(0x71); send_ctrl_cmd(0xD52A); send_data_cmd(0x03); send_ctrl_cmd(0xD52B); send_data_cmd(0x92); send_ctrl_cmd(0xD52C); send_data_cmd(0x03); send_ctrl_cmd(0xD52D); send_data_cmd(0xab); send_ctrl_cmd(0xD52E); send_data_cmd(0x03); send_ctrl_cmd(0xD52F); send_data_cmd(0xbe); send_ctrl_cmd(0xD530); send_data_cmd(0x03); send_ctrl_cmd(0xD531); send_data_cmd(0xC0); send_ctrl_cmd(0xD532); send_data_cmd(0x03); send_ctrl_cmd(0xD533); send_data_cmd(0xC0); //#B- send_ctrl_cmd(0xD600); send_data_cmd(0x00); send_ctrl_cmd(0xD601); send_data_cmd(0x14); send_ctrl_cmd(0xD602); send_data_cmd(0x00); send_ctrl_cmd(0xD603); send_data_cmd(0x3a); send_ctrl_cmd(0xD604); send_data_cmd(0x00); send_ctrl_cmd(0xD605); send_data_cmd(0x66); send_ctrl_cmd(0xD606); send_data_cmd(0x00); send_ctrl_cmd(0xD607); send_data_cmd(0x86); send_ctrl_cmd(0xD608); send_data_cmd(0x00); send_ctrl_cmd(0xD609); send_data_cmd(0x9d); send_ctrl_cmd(0xD60A); send_data_cmd(0x00); send_ctrl_cmd(0xD60B); send_data_cmd(0xc3); send_ctrl_cmd(0xD60C); send_data_cmd(0x00); send_ctrl_cmd(0xD60D); send_data_cmd(0xe7); send_ctrl_cmd(0xD60E); send_data_cmd(0x01); send_ctrl_cmd(0xD60F); send_data_cmd(0x19); send_ctrl_cmd(0xD610); send_data_cmd(0x01); send_ctrl_cmd(0xD611); send_data_cmd(0x41); send_ctrl_cmd(0xD612); send_data_cmd(0x01); send_ctrl_cmd(0xD613); send_data_cmd(0x81); send_ctrl_cmd(0xD614); send_data_cmd(0x01); send_ctrl_cmd(0xD615); send_data_cmd(0xB4); send_ctrl_cmd(0xD616); send_data_cmd(0x02); send_ctrl_cmd(0xD617); send_data_cmd(0x03); send_ctrl_cmd(0xD618); send_data_cmd(0x02); send_ctrl_cmd(0xD619); send_data_cmd(0x41); send_ctrl_cmd(0xD61A); send_data_cmd(0x02); send_ctrl_cmd(0xD61B); send_data_cmd(0x43); send_ctrl_cmd(0xD61C); send_data_cmd(0x02); send_ctrl_cmd(0xD61D); send_data_cmd(0x7c); send_ctrl_cmd(0xD61E); send_data_cmd(0x02); send_ctrl_cmd(0xD61F); send_data_cmd(0xB8); send_ctrl_cmd(0xD620); send_data_cmd(0x02); send_ctrl_cmd(0xD621); send_data_cmd(0xDd); send_ctrl_cmd(0xD622); send_data_cmd(0x03); send_ctrl_cmd(0xD623); send_data_cmd(0x0b); send_ctrl_cmd(0xD624); send_data_cmd(0x03); send_ctrl_cmd(0xD625); send_data_cmd(0x2a); send_ctrl_cmd(0xD626); send_data_cmd(0x03); send_ctrl_cmd(0xD627); send_data_cmd(0x55); send_ctrl_cmd(0xD628); send_data_cmd(0x03); send_ctrl_cmd(0xD629); send_data_cmd(0x71); send_ctrl_cmd(0xD62A); send_data_cmd(0x03); send_ctrl_cmd(0xD62B); send_data_cmd(0x92); send_ctrl_cmd(0xD62C); send_data_cmd(0x03); send_ctrl_cmd(0xD62D); send_data_cmd(0xab); send_ctrl_cmd(0xD62E); send_data_cmd(0x03); send_ctrl_cmd(0xD62F); send_data_cmd(0xbe); send_ctrl_cmd(0xD630); send_data_cmd(0x03); send_ctrl_cmd(0xD631); send_data_cmd(0xC0); send_ctrl_cmd(0xD632); send_data_cmd(0x03); send_ctrl_cmd(0xD633); send_data_cmd(0xC0); //#Enable Page0 send_ctrl_cmd(0xF000); send_data_cmd(0x55); send_ctrl_cmd(0xF001); send_data_cmd(0xAA); send_ctrl_cmd(0xF002); send_data_cmd(0x52); send_ctrl_cmd(0xF003); send_data_cmd(0x08); send_ctrl_cmd(0xF004); send_data_cmd(0x00); //# RGB I/F Setting send_ctrl_cmd(0xB000); send_data_cmd(0x00);//08--RGB I/F send_ctrl_cmd(0xB001); send_data_cmd(0x05); send_ctrl_cmd(0xB002); send_data_cmd(0x02); send_ctrl_cmd(0xB003); send_data_cmd(0x05); send_ctrl_cmd(0xB004); send_data_cmd(0x02); send_ctrl_cmd(0xB405); send_data_cmd(0x10); //## SDT: send_ctrl_cmd(0xB600); send_data_cmd(0x05); //## Gate EQ: send_ctrl_cmd(0xB700); send_data_cmd(0x70);//00 send_ctrl_cmd(0xB701); send_data_cmd(0x70);//00 //## Source EQ: send_ctrl_cmd(0xB800); send_data_cmd(0x01); send_ctrl_cmd(0xB801); send_data_cmd(0x05); send_ctrl_cmd(0xB802); send_data_cmd(0x05); send_ctrl_cmd(0xB803); send_data_cmd(0x05); //# Inversion: Column inversion (NVT) send_ctrl_cmd(0xBC00); send_data_cmd(0x00); //0x02 send_ctrl_cmd(0xBC01); send_data_cmd(0x00); send_ctrl_cmd(0xBC02); send_data_cmd(0x00); //# BOE's Setting (default) send_ctrl_cmd(0xCC00); send_data_cmd(0x03); send_ctrl_cmd(0xCC01); send_data_cmd(0x50); send_ctrl_cmd(0xCC02); send_data_cmd(0x50); //# Display Timing: send_ctrl_cmd(0xBD00); send_data_cmd(0x01); // send_ctrl_cmd(0xBD01); send_data_cmd(0x00); send_ctrl_cmd(0xBD02); send_data_cmd(0x07); send_ctrl_cmd(0xBD03); send_data_cmd(0x31); send_ctrl_cmd(0xBD04); send_data_cmd(0x00); send_ctrl_cmd(0xFF00); send_data_cmd(0xAA); send_ctrl_cmd(0xFF01); send_data_cmd(0x55); send_ctrl_cmd(0xFF02); send_data_cmd(0x25); send_ctrl_cmd(0xFF03); send_data_cmd(0x01); //send_ctrl_cmd(0xF304); send_data_cmd(0x11); //send_ctrl_cmd(0xF306); send_data_cmd(0x10); //send_ctrl_cmd(0xF408); send_data_cmd(0x00); send_ctrl_cmd(0x3500); send_data_cmd(0x00);//TE ON send_ctrl_cmd(0x3600); send_data_cmd(0x00);//00--normal,C0--Rotate 180 send_ctrl_cmd(0x4400); send_data_cmd(0x00);//TE Start line send_ctrl_cmd(0x4401); send_data_cmd(0x32);//FF Rotate 180 send_ctrl_cmd(0x3A00); send_data_cmd(0x66);//24bit send_ctrl_cmd(0x1100);//Sleep out MDELAY(120); send_ctrl_cmd(0x2900);//Display on MDELAY(100); send_ctrl_cmd(0x2c00); MDELAY(50); // sw_clear_panel(0x0); // Clean panel as black // MDELAY(10); }