项目场景:
该项目背光有两种控制方式一种是PWM,还有一种是WLED。通过原理图我们知道WLED是由PM6150L控制的。
问题描述:
由于我们实际使用的是PWM,WLED只用于测试,因此如果不把WLED灯关掉,那么调试过程这个灯是一直亮着,晃的眼睛疼。
解决方案:
我们直接在XBL中关闭WLED背光的寄存就可以了。
BOOT.XF.4.2/boot_images/QcomPkg/SocPkg/MannarPkg/Library/MDPPlatformLib/MDPPlatformLibPanelCommon.c
@@ -521,12 +521,12 @@ MDP_Status Panel_Default_Brightness_Enable(MDP_Display_IDType eDisplayId, Panel_
{
DEBUG((EFI_D_ERROR, "Wled Protocol EnableWled failed\n"));
}
-
- if (EFI_SUCCESS != PmicWledProtocol->EnableCurrentSink(PMIC_E, EFI_PM_WLED_LED1|EFI_PM_WLED_LED2|EFI_PM_WLED_LED3))
- {
- DEBUG((EFI_D_ERROR, "Wled Protocol EnableCurrentSink failed\n"));
- }
-
+//modify by zh for taskid 17419 start
+ //if (EFI_SUCCESS != PmicWledProtocol->EnableCurrentSink(PMIC_E, EFI_PM_WLED_LED1|EFI_PM_WLED_LED2|EFI_PM_WLED_LED3))
+ // {
+ // DEBUG((EFI_D_ERROR, "Wled Protocol EnableCurrentSink failed\n"));
+ // }
+//modify by zh for taskid 17419 end
}
}
return Status;
@@ -632,11 +632,12 @@ MDP_Status Panel_Default_Peripheral_Power(MDP_Display_IDType eDisplayId, Panel_P
{
DEBUG((EFI_D_ERROR, "DisplayDxe: Error to disable LCDB\n"));
}
-
- if (EFI_SUCCESS != PmicWledProtocol->EnableCurrentSink(PMIC_E, EFI_PM_WLED_NONE))
- {
- DEBUG((EFI_D_ERROR, "Wled Protocol EnableCurrentSink failed\n"));
- }
+//modify by zh for taskid 17419 start
+// if (EFI_SUCCESS != PmicWledProtocol->EnableCurrentSink(PMIC_E, EFI_PM_WLED_NONE))
+ // {
+ // DEBUG((EFI_D_ERROR, "Wled Protocol EnableCurrentSink failed\n"));
+ // }
+//modify by zh for taskid 17419 end
if (EFI_SUCCESS != PmicWledProtocol->EnableWled(PMIC_PMI_DEV_INDEX, 0, FALSE))
{
@@ -675,7 +676,8 @@ MDP_Status Panel_Default_Brightness_Level(MDP_Display_IDType eDisplayId, Backlig
switch (pBacklightConfig->uBacklightCntrl.eBacklightCtrl)
{
case MDP_PMIC_BACKLIGHT_CONTROLTYPE_WLED:
- {
+//modify by zh for taskid 17419 start
+ /* {
EFI_QCOM_PMIC_WLED_PROTOCOL *PmicWledProtocol = NULL;
MDP_Log_Message(MDP_LOGLEVEL_ERROR, "Panel_Default_Brightness_Level MDP_PMIC_BACKLIGHT_CONTROLTYPE_WLED\n");
if (EFI_SUCCESS != gBS->LocateProtocol(&gQcomPmicWledProtocolGuid, NULL, (VOID **)&PmicWledProtocol))
@@ -697,7 +699,8 @@ MDP_Status Panel_Default_Brightness_Level(MDP_Display_IDType eDisplayId, Backlig
DEBUG((EFI_D_ERROR, "Wled Protocol SetLedDutyCycle for ModulatorB failed\n"));
}
}
- }
+ }*/
+//modify by zh for taskid 17419 end
#if defined(ODM_PROJECT_SRM900L)
case MDP_PMIC_BACKLIGHT_CONTROLTYPE_LPG:
{
@@ -771,7 +774,8 @@ MDP_Status Panel_Default_Brightness_Level(MDP_Display_IDType eDisplayId, Backlig
}
}
}
- #ifdef USE_DUAL_BACKLIGHT_CTRL
+//modify by zh for taskid 17419 start
+/* #if 0//def USE_DUAL_BACKLIGHT_CTRL
{
EFI_QCOM_PMIC_WLED_PROTOCOL *PmicWledProtocol = NULL;
MDP_Log_Message(MDP_LOGLEVEL_ERROR, "Panel_Default_Brightness_Level USE_DUAL_BACKLIGHT_CTRL start to open second wled\n");
@@ -795,7 +799,8 @@ MDP_Status Panel_Default_Brightness_Level(MDP_Display_IDType eDisplayId, Backlig
}
}
}
- #endif
+ #endif*/
+//modify by zh for taskid 17419 end
#endif
break;
default: