最近刚调试完全志平台的MIPI屏幕,总的感觉就是简单但网络资料匮乏,却到处都是转载和抄袭,理论知识满天飞,就是很难看见具体的操作步骤,没有步骤可供参考,讲解一大堆官方的MIPI spec有何用,主要是怎么使用它。下面我讲解一下调试过程中可以参考的步骤:
1、所需资料:MIPI屏幕、屏幕规格书、屏幕初始化代码,都是屏幕厂家提供。
2、仔细核对屏幕型号与屏幕规格书参数是否一致,厂家销售比较业余这方面很容易搞错。
3、仔细检查屏幕引脚接口电气属性、屏幕背光板接口与主板、核心板的引脚是否连接一致。
4、用万用表仔细量测每个引脚是否焊接正常,防止虚焊。
5、查看屏幕规格书中的上电时序图,并严格按照上电时序图上电操作,上电时序具体就是通过代码控制GPIO口拉高拉低,如下图:
6、把屏幕厂家提供的屏幕初始化代码写进屏幕驱动初始化代码中,需用自己驱动代码的接口进行替换。
7、修改sys_config.fex文件中屏幕的参数,来源于屏幕厂家提供的屏幕规格书中,如下图:
规格书参数全部照抄填写,等屏幕亮了以后如果有问题再调整。
8、编译驱动代码并烧写,等待屏幕是否正常显示。
9、MIPI屏幕线上HS模式电压值参考,来源正常显示时的测试,适用于没有示波器的调试:
DON ~ D3N 257mv左右
DOP ~ D3P 112mv左右
CLKN 168mv左右
CLKP 172mv左右
如果D0电压值在1.135V左右,说明在LP模式,具体可参考规格书,如下:
要点注意:
1、如果芯片厂商宣布支持MIPI屏幕,首先不要怀疑底层实现MIPI驱动代码,我在凌阳待过,底层功能代码对Controller的寄存器操作在发布时都是验证测试过的,在驱动中已经把接口提供给上层使用。总的意思就是说,我们不用去读写MIPI控制器的寄存器,只需要调用官方提供的MIPI读写命令即可,如果有问题,那也是我们调用出错或者参数传错。
2、手里的全志A83T芯片,官方手册上面写的MIPI代码在kernel中,但是实际测试发现根本没有跑kernel中mipi代码,而真正的位置在uboot中,实践证明也是这样的,为什么会这样不得而知,哪位仁兄知道的可以告知一下。
3、可以参考自己开发板中现有的MIPI屏幕代码和参数,找一份相似的进行移植成功率会更高。
手写与2017.8.24 不欢迎转载哟