解决方案:背光驱动中使用spin_lock_irqsave和spin_unlock_irqrestore防止多cpu竞争。
问题 如何让Android进入待机睡眠状态(测试LCD电流)?
在终端中用如下命令: echo "1" > /sys/power/wake_lock
背光adb调试 /sys/class/backlight/sprd_backlight # cat brightness
如何测算LCD IC的功耗
[ANSWER]
LCD IC功耗也有几十mA,如果LCD的工作模式设置不一样,功耗上可能有差异,因此如何测算LCD IC的功耗呢,方法如下:
测试前最好将手机切到飞行模式,去除modem的干扰,并且将LCD自动灭屏的时间设得长一点,以防测试时系统自动背光灭,进入深睡
1. 手机连接电脑USB,将背光设置到0
adb root
adb shell
echo 0 > /sys/class/backlight/sprd_backlight/brightness
拔掉USB,此时屏是黑的,将手机切到飞行模式,使用精密电源测试在背光为0功耗数值A
2. 在1测试完后,立刻拔掉LCD的连接器,然后使用精密电源测试获得功耗数值B
3. 在指定亮度下LCD IC的功耗数值 = A - B
问题:手机丢落实验中,LCD图像错位
解决方案:将白边框黑底图片放进手机 量测D0波形,手机状况正常时可以看到白线数据在两边,异常时白线数据从两边移动到了靠近左侧区域。
由此图像平移是在数据刷进屏端前就已经发生异常。非LCD屏问题,需要平台协助确保送屏数据正常
SPRD问题解决方法:
这种情况一般是平台数据停止发送一段时间之后(可能跌落时的信号干扰),重新发送数据会有该现象。
请将dphy的pll unlock filter调至最大进行验证。
drivers/video/sprdfb/dsi_1_10a/mipi_dsih_dphy.c
258 data[0] = 0x70;^M
259 mipi_dsih_dphy_write(phy, 0x16, data, 1);
。。。
改成:
258 data[0] = 0xff;
259 mipi_dsih_dphy_write(phy, 0x16, data, 1);
电池校准
(1.必须接电池座的正极和主板的地来校准,特别注意不能用电池座的正极与负极来校准
2.校准时不能单独只校准电池参数,还要和其他项,比如说射频某一项一起校准,这样校准也准确)
测试的有些usb线,不符合项目的充电规格,导致充电电流偏小,无法4小时内满足充电要求,
特别是自带的充电宝的usb线,搞充电问题时,最好先确认下器件是否OK,再分析这问题是否属于BUG。
电流测试仪器必须要用Agilent电流仪来测试
测试电流,要找一台性能很好的整机保存着单独用来测试整机电流,不做其他用途,因为每台手机对电流也有影响,为确保更准确。