mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-10 04:48:04 +09:00
phonepad:add lcd_hj080na driver
This commit is contained in:
2
drivers/video/display/screen/Kconfig
Normal file → Executable file
2
drivers/video/display/screen/Kconfig
Normal file → Executable file
@@ -94,6 +94,8 @@ config LCD_COMMON
|
||||
bool "LCD COMMON"
|
||||
config LCD_RK2928_A720
|
||||
bool "RK2928 A720 panel 800x480"
|
||||
config LCD_HJ080NA
|
||||
bool "HJ080NA_4J 1024X768"
|
||||
|
||||
endchoice
|
||||
|
||||
|
||||
1
drivers/video/display/screen/Makefile
Normal file → Executable file
1
drivers/video/display/screen/Makefile
Normal file → Executable file
@@ -43,3 +43,4 @@ 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_rk2928_a720.o
|
||||
obj-$(CONFIG_LCD_HJ080NA) += lcd_hj080na.o
|
||||
76
drivers/video/display/screen/lcd_hj080na.c
Executable file
76
drivers/video/display/screen/lcd_hj080na.c
Executable file
@@ -0,0 +1,76 @@
|
||||
#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_P888
|
||||
#define OUT_CLK 65000000
|
||||
#define LCDC_ACLK 500000000//312000000 //29 lcdc axi DMA Ƶ<><C6B5>
|
||||
|
||||
/* Timing */
|
||||
#define H_PW 100
|
||||
#define H_BP 100
|
||||
#define H_VD 1024
|
||||
#define H_FP 120
|
||||
|
||||
#define V_PW 10
|
||||
#define V_BP 10
|
||||
#define V_VD 768
|
||||
#define V_FP 15
|
||||
|
||||
#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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user