55 lines
1.5 KiB
C
55 lines
1.5 KiB
C
|
|
#ifndef _HG_SYSAES_V3_HW_H_
|
||
|
|
#define _HG_SYSAES_V3_HW_H_
|
||
|
|
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#define BLOCK_NUM_NUM_MSK 0x000fffff
|
||
|
|
#define BLOCK_NUM_NUM_SHIFT 0
|
||
|
|
|
||
|
|
#define AES_CTRL_START_MSK 0x00000001
|
||
|
|
#define AES_CTRL_START_SHIFT 0
|
||
|
|
#define AES_CTRL_EOD_MSK 0x00000002
|
||
|
|
#define AES_CTRL_EOD_SHIFT 1
|
||
|
|
#define AES_CTRL_MOD_MSK 0x00000004
|
||
|
|
#define AES_CTRL_MOD_SHIFT 2
|
||
|
|
#define AES_CTRL_IRQ_EN_MSK 0x00000008
|
||
|
|
#define AES_CTRL_IRQ_EN_SHIFT 3
|
||
|
|
|
||
|
|
#define AES_CTRL_AES_128 0
|
||
|
|
#define AES_CTRL_AES_192 BIT(4)
|
||
|
|
#define AES_CTRL_AES_256 BIT(5)
|
||
|
|
#define AES_CTRL_AES_KEYLEN_MSK (BIT(4)|BIT(5))
|
||
|
|
#define AES_CTRL_AES_ECB 0
|
||
|
|
#define AES_CTRL_AES_CBC BIT(6)
|
||
|
|
#define AES_CTRL_AES_CTR BIT(7)
|
||
|
|
#define AES_CTRL_AES_MODE_MSK (BIT(6)|BIT(7))
|
||
|
|
|
||
|
|
#define AES_STAT_COMP_PD_MSK 0x00000001
|
||
|
|
#define AES_STAT_COMP_PD_SHIFT 0
|
||
|
|
|
||
|
|
enum hg_sysaes_v3_mode {
|
||
|
|
ENCRYPT,
|
||
|
|
DECRYPT,
|
||
|
|
};
|
||
|
|
|
||
|
|
enum hg_sysaes_v3_flags {
|
||
|
|
HG_SYSAES_FLAGS_SUSPEND,
|
||
|
|
};
|
||
|
|
|
||
|
|
struct hg_sysaes_v3_hw {
|
||
|
|
__IO uint32 KEY[8];
|
||
|
|
__IO uint32 SADDR;
|
||
|
|
__IO uint32 DADDR;
|
||
|
|
__IO uint32 BLOCK_NUM;
|
||
|
|
uint32 RESERVED0[1];
|
||
|
|
__IO uint32 IV[4];
|
||
|
|
__IO uint32 AES_CTRL;
|
||
|
|
__IO uint32 AES_STAT;
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
#endif /* _HG_SYSAES_V3_H_ */
|