最近入手了一款树莓派的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的寄存器值,直接修改到对应屏幕分辨率。
相关文章:
-
2021-04-27
-
2021-11-14
-
2021-05-23
-
2021-04-21
-
2021-05-08
-
2022-01-01
猜你喜欢
-
2021-08-07
-
2022-01-22
-
2021-11-04
-
2021-06-01
-
2021-04-12
-
2021-07-28
-
2021-11-27
相关资源
-
下载
2023-04-10
-
下载
2022-12-15
-
下载
2023-01-20