Android mtk 描述LK阶段实现开机震动

描述LK阶段实现开机震动

[SOLUTION]
1.若LK mt_pmic.c中有实现vibr_Enable_HW/vibr_Disable_HW函数,
请在LK platform.c中Show Logo 之前添加对其调用。

如在platform_init()里面mboot_common_load_logo()之前添加如下代码:

vibr_Enable_HW();//开启震动
mdelay(80); //震动80ms

vibr_Disable_HW();//关闭启震动

2.若LK mt_pmic.c中没有实现vibr_Enable_HW/vibr_Disable_HW函数,
请按如下说明实现vibr_Enable_HW/vibr_Disable_HW函数,
然后再按上面说明在适当位置添加代码对其进行调用。
a).在LK mt_pmic.h中添加vibr_Enable_HW/vibr_Disable_HW函数申明
extern void vibr_Enable_HW(void);
extern void vibr_Disable_HW(void);

b).在LK mt_pmic.c中实现vibr_Enable_HW/vibr_Disable_HW函数

void vibr_Enable_HW(void)
{
xxxx_upmu_set_rg_vibr_vosel(0x5); // 0x5: 2.8V, 0x6: 3V, 0x7: 3.3V
xxxx_upmu_set_rg_vibr_en(1);
}
void vibr_Disable_HW(void)
{
xxxx_upmu_set_rg_vibr_en(0);

}

或者

void vibr_Enable_HW(void)
{
pmic_set_register_value(PMIC_RG_VIBR_VOSEL,5);// 0x5: 2.8V, 0x6: 3V, 0x7: 3.3V
pmic_set_register_value(PMIC_RG_VIBR_EN,1);
}

void vibr_Disable_HW(void)
{
pmic_set_register_value(PMIC_RG_VIBR_EN,0);

}

其中xxxx_upmu_set_rg_vibr_*/pmic_set_register_value表示LK upmu_common.c中提供的相应API,
如upmu_set_rg_vibr_vosel/mt6325_upmu_set_rg_vibr_vosel/mt6331_upmu_set_rg_vibr_vosel等。

你可能感兴趣的:(android系统)