revert lcd display of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac and add lcd_YQ...
authorwuhao <wuhao@wuhao@rock-chips.com>
Wed, 7 Nov 2012 10:16:43 +0000 (18:16 +0800)
committerwuhao <wuhao@wuhao@rock-chips.com>
Sat, 10 Nov 2012 04:14:37 +0000 (12:14 +0800)
arch/arm/configs/rk2926_v86_defconfig
drivers/video/display/screen/Kconfig
drivers/video/display/screen/Makefile
drivers/video/display/screen/lcd_YQ70CPT9160.c
drivers/video/display/screen/lcd_YQ70CPT9160_v86.c [new file with mode: 0644]

index d4d8e96d0648b68da213b3c76fbc7dfd054c5ab7..83cc8a6669aa96361e8c1ae63237dacfe6f5e25c 100644 (file)
@@ -285,7 +285,7 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 # CONFIG_BACKLIGHT_GENERIC is not set
 CONFIG_DISPLAY_SUPPORT=y
-CONFIG_LCD_RK2928_A720=y
+CONFIG_LCD_RK2926_V86=y
 CONFIG_FB_ROCKCHIP=y
 CONFIG_LCDC_RK2928=y
 CONFIG_RK_HDMI=y
index f4e6c555804f57eed476fa9c0aa3d3b30e91b21a..0e3b0b6f856641e4a038210f475e30bfc35f3856 100755 (executable)
@@ -96,7 +96,9 @@ config LCD_HV070WSA100
 config LCD_COMMON
        bool "LCD COMMON"
 config LCD_RK2928_A720
-        bool "RK2928 A720 panel 800x480"
+       bool "RK2928 A720 panel 800x480"
+config LCD_RK2926_V86
+       bool "RK2926 v86 panel 800x480"
 config LCD_HJ080NA
        bool "HJ080NA_4J 1024X768"
 
index 5e25916477c572ea158719ebe5364c33b5173987..5c938df3c816b4b9b1417663da37b93334422b7e 100755 (executable)
@@ -44,6 +44,7 @@ obj-$(CONFIG_LCD_HSD100PXN_FOR_TDW851) += lcd_hsd100pxn_for_tdw851.o
 obj-$(CONFIG_LCD_HV070WSA100)    += lcd_hv070wsa.o
 obj-$(CONFIG_LCD_COMMON)    += lcd_common.o
 obj-$(CONFIG_LCD_RK2928_A720) += lcd_YQ70CPT9160.o
+obj-$(CONFIG_LCD_RK2926_V86) += lcd_YQ70CPT9160_v86.o
 obj-$(CONFIG_LCD_HSD07PFW1) += lcd_hsd07pfw1.o
 obj-$(CONFIG_LCD_HJ080NA)    += lcd_hj080na.o
 obj-$(CONFIG_LCD_HJ101NA)   += lcd_hj101na.o
index 63f80f1aa3adffeaf7867aa4d92ff670632500ea..ee6191b0c4dce82bb8748aa4251f3904b2e81567 100644 (file)
 #define V_FP                   22 //18
 
 /* Other */
-#if defined(CONFIG_MACH_RK2926_V86)
-#define DCLK_POL               0
-#else
 #define DCLK_POL                1
-#endif
 #define SWAP_RB                        0
 
 #define LCD_WIDTH       154    //need modify
diff --git a/drivers/video/display/screen/lcd_YQ70CPT9160_v86.c b/drivers/video/display/screen/lcd_YQ70CPT9160_v86.c
new file mode 100644 (file)
index 0000000..1e5549d
--- /dev/null
@@ -0,0 +1,80 @@
+/* This Lcd Driver is HSD070IDW1 write by cst 2009.10.27 */
+#include <linux/fb.h>
+#include <linux/delay.h>
+#include "../../rk29_fb.h"
+#include <mach/gpio.h>
+#include <mach/iomux.h>
+#include <mach/board.h>
+#include "screen.h"
+
+
+/* Base */
+#define OUT_TYPE               SCREEN_RGB
+#define OUT_FACE               OUT_P666
+#define OUT_CLK                         33000000
+#define LCDC_ACLK       150000000     //29 lcdc axi DMA ÆµÂÊ
+
+/* Timing */
+#define H_PW                   30//48 //10
+#define H_BP                   10//40 //100
+#define H_VD                   800 //1024
+#define H_FP                   210// //210
+
+#define V_PW                   13//10
+#define V_BP                   10// //10
+#define V_VD                   480 //768
+#define V_FP                   22 //18
+
+/* Other */
+#define DCLK_POL               0
+#define SWAP_RB                        0
+
+#define LCD_WIDTH       154    //need modify
+#define LCD_HEIGHT      85
+
+static struct rk29lcd_info *gLcd_info = NULL;
+
+void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )
+{
+    /* screen type & face */
+    screen->type = OUT_TYPE;
+    screen->face = OUT_FACE;
+
+    /* Screen size */
+    screen->x_res = H_VD;
+    screen->y_res = V_VD;
+
+    screen->width = LCD_WIDTH;
+    screen->height = LCD_HEIGHT;
+
+    /* Timing */
+    screen->lcdc_aclk = LCDC_ACLK;
+    screen->pixclock = OUT_CLK;
+       screen->left_margin = H_BP;
+       screen->right_margin = H_FP;
+       screen->hsync_len = H_PW;
+       screen->upper_margin = V_BP;
+       screen->lower_margin = V_FP;
+       screen->vsync_len = V_PW;
+
+       /* Pin polarity */
+       screen->pin_hsync = 0;
+       screen->pin_vsync = 0;
+       screen->pin_den = 0;
+       screen->pin_dclk = DCLK_POL;
+
+       /* Swap rule */
+    screen->swap_rb = SWAP_RB;
+    screen->swap_rg = 0;
+    screen->swap_gb = 0;
+    screen->swap_delta = 0;
+    screen->swap_dumy = 0;
+
+    /* Operation function*/
+    /*screen->init = init;*/
+    screen->init = NULL;
+    screen->standby = NULL;
+    if(lcd_info)
+        gLcd_info = lcd_info;
+}
+