xref: /rk3399_rockchip-uboot/arch/arm/include/asm/suspend.h (revision 5492555290751859631312c831537632d8e653d3)
1*54925552SJoseph Chen /*
2*54925552SJoseph Chen  * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3*54925552SJoseph Chen  *
4*54925552SJoseph Chen  * SPDX-License-Identifier:     GPL-2.0+
5*54925552SJoseph Chen  */
6*54925552SJoseph Chen 
7*54925552SJoseph Chen #ifndef SUSPEND_H
8*54925552SJoseph Chen #define SUSPEND_H
9*54925552SJoseph Chen #include <common.h>
10*54925552SJoseph Chen #include <asm-generic/global_data.h>
11*54925552SJoseph Chen 
12*54925552SJoseph Chen /* suspend/resume core functions */
13*54925552SJoseph Chen void cpu_suspend_save(struct pm_ctx *ptr, unsigned long sp);
14*54925552SJoseph Chen void cpu_do_suspend(unsigned long *ptr);
15*54925552SJoseph Chen 
16*54925552SJoseph Chen void cpu_resume(void);
17*54925552SJoseph Chen void cpu_do_resume(void);
18*54925552SJoseph Chen 
19*54925552SJoseph Chen /*
20*54925552SJoseph Chen  * Exported to platform suspend, arg will be passed to fn as r0
21*54925552SJoseph Chen  * Return value: 0  - cpu resumed from suspended state.
22*54925552SJoseph Chen  *               -1 - cpu not suspended.
23*54925552SJoseph Chen  */
24*54925552SJoseph Chen int cpu_suspend(unsigned long arg, int (*fn)(unsigned long));
25*54925552SJoseph Chen #endif
26