--- /dev/null
+#include <linux/fb.h>\r
+#include <linux/delay.h>\r
+#include "../../rk29_fb.h"\r
+#include <mach/gpio.h>\r
+#include <mach/iomux.h>\r
+#include <mach/board.h>\r
+#include "screen.h"\r
+\r
+/* Base */\r
+#define OUT_TYPE SCREEN_RGB\r
+#define OUT_FACE OUT_P888\r
+#define OUT_CLK 26*1000*1000 //***27\r
+#define LCDC_ACLK 150000000 //29 lcdc axi DMA Ƶ�� //rk29\r
+\r
+/* Timing */\r
+#define H_PW 4 //8ǰÏûÓ°\r
+#define H_BP 8//6\r
+#define H_VD 480//320 //***800 \r
+#define H_FP 8//60\r
+\r
+#define V_PW 4//12\r
+#define V_BP 8// 4\r
+#define V_VD 800//480 //***480\r
+#define V_FP 8//40\r
+\r
+#define LCD_WIDTH 800 //need modify //rk29\r
+#define LCD_HEIGHT 480\r
+\r
+/* Other */\r
+#define DCLK_POL 1//0 \r
+#define SWAP_RB 0\r
+\r
+static struct rk29lcd_info *gLcd_info = NULL;\r
+int init(void);\r
+int standby(u8 enable);\r
+\r
+#define TXD_PORT gLcd_info->txd_pin\r
+#define CLK_PORT gLcd_info->clk_pin\r
+#define CS_PORT gLcd_info->cs_pin\r
+\r
+#define CS_OUT() gpio_direction_output(CS_PORT, 1)\r
+#define CS_SET() gpio_set_value(CS_PORT, GPIO_HIGH)\r
+#define CS_CLR() gpio_set_value(CS_PORT, GPIO_LOW)\r
+#define CLK_OUT() gpio_direction_output(CLK_PORT, 0) \r
+#define CLK_SET() gpio_set_value(CLK_PORT, GPIO_HIGH)\r
+#define CLK_CLR() gpio_set_value(CLK_PORT, GPIO_LOW)\r
+#define TXD_OUT() gpio_direction_output(TXD_PORT, 1) \r
+#define TXD_SET() gpio_set_value(TXD_PORT, GPIO_HIGH)\r
+#define TXD_CLR() gpio_set_value(TXD_PORT, GPIO_LOW)\r
+\r
+\r
+#define DRVDelayUs(i) udelay(i*4)\r
+#if 0\r
+void spi_screenreg_cmd(u8 Addr)\r
+{\r
+ u32 i;\r
+ u32 control_bit;\r
+\r
+ TXD_OUT();\r
+ CLK_OUT();\r
+ CS_OUT();\r
+ DRVDelayUs(2);\r
+ DRVDelayUs(2);\r
+\r
+ CS_SET();\r
+ TXD_SET();\r
+ CLK_CLR();\r
+ DRVDelayUs(30);\r
+\r
+ CS_CLR();\r
+ control_bit = 0x0000;\r
+ Addr = (control_bit | Addr);//spi_screenreg_set(0x36, 0x0000, 0xffff); \r
+ //printk("addr is 0x%x \n", Addr); \r
+ for(i = 0; i < 9; i++) //reg\r
+ {\r
+ if(Addr &(1<<(8-i)))\r
+ TXD_SET();\r
+ else\r
+ TXD_CLR();\r
+\r
+ // \u6a21\u62dfCLK\r
+ CLK_SET();\r
+ DRVDelayUs(2);\r
+ CLK_CLR();\r
+ DRVDelayUs(2);\r
+ }\r
+\r
+ CS_SET();\r
+ TXD_SET();\r
+ CLK_CLR(); \r
+ DRVDelayUs(10);\r
+}\r
+\r
+\r
+void spi_screenreg_param(u8 Param)\r
+{\r
+\r
+ u32 i;\r
+ u32 control_bit;\r
+\r
+ CS_CLR();\r
+ \r
+ control_bit = 0x0100;\r
+ Param = (control_bit | Param);\r
+ //printk("data0 is 0x%x \n", Data); \r
+ for(i = 0; i < 9; i++) //data\r
+ {\r
+ if(Param &(1<<(8-i)))\r
+ TXD_SET();\r
+ else\r
+ TXD_CLR();\r
+\r
+ // \u6a21\u62dfCLK\r
+ CLK_SET();\r
+ DRVDelayUs(2);\r
+ CLK_CLR();\r
+ DRVDelayUs(2);\r
+ }\r
+\r
+ CS_SET();\r
+ CLK_CLR();\r
+ TXD_CLR();\r
+ DRVDelayUs(10);\r
+}\r
+#endif\r
+\r
+void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
+{\r
+ //printk("lcd_hx8357 set_lcd_info \n"); \r
+ /* screen type & face */\r
+ screen->type = OUT_TYPE;\r
+ screen->face = OUT_FACE;\r
+\r
+ /* Screen size */\r
+ screen->x_res = H_VD;\r
+ screen->y_res = V_VD;\r
+ screen->width = LCD_WIDTH; //rk29\r
+ screen->height = LCD_HEIGHT; //rk29\r
+\r
+ /* Timing */\r
+ screen->lcdc_aclk = LCDC_ACLK; //rk29\r
+ screen->pixclock = OUT_CLK;\r
+ screen->left_margin = H_BP; /*>2*/ \r
+ screen->right_margin = H_FP; /*>2*/ \r
+ screen->hsync_len = H_PW; /*>2*/ //***all > 326, 4<PW+BP<15, \r
+ screen->upper_margin = V_BP; /*>2*/ \r
+ screen->lower_margin = V_FP; /*>2*/ \r
+ screen->vsync_len = V_PW; /*>6*/ \r
+\r
+ /* Pin polarity */\r
+ screen->pin_hsync = 0; \r
+ screen->pin_vsync = 0; \r
+ screen->pin_den = 0;\r
+ screen->pin_dclk = DCLK_POL;\r
+\r
+ /* Swap rule */\r
+ screen->swap_rb = 0;\r
+ screen->swap_rg = 0;\r
+ screen->swap_gb = 0;\r
+ screen->swap_delta = 0;\r
+ screen->swap_dumy = 0;\r
+\r
+ /* Operation function*/\r
+ screen->init = init;\r
+ screen->standby = standby;\r
+ if(lcd_info)\r
+ gLcd_info = lcd_info;\r
+}\r
+\r
+#define PIN_BL_SET RK29_PIN6_PD2\r
+void set_backlight(int brightness)\r
+{\r
+#if 0\r
+ if(gLcd_info)\r
+ gLcd_info->io_init();\r
+\r
+ printk("lcd_ili9803:set_backlight = %d\r\n", brightness);\r
+ if (brightness < 0)\r
+ {\r
+ brightness = 0;\r
+ }\r
+ if (brightness > 4)\r
+ {\r
+ brightness = 4;\r
+ }\r
+ spi_screenreg_cmd(0x51);\r
+ spi_screenreg_param(brightness<<5);\r
+ \r
+ if(gLcd_info)\r
+ gLcd_info->io_deinit();\r
+\r
+#endif\r
+\r
+ gpio_request(PIN_BL_SET, NULL);\r
+ if(brightness > 0)\r
+ gpio_direction_output(PIN_BL_SET,GPIO_HIGH);\r
+ else\r
+ gpio_direction_output(PIN_BL_SET,GPIO_LOW); \r
+ printk("%s:brightness=%d\n",__FUNCTION__,brightness);\r
+}\r
+\r
+void WriteCommand( int Command)\r
+{\r
+ unsigned char i,count1, count2,count3,count4;\r
+ count1= Command>>8;\r
+ count2= Command;\r
+ count3=0x20;//00100000 //дÃüÁî¸ßλ\r
+ count4=0x00;//00000000 //дÃüÁîµÍλ======¾ßÌåÇë¿´ICµÄDatasheet\r
+ CS_CLR();\r
+ for(i=0;i<8;i++)\r
+ {\r
+ CLK_CLR();\r
+ if (count3 & 0x80) TXD_SET();\r
+ else TXD_CLR();\r
+ CLK_SET();\r
+ count3<<=1;\r
+ }\r
+\r
+ for(i=0;i<8;i++)\r
+ {\r
+ CLK_CLR();\r
+ if (count1 & 0x80) TXD_SET();\r
+ else TXD_CLR();\r
+ CLK_SET();\r
+ count1<<=1;\r
+ }\r
+\r
+ for(i=0;i<8;i++)\r
+ {\r
+ CLK_CLR();\r
+ if (count4 & 0x80) TXD_SET();\r
+ else TXD_CLR();\r
+ CLK_SET();\r
+ count4<<=1;\r
+ }\r
+ \r
+ for(i=0;i<8;i++)\r
+ {\r
+ CLK_CLR();\r
+ if (count2 & 0x80) TXD_SET();\r
+ else TXD_CLR();\r
+ CLK_SET();\r
+ count2<<=1;\r
+ }\r
+\r
+ CS_SET();\r
+\r
+}\r
+\r
+\r
+\r
+void WriteParameter(char DH)\r
+{\r
+ unsigned char i, count1, count2,count3,count4;\r
+ count1=DH>>8;\r
+ count2=DH;\r
+ count3=0x60;//дÊý¾Ý¸ßλ\r
+ count4=0x40;//дÊý¾ÝµÍλ\r
+\r
+ CS_CLR();\r
+ /*\r
+ TXD_CLR(); CLK_CLR(); CLK_SET(); //WRITE\r
+ TXD_SET(); CLK_CLR(); CLK_SET(); //DATA\r
+ TXD_SET(); CLK_CLR(); CLK_SET(); //HIGH BYTE\r
+ TXD_CLR(); CLK_CLR(); CLK_SET();\r
+ TXD_CLR(); CLK_CLR(); CLK_SET();\r
+ TXD_CLR(); CLK_CLR(); CLK_SET();\r
+ TXD_CLR(); CLK_CLR(); CLK_SET();\r
+ TXD_CLR(); CLK_CLR(); CLK_SET();\r
+ */\r
+ /*\r
+ //ÒòΪÊý¾ÝµÄ¸ßλ»ù±¾ÊDz»Óõģ¬¿ÉÒÔ²»´«¸ßλ£¬Ö±½Ó´«µÍλ\r
+ for(i=0;i<8;i++)\r
+ {\r
+ CLK_CLR();\r
+ if (count3 & 0x80) TXD_SET();\r
+ else TXD_CLR();\r
+ CLK_SET();\r
+ count3<<=1;\r
+ }\r
+\r
+ for(i=0;i<8;i++)\r
+ {\r
+ CLK_CLR();\r
+ if (count1 & 0x80) TXD_SET();\r
+ else TXD_CLR();\r
+ CLK_SET();\r
+ count1<<=1;\r
+ }\r
+ */\r
+\r
+\r
+ for(i=0;i<8;i++)\r
+ {\r
+ CLK_CLR();\r
+ if (count4 & 0x80) TXD_SET();\r
+ else TXD_CLR();\r
+ CLK_SET();\r
+ count4<<=1;\r
+ }\r
+\r
+ for(i=0;i<8;i++)\r
+ {\r
+ CLK_CLR();\r
+ if (count2 & 0x80) TXD_SET();\r
+ else TXD_CLR();\r
+ CLK_SET();\r
+ count2<<=1;\r
+ }\r
+\r
+ CS_SET();\r
+\r
+}\r
+\r
+\r
+void init_nt35510(void)\r
+{\r
+ WriteCommand(0X1100); \r
+ mdelay(120);\r
+\r
+ WriteCommand(0X1300); \r
+\r
+ WriteCommand(0XF000); \r
+ WriteParameter(0x55);\r
+\r
+ WriteCommand(0XF001); \r
+ WriteParameter(0xAA);\r
+\r
+ WriteCommand(0XF002); \r
+ WriteParameter(0x52);\r
+\r
+ WriteCommand(0XF003); \r
+ WriteParameter(0x08);\r
+\r
+ WriteCommand(0XF004); \r
+ WriteParameter(0x01);\r
+\r
+ //Gamma setting Red\r
+ WriteCommand(0XD100);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD101);\r
+ WriteParameter(0x20);\r
+\r
+ WriteCommand(0XD102);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD103);\r
+ WriteParameter(0x2B);\r
+\r
+ WriteCommand(0XD104);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD105);\r
+ WriteParameter(0x3C);\r
+\r
+ WriteCommand(0XD106);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD107);\r
+ WriteParameter(0x56);\r
+\r
+ WriteCommand(0XD108);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD109);\r
+ WriteParameter(0x68);\r
+\r
+ WriteCommand(0XD10a);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD10b);\r
+ WriteParameter(0x87);\r
+\r
+ WriteCommand(0XD10c);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD10d);\r
+ WriteParameter(0x9E);\r
+\r
+ WriteCommand(0XD10e);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD10f);\r
+ WriteParameter(0xC6);\r
+\r
+ WriteCommand(0XD110);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD111);\r
+ WriteParameter(0xE4);\r
+\r
+ WriteCommand(0XD112);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD113);\r
+ WriteParameter(0x12);\r
+\r
+ WriteCommand(0XD114);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD115);\r
+ WriteParameter(0x37);\r
+\r
+ WriteCommand(0XD116);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD117);\r
+ WriteParameter(0x75);\r
+\r
+ WriteCommand(0XD118);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD119);\r
+ WriteParameter(0xA5);\r
+\r
+ WriteCommand(0XD11a);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD11b);\r
+ WriteParameter(0xA6);\r
+\r
+ WriteCommand(0XD11c);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD11d);\r
+ WriteParameter(0xD0);\r
+\r
+ WriteCommand(0XD11e);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD11f);\r
+ WriteParameter(0xF5);\r
+\r
+ WriteCommand(0XD120);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD121);\r
+ WriteParameter(0x0A);\r
+\r
+ WriteCommand(0XD122);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD123);\r
+ WriteParameter(0x26);\r
+\r
+ WriteCommand(0XD124);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD125);\r
+ WriteParameter(0x3B);\r
+\r
+ WriteCommand(0XD126);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD127);\r
+ WriteParameter(0x6B);\r
+\r
+ WriteCommand(0XD128);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD129);\r
+ WriteParameter(0x99);\r
+\r
+ WriteCommand(0XD12a);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD12b);\r
+ WriteParameter(0xDD);\r
+\r
+ WriteCommand(0XD12C);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD12D);\r
+ WriteParameter(0x10);\r
+\r
+ WriteCommand(0XD12E);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD12F);\r
+ WriteParameter(0x26);\r
+\r
+ WriteCommand(0XD130);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD131);\r
+ WriteParameter(0x32);\r
+\r
+ WriteCommand(0XD132);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD133);\r
+ WriteParameter(0x9A);\r
+\r
+ //Gamma setting Green\r
+ WriteCommand(0XD200);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD201);\r
+ WriteParameter(0xa0);\r
+\r
+ WriteCommand(0XD202);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD203);\r
+ WriteParameter(0xa9);\r
+\r
+ WriteCommand(0XD204);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD205);\r
+ WriteParameter(0xb5);\r
+\r
+ WriteCommand(0XD206);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD207);\r
+ WriteParameter(0xbf);\r
+\r
+ WriteCommand(0XD208);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD209);\r
+ WriteParameter(0xc9);\r
+\r
+ WriteCommand(0XD20a);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD20b);\r
+ WriteParameter(0xdc);\r
+\r
+ WriteCommand(0XD20c);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD20d);\r
+ WriteParameter(0xEE);\r
+\r
+ WriteCommand(0XD20e);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD20f);\r
+ WriteParameter(0x0A);\r
+\r
+ WriteCommand(0XD210);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD211);\r
+ WriteParameter(0x21);\r
+\r
+ WriteCommand(0XD212);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD213);\r
+ WriteParameter(0x48);\r
+\r
+ WriteCommand(0XD214);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD215);\r
+ WriteParameter(0x67);\r
+\r
+ WriteCommand(0XD216);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD217);\r
+ WriteParameter(0x97);\r
+\r
+ WriteCommand(0XD218);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD219);\r
+ WriteParameter(0xBE);\r
+\r
+ WriteCommand(0XD21a);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD21b);\r
+ WriteParameter(0xC0);\r
+\r
+ WriteCommand(0XD21c);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD21d);\r
+ WriteParameter(0xE1);\r
+\r
+ WriteCommand(0XD21e);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD21f);\r
+ WriteParameter(0x04);\r
+\r
+ WriteCommand(0XD220);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD221);\r
+ WriteParameter(0x17);\r
+\r
+ WriteCommand(0XD222);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD223);\r
+ WriteParameter(0x36);\r
+\r
+ WriteCommand(0XD224);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD225);\r
+ WriteParameter(0x50);\r
+\r
+ WriteCommand(0XD226);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD227);\r
+ WriteParameter(0x7E);\r
+\r
+ WriteCommand(0XD228);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD229);\r
+ WriteParameter(0xAC);\r
+\r
+ WriteCommand(0XD22a);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD22b);\r
+ WriteParameter(0xF1);\r
+\r
+ WriteCommand(0XD22C);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD22D);\r
+ WriteParameter(0x20);\r
+\r
+ WriteCommand(0XD22E);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD22F);\r
+ WriteParameter(0x38);\r
+\r
+ WriteCommand(0XD230);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD231);\r
+ WriteParameter(0x43);\r
+\r
+ WriteCommand(0XD232);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD233);\r
+ WriteParameter(0x9A);\r
+\r
+\r
+ //Gamma setting Blue\r
+ WriteCommand(0XD300);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD301);\r
+ WriteParameter(0x50);\r
+\r
+ WriteCommand(0XD302);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD303);\r
+ WriteParameter(0x53);\r
+\r
+ WriteCommand(0XD304);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD305);\r
+ WriteParameter(0x73);\r
+\r
+ WriteCommand(0XD306);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD307);\r
+ WriteParameter(0x89);\r
+\r
+ WriteCommand(0XD308);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD309);\r
+ WriteParameter(0x9f);\r
+\r
+ WriteCommand(0XD30a);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD30b);\r
+ WriteParameter(0xc1);\r
+\r
+ WriteCommand(0XD30c);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD30d);\r
+ WriteParameter(0xda);\r
+\r
+ WriteCommand(0XD30e);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD30f);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD310);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD311);\r
+ WriteParameter(0x23);\r
+\r
+ WriteCommand(0XD312);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD313);\r
+ WriteParameter(0x50);\r
+\r
+ WriteCommand(0XD314);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD315);\r
+ WriteParameter(0x6f);\r
+\r
+ WriteCommand(0XD316);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD317);\r
+ WriteParameter(0x9f);\r
+\r
+ WriteCommand(0XD318);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD319);\r
+ WriteParameter(0xc5);\r
+\r
+ WriteCommand(0XD31a);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD31b);\r
+ WriteParameter(0xC6);\r
+\r
+ WriteCommand(0XD31c);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD31d);\r
+ WriteParameter(0xE3);\r
+\r
+ WriteCommand(0XD31e);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD31f);\r
+ WriteParameter(0x08);\r
+\r
+ WriteCommand(0XD320);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD321);\r
+ WriteParameter(0x16);\r
+\r
+ WriteCommand(0XD322);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD323);\r
+ WriteParameter(0x2b);\r
+\r
+ WriteCommand(0XD324);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD325);\r
+ WriteParameter(0x4d);\r
+\r
+ WriteCommand(0XD326);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD327);\r
+ WriteParameter(0x6f);\r
+\r
+ WriteCommand(0XD328);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD329);\r
+ WriteParameter(0x8C);\r
+\r
+ WriteCommand(0XD32a);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD32b);\r
+ WriteParameter(0xd6);\r
+\r
+ WriteCommand(0XD32C);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD32D);\r
+ WriteParameter(0x12);\r
+\r
+ WriteCommand(0XD32E);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD32F);\r
+ WriteParameter(0x28);\r
+\r
+ WriteCommand(0XD330);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD331);\r
+ WriteParameter(0x3e);\r
+\r
+ WriteCommand(0XD332);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD333);\r
+ WriteParameter(0x9A);\r
+\r
+ //Gamma setting Red\r
+ WriteCommand(0XD400);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD401);\r
+ WriteParameter(0x20);\r
+\r
+ WriteCommand(0XD402);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD403);\r
+ WriteParameter(0x2b);\r
+\r
+ WriteCommand(0XD404);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD405);\r
+ WriteParameter(0x3c);\r
+\r
+ WriteCommand(0XD406);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD407);\r
+ WriteParameter(0x56);\r
+\r
+ WriteCommand(0XD408);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD409);\r
+ WriteParameter(0x68);\r
+\r
+ WriteCommand(0XD40a);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD40b);\r
+ WriteParameter(0x87);\r
+\r
+ WriteCommand(0XD40c);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD40d);\r
+ WriteParameter(0x9e);\r
+\r
+ WriteCommand(0XD40e);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD40f);\r
+ WriteParameter(0xc6);\r
+\r
+ WriteCommand(0XD410);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD411);\r
+ WriteParameter(0xe4);\r
+\r
+ WriteCommand(0XD412);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD413);\r
+ WriteParameter(0x12);\r
+\r
+ WriteCommand(0XD414);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD415);\r
+ WriteParameter(0x37);\r
+\r
+ WriteCommand(0XD416);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD417);\r
+ WriteParameter(0x75);\r
+\r
+ WriteCommand(0XD418);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD419);\r
+ WriteParameter(0xa5);\r
+\r
+ WriteCommand(0XD41a);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD41b);\r
+ WriteParameter(0xa6);\r
+\r
+ WriteCommand(0XD41c);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD41d);\r
+ WriteParameter(0xd0);\r
+\r
+ WriteCommand(0XD41e);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD41f);\r
+ WriteParameter(0xf5);\r
+\r
+ WriteCommand(0XD420);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD421);\r
+ WriteParameter(0x0a);\r
+\r
+ WriteCommand(0XD422);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD423);\r
+ WriteParameter(0x26);\r
+\r
+ WriteCommand(0XD424);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD425);\r
+ WriteParameter(0x3b);\r
+\r
+ WriteCommand(0XD426);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD427);\r
+ WriteParameter(0x6b);\r
+\r
+ WriteCommand(0XD428);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD429);\r
+ WriteParameter(0x99);\r
+\r
+ WriteCommand(0XD42a);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD42b);\r
+ WriteParameter(0xdd);\r
+\r
+ WriteCommand(0XD42C);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD42D);\r
+ WriteParameter(0x10);\r
+\r
+ WriteCommand(0XD42E);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD42F);\r
+ WriteParameter(0x26);\r
+\r
+ WriteCommand(0XD430);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD431);\r
+ WriteParameter(0x32);\r
+\r
+ WriteCommand(0XD432);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD433);\r
+ WriteParameter(0x9A);\r
+\r
+ //Gamma setting Green\r
+ WriteCommand(0XD500);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD501);\r
+ WriteParameter(0xa0);\r
+\r
+ WriteCommand(0XD502);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD503);\r
+ WriteParameter(0xa9);\r
+\r
+ WriteCommand(0XD504);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD505);\r
+ WriteParameter(0xb5);\r
+\r
+ WriteCommand(0XD506);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD507);\r
+ WriteParameter(0xbf);\r
+\r
+ WriteCommand(0XD508);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD509);\r
+ WriteParameter(0xc9);\r
+\r
+ WriteCommand(0XD50a);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD50b);\r
+ WriteParameter(0xdc);\r
+\r
+ WriteCommand(0XD50c);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD50d);\r
+ WriteParameter(0xee);\r
+\r
+ WriteCommand(0XD50e);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD50f);\r
+ WriteParameter(0x0a);\r
+\r
+ WriteCommand(0XD510);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD511);\r
+ WriteParameter(0x21);\r
+\r
+ WriteCommand(0XD512);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD513);\r
+ WriteParameter(0x48);\r
+\r
+ WriteCommand(0XD514);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD515);\r
+ WriteParameter(0x67);\r
+\r
+ WriteCommand(0XD516);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD517);\r
+ WriteParameter(0x97);\r
+\r
+ WriteCommand(0XD518);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD519);\r
+ WriteParameter(0xbe);\r
+\r
+ WriteCommand(0XD51a);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD51b);\r
+ WriteParameter(0xc0);\r
+\r
+ WriteCommand(0XD51c);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD51d);\r
+ WriteParameter(0xe1);\r
+\r
+ WriteCommand(0XD51e);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD51f);\r
+ WriteParameter(0x04);\r
+\r
+ WriteCommand(0XD520);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD521);\r
+ WriteParameter(0x17);\r
+\r
+ WriteCommand(0XD522);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD523);\r
+ WriteParameter(0x36);\r
+\r
+ WriteCommand(0XD524);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD525);\r
+ WriteParameter(0x50);\r
+\r
+ WriteCommand(0XD526);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD527);\r
+ WriteParameter(0x7e);\r
+\r
+ WriteCommand(0XD528);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD529);\r
+ WriteParameter(0xac);\r
+\r
+ WriteCommand(0XD52a);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD52b);\r
+ WriteParameter(0xf1);\r
+\r
+ WriteCommand(0XD52C);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD52D);\r
+ WriteParameter(0x20);\r
+\r
+ WriteCommand(0XD52E);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD52F);\r
+ WriteParameter(0x38);\r
+\r
+ WriteCommand(0XD530);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD531);\r
+ WriteParameter(0x43);\r
+\r
+ WriteCommand(0XD532);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD533);\r
+ WriteParameter(0x9A);\r
+\r
+ //Gamma setting Blue\r
+ WriteCommand(0XD600);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD601);\r
+ WriteParameter(0x50);\r
+\r
+ WriteCommand(0XD602);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD603);\r
+ WriteParameter(0x53);\r
+\r
+ WriteCommand(0XD604);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD605);\r
+ WriteParameter(0x73);\r
+\r
+ WriteCommand(0XD606);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD607);\r
+ WriteParameter(0x89);\r
+\r
+ WriteCommand(0XD608);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD609);\r
+ WriteParameter(0x9f);\r
+\r
+ WriteCommand(0XD60a);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD60b);\r
+ WriteParameter(0xc1);\r
+\r
+ WriteCommand(0XD60c);\r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XD60d);\r
+ WriteParameter(0xda);\r
+\r
+ WriteCommand(0XD60e);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD60f);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD610);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD611);\r
+ WriteParameter(0x23);\r
+\r
+ WriteCommand(0XD612);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD613);\r
+ WriteParameter(0x50);\r
+\r
+ WriteCommand(0XD614);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD615);\r
+ WriteParameter(0x6f);\r
+\r
+ WriteCommand(0XD616);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD617);\r
+ WriteParameter(0x9f);\r
+\r
+ WriteCommand(0XD618);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD619);\r
+ WriteParameter(0xc5);\r
+\r
+ WriteCommand(0XD61a);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD61b);\r
+ WriteParameter(0xc6);\r
+\r
+ WriteCommand(0XD61c);\r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XD61d);\r
+ WriteParameter(0xe3);\r
+\r
+ WriteCommand(0XD61e);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD61f);\r
+ WriteParameter(0x08);\r
+\r
+ WriteCommand(0XD620);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD621);\r
+ WriteParameter(0x16);\r
+\r
+ WriteCommand(0XD622);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD623);\r
+ WriteParameter(0x2b);\r
+\r
+ WriteCommand(0XD624);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD625);\r
+ WriteParameter(0x4d);\r
+\r
+ WriteCommand(0XD626);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD627);\r
+ WriteParameter(0x6f);\r
+\r
+ WriteCommand(0XD628);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD629);\r
+ WriteParameter(0x8c);\r
+\r
+ WriteCommand(0XD62a);\r
+ WriteParameter(0x02);\r
+\r
+ WriteCommand(0XD62b);\r
+ WriteParameter(0xd6);\r
+\r
+ WriteCommand(0XD62C);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD62D);\r
+ WriteParameter(0x12);\r
+\r
+ WriteCommand(0XD62E);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD62F);\r
+ WriteParameter(0x28);\r
+\r
+ WriteCommand(0XD630);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD631);\r
+ WriteParameter(0x3e);\r
+\r
+ WriteCommand(0XD632);\r
+ WriteParameter(0x03);\r
+\r
+ WriteCommand(0XD633);\r
+ WriteParameter(0x9A);\r
+\r
+ WriteCommand(0XBA00); \r
+ WriteParameter(0x14);\r
+\r
+ WriteCommand(0XBA01); \r
+ WriteParameter(0x14);\r
+\r
+ WriteCommand(0XBA02); \r
+ WriteParameter(0x14);\r
+\r
+ WriteCommand(0XBF00); \r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XB300); \r
+ WriteParameter(0x07);\r
+\r
+ WriteCommand(0XB301); \r
+ WriteParameter(0x07);\r
+\r
+ WriteCommand(0XB302); \r
+ WriteParameter(0x07);\r
+\r
+ WriteCommand(0XB900); \r
+ WriteParameter(0x25);\r
+\r
+ WriteCommand(0XB901); \r
+ WriteParameter(0x25);\r
+\r
+ WriteCommand(0XB902); \r
+ WriteParameter(0x25);\r
+\r
+\r
+\r
+ WriteCommand(0XBC01); \r
+ WriteParameter(0xA0);\r
+\r
+ WriteCommand(0XBC02); \r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XBD01); \r
+ WriteParameter(0xA0);\r
+\r
+ WriteCommand(0XBD02); \r
+ WriteParameter(0x00);\r
+\r
+\r
+ WriteCommand(0XF000); \r
+ WriteParameter(0x55);\r
+\r
+ WriteCommand(0XF001); \r
+ WriteParameter(0xAA);\r
+\r
+ WriteCommand(0XF002); \r
+ WriteParameter(0x52);\r
+\r
+ WriteCommand(0XF003); \r
+ WriteParameter(0x08);\r
+\r
+ WriteCommand(0XF004); \r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XB100); \r
+ WriteParameter(0xCC);\r
+\r
+ WriteCommand(0XBC00); \r
+ WriteParameter(0x05);\r
+\r
+ WriteCommand(0XBC01); \r
+ WriteParameter(0x05);\r
+\r
+ WriteCommand(0XBC02); \r
+ WriteParameter(0x05);\r
+\r
+\r
+ WriteCommand(0XBD02); \r
+ WriteParameter(0x07);\r
+ WriteCommand(0XBD03); \r
+ WriteParameter(0x31);\r
+\r
+ WriteCommand(0XBE02); \r
+ WriteParameter(0x07);\r
+ WriteCommand(0XBE03); \r
+ WriteParameter(0x31);\r
+\r
+ WriteCommand(0XBF02); \r
+ WriteParameter(0x07);\r
+ WriteCommand(0XBF03); \r
+ WriteParameter(0x31);\r
+\r
+ WriteCommand(0XFF00); \r
+ WriteParameter(0xAA);\r
+ WriteCommand(0XFF01); \r
+ WriteParameter(0x55);\r
+ WriteCommand(0XFF02); \r
+ WriteParameter(0x25);\r
+ WriteCommand(0XFF03); \r
+ WriteParameter(0x01);\r
+\r
+\r
+ WriteCommand(0X3500); \r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0X3a00); \r
+ \r
+if(OUT_FACE == OUT_P888)\r
+ WriteParameter(0x70); //24bit\r
+else if(OUT_FACE == OUT_P666)\r
+ WriteParameter(0x60);//18bit\r
+\r
+ WriteCommand(0X3600); \r
+ WriteParameter(0x00);//R<->B\r
+\r
+ WriteCommand(0X2000); //\r
+\r
+ WriteCommand(0X1100); \r
+ mdelay(120);\r
+\r
+ WriteCommand(0X2900); \r
+\r
+ mdelay(100);\r
+ WriteCommand(0X2C00); \r
+}\r
+\r
+\r
+void resume_nt35510(void)\r
+{\r
+ WriteCommand(0X1100); \r
+ mdelay(120);\r
+\r
+ WriteCommand(0X1300); \r
+\r
+ WriteCommand(0XF000); \r
+ WriteParameter(0x55);\r
+\r
+ WriteCommand(0XF001); \r
+ WriteParameter(0xAA);\r
+\r
+ WriteCommand(0XF002); \r
+ WriteParameter(0x52);\r
+\r
+ WriteCommand(0XF003); \r
+ WriteParameter(0x08);\r
+\r
+ WriteCommand(0XF004); \r
+ WriteParameter(0x01);\r
+\r
+\r
+ /**************/\r
+ WriteCommand(0XBA00); \r
+ WriteParameter(0x14);\r
+\r
+ WriteCommand(0XBA01); \r
+ WriteParameter(0x14);\r
+\r
+ WriteCommand(0XBA02); \r
+ WriteParameter(0x14);\r
+\r
+ WriteCommand(0XBF00); \r
+ WriteParameter(0x01);\r
+\r
+ WriteCommand(0XB300); \r
+ WriteParameter(0x07);\r
+\r
+ WriteCommand(0XB301); \r
+ WriteParameter(0x07);\r
+\r
+ WriteCommand(0XB302); \r
+ WriteParameter(0x07);\r
+\r
+ WriteCommand(0XB900); \r
+ WriteParameter(0x25);\r
+\r
+ WriteCommand(0XB901); \r
+ WriteParameter(0x25);\r
+\r
+ WriteCommand(0XB902); \r
+ WriteParameter(0x25);\r
+\r
+\r
+\r
+ WriteCommand(0XBC01); \r
+ WriteParameter(0xA0);\r
+\r
+ WriteCommand(0XBC02); \r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XBD01); \r
+ WriteParameter(0xA0);\r
+\r
+ WriteCommand(0XBD02); \r
+ WriteParameter(0x00);\r
+\r
+\r
+ WriteCommand(0XF000); \r
+ WriteParameter(0x55);\r
+\r
+ WriteCommand(0XF001); \r
+ WriteParameter(0xAA);\r
+\r
+ WriteCommand(0XF002); \r
+ WriteParameter(0x52);\r
+\r
+ WriteCommand(0XF003); \r
+ WriteParameter(0x08);\r
+\r
+ WriteCommand(0XF004); \r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0XB100); \r
+ WriteParameter(0xCC);\r
+\r
+ WriteCommand(0XBC00); \r
+ WriteParameter(0x05);\r
+\r
+ WriteCommand(0XBC01); \r
+ WriteParameter(0x05);\r
+\r
+ WriteCommand(0XBC02); \r
+ WriteParameter(0x05);\r
+\r
+\r
+ WriteCommand(0XBD02); \r
+ WriteParameter(0x07);\r
+ WriteCommand(0XBD03); \r
+ WriteParameter(0x31);\r
+\r
+ WriteCommand(0XBE02); \r
+ WriteParameter(0x07);\r
+ WriteCommand(0XBE03); \r
+ WriteParameter(0x31);\r
+\r
+ WriteCommand(0XBF02); \r
+ WriteParameter(0x07);\r
+ WriteCommand(0XBF03); \r
+ WriteParameter(0x31);\r
+\r
+ WriteCommand(0XFF00); \r
+ WriteParameter(0xAA);\r
+ WriteCommand(0XFF01); \r
+ WriteParameter(0x55);\r
+ WriteCommand(0XFF02); \r
+ WriteParameter(0x25);\r
+ WriteCommand(0XFF03); \r
+ WriteParameter(0x01);\r
+\r
+\r
+ WriteCommand(0X3500); \r
+ WriteParameter(0x00);\r
+\r
+ WriteCommand(0X3a00); \r
+ \r
+if(OUT_FACE == OUT_P888)\r
+ WriteParameter(0x70); //24bit\r
+else if(OUT_FACE == OUT_P666)\r
+ WriteParameter(0x60);//18bit\r
+\r
+ WriteCommand(0X3600); \r
+ WriteParameter(0x00);//R<->B\r
+\r
+ WriteCommand(0X2000); //\r
+\r
+ WriteCommand(0X1100); \r
+ mdelay(120);\r
+\r
+ WriteCommand(0X2900); \r
+\r
+ mdelay(100);\r
+ WriteCommand(0X2C00); \r
+}\r
+\r
+int init(void)\r
+{ \r
+ volatile u32 data;\r
+ printk("lcd init...\n");\r
+ /* reset lcd to start init lcd */\r
+ gpio_request(RK29_PIN6_PC6, NULL);\r
+ gpio_direction_output(RK29_PIN6_PC6, 1);\r
+ gpio_direction_output(RK29_PIN6_PC6, 0);\r
+ mdelay(5);\r
+ gpio_set_value(RK29_PIN6_PC6, 1);\r
+ mdelay(50);\r
+ gpio_free(RK29_PIN6_PC6);\r
+\r
+ if(gLcd_info)\r
+ gLcd_info->io_init();\r
+ init_nt35510();\r
+\r
+ if(gLcd_info)\r
+ gLcd_info->io_deinit();\r
+\r
+ //set_backlight(255);\r
+\r
+ return 0;\r
+}\r
+\r
+int standby(u8 enable) //***enable =1 means suspend, 0 means resume \r
+{\r
+ if(gLcd_info)\r
+ gLcd_info->io_init();\r
+\r
+ if(enable) {\r
+ WriteCommand(0X2800); \r
+ //set_backlight(0);\r
+ mdelay(100);\r
+ WriteCommand(0X1000); \r
+ } else { \r
+ //WriteCommand(0X1100); \r
+ //mdelay(120);\r
+ //WriteCommand(0X2900); \r
+ //mdelay(100);\r
+ //set_backlight(255);\r
+ resume_nt35510();//may be fail to wake up LCD some time,so change to init lcd again\r
+ }\r
+\r
+ if(gLcd_info)\r
+ gLcd_info->io_deinit();\r
+\r
+ return 0;\r
+}\r
+\r
+\r