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