18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Annapurna labs cpu-resume register structure.
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright (C) 2015 Annapurna Labs Ltd.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#ifndef ALPINE_CPU_RESUME_H_
98c2ecf20Sopenharmony_ci#define ALPINE_CPU_RESUME_H_
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci/* Per-cpu regs */
128c2ecf20Sopenharmony_cistruct al_cpu_resume_regs_per_cpu {
138c2ecf20Sopenharmony_ci	uint32_t	flags;
148c2ecf20Sopenharmony_ci	uint32_t	resume_addr;
158c2ecf20Sopenharmony_ci};
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ci/* general regs */
188c2ecf20Sopenharmony_cistruct al_cpu_resume_regs {
198c2ecf20Sopenharmony_ci	/* Watermark for validating the CPU resume struct */
208c2ecf20Sopenharmony_ci	uint32_t watermark;
218c2ecf20Sopenharmony_ci	uint32_t flags;
228c2ecf20Sopenharmony_ci	struct al_cpu_resume_regs_per_cpu per_cpu[];
238c2ecf20Sopenharmony_ci};
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci/* The expected magic number for validating the resume addresses */
268c2ecf20Sopenharmony_ci#define AL_CPU_RESUME_MAGIC_NUM		0xf0e1d200
278c2ecf20Sopenharmony_ci#define AL_CPU_RESUME_MAGIC_NUM_MASK	0xffffff00
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci#endif /* ALPINE_CPU_RESUME_H_ */
30