#ifndef h_asr_efuse_h | |
#define h_asr_efuse_h | |
#include <common.h> | |
#define HW_UNIQUE_KEY_LENGTH (16) | |
#define EFUSE_BANK_NUM (4) | |
#define EFUSE_BANK_LEN_IN_BIT (256) | |
#define EFUSE_BANK_LEN_IN_BYTE (32) | |
#define EFUSE_BANK_LEN_IN_WORD (8) | |
struct hw_unique_key { | |
uint8_t data[16]; | |
}; | |
struct efuse_data { | |
volatile uint32_t efuse_base; | |
int bank_initialized; | |
uint8_t bank[EFUSE_BANK_NUM][EFUSE_BANK_LEN_IN_BYTE]; | |
}; | |
void geu_fuse_test(void); | |
int fuse_bank_read(uint32_t bank, uint8_t *buffer); | |
int asr_rkek_burned(void); | |
int fuse_get_sim_lock(int *sim_lock); | |
#endif |