
1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口)、DPI(也叫RGB接口)、DSI.
在使用DSI接口时,目前75/77都只支持到2条data lane,加上一条clock lane.
使用DPI接口时,根据LCM IC支持的情况,可以选择16bus、18bus传输RGB格式文件,在GPIO部分分为R、G、B分别对应 8个GPIO(GPIO20~46期间),客户采用DPI接口需要根据选择的bus方式进行配置,推荐RGB端口全部配置为对应的复选模 式,并设置为OUT输出。
采用DBI接口,有两种模式选择,一种是选择共用DPI的bus脚 +DPI控制线,另一种是共用nand data pin+CPU 控制线。
1.2) DSI接口有两种sync 模式:video mode和command mode,其中video mode是BB端一直刷数据到LCM,cmd mode是在有数 据更新时刷数据到LCM GRAM中)
和DSI command mode相比,video mode 是需要实时传输image data到lcm端,DSI 的refresh rate决定了lcm的refresh rate。
1.3)EDS机制:
92平台LCM driver中定义了esd_check和esd_recovery的接口,但ESD线程不工作。
目前在MT6589之前平台,video mode的ESD实现有三种模式,分别是:ext TE(外部TE信号检测)、int TE(内部TE信号检 测)、non cout clk
不同ESD方式需要注意的方面
a) int TE和ext TE的检测,都不需要实现lcm_esd_check函数,而需要实现lcm_esd_recover函数。
non cont clk则不需要实现lcm_esd_check函数和lcm_esd_recover函数,而只需要在上面 params中配置为TRUE即可
b) ext TE的实现,需要LCM外接TE pin到BB端,同时在inital code中配置寄存器打开TE信号的输出 (一般是写0x35寄存器,具体需要和LCM IC FAE确认)
1.4)HDMI/MHL:
目前我司HDMI/MHL的相关code和driver都是有集成在codebase中的,要使用的话,只需要只需要在对应的 ProjectConfig.mk文件中开启,并且在dct中配置好对应的引脚定义即可。
以下以MHL为例:
ProjectConfig中配置:
MTK_HDMI_SUPPORT=yes #表明开启HDMI/MHL功能
CUSTOM_KERNEL_HDMI=Sii8338 #表明配置为MHL的IC型号
1.4)TE 信号:
大部分TE问题是由于没有正常开启TE所导致,首先检查TE是否开启。
89平台使用内部TE,lcm driver中只需要在init过程中打开LCM TE即可,一般是写0x35寄存器,部分IC需要额外写其他 寄存器,可与FAE确认。
检查TE是否正常开启,如果是工版,则可使用如下方式打开fps的log,查看TE信息:
adb shell
cd sys/kernel/debug
echo fps:on>mtkfb
然后查看mtklog, 搜索“FPS”,若看到等待TE时间为0, 表示TE未正常开启,需要与LCM IC的FAE进一步确认开启流程 。
若TE已经成功开启,依然有Teering现象,可从如下方面思考分析。
1)是否使用了竖屏横用,导致对GRAM的读写方向不一致,一般会出现斜线切屏现象。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shumachanpin/article-55851-1.html
我看没有谁会有兴趣来判断这是不是屁话
一包粉里面有六条蛆
王建煊代表了台湾一部分聪明人