mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
add lcd support for K97
This commit is contained in:
@@ -1761,13 +1761,14 @@ CONFIG_DISPLAY_SUPPORT=y
|
||||
# Display hardware drivers
|
||||
#
|
||||
# CONFIG_LCD_NULL is not set
|
||||
CONFIG_LCD_LG_LP097X02=y
|
||||
# CONFIG_LCD_TD043MGEA1 is not set
|
||||
# CONFIG_LCD_HX8357 is not set
|
||||
# CONFIG_LCD_TJ048NC01CA is not set
|
||||
# CONFIG_LCD_HL070VM4AU is not set
|
||||
# CONFIG_LCD_HSD070IDW1 is not set
|
||||
# CONFIG_LCD_RGB_TFT480800_25_E is not set
|
||||
CONFIG_LCD_HSD100PXN=y
|
||||
# CONFIG_LCD_HSD100PXN is not set
|
||||
# CONFIG_LCD_HSD07PFW1 is not set
|
||||
# CONFIG_LCD_BYD8688FTGF is not set
|
||||
# CONFIG_LCD_B101AW06 is not set
|
||||
|
||||
@@ -3,6 +3,8 @@ choice
|
||||
prompt "LCD Panel Select"
|
||||
config LCD_NULL
|
||||
bool "NULL"
|
||||
config LCD_LG_LP097X02
|
||||
bool "RGB LCD_LG_LP097X02 1024X768"
|
||||
config LCD_TD043MGEA1
|
||||
bool "RGB TD043MGEA1"
|
||||
config LCD_HX8357
|
||||
|
||||
@@ -5,6 +5,7 @@ obj-$(CONFIG_LCD_TD043MGEA1) += lcd_td043mgea1.o
|
||||
obj-$(CONFIG_LCD_HSD070IDW1) += lcd_hsd800x480.o
|
||||
obj-$(CONFIG_LCD_HL070VM4AU) += lcd_hl070vm4.o
|
||||
obj-$(CONFIG_LCD_BYD8688FTGF) += lcd_byd1024x600.o
|
||||
obj-$(CONFIG_LCD_LG_LP097X02)+= lcd_LG_LP097X02.o
|
||||
obj-$(CONFIG_LCD_TJ048NC01CA) += lcd_tj048nc01ca.o
|
||||
|
||||
obj-$(CONFIG_LCD_A060SE02) += lcd_a060se02.o
|
||||
|
||||
72
drivers/video/display/screen/lcd_LG_LP097X02.c
Executable file
72
drivers/video/display/screen/lcd_LG_LP097X02.c
Executable file
@@ -0,0 +1,72 @@
|
||||
#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_D888_P666
|
||||
#define OUT_CLK 100000000
|
||||
#define LCDC_ACLK 500000000
|
||||
/* Timing */
|
||||
#define H_PW 320
|
||||
#define H_BP 480
|
||||
#define H_VD 1024
|
||||
#define H_FP 260
|
||||
|
||||
#define V_PW 10
|
||||
#define V_BP 6
|
||||
#define V_VD 768
|
||||
#define V_FP 16
|
||||
|
||||
#define LCD_WIDTH 196// 142 // 202
|
||||
#define LCD_HEIGHT 147 //106// 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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user