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
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"
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"
-#include <linux/fb.h>\r
-#include <linux/delay.h>\r
-#include "../../rk29_fb.h"\r
-#include <mach/gpio.h>\r
-#include <mach/iomux.h>\r
-#include <mach/board.h>\r
-#include "screen.h"\r
\r
+#ifndef _LCD_AT070TNA2__\r
+#define _LCD_AT070TNA2__\r
\r
/* Base */\r
-#define OUT_TYPE SCREEN_RGB\r
-\r
-#if defined(CONFIG_MACH_RK29SDK)||defined(CONFIG_MACH_RK29FIH)\r
-#define OUT_FACE OUT_D888_P666\r
-#else\r
+#define SCREEN_TYPE SCREEN_RGB\r
+#define LVDS_FORMAT LVDS_8BIT_1\r
#define OUT_FACE OUT_D888_P666 \r
-#endif\r
-#define OUT_CLK 58500000 // 65000000\r
-#define LCDC_ACLK 500000000//312000000 //29 lcdc axi DMA ƵÂÊ\r
+#define DCLK 58500000 // 65000000\r
+#define LCDC_ACLK 500000000//312000000 //29 lcdc axi DMA ƵÂÊ\r
\r
/* Timing */\r
#define H_PW 10\r
#define V_VD 600\r
#define V_FP 18\r
\r
-#define LCD_WIDTH 202\r
-#define LCD_HEIGHT 152\r
+#define LCD_WIDTH 202\r
+#define LCD_HEIGHT 152\r
/* Other */\r
-#define DCLK_POL 0\r
-#if defined(CONFIG_MACH_RK29SDK)||defined(CONFIG_MACH_RK29FIH)\r
-#define SWAP_RB 0\r
-#else\r
-#define SWAP_RB 0 \r
-#endif\r
-\r
-void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
-{\r
- /* screen type & face */\r
- screen->type = OUT_TYPE;\r
- screen->face = OUT_FACE;\r
-\r
- /* Screen size */\r
- screen->x_res = H_VD;\r
- screen->y_res = V_VD;\r
-\r
- screen->width = LCD_WIDTH;\r
- screen->height = LCD_HEIGHT;\r
-\r
- /* Timing */\r
- screen->lcdc_aclk = LCDC_ACLK;\r
- screen->pixclock = OUT_CLK;\r
- screen->left_margin = H_BP;\r
- screen->right_margin = H_FP;\r
- screen->hsync_len = H_PW;\r
- screen->upper_margin = V_BP;\r
- screen->lower_margin = V_FP;\r
- screen->vsync_len = V_PW;\r
-\r
- /* Pin polarity */\r
- screen->pin_hsync = 0;\r
- screen->pin_vsync = 0;\r
- screen->pin_den = 0;\r
- screen->pin_dclk = DCLK_POL;\r
-\r
- /* Swap rule */\r
- screen->swap_rb = SWAP_RB;\r
- screen->swap_rg = 0;\r
- screen->swap_gb = 0;\r
- screen->swap_delta = 0;\r
- screen->swap_dumy = 0;\r
-\r
- /* Operation function*/\r
- screen->init = NULL;\r
- screen->standby = NULL;\r
-}\r
+#define DCLK_POL 0\r
+#define DEN_POL 0\r
+#define VSYNC_POL 0\r
+#define HSYNC_POL 0\r
\r
+#define SWAP_RB 0\r
+#define SWAP_RG 0\r
+#define SWAP_GB 0 \r
\r
\r
+#endif\r
-#include <linux/fb.h>\r
-#include <linux/delay.h>\r
-#include "../../rk29_fb.h"\r
-#include <mach/gpio.h>\r
-#include <mach/iomux.h>\r
-#include <mach/board.h>\r
-#include "screen.h"\r
+#ifndef _LCD_B101AW06__\r
+#define _LCD_B101AW06__\r
\r
\r
/* Base */\r
-#define OUT_TYPE SCREEN_RGB\r
+#define SCREEN_TYPE SCREEN_RGB\r
+#define LVDS_FORMAT LVDS_8BIT_1\r
#define OUT_FACE OUT_D888_P666\r
-#define OUT_CLK 45000000\r
-#define LCDC_ACLK 312000000 //29 lcdc axi DMA ƵÂÊ\r
+#define DCLK 45000000\r
+#define LCDC_ACLK 312000000 //29 lcdc axi DMA ƵÂÊ\r
\r
/* Timing */\r
#define H_PW 10\r
#define V_VD 600\r
#define V_FP 18\r
\r
-#define LCD_WIDTH 202\r
-#define LCD_HEIGHT 152\r
+#define LCD_WIDTH 202\r
+#define LCD_HEIGHT 152\r
/* Other */\r
-#define DCLK_POL 0\r
-#define SWAP_RB 0\r
-\r
-\r
-void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
-{\r
- /* screen type & face */\r
- screen->type = OUT_TYPE;\r
- screen->face = OUT_FACE;\r
-\r
- /* Screen size */\r
- screen->x_res = H_VD;\r
- screen->y_res = V_VD;\r
-\r
- screen->width = LCD_WIDTH;\r
- screen->height = LCD_HEIGHT;\r
-\r
- /* Timing */\r
- screen->lcdc_aclk = LCDC_ACLK;\r
- screen->pixclock = OUT_CLK;\r
- screen->left_margin = H_BP;\r
- screen->right_margin = H_FP;\r
- screen->hsync_len = H_PW;\r
- screen->upper_margin = V_BP;\r
- screen->lower_margin = V_FP;\r
- screen->vsync_len = V_PW;\r
-\r
- /* Pin polarity */\r
- screen->pin_hsync = 0;\r
- screen->pin_vsync = 0;\r
- screen->pin_den = 0;\r
- screen->pin_dclk = DCLK_POL;\r
-\r
- /* Swap rule */\r
- screen->swap_rb = SWAP_RB;\r
- screen->swap_rg = 0;\r
- screen->swap_gb = 0;\r
- screen->swap_delta = 0;\r
- screen->swap_dumy = 0;\r
-\r
- /* Operation function*/\r
- screen->init = NULL;\r
- screen->standby = NULL;\r
-}\r
+#define DCLK_POL 0\r
+#define DEN_POL 0\r
+#define VSYNC_POL 0\r
+#define HSYNC_POL 0\r
\r
+#define SWAP_RB 0\r
+#define SWAP_RG 0\r
+#define SWAP_GB 0 \r
\r
\r
+#endif\r
-#include <linux/fb.h>\r
-#include <linux/delay.h>\r
-#include "../../rk29_fb.h"\r
-#include <mach/gpio.h>\r
-#include <mach/iomux.h>\r
-#include <mach/board.h>\r
-#include "screen.h"\r
-\r
+#ifndef _LCD_AT070NT_H_\r
+#define _LCD_AT070NT_H_\r
\r
/* Base */\r
-#define OUT_TYPE SCREEN_RGB\r
-\r
+#define SCREEN_TYPE SCREEN_RGB\r
+#define LVDS_FORMAT LVDS_8BIT_1\r
#define OUT_FACE OUT_P888 \r
-#define OUT_CLK 46800000//33300000//50000000\r
-#define LCDC_ACLK 500000000 //29 lcdc axi DMA ƵÂÊ\r
+#define DCLK 46800000//33300000//50000000\r
+#define LCDC_ACLK 500000000 //29 lcdc axi DMA ƵÂÊ\r
\r
/* Timing */\r
#define H_PW 10\r
#define V_VD 480\r
#define V_FP 22\r
\r
-#define LCD_WIDTH 154\r
-#define LCD_HEIGHT 86\r
+#define LCD_WIDTH 154\r
+#define LCD_HEIGHT 86\r
/* Other */\r
-#define DCLK_POL 0\r
-#define SWAP_RB 0 \r
-\r
-void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
-{\r
- /* screen type & face */\r
- screen->type = OUT_TYPE;\r
- screen->face = OUT_FACE;\r
-\r
- /* Screen size */\r
- screen->x_res = H_VD;\r
- screen->y_res = V_VD;\r
-\r
- screen->width = LCD_WIDTH;\r
- screen->height = LCD_HEIGHT;\r
-\r
- /* Timing */\r
- screen->lcdc_aclk = LCDC_ACLK;\r
- screen->pixclock = OUT_CLK;\r
- screen->left_margin = H_BP;\r
- screen->right_margin = H_FP;\r
- screen->hsync_len = H_PW;\r
- screen->upper_margin = V_BP;\r
- screen->lower_margin = V_FP;\r
- screen->vsync_len = V_PW;\r
-\r
- /* Pin polarity */\r
- screen->pin_hsync = 0;\r
- screen->pin_vsync = 0;\r
- screen->pin_den = 0;\r
- screen->pin_dclk = DCLK_POL;\r
-\r
- /* Swap rule */\r
- screen->swap_rb = SWAP_RB;\r
- screen->swap_rg = 0;\r
- screen->swap_gb = 0;\r
- screen->swap_delta = 0;\r
- screen->swap_dumy = 0;\r
-\r
- /* Operation function*/\r
- screen->init = NULL;\r
- screen->standby = NULL;\r
-}\r
-\r
+#define DCLK_POL 0\r
+#define DEN_POL 0\r
+#define VSYNC_POL 0\r
+#define HSYNC_POL 0\r
\r
+#define SWAP_RB 0\r
+#define SWAP_RG 0\r
+#define SWAP_GB 0\r
\r
+#endif\r
* 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
#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
-#include <linux/fb.h>\r
-#include <linux/delay.h>\r
-#include "../../rk29_fb.h"\r
-#include <mach/gpio.h>\r
-#include <mach/iomux.h>\r
-#include <mach/board.h>\r
-#include "screen.h"\r
\r
+#ifndef _LCD_HH070D__\r
+#define _LCD_HH070D__\r
/* Base */\r
-#define OUT_TYPE SCREEN_LVDS\r
-#define OUT_FORMAT 1//LVDS_8BIT_2\r
+#define SCREEN_TYPE SCREEN_LVDS\r
+#define LVDS_FORMAT LVDS_8BIT_2\r
\r
#define OUT_FACE OUT_D888_P666\r
-#define OUT_CLK 60000000\r
-#define LCDC_ACLK 300000000//500000000//312000000 //29 lcdc axi DMA ƵÂÊ\r
+#define DCLK 60000000\r
+#define LCDC_ACLK 300000000//500000000//312000000 //29 lcdc axi DMA ƵÂÊ\r
\r
/* Timing */\r
#define H_PW 100\r
#define V_VD 600\r
#define V_FP 150\r
\r
-#define LCD_WIDTH 202\r
-#define LCD_HEIGHT 152\r
+#define LCD_WIDTH 202\r
+#define LCD_HEIGHT 152\r
/* Other */\r
-#define DCLK_POL 1\r
-#define SWAP_RB 0 \r
-\r
-void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
-{\r
- /* screen type & face */\r
- screen->type = OUT_TYPE;\r
- screen->face = OUT_FACE;\r
-\r
- /* Screen size */\r
- screen->x_res = H_VD;\r
- screen->y_res = V_VD;\r
-\r
- screen->width = LCD_WIDTH;\r
- screen->height = LCD_HEIGHT;\r
- screen->hw_format = OUT_FORMAT;\r
-\r
- /* Timing */\r
- screen->lcdc_aclk = LCDC_ACLK;\r
- screen->pixclock = OUT_CLK;\r
- screen->left_margin = H_BP;\r
- screen->right_margin = H_FP;\r
- screen->hsync_len = H_PW;\r
- screen->upper_margin = V_BP;\r
- screen->lower_margin = V_FP;\r
- screen->vsync_len = V_PW;\r
-\r
- /* Pin polarity */\r
- screen->pin_hsync = 0;\r
- screen->pin_vsync = 0;\r
- screen->pin_den = 0;\r
- screen->pin_dclk = DCLK_POL;\r
-\r
- /* Swap rule */\r
- screen->swap_rb = SWAP_RB;\r
- screen->swap_rg = 0;\r
- screen->swap_gb = 0;\r
- screen->swap_delta = 0;\r
- screen->swap_dumy = 0;\r
-\r
- /* Operation function*/\r
- screen->init = NULL;\r
- screen->standby = NULL;\r
-}\r
+#define DCLK_POL 1\r
+#define DEN_POL 0\r
+#define VSYNC_POL 0\r
+#define HSYNC_POL 0\r
\r
+#define SWAP_RB 0\r
+#define SWAP_RG 0\r
+#define SWAP_GB 0 \r
\r
+#endif\r
\r
-#include <linux/fb.h>\r
-#include <linux/delay.h>\r
-#include "../../rk29_fb.h"\r
-#include <mach/gpio.h>\r
-#include <mach/iomux.h>\r
-#include <mach/board.h>\r
-#include "screen.h"\r
-\r
+#ifndef _LCD_HJ080NA__\r
+#define _LCD_HJ080NA__\r
\r
/* Base */\r
-#define OUT_TYPE SCREEN_RGB\r
+#define SCREEN_TYPE SCREEN_RGB\r
#define LVDS_FORMAT LVDS_8BIT_2\r
#define OUT_FACE OUT_P888\r
-#define OUT_CLK 65000000\r
+#define DCLK 65000000\r
#define LCDC_ACLK 500000000//312000000 //29 lcdc axi DMA ƵÂÊ\r
\r
/* Timing */\r
#define V_VD 768\r
#define V_FP 15\r
\r
-#define LCD_WIDTH 216\r
-#define LCD_HEIGHT 162\r
+#define LCD_WIDTH 216\r
+#define LCD_HEIGHT 162\r
/* Other */\r
-#define DCLK_POL 0\r
-#define SWAP_RB 0 \r
-\r
-void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
-{\r
- /* screen type & face */\r
- screen->type = OUT_TYPE;\r
- screen->face = OUT_FACE;\r
-\r
- /* Screen size */\r
- screen->x_res = H_VD;\r
- screen->y_res = V_VD;\r
-\r
- screen->width = LCD_WIDTH;\r
- screen->height = LCD_HEIGHT;\r
-\r
- /* Timing */\r
- screen->lcdc_aclk = LCDC_ACLK;\r
- screen->pixclock = OUT_CLK;\r
- screen->left_margin = H_BP;\r
- screen->right_margin = H_FP;\r
- screen->hsync_len = H_PW;\r
- screen->upper_margin = V_BP;\r
- screen->lower_margin = V_FP;\r
- screen->vsync_len = V_PW;\r
-\r
- /* Pin polarity */\r
- screen->pin_hsync = 0;\r
- screen->pin_vsync = 0;\r
- screen->pin_den = 0;\r
- screen->pin_dclk = DCLK_POL;\r
-\r
- /* Swap rule */\r
- screen->swap_rb = SWAP_RB;\r
- screen->swap_rg = 0;\r
- screen->swap_gb = 0;\r
- screen->swap_delta = 0;\r
- screen->swap_dumy = 0;\r
-\r
- /* Operation function*/\r
- screen->init = NULL;\r
- screen->standby = NULL;\r
-}\r
-\r
+#define DCLK_POL 0\r
+#define DEN_POL 0\r
+#define VSYNC_POL 0\r
+#define HSYNC_POL 0\r
\r
+#define SWAP_RB 0\r
+#define SWAP_RG 0\r
+#define SWAP_GB 0 \r
\r
+#endif\r
-
+#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 */
#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
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)
}
-int init(void)
+int rk_lcd_init(void)
{
if(gLcd_info)
gLcd_info->io_init();
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);
// }
gLcd_info->io_deinit();
return 0;
}
-
+#endif
-/* 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
#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
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)
{
}
-int init(void)
+int rk_lcd_init(void)
{
if(gLcd_info)
gLcd_info->io_init();
return 0;
}
-int standby(u8 enable)
+int rk_lcd_standby(u8 enable)
{
#if 1
if(gLcd_info)
#endif
return 0;
}
-
+#endif
-#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
#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
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)
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)
gLcd_info->io_deinit();
return 0;
}
-
+#endif
-#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
#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
-int lcd_init(void)
+int rk_lcd_init(void)
{
#if 0
}
-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
-#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
/* 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
#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)
{
}
-int lcd_init(void)
+int rk_lcd_init(void)
{
if(gLcd_info)
gLcd_info->io_init();
return 0;
}
-int lcd_standby(u8 enable)
+int rk_lcd_standby(u8 enable)
{
if(gLcd_info)
gLcd_info->io_init();
gLcd_info->io_deinit();
return 0;
}
-
+#endif
-#include <linux/fb.h>\r
-#include <linux/delay.h>\r
-#include "../../rk29_fb.h"\r
-#include <mach/gpio.h>\r
-#include <mach/iomux.h>\r
-#include <mach/board.h>\r
-#include "screen.h"\r
+#ifndef _LCD_TX23D88VM_H_\r
+#define _LCD_TX23D88VM_H_\r
\r
\r
/* Base */\r
-#define OUT_TYPE SCREEN_RGB\r
-\r
+#define SCREEN_TYPE SCREEN_RGB\r
+#define LVDS_FORMAT LVDS_8BIT_1\r
#define OUT_FACE OUT_D888_P666\r
-//#define OUT_FACE OUT_P888//modify by xhh\r
-\r
-\r
-#define OUT_CLK 66000000//64000000\r
+#define DCLK 66000000//64000000\r
#define LCDC_ACLK 500000000 //29 lcdc axi DMA ƵÂÊ\r
\r
/* Timing */\r
#define LCD_HEIGHT 125\r
/* Other */\r
#define DCLK_POL 0\r
-//#define DCLK_POL 1//xhh\r
-#define SWAP_RB 0\r
-\r
+#define DEN_POL 0\r
+#define VSYNC_POL 0\r
+#define HSYNC_POL 0\r
\r
-void set_lcd_info(struct rk29fb_screen *screen, struct rk29lcd_info *lcd_info )\r
-{\r
- /* screen type & face */\r
- screen->type = OUT_TYPE;\r
- screen->face = OUT_FACE;\r
-\r
- /* Screen size */\r
- screen->x_res = H_VD;\r
- screen->y_res = V_VD;\r
-\r
- screen->width = LCD_WIDTH;\r
- screen->height = LCD_HEIGHT;\r
-\r
- /* Timing */\r
- screen->lcdc_aclk = LCDC_ACLK;\r
- screen->pixclock = OUT_CLK;\r
- screen->left_margin = H_BP;\r
- screen->right_margin = H_FP;\r
- screen->hsync_len = H_PW;\r
- screen->upper_margin = V_BP;\r
- screen->lower_margin = V_FP;\r
- screen->vsync_len = V_PW;\r
-\r
- /* Pin polarity */\r
- screen->pin_hsync = 0;\r
- screen->pin_vsync = 0;\r
- screen->pin_den = 0;\r
- screen->pin_dclk = DCLK_POL;\r
+#define SWAP_RB 0\r
+#define SWAP_RG 0\r
+#define SWAP_GB 0\r
\r
- /* Swap rule */\r
- screen->swap_rb = SWAP_RB;\r
- screen->swap_rg = 0;\r
- screen->swap_gb = 0;\r
- screen->swap_delta = 0;\r
- screen->swap_dumy = 0;\r
\r
- /* Operation function*/\r
- screen->init = NULL;\r
- screen->standby = NULL;\r
-}\r
+#endif\r
-#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 */
#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;
return 0;
}
-static int standby(u8 enable)
+static int rk_lcd_standby(u8 enable)
{
if(!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
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);