Пример #1
0
//*******************************************************************
void SSD2825_Gen_write_1A_1P(unsigned short x1, unsigned short x2)
{
   Write_com(0x00BC); 
   Write_register(0x0002);
   Write_com(0x00BF); 
   Write_register((x2<<8)|x1);
}
Пример #2
0
static void setGammaBacklight(unsigned int index)
{
    //int i;

    if(index >=ARRAY_OF(gamma_table))
	{
       index = ARRAY_OF(gamma_table) -1;
    }
	
	LCM_DEBUG("setGammaBacklight  index=%d ARRAY_OF(gamma_table)=%d\n", index,ARRAY_OF(gamma_table));
    //FA
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x001A);
	Write_com(0x00BF);
	Write_register((gamma_table[index].gammaValue[0]<<8)|0xFA);
	Write_register((gamma_table[index].gammaValue[2]<<8)|(gamma_table[index].gammaValue[1]));
	Write_register((gamma_table[index].gammaValue[4]<<8)|(gamma_table[index].gammaValue[3]));
	Write_register((gamma_table[index].gammaValue[6]<<8)|(gamma_table[index].gammaValue[5]));
	Write_register((gamma_table[index].gammaValue[8]<<8)|(gamma_table[index].gammaValue[7]));
	Write_register((gamma_table[index].gammaValue[10]<<8)|(gamma_table[index].gammaValue[9]));
	Write_register((gamma_table[index].gammaValue[12]<<8)|(gamma_table[index].gammaValue[11]));
	Write_register((gamma_table[index].gammaValue[14]<<8)|(gamma_table[index].gammaValue[13]));
	Write_register((gamma_table[index].gammaValue[16]<<8)|(gamma_table[index].gammaValue[15]));
	Write_register((gamma_table[index].gammaValue[18]<<8)|(gamma_table[index].gammaValue[17]));
	Write_register((gamma_table[index].gammaValue[20]<<8)|(gamma_table[index].gammaValue[19]));
	Write_register((gamma_table[index].gammaValue[22]<<8)|(gamma_table[index].gammaValue[21]));
	Write_register((gamma_table[index].gammaValue[24]<<8)|(gamma_table[index].gammaValue[23]));
}
Пример #3
0
void SSD2825_Gen_write_1A_3P(unsigned short x1, unsigned short x2, unsigned short x3, unsigned short x4)
{
   Write_com(0x00BC); 
   Write_register(0x0004);
   Write_com(0x00BF); 
   Write_register((x2<<8)|x1);
   Write_register((x4<<8)|x3);
}
Пример #4
0
static void lcm_suspend(void)
{
    Write_com(0x28);
    Write_com(0x10);

    MDELAY(120);

    return;
}
Пример #5
0
void LCD_init()
{
	LCD_rs=0;
	LCD_rw=0;
	LCD_e=0;
    Write_com(0x38);
	Write_com(0x0e);
	Write_com(0x06);
	Write_com(0x01);
}
Пример #6
0
/*jrd add for LCD ACL function,PR350502*/
int set_acl_function(unsigned int enable) {
    if(enable == 1) {
        acl_enable = 1;
        Write_com(0xc0);
        Write_register(0x01);
    } else {
        acl_enable= 0;
        Write_com(0xc0);
        Write_register(0x00);
    }
}
Пример #7
0
void SSD2825_Gen_write_1A_6P(unsigned short x1, unsigned short x2, unsigned short x3, unsigned short x4, unsigned short x5,
	                         unsigned short x6, unsigned short x7)
{
   Write_com(0x00BC); 
   Write_register(0x0007);
   Write_com(0x00BF); 
   Write_register((x2<<8)|x1);
   Write_register((x4<<8)|x3);
   Write_register((x6<<8)|x5);
   Write_register(x7);
}
Пример #8
0
void SSD2825_Gen_write_1A_9P(unsigned short x1, unsigned short x2, unsigned short x3, unsigned short x4, unsigned short x5, 
	                         unsigned short x6, unsigned short x7, unsigned short x8, unsigned short x9, unsigned short x10)
{
   Write_com(0x00BC); 
   Write_register(0x000A);
   Write_com(0x00BF); 
   Write_register((x2<<8)|x1);
   Write_register((x4<<8)|x3);
   Write_register((x6<<8)|x5);
   Write_register((x8<<8)|x7);
   Write_register((x10<<8)|x9);
}   
Пример #9
0
static void lcm_suspend(void)

