Page 1 of 1

RV1106低功耗休眠与唤醒如何实现?

Posted: 2025-01-13 5:25
by stjk_tt
RV1106低功耗休眠与唤醒如何实现?有没有相关资料和帮助文档?

Re: RV1106低功耗休眠与唤醒如何实现?

Posted: 2025-01-13 13:06
by Crocodile
您好,休眠唤醒的实现方式如下
1 板级支持文件中的 RK_KERNEL_DEFCONFIG_FRAGMENT 属性添加 rv1106-pm.config
2 开启休眠唤醒打印(此步骤可省略)

Code: Select all

echo 1 > /sys/power/pm_print_times
3 进入休眠

Code: Select all

echo mem > /sys/power/state
4 添加唤醒源
设备树添加

Code: Select all

/ {
	gpio-keys {
		compatible = "gpio-keys";
		autorepeat;
		pinctrl-names = "default";
		pinctrl-0 = <&pwr_key>;
		power-key {
			gpios = <&gpioX RK_PXX GPIO_ACTIVE_HIGH>;
			linux,code = <KEY_POWER>;
			label ="GPIO Key Power";
			debounce-interval = <100>;
			wakeup-source;
		};
	};
};

&pinctrl {
	buttons {
		pwr_key:pwr-key{
			rockchip,pins = <X RK_PXX RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};
};
5 触发唤醒源
短接触发引脚和GND

打印日志如下

Code: Select all

[root@luckfox root]# echo mem > /sys/power/state [   18.433027] PM: suspend entry (s2idle)

[   18.581153] Filesystems sync: 0.148 seconds
[   18.581373] Freezing user space processes ... (elapsed 0.001 seconds) done.
[   18.582564] OOM killer disabled.
[   18.582570] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
[   18.583697] printk: Suspending console(s) (use no_console_suspend to debug)
[   18.658434] android_work: sent uevent USB_STATE=DISCONNECTED
[   26.368044] PM: pm_system_irq_wakeup: 66 triggered gpio_keys
[   26.369426] rk_gmac-dwmac ffa80000.ethernet: init for RMII
[root@luckfox root]# [   26.441535] rk_gmac-dwmac ffa80000.ethernet eth0: configuring for phy/rmii link mode
[   26.441722] dwmac4: Master AXI performs any burst length
[   26.441741] rk_gmac-dwmac ffa80000.ethernet eth0: No Safety Features support found
[   26.441755] rk_gmac-dwmac ffa80000.ethernet eth0: PTP not supported by HW
[   26.513537] rockchip-vop ff990000.vop: [drm:vop_crtc_atomic_enable] Update mode to 720x720p49, type: 17
[   26.616978] dwc3 ffb00000.usb: device reset
[   26.690168] android_work: sent uevent USB_STATE=CONNECTED
[   26.699666] android_work: sent uevent USB_STATE=CONFIGURED
[   26.730790] OOM killer enabled.
[   26.730792] Restarting tasks ... done.
[   26.740708] Resume caused by IRQ 66, gpio_keys
[   26.740713] PM: suspend exit
注意:该方法目前还存在问题休眠时会概率性出现EMMC错误只能通过重启唤醒,请谨慎使用