hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
/*
 * Copyright (C) 2015 Reinhard Pfau <reinhard.pfau@gdsys.cc>
 *
 * SPDX-License-Identifier:    GPL-2.0+
 */
 
#ifndef _MVEBU_EFUSE_H
#define _MVEBU_EFUSE_H
 
#include <common.h>
 
struct efuse_val {
   union {
       struct {
           u8 d[8];
       } bytes;
       struct {
           u16 d[4];
       } words;
       struct {
           u32 d[2];
       } dwords;
   };
   u32 lock;
};
 
#if defined(CONFIG_ARMADA_38X)
 
enum efuse_line {
   EFUSE_LINE_SECURE_BOOT = 24,
   EFUSE_LINE_PUBKEY_DIGEST_0 = 26,
   EFUSE_LINE_PUBKEY_DIGEST_1 = 27,
   EFUSE_LINE_PUBKEY_DIGEST_2 = 28,
   EFUSE_LINE_PUBKEY_DIGEST_3 = 29,
   EFUSE_LINE_PUBKEY_DIGEST_4 = 30,
   EFUSE_LINE_CSK_0_VALID = 31,
   EFUSE_LINE_CSK_1_VALID = 32,
   EFUSE_LINE_CSK_2_VALID = 33,
   EFUSE_LINE_CSK_3_VALID = 34,
   EFUSE_LINE_CSK_4_VALID = 35,
   EFUSE_LINE_CSK_5_VALID = 36,
   EFUSE_LINE_CSK_6_VALID = 37,
   EFUSE_LINE_CSK_7_VALID = 38,
   EFUSE_LINE_CSK_8_VALID = 39,
   EFUSE_LINE_CSK_9_VALID = 40,
   EFUSE_LINE_CSK_10_VALID = 41,
   EFUSE_LINE_CSK_11_VALID = 42,
   EFUSE_LINE_CSK_12_VALID = 43,
   EFUSE_LINE_CSK_13_VALID = 44,
   EFUSE_LINE_CSK_14_VALID = 45,
   EFUSE_LINE_CSK_15_VALID = 46,
   EFUSE_LINE_FLASH_ID = 47,
   EFUSE_LINE_BOX_ID = 48,
 
   EFUSE_LINE_MIN = 0,
   EFUSE_LINE_MAX = 63,
};
 
#endif
 
int mvebu_efuse_init_hw(void);
 
int mvebu_read_efuse(int nr, struct efuse_val *val);
 
int mvebu_write_efuse(int nr, struct efuse_val *val);
 
int mvebu_lock_efuse(int nr);
 
#endif