Firefly Open Source Community

   Login   |   Register   |
New_Topic

[Linux] rk3328 suspend: How to define wakeup sources?

7

Credits

0

Prestige

0

Contribution

new registration

Rank: 1

Credits
7
Posted at 6/13/2019 19:38:47     
Last edited by pablo In 6/13/2019 19:40 Editor

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:
  1. rockchip_suspend: rockchip-suspend {
  2.                 compatible = "rockchip,pm-rk3328";
  3.                 status = "disabled";
  4.                 rockchip,virtual-poweroff = <0>;
  5. };
Copy the code

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?

      
  1. rockchip_suspend: rockchip-suspend {
  2.                 compatible = "rockchip,pm-rk3328";
  3.                 status = "disabled";
  4.                 rockchip,sleep-mode-config = <0>;
  5.                 rockchip,virtual-poweroff = <0>;
  6.         };
Copy the code


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?
  1. /* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
  2. /*
  3. * Header providing constants for Rockchip suspend bindings.
  4. *
  5. * Copyright (C) 2018, Fuzhou Rockchip Electronics Co., Ltd
  6. * Author: XiaoDong.Huang
  7. */
  8. #ifndef __DT_BINDINGS_ROCKCHIP_PM_H__
  9. #define __DT_BINDINGS_ROCKCHIP_PM_H__
  10. /******************************bits ops************************************/

  11. #ifndef BIT
  12. #define BIT(nr)                         (1 << (nr))
  13. #endif

  14. #define RKPM_SLP_CTR_VOL_PWM0           BIT(10)
  15. #define RKPM_SLP_CTR_VOL_PWM1           BIT(11)

  16. #endif
Copy the code


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?
  1. &rockchip_suspend {
  2.     status = "okay";
  3.     rockchip,virtual-poweroff = <1>;
  4. };
Copy the code

Reply

Use props Report

1337

Credits

0

Prestige

0

Contribution

vip

Rank: 6Rank: 6

Credits
1337
Posted at 6/18/2019 12:02:42     
Please grep keyword 'wakeup' in the dts files to find some examples.
Reply

Use props Report

You need to log in before you can reply Login | Register

This forum Credits Rules

Quick Reply Back to top Back to list