Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
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
}
Exemplo n.º 4
0
static void lcm_setbacklight(unsigned int level)
{
	if(level > 255) level = 255;
	send_ctrl_cmd(0x51);
	send_data_cmd(level);	
}
Exemplo n.º 5
0
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);

}
Exemplo n.º 6
0
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);
}
Exemplo n.º 7
0
static void lcm_suspend(void)
{
    sw_clear_panel(0);
	send_ctrl_cmd(0x10);
	MDELAY(5);
}
Exemplo n.º 8
0
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
}
Exemplo n.º 9
0
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);
}
Exemplo n.º 11
0
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);	 

}
Exemplo n.º 13
0
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

}
Exemplo n.º 14
0
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);
        }
    }
}
Exemplo n.º 16
0
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);
}
Exemplo n.º 18
0
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 */
}
Exemplo n.º 20
0
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);
}
Exemplo n.º 21
0
static void lcm_resume(void)
{
	send_ctrl_cmd(0x11);
	MDELAY(120);
}
Exemplo n.º 22
0
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);
        
}
Exemplo n.º 23
0
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);
		
}
Exemplo n.º 25
0
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);
}