问题1
问题模组:三星s5k4h7模组
模组厂:光阵
现象:低温-10°存储1个小时,开机后,第一次打开摄像头,多个模组出现花屏问题以及Camera读不到id问题,
花屏问题的机器,第二次或者第三次打开后就好了,
读不到id的机器,第二次重启系统,就正常了
现象截图:
第二次打开摄像头
第三次打开摄像头
思考
目前有2个问题:
- 1.低温下Camera花屏的问题
- 2.低温下Camera读不到id问题
首先这2个问题都是概率性的,不是所有机器都会出现,另外一个很重要的现象:
针对低温花屏问题:第二次或者第三次打开后预览画面正常
针对低温读不到id问题:第二次或者第三次打开,或者再次重启就好了
所以跟软件的关系不大,因为正常温度下,没有这种现象,怀疑跟硬件相关,低温下可能供电不稳定,这个不稳定应是低温的条件下,某个器件没法正常工作!
但是硬件怀疑跟软件也有关系,因此软件方面也帮忙排查。
解决思路-确认排查方向
1.软件排查
1.1 版本回退
看以前的版本是否出现问题!
1.2去除lsc补偿
2.上电时序排查
3.供电排查
4.得出结论
最终我们发现是低温情况下,LDO工作不稳定,
导致给AVDD的供电不足1.2v,因此造成了花屏或者读不到ID问题!!
这里的LDO概念:
LDO即low dropout regulator,是一种低压差线性稳压器,我们用的是1.2V的LDO。
硬件原理图
最终解决方案
-
1.软件上有规避方案
毕竟有一些机器已经出货了,本分思想,极力配合解决!
pm8916_s3提高在启动camera时,拉高到1.5v,(原先是1.4v),在低温下不稳定!
拉高后,低温下的供电如下:
可以看到,DVDD上电很稳定了!!!
kernel/arch/arm/boot/dts/qcom/项目.dtsi
qcom,camera@1 {
···
cam_vdig-supply = <&pm8916_s3>;
-qcom,cam-vreg-min-voltage = <1400000 2800000>;
-qcom,cam-vreg-max-voltage = <1400000 2800000>;
+qcom,cam-vreg-min-voltage = <1500000 1800000>;
+qcom,cam-vreg-max-voltage = <1500000 1800000>;
···
}
kernel/arch/arm/boot/dts/qcom/msm8916-regulator.dtsi
pm8916_s3: regulator-s3 {
regulator-min-microvolt = <1200000>;
-regulator-max-microvolt = <1400000>;
+regulator-max-microvolt = <1500000>;
qcom,init-voltage = <1200000>;
status = "okay";
}
rpm_proc/core/systemdrivers/pmic/config/msm8909/pm8916/pm_config_target.c
-- {300, 0, PM_ACCESS_ALLOWED, PM_ALWAYS_ON, PM_NPA_SW_MODE_SMPS__NPM, PM_CLK_1p6_MHz, PM_CLK_1p6_MHz, PM_DROOP_DETECT_DIS, 1250, 1413, 0, PM_SETTLING_ERR_DIS, PM_SETTLING_EN, 0}, //ULT BUCK CTL1
++ {300, 0, PM_ACCESS_ALLOWED, PM_ALWAYS_ON, PM_NPA_SW_MODE_SMPS__NPM, PM_CLK_1p6_MHz, PM_CLK_1p6_MHz, PM_DROOP_DETECT_DIS, 1250, 1500, 0, PM_SETTLING_ERR_DIS, PM_SETTLING_EN, 0}, //ULT BUCK CTL1
按照高通的意思。这路电的改动可能会有风险!
因为是系统供电,还没其他模块,比如wlan供电!
好消息是,我们wlan不用这路电!因此改动后加大测试,基本发现问题!
- 2.硬件方案
我们更换了更加稳定的LDO!
网友评论