uefi_panel_display_bringup

The UEFI workflow is as follows:
    1. Set default panel
    2. Preconfigure MDP-related register and setup SMMU
    3. Display Dxe set mode
    4. Initialize DSI-Phy and Ctrl
    5. Initialize TG/PP and panel
    6. Display splash logo and exit UEFI
 

The UEFI workflow is as follows:
	1. Set default panel
	2. Preconfigure MDP-related register and setup SMMU
	3. Display Dxe set mode
	4. Initialize DSI-Phy and Ctrl
	5. Initialize TG/PP and panel
	6. Display splash logo and exit UEFI

The kernel bringUp in 80-PV988-84 Rev

Following sections provide the call flow for each of the above steps

The following figure shows the workflow of display panel bringup in UEFI.
      NOTE For Android devices, bring up the panel in the Linux kernel 
      before the panel bringup in the UEFI.
1:	Start

2:	Prepare panel data in one xml file per panel using existing MTP/CDP panel as reference.

3:	Modify XML data with panel init command, resolutions, timings and so on based on panel specifications.

4:	Define and configure panel GPIOs and regulators to reset panel, refer to Panel_CDP_PowerUP and Panel_CDP_PeripheralPower.

5:	Modify MDPPlatformConfigure ()
	MDPPLATFORM_CONFIG_POWERUP to connect platform panel to its reset functions.

6:	Build and flash

    Display comes up?

7:	if NO ->Debug No-> to start
	if Yes -> Enable continuous splash

8:  end

2.1.2 For boot version BOOT.XF.3.0 and later versions
  2.1.2.1 Prepare the XML file for panel configuration
  
  1. Prepare the XML data by referring to examples at <>/QcomPkg/Settings/Panel/*.xml
      The examples for panel, its resolution, and respective XML data is listed in the following table
  2. Modify the panel configuration based on the panel specifications and the UEFI XML format and save the XML file at <>/QcomPkg/Settings/Panel/*.xml
For details on all the configuration parameters related to display, see Display Drivers (ACPI and XML) Configuration Guide (80-NB116-2). The same XML syntax is shared between Windows ACPI and Linux Android UEFI display drivers
	 
  3. Add the panel name and panel xml file location to flash layout file at: <>/QcomPkg/SocPkg/<ChipsetName>/Common/Core.fdf

   For example,
#
# Display panel configuration xml
#
	FILE FREEFORM = 8cae2c55-fc5a-410b-812b-8ca22f572f36 {//uuid
	SECTION UI = "Panel_truly_wqxga_dsc_cmd.xml"
	SECTION RAW = QcomPkg/Settings/Panel/Panel_truly_wqxga_dsc_cmd.xml
}

	4. Add panel type to MDPPlatformLibPanelConfig file <>/QcomPkg/SocPkg/<ChipsetName>/Library/MDPPlatformLib/MDPPlatformLibPanelConfig.h

	MDPPlatformPanelFunctionTable
	a. Add new platform and panel xml in header files. For example,
	{
		MDPPLATFORM_PANEL_AUO_1080P_EDP, // ePanelSelected
		"Panel_auo_1080p_edp.xml", // pPanelXmlConfig
		Panel_CLS_PowerUp, // pPanel_PowerUp
		Panel_CLS_PowerDown, // pPanel_PowerDown
		Panel_CLS_Reset, // pPanel_Reset
		Panel_CLS_Peripheral_Power, // pPanel_Peripheral_Power
		Panel_CLS_Brightness_Enable, // pPanel_Brightness_Enable
		Panel_CLS_Brightness_Level // pPanel_Brightness_Level
	},

	b. Add new platform power/peripheral/backlight control functions under <>/QcomPkg/SocPkg/<ChipsetName>/Library/MDPPlatformLib/MDPPlatformLibPanelEdp.c. For
example,
	MDP_Status Panel_CLS_PowerUp(MDP_Display_IDType eDisplayId,
	Panel_PowerCtrlParams *pPowerParams){...}
	MDP_Status Panel_CLS_PowerDown(MDP_Display_IDType eDisplayId,
	Panel_PowerCtrlParams *pPowerParams){...}
	MDP_Status Panel_CLS_Peripheral_Power(MDP_Display_IDType eDisplayId,
	Panel_PowerCtrlParams *pPowerParams, bool32 bPowerUp){...}
	MDP_Status Panel_CLS_Brightness_Enable(MDP_Display_IDType eDisplayId,
	Panel_PowerCtrlParams *pPowerParams){...}
	MDP_Status Panel_CLS_Brightness_Level(MDP_Display_IDType eDisplayId,
	BacklightConfigType *pBacklightConfig){...}
	MDP_Status Panel_CLS_Reset(MDPPlatformPanelResetInfo *pResetInfo){...}

	5. Add OEM panel to uefiPanelList[0] and define its detection parameters at:<>/ QcomPkg/SocPkg/<ChipsetName>/Library/MDPPlatformLib/MDPPlatformLib.c
	
	For example,
const MDPPlatformPanelType uefiPanelList[] =
{
	MDPPLATFORM_PANEL_SHARP_4K_DSC_CMD, /* NT35950 4k
	command panel DSC mode */
	MDPPLATFORM_PANEL_SHARP_4K_DSC_VIDEO, /* NT35950 4k
	video panel DSC mode */
	MDPPLATFORM_PANEL_TRULY_WQXGA_DSC_CMD, /* Truly 2k cmd
	panel DSC mode single dsi */
	MDPPLATFORM_PANEL_TRULY_WQXGA_DSC_
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值