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 #include <asm/suspend.h> 8*54925552SJoseph Chen #include <common.h> 9*54925552SJoseph Chen 10*54925552SJoseph Chen DECLARE_GLOBAL_DATA_PTR; 11*54925552SJoseph Chen cpu_suspend_save(struct pm_ctx * ctx,unsigned long sp)12*54925552SJoseph Chenvoid cpu_suspend_save(struct pm_ctx *ctx, unsigned long sp) 13*54925552SJoseph Chen { 14*54925552SJoseph Chen gd->pm_ctx_phys = (phys_addr_t)ctx; 15*54925552SJoseph Chen 16*54925552SJoseph Chen /* The content will be passed to cpu_do_resume as register sp */ 17*54925552SJoseph Chen ctx->sp = sp; 18*54925552SJoseph Chen ctx->cpu_resume_addr = (phys_addr_t)cpu_do_resume; 19*54925552SJoseph Chen 20*54925552SJoseph Chen cpu_do_suspend(ctx->suspend_regs); 21*54925552SJoseph Chen 22*54925552SJoseph Chen flush_dcache_all(); 23*54925552SJoseph Chen } 24