xref: /linux/arch/arm/mach-alpine/alpine_cpu_resume.h (revision 666ed8bfd1de3b091cf32ca03b651757dd86cfff)
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * Annapurna labs cpu-resume register structure.
4  *
5  * Copyright (C) 2015 Annapurna Labs Ltd.
6  */
7 
8 #ifndef ALPINE_CPU_RESUME_H_
9 #define ALPINE_CPU_RESUME_H_
10 
11 /* Per-cpu regs */
12 struct al_cpu_resume_regs_per_cpu {
13 	uint32_t	flags;
14 	uint32_t	resume_addr;
15 };
16 
17 /* general regs */
18 struct al_cpu_resume_regs {
19 	/* Watermark for validating the CPU resume struct */
20 	uint32_t watermark;
21 	uint32_t flags;
22 	struct al_cpu_resume_regs_per_cpu per_cpu[];
23 };
24 
25 /* The expected magic number for validating the resume addresses */
26 #define AL_CPU_RESUME_MAGIC_NUM		0xf0e1d200
27 #define AL_CPU_RESUME_MAGIC_NUM_MASK	0xffffff00
28 
29 #endif /* ALPINE_CPU_RESUME_H_ */
30