blob: a94fa53d0222daf2da919f266bfa11195b3340ab [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001#ifndef h_asr_efuse_h
2#define h_asr_efuse_h
3
4#include <common.h>
5
6#define HW_UNIQUE_KEY_LENGTH (16)
7
8#define EFUSE_BANK_NUM (4)
9#define EFUSE_BANK_LEN_IN_BIT (256)
10#define EFUSE_BANK_LEN_IN_BYTE (32)
11#define EFUSE_BANK_LEN_IN_WORD (8)
12
13struct hw_unique_key {
14 uint8_t data[16];
15};
16
17struct efuse_data {
18 volatile uint32_t efuse_base;
19 int bank_initialized;
20 uint8_t bank[EFUSE_BANK_NUM][EFUSE_BANK_LEN_IN_BYTE];
21};
22
23void geu_fuse_test(void);
24int fuse_bank_read(uint32_t bank, uint8_t *buffer);
25int asr_rkek_burned(void);
26int fuse_get_sim_lock(int *sim_lock);
27#endif