1 #ifndef __EFUSE_SUN8IW18_H
2 #define __EFUSE_SUN8IW18_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 #define EFUSE_SECURE_MODE       (SUNXI_SID_BASE + 0xA0)
20 
21 #define EFUSE_CHIPD             (0x00) /* 0x0-0xf, 128bits */
22 #define EFUSE_BROM_CONFIG       (0x10) /* 16 bit config, 16 bits try */
23 #define EFUSE_BROM_TRY          (0X12) /* 16 bit*/
24 #define EFUSE_THERMAL_SENSOR    (0x14) /* 0x14-0x1b, 64bits */
25 #define EFUSE_TF_ZONE           (0X1C) /* 0x1c-0x2B, 128bits */
26 
27 
28 /* write protect */
29 #define EFUSE_WRITE_PROTECT     (0x30) /* 0x30-0x33, 32bits */
30 /* read  protect */
31 #define EFUSE_READ_PROTECT      (0x34) /* 0x34-0x37, 32bits */
32 
33 
34 #define SID_OP_LOCK  (0xAC)
35 
36 
37 /*It can not be seen.*/
38 #define EFUSE_PRIVATE (0)
39 /*After burned ,cpu can not access.*/
40 #define EFUSE_NACCESS (1)
41 
42 #define EFUSE_RO (2)    /* burn read_protect bit disable */
43 #define EFUSE_RW (3)    /* burn read/write_protect bit disable */
44 
45 #define EFUSE_ACL_SET_BRUN_BIT      (1<<29)
46 #define EFUSE_ACL_SET_RD_FORBID_BIT (1<<30)
47 #define EFUSE_BRUN_RD_OFFSET_MASK    (0xFFFFFF)
48 
49 #endif
50