说明:在下面的条件发生时,代表手机异常了,需要读取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)
r