1.Info
(1)platform:msm8909 + android 4.4
(2)转接芯片:ICN6211
(3)LCD IC:ili9163C
2.准备资料
(1)platform:source,原理图,版位图,高通LCD配置工具:用于生成LCD参数配置高通平台。
(2)转接芯片:配置工具,用于生成转接芯片寄存器配置,后面使用IIC初始化转接芯片
(3)LCD:初始化代码,屏参,屏的规格书。
3.步骤流程:
(1)首先,配置msm平台侧;根据屏参和分辨率等参数配置平台侧的mipi。需要掌握以下参数:帧率,mipi lane数,BPP(Bit per Pixel),分辨率,porch value;
主要生成:mipi的clk和timing。
(2)然后,配置转接芯片;也是根据屏的分辨率,porch值,mipi lane数,以及mipi clk时钟相位。极为重要一点,需要配置出来的结果一定要保证pclk的大小要大于40MHz;pclk的计算公式:pclk=(Htotal*Vtotal*帧率*BPP)/(lane*2)
(3)最后,配置LCD;使用spi接口把屏的初始化代码写入LCD;如何判断成功还是未成功呢?如果写入reg成功初始化屏,一般情况下,屏会显示花屏;如果没有花屏或者数据,则可以使用万用表或者示波器测量屏后面电容的电压是否升上去了,电压范围大概9~12伏。
4.调试遇到问题:
(1)Color Bar未出来:
该问题表示转接芯片到屏之间的硬件通路为打通;一般问题出现在硬件或者屏为初始化成功。必须使用示波器或万用表逐个阶段测量,排除问题;
屏是否初始化成功,可以检查代码的同时,把spi的三根线引出来,使用逻辑分析仪抓取一下spi发送的数据是否正确。
(2)Color Bar出来一瞬间,随后显示白屏:
这个问题一直纠结很久,发现问题由于代码中对屏的reset有两次,去掉第二次reset即可,原因是自己添加lcd driver时增加了一次reset,而之前的reset接口调用未删除导致。
(3)Color可以稳定输出的情况下,显示logo不正常:没有出现默认的小企鹅:
默认logo是固化在源码中的一张图片原始数组,所以要想在128*160上显示正常的logo,需要单独做一个分辨率匹配的logo,并在fastboot模式下,写入logo分区。
(4)烧录boot.img和system.img后,启动无法成功,log提示user id等信息:
需要擦除userdata分区内容;在fastboot mode下面执行:fastboot -w (该命令会擦除userdata和cache分区信息)
(5)系统成功启动后,主界面的的图标显示不正常:
需要修改PPI:#adb shell wm density 72 (this value mix is 72)
5.总结:
转接芯片和高通平台支持128*160分辨率的屏,但是android的资源中没有这么小的资源,需要自行设计开发这些资源。
