T527 Android13配置EDP+HDMI显示系统进不去桌面问题

前言

最近在调T527 Android13系统,系统配置EDP屏+HDMI显示,当机器只接EDP屏不接hdmi开机的时候,机器进不去系统桌面,一直卡在开机动画的界面,如果同时接EDP屏和HDMI开机,机器是可以进入到系统桌面的。

问题分析

edp屏可以点亮,那么说明不是底层驱动和底层配置的问题,那要从android层去入手分析原因,于是查看原厂文档《Linux_EDP_开发指南.pdf》,其中有提到系统配置edp的时候需要配置json文件,将 json 文件的 Display0 节点下的 Inter‑faceType 配置为 “EDP”。json 文件目录为:android/device/softwinner/XXX/YYY/display/dispconfigs/YYY.json(XXX 为芯片平台,YYY 为板型,YYY名称对应ro.product.vendor.device属性)。于是我找到了自己项目的json文件,内容如下:

{
    "DisplayEngineVersion": 2,
    "DisplayNumber": 3, /*Display0, Display1, Display2 */

    "PrimaryDisplay": ["Display0"],
    "ExternalDisplay": ["Display1", "Display2"],

    "Display0": {
        /* Available interface type: LCD/HDMI/CVBS */
        "InterfaceType": "LCD",
        "DisplayEnginePortId": 0,
        "OverrideFramebufferSize": 1,
        "FramebufferWidth": 1920,
        "FramebufferHeight": 1080,
        "DpiX": 160,
        "DpiY": 160,
        "HotplugSupported": 0,
        "AfbcSupported": 0,
        "HardwareRotateSupported": 0,
        "BandwidthLimited": 338800,
        "DefaultOutputMode": 0
    },

    "Display1": {
        /* Available interface type: LCD/HDMI/CVBS */
        "InterfaceType": "HDMI",
        "DisplayEnginePortId": 1,
        "OverrideFramebufferSize": 1,
        "FramebufferWidth": 1920,
        "FramebufferHeight": 1080,
        "DpiX": 160,
        "DpiY": 160,
        "HotplugSupported": 0,
        "AfbcSupported": 0,
        "HardwareRotateSupported": 0,
        "BandwidthLimited": 338800,
        "DefaultOutputMode": 0
    },

    "Display2": {
        /* Available interface type: LCD/HDMI/CVBS */
        "InterfaceType": "DP",
        "DisplayEnginePortId": 1,
        "OverrideFramebufferSize": 1,
        "FramebufferWidth": 1280,
        "FramebufferHeight": 720,
        "DpiX": 160,
        "DpiY": 160,
        "HotplugSupported": 0,
        "AfbcSupported": 0,
        "HardwareRotateSupported": 0,
        "BandwidthLimited": 338800,
        "DefaultOutputMode": 0
    }
}
试着将上面的Display0节点中的InterfaceType改为“EDP”,测试发现系统还是会卡在开机logo界面。
后面抓取log,没有发现有什么明显的显示报错的log,但是发现如下显示的相关log:
 W displayd: xxxxxxx: threadedStartup begin
 W displayd: xxxxxxx: HAL device config from DTS
 W displayd: Displays (3 entries)
 W displayd: + Display0{logicid=0, framebuffer=1920x1080(override=1), dpi=160x160}
 W displayd:    DisplayEnginePortId=0
 W displayd:    InterfaceType=EDP
 W displayd:    DefaultOutputMode=0
 W displayd:    HotplugSupported=0
 W displayd:    AfbcSupported=0
 W displayd:    HardwareRotateSupported=0
 W displayd:    BandwidthLimited=0 Bytes per frame
 W displayd: + Display1{logicid=1, framebuffer=1920x1080(override=1), dpi=160x160}
 W displayd:    DisplayEnginePortId=1
 W displayd:    InterfaceType=HDMI
 W displayd:    DefaultOutputMode=0
 W displayd:    HotplugSupported=0
 W displayd:    AfbcSupported=0
 W displayd:    HardwareRotateSupported=0
 W displayd:    BandwidthLimited=0 Bytes per frame
 W displayd: + Display2{logicid=1, framebuffer=1920x1080(override=1), dpi=160x160}
 W displayd:    DisplayEnginePortId=1
 W displayd:    InterfaceType=DP
 W displayd:    DefaultOutputMode=0
 W displayd:    HotplugSupported=0
 W displayd:    AfbcSupported=0
 W displayd:    HardwareRotateSupported=0
 W displayd:    BandwidthLimited=0 Bytes per frame

里面读取到了EDP、HDMI、DP三个设备的显示配置。想到EDP和DP是二选一的,配置了EDP那么就不能配置DP显示,这两个配置应该是不可以同时存在的,但是原厂的文档里面也没有提示这一点,于是试着把DP的显示配置去掉,把DisplayNumber配置改为2。重新编译升级测试。这次机器终于没卡在开机动画界面。

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值