rk3066b sdk:modify lcd screen io control
authoryxj <yxj@rock-chips.com>
Fri, 31 Aug 2012 12:12:06 +0000 (20:12 +0800)
committeryxj <yxj@rock-chips.com>
Fri, 31 Aug 2012 12:14:00 +0000 (20:14 +0800)
arch/arm/mach-rk30/board-rk3066b-sdk.c

index 041a3167dfef01f9319edbd255d98b0d60f31359..e654f6007e7742466caa74f1823ca1a1b7a37022 100644 (file)
@@ -451,49 +451,69 @@ static struct sensor_platform_data cm3217_info = {
 
 #ifdef CONFIG_FB_ROCKCHIP
 
-#define LCD_CS_PIN         RK30_PIN0_PB0
+#define LCD_CS_PIN         INVALID_GPIO
 #define LCD_CS_VALUE       GPIO_HIGH
 
 #define LCD_EN_PIN         RK30_PIN0_PB0
-#define LCD_EN_VALUE       GPIO_LOW
+#define LCD_EN_VALUE       GPIO_HIGH
 
 static int rk_fb_io_init(struct rk29_fb_setting_info *fb_setting)
 {
        int ret = 0;
-       ret = gpio_request(LCD_CS_PIN, NULL);
-       if (ret != 0)
-       {
-               gpio_free(LCD_CS_PIN);
-               printk(KERN_ERR "request lcd cs pin fail!\n");
-               return -1;
-       }
-       else
-       {
-               gpio_direction_output(LCD_CS_PIN, LCD_CS_VALUE);
-       }
-       ret = gpio_request(LCD_EN_PIN, NULL);
-       if (ret != 0)
+
+       if(LCD_CS_PIN !=INVALID_GPIO)
        {
-               gpio_free(LCD_EN_PIN);
-               printk(KERN_ERR "request lcd en pin fail!\n");
-               return -1;
+               ret = gpio_request(LCD_CS_PIN, NULL);
+               if (ret != 0)
+               {
+                       gpio_free(LCD_CS_PIN);
+                       printk(KERN_ERR "request lcd cs pin fail!\n");
+                       return -1;
+               }
+               else
+               {
+                       gpio_direction_output(LCD_CS_PIN, LCD_CS_VALUE);
+               }
        }
-       else
+
+       if(LCD_EN_PIN !=INVALID_GPIO)
        {
-               gpio_direction_output(LCD_EN_PIN, LCD_EN_VALUE);
+               ret = gpio_request(LCD_EN_PIN, NULL);
+               if (ret != 0)
+               {
+                       gpio_free(LCD_EN_PIN);
+                       printk(KERN_ERR "request lcd en pin fail!\n");
+                       return -1;
+               }
+               else
+               {
+                       gpio_direction_output(LCD_EN_PIN, LCD_EN_VALUE);
+               }
        }
        return 0;
 }
 static int rk_fb_io_disable(void)
 {
-       gpio_set_value(LCD_CS_PIN, LCD_CS_VALUE? 0:1);
-       gpio_set_value(LCD_EN_PIN, LCD_EN_VALUE? 0:1);
+       if(LCD_CS_PIN !=INVALID_GPIO)
+       {
+               gpio_set_value(LCD_CS_PIN, !LCD_CS_VALUE);
+       }
+       if(LCD_EN_PIN !=INVALID_GPIO)
+       {
+               gpio_set_value(LCD_EN_PIN, !LCD_EN_VALUE);
+       }
        return 0;
 }
 static int rk_fb_io_enable(void)
 {
-       gpio_set_value(LCD_CS_PIN, LCD_CS_VALUE);
-       gpio_set_value(LCD_EN_PIN, LCD_EN_VALUE);
+       if(LCD_CS_PIN !=INVALID_GPIO)
+       {
+               gpio_set_value(LCD_CS_PIN, LCD_CS_VALUE);
+       }
+       if(LCD_EN_PIN !=INVALID_GPIO)
+       {
+               gpio_set_value(LCD_EN_PIN, LCD_EN_VALUE);
+       }
        return 0;
 }