RK809电源管理芯片

休眠流程
/etc/init.d/S99input-event-daemon--> /etc/input-event-daemon.conf--> /etc/power-key.sh--> echo -n mem > /sys/power/state
/etc/init.d/S99input-event-daemon开机自启脚本启动输入事件守护进程
#! /bin/sh
[ -f /usr/bin/input-event-daemon ] || exit 0
start() {printf "Starting input-event-daemon: "input-event-daemon -v /dev/input/event*echo "done"
}
stop() {printf "Stopping input-event-daemon: "killall input-event-daemonecho "done"
}
restart() {stopstart
}
# See how we were called.
case "$1" instart)start;;stop)stop;;restart|reload)restart;;*)echo "Usage: $0 {start|stop|reload|restart}"exit 1
esac
exit $?
/etc/input-event-daemon.conf配置文件
#input-event-daemon守护进程根据/etc/input-event-daemon.conf配置文件对输入源进行监听cat /etc/input-event-daemon.conf
#
# /etc/input-event-daemon.conf
#[Keys]
*POWER:1 = /etc/power-key.sh press
*POWER:0 = /etc/power-key.sh release
MUTE = amixer -q set Master mute
FN+VOLUMEUP = factory_reset_cfg
CTRL+ALT+ESC = beep
/etc/power-key.sh执行具体的休眠操作
echo -n mem > /sys/power/state
唤醒流程
RK809芯片INT引脚触发中断,连接的RK3568上GPIO0_A3进行唤醒操作
rk809: pmic@20 {compatible = "rockchip,rk809";reg = <0x20>;interrupt-parent = <&gpio0>;interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
};rk3568.dtsi板级文件定义了RKPM_GPIO_WKUP_EN通过GPIO唤醒
rockchip_suspend: rockchip-suspend {compatible = "rockchip,pm-rk3568";status = "disabled";rockchip,sleep-debug-en = <1>;rockchip,sleep-mode-config = <(0| RKPM_SLP_ARMOFF_LOGOFF| RKPM_SLP_CENTER_OFF| RKPM_SLP_HW_PLLS_OFF| RKPM_SLP_PMUALIVE_32K| RKPM_SLP_OSC_DIS| RKPM_SLP_PMIC_LP| RKPM_SLP_32K_PVTM)>;rockchip,wakeup-config = <(0| RKPM_GPIO_WKUP_EN)>;
};
关机流程
长按pmic芯片poweron按键引脚低电平6/8/10/12秒关闭pmic,时间可配置寄存器调节

开机流程
pmic芯片poweron按键引脚低电平500ms/100ms开启pmic,时间可配置寄存器调节
