From 3354abbb0d187e0d3cac2a2813876ef79fab79f0 Mon Sep 17 00:00:00 2001 From: yxj <yxj@rock-chips.com> Date: Mon, 17 Jun 2013 10:39:43 +0800 Subject: [PATCH] screen:modify some screen config file for new screen framework --- drivers/video/rockchip/screen/Kconfig | 91 +++++++++++----- drivers/video/rockchip/screen/lcd_AT070TNA2.c | 80 +++----------- drivers/video/rockchip/screen/lcd_B101AW06.c | 72 +++---------- drivers/video/rockchip/screen/lcd_at070tn93.c | 74 +++---------- .../video/rockchip/screen/lcd_byd1024x600.c | 101 +++--------------- .../video/rockchip/screen/lcd_hh070d_lvds.c | 73 +++---------- drivers/video/rockchip/screen/lcd_hj080na.c | 70 +++--------- drivers/video/rockchip/screen/lcd_hl070vm4.c | 75 ++++--------- .../video/rockchip/screen/lcd_hsd800x480.c | 79 ++++---------- drivers/video/rockchip/screen/lcd_hx8357.c | 77 ++++--------- drivers/video/rockchip/screen/lcd_nt35580.c | 71 ++++-------- .../video/rockchip/screen/lcd_tj048nc01ca.c | 77 ++++--------- drivers/video/rockchip/screen/lcd_tx23d88vm.c | 66 +++--------- .../video/rockchip/screen/lcd_wy_800x480.c | 79 ++++---------- include/linux/rk_screen.h | 6 +- 15 files changed, 291 insertions(+), 800 deletions(-) mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_AT070TNA2.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_B101AW06.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_at070tn93.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_byd1024x600.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_hh070d_lvds.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_hj080na.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_hl070vm4.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_hsd800x480.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_hx8357.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_nt35580.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_tj048nc01ca.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_tx23d88vm.c mode change 100644 => 100755 drivers/video/rockchip/screen/lcd_wy_800x480.c mode change 100644 => 100755 include/linux/rk_screen.h diff --git a/drivers/video/rockchip/screen/Kconfig b/drivers/video/rockchip/screen/Kconfig index 67c03ea6be08..d00e94cc5504 100644 --- a/drivers/video/rockchip/screen/Kconfig +++ b/drivers/video/rockchip/screen/Kconfig @@ -1,90 +1,121 @@ choice depends on FB_ROCKCHIP prompt "LCD Panel Select" + config LCD_NULL bool "NULL" + config LCD_RK2928 bool "RK2928 LCD" depends on MACH_RK2928 + config LCD_LG_LP097X02 bool "RGB LCD_LG_LP097X02 1024X768" + config LCD_TD043MGEA1 bool "RGB TD043MGEA1" + config LCD_HX8357 bool "RGB HX8357" + config LCD_TJ048NC01CA - bool "RGB TJ048NC01CA" + bool "RGB TJ048NC01CA" + config LCD_HL070VM4AU - bool "RGB_HL070VM4AU" + bool "RGB_HL070VM4AU" + config LCD_HSD070IDW1 - bool "RGB Hannstar800x480" + bool "RGB Hannstar800x480" + config LCD_RGB_TFT480800_25_E - bool "RGB TFT480800_25_E" + bool "RGB TFT480800_25_E" + config LCD_HSD100PXN - bool "RGB Hannstar HSD100PXN(1024X768)" + bool "RGB Hannstar HSD100PXN(1024X768)" config LCD_BYD8688FTGF bool "RGB BYD 1024X600 8688FTGF" + config LCD_B101AW06 - bool "RGB Hannstar B101AW06(1024X600)" + bool "RGB Hannstar B101AW06(1024X600)" + config LCD_RGB_TFT480800_25_E - bool "RGB TFT480800_25_E(480X800)" + bool "RGB TFT480800_25_E(480X800)" + config LCD_LS035Y8DX02A - bool "RGB LS035Y8DX02A(480X800)" + bool "RGB LS035Y8DX02A(480X800)" + config LCD_LS035Y8DX04A - bool "RGB LS035Y8DX04A(480X800)" + bool "RGB LS035Y8DX04A(480X800)" + config LCD_HSD100PXN_FOR_TDW851 - bool "RGB Hannstar HSD100PXN(800X480)" + bool "RGB Hannstar HSD100PXN(800X480)" + config LCD_CPTCLAA038LA31XE - bool "RGB LCD_CPTCLAA038LA31XE(480X800)" + bool "RGB LCD_CPTCLAA038LA31XE(480X800)" + config LCD_A060SE02 - bool "MCU A060SE02" + bool "MCU A060SE02" + config LCD_S1D13521 - bool "MCU S1D13521" + bool "MCU S1D13521" + config LCD_NT35582 bool "MCU NT35582" + config LCD_NT35580 bool "MCU NT35580" + config LCD_IPS1P5680_V1_E bool "MCU IPS1P5680_V1_E" + config LCD_MCU_TFT480800_25_E bool "MCU TFT480800_25_E" + config LCD_NT35510 bool "RGB lcd_nt35510" + config LCD_ILI9803_CPT4_3 bool "RGB lcd_ILI9803_CPT4_3" + config LCD_IPS1P5680_V1_E - bool "MCU IPS1P5680_V1_E" + bool "MCU IPS1P5680_V1_E" + config LCD_MCU_TFT480800_25_E - bool "MCU TFT480800_25_E" + bool "MCU TFT480800_25_E" + config LCD_AT070TNA2 bool "RGB AT070TNA2" + config LCD_AT070TN93 bool "RGB AT070TN93" + config LCD_TX23D88VM bool "HITACHI LVDS TX23D88VM (1200x800)" + config LCD_A050VL01 bool "RGB A050VL01" + config LCD_B101EW05 bool "RGB lcd panel B101EW05" + config LCD_RK3168M_B101EW05 - bool "RGB lcd panel LCD_RK3168M_B101EW05" + bool "RGB lcd panel LCD_RK3168M_B101EW05" + config LCD_HJ050NA_06A bool "RGB lcd panel HJ050NA-06A" config LCD_HDMI_1366x768 - depends on MFD_RK610 bool "RK610 LCD_HDMI_1366X768" ---help--- if support RK610, this setting can support dual screen output config LCD_HDMI_1280x800 - depends on MFD_RK610 bool "RGB Hannstar LCD_HDMI_1280X800" ---help--- if support RK610, this setting can support dual screen output + config LCD_HDMI_1024x768 - depends on MFD_RK610 bool "RGB Hannstar LCD_HDMI_1024X768" ---help--- if support RK610, this setting can support dual screen output @@ -94,19 +125,22 @@ config LCD_HSD07PFW1 bool "RGB Hannstar LCD_HDMI_1024X600" config LCD_HDMI_800x480 - depends on MFD_RK610 bool "RGB Hannstar LCD_HDMI_800x480" ---help--- if support RK610, this setting can support dual screen output + config LCD_HV070WSA100 bool "HV070WSA-100 1024X600" + config LCD_COMMON bool "LCD COMMON" + config LCD_RK3168_AUO_A080SN03 bool "RK3168 auo panel 800x480" config LCD_RK2928_A720 bool "RK2928 A720 panel 800x480" + config LCD_RK2926_V86 bool "RK2926 v86 panel 800x480" @@ -120,27 +154,32 @@ config LCD_HJ101NA bool "HJ101NA_4J 1280X800" config LCD_AUTO - bool "auto select lcd" + bool "auto select lcd" config LCD_HSD07PFW1 - depends on MFD_RK610 bool "RGB lcd panel HSD07PFW1" config LCD_I30_800X480 bool "lcd I30" + config LCD_TL5001_MIPI bool "TL5001 720X1280" config LCD_LP097QX1 - bool "Display Port screen LP097QX1" + bool "Display Port screen LP097QX1" + config LCD_DS1006H - bool "Lvds screen for ds1006h(RK3168)" + bool "Lvds screen for ds1006h(RK3168)" + config LCD_B101UANO_1920x1200 - bool "Lvds screen B101UANO for u30gt2" + bool "Lvds screen B101UANO for u30gt2" + config LCD_E242868_1024X600 - bool "RK3168 86v RGB 1024*600 " + bool "RK3168 86v RGB 1024*600 " + config LCD_WY_800X480 bool "lcd for 760" + config LCD_HH070D_LVDS bool "lcd lvds for 760" diff --git a/drivers/video/rockchip/screen/lcd_AT070TNA2.c b/drivers/video/rockchip/screen/lcd_AT070TNA2.c old mode 100644 new mode 100755 index e970453a2aa2..c54d5cd43f3d --- a/drivers/video/rockchip/screen/lcd_AT070TNA2.c +++ b/drivers/video/rockchip/screen/lcd_AT070TNA2.c @@ -1,22 +1,13 @@ -#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" +#ifndef _LCD_AT070TNA2__ +#define _LCD_AT070TNA2__ /* Base */ -#define OUT_TYPE SCREEN_RGB - -#if defined(CONFIG_MACH_RK29SDK)||defined(CONFIG_MACH_RK29FIH) -#define OUT_FACE OUT_D888_P666 -#else +#define SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_D888_P666 -#endif -#define OUT_CLK 58500000 // 65000000 -#define LCDC_ACLK 500000000//312000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 58500000 // 65000000 +#define LCDC_ACLK 500000000//312000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 10 @@ -29,56 +20,17 @@ #define V_VD 600 #define V_FP 18 -#define LCD_WIDTH 202 -#define LCD_HEIGHT 152 +#define LCD_WIDTH 202 +#define LCD_HEIGHT 152 /* Other */ -#define DCLK_POL 0 -#if defined(CONFIG_MACH_RK29SDK)||defined(CONFIG_MACH_RK29FIH) -#define SWAP_RB 0 -#else -#define SWAP_RB 0 -#endif - -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 = NULL; - screen->standby = NULL; -} +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 +#define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 +#endif diff --git a/drivers/video/rockchip/screen/lcd_B101AW06.c b/drivers/video/rockchip/screen/lcd_B101AW06.c old mode 100644 new mode 100755 index e0000cacba2c..f6efa7367fc0 --- a/drivers/video/rockchip/screen/lcd_B101AW06.c +++ b/drivers/video/rockchip/screen/lcd_B101AW06.c @@ -1,17 +1,13 @@ -#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" +#ifndef _LCD_B101AW06__ +#define _LCD_B101AW06__ /* Base */ -#define OUT_TYPE SCREEN_RGB +#define SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_D888_P666 -#define OUT_CLK 45000000 -#define LCDC_ACLK 312000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 45000000 +#define LCDC_ACLK 312000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 10 @@ -24,53 +20,17 @@ #define V_VD 600 #define V_FP 18 -#define LCD_WIDTH 202 -#define LCD_HEIGHT 152 +#define LCD_WIDTH 202 +#define LCD_HEIGHT 152 /* Other */ -#define DCLK_POL 0 -#define SWAP_RB 0 - - -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 = NULL; - screen->standby = NULL; -} +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 +#define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 +#endif diff --git a/drivers/video/rockchip/screen/lcd_at070tn93.c b/drivers/video/rockchip/screen/lcd_at070tn93.c old mode 100644 new mode 100755 index 614f9f79b30b..b4abb6d6f091 --- a/drivers/video/rockchip/screen/lcd_at070tn93.c +++ b/drivers/video/rockchip/screen/lcd_at070tn93.c @@ -1,18 +1,12 @@ -#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" - +#ifndef _LCD_AT070NT_H_ +#define _LCD_AT070NT_H_ /* Base */ -#define OUT_TYPE SCREEN_RGB - +#define SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_P888 -#define OUT_CLK 46800000//33300000//50000000 -#define LCDC_ACLK 500000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 46800000//33300000//50000000 +#define LCDC_ACLK 500000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 10 @@ -25,52 +19,16 @@ #define V_VD 480 #define V_FP 22 -#define LCD_WIDTH 154 -#define LCD_HEIGHT 86 +#define LCD_WIDTH 154 +#define LCD_HEIGHT 86 /* Other */ -#define DCLK_POL 0 -#define SWAP_RB 0 - -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 = NULL; - screen->standby = NULL; -} - +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 +#define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 +#endif diff --git a/drivers/video/rockchip/screen/lcd_byd1024x600.c b/drivers/video/rockchip/screen/lcd_byd1024x600.c old mode 100644 new mode 100755 index d00901890d11..a22055b957b8 --- a/drivers/video/rockchip/screen/lcd_byd1024x600.c +++ b/drivers/video/rockchip/screen/lcd_byd1024x600.c @@ -3,23 +3,15 @@ * written by Michael Lin, 2010-06-18 */ -#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" - +#ifndef _LCD_BYD1024X600__ +#define _LCD_BYD1024X600__ /* Base */ -#define OUT_TYPE SCREEN_RGB +#define SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_P888 -//tcl miaozh modify -//#define OUT_CLK 50000000 -#define OUT_CLK 47000000 -//#define OUT_CLK 42000000 -#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 47000000 +#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 10 @@ -33,79 +25,18 @@ #define V_FP 9 /* Other */ -#define DCLK_POL 0 -#define SWAP_RB 0 - -//tcl miaozh modify -//#define LCD_WIDTH 1024 //need modify -//#define LCD_HEIGHT 600 -#define LCD_WIDTH 153 //need modify -#define LCD_HEIGHT 90 - -static struct rk29lcd_info *gLcd_info = NULL; - -#define DRVDelayUs(i) udelay(i*2) - -static int init(void); -static int standby(u8 enable); +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 -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; +#define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 - /* Operation function*/ - /*screen->init = init;*/ - screen->init = NULL; - screen->standby = standby; -} -static int standby(u8 enable) -{ - printk(KERN_INFO "byd1024x600 lcd standby, enable=%d\n", enable); - if (enable) - { - //rockchip_mux_api_set(LED_CON_IOMUX_PINNAME, LED_CON_IOMUX_PINDIR); - //GPIOSetPinDirection(LED_CON_IOPIN,GPIO_OUT); - //GPIOSetPinLevel(LED_CON_IOPIN,GPIO_HIGH); -// gpio_set_value(LCD_DISP_ON_IOPIN, GPIO_LOW); - } - else - { - //rockchip_mux_api_set(LED_CON_IOMUX_PINNAME, 1); -// gpio_set_value(LCD_DISP_ON_IOPIN, GPIO_HIGH); - } - return 0; -} +#define LCD_WIDTH 153 //need modify +#define LCD_HEIGHT 90 +#endif diff --git a/drivers/video/rockchip/screen/lcd_hh070d_lvds.c b/drivers/video/rockchip/screen/lcd_hh070d_lvds.c old mode 100644 new mode 100755 index 9e8683593751..ca6d6bfb40b2 --- a/drivers/video/rockchip/screen/lcd_hh070d_lvds.c +++ b/drivers/video/rockchip/screen/lcd_hh070d_lvds.c @@ -1,18 +1,13 @@ -#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" +#ifndef _LCD_HH070D__ +#define _LCD_HH070D__ /* Base */ -#define OUT_TYPE SCREEN_LVDS -#define OUT_FORMAT 1//LVDS_8BIT_2 +#define SCREEN_TYPE SCREEN_LVDS +#define LVDS_FORMAT LVDS_8BIT_2 #define OUT_FACE OUT_D888_P666 -#define OUT_CLK 60000000 -#define LCDC_ACLK 300000000//500000000//312000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 60000000 +#define LCDC_ACLK 300000000//500000000//312000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 100 @@ -25,53 +20,17 @@ #define V_VD 600 #define V_FP 150 -#define LCD_WIDTH 202 -#define LCD_HEIGHT 152 +#define LCD_WIDTH 202 +#define LCD_HEIGHT 152 /* Other */ -#define DCLK_POL 1 -#define SWAP_RB 0 - -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; - screen->hw_format = OUT_FORMAT; - - /* 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 = NULL; - screen->standby = NULL; -} +#define DCLK_POL 1 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 +#define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 +#endif diff --git a/drivers/video/rockchip/screen/lcd_hj080na.c b/drivers/video/rockchip/screen/lcd_hj080na.c old mode 100644 new mode 100755 index 329d3307aa73..bd76d2541e21 --- a/drivers/video/rockchip/screen/lcd_hj080na.c +++ b/drivers/video/rockchip/screen/lcd_hj080na.c @@ -1,17 +1,11 @@ -#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" - +#ifndef _LCD_HJ080NA__ +#define _LCD_HJ080NA__ /* Base */ -#define OUT_TYPE SCREEN_RGB +#define SCREEN_TYPE SCREEN_RGB #define LVDS_FORMAT LVDS_8BIT_2 #define OUT_FACE OUT_P888 -#define OUT_CLK 65000000 +#define DCLK 65000000 #define LCDC_ACLK 500000000//312000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ @@ -25,52 +19,16 @@ #define V_VD 768 #define V_FP 15 -#define LCD_WIDTH 216 -#define LCD_HEIGHT 162 +#define LCD_WIDTH 216 +#define LCD_HEIGHT 162 /* Other */ -#define DCLK_POL 0 -#define SWAP_RB 0 - -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 = NULL; - screen->standby = NULL; -} - +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 +#define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 +#endif diff --git a/drivers/video/rockchip/screen/lcd_hl070vm4.c b/drivers/video/rockchip/screen/lcd_hl070vm4.c old mode 100644 new mode 100755 index 6c2953395517..a0247ee5c93e --- a/drivers/video/rockchip/screen/lcd_hl070vm4.c +++ b/drivers/video/rockchip/screen/lcd_hl070vm4.c @@ -1,15 +1,17 @@ - +#ifndef _LCD_HL070VM_ +#define _LCD_HL070VM_ #include <linux/delay.h> #include <mach/gpio.h> #include <mach/iomux.h> #include <mach/board.h> -#include <linux/rk_fb.h> + /* Base */ -#define OUT_TYPE SCREEN_RGB +#define SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_P888 -#define OUT_CLK 27000000 +#define DCLK 27000000 #define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ @@ -28,8 +30,14 @@ #define LCD_HEIGHT 480 /* Other */ -#define DCLK_POL 1 ///0 +#define DCLK_POL 1 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 + #define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 #define TXD_PORT gLcd_info->txd_pin #define CLK_PORT gLcd_info->clk_pin @@ -48,52 +56,9 @@ static struct rk29lcd_info *gLcd_info = NULL; #define DRVDelayUs(i) udelay(i*2) - -int init(void); -int standby(u8 enable); - -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->standby = standby; - if(lcd_info) - gLcd_info = lcd_info; -} +#define RK_SCREEN_INIT +int rk_lcd_init(void); +int rk_lcd_standby(u8 enable); //void spi_screenreg_set(uint32 Addr, uint32 Data) @@ -167,7 +132,7 @@ void spi_screenreg_set(u32 Data) } -int init(void) +int rk_lcd_init(void) { if(gLcd_info) gLcd_info->io_init(); @@ -190,12 +155,12 @@ r5 01100001 11001110 return 0; } -int standby(u8 enable) +int rk_lcd_standby(u8 enable) { if(gLcd_info) gLcd_info->io_init(); if(!enable) { - init(); + rk_lcd_init(); } //else { // spi_screenreg_set(0x03, 0x5f); // } @@ -203,4 +168,4 @@ int standby(u8 enable) gLcd_info->io_deinit(); return 0; } - +#endif diff --git a/drivers/video/rockchip/screen/lcd_hsd800x480.c b/drivers/video/rockchip/screen/lcd_hsd800x480.c old mode 100644 new mode 100755 index b55cd3fb707e..d08ddf710673 --- a/drivers/video/rockchip/screen/lcd_hsd800x480.c +++ b/drivers/video/rockchip/screen/lcd_hsd800x480.c @@ -1,18 +1,17 @@ -/* This Lcd Driver is HSD070IDW1 write by cst 2009.10.27 */ -#include <linux/fb.h> +#ifndef __LCD_HSD800X480__ +#define __LCD_HSD800X480__ #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 SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_P888 -#define OUT_CLK 33000000 -#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 33000000 +#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 8 //10 @@ -26,8 +25,15 @@ #define V_FP 32 //18 /* Other */ -#define DCLK_POL 0 +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 + #define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 + #define LCD_WIDTH 154 //need modify #define LCD_HEIGHT 85 @@ -49,54 +55,9 @@ static struct rk29lcd_info *gLcd_info = NULL; #define DRVDelayUs(i) udelay(i*2) - -int init(void); -int standby(u8 enable); - -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 = standby; - if(lcd_info) - gLcd_info = lcd_info; -} -//cannot need init,so set screen->init = null at rk29_fb.c file +#define RK_SCREEN_INIT +int rk_lcd_init(void); +int rk_lcd_standby(u8 enable); void spi_screenreg_set(u32 Addr, u32 Data) { @@ -167,7 +128,7 @@ void spi_screenreg_set(u32 Addr, u32 Data) } -int init(void) +int rk_lcd_init(void) { if(gLcd_info) gLcd_info->io_init(); @@ -213,7 +174,7 @@ int init(void) return 0; } -int standby(u8 enable) +int rk_lcd_standby(u8 enable) { #if 1 if(gLcd_info) @@ -243,4 +204,4 @@ int standby(u8 enable) #endif return 0; } - +#endif diff --git a/drivers/video/rockchip/screen/lcd_hx8357.c b/drivers/video/rockchip/screen/lcd_hx8357.c old mode 100644 new mode 100755 index 463ae0b5552a..2b3dc19683a6 --- a/drivers/video/rockchip/screen/lcd_hx8357.c +++ b/drivers/video/rockchip/screen/lcd_hx8357.c @@ -1,17 +1,19 @@ -#include <linux/fb.h> +#ifndef _LCD_HX8357_H_ +#define _LCD_HX8357_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 SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_P666 /*OUT_P888*/ -#define OUT_CLK 10000000 //***27 -#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 10000000 //***27 +#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 8 @@ -28,12 +30,19 @@ #define LCD_HEIGHT 480 /* Other */ -#define DCLK_POL 0 +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 + #define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 + static struct rk29lcd_info *gLcd_info = NULL; -int init(void); -int standby(u8 enable); +int rk_lcd_init(void); +int rk_lcd_standby(u8 enable); #define TXD_PORT gLcd_info->txd_pin @@ -165,51 +174,9 @@ void spi_screenreg_set(u32 Addr, u32 Data) DRVDelayUs(2); } -void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info ) -{ - //printk("lcd_hx8357 set_lcd_info \n"); - /* 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; /*>2*/ - screen->right_margin = H_FP; /*>2*/ - screen->hsync_len = H_PW; /*>2*/ //***all > 326, 4<PW+BP<15, - screen->upper_margin = V_BP; /*>2*/ - screen->lower_margin = V_FP; /*>2*/ - screen->vsync_len = V_PW; /*>6*/ - - /* 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->standby = standby; - if(lcd_info) - gLcd_info = lcd_info; -} -int init(void) + +int rk_lcd_init(void) { if(gLcd_info) @@ -345,7 +312,7 @@ int init(void) return 0; } -int standby(u8 enable) //***enable =1 means suspend, 0 means resume +int rk_lcd_standby(u8 enable) //***enable =1 means suspend, 0 means resume { if(gLcd_info) @@ -398,4 +365,4 @@ int standby(u8 enable) //***enable =1 means suspend, 0 means resume gLcd_info->io_deinit(); return 0; } - +#endif diff --git a/drivers/video/rockchip/screen/lcd_nt35580.c b/drivers/video/rockchip/screen/lcd_nt35580.c old mode 100644 new mode 100755 index 8fb8b8350f36..fb9874af7fbb --- a/drivers/video/rockchip/screen/lcd_nt35580.c +++ b/drivers/video/rockchip/screen/lcd_nt35580.c @@ -1,17 +1,18 @@ -#include <linux/fb.h> + +#ifndef __LCD_NT35580_H__ +#define __LCD_NT35580_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 SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_P888 -#define OUT_CLK 24000000 -#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 24000000 +#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 1 @@ -28,8 +29,15 @@ #define LCD_HEIGHT 800 /* Other */ -#define DCLK_POL 0 +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 + #define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 + #define TXD_PORT gLcd_info->txd_pin #define CLK_PORT gLcd_info->clk_pin @@ -304,7 +312,7 @@ void spi_screenreg_set(u32 Addr, u32 Data) -int lcd_init(void) +int rk_lcd_init(void) { #if 0 @@ -420,53 +428,10 @@ int lcd_init(void) } -int lcd_standby(u8 enable) +int rk_lcd_standby(u8 enable) { return 0; } -void set_lcd_info(struct rk29fb_screen *screen, struct rk2918lcd_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 = lcd_init; - screen->standby = lcd_standby; - if(lcd_info) - gLcd_info = lcd_info; -} - - +#endif diff --git a/drivers/video/rockchip/screen/lcd_tj048nc01ca.c b/drivers/video/rockchip/screen/lcd_tj048nc01ca.c old mode 100644 new mode 100755 index 1799321e0845..e93a083899cb --- a/drivers/video/rockchip/screen/lcd_tj048nc01ca.c +++ b/drivers/video/rockchip/screen/lcd_tj048nc01ca.c @@ -1,17 +1,15 @@ -#include <linux/fb.h> -#include <linux/delay.h> -#include "../../rk29_fb.h" +#ifndef LCD_TJ048NC01CA_H_ +#define LCD_TJ048NC01CA_H_ #include <mach/gpio.h> #include <mach/iomux.h> -#include <mach/board.h> -#include "screen.h" - +#include <linux/delay.h> /* Base */ -#define OUT_TYPE SCREEN_RGB +#define SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_P888 -#define OUT_CLK 23000000 -#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ +#define DCLK 23000000 +#define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ #define H_PW 1 @@ -29,7 +27,14 @@ /* Other */ #define DCLK_POL 1 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 + #define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 + #define TXD_PORT gLcd_info->txd_pin #define CLK_PORT gLcd_info->clk_pin @@ -48,51 +53,9 @@ #define DRVDelayUs(i) udelay(i*2) static struct rk29lcd_info *gLcd_info = NULL; -int lcd_init(void); -int lcd_standby(u8 enable); - -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 = lcd_init; - screen->standby = lcd_standby; - if(lcd_info) - gLcd_info = lcd_info; -} +#define RK_SCREEN_INIT +int rk_lcd_init(void); +int rk_lcd_standby(u8 enable); void spi_screenreg_set(u32 Addr, u32 Data) { @@ -154,7 +117,7 @@ void spi_screenreg_set(u32 Addr, u32 Data) } -int lcd_init(void) +int rk_lcd_init(void) { if(gLcd_info) gLcd_info->io_init(); @@ -193,7 +156,7 @@ int lcd_init(void) return 0; } -int lcd_standby(u8 enable) +int rk_lcd_standby(u8 enable) { if(gLcd_info) gLcd_info->io_init(); @@ -206,5 +169,5 @@ int lcd_standby(u8 enable) gLcd_info->io_deinit(); return 0; } - +#endif diff --git a/drivers/video/rockchip/screen/lcd_tx23d88vm.c b/drivers/video/rockchip/screen/lcd_tx23d88vm.c old mode 100644 new mode 100755 index d0fce5c9886c..edb1f435b7fe --- a/drivers/video/rockchip/screen/lcd_tx23d88vm.c +++ b/drivers/video/rockchip/screen/lcd_tx23d88vm.c @@ -1,20 +1,12 @@ -#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" +#ifndef _LCD_TX23D88VM_H_ +#define _LCD_TX23D88VM_H_ /* Base */ -#define OUT_TYPE SCREEN_RGB - +#define SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_D888_P666 -//#define OUT_FACE OUT_P888//modify by xhh - - -#define OUT_CLK 66000000//64000000 +#define DCLK 66000000//64000000 #define LCDC_ACLK 500000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ @@ -32,47 +24,13 @@ #define LCD_HEIGHT 125 /* Other */ #define DCLK_POL 0 -//#define DCLK_POL 1//xhh -#define SWAP_RB 0 - +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 -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; +#define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 - /* 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 = NULL; - screen->standby = NULL; -} +#endif diff --git a/drivers/video/rockchip/screen/lcd_wy_800x480.c b/drivers/video/rockchip/screen/lcd_wy_800x480.c old mode 100644 new mode 100755 index 5be80d6c5d5a..923685866fa5 --- a/drivers/video/rockchip/screen/lcd_wy_800x480.c +++ b/drivers/video/rockchip/screen/lcd_wy_800x480.c @@ -1,18 +1,20 @@ -#include <linux/fb.h> + +#ifndef _LCD_WY__ +#define _LCD_WY__ + #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 LCD_WIDTH 154 //need modify #define LCD_HEIGHT 85 -#define OUT_TYPE SCREEN_RGB +#define SCREEN_TYPE SCREEN_RGB +#define LVDS_FORMAT LVDS_8BIT_1 #define OUT_FACE OUT_P666 -#define OUT_CLK 33000000 +#define DCLK 33000000 #define LCDC_ACLK 150000000 //29 lcdc axi DMA ƵÂÊ /* Timing */ @@ -27,12 +29,18 @@ #define V_FP 22 /* Other */ -#define DCLK_POL 0 -#define SWAP_RB 0 +#define DCLK_POL 0 +#define DEN_POL 0 +#define VSYNC_POL 0 +#define HSYNC_POL 0 -static struct rk29lcd_info *gLcd_info = NULL; +#define SWAP_RB 0 +#define SWAP_RG 0 +#define SWAP_GB 0 -static int init(void) +static struct rk29lcd_info *gLcd_info = NULL; +#define RK_SCREEN_INIT +static int rk_lcd_init(void) { int ret = 0; @@ -42,7 +50,7 @@ static int init(void) return 0; } -static int standby(u8 enable) +static int rk_lcd_standby(u8 enable) { if(!enable) { @@ -57,53 +65,4 @@ static int standby(u8 enable) return 0; } -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->standby = standby; - if(lcd_info) - { - gLcd_info = lcd_info; - } - else - { - printk("%s lcd_info==NULL\n", __func__); - } - -} - +#endif diff --git a/include/linux/rk_screen.h b/include/linux/rk_screen.h old mode 100644 new mode 100755 index 7fbc5bccf653..54320f249960 --- a/include/linux/rk_screen.h +++ b/include/linux/rk_screen.h @@ -211,13 +211,9 @@ struct rk29fb_info { void (*set_screen_info)(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info ); }; -#ifndef CONFIG_DISPLAY_SUPPORT -static inline void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info) {} -static inline size_t get_fb_size(void) { return 0;} -#else extern void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info); extern size_t get_fb_size(void); -#endif + extern void set_tv_info(struct rk29fb_screen *screen); extern void set_hdmi_info(struct rk29fb_screen *screen); -- 2.34.1