项目问题记录--CAMERA--微调上电电压,解决量产中有小概率摄像头识别不到

在MT6739、8.1系统及gc8034摄像头的项目中,遇到量产线上摄像头偶尔无法识别的问题。通过升级DVDD电压至1.9V解决了i2c通信未通的问题。在软件层面,通过修改PMIC寄存器值来实现电压调整,具体涉及upmu.c中的函数操作。不同平台对此支持不同,如mt6735m不支持电压微调。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

###MT6739,8.1,gc8034
由于是在量产线上出现的问题,首先就是拿过来重刷userdebug版本,抓取开机打印信息:
1.开机打印log
摄像头点不亮一般来讲跟上电关系比较大,log显示i2c没通,试试把DVDD提升到1.9v,发现可以点亮。这是由于摄像头的一致性不太好,有小部分模组需要的VDDIO要在1.8V之上才能点亮。(其实这个问题在之前的另一个项目上也有出现过…)

接下里就是要在软件实现提升电压了。
1、由于这是要从主板上供电的,我们找pmic的datasheet找到给DVDD上电的寄存器:
2.上电寄存器
可知,寄存器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, &reg_val, 0xFFFF, 0x0);
	return reg_val;
}
EXPORT_SYMBOL(upmu_get_reg_value);    

void upmu_set_reg_value<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值