blob: ddf44329b0e65b15e5b751ebe821c3e13cf0b8c6 [file] [log] [blame]
/* SPDX-License-Identifier: (GPL-2.0+ OR MIT) */
/*
* Copyright (c) 2019 Amlogic, Inc. All rights reserved.
*/
#ifndef __STORE_WRAPPER_H__
#define __STORE_WRAPPER_H__
#include <amlogic/storage.h>
//logic write/read, if not MTD, same as store_write
int store_logic_write(const char *name, loff_t off, size_t size, void *buf);
int store_logic_read(const char *name, loff_t off, size_t size, void *buf);
u64 store_logic_cap(const char* partName);
int store_gpt_ops(size_t sz, void* buf, int isWr);
#define AML_MAGIC_HDR_L (0x4c4d4140) //"@AML"
#define AML_MAGIC_HDR_R (0x544f4f42) //"BOOT"
#define AML_MAGIC_CORE (0X54534242) //"BBST"
#define AML_MAGIC_BL2E (0x45324c42) //"BL2E"
#define AML_MAGIC_BL2X (0x58324c42) //"BL2X"
#define AML_MAGIC_DDRF (0x46524444) //"DDRF"
#define AML_MAGIC_DEVF (0x46564544) //"DEVF"
typedef struct{
unsigned int nMagic; //"BBST", "BL2E", "BL2X", "DDRF", "DEVF"
unsigned int nOffset; //offset from file head of file
unsigned int nPayLoadSize; //size of payload
unsigned int nReserved; //reserved for future
}payload_info_item_t, *p_payload_info_item_t;
typedef struct{
unsigned char szSHA2[32]; //sha256 of sizeof(payload_info_t) - sizeof(szSHA2)
unsigned int nMagicL; //"@AML"
unsigned int nMagicR; //"BOOT"
unsigned char byVersion; //version:0,1,2,....
unsigned char byItemNum; //number of items
unsigned short nSize; //sizeof(this) = sizeof(hdr) + sizeof(item) * byItemNum
unsigned char szReserved1[4];
char szTimeStamp[16];//"SC2-YYYYMMDDHHmm" e.g "SC2-202007082259"
}payload_info_hdr_t, *p_payload_info_hdr_t;
typedef struct{
payload_info_hdr_t hdr; //header
payload_info_item_t arrItems[1]; //items
}payload_info_t, *p_payload_info_t;
#endif//#ifndef __STORE_WRAPPER_H__