该系列文章总目录链接与各部分简介: Android Qcom Display学习(零)
https://www.guidgenerator.com/online-guid-generator.aspx
什么是UEFI
高通平台UEFI有关介绍
高通605平台屏调试(4):UEFI初始化流程
Android SDM660开机流程- UEFI XBL 代码流程分析
第一次接触到UEFI(Unified Extensible Firmware Interfacen ,统一可扩展固件接口)是实习的时候,主要是服务器的底层,当时以为只有服务器或者PC主机的Bootloader才是UEFI,现在也忘的差不多了,在高通平台上继续学习一下
高通UEFI主要分为XBL和ABL两部分组成。
XBL负责芯片驱动及充电等核心应用功能,XBL核心是none-HLOS boot_image代码的一部分,属于高通私有代码。
ABL包括芯片无关的应用,ABL则在开源Linux Android代码树里,负责Linux加载启动及fastboot等功能组件。
高通UEFI启动流程:SEC(安全验证) DXE(驱动执行环境) BDS(启动设备选择) RT(OS Loader)

Display
高通UEFI研究[五]
【Android SDM660源码分析】- 03 - UEFI XBL GraphicsOutput BMP图片显示流程
LCD Porting的原则:先点亮Kernel,再点亮UEFI。
amss/BOOT.XF.4.1/boot_images/QcomPkg/Drivers/DisplayDxe/DisplayDxe.inf DisplayDxe.c
amss/BOOT.XF.4.1/boot_images/QcomPkg/Library/MDPLib/MDPLib.c DisplayUtils.c

(1)ABL fastboot override list boverride
(2)XBL dynamic detect panel id bDetectPanel
(3)SW RENDER bSWRender 比如DISP_MODE_PANEL_NONE DISP_MODE_SKIP_BOOTLOADER
SetupPlatformPanelConfig判断是否是SW RENDER(3)或者override panel(1)或者default panel(2);
default panel中pDetectPanel = TRUE才触发DynamicDSIPanelDetection,(1)(3)有一个满足都不会执行
ENTRY_POINT = DisplayDxeInitialize
MDPSetProperty(MDP_DISPLAY_PRIMARY, MDP_DISPLAY_PROPERTY_ABL_INTERFACE_INIT, NULL)
Display_Utils_Initialize();/* 初始化ABL Later中Display的配置内容 */
checkTargetPanelSupport(); /* 获取支持的面板列表 */
MDPPlatformConfigure(MDP_DISPLAY_PRIMARY, MDPPLATFORM_CONFIG_GETPANELDTINFO, &sPlatformParams) ↓↓↓
CheckPanelOverride(); /* 检查是否fastboot oem panel name手动设置新的面板,默认不处理 bPanelOverride */
pDisplayContext->bOverride = ParsePanelOverrideCommand(panelOverrideStr, &pDisplayContext->sDisplayParams);↓↓↓
MDPInit(&sInitParam, MDP_INIT_FLAG_MMU_INIT) /* MDPInit获取当前屏的硬件配置和屏的信息 */
MDPPlatformConfigure(MDP_DISPLAY_PRIMARY, MDPPLATFORM_CONFIG_SW_RENDERER, &sPlatformParams) ↓↓↓
FALSE == bSWRender /* SW_RENERER模式是没有屏的情况下,使用了一个默认的最低配置 */
MDPPlatformConfigure(MDP_DISPLAY_PRIMARY, MDPPLATFORM_CONFIG_GETPLATFORMINFO, &sPlatformParams)
MDPPower

本文详细介绍了高通平台上的UEFI启动流程,包括XBL和ABL两个部分,以及在Display初始化中的重要作用。讲解了UEFI如何检测和配置屏幕,如SW_RENDER模式、面板检测和Override机制。同时,涉及关键函数如MDPPlatformConfigure在配置显示过程中的应用,以及不同阶段的配置参数和结构体。
最低0.47元/天 解锁文章
9210

被折叠的 条评论
为什么被折叠?



