3线8位spi 和 3线16位

119 阅读9分钟

#define SET_LSCE_LOW SET_GPIO_OUT(LSCE_GPIO_PIN, 0)
#define SET_LSCE_HIGH SET_GPIO_OUT(LSCE_GPIO_PIN, 1)
#define SET_LSCK_LOW SET_GPIO_OUT(LSCK_GPIO_PIN, 0)
#define SET_LSCK_HIGH SET_GPIO_OUT(LSCK_GPIO_PIN, 1)
#define SET_LSDA_LOW SET_GPIO_OUT(LSDA_GPIO_PIN, 0)
#define SET_LSDA_HIGH SET_GPIO_OUT(LSDA_GPIO_PIN, 1)
static void write_lcd_datas(unsigned int data,unsigned int len)
{
int i;
for(i=len-1;i>=0;i--)
{        
SET_LSCK_LOW;
if(data & (1<<i))
SET_LSDA_HIGH;
else
SET_LSDA_LOW;
UDELAY(1);
SET_LSCK_HIGH;
UDELAY(1);
}
}
static void write_lcd_cmd(unsigned char highbyte,unsigned char lowbyte)
{
unsigned int x;
start_lcd();
UDELAY(1);
write_lcd_datas(0x20,8); //发标志位

UDELAY(1);
write_lcd_datas(highbyte,8);    //发命令高位
stop_lcd();

start_lcd();
UDELAY(1);
write_lcd_datas(0x00,8); //发标志位

UDELAY(1);
write_lcd_datas(lowbyte,8);    //发命令低位    
stop_lcd();    
}
static void write_lcd_data(unsigned char data)
{
unsigned int x;
start_lcd();    
UDELAY(1);
write_lcd_datas(0x40,8); //发标志位

UDELAY(1);
write_lcd_datas(data,8);    //发参数低位        
stop_lcd();    
}
static __inline void send_ctrl_cmd(unsigned int cmd1,unsigned int cmd2)
{
write_lcd_cmd((cmd1&0xFF),(cmd2&0xFF));
}

static __inline void send_data_cmd(unsigned int data)
{
write_lcd_data((data&0xFF)); 
}

//写寄存器的时候直接这样写就行了

send_ctrl_cmd(0xFF,0x00); 

send_data_cmd(0xAA);

==================================================================

//LCD_SCL GPIOAO_6
//LCD_SDI GPIOAO_5
//LCD_CS  GPIOAO_4
//LCD_SDO GPIOAO_3

#define UDELAY(n)   udelay(n)
#define LCD_SCL         106 
#define LCD_SDI         105
#define LCD_CS          104
#define LCD_SDO         103


#define SET_GPIO_OUT(n, v)  (gpio_direction_output((n), (v)))
#define SET_SPI_SCL(v)   SET_GPIO_OUT(LCD_SCL, v)
#define SET_SPI_SDI(v)   SET_GPIO_OUT(LCD_SDI, v)
#define SET_SPI_CS(v)    SET_GPIO_OUT(LCD_CS, v)
#define SET_SPI_SDO(v)   SET_GPIO_OUT(LCD_SDO, v)


void SPI_SendData(unsigned char i)
{  
unsigned char n;

for(n=0; n<8; n++)            
{  
if(i&0x80) 
SET_SPI_SDI(1);
else 
SET_SPI_SDI(0);

i<<= 1;

      SET_SPI_SCL(0);
UDELAY(10);

SET_SPI_SCL(1);
UDELAY(10);
}
}


void SPI_WriteComm(unsigned int i)      //spec page 46
{
SET_SPI_CS(0);

    SPI_SendData(0x20);     //high 8bit
SPI_SendData(i>>8);

    SPI_SendData(0x00);    //low 8bit
SPI_SendData(i);

    SET_SPI_CS(1);
}

void SPI_WriteData(unsigned int i)
{
SET_SPI_CS(0);

    SPI_SendData(0x40);
SPI_SendData(i);

    SET_SPI_CS(1);
}

