7#ifndef FW_INFO_BARE_H__
8#define FW_INFO_BARE_H__
21#define MAGIC_LEN_WORDS (CONFIG_FW_INFO_MAGIC_LEN / sizeof(uint32_t))
24#define FW_INFO_OFFSET0 0x0
25#define FW_INFO_OFFSET1 0x200
26#define FW_INFO_OFFSET2 0x400
27#define FW_INFO_OFFSET3 0x800
28#define FW_INFO_OFFSET4 0x1000
29#define FW_INFO_OFFSET_COUNT 5
68 uint32_t ext_api_addr)
71 const uint32_t ext_api_magic[] = {EXT_API_MAGIC};
74 if (memcmp(ext_api->
magic, ext_api_magic, CONFIG_FW_INFO_MAGIC_LEN)
152 uint32_t reserved[4];
176 const uint32_t fw_info_magic[] = {FIRMWARE_INFO_MAGIC};
178 finfo = (
const struct fw_info *)(fw_info_addr);
179 if (memcmp(finfo->
magic, fw_info_magic, CONFIG_FW_INFO_MAGIC_LEN)
189#define FW_INFO_CURRENT_OFFSET (CONFIG_FW_INFO_OFFSET + FW_INFO_VECTOR_OFFSET)
#define MAGIC_LEN_WORDS
Definition: fw_info_bare.h:21
#define FW_INFO_OFFSET2
Definition: fw_info_bare.h:26
static const uint32_t fw_info_allowed_offsets[]
Definition: fw_info_bare.h:192
#define FW_INFO_OFFSET0
Definition: fw_info_bare.h:24
bool(* fw_info_ext_api_provide_t)(const struct fw_info *fwinfo, bool provide)
Definition: fw_info_bare.h:219
#define FW_INFO_OFFSET1
Definition: fw_info_bare.h:25
static const struct fw_info_ext_api * fw_info_ext_api_check(uint32_t ext_api_addr)
Definition: fw_info_bare.h:67
#define FW_INFO_OFFSET3
Definition: fw_info_bare.h:27
#define FW_INFO_OFFSET4
Definition: fw_info_bare.h:28
static const struct fw_info * fw_info_find(uint32_t firmware_address)
Definition: fw_info_bare.h:205
#define FW_INFO_OFFSET_COUNT
Definition: fw_info_bare.h:29
static const struct fw_info * fw_info_check(uint32_t fw_info_addr)
Definition: fw_info_bare.h:173
fw_info_ext_api_provide_t ext_api_provide
Definition: fw_info_bare.h:226
Structure describing the EXT_API_PROVIDE EXT_API.
Definition: fw_info_bare.h:225
uint32_t required
Definition: fw_info_bare.h:110
uint32_t ext_api_max_version
Definition: fw_info_bare.h:105
const struct fw_info_ext_api ** ext_api
Definition: fw_info_bare.h:113
Definition: fw_info_bare.h:98
uint32_t ext_api_version
Definition: fw_info_bare.h:60
uint32_t magic[(CONFIG_FW_INFO_MAGIC_LEN/sizeof(uint32_t))]
Definition: fw_info_bare.h:46
uint32_t ext_api_id
Definition: fw_info_bare.h:54
uint32_t ext_api_flags
Definition: fw_info_bare.h:57
uint32_t ext_api_len
Definition: fw_info_bare.h:51
Definition: fw_info_bare.h:42
uint32_t valid
Definition: fw_info_bare.h:149
uint32_t ext_api_num
Definition: fw_info_bare.h:155
uint32_t magic[(CONFIG_FW_INFO_MAGIC_LEN/sizeof(uint32_t))]
Definition: fw_info_bare.h:129
uint32_t version
Definition: fw_info_bare.h:138
uint32_t boot_address
Definition: fw_info_bare.h:144
uint32_t size
Definition: fw_info_bare.h:135
uint32_t total_size
Definition: fw_info_bare.h:132
uint32_t ext_api_request_num
Definition: fw_info_bare.h:158
uint32_t address
Definition: fw_info_bare.h:141
Definition: fw_info_bare.h:125