在QCS8550中, 能否帮助说明如何从XBL引导加载程序的上下文中路由PWM1生成器来驱动PMIC“RGB_R”输出,输出PWM,以实现自定义引导加载程序LCD面板飞溅/引导徽标显示支持?

旺仔QQq糖 2024-10-12 10:02:21

在QCS8550中, 能否帮助说明如何从XBL引导加载程序的上下文中路由PWM1生成器来驱动PMIC“RGB_R”输出,输出PWM,以实现自定义引导加载程序LCD面板飞溅/引导徽标显示支持?

...全文
821 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38498942 2024-10-17
  • 打赏
  • 举报
回复

加完以上的bug信息之后, 最后使用PmicRgbLedProtocol API成功配置并启用了RGB_R和RGB_G驱动程序输出的PWM。

weixin_38498942 2024-10-17
  • 打赏
  • 举报
回复

根据您的建议和以下文档中的数据:“HRD-PM8550-S”,我们在其中添加了一些额外的调试打印:“boot/QcomPkg/Drivers/PmicDxe/PmicPwmProtocol.c”,例如:

@@ -172,6 +172,8 @@ EFI_PmicPwmGetStatus
 {
    pm_err_flag_type errFlag = PM_ERR_FLAG_SUCCESS;
    pm_pwm_status_type pwm_status = {0};
+   
+   DEBUG((EFI_D_ERROR, "PmicDxe: PmicPwmProtocol.c -> EFI_PmicPwmGetStatus()\n"));

    if (NULL == PwmStatus)
    {
@@ -194,6 +196,44 @@ EFI_PmicPwmGetStatus
       PwmStatus->Exp            = (UINT32)pwm_status.exp;
       PwmStatus->GlitchRemoval  = (BOOLEAN)pwm_status.glitch_removal;
    }
+   DEBUG((EFI_D_ERROR, "PwmStatus->PwmEnable = %d\n", PwmStatus->PwmEnable));
+   DEBUG((EFI_D_ERROR, "PwmStatus->PwmValue = %d\n", PwmStatus->PwmValue));
+   DEBUG((EFI_D_ERROR, "PwmStatus->BitSize = %d\n", PwmStatus->BitSize));
+   DEBUG((EFI_D_ERROR, "PwmStatus->ClkFreq = %d\n", PwmStatus->ClkFreq));
+   DEBUG((EFI_D_ERROR, "PwmStatus->PreDiv = %d\n", PwmStatus->PreDiv));
+   DEBUG((EFI_D_ERROR, "PwmStatus->Exp = %d\n", PwmStatus->Exp));
+   DEBUG((EFI_D_ERROR, "PwmStatus->GlitchRemoval = %d\n", PwmStatus->GlitchRemoval));

我们已尝试按如下方式设置PWM1输出:

+    eStatus = PmicPwmProtocol->PwmConfig(PM_DEVICE_1, EFI_PM_PWM_RSRC_PWM_1, 255, 1, 1, EFI_PM_PWM_CLK_1_0_KHZ, EFI_PM_PWM_SIZE_9BIT);
+    eStatus = PmicPwmProtocol->SetPwmValue(PM_DEVICE_1, EFI_PM_PWM_RSRC_PWM_1, 255);
+    eStatus = PmicPwmProtocol->GetStatus(PM_DEVICE_1, EFI_PM_PWM_RSRC_PWM_1, &PwmStatus);

我们的调试跟踪显示了以下输出:

PmicDxe: PmicPwmProtocol.c -> EFI_PmicPwmGetStatus()
PwmStatus->PwmEnable = 1
PwmStatus->PwmValue = 255
PwmStatus->BitSize = 3
PwmStatus->ClkFreq = 1 -> corresponds to "CLK_1kHz" 
PwmStatus->PreDiv = 1 -> corresponds to "PREDIV_three" 
PwmStatus->Exp = 1 -> corresponds to "EXP_one" 
PwmStatus->GlitchRemoval = 0

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