From c81ec285c5dd2b5b2d273090dbbf5bc7fec7f7e7 Mon Sep 17 00:00:00 2001 From: wuhao Date: Wed, 7 Nov 2012 18:16:43 +0800 Subject: [PATCH] revert lcd display of commit cb6f8a8f312c9ee1420a1b1afeb4b550b958f1ac and add lcd_YQ70CPT9160_v86.c for v86 --- arch/arm/configs/rk2926_v86_defconfig | 2 +- drivers/video/display/screen/Kconfig | 4 +- drivers/video/display/screen/Makefile | 1 + .../video/display/screen/lcd_YQ70CPT9160.c | 4 - .../display/screen/lcd_YQ70CPT9160_v86.c | 80 +++++++++++++++++++ 5 files changed, 85 insertions(+), 6 deletions(-) create mode 100644 drivers/video/display/screen/lcd_YQ70CPT9160_v86.c diff --git a/arch/arm/configs/rk2926_v86_defconfig b/arch/arm/configs/rk2926_v86_defconfig index d4d8e96d0648..83cc8a6669aa 100644 --- a/arch/arm/configs/rk2926_v86_defconfig +++ b/arch/arm/configs/rk2926_v86_defconfig @@ -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 diff --git a/drivers/video/display/screen/Kconfig b/drivers/video/display/screen/Kconfig index f4e6c555804f..0e3b0b6f8566 100755 --- a/drivers/video/display/screen/Kconfig +++ b/drivers/video/display/screen/Kconfig @@ -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" diff --git a/drivers/video/display/screen/Makefile b/drivers/video/display/screen/Makefile index 5e25916477c5..5c938df3c816 100755 --- a/drivers/video/display/screen/Makefile +++ b/drivers/video/display/screen/Makefile @@ -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 diff --git a/drivers/video/display/screen/lcd_YQ70CPT9160.c b/drivers/video/display/screen/lcd_YQ70CPT9160.c index 63f80f1aa3ad..ee6191b0c4dc 100644 --- a/drivers/video/display/screen/lcd_YQ70CPT9160.c +++ b/drivers/video/display/screen/lcd_YQ70CPT9160.c @@ -26,11 +26,7 @@ #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 index 000000000000..1e5549dcd501 --- /dev/null +++ b/drivers/video/display/screen/lcd_YQ70CPT9160_v86.c @@ -0,0 +1,80 @@ +/* This Lcd Driver is HSD070IDW1 write by cst 2009.10.27 */ +#include +#include +#include "../../rk29_fb.h" +#include +#include +#include +#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; +} + -- 2.34.1