SM4350 背光控制--关闭XBL WLED

项目场景:

该项目背光有两种控制方式一种是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:

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨染天姬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值