文档说明

本文档以SS826-CN-00(SDM450平台,Android 7)为例,说明如何修改PM8953寄存器,实现长按开机键重启的功能

应用背景

SS826默认Android代码,长按开机键为关机。

现在客户应用需要设置为:长按开机键重启。

PM8953寄存器读写

SS826内置PM8953,开机键由该芯片管理。

PM8953相关寄存器说明见下图:

安卓开机自启怎么设置(安卓系统修改长按开机键重启)(1)

这里以0x842寄存器为例,控制POWER按键长按后的行为,关机,热重启,硬件重启等。

adb shell:

cd /sys/kernel/debug/spmi/spmi-0

echo 0x842 > address

echo 0x100 > count

cat data

安卓开机自启怎么设置(安卓系统修改长按开机键重启)(2)

这里为0x04,查表为SHUTDOWN。

要改为重启:

echo 0x7 > data

安卓开机自启怎么设置(安卓系统修改长按开机键重启)(3)

测试,长按POWER键,机器重启(之前为关机)。

机器长按power键10秒重启(code中修改寄存器)

通过上述文档,并跟进kernel code:./drivers/platform/msm/qpnp-power-on.c

修改dts,实现长按power键10秒机器硬重启。

安卓开机自启怎么设置(安卓系统修改长按开机键重启)(4)

相关文档

《80-p2536-2x_d_pm8953_hardware_register_description.pdf》

,