oleavr-rgl-a500-mini-linux-.../drivers/soc/allwinner/pm/resume1/resume1_head.c
Ole André Vadla Ravnås 169c65d57e Initial commit
2022-05-07 01:01:45 +02:00

55 lines
2 KiB
C

/*
* drivers/soc/sunxi/pm/resume1/resume1_head.c
* (C) Copyright 2010-2016
* Allwinner Technology Co., Ltd. <www.allwinnertech.com>
* Gary.Wang <wangflord@allwinnertech.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*/
#include <linux/types.h>
#pragma arm section rodata = "head"
#define RESUMEX_MAGIC "eGON.BT0"
#define STAMP_VALUE 0x5F0A6C39
#define RESUME_FILE_HEAD_VERSION "1100" /* X.X.XX */
#define RESUME_VERSION "1100" /* X.X.XX */
#define PLATFORM "1633"
#define NF_ALIGN_SIZE 1024
#define RESUMEX_ALIGN_SIZE NF_ALIGN_SIZE
#define RESUME_PUB_HEAD_VERSION "1100" /* X.X.XX */
#define RESUMEX_FILE_HEAD_VERSION "1230" /* X.X.XX */
#define RESUMEX_VERSION "1230" /* X.X.XX */
#define EGON_VERSION "1100" /* X.X.XX */
struct resume_file_head_t {
__u32 jump_instruction; /* one intruction jumping to real code */
__u8 magic[8]; /* ="eGON.BT0" or "eGON.BT1", not C-style string. */
__u32 check_sum; /* generated by PC */
__u32 length; /* generated by PC */
__u32 pub_head_size; /* the size of resume_file_head_t */
__u8 pub_head_vsn[4]; /* the version of resume_file_head_t */
__u8 file_head_vsn[4]; /* the version of resume0_file_head_t or resume1_file_head_t */
__u8 Resume_vsn[4]; /* Resume version */
__u8 eGON_vsn[4]; /* eGON version */
__u8 platform[8]; /* platform information */
};
const struct resume_file_head_t resume_head = {
/* jump_instruction */
(0xEA000000 | (((sizeof(struct resume_file_head_t) + sizeof(int) - 1) / sizeof(int) - 2) & 0x00FFFFFF)),
/* 0xe3a0f000, */
RESUMEX_MAGIC,
STAMP_VALUE,
RESUMEX_ALIGN_SIZE,
sizeof(struct resume_file_head_t),
RESUME_PUB_HEAD_VERSION,
RESUMEX_FILE_HEAD_VERSION,
RESUMEX_VERSION,
EGON_VERSION,
};