lk中通过操作pmic的寄存器来实现手机重启3次进入关机状态
2016-02-04 16:32
579 查看
说明:在下面的条件发生时,代表手机异常了,需要读取0x88e寄存器的值,默认是0.如果其值小于3,则进行加一(注意不能自加),然后写入到0x88e寄存器,然后进行重启,重启原因使用上次一致的。重启之后如果检测到还是异常又进入这个条件,则再对0x88e进行加一写入。一致循环到其值为3,然后把0写入,然后关机。如果这个过程中有一次不满足异常条件都会把这个寄存器写0.具体代码如下(重启寄存器的值不会丢):
if(id_value != 0x08)
{
val = pm8x41_reg_read(0x88e);
dprintf(CRITICAL, "zll----0--pls doreboot device here= %d, val=%d\n", id_value,val);
if(val < 3){
val += 1;
pm8x41_reg_write(0x88e,val);
val =pm8x41_reg_read(0x88e);
dprintf(CRITICAL,"zll----1--pls do reboot device here= %d, val=%d\n", id_value,val);
if(hard_reboot_mode != 0)
reboot_device_black(hard_reboot_mode);
}else{
pm8x41_reg_write(0x88e,0x00);
val =pm8x41_reg_read(0x88e);
dprintf(CRITICAL,"zll----2--pls do reboot device here= %d, val=%d\n", id_value,val);
shutdown_device();
}
}else{
pm8x41_reg_write(0x88e,0x00);
val = pm8x41_reg_read(0x88e);
dprintf(CRITICAL,"zll----3--pls do reboot device here= %d, val=%d\n", id_value,val);
}
if(id_value != 0x08)
{
val = pm8x41_reg_read(0x88e);
dprintf(CRITICAL, "zll----0--pls doreboot device here= %d, val=%d\n", id_value,val);
if(val < 3){
val += 1;
pm8x41_reg_write(0x88e,val);
val =pm8x41_reg_read(0x88e);
dprintf(CRITICAL,"zll----1--pls do reboot device here= %d, val=%d\n", id_value,val);
if(hard_reboot_mode != 0)
reboot_device_black(hard_reboot_mode);
}else{
pm8x41_reg_write(0x88e,0x00);
val =pm8x41_reg_read(0x88e);
dprintf(CRITICAL,"zll----2--pls do reboot device here= %d, val=%d\n", id_value,val);
shutdown_device();
}
}else{
pm8x41_reg_write(0x88e,0x00);
val = pm8x41_reg_read(0x88e);
dprintf(CRITICAL,"zll----3--pls do reboot device here= %d, val=%d\n", id_value,val);
}
相关文章推荐
- rpm安装的mysql 如何卸载干净
- 8939 在Sbl里的pmic中使用延迟函数
- IPMI的基本用法
- npm 淘宝镜像
- 【bug】No package npm available.
- EPM修改admin用户
- EPM问题汇总之----Planning打印乱码
- EPM问题汇总之规则运行时间过长总是提示
- EPM问题汇总之Essbase启动数据库报错无法加载数据库
- EPM问题汇总之2.1安装问题汇总----1
- EPM日志路径
- EPM2.3客户化logo设置
- EPM2.1客户化logo设置
- npm上传cordova插件
- EPM常用地址
- EPM常用新建系统用户语句
- OPENGL 纹理贴图 过滤 mipmaps (shader)
- rpm
- APM_for_PX4_NAVIO+_Erle-Brain AC3.3rc8
- 改变NPM的镜像