rk3328 suspend: How to define wakeup sources?

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>;
};

Please grep keyword ‘wakeup’ in the dts files to find some examples.

I was completely taken by that article. The Test C_ARCIG_2508 study guide exam papers are free! Best of luck to everyone preparing!

あなたはThe Open GroupのOGBA-101試験への努力を通して満足的な結果を得られているのは我々Tech4Examの希望です。信じられないなら、弊社のデモをやってみて、The Open GroupのOGBA-101試験問題集を体験することができます。試して我々専門家たちの真面目さを感じられています。The Open GroupのOGBA-101試験のほかの試験に参加するつもりでしたら、あなたも弊社のTech4Examでふさわしいソフトを探すことができます。あなたは満足できると信じています。

That article was a goldmine of information. Mule-Dev-301 brain exam offers great insights, and it’s completely free to access.

The article was really wonderful; thank you for sharing! Take advantage of Latest Cybersecurity-Practitioner test tips, full of valuable content, available for free.

I’m absolutely sold on this content, liking it now. I achieved a promotion and salary increase with the help of this NCP-AI valid dumps pdf. Now it’s free for everyone. Best wishes for your own career growth!