{

    Write_com(0x00b7);
    Write_register(0x0309); 
    
    Write_com(0x00b8);
    Write_register(0x0000); 
    
    Write_com(0x00bc);
    Write_register(0x0001); 
    
    Write_com(0x00bf);
    Write_register(0x0028);
    
    MDELAY(10);//MDELAY(20); 
    
    Write_com(0x00bf);
    Write_register(0x0010);
    
    MDELAY(200);//MDELAY(200); 
    
    Write_com(0x00b7);
    Write_register(0x0300); 
    
    Write_com(0x00b7);
    Write_register(0x0304); 
        
    Write_com(0x00b9);
    Write_register(0x0000);
    
    return;
}
Пример #10
0
static void setDynamicElvss(unsigned int index)
{
    if(index >= ARRAY_OF(gamma_table))
	{
       index = ARRAY_OF(gamma_table) -1;
    }
	
	if(gamma_table[index].backlight_level>200)
	{
		Write_com(0x00B7);
		Write_register(0x034B);
		Write_com(0x00B8);
		Write_register(0x0000);
		Write_com(0x00BC);
		Write_register(0x0003);
		Write_com(0x00BF);
		Write_register(0x04B1);
		Write_register(0x008B);
	}
	else
	{
		Write_com(0x00B7);
		Write_register(0x034B);
		Write_com(0x00B8);
		Write_register(0x0000);
		Write_com(0x00BC);
		Write_register(0x0003);
		Write_com(0x00BF);
		Write_register(0x04B1);
		Write_register(0x0095);
	}
    
}
Пример #11
0
void SSD2825_Gen_write_1A_16P(unsigned short x1, unsigned short x2, unsigned short x3, unsigned short x4, unsigned short x5, 
	                          unsigned short x6, unsigned short x7, unsigned short x8, unsigned short x9, unsigned short x10,
	                          unsigned short x11, unsigned short x12, unsigned short x13, unsigned short x14, unsigned short x15,
	                          unsigned short x16, unsigned short x17)
{
   Write_com(0x00BC); 
   Write_register(0x0011);
   Write_com(0x00BF); 
   Write_register((x2<<8)|x1);
   Write_register((x4<<8)|x3);
   Write_register((x6<<8)|x5);
   Write_register((x8<<8)|x7);
   Write_register((x10<<8)|x9);
   Write_register((x12<<8)|x11);
   Write_register((x14<<8)|x13);
   Write_register((x16<<8)|x15);
   Write_register(x17);
}   
Пример #12
0
static void lcm_setbacklight (unsigned int level)
{
    int i;
    static int old_level = -1;

    LCM_DEBUG("%s backlight level: %d\n", __func__, level); // leibo


    if(level < 0 || level > 255)
        return -1;

    level = level / 12;  /* 0 <= level <= 20*/
    if(level > (ARRAY_OF(gamma_backlight)-1 ))
        level = ARRAY_OF(gamma_backlight) -1;

    if (old_level == level) { /* no need update */
        return;
    }

    if (level == 0) {
        Write_com(0x28);
    } else {
        /* disable gamma update. */
        Write_com(0xfa);
        Write_register(0x02);

        /* write gamma data setting. */
        for (i = 0 ; i < GAMMA_DATA_COUNT; i++) {
            Write_register(gamma_backlight[level][i]);
        }

        /* update gamma table. */
        Write_com(0xfa);
        Write_register(0x03);

        if(!old_level) {
            /*when send 0x11 since now,process scheduling speed time is 250ms,so it's not nedd MDELAY anymore*/
            //MDELAY(120);
            Write_com(0x29);
        }
    }

    old_level = level;
}
Пример #13
0
static unsigned int lcm_compare_id(void)
{
	unsigned short id;
	Write_com(0x00b0);	  
	id=Read_register();
    LCM_DEBUG("lcm_compare_id id is: %x\n",id);
 
	return (SSD2825_ID == id)?1:0;

}
Пример #14
0
static unsigned int lcm_compare_id(void)
{
   unsigned short id;
    
#ifdef BUILD_LK
    unsigned int    lcm_idpin_value = 0;
    lcm_idpin_value = lcm_check_idpin_adc(ADC_CHECK_COUNT);
     if(lcm_idpin_value < 90)// < 0.9V
     return 1;
     else
     return 0;
#endif
#if 0
     Write_com(0x00b0); 
     id=Read_register();
     return (0x2825 == id)?1:0;
#endif

}
Пример #15
0
static void lcm_resume(void)

