1. 概述
lcd 显示屏有多种接口方式,hdmi和lvds是其中两种,在Amlink平台上,两者的调试方法类似,本文介绍具体的调试步骤。
2. 调试步骤
第一,确认lt8912芯片是否工作正常(如果hdmi/lvds 的屏已经有图案显示,下面步骤可忽略),判断方法如下:
1. 正常开机连usb
2. 电脑打开一个终端, 输入以下adb 命令: adb shell cat /proc/cmdline , 在列出的信息里如果包含有字符串:lcm=0-lt8912_mipi_hdmi 说明启动阶段lt8912工作正常
3. 然后再输入以下adb 命令:adb shell "ls /sys/bus/i2c/drivers/lt8912" , 会列出4个设备文件节点,第一个是2-0048,说明android起来后lt8912工作正常。
上述2,3需都确保正常,否则需要检查lt8912相关电路。
然后,在上述确认ok的前提下,用示波器测试lt8912的hdmi及lvds信号是否有输出。如果没有,请检查mipi的硬件接线是否正常。
(hdmi信号需接hdmi屏才有输出,lvds信号不接屏也会有输出)
再次,确保屏(主要指lvds屏)的各个电压正常,开机后lvds屏背光能点亮。而且不要同时接其它mipi接口的屏。
第三,根据屏的规格书修改分辨率等时序参数,修改方法如下:
首先,下载调试工具包,下载地址:
https://www.temolin.com/sites/default/files/temolindownload.zip
联系support@temolin.com 获取最新的参数配置文件gpio.cfg, 重命名gpioorg.tcf替换上面工具包里的同名文件。
运行TemolinDownload.exe,选择GPIO配置页面,io类型选其它可变参数,然后根据需求修改对应的时序参数设定(具体设定含义本文后面会详细说明),之后点击‘保存GPIO配置’,生成新的gpio.cfg 文件(每次生成请取不同的文件名)。接着进入下面网页:https://www.temolin.com/webform/zai-xian-bootzi-dong-sheng-cheng,把gpio.cfg提交,并填写您的邮件地址,几分钟后,系统会生成新的boot.img发送的预留的邮箱,请烧写进设备测试。烧写方法:
https://www.temolin.com/doc/48/gu-jian-sheng-ji-gong-ju-shi-yong-zhi-nan
修改后重启设备,启动前10秒可能会显示异常,到开机动画就正常了。
(*** 因为工具的配置保持功能还没做好,后续修改如果是基于之前的,请把之前的gpio.cfg重命名gpioorg.tcf替换工具目录里的同名文件。)
时序参数说明如下(大部分hdmi/lvds接口设备只需改下面3个参数即可):
FLAG_DSI_REINIT : 请务必设为1.
FLAG_HDMI_RESOLUTION_WIDTH : 一行的有效像素,如1280
FLAG_HDMI_RESOLUTION_HEIGHT : 一帧的有效行,如800
目前验证过的分辨率有:1920x1080,1280x720,1280x800,1024x768,1024x600,720x480,800x480,
下面参数一般hdmi全部填0即可(0表示用默认设置),少数lvds屏要填
FLAG_LCD_CUSTMIZATION:如果要下面参数生效,该值需填1
FLAG_LCD_H_ACTIVE : 同FLAG_HDMI_RESOLUTION_WIDTH,只在分辨率不是上述几种才需填
FLAG_LCD_V_ACTIVE : 同FLAG_HDMI_RESOLUTION_HEIGHT ,只在分辨率不是上述几种才需填
FLAG_LCD_H_SYNC_TIME : 行同步宽度
FLAG_LCD_V_SYNC_TIME : 帧同步宽度
FLAG_LCD_HBP : 行back porch
FLAG_LCD_VBP : 帧back porch
FLAG_LCD_HFP : 行front porch
FLAG_LCD_VFP : 帧front porch
下面参数一般填1
FLAG_LCD_MIPI_CLK_AUTO: lt8912 的mipi clk频率是否系统自动设定,1表示自动,0是手动。
下面参数只有FLAG_LCD_MIPI_CLK_AUTO为0才起作用
FLAG_LCD_MIPI_CLK : mipi clk 频率,单位MHz,
下面参数只对lvds屏有效(只有显示色彩异常才需要改):
FLAG_LVDS_JEIDA_TYPE : lvds 信号格式,取值范围0-4. 其中4用得比较多。如果格式不对一般会花屏或颜色不正常,不大可能黑屏。
STRING_FIXED_LCD_DRV_NAME : 请填no,如果找不到该参数请忽略。
下面指令可以查看当前系统输出的分辨率:adb shell wm size
谢谢!