RK610: fix dual screen sleep resume err
authoryzq <yzq@rock-chips.com>
Wed, 26 Jun 2013 05:21:54 +0000 (13:21 +0800)
committeryzq <yzq@rock-chips.com>
Wed, 26 Jun 2013 05:21:54 +0000 (13:21 +0800)
drivers/video/rockchip/transmitter/rk610_lcd.c

index e25058d061e579a8591a82362ee39f75c304d612..a9da5d1539513a18d0819e2aec6bd9b9a5e79a9d 100644 (file)
@@ -78,27 +78,34 @@ static int rk610_output_config(struct i2c_client *client,struct rk29fb_screen *s
     RK610_DBG(&client->dev,"%s \n",__FUNCTION__);
      if(SCREEN_LVDS == screen->type){
         if(mode == LCD_OUT_SCL || mode == LCD_OUT_BYPASS){
-            c = LVDS_OUT_CLK_PIN(0) |LVDS_OUT_CLK_PWR_PIN(1) |LVDS_PLL_PWR_PIN(0) \
-                |LVDS_LANE_IN_FORMAT(DATA_D0_MSB) \
-                |LVDS_OUTPUT_FORMAT(screen->lvds_format) | LVDS_BIASE_PWR(1); 
-                       #if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)
-                       c |=  LVDS_INPUT_SOURCE(FROM_LCD1);
-                       #else
-                       c |=  LVDS_INPUT_SOURCE(FROM_LCD0_OR_SCL);
-                       #endif                
-               rk610_scaler_write_p0_reg(client, LVDS_CON0, &c);
-               c = LCD1_OUT_ENABLE(LCD1_AS_IN);
-          rk610_scaler_write_p0_reg(client, LCD1_CON, &c);
-            c = LVDS_OUT_ENABLE(0x0) |LVDS_TX_PWR_ENABLE(0x0); 
-               rk610_scaler_write_p0_reg(client, LVDS_CON1, &c);
+               c = LVDS_OUT_CLK_PIN(0) |LVDS_OUT_CLK_PWR_PIN(1) |LVDS_PLL_PWR_PIN(0) \
+                   |LVDS_LANE_IN_FORMAT(DATA_D0_MSB) \
+                   |LVDS_OUTPUT_FORMAT(screen->lvds_format) | LVDS_BIASE_PWR(1); 
+#if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)
+               c |=  LVDS_INPUT_SOURCE(FROM_LCD1);
+#else
+               c |=  LVDS_INPUT_SOURCE(FROM_LCD0_OR_SCL);
+#endif                
+               rk610_scaler_write_p0_reg(client, LVDS_CON0, &c);
+               c = LCD1_OUT_ENABLE(LCD1_AS_IN);
+               rk610_scaler_write_p0_reg(client, LCD1_CON, &c);
+               c = LVDS_OUT_ENABLE(0x0) |LVDS_TX_PWR_ENABLE(0x0); 
+               rk610_scaler_write_p0_reg(client, LVDS_CON1, &c);
            }
            else{
-               c = LVDS_OUT_CLK_PIN(0) |LVDS_OUT_CLK_PWR_PIN(0) |LVDS_PLL_PWR_PIN(1) \
-                |LVDS_LANE_IN_FORMAT(DATA_D0_MSB) |LVDS_INPUT_SOURCE(FROM_LCD0_OR_SCL) \
-                |LVDS_OUTPUT_FORMAT(screen->lvds_format) | LVDS_BIASE_PWR(0); 
-               rk610_scaler_write_p0_reg(client, LVDS_CON0, &c);
-            c = LVDS_OUT_ENABLE(0xf) |LVDS_TX_PWR_ENABLE(0xf); 
-               rk610_scaler_write_p0_reg(client, LVDS_CON1, &c);
+                   c = LVDS_OUT_CLK_PIN(0) |LVDS_OUT_CLK_PWR_PIN(0) |LVDS_PLL_PWR_PIN(1) \
+                       |LVDS_LANE_IN_FORMAT(DATA_D0_MSB)  \
+                       |LVDS_OUTPUT_FORMAT(screen->lvds_format) | LVDS_BIASE_PWR(0); 
+#if defined(CONFIG_DUAL_LCDC_DUAL_DISP_IN_KERNEL)
+                   c |=  LVDS_INPUT_SOURCE(FROM_LCD1);
+#else
+                   c |=  LVDS_INPUT_SOURCE(FROM_LCD0_OR_SCL);
+#endif                
+                   c = LCD1_OUT_ENABLE(LCD1_AS_IN);
+                   rk610_scaler_write_p0_reg(client, LCD1_CON, &c);
+                   rk610_scaler_write_p0_reg(client, LVDS_CON0, &c);
+                   c = LVDS_OUT_ENABLE(0xf) |LVDS_TX_PWR_ENABLE(0xf); 
+                   rk610_scaler_write_p0_reg(client, LVDS_CON1, &c);
              
            }
        }else if(SCREEN_RGB == screen->type){