Files
MilkV-Duo/u-boot-2021.10/include/cvi_efuse.h
wangliang.wang 607778300c [uboot] Upgrade the MMF SDK from V4.0.0 to V4.1.0
1. add cv181x functions
	2. Delete some useless files and add .gitignore

Change-Id: Iea2b2fa43b5a1152e5e99fb32b88f8d2c249251a
2023-03-10 20:42:30 +08:00

59 lines
1.4 KiB
C

#ifndef _CVI_EFUSE_H
#define _CVI_EFUSE_H 1
#ifndef CVI_U8
#define CVI_U8 uint8_t
#endif
#ifndef CVI_U32
#define CVI_U32 uint32_t
#endif
#ifndef CVI_S8
#define CVI_S8 int8_t
#endif
#ifndef CVI_S32
#define CVI_S32 int32_t
#endif
#ifndef CVI_SUCCESS
#define CVI_SUCCESS 0
#endif
#ifndef CVI_FAILURE
#define CVI_FAILURE (-1)
#endif
#define CVI_ERR_EFUSE_INVALID_AREA -0x0001
#define CVI_ERR_EFUSE_INVALID_PARA -0x0002
enum CVI_EFUSE_AREA_E {
CVI_EFUSE_AREA_USER,
CVI_EFUSE_AREA_DEVICE_ID,
CVI_EFUSE_AREA_HASH0_PUBLIC,
CVI_EFUSE_AREA_LOADER_EK,
CVI_EFUSE_AREA_DEVICE_EK,
CVI_EFUSE_AREA_LAST
};
enum CVI_EFUSE_LOCK_E {
CVI_EFUSE_LOCK_HASH0_PUBLIC = CVI_EFUSE_AREA_LAST + 1,
CVI_EFUSE_LOCK_LOADER_EK,
CVI_EFUSE_LOCK_DEVICE_EK,
CVI_EFUSE_LOCK_LAST
};
enum CVI_EFUSE_OTHERS_E {
CVI_EFUSE_SECUREBOOT = CVI_EFUSE_LOCK_LAST + 1,
CVI_EFUSE_OTHERS
};
CVI_S32 CVI_EFUSE_GetSize(enum CVI_EFUSE_AREA_E area, CVI_U32 *size);
CVI_S32 CVI_EFUSE_Read(enum CVI_EFUSE_AREA_E area, CVI_U8 *buf, CVI_U32 buf_size);
CVI_S32 CVI_EFUSE_Write(enum CVI_EFUSE_AREA_E area, const CVI_U8 *buf, CVI_U32 buf_size);
CVI_S32 CVI_EFUSE_EnableSecureBoot(uint32_t sel);
CVI_S32 CVI_EFUSE_IsSecureBootEnabled(void);
CVI_S32 CVI_EFUSE_Lock(enum CVI_EFUSE_LOCK_E lock);
CVI_S32 CVI_EFUSE_IsLocked(enum CVI_EFUSE_LOCK_E lock);
CVI_S32 CVI_EFUSE_LockWrite(enum CVI_EFUSE_LOCK_E lock);
CVI_S32 CVI_EFUSE_IsWriteLocked(enum CVI_EFUSE_LOCK_E lock);
#endif /* _CVI_EFUSE_H */