add standby for lcd_ili9803_cpt4_3
authorluowei <lw@rock-chips.com>
Wed, 23 Mar 2011 03:55:30 +0000 (11:55 +0800)
committerluowei <lw@rock-chips.com>
Wed, 23 Mar 2011 03:56:50 +0000 (11:56 +0800)
drivers/video/display/screen/lcd_ili9803_cpt4_3.c

index 8964d89329035f91368bc77247fa1cb838fe2378..b41a8dc86257751565b5dae1ec0d7d36f5b5cf5a 100755 (executable)
@@ -163,8 +163,8 @@ int init(void)
 { \r
        volatile u32 data;\r
 \r
-    if(gLcd_info)\r
-        gLcd_info->io_init();\r
+       if(gLcd_info)\r
+       gLcd_info->io_init();\r
 \r
        printk("lcd init...\n");\r
        spi_screenreg_cmd(0xB1);\r
@@ -272,51 +272,60 @@ int init(void)
        spi_screenreg_cmd(0x29);\r
        mdelay(10);\r
        spi_screenreg_cmd(0x2C);\r
-    if(gLcd_info)\r
-        gLcd_info->io_deinit();\r
+       if(gLcd_info)\r
+       gLcd_info->io_deinit();\r
 \r
     return 0;\r
 }\r
 \r
 int standby(u8 enable) //***enable =1 means suspend, 0 means resume \r
 {\r
-       \r
+#if 1  \r
     if(gLcd_info)\r
         gLcd_info->io_init();\r
-       #if 0\r
+\r
        if(enable) {\r
-               spi_screenreg_set(0x10, 0xffff, 0xffff);\r
-               spi_screenreg_set(0x28, 0xffff, 0xffff);\r
+               spi_screenreg_cmd(0xB7);\r
+               spi_screenreg_param(0x0f);\r
        } else { \r
-               spi_screenreg_set(0x29, 0xffff, 0xffff);\r
-               spi_screenreg_set(0x11, 0xffff, 0xffff);\r
+               CS_OUT() ;\r
+               for(int i=0;i<6;i++)\r
+               {\r
+                       CS_SET();\r
+                       DRVDelayUs(1);\r
+                       CS_CLR();\r
+                       DRVDelayUs(1);\r
+                       CS_SET();\r
+                       mdelay(2);                      \r
+               }\r
        }\r
-  #endif\r
+\r
     if(gLcd_info)\r
         gLcd_info->io_deinit();\r
+#endif\r
     return 0;\r
 }\r
+\r
 void set_backlight(int brightness)\r
 {\r
-#if 0\r
-       if (g_spi != NULL)\r
-       {\r
-               fbprintk("AMS369FG06: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
+#if 1\r
+       if(gLcd_info)\r
+        gLcd_info->io_init();\r
 \r
-               g_backlight_level = brightness;\r
-               write_data(pBrighenessLevel[brightness], ARRAY_SIZE(pBrighenessLevel[brightness]));\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
-void rk2818_backlight_ctl(int suspend)\r
-{\r
-       standby(suspend);\r
-}
\ No newline at end of file