void lcm_init(void)
{
SPI_WriteComm(0xF000);
SPI_WriteData(0x55);
SPI_WriteComm(0xF001);
SPI_WriteData(0xAA);
SPI_WriteComm(0xF002);
SPI_WriteData(0x52);
SPI_WriteComm(0xF003);
SPI_WriteData(0x08);
SPI_WriteComm(0xF004);
SPI_WriteData(0x01);
SPI_WriteComm(0xB000);
SPI_WriteData(0x0D);
SPI_WriteComm(0xB001);
SPI_WriteData(0x0D);
SPI_WriteComm(0xB002);
SPI_WriteData(0x0D);
SPI_WriteComm(0xB600);
SPI_WriteData(0x44);
SPI_WriteComm(0xB601);
SPI_WriteData(0x44);
SPI_WriteComm(0xB602);
SPI_WriteData(0x44);
SPI_WriteComm(0xB100);
SPI_WriteData(0x0D);
SPI_WriteComm(0xB101);
SPI_WriteData(0x0D);
SPI_WriteComm(0xB102);
SPI_WriteData(0x0D);
SPI_WriteComm(0xB700);
SPI_WriteData(0x34);
SPI_WriteComm(0xB701);
SPI_WriteData(0x34);
SPI_WriteComm(0xB702);
SPI_WriteData(0x34);
SPI_WriteComm(0xB200);
SPI_WriteData(0x00);
SPI_WriteComm(0xB201);
SPI_WriteData(0x00);
SPI_WriteComm(0xB202);
SPI_WriteData(0x00);
SPI_WriteComm(0xB800);
SPI_WriteData(0x24);
SPI_WriteComm(0xB801);
SPI_WriteData(0x24);
SPI_WriteComm(0xB802);
SPI_WriteData(0x24);
SPI_WriteComm(0xBC00);
SPI_WriteData(0x00);
SPI_WriteComm(0xBC01);
SPI_WriteData(0x78);
SPI_WriteComm(0xBC02);
SPI_WriteData(0x00);
SPI_WriteComm(0xBD00);
SPI_WriteData(0x00);
SPI_WriteComm(0xBD01);
SPI_WriteData(0x78);
SPI_WriteComm(0xBD02);
SPI_WriteData(0x00);
SPI_WriteComm(0xBE00);
SPI_WriteData(0x00);
SPI_WriteComm(0xBE01);
SPI_WriteData(0x9A);
SPI_WriteComm(0xD100);
SPI_WriteData(0x00);
SPI_WriteComm(0xD101);
SPI_WriteData(0x06);
SPI_WriteComm(0xD102);
SPI_WriteData(0x00);
SPI_WriteComm(0xD103);
SPI_WriteData(0x07);
SPI_WriteComm(0xD104);
SPI_WriteData(0x00);
SPI_WriteComm(0xD105);
SPI_WriteData(0x0E);
SPI_WriteComm(0xD106);
SPI_WriteData(0x00);
SPI_WriteComm(0xD107);
SPI_WriteData(0x22);
SPI_WriteComm(0xD108);
SPI_WriteData(0x00);
SPI_WriteComm(0xD109);
SPI_WriteData(0x3B);
SPI_WriteComm(0xD10A);
SPI_WriteData(0x00);
SPI_WriteComm(0xD10B);
SPI_WriteData(0x71);
SPI_WriteComm(0xD10C);
SPI_WriteData(0x00);
SPI_WriteComm(0xD10D);
SPI_WriteData(0x9F);
SPI_WriteComm(0xD10E);
SPI_WriteData(0x00);
SPI_WriteComm(0xD10F);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD110);
SPI_WriteData(0x01);
SPI_WriteComm(0xD111);
SPI_WriteData(0x12);
SPI_WriteComm(0xD112);
SPI_WriteData(0x01);
SPI_WriteComm(0xD113);
SPI_WriteData(0x57);
SPI_WriteComm(0xD114);
SPI_WriteData(0x01);
SPI_WriteComm(0xD115);
SPI_WriteData(0x88);
SPI_WriteComm(0xD116);
SPI_WriteData(0x01);
SPI_WriteComm(0xD117);
SPI_WriteData(0xCE);
SPI_WriteComm(0xD118);
SPI_WriteData(0x02);
SPI_WriteComm(0xD119);
SPI_WriteData(0x07);
SPI_WriteComm(0xD11A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD11B);
SPI_WriteData(0x08);
SPI_WriteComm(0xD11C);
SPI_WriteData(0x02);
SPI_WriteComm(0xD11D);
SPI_WriteData(0x39);
SPI_WriteComm(0xD11E);
SPI_WriteData(0x02);
SPI_WriteComm(0xD11F);
SPI_WriteData(0x6C);
SPI_WriteComm(0xD120);
SPI_WriteData(0x02);
SPI_WriteComm(0xD121);
SPI_WriteData(0x87);
SPI_WriteComm(0xD122);
SPI_WriteData(0x02);
SPI_WriteComm(0xD123);
SPI_WriteData(0xA6);
SPI_WriteComm(0xD124);
SPI_WriteData(0x02);
SPI_WriteComm(0xD125);
SPI_WriteData(0xBA);
SPI_WriteComm(0xD126);
SPI_WriteData(0x02);
SPI_WriteComm(0xD127);
SPI_WriteData(0xD2);
SPI_WriteComm(0xD128);
SPI_WriteData(0x02);
SPI_WriteComm(0xD129);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD12A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD12B);
SPI_WriteData(0xF7);
SPI_WriteComm(0xD12C);
SPI_WriteData(0x03);
SPI_WriteComm(0xD12D);
SPI_WriteData(0x06);
SPI_WriteComm(0xD12E);
SPI_WriteData(0x03);
SPI_WriteComm(0xD12F);
SPI_WriteData(0x1E);
SPI_WriteComm(0xD130);
SPI_WriteData(0x03);
SPI_WriteComm(0xD131);
SPI_WriteData(0x55);
SPI_WriteComm(0xD132);
SPI_WriteData(0x03);
SPI_WriteComm(0xD133);
SPI_WriteData(0xFF);
SPI_WriteComm(0xD200);
SPI_WriteData(0x00);
SPI_WriteComm(0xD201);
SPI_WriteData(0x06);
SPI_WriteComm(0xD202);
SPI_WriteData(0x00);
SPI_WriteComm(0xD203);
SPI_WriteData(0x07);
SPI_WriteComm(0xD204);
SPI_WriteData(0x00);
SPI_WriteComm(0xD205);
SPI_WriteData(0x0E);
SPI_WriteComm(0xD206);
SPI_WriteData(0x00);
SPI_WriteComm(0xD207);
SPI_WriteData(0x22);
SPI_WriteComm(0xD208);
SPI_WriteData(0x00);
SPI_WriteComm(0xD209);
SPI_WriteData(0x3B);
SPI_WriteComm(0xD20A);
SPI_WriteData(0x00);
SPI_WriteComm(0xD20B);
SPI_WriteData(0x71);
SPI_WriteComm(0xD20C);
SPI_WriteData(0x00);
SPI_WriteComm(0xD20D);
SPI_WriteData(0x9F);
SPI_WriteComm(0xD20E);
SPI_WriteData(0x00);
SPI_WriteComm(0xD20F);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD210);
SPI_WriteData(0x01);
SPI_WriteComm(0xD211);
SPI_WriteData(0x12);
SPI_WriteComm(0xD212);
SPI_WriteData(0x01);
SPI_WriteComm(0xD213);
SPI_WriteData(0x57);
SPI_WriteComm(0xD214);
SPI_WriteData(0x01);
SPI_WriteComm(0xD215);
SPI_WriteData(0x88);
SPI_WriteComm(0xD216);
SPI_WriteData(0x01);
SPI_WriteComm(0xD217);
SPI_WriteData(0xCE);
SPI_WriteComm(0xD218);
SPI_WriteData(0x02);
SPI_WriteComm(0xD219);
SPI_WriteData(0x07);
SPI_WriteComm(0xD21A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD21B);
SPI_WriteData(0x08);
SPI_WriteComm(0xD21C);
SPI_WriteData(0x02);
SPI_WriteComm(0xD21D);
SPI_WriteData(0x39);
SPI_WriteComm(0xD21E);
SPI_WriteData(0x02);
SPI_WriteComm(0xD21F);
SPI_WriteData(0x6C);
SPI_WriteComm(0xD220);
SPI_WriteData(0x02);
SPI_WriteComm(0xD221);
SPI_WriteData(0x87);
SPI_WriteComm(0xD222);
SPI_WriteData(0x02);
SPI_WriteComm(0xD223);
SPI_WriteData(0xA6);
SPI_WriteComm(0xD224);
SPI_WriteData(0x02);
SPI_WriteComm(0xD225);
SPI_WriteData(0xBA);
SPI_WriteComm(0xD226);
SPI_WriteData(0x02);
SPI_WriteComm(0xD227);
SPI_WriteData(0xD2);
SPI_WriteComm(0xD228);
SPI_WriteData(0x02);
SPI_WriteComm(0xD229);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD22A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD22B);
SPI_WriteData(0xF7);
SPI_WriteComm(0xD22C);
SPI_WriteData(0x03);
SPI_WriteComm(0xD22D);
SPI_WriteData(0x06);
SPI_WriteComm(0xD22E);
SPI_WriteData(0x03);
SPI_WriteComm(0xD22F);
SPI_WriteData(0x1E);
SPI_WriteComm(0xD230);
SPI_WriteData(0x03);
SPI_WriteComm(0xD231);
SPI_WriteData(0x55);
SPI_WriteComm(0xD232);
SPI_WriteData(0x03);
SPI_WriteComm(0xD233);
SPI_WriteData(0xFF);
SPI_WriteComm(0xD300);
SPI_WriteData(0x00);
SPI_WriteComm(0xD301);
SPI_WriteData(0x06);
SPI_WriteComm(0xD302);
SPI_WriteData(0x00);
SPI_WriteComm(0xD303);
SPI_WriteData(0x07);
SPI_WriteComm(0xD304);
SPI_WriteData(0x00);
SPI_WriteComm(0xD305);
SPI_WriteData(0x0E);
SPI_WriteComm(0xD306);
SPI_WriteData(0x00);
SPI_WriteComm(0xD307);
SPI_WriteData(0x22);
SPI_WriteComm(0xD308);
SPI_WriteData(0x00);
SPI_WriteComm(0xD309);
SPI_WriteData(0x3B);
SPI_WriteComm(0xD30A);
SPI_WriteData(0x00);
SPI_WriteComm(0xD30B);
SPI_WriteData(0x71);
SPI_WriteComm(0xD30C);
SPI_WriteData(0x00);
SPI_WriteComm(0xD30D);
SPI_WriteData(0x9F);
SPI_WriteComm(0xD30E);
SPI_WriteData(0x00);
SPI_WriteComm(0xD30F);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD310);
SPI_WriteData(0x01);
SPI_WriteComm(0xD311);
SPI_WriteData(0x12);
SPI_WriteComm(0xD312);
SPI_WriteData(0x01);
SPI_WriteComm(0xD313);
SPI_WriteData(0x57);
SPI_WriteComm(0xD314);
SPI_WriteData(0x01);
SPI_WriteComm(0xD315);
SPI_WriteData(0x88);
SPI_WriteComm(0xD316);
SPI_WriteData(0x01);
SPI_WriteComm(0xD317);
SPI_WriteData(0xCE);
SPI_WriteComm(0xD318);
SPI_WriteData(0x02);
SPI_WriteComm(0xD319);
SPI_WriteData(0x07);
SPI_WriteComm(0xD31A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD31B);
SPI_WriteData(0x08);
SPI_WriteComm(0xD31C);
SPI_WriteData(0x02);
SPI_WriteComm(0xD31D);
SPI_WriteData(0x39);
SPI_WriteComm(0xD31E);
SPI_WriteData(0x02);
SPI_WriteComm(0xD31F);
SPI_WriteData(0x6C);
SPI_WriteComm(0xD320);
SPI_WriteData(0x02);
SPI_WriteComm(0xD321);
SPI_WriteData(0x87);
SPI_WriteComm(0xD322);
SPI_WriteData(0x02);
SPI_WriteComm(0xD323);
SPI_WriteData(0xA6);
SPI_WriteComm(0xD324);
SPI_WriteData(0x02);
SPI_WriteComm(0xD325);
SPI_WriteData(0xBA);
SPI_WriteComm(0xD326);
SPI_WriteData(0x02);
SPI_WriteComm(0xD327);
SPI_WriteData(0xD2);
SPI_WriteComm(0xD328);
SPI_WriteData(0x02);
SPI_WriteComm(0xD329);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD32A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD32B);
SPI_WriteData(0xF7);
SPI_WriteComm(0xD32C);
SPI_WriteData(0x03);
SPI_WriteComm(0xD32D);
SPI_WriteData(0x06);
SPI_WriteComm(0xD32E);
SPI_WriteData(0x03);
SPI_WriteComm(0xD32F);
SPI_WriteData(0x1E);
SPI_WriteComm(0xD330);
SPI_WriteData(0x03);
SPI_WriteComm(0xD331);
SPI_WriteData(0x55);
SPI_WriteComm(0xD332);
SPI_WriteData(0x03);
SPI_WriteComm(0xD333);
SPI_WriteData(0xFF);
SPI_WriteComm(0xD400);
SPI_WriteData(0x00);
SPI_WriteComm(0xD401);
SPI_WriteData(0x06);
SPI_WriteComm(0xD402);
SPI_WriteData(0x00);
SPI_WriteComm(0xD403);
SPI_WriteData(0x07);
SPI_WriteComm(0xD404);
SPI_WriteData(0x00);
SPI_WriteComm(0xD405);
SPI_WriteData(0x0E);
SPI_WriteComm(0xD406);
SPI_WriteData(0x00);
SPI_WriteComm(0xD407);
SPI_WriteData(0x22);
SPI_WriteComm(0xD408);
SPI_WriteData(0x00);
SPI_WriteComm(0xD409);
SPI_WriteData(0x3B);
SPI_WriteComm(0xD40A);
SPI_WriteData(0x00);
SPI_WriteComm(0xD40B);
SPI_WriteData(0x71);
SPI_WriteComm(0xD40C);
SPI_WriteData(0x00);
SPI_WriteComm(0xD40D);
SPI_WriteData(0x9F);
SPI_WriteComm(0xD40E);
SPI_WriteData(0x00);
SPI_WriteComm(0xD40F);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD410);
SPI_WriteData(0x01);
SPI_WriteComm(0xD411);
SPI_WriteData(0x12);
SPI_WriteComm(0xD412);
SPI_WriteData(0x01);
SPI_WriteComm(0xD413);
SPI_WriteData(0x57);
SPI_WriteComm(0xD414);
SPI_WriteData(0x01);
SPI_WriteComm(0xD415);
SPI_WriteData(0x88);
SPI_WriteComm(0xD416);
SPI_WriteData(0x01);
SPI_WriteComm(0xD417);
SPI_WriteData(0xCE);
SPI_WriteComm(0xD418);
SPI_WriteData(0x02);
SPI_WriteComm(0xD419);
SPI_WriteData(0x07);
SPI_WriteComm(0xD41A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD41B);
SPI_WriteData(0x08);
SPI_WriteComm(0xD41C);
SPI_WriteData(0x02);
SPI_WriteComm(0xD41D);
SPI_WriteData(0x39);
SPI_WriteComm(0xD41E);
SPI_WriteData(0x02);
SPI_WriteComm(0xD41F);
SPI_WriteData(0x6C);
SPI_WriteComm(0xD420);
SPI_WriteData(0x02);
SPI_WriteComm(0xD421);
SPI_WriteData(0x87);
SPI_WriteComm(0xD422);
SPI_WriteData(0x02);
SPI_WriteComm(0xD423);
SPI_WriteData(0xA6);
SPI_WriteComm(0xD424);
SPI_WriteData(0x02);
SPI_WriteComm(0xD425);
SPI_WriteData(0xBA);
SPI_WriteComm(0xD426);
SPI_WriteData(0x02);
SPI_WriteComm(0xD427);
SPI_WriteData(0xD2);
SPI_WriteComm(0xD428);
SPI_WriteData(0x02);
SPI_WriteComm(0xD429);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD42A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD42B);
SPI_WriteData(0xF7);
SPI_WriteComm(0xD42C);
SPI_WriteData(0x03);
SPI_WriteComm(0xD42D);
SPI_WriteData(0x06);
SPI_WriteComm(0xD42E);
SPI_WriteData(0x03);
SPI_WriteComm(0xD42F);
SPI_WriteData(0x1E);
SPI_WriteComm(0xD430);
SPI_WriteData(0x03);
SPI_WriteComm(0xD431);
SPI_WriteData(0x55);
SPI_WriteComm(0xD432);
SPI_WriteData(0x03);
SPI_WriteComm(0xD433);
SPI_WriteData(0xFF);
SPI_WriteComm(0xD500);
SPI_WriteData(0x00);
SPI_WriteComm(0xD501);
SPI_WriteData(0x06);
SPI_WriteComm(0xD502);
SPI_WriteData(0x00);
SPI_WriteComm(0xD503);
SPI_WriteData(0x07);
SPI_WriteComm(0xD504);
SPI_WriteData(0x00);
SPI_WriteComm(0xD505);
SPI_WriteData(0x0E);
SPI_WriteComm(0xD506);
SPI_WriteData(0x00);
SPI_WriteComm(0xD507);
SPI_WriteData(0x22);
SPI_WriteComm(0xD508);
SPI_WriteData(0x00);
SPI_WriteComm(0xD509);
SPI_WriteData(0x3B);
SPI_WriteComm(0xD50A);
SPI_WriteData(0x00);
SPI_WriteComm(0xD50B);
SPI_WriteData(0x71);
SPI_WriteComm(0xD50C);
SPI_WriteData(0x00);
SPI_WriteComm(0xD50D);
SPI_WriteData(0x9F);
SPI_WriteComm(0xD50E);
SPI_WriteData(0x00);
SPI_WriteComm(0xD50F);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD510);
SPI_WriteData(0x01);
SPI_WriteComm(0xD511);
SPI_WriteData(0x12);
SPI_WriteComm(0xD512);
SPI_WriteData(0x01);
SPI_WriteComm(0xD513);
SPI_WriteData(0x57);
SPI_WriteComm(0xD514);
SPI_WriteData(0x01);
SPI_WriteComm(0xD515);
SPI_WriteData(0x88);
SPI_WriteComm(0xD516);
SPI_WriteData(0x01);
SPI_WriteComm(0xD517);
SPI_WriteData(0xCE);
SPI_WriteComm(0xD518);
SPI_WriteData(0x02);
SPI_WriteComm(0xD519);
SPI_WriteData(0x07);
SPI_WriteComm(0xD51A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD51B);
SPI_WriteData(0x08);
SPI_WriteComm(0xD51C);
SPI_WriteData(0x02);
SPI_WriteComm(0xD51D);
SPI_WriteData(0x39);
SPI_WriteComm(0xD51E);
SPI_WriteData(0x02);
SPI_WriteComm(0xD51F);
SPI_WriteData(0x6C);
SPI_WriteComm(0xD520);
SPI_WriteData(0x02);
SPI_WriteComm(0xD521);
SPI_WriteData(0x87);
SPI_WriteComm(0xD522);
SPI_WriteData(0x02);
SPI_WriteComm(0xD523);
SPI_WriteData(0xA6);
SPI_WriteComm(0xD524);
SPI_WriteData(0x02);
SPI_WriteComm(0xD525);
SPI_WriteData(0xBA);
SPI_WriteComm(0xD526);
SPI_WriteData(0x02);
SPI_WriteComm(0xD527);
SPI_WriteData(0xD2);
SPI_WriteComm(0xD528);
SPI_WriteData(0x02);
SPI_WriteComm(0xD529);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD52A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD52B);
SPI_WriteData(0xF7);
SPI_WriteComm(0xD52C);
SPI_WriteData(0x03);
SPI_WriteComm(0xD52D);
SPI_WriteData(0x06);
SPI_WriteComm(0xD52E);
SPI_WriteData(0x03);
SPI_WriteComm(0xD52F);
SPI_WriteData(0x1E);
SPI_WriteComm(0xD530);
SPI_WriteData(0x03);
SPI_WriteComm(0xD531);
SPI_WriteData(0x55);
SPI_WriteComm(0xD532);
SPI_WriteData(0x03);
SPI_WriteComm(0xD533);
SPI_WriteData(0xFF);
SPI_WriteComm(0xD600);
SPI_WriteData(0x00);
SPI_WriteComm(0xD601);
SPI_WriteData(0x06);
SPI_WriteComm(0xD602);
SPI_WriteData(0x00);
SPI_WriteComm(0xD603);
SPI_WriteData(0x07);
SPI_WriteComm(0xD604);
SPI_WriteData(0x00);
SPI_WriteComm(0xD605);
SPI_WriteData(0x0E);
SPI_WriteComm(0xD606);
SPI_WriteData(0x00);
SPI_WriteComm(0xD607);
SPI_WriteData(0x22);
SPI_WriteComm(0xD608);
SPI_WriteData(0x00);
SPI_WriteComm(0xD609);
SPI_WriteData(0x3B);
SPI_WriteComm(0xD60A);
SPI_WriteData(0x00);
SPI_WriteComm(0xD60B);
SPI_WriteData(0x71);
SPI_WriteComm(0xD60C);
SPI_WriteData(0x00);
SPI_WriteComm(0xD60D);
SPI_WriteData(0x9F);
SPI_WriteComm(0xD60E);
SPI_WriteData(0x00);
SPI_WriteComm(0xD60F);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD610);
SPI_WriteData(0x01);
SPI_WriteComm(0xD611);
SPI_WriteData(0x12);
SPI_WriteComm(0xD612);
SPI_WriteData(0x01);
SPI_WriteComm(0xD613);
SPI_WriteData(0x57);
SPI_WriteComm(0xD614);
SPI_WriteData(0x01);
SPI_WriteComm(0xD615);
SPI_WriteData(0x88);
SPI_WriteComm(0xD616);
SPI_WriteData(0x01);
SPI_WriteComm(0xD617);
SPI_WriteData(0xCE);
SPI_WriteComm(0xD618);
SPI_WriteData(0x02);
SPI_WriteComm(0xD619);
SPI_WriteData(0x07);
SPI_WriteComm(0xD61A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD61B);
SPI_WriteData(0x08);
SPI_WriteComm(0xD61C);
SPI_WriteData(0x02);
SPI_WriteComm(0xD61D);
SPI_WriteData(0x39);
SPI_WriteComm(0xD61E);
SPI_WriteData(0x02);
SPI_WriteComm(0xD61F);
SPI_WriteData(0x6C);
SPI_WriteComm(0xD620);
SPI_WriteData(0x02);
SPI_WriteComm(0xD621);
SPI_WriteData(0x87);
SPI_WriteComm(0xD622);
SPI_WriteData(0x02);
SPI_WriteComm(0xD623);
SPI_WriteData(0xA6);
SPI_WriteComm(0xD624);
SPI_WriteData(0x02);
SPI_WriteComm(0xD625);
SPI_WriteData(0xBA);
SPI_WriteComm(0xD626);
SPI_WriteData(0x02);
SPI_WriteComm(0xD627);
SPI_WriteData(0xD2);
SPI_WriteComm(0xD628);
SPI_WriteData(0x02);
SPI_WriteComm(0xD629);
SPI_WriteData(0xE2);
SPI_WriteComm(0xD62A);
SPI_WriteData(0x02);
SPI_WriteComm(0xD62B);
SPI_WriteData(0xF7);
SPI_WriteComm(0xD62C);
SPI_WriteData(0x03);
SPI_WriteComm(0xD62D);
SPI_WriteData(0x06);
SPI_WriteComm(0xD62E);
SPI_WriteData(0x03);
SPI_WriteComm(0xD62F);
SPI_WriteData(0x1E);
SPI_WriteComm(0xD630);
SPI_WriteData(0x03);
SPI_WriteComm(0xD631);
SPI_WriteData(0x55);
SPI_WriteComm(0xD632);
SPI_WriteData(0x03);
SPI_WriteComm(0xD633);
SPI_WriteData(0xFF);
SPI_WriteComm(0xF000);
SPI_WriteData(0x55);
SPI_WriteComm(0xF001);
SPI_WriteData(0xAA);
SPI_WriteComm(0xF002);
SPI_WriteData(0x52);
SPI_WriteComm(0xF003);
SPI_WriteData(0x08);
SPI_WriteComm(0xF004);
SPI_WriteData(0x00);
SPI_WriteComm(0xB700);
SPI_WriteData(0x70);
SPI_WriteComm(0xB701);
SPI_WriteData(0x70);
SPI_WriteComm(0xB800);
SPI_WriteData(0x00);
SPI_WriteComm(0xB801);
SPI_WriteData(0x03);
SPI_WriteComm(0xB802);
SPI_WriteData(0x03);
SPI_WriteComm(0xB803);
SPI_WriteData(0x03);
SPI_WriteComm(0xC700);
SPI_WriteData(0x02);
SPI_WriteComm(0xC900);
SPI_WriteData(0x00);
SPI_WriteComm(0xC901);
SPI_WriteData(0x02);
SPI_WriteComm(0xC902);
SPI_WriteData(0x50);
SPI_WriteComm(0xC903);
SPI_WriteData(0x50);
SPI_WriteComm(0xC904);
SPI_WriteData(0x50);
SPI_WriteComm(0x3A00);
SPI_WriteData(0x66);
SPI_WriteComm(0x3500);
SPI_WriteData(0x00);
SPI_WriteComm(0x3600);
//SPI_WriteData(0xA0);
//SPI_WriteData(0xA1);
SPI_WriteData(0xc1);
SPI_WriteComm(0x2A00);
SPI_WriteData(0x00);
SPI_WriteComm(0x2A01);
SPI_WriteData(0x00);
SPI_WriteComm(0x2A02);
SPI_WriteData(0x01);
//SPI_WriteData(0x03);
SPI_WriteComm(0x2A03);
SPI_WriteData(0xDF);
//SPI_WriteData(0x1F);
SPI_WriteComm(0x2B00);
SPI_WriteData(0x00);
SPI_WriteComm(0x2B01);
SPI_WriteData(0x00);
SPI_WriteComm(0x2B02);
SPI_WriteData(0x03);
//SPI_WriteData(0x01);
SPI_WriteComm(0x2B03);
SPI_WriteData(0x1F);
//SPI_WriteData(0xDF);
SPI_WriteComm(0x2C00);
SPI_WriteComm(0x1100);
SPI_WriteData(0x00);

//msAPI_Timer_Delayms(120);
UDELAY(120000);
SPI_WriteComm(0x2900);
SPI_WriteData(0x00);

}
lcm_init();