{
#if 0
    Write_com(0x00b9);
    Write_register(0x0001);
    
    Write_com(0x00b7);
    Write_register(0x030b);
    
    Write_com(0x00b8);
    Write_register(0x0000);
    Write_com(0x00bc);
    Write_register(0x0001); 
    Write_com(0x00bf);
    Write_register(0x0011);
    MDELAY(200);
    Write_com(0x00bf);
    Write_register(0x0029);
    
    Write_com(0x00b7);
    Write_register(0x0309); 
    
    return;
    
#else
    config_gpio();
    SET_RESET_PIN(1);
    MDELAY(10);
    SET_GPIO_OUT(LSSHUT_GPIO_PIN, 0);
    MDELAY(200);//100
    SET_RESET_PIN(0);
    MDELAY(100);//30
    SET_RESET_PIN(1);
    MDELAY(300);//120
    init_lcm_registers();   
    return;
#endif	
}
Пример #16
0
static void lcm_suspend(void)
{

#ifdef BUILD_UBOOT
	g_resume_flag=1;
#endif
	Write_com(0x00b7); 
	Write_register(0x034B);  
	Write_com(0x00b8); 
	Write_register(0x0000);  
	Write_com(0x00bc); 
	Write_register(0x0000);  
	Write_com(0x0028); 
	MDELAY(10);
	Write_com(0x0010); 
	MDELAY(150);
	Write_com(0x00b7); 
	Write_register(0x0344);  
	Write_com(0x00b9);
	Write_register(0x0000); 
	LCM_DEBUG("lcm_suspend\n");
	MDELAY(120);
}
Пример #17
0
void GP_COMMAD_PA(unsigned short num)
{
	SPI_2825_WrReg(0xbc, num);
	Write_com(0x00bf);
	Set_2805_CS(1);	
}
Пример #18
0
static void lcm_setbacklight(unsigned int level)   //back_light setting 
{

	int index;	
	
	index = level*(ARRAY_OF(gamma_table)-1)/255;

	if(g_last_Backlight_level == index)
	{
		return;
	}


	if(level == 0)
	{
	   
		//display off
		Write_com(0x00B7);
		Write_register(0x034B);
		Write_com(0x00B8);
		Write_register(0x0000);
		Write_com(0x00BC);
		Write_register(0x0001);
		Write_com(0x00BF);
		Write_register(0x0028);
	}
	else
	{    
		setGammaBacklight(index);
		setDynamicElvss(index);

		Write_com(0x00B7);
		Write_register(0x034B);
		Write_com(0x00B8);
		Write_register(0x0000);
		Write_com(0x00BC);
		Write_register(0x0002);
		Write_com(0x00BF);
		Write_register(0x03F7);

	  if(!g_last_Backlight_level)
		{
	   MDELAY(120);	//for lcm flash

       //0x29  display on
	   Write_com(0x00B7);
	   Write_register(0x034B);
	   Write_com(0x00B8);
	   Write_register(0x0000);
	   Write_com(0x00BC);
	   Write_register(0x0001);
	   Write_com(0x00BF);
	   Write_register(0x0029);
		}
    }
	g_last_Backlight_level=index;
    LCM_DEBUG("lcd-backlight  level=%d, index=%d\n", level,index);
}
Пример #19
0
static void init_lcm_registers(void)
{
	LCM_DEBUG("[LCM************]: init_lcm_registers. \n");
	
    Write_com(0x00B1);
	Write_register(0x0102);
	Write_com(0x00B2);
	Write_register(0x040E); //VBP from 3 to 4 for solomon 
	Write_com(0x00B3);
	Write_register(0x0D40);
	Write_com(0x00B4);
	Write_register(0x02D0);
	Write_com(0x00B5);
	Write_register(0x0500);
	Write_com(0x00B6);
	Write_register(0x000B); //from Non-burst(0x0007)  to burst mode(0x000B)

	MDELAY(2);
	Write_com(0x00DE);
	Write_register(0x0003);
	Write_com(0x00D6);
	Write_register(0x0004);
	Write_com(0x00B9);
	Write_register(0x0000);

	Write_com(0x00BA);
	Write_register(0x801F);

	Write_com(0x00BB);
	Write_register(0x0009);
	Write_com(0x00B9);
	Write_register(0x0001);
	Write_com(0x00B8);
	Write_register(0x0000);

	//F0
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0003);
	Write_com(0x00BF);
	Write_register(0x5AF0);
	Write_register(0x005A);
	//F1
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0003);
	Write_com(0x00BF);
	Write_register(0x5AF1);
	Write_register(0x005A);

	//0x11
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0001);
	Write_com(0x00BF);
	Write_register(0x0011);
    MDELAY(100);
	//F8
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0027);
	Write_com(0x00BF);
	Write_register(0x2DF8);
	Write_register(0x0035);
	Write_register(0x0000);
	Write_register(0x0093);
	Write_register(0x7D3C);
	Write_register(0x2708);
	Write_register(0x3f7d);
	Write_register(0x0000);
	Write_register(0x2000);
	Write_register(0x0804);
	Write_register(0x006E);
	Write_register(0x0000);
	Write_register(0x0802);
	Write_register(0x2308);
	Write_register(0xC023);
	Write_register(0x08C8);
	Write_register(0xC148);
	Write_register(0xC100);
	Write_register(0xFFFF);
	Write_register(0x00C8);

	//F2
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0004);
	Write_com(0x00BF);
	Write_register(0x80F2);
	Write_register(0x0D04);  //0x0D03 HD720 VBP
	
	//F6
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0003);
	Write_com(0x00BF);
	Write_register(0x00F6);
	Write_register(0x0002);

	
	//B6
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x000A);
	Write_com(0x00BF);
	Write_register(0x0CB6);
	Write_register(0x0302);
	Write_register(0xFF32);
	Write_register(0x4444);
	Write_register(0x00C0);
	 
	//D9
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x000F);
	Write_com(0x00BF);
	Write_register(0x14D9);
	Write_register(0x0C40);
	Write_register(0xCECB);
	Write_register(0xC46E);
	Write_register(0x4007);
	Write_register(0xCB41);
	Write_register(0x6000);
	Write_register(0x0019);

	//E1
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0006);
	Write_com(0x00BF);
	Write_register(0x10E1);
	Write_register(0x171C);
	Write_register(0x1D08);
	
	//E2
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0007);
	Write_com(0x00BF);
	Write_register(0xEDE2);
	Write_register(0xC307);
	Write_register(0x0D13);
	Write_register(0x0003);

	//E3
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0002);
	Write_com(0x00BF);
	Write_register(0x40E3);
	
	//E4
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0008);
	Write_com(0x00BF);
	Write_register(0x00E4);
	Write_register(0x1400);
	Write_register(0x0080);
	Write_register(0x0000);
	
	//F4
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0008);
	Write_com(0x00BF);
	Write_register(0xCFF4);
	Write_register(0x120A);
	Write_register(0x1E10);
	Write_register(0x0233);

	//0xF7
	/*Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00BC);
	Write_register(0x0002);
	Write_com(0x00BF);
	Write_register(0x00F7);*/

    setGammaBacklight(GAMMA_TABLE_MAX_INDEX);
    setDynamicElvss(GAMMA_TABLE_MAX_INDEX);

	//0xF7
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0002);
	Write_com(0x00BF);
	Write_register(0x03F7);
	
}
Пример #20
0
static void lcm_setbacklight(unsigned int level)   //back_light setting 
{

    int index,div;
    div = 245*10/(ARRAY_OF(gamma_table)+1);
	index = level*10/div-2; 
	if(index>=ARRAY_OF(gamma_table))
	{
		index = ARRAY_OF(gamma_table) -1;
	}
	else if(index<0)
	{
		index = 0;
	}
    if(g_last_Backlight_level == index)
	{
        return;
    }
    g_last_Backlight_level = index;
    if(level == 0)
	{
		
        Write_com(0x00B7);
		Write_register(0x034b);
		Write_com(0x00B8);
		Write_register(0x0000);
		Write_com(0x00BC);
		Write_register(0x0001);
		Write_com(0x00BF);
		Write_register(0x0028);//display off
		
    }
	else
    {
    	//0xF7
		Write_com(0x00B7);
		Write_register(0x034B);
		Write_com(0x00B8);
		Write_register(0x0000);
		Write_com(0x00BC);
		Write_register(0x0002);
		Write_com(0x00BF);
		Write_register(0x00F7);
    
        setGammaBacklight(index);
        setDynamicElvss(index);

		//0xF7
		Write_com(0x00B7);
		Write_register(0x034B);
		Write_com(0x00B8);
		Write_register(0x0000);
		Write_com(0x00BC);
		Write_register(0x0002);
		Write_com(0x00BF);
		Write_register(0x03F7);

		MDELAY(120);
		 //0x29  display on
  		Write_com(0x00B7);
  		Write_register(0x034b);
		Write_com(0x00B8);
		Write_register(0x0000);
  		Write_com(0x00BC);
  		Write_register(0x0001);
  		Write_com(0x00BF);
  		Write_register(0x0029);
		
    }
    LCM_DEBUG("lcd-backlight  level=%d, index=%d\n", level,index);
}
Пример #21
0
static void init_lcm_registers(void)
{
    Write_com(0xf0);
    Write_register(0x5a);
    Write_register(0x5a);

    Write_com(0xf8);
    Write_register(0x01);
    Write_register(0x27);
    Write_register(0x27);
    Write_register(0x07);
    Write_register(0x07);
    Write_register(0x54);
    Write_register(0x9f);
    Write_register(0x63);
    Write_register(0x86);
    Write_register(0x1a);
    Write_register(0x33);
    Write_register(0x0d);
    Write_register(0x00);
    Write_register(0x00);

    Write_com(0xf2);
    Write_register(0x02);
    Write_register(0x03);
    Write_register(0x1c);
    Write_register(0x10);
    Write_register(0x10);

    Write_com(0xf7);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x00);

    Write_com(0xfa);
    Write_register(0x02);
    Write_register(0x18);
    Write_register(0x08);
    Write_register(0x24);
    Write_register(0x70);
    Write_register(0x6e);
    Write_register(0x4e);
    Write_register(0xbc);
    Write_register(0xc0);
    Write_register(0xaf);
    Write_register(0xb3);
    Write_register(0xb8);
    Write_register(0xa5);
    Write_register(0xc5);
    Write_register(0xc7);
    Write_register(0xbb);
    Write_register(0x00);
    Write_register(0xb9);
    Write_register(0x00);
    Write_register(0xb8);
    Write_register(0x00);
    Write_register(0xfc);

    Write_com(0xfa);
    Write_register(0x03);

    Write_com(0xf6);
    Write_register(0x00);
    Write_register(0x8e);
    Write_register(0x07);

    Write_com(0xb3);
    Write_register(0x6c);

    Write_com(0xb5);
    Write_register(0x2c);
    Write_register(0x12);
    Write_register(0x0c);
    Write_register(0x0a);
    Write_register(0x10);
    Write_register(0x0e);
    Write_register(0x17);
    Write_register(0x13);
    Write_register(0x1f);
    Write_register(0x1a);
    Write_register(0x2a);
    Write_register(0x24);
    Write_register(0x1f);
    Write_register(0x1b);
    Write_register(0x1a);
    Write_register(0x17);
    Write_register(0x2b);
    Write_register(0x26);
    Write_register(0x22);
    Write_register(0x20);
    Write_register(0x3a);
    Write_register(0x34);
    Write_register(0x30);
    Write_register(0x2c);
    Write_register(0x29);
    Write_register(0x26);
    Write_register(0x25);
    Write_register(0x23);
    Write_register(0x21);
    Write_register(0x20);
    Write_register(0x1e);
    Write_register(0x1e);

    Write_com(0xb6);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x11);
    Write_register(0x22);
    Write_register(0x33);
    Write_register(0x44);
    Write_register(0x44);
    Write_register(0x44);
    Write_register(0x55);
    Write_register(0x55);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);

    Write_com(0xb7);
    Write_register(0x2c);
    Write_register(0x12);
    Write_register(0x0c);
    Write_register(0x0a);
    Write_register(0x10);
    Write_register(0x0e);
    Write_register(0x17);
    Write_register(0x13);
    Write_register(0x1f);
    Write_register(0x1a);
    Write_register(0x2a);
    Write_register(0x24);
    Write_register(0x1f);
    Write_register(0x1b);
    Write_register(0x1a);
    Write_register(0x17);
    Write_register(0x2b);
    Write_register(0x26);
    Write_register(0x22);
    Write_register(0x20);
    Write_register(0x3a);
    Write_register(0x34);
    Write_register(0x30);
    Write_register(0x2c);
    Write_register(0x29);
    Write_register(0x26);
    Write_register(0x25);
    Write_register(0x23);
    Write_register(0x21);
    Write_register(0x20);
    Write_register(0x1e);
    Write_register(0x1e);

    Write_com(0xb8);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x11);
    Write_register(0x22);
    Write_register(0x33);
    Write_register(0x44);
    Write_register(0x44);
    Write_register(0x44);
    Write_register(0x55);
    Write_register(0x55);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);

    Write_com(0xb9);
    Write_register(0x2c);
    Write_register(0x12);
    Write_register(0x0c);
    Write_register(0x0a);
    Write_register(0x10);
    Write_register(0x0e);
    Write_register(0x17);
    Write_register(0x13);
    Write_register(0x1f);
    Write_register(0x1a);
    Write_register(0x2a);
    Write_register(0x24);
    Write_register(0x1f);
    Write_register(0x1b);
    Write_register(0x1a);
    Write_register(0x17);
    Write_register(0x2b);
    Write_register(0x26);
    Write_register(0x22);
    Write_register(0x20);
    Write_register(0x3a);
    Write_register(0x34);
    Write_register(0x30);
    Write_register(0x2c);
    Write_register(0x29);
    Write_register(0x26);
    Write_register(0x25);
    Write_register(0x23);
    Write_register(0x21);
    Write_register(0x20);
    Write_register(0x1e);
    Write_register(0x1e);

    Write_com(0xba);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x11);
    Write_register(0x22);
    Write_register(0x33);
    Write_register(0x44);
    Write_register(0x44);
    Write_register(0x44);
    Write_register(0x55);
    Write_register(0x55);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);
    Write_register(0x66);

    Write_com(0xc1);
    Write_register(0x4d);
    Write_register(0x96);
    Write_register(0x1d);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x01);
    Write_register(0xdf);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x03);
    Write_register(0x1f);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x00);
    Write_register(0x01);
    Write_register(0x08);
    Write_register(0x0f);
    Write_register(0x16);
    Write_register(0x1d);
    Write_register(0x24);
    Write_register(0x2a);
    Write_register(0x31);
    Write_register(0x38);
    Write_register(0x3f);
    Write_register(0x46);

    if(acl_enable == 1) {
        Write_com(0xc0);
        Write_register(0x01);
    } else {
        Write_com(0xc0);
        Write_register(0x00);
    }

    Write_com(0xb2);
    Write_register(0x10);
    Write_register(0x10);
    Write_register(0x0b);
    Write_register(0x05);

    Write_com(0xb1);
    Write_register(0x0b);

    Write_com(0x11);

}
Пример #22
0
int lcd_f9_register_write(const char * buf)
{
    int n_idx;
    int max_nu=0;
    int max_np=0;
    int max_no=0;
    int num_n=0;
    int num_q=0;
    const char *p = buf ; 
    char qq[2];
    char num[25];
    while( (*p++ != '{' )&&( max_nu++ <= 200));    
    {
        if(max_nu>200)       
			return -1;
    }
    for(num_n=0;num_n<=24;num_n++)
	{       
		for(num_q=0;num_q<=1;num_q++)
		{
			max_np=0;
			while( (*(p) == 32)&&(max_np++ <= 20) )
			{
				p++;
				if(max_np>20)      
					return -1;
			}
			if( (*p>='0') && (*p <='9'))
				qq[num_q]=(*p++ -'0');
			else if( (*p>='A') && (*p <='F'))
				qq[num_q]=(*p++ -'A' + 10);
			else if( (*p>='a') && (*p <='f'))
				qq[num_q]=(*p++ -'a' + 10);
			else
			 	return -1;
		}
		num[num_n]=qq[0]*16 + qq[1];
	}
    while( (*p++!= '}' )&&( max_no++ <= 20));    
    {
        if(max_no>20)     
			return -1;
    }
	for(num_n =0;num_n<=24;num_n++)
	{
		LCM_DEBUG("register lcd_f9_register_write num[%d]=%d\n", num_n,num[num_n]);
	}
   //0xF7
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0002);
	Write_com(0x00BF);
	Write_register(0x00F7);

    //FA
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x001A);
	Write_com(0x00BF);
	Write_register((num[0]<<8)|0xFA);
	Write_register((num[2]<<8)|(num[1]));
	Write_register((num[4]<<8)|(num[3]));
	Write_register((num[6]<<8)|(num[5]));
	Write_register((num[8]<<8)|(num[7]));
	Write_register((num[10]<<8)|(num[9]));
	Write_register((num[12]<<8)|(num[11]));
	Write_register((num[14]<<8)|(num[13]));
	Write_register((num[16]<<8)|(num[15]));
	Write_register((num[18]<<8)|(num[17]));
	Write_register((num[20]<<8)|(num[19]));
	Write_register((num[22]<<8)|(num[21]));
	Write_register((num[24]<<8)|(num[23]));
	
    //0xF7
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0002);
	Write_com(0x00BF);
	Write_register(0x03F7);
		
	//0x29  display on
	Write_com(0x00B7);
	Write_register(0x034b);
	Write_com(0x00B8);
	Write_register(0x0000);
	Write_com(0x00BC);
	Write_register(0x0001);
	Write_com(0x00BF);
	Write_register(0x0029);
    return 0;
}
Пример #23
0
 //this function only for test for the function have bug,do not call this 
