Hi all,
Can anyone describe how to configure the roc-rk3328-cc for suspend and wakeup? I need information on:
- how to configure the rk3328 for low power consumption in suspend
- how to configure wakeup sources: USB OTG, UART, GPIO…
In the Firefly (roc-rk3328-cc) and Rockchip (develop-4.4) Linux kernel repos the process is just barely described in Documentation/devicetree/bindings/soc/rockchip/rockchip-pm-config.txt, with the rk3328 configuration example being only how to disable:
rockchip_suspend: rockchip-suspend {
compatible = "rockchip,pm-rk3328";
status = "disabled";
rockchip,virtual-poweroff = <0>;
};
The actual rk3328.dtsi files in the Firefly (roc-rk3328-cc) and Rockchip (develop-4.4) Linux kernel repos look slightly different, why? And why are not rockchip,wakeup-config and rockchip,pwm-regulator-config configured?
rockchip_suspend: rockchip-suspend {
compatible = "rockchip,pm-rk3328";
status = "disabled";
rockchip,sleep-mode-config = <0>;
rockchip,virtual-poweroff = <0>;
};
Also the corresponding suspend header file for rk3328, include/dt-bindings/suspend/rockchip-rk3328.h, does not list any relevant bits to use for sleep and wakeup configuration, like the rk3399 header file does, why?
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Header providing constants for Rockchip suspend bindings.
*
* Copyright (C) 2018, Fuzhou Rockchip Electronics Co., Ltd
* Author: XiaoDong.Huang
*/
#ifndef __DT_BINDINGS_ROCKCHIP_PM_H__
#define __DT_BINDINGS_ROCKCHIP_PM_H__
/******************************bits ops************************************/
#ifndef BIT
#define BIT(nr) (1 << (nr))
#endif
#define RKPM_SLP_CTR_VOL_PWM0 BIT(10)
#define RKPM_SLP_CTR_VOL_PWM1 BIT(11)
#endif
In the Rockchip (develop-4.4) Linux kernel repo the rk3328-evb-* and rk3328-rock64-* boards seem to enable the suspend, but what is the consequence for suspend and resume? How do I configure the wakeup sources?
&rockchip_suspend {
status = "okay";
rockchip,virtual-poweroff = <1>;
};