1 #ifndef __EFUSE_SUN8IW20_H
2 #define __EFUSE_SUN8IW20_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)
22 #define EFUSE_BROM_CONFIG       (0x10)
23 #define EFUSE_BROM_TRY          (0X12)
24 #define EFUSE_THERMAL_SENSOR    (0x14)
25 #define EFUSE_THS1              (0x18)
26 #define EFUSE_TF_ZONE           (0x1C)
27 #define EFUSE_TVOUT             (0x2C)
28 #define EFUSE_TVOUT_GAMMA       (0x30)
29 #define EFUSE_OEM_PROG          (0x38)
30 
31 #define SID_TVOUT_SIZE          (32)
32 
33 /* write protect */
34 #define EFUSE_WRITE_PROTECT     (0x40)
35 /* read  protect */
36 #define EFUSE_READ_PROTECT      (0x44)
37 
38 
39 #define SID_OP_LOCK  (0xAC)
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 #endif
54