Android6.0 LK添加开机震动

1.若LK mt_pmic.c中有实现vibr_Enable_HW/vibr_Disable_HW函数,
请在LK platform.c中Show Logo 之前添加对其调用。
如在platform_init()里面mboot_common_load_logo()之前添加如下代码:
-----------------------------------------
drv_video_init();
	/*add open vibrate lds 20161011*/
	vibr_Enable_HW();/*开启震动*/
	mdelay(360); /*震动80ms*/
	vibr_Disable_HW();/*关闭启震动*/
	/*end*/
	mboot_common_load_logo((unsigned long)mt_get_logo_db_addr_pa(), "logo");
-----------------------------------------
 
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等。

你可能感兴趣的:(MTK随记)