• 记录:RK3568显示异常。


    最近调一个RK3568的新板子,板子其它接口功能都调试ok。可唯独在适配显示时发现,HDMI和MIPI显示均出现异常。当系统启动要进入桌面时候内核就开始报错。
    在这里插入图片描述
    因为这套源码之前在其它的板子上适配过,所以第一反应就是硬件问题或者是那个电压没配置对,但是对于HDMI和MIPI这样的显示,外围也没啥电路,基本都是信号经过ESD保护后就直接连接到了屏幕上了,而且和之前的电路做了对比也都一样,万用表测量外围的电压也未发现异常。无奈只能把log拉出来再认真的看看。这次还真发现了点问题。
    在这里插入图片描述
    log中看到vp0到vp2这里都是"plane phy id:-1",因为设置HDMI是显示在vp0上的,所以这里vp0的id为-1显然是不对的。将之前正常的板子log抓出来对于了一下,结果和我想的一样。
    正常log
    因为这里mipi显示用的是vp1,可以看到这里vp1的id被设置成了4。在内核的“drivers/gpu/drm/rockchip/rockchip_drm_vop2.c”的vop2_bind函数中可以找到这段log的输出。代码如下:
    在这里插入图片描述
    可以看出mask和id对应的值来自于dts中“rockchip,plane-mask”和“rockchip,primary-plane”两个属性。但是在内核dts中其实是找不到这两个属性配置的。那么这两个属性是从什么地方来的呢?并且可以确定前一个OK的版本这两属性也没在内核中配置过,那为啥就能正常显示呢?有联想到这次的uboot和内核是来自于两个不同的SDK中,而且在之前也遇到过在uboot中对dts做修改的情况,所以果断编译了一个新的uboot进行验证,结果显示OK了。并且在uboot中也确实找到了关于这两个属性的设置。其代码位于uboot的“drivers/video/drm/rockchip_vop2.c”中。
    在这里插入图片描述
    至此HDMI和MIPI显示正常,问题完美解决,

  • 相关阅读:
    java153-字符输出流
    图论学习笔记 - 二分图的匹配
    短视频消重去重九种方法,组合使用原创度更高,各平台轻松过原创
    C#初级程序员到高级程序员的学习计划
    04_BFC
    android去掉 原生锁屏
    “undefined reference to XXX“问题总结
    【VMware vSAN】使用命令行从vSAN集群中移除ESXi主机并加入到新的vSAN集群。
    Java面试题以及答案(三)多线程(必会)
    智能社区奶柜带来便利与实惠
  • 原文地址:https://blog.csdn.net/xuesong10210/article/details/134493829