【无标题】

1、添加屏幕类型定义

vendor\qcom\nonhlos\BOOT.XF.4.2\boot_images\QcomPkg\Include\Library\MDPPlatformLib.h

枚举类型MDPPlatformPanelType表示LCD ID

MDPPLATFORM_PANEL_MAXMDPPLATFORM_PANEL_MAX:决定了支持的最大屏幕数量

 

2、添加屏幕类型和它的xml文件

vendor\qcom\nonhlos\BOOT.XF.4.2\boot_images\QcomPkg\SocPkg\MannarPkg\Library\MDPPlatformLib\MDPPlatformLibPanelConfig.h

 

#define MDP_PLATFORM_PANEL_FUNCTION_ENTRY2(_panelselection_, _panelgpio_, _xmlconfig_) //Macro definition with 3 parameter to simplify sMDPPlatformPanelFunction

#define MDP_PLATFORM_PANEL_FUNCTION_ENTRY3(_panelselection_, _panelgpio_, _xmlconfig_)\
  {\
    (_panelselection_),\
    (_panelgpio_),\
    (_xmlconfig_),\
    Panel_Default_PowerUp,\
    Panel_Default_PowerDown,\
    Panel_Default_Reset,\
    NULL,NULL,NULL
  }

The Peripheral_Power / Brightness_Enable / Brightness_Level are set to NULL by default.(也就是一些函数指针,回调函数)

  

补充:使用MDP_PLATFORM_PANEL_FUNCTION_ENTRY3

 

超链接文件:MDPPlatformPanelFunctionTable结构体说明

在“MDP_PLATFORM_PANEL_FUNCTION_ENTRY3”中填入panel供电,背光等函数信息。这里添加I2C外设power函数定义,主要是要对偏压控制的I2C进行初始化和配置,默认的Peripheral_Power(外围电源)不满足此要求;除此外还有两个使能AVDD、AVEE的GPIO,需要重新定义:

 

具体上电方式

/boot_images/QcomPkg/SocPkg/StraitPkg/Library/MDPPlatformLib/MDPPlatformLibPanelCommon.c

提供的默认基础功能函数:

Panel_Default_LCD_PowerUp  上电

Panel_Default_LCD_PowerDown  下电

Panel_Default_Peripheral_Power 使用默认的背光

Panel_I2C_Peripheral_Power使用I2C控制背光

Panel_Default_LCD_Brightness_Enable  背光使能端

qcom_lcd_超链接文件Panel_I2C_Peripheral_Power.c

 

I2C相关的配置

定义要写的I2C cmd, 0x3E是I2C地址

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

AVDD AVEE定义      /boot_images/QcomPkg/SocPkg/StraitPkg/Library/MDPPlatformLib/MDPPlatformLibPanelCommon.c    

                                                                                                                                                                                                                                                   

  

sDefaultMDPPanelGpio

定义上电的头文件

/boot_images/QcomPkg/SocPkg/StraitPkg/Library/MDPPlatformLib/MDPPlatformLibPanelCommon.h

DSI_READ_READBACK_SIZE

Panel_PowerCtrlParams

MDPPlatformPanelGpioType

3、添加屏幕的配置xml文件

vendor/qcom/nonhlos/BOOT.XF.4.2/boot_images/QcomPkg/Settings/Panel

也就是一些屏幕参数配置。如porch、分辨率、上电code、背光

上电code

<DSITermSequence>

</DSITermSequence> 这部分是下电 code

4、fdf文件中生成file语句

vendor/qcom/nonhlos/BOOT.XF.4.2/boot_images/QcomPkg/SocPkg/MannarPkg/LAA$ vi Core.fdf

uuid可以通过Linux平台下的uuidgen命令获得

vendor/qcom/nonhlos/BOOT.XF.4.2/boot_images/QcomPkg/SocPkg/MannarPkg/LAB$ vi Core.fdf也需要添加

 

5、动态屏检测列表中添加屏幕信息

vendor\qcom\nonhlos\BOOT.XF.4.2\boot_images\QcomPkg\SocPkg\MannarPkg\Library\MDPPlatformLib\MDPPlatformLib.c //uefiPanelList

Msm8916只有一个mipi-dsi接口用于连接LCM,由MDP(mobile display processor)进行管理

 

 

6、在平台支持屏幕列表中添加屏信息

vendor\qcom\nonhlos\BOOT.XF.4.2\boot_images\QcomPkg\SocPkg\MannarPkg\Library\MDPPlatformLib\MDPPlatformLib.c

添加新屏到panelist

 

其中PANEL_CREATE_ENTRY将新的panel类型与我们准备好的panel XML文件关联起来,

MDPPlatformConfigure 中配置显示

上面只是添加一个数组元素,真正的绑定操作在MDPPlatformConfigure()接口中。MDPPlatformConfigure()接口是DXE阶段的核心,在DisplayDxe中通过DisplayDxeInitialize()接口不断调用MDPPlatformConfigure()完成panel的选路、初始化、上下电。

 

MDPPLATFORM_CONFIG_SW_RENDERER:软件渲染 

SetupPlatformPanelConfig 函数里选定要使用的 panel 节点 

FindPanelIndex 选择 panel 时序,如果需要添加新 panel,则添加到
sMDPPlatformPanelFunction 中即可,这样就可以将新添加的 xmldata 添加到
panellist

 


代码路径: boot_images/QcomPkg/SocPkg/MannarPkg/Library/MDPPlatformLib/
MDPPlatformLibPanelConfig.h 

MDPPLATFORM_CONFIG_GETPANELCONFIG: 获取 panel 配置MDP_DISPLAY_PRIMARY MDP_DISPLAY_EXTERNAL 在这里可以支持双屏

MDPPLATFORM_CONFIG_POWERUP panel上电

 

 

 

 

MDPPLATFORM_CONFIG_SETBACKLIGHT 设置背光

i2c操作屏幕上电函数

头文件:/boot_images/QcomPkg/Include/Library/MDPPeripherals.h

代码实现:/boot_images/QcomPkg/Library/MDPLib/MDPPeripherals.c

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值