46 lines
2.3 KiB
C
Executable File
46 lines
2.3 KiB
C
Executable File
#ifndef _NA51089_RSA_H_
|
|
#define _NA51089_RSA_H_
|
|
|
|
typedef enum {
|
|
NA51089_RSA_MCLK_240MHZ = 0,
|
|
NA51089_RSA_MCLK_320MHZ,
|
|
NA51089_RSA_MCLK_RSVD,
|
|
NA51089_RSA_MCLK_PLL9,
|
|
NA51089_RSA_MCLK_MAX
|
|
} NA51089_RSA_MCLK_T;
|
|
|
|
typedef enum {
|
|
NA51089_RSA_MODE_NORMAL = 0, ///< normal mode, encryption or decryption
|
|
NA51089_RSA_MODE_CRC_KEY_N, ///< N key check by crc32
|
|
NA51089_RSA_MODE_CRC_KEY_ED, ///< E/D key check by crc32
|
|
NA51089_RSA_MODE_MAX
|
|
} NA51089_RSA_MODE_T;
|
|
|
|
typedef enum {
|
|
NA51089_RSA_KEY_256 = 0, ///< key width 256 bits
|
|
NA51089_RSA_KEY_512, ///< key width 512 bits
|
|
NA51089_RSA_KEY_1024, ///< key width 1024 bits
|
|
NA51089_RSA_KEY_2048, ///< key width 2048 bits
|
|
NA51089_RSA_KEY_4096, ///< key width 4096 bits, only support in NA51084
|
|
NA51089_RSA_KEY_MAX
|
|
} NA51089_RSA_KEY_T;
|
|
|
|
#define NA51089_RSA_BUFFER_LEN 512 ///< 512 bytes
|
|
|
|
#define NA51089_RSA_CFG_REG 0x00 ///< configuration
|
|
#define NA51089_RSA_CTRL_REG 0x04 ///< control
|
|
#define NA51089_RSA_INT_ENB_REG 0x08 ///< interrupt enable
|
|
#define NA51089_RSA_INT_STS_REG 0x0C ///< interrupt status
|
|
#define NA51089_RSA_KEY_N_REG 0x10 ///< key N register
|
|
#define NA51089_RSA_KEY_N_ADDR_REG 0x14 ///< key N config ram address
|
|
#define NA51089_RSA_KEY_ED_REG 0x18 ///< key E/D register
|
|
#define NA51089_RSA_KEY_ED_ADDR_REG 0x1C ///< key E/D config ram address
|
|
#define NA51089_RSA_DATA_REG 0x20 ///< input data register
|
|
#define NA51089_RSA_DATA_ADDR_REG 0x24 ///< input data config ram address
|
|
#define NA51089_RSA_KEY_READ_REG 0x28 ///< rsa key readable control
|
|
#define NA51089_RSA_CRC32_DEFAULT_REG 0x30 ///< crc32 default value
|
|
#define NA51089_RSA_CRC32_POLY_REG 0x34 ///< crc32 polynomial parameter
|
|
#define NA51089_RSA_CRC32_OUTPUT_REG 0x38 ///< rsa key crc32 result
|
|
|
|
#endif /* _NA51089_RSA_H_ */
|