1 #ifndef __EFUSE_SUN8IW19_H
2 #define __EFUSE_SUN8IW19_H
3 
4 
5 #ifdef __cplusplus
6 extern "C"
7 {
8 #endif
9 
10 #define SUNXI_SID_BASE          0x03006000
11 #define SID_PRCTL               (SUNXI_SID_BASE + 0x40)
12 #define SID_PRKEY               (SUNXI_SID_BASE + 0x50)
13 #define SID_RDKEY               (SUNXI_SID_BASE + 0x60)
14 #define SJTAG_AT0               (SUNXI_SID_BASE + 0x80)
15 #define SJTAG_AT1               (SUNXI_SID_BASE + 0x84)
16 #define SJTAG_S                 (SUNXI_SID_BASE + 0x88)
17 
18 #define EFUSE_SRAM              (SUNXI_SID_BASE + 0x200)
19 
20 #define EFUSE_CHIPD             (0x00) /* 0x0-0xf, 128bits */
21 #define EFUSE_BROM_CONFIG       (0x10) /* 16 bit config, 16 bits try */
22 #define EFUSE_BROM_TRY          (0X12) /* 16 bit*/
23 #define EFUSE_THERMAL_SENSOR    (0x14) /* 0x14-0x1b, 64bits */
24 #define EFUSE_AUDIO_BIAS        (0X1C) /* 8bit */
25 #define EFUSE_LDOA              (0x1D) /* 8bit */
26 #define EFUSE_LDOB              (0x1E) /* 8bit */
27 #define EFUSE_DDR_CFG           (0x1F) /* 8bit */
28 #define EFUSE_TF_ZONE           (0x20) /* 0x20-0x2f, 128bits */
29 #define EFUSE_PSENSOR           (0x54) /* 0x54-0x57, 32bits */
30 #define EFUSE_RESERVED          (0x5C) /* 0x5c-0x7b, 256bits */
31 
32 /* write protect */
33 #define EFUSE_WRITE_PROTECT     (0x7C) /* 0x7C-0x7D, 16bits */
34 /* read  protect */
35 #define EFUSE_READ_PROTECT      (0x7E) /* 0x7E-0x7F, 16bits */
36 
37 
38 #define SID_OP_LOCK  (0xAC)
39 
40 
41 /*It can not be seen.*/
42 #define EFUSE_PRIVATE (0)
43 /*After burned ,cpu can not access.*/
44 #define EFUSE_NACCESS (1)
45 
46 #define EFUSE_RO (2)    /* burn read_protect bit disable */
47 #define EFUSE_RW (3)    /* burn read/write_protect bit disable */
48 
49 #define EFUSE_ACL_SET_BRUN_BIT      (1<<29)
50 #define EFUSE_ACL_SET_RD_FORBID_BIT (1<<30)
51 #define EFUSE_BRUN_RD_OFFSET_MASK    (0xFFFFFF)
52 
53 #define EFUSE_HV_SWITCH     (0x07000000 + 0x204)
54 
55 #endif
56