1. 概述
lcd 显示屏有多种接口方式,hdmi和lvds是其中两种,在Amlink平台上,两者的调试方法类似,本文介绍具体的调试步骤。(固件版本需升级至v1.21b或之后)
2. 调试步骤
首先,确认lt8912芯片是否工作正常,判断方法如下:
1. 正常开机连usb
2. 电脑打开一个终端, 输入以下adb 命令: adb shell wm size, 一般显示1280x800(hdmi默认分辨率)即表示hdmi识别到。
3. 运行adb shell "i2ctransfer -y -f 5 w1@0x48 0x9c" 没有返回错误说明hdmi芯片通信正常(该命令里的5指i2c总线号,evb6接的i2c bus5,如果hdmi芯片接其它i2c总线请修改为对应值)
其次,确保屏(主要指lvds屏)的各个电压正常,开机后lvds屏背光能点亮。而且不要同时接其它mipi接口的屏。
第三,根据屏的规格书修改分辨率等时序参数,修改以下属性:
persist.hdmi.w : 屏的宽,单位像素
persist.hdmi.h : 屏的高,单位像素。宽x高即是屏的分辨率
persist.hdmi.hsa :行同步宽度
persist.hdmi.hfp :行front porch
persist.hdmi.hbp :行back porch
persist.hdmi.vsa :场同步宽度
persist.hdmi.vfp :场front porch
persist.hdmi.vbp :场back porch
persist.disp.reinit :请置1
如果是lvds屏,下面属性可能需要修改:
persist.lvds.type : 相当于数据格式类型, 取值范围0-4,默认是1
如果当前屏分辨率和默认分辨率不一致,上述属性修改后需重启一次设备。 重启后运行adb shell wm size 确认分辨率是否正确。
分辨率正确后,如果显示异常,请参考规格书调整其它参数(hsa/hfp/hbp/vsa/vfp/vbp), 每次调整后需设置属性tml.hdmi.timing.up 为1让参数生效。另外,可以读取属性tml.hdmi.paras,来确认上述参数是否正常写入。
举例:
adb shell setprop persist.hdmi.w 1024
adb shell setprop persist.hdmi.h 600
adb shell setprop persist.hdmi.hsa 136
adb shell setprop persist.hdmi.hfp 24
adb shell setprop persist.hdmi.hbp 160
adb shell setprop persist.hdmi.vsa 6
adb shell setprop persist.hdmi.vfp 5
adb shell setprop persist.hdmi.vbp 24
adb shell setprop persist.disp.reinit 1
adb reboot
adb shell wm size
adb shell setprop tml.hdmi.timing.up 1
adb shell getprop tml.hdmi.paras
3 生成固件
调试OK后,后续批量生产,可以按下面步骤生成驱动固件:
3.1 准备参数文件:
设备连接电脑,先运行adb devices,确保设备识别,在电脑命令行终端运行 adb shell getprop > props.txt, 命令执行后会生成props.txt文件 ,然后把props.txt 文件(名字不能变)放到一个文件夹如lcd, 然后压缩成lcd.zip。
3.2 参数文件压缩包上传服务器生成固件
点击下面网址:
https://www.temolin.com/webform/zai-xian-bootzi-dong-sheng-cheng
点击’GPIO配置文件’ 下面的第一个‘选择文件’按钮,把上一步骤的lcd.zip上传,然后在’接收boot文件邮件地址‘ 一栏下填写客户自己的邮箱地址,再点击提交,10分钟左右新固件会生成发到上述到邮箱。新固件刷机方法请参考:
https://www.temolin.com/doc/48/gu-jian-sheng-ji-gong-ju-shi-yong-zhi-nan
谢谢!