搜索

126

主题

180

帖子

2090

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2090
发表于 2024-11-4 11:30:41 143 浏览 0 回复

高通平台lcm 调试步骤

本帖最后由 星空 于 2024-11-5 20:24 编辑

XBL LCD bringup 配置 为什么从xbl开始,因为xbl的编译速度快能快速调整参数是屏幕亮起来.

屏幕xml 文件客制化
    进入路径 BOOT.MXF.2.0/boot_images/boot/QcomPkg/Settings/Panel/,参考高通默认屏 xml文件,复制一个文件后,重新命名(一般命名以屏 IC+分辨率+模式).
    eg: Panel_HX8399_1080p_vid.xml,

客制化屏参数获取与替换
     联系屏幕的供应商获取该屏幕的说明书和参数:分辨率、 Porch 值、 SyncPulse、初始化参数, 刷新率、 复位引脚时序.并且在xml文件中替换参数




添加屏名称和面板xml 文件位置到 flash 布局文件
BOOT.MXF.2.0/boot_images/boot/QcomPkg/SocPkg/Clarence/Common/Core.fdf





增加 OEM 面板到uefiDphyPanelList
    BOOT.MXF.2.0/boot_images/boot/QcomPkg/SocPkg/Clarence/Library/MDPPlatformLib/MDPPlatformLibPanelConfig.c





这里是兼容多个屏幕的地方,根据入到的id来计算,如果不需要兼容,或者id不知道,则只设置1个屏幕.把宁外一个屏幕删除

添加 fastboot 列表
  1  BOOT.MXF.2.0/boot_images/boot/QcomPkg/SocPkg/Clarence/Library/MDPPlatformLib/MDPPlatformLibPanelConfig.c
  2  其中字段“qcom,mdss_dsi_HX8399_1080p_video” 为 kernel 匹配字段,后续的 kernel DTS 中&mdss_mdp 下 dsi_HX8399_1080p_video 节点名保持其完全一致,才能实现 XBL 到kernel 的匹配和传递。在sPhysicalPanelConfigTable里面添加如下




客制化屏为默认启动屏
BOOT.MXF.2.0/boot_images/boot/QcomPkg/SocPkg/Clarence/Library/MDPPlatformLib/MDPPlatformLibPanelCommon.h



修改屏幕的上电,背光等

  1  定义gpio
   BOOT.MXF.2.0/boot_images/boot/QcomPkg/SocPkg/Clarence/Library/MDPPlatformLib/MDPPlatformLibPanelCommon.h




    2  拉高上电 GPIO
    BOOT.MXF.2.0/boot_images/boot/QcomPkg/SocPkg/Clarence/Library/MDPPlatformLib/MDPPlatformLibPanelCommon.c
    在函数 Panel_LCD_PowerUp 中修改的代码配置如下

/* LCD bias pin */
    if (EFI_SUCCESS !=TLMMProtocol->ConfigGpio((UINT32)EFI_GPIO_CFG(Default_DISP_LCD_BIAS_EN, 0,GPIO_OUTPUT, GPIO_PULL_UP, GPIO_16MA), TLMM_GPIO_ENABLE))
    {
      DEBUG((EFI_D_WARN, "DisplayDxe:Configure GPIO %d for Default_DISP_LCD_BIAS_EN failed!\n",Default_DISP_LCD_BIAS_EN));
    }

    if (EFI_SUCCESS !=TLMMProtocol->GpioOut((UINT32)EFI_GPIO_CFG(Default_DISP_LCD_BIAS_EN, 0,GPIO_OUTPUT, GPIO_NO_PULL, GPIO_16MA), GPIO_HIGH_VALUE))
    {
      DEBUG((EFI_D_WARN, "DisplayDxe: SetDefault_DISP_LCD_BIAS_EN line high failed!\n"));
    }

    MDP_OSAL_DELAYMS(10);


  3 添加分辨率到添加分辨率到 mSimpleConsoleModeData
   注意:这里只有qcom4490需要这个,其他平台不需要这个.
   确认屏幕分辨率
   计算参数
        [Horizontal/8, Vertical/19] //计算公式
        1080/8=135; 1920/19=101;
        BOOT.MXF.2.0/boot_images/boot/QcomPkg/Drivers/SimpleTextInOutSerialDxe/SimpleTextInOut.c
                高通在 UEFI 的控制台中为分辨率添加了参数, DBS 未找到这个参数,就会触发 ASSERT, dump log 如下
                ERROR: C90000002:V03000007 I0 408EDCEC-CF6D-477C-A5A8-B4844E3DE281
                ASSERT ConSplitter.c +3102: !(((INTN)(RETURN_STATUS)(Status)) < 0)
到这里屏幕uefi应该能点亮













本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


登录或注册
快速回复 返回顶部 返回列表