void ssd2825_read_s6e8aa_reg(void)
{
	int id=0,i;
	int temp=0;

	//F0
	Write_com(0x00B7);
	Write_register(0x034B);
	Write_com(0x00BC);
	Write_register(0x0002);
	Write_com(0x00BF);
	Write_register(0x00B0);
	
	Write_com(0x00B7);
	Write_register(0x0782);
	
	Write_com(0x00C4);
	Write_register(0x0001);

	Write_com(0x00C1);
	Write_register(0x0004);
	
	Write_com(0x00BC);
	Write_register(0x0001);
	
	Write_com(0x00BF);
	Write_register(0x00FA);

	
	Write_com(0x00C6);
	temp=Read_register();
	while(!(temp&0x1))
	{
		Write_com(0x00C6);
		temp=Read_register();
	}
	Write_com(0x00FF);

	for(i=0;i<2;i++)
	{
	 id=Read_register();
     LCM_DEBUG("Read_register--data%d id is: %x\n",i,id);
   
	}

}
Пример #24
0
static void init_lcm_registers(void)

{

    //SSD2825  initial  part

    //Pulse width

    Write_com(0x00B1); 
    Write_register(0x0505);

    //Back Porch
    Write_com(0x00B2); 

    Write_register(0x1327); //0x0414

    //Front Porch

    Write_com(0x00B3); 
    Write_register(0x1018);

    //H size = 720

    Write_com(0x00B4); 
    Write_register(0x02d0);

   //V Sixe =1280
    Write_com(0x00B5); 
    Write_register(0x0500);  

    
   //MIPI 24bit Burst Mode
    Write_com(0x00B6); 
    Write_register(0x0007);//0X002B

    //4-lane
    Write_com(0x00DE); 
    Write_register(0x0003);

    //RGB
    Write_com(0x00D6); 
    Write_register(0x0004);    

    //MIPI Lane Configuration
    Write_com(0x00B9); 
    Write_register(0x0000);
	
	

    Write_com(0x00BA); 
    Write_register(LCD_DSI_CLCK);  

    Write_com(0x00BB); 
    Write_register(0x0002);

    Write_com(0x00B9); 
    Write_register(0x0001);    

    Write_com(0x00B8); 
    Write_register(0x0000);    

    Write_com(0x00B7); 
    Write_register(0x034b);    //0x0302
	
	//Write_com(0x00B9);	
	//Write_register(0x0001);
	

    MDELAY(100);
	
    //OTM1283 initial part
    otm1283a_auo572_ce_init();
}
Пример #25
0
//*******************************************************************    
static void otm1283a_auo572_ce_init(void) 
{

//SSD2825_Gen_write_1A_3P(0xFF,0x12,0x83,0x01);
    Write_com(0x00B7);
    Write_register(0x0302);
    
    Write_com(0x00BD);
    Write_register(0x0000);

    SSD2825_Gen_write_1A_1P(0x00,0x00);	
    SSD2825_Gen_write_1A_3P(0xff,0x12,0x83,0x01);	//EXTC=1
    SSD2825_Gen_write_1A_1P(0x00,0x80);	            //Orise mode enable
    SSD2825_Gen_write_1A_2P(0xff,0x12,0x83);
    
    //-------------------- panel setting --------------------//
    
    SSD2825_Gen_write_1A_1P(0x00,0x80);             //TCON Setting
    SSD2825_Gen_write_1A_9P(0xc0,0x00,0x64,0x00,0x10,0x10,0x00,0x64,0x10,0x10);
    SSD2825_Gen_write_1A_1P(0x00,0x90);             //Panel Timing Setting
    SSD2825_Gen_write_1A_6P(0xc0,0x00,0x5c,0x00,0x01,0x00,0x04);
    
    SSD2825_Gen_write_1A_1P(0x00,0xa4);             //source pre. 
    SSD2825_Gen_write_1A_1P(0xc0,0x22);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb3);             //Interval Scan Frame: 0 frame, column inversion
    SSD2825_Gen_write_1A_2P(0xc0,0x00,0x50);
    
    SSD2825_Gen_write_1A_1P(0x00,0x81);             //frame rate:60Hz
    SSD2825_Gen_write_1A_1P(0xc1,0x55);
    
    SSD2825_Gen_write_1A_1P(0x00,0x90);             //clock delay for data latch 
    SSD2825_Gen_write_1A_1P(0xc4,0x49);
    //-------------------- power setting --------------------//
    
    SSD2825_Gen_write_1A_1P(0x00,0xa0);             //dcdc setting
    SSD2825_Gen_write_1A_14P(0xc4,0x05,0x10,0x06,0x02,0x05,0x15,0x10,0x05,0x10,0x07,0x02,0x05,0x15,0x10);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb0);             //clamp voltage setting
    SSD2825_Gen_write_1A_2P(0xc4,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0x91);             //VGH=15V, VGL=-10V, pump ratio:VGH=6x, VGL=-5x
    SSD2825_Gen_write_1A_2P(0xc5,0x46,0x40);
    
    SSD2825_Gen_write_1A_1P(0x00,0x00);             //GVDD=4.87V, NGVDD=-4.87V
    SSD2825_Gen_write_1A_2P(0xd8,0xbc,0xbc);
    
    SSD2825_Gen_write_1A_1P(0x00,0x00);             //VCOMDC=-0.9
    SSD2825_Gen_write_1A_1P(0xd9,0x44);
    
    SSD2825_Gen_write_1A_1P(0x00,0x81);             //source bias 0.75uA
    SSD2825_Gen_write_1A_1P(0xc4,0x82);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb0);             //VDD_18V=1.6V, LVDSVDD=1.55V
    SSD2825_Gen_write_1A_2P(0xc5,0x04,0xb8);
    
    SSD2825_Gen_write_1A_1P(0x00,0xbb);             //LVD voltage level setting
    SSD2825_Gen_write_1A_1P(0xc5,0x80);
    
    //-------------------- control setting --------------------//
    
    SSD2825_Gen_write_1A_1P(0x00,0x00);             //ID1
    SSD2825_Gen_write_1A_1P(0xd0,0x40);
    
    SSD2825_Gen_write_1A_1P(0x00,0x00);             //ID2, ID3
    SSD2825_Gen_write_1A_2P(0xd1,0x00,0x00);
    
    //-------------------- panel timing state control --------------------//
    
    SSD2825_Gen_write_1A_1P(0x00,0x80);             //panel timing state control
    SSD2825_Gen_write_1A_11P(0xcb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0x90);             //panel timing state control
    SSD2825_Gen_write_1A_15P(0xcb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xa0);             //panel timing state control
    SSD2825_Gen_write_1A_15P(0xcb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb0);             //panel timing state control
    SSD2825_Gen_write_1A_15P(0xcb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xc0);             //panel timing state control
    SSD2825_Gen_write_1A_15P(0xcb,0x05,0x00,0x05,0x05,0x05,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xd0);             //panel timing state control
    SSD2825_Gen_write_1A_15P(0xcb,0x00,0x00,0x00,0x05,0x00,0x05,0x05,0x05,0x00,0x05,0x05,0x05,0x05,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xe0);             //panel timing state control
    SSD2825_Gen_write_1A_14P(0xcb,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x05,0x05);
    
    SSD2825_Gen_write_1A_1P(0x00,0xf0);             //panel timing state control
    SSD2825_Gen_write_1A_11P(0xcb,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff);
    
    //-------------------- panel pad mapping control --------------------//
    
    SSD2825_Gen_write_1A_1P(0x00,0x80);             //panel pad mapping control
    SSD2825_Gen_write_1A_15P(0xcc,0x02,0x00,0x0a,0x0e,0x0c,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0x90);             //panel pad mapping control
    SSD2825_Gen_write_1A_15P(0xcc,0x00,0x00,0x00,0x06,0x00,0x2e,0x2d,0x01,0x00,0x09,0x0d,0x0b,0x0f,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xa0);             //panel pad mapping control
    SSD2825_Gen_write_1A_14P(0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x2e,0x2d);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb0);             //panel pad mapping control
    SSD2825_Gen_write_1A_15P(0xcc,0x05,0x00,0x0f,0x0b,0x0d,0x09,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xc0);             //panel pad mapping control
    SSD2825_Gen_write_1A_15P(0xcc,0x00,0x00,0x00,0x01,0x00,0x2d,0x2e,0x06,0x00,0x10,0x0c,0x0e,0x0a,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xd0);             //panel pad mapping control
    SSD2825_Gen_write_1A_14P(0xcc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x2d,0x2e);
    
    //-------------------- panel timing setting --------------------//
    
    SSD2825_Gen_write_1A_1P(0x00,0x80);             //panel VST setting
    SSD2825_Gen_write_1A_12P(0xce,0x87,0x03,0x18,0x86,0x03,0x18,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0x90);             //panel VEND setting
    SSD2825_Gen_write_1A_14P(0xce,0x34,0xfe,0x18,0x34,0xff,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xa0);             //panel CLKA1/2 setting
    SSD2825_Gen_write_1A_14P(0xce,0x38,0x03,0x05,0x00,0x00,0x18,0x00,0x38,0x02,0x05,0x01,0x00,0x18,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb0);             //panel CLKA3/4 setting
    SSD2825_Gen_write_1A_14P(0xce,0x38,0x01,0x05,0x02,0x00,0x18,0x00,0x38,0x00,0x05,0x03,0x00,0x18,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xc0);             //panel CLKb1/2 setting
    SSD2825_Gen_write_1A_14P(0xce,0x30,0x00,0x05,0x04,0x00,0x18,0x00,0x30,0x01,0x05,0x05,0x00,0x18,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xd0);             //panel CLKb3/4 setting
    SSD2825_Gen_write_1A_14P(0xce,0x30,0x02,0x05,0x06,0x00,0x18,0x00,0x30,0x03,0x05,0x07,0x00,0x18,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0x80);             //panel CLKc1/2 setting
    SSD2825_Gen_write_1A_14P(0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0x90);             //panel CLKc3/4 setting
    SSD2825_Gen_write_1A_14P(0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xa0);             //panel CLKd1/2 setting
    SSD2825_Gen_write_1A_14P(0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb0);             //panel CLKd3/4 setting
    SSD2825_Gen_write_1A_14P(0xcf,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xc0);             //panel ECLK setting
    SSD2825_Gen_write_1A_11P(0xcf,0x01,0x01,0x20,0x20,0x00,0x00,0x01,0x81,0x00,0x03,0x08); //gate pre. ena.
    
    SSD2825_Gen_write_1A_1P(0x00,0xb5);             //TCON_GOA_OUT Setting
    SSD2825_Gen_write_1A_6P(0xc5,0x37,0xf1,0xfd,0x37,0xf1,0xfd);
    //-------------------- for Power IC --------------------//
    
    SSD2825_Gen_write_1A_1P(0x00,0x90);             //Mode-3
    SSD2825_Gen_write_1A_4P(0xf5,0x02,0x11,0x02,0x11);
    
    SSD2825_Gen_write_1A_1P(0x00,0x90);             //3xVPNL
    SSD2825_Gen_write_1A_1P(0xc5,0x50);
    
    SSD2825_Gen_write_1A_1P(0x00,0x94);             //2xVPNL
    SSD2825_Gen_write_1A_1P(0xc5,0x66);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb2);             //VGLO1
    SSD2825_Gen_write_1A_2P(0xf5,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb4);             //VGLO1_S
    SSD2825_Gen_write_1A_2P(0xf5,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb6);             //VGLO2
    SSD2825_Gen_write_1A_2P(0xf5,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb8);             //VGLO2_S
    SSD2825_Gen_write_1A_2P(0xf5,0x00,0x00);
    
    SSD2825_Gen_write_1A_1P(0x00,0xb4);             //VGLO1/2 Pull low setting
    SSD2825_Gen_write_1A_1P(0xc5,0xc0);		//d[7] vglo1 d[6] vglo2 => 0: pull vss, 1: pull vgl
    
    SSD2825_Gen_write_1A_1P(0x00,0xb2);             //C31 cap. not remove
    SSD2825_Gen_write_1A_1P(0xc5,0x40);
    
    SSD2825_Gen_write_1A_1P(0x00,0x00);             //Orise mode disable
    SSD2825_Gen_write_1A_3P(0xff,0xff,0xff,0xff);
    
    SSD2825_Gen_write_1A_1P(0x11,0x00);
    MDELAY(200);
    SSD2825_Gen_write_1A_1P(0x36,0x00);
    SSD2825_Gen_write_1A_1P(0x3A,0x77);
    SSD2825_Gen_write_1A_1P(0x29,0x00);
    MDELAY(20);
    SSD2825_Gen_write_1A_1P(0x2C,0x00);

	Write_com(0x00B7);///////display on
	Write_register(0x034b); 
    Write_com(0x00B8);//////sleep out
	Write_register(0x0000); 
	Write_com(0x00BC);
	Write_register(0x0001); 
	Write_com(0x00BF); 
	Write_register(0x0011); 
	MDELAY(200); 

	Write_com(0x00B7);///////display on
	Write_register(0x034b); 
	MDELAY(100); 
	Write_com(0x00B8); 
	Write_register(0x0000); 
	Write_com(0x00BC); 
	Write_register(0x0001); 
	Write_com(0x00BF); 
	Write_register(0x0029); 
	MDELAY(50);
	
	Write_com(0x00B7);///////display on
	Write_register(0x030b); 
		
  //printf(" huxh_ssd2825_video mode\n");
}
Пример #26
0
 static void init_lcm_registers(void)
 {
	 LCM_DEBUG("[LCM************]: init_lcm_registers. \n");
	 
	 Write_com(0x00B1);
	 Write_register(0x0102);
	 Write_com(0x00B2);
	 Write_register(0x040E); //0x030E , a white line displays on the top of the screen
	 Write_com(0x00B3);
	 Write_register(0x0D40); //0x2940
	 Write_com(0x00B4);
	 Write_register(0x02D0);
	 Write_com(0x00B5);
	 Write_register(0x0500);
	 Write_com(0x00B6);
	 Write_register(0x008B); //0x0007---0x008B	,CABC out of control
	 //MDELAY(2);
 
	 Write_com(0x00DE);
	 Write_register(0x0003);
	 Write_com(0x00D6);
	 Write_register(0x0004);
	 Write_com(0x00B9);
	 Write_register(0x0000);
 
	 Write_com(0x00BA);
	 Write_register(0x801F);
 
	 Write_com(0x00BB);
	 Write_register(0x0009);
	 Write_com(0x00B9);
	 Write_register(0x0001);
	 Write_com(0x00B8);
	 Write_register(0x0000);
 
	 //F0
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0003);
	 Write_com(0x00BF);
	 Write_register(0x5AF0);
	 Write_register(0x005A);
	 //F1
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0003);
	 Write_com(0x00BF);
	 Write_register(0x5AF1);
	 Write_register(0x005A);
 
	 //0x11
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0001);
	 Write_com(0x00BF);
	 Write_register(0x0011);
	 MDELAY(5);  //100
 
	 //F8
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0027);
	 Write_com(0x00BF);
	 Write_register(0x2DF8);
	 Write_register(0x0035);
	 Write_register(0x0000);
	 Write_register(0x0093);
	 Write_register(0x7D3C);
	 Write_register(0x2708);
	 Write_register(0x3f7d);
	 Write_register(0x0000);
	 Write_register(0x2000);
	 Write_register(0x0804);
	 Write_register(0x006E);
	 Write_register(0x0000);
	 Write_register(0x0802);
	 Write_register(0x2308);
	 Write_register(0xC023);
	 Write_register(0x08C8);
	 Write_register(0xC148);
	 Write_register(0xC100);
	 Write_register(0xFFFF);
	 Write_register(0x00C8);
 
	 //F2
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0004);
	 Write_com(0x00BF);
	 Write_register(0x80F2);
	 Write_register(0x0D04); //0x0D03, a white line displays on the top of the screen
	 
	 //F6
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0003);
	 Write_com(0x00BF);
	 Write_register(0x00F6);
	 Write_register(0x0002);
 
	 
	 //B6
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x000A);
	 Write_com(0x00BF);
	 Write_register(0x0CB6);
	 Write_register(0x0302);
	 Write_register(0xFF32);
	 Write_register(0x4444);
	 Write_register(0x00C0);
	  
	 //D9
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x000F);
	 Write_com(0x00BF);
	 Write_register(0x14D9);
	 Write_register(0x0C40);
	 Write_register(0xCECB);
	 Write_register(0xC46E);
	 Write_register(0x4007);
	 Write_register(0xCB41);
	 Write_register(0x6000);
	 Write_register(0x0019);
 
	 //E1
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0006);
	 Write_com(0x00BF);
	 Write_register(0x10E1);
	 Write_register(0x171C);
	 Write_register(0x1D08);
	 
	 //E2
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0007);
	 Write_com(0x00BF);
	 Write_register(0xEDE2);
	 Write_register(0xC307);
	 Write_register(0x0D13);
	 Write_register(0x0003);
 
	 //E3
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0002);
	 Write_com(0x00BF);
	 Write_register(0x40E3);
	 
	 //E4
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0008);
	 Write_com(0x00BF);
	 Write_register(0x00E4);
	 Write_register(0x1400);
	 Write_register(0x0080);
	 Write_register(0x0000);
	 
	 //F4
	 Write_com(0x00B7);
	 Write_register(0x034B);
	 Write_com(0x00B8);
	 Write_register(0x0000);
	 Write_com(0x00BC);
	 Write_register(0x0008);
	 Write_com(0x00BF);
	 Write_register(0xCFF4);
	 Write_register(0x120A);
	 Write_register(0x1E10);
	 Write_register(0x0233);
 }