Dragonboard 410c Android 7寸屏HDMI调试
分类:
文章
•
2024-12-02 13:52:34
最近入手了一款树莓派的7寸电容触摸显示屏,用来接我的Dragonboard 410c板做显示器和触摸控制使用。


这款显示屏在linux下能都正常显示和触摸使用,但切换到Dragonboard 410c Android版本时,却无法正常显示,开机后花屏出现竖条纹,画面显示不全等。


使用wm命令查看屏幕分辨率,发现默认分辨率是1920x1080

而这款显示屏的分辨率是1024x600,因此用wm命令修改一下龙板的输出分辨率

修改后重启,发现同样有显示条纹,画面显示错位情况。

使用wm overscan等其他命令进行修改后也不起作用。
后面仔细分析了一下,应该跟HDMI的输出有关。而Dragonboard 410c板是用ADV7533芯片MIPI转HDMI输出的,查看代码发现ADV7533在这里只支持1080P和720P输出。
但是在Linux系统下显示又正常,去查了一下linux系统kernel部分的ADV7533驱动代码,发现这里的驱动齐全多了,支持各个分辨率的输出,但由于涉及不同分辨率时有不同时序和不同寄存器设置,无法直接简单移植到Android平台。
网上一直没有搜索到ADV7533具体的寄存器相关文档,因此只能尝试在Android版本上修改默认输出分辨率为720P。
找到DT文件中ADV7533的配置


可以看到,默认使用的是1080P的输出,修改为720P输出


修改后发现正常显示了!!!

用wm命令查看下分辨率

触摸屏也能正常使用
OK,后面有机会的话看看怎么设置ADV7533的寄存器值,直接修改到对应屏幕分辨率。