本文主要是介绍RK809搞一下长按PWR键重启,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
拿到的源码默认长按关机,短按开机,
不要长按关机,
只要长按重启
那么看一下规格书:
看一下驱动:
没有做这个寄存器的配置?i2cset测试一下:
i2cget -f -y 0 0x20 0xf7
0x86
默认是86,长按关机,
那自己加一下试试:
i2cset -f -y 0 0x20 0xf7 0xc6
测试成功。
自己加一下寄存器初始化:
/* power down configuration 0xf7 */
#define RK817_PWR_KEY_LONG_PRESS_MASK BIT(6)
#define RK817_PWR_KEY_LONG_PRESS_H BIT(6)
#define RK817_PWR_KEY_LONG_PRESS_L (0)
static const struct rk808_reg_data rk817_pre_init_reg[] = {
{RK817_RTC_CTRL_REG, RTC_STOP, RTC_STOP},
{RK817_GPIO_INT_CFG, RK817_INT_POL_MSK, RK817_INT_POL_L},
{RK817_SYS_CFG(1), RK817_HOTDIE_TEMP_MSK | RK817_TSD_TEMP_MSK,
RK817_HOTDIE_105 | RK817_TSD_140},
{RK817_PMIC_PWRON_KEY,RK817_PWR_KEY_LONG_PRESS_MASK,RK817_PWR_KEY_LONG_PRESS_H}
};
这篇关于RK809搞一下长按PWR键重启的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!