###MT6739,8.1,gc8034
由于是在量产线上出现的问题,首先就是拿过来重刷userdebug版本,抓取开机打印信息:
摄像头点不亮一般来讲跟上电关系比较大,log显示i2c没通,试试把DVDD提升到1.9v,发现可以点亮。这是由于摄像头的一致性不太好,有小部分模组需要的VDDIO要在1.8V之上才能点亮。(其实这个问题在之前的另一个项目上也有出现过…)
接下里就是要在软件实现提升电压了。
1、由于这是要从主板上供电的,我们找pmic的datasheet找到给DVDD上电的寄存器:
可知,寄存器0x1c40的默认值是0x0,此时默认电压是1.8v,+100mV就是 0xa。
2、kernel-4.4/drivers/misc/mediatek/pmic/common/upmu.c 这里面有两个函数用来操作pmic的寄存器:(这两个函数在很多地方都有使用)
unsigned int upmu_get_reg_value(unsigned int reg) //获取寄存器reg的值
{
unsigned int reg_val = 0;
unsigned int ret = 0;
ret = pmic_read_interface(reg, ®_val, 0xFFFF, 0x0);
return reg_val;
}
EXPORT_SYMBOL(upmu_get_reg_value);
void upmu_set_reg_value<