lcd 显示相关的文件 ,这些后面分析 ,先怎么添加一个新的LCD驱动
./kernel-3.18/drivers/misc/mediatek/video/mt6735/videox/primary_display.c
./kernel-3.18/drivers/misc/mediatek/video/mt6735/videox/disp_lcm.c
./kernel-3.18/drivers/misc/mediatek/video/common/mtkfb.c
./kernel-3.18/drivers/misc/mediatek/video/mt6735/dispsys/ddp_dpi.c
./kernel-3.18/drivers/misc/mediatek/video/mt6735/dispsys/ddp_dsi.c
./kernel-3.18/drivers/misc/mediatek/video/mt6735/dispsys/ddp_manager.c
./kernel-3.10/drivers/misc/mediatek/videox/mt6735/mt6735m/disp_drv_platform.h
./kernel-3.18/drivers/misc/mediatek/video/mt6735/videox/mt6735m/disp_drv_platform.h
./kernel-3.18/drivers/misc/mediatek/lcm/mt65xx_lcm_list.c
一:基础知识
1.驱动IC
st7701s
nt33510
otm8108
jd9161
ili9163
hx8369
2.驱动玻璃
IVO 龙腾
CMI 奇美
CTC 声超
OTM 天马
BOE
CPT
HSD 华显
3.驱动接口
MIPI接口:
一共有三种接口:
typedef enum
{
LCM_TYPE_DBI = 0,
LCM_TYPE_DPI,
LCM_TYPE_DSI
} LCM_TYPE;
DPI(display pixel interface)(也叫RGB接口)、 params->type = LCM_TYPE_DPI;
DPI就是常说的RGB接口,采用普通的同步、时钟、信号线来传输特定数据,
采用SPI等控制线完成命令控制。(所谓的RGB接口指的是必须用BB的controller,数据必须通过点,行,帧clk等由cpu去控制数据显示到LCD上面)
DBI(display bus interface)(也做CPU或MCU接口)、(公司M8项目采用)params->type = LCM_TYPE_DBI;
DBI 也是常说的cpu接口,和DPI类似,DPI的控制和数据是分离的,DBI的控制和数据是复用的. (所谓cpu接口指的是lcd controller内置于LCD屏中)
DSI.(display serial interface) (大部分都在用)
typedef enum
{
CMD_MODE = 0,
SYNC_PULSE_VDO_MODE = 1,
SYNC_EVENT_VDO_MODE = 2,
BURST_VDO_MODE = 3
}
params->dsi.mode = CMD_MODE; /params->dsi.mode = SYNC_PULSE_VDO_MODE;
DSI是一种串行传输方式,DSI传输的数据是封装成包的。DSI分 video 模式 command 模式
DSI(video mode)和传统RGB模式类似,由BB控制持续刷新显示,LCD就不需要frame buffer。节省成本
DCS(command mode)LCD上面有一个framebuffer,有个定时控制器会从frame buffer取出数据自动刷新。省电。
4.屏的分辨率
QVGA -- 320*240 // ldpi ro.sf.lcd_density=120
VGA -- 640*480
HVGA -- 480*320 //4:3 mdpi ro.sf.lcd_density=160
wvga -- 800*480 //5:3 hdpi ro.sf.lcd_density=240
fwvga -- 854*480 //16:9 hdpi ro.sf.lcd_density=240
QHD -- 960*540 //16:9 hdpi ro.sf.lcd_density=240
hd/hd720 -- 1280*720 //标清 xhdpi ro.sf.lcd_density=320
fhd -- 1920*1080//高清 xxhdpi ro.sf.lcd_density=320
驱动中