疫情期间在家办公,工作量相对少一点,整理了UEFI的相关知识,今天分享下高通平台UEFI中马达震动调试。

UEFI中高通默认的马达震动代码:

boot_images/QcomPkg/XBLLoader/boot_extern_pmic_interface.c

安卓主板测试规范(高通平台UEFI中马达震动调试)(1)

需要开机震动时,设置为PM_ON,当不需要开机震动时,设置为PM_OFF;或者找到调用boot_pm_vib_on的地方注释掉。

dts中的配置:

安卓主板测试规范(高通平台UEFI中马达震动调试)(2)

有时候平台默认的马达震动并不满足我们的要求,比如震动力度小,震动的时机太早/晚等;这个时候我们就需要自己调用马达的接口函数,设置这些参数,并在适当的位置enable;

例如:boot_images/QcomPkg/Library/PlatformBdsLib/PlatformBdsLib.c的PlatformBdsInitEx函数中实现设置电压,震动时间。PlatformBdsInitEx这个函数加载的比较早,一开机就立马震动:

安卓主板测试规范(高通平台UEFI中马达震动调试)(3)

为防止编译报错,需在对应的inf文件PlatformBdsLib.inf加入:

安卓主板测试规范(高通平台UEFI中马达震动调试)(4)

以上都是我在工作中的实际案例,绝对的干货!

,