1 #ifndef _BFLB_SEC_PKA_H 2 #define _BFLB_SEC_PKA_H 14 #define SEC_ENG_PKA_REG_SIZE_8 1 15 #define SEC_ENG_PKA_REG_SIZE_16 2 16 #define SEC_ENG_PKA_REG_SIZE_32 3 17 #define SEC_ENG_PKA_REG_SIZE_64 4 18 #define SEC_ENG_PKA_REG_SIZE_96 5 19 #define SEC_ENG_PKA_REG_SIZE_128 6 20 #define SEC_ENG_PKA_REG_SIZE_192 7 21 #define SEC_ENG_PKA_REG_SIZE_256 8 22 #define SEC_ENG_PKA_REG_SIZE_384 9 23 #define SEC_ENG_PKA_REG_SIZE_512 10 25 #define SEC_ENG_PKA_OP_PPSEL 0x00 26 #define SEC_ENG_PKA_OP_LMOD2N 0x11 27 #define SEC_ENG_PKA_OP_LDIV2N 0x12 28 #define SEC_ENG_PKA_OP_LMUL2N 0x13 29 #define SEC_ENG_PKA_OP_LDIV 0x14 30 #define SEC_ENG_PKA_OP_LSQR 0x15 31 #define SEC_ENG_PKA_OP_LMUL 0x16 32 #define SEC_ENG_PKA_OP_LSUB 0x17 33 #define SEC_ENG_PKA_OP_LADD 0x18 34 #define SEC_ENG_PKA_OP_LCMP 0x19 35 #define SEC_ENG_PKA_OP_MDIV2 0x21 36 #define SEC_ENG_PKA_OP_MINV 0x22 37 #define SEC_ENG_PKA_OP_MEXP 0x23 38 #define SEC_ENG_PKA_OP_MSQR 0x24 39 #define SEC_ENG_PKA_OP_MMUL 0x25 40 #define SEC_ENG_PKA_OP_MREM 0x26 41 #define SEC_ENG_PKA_OP_MSUB 0x27 42 #define SEC_ENG_PKA_OP_MADD 0x28 43 #define SEC_ENG_PKA_OP_RESIZE 0x31 44 #define SEC_ENG_PKA_OP_MOVDAT 0x32 45 #define SEC_ENG_PKA_OP_NLIR 0x33 46 #define SEC_ENG_PKA_OP_SLIR 0x34 47 #define SEC_ENG_PKA_OP_CLIR 0x35 48 #define SEC_ENG_PKA_OP_CFLIRI_BUFFER 0x36 49 #define SEC_ENG_PKA_OP_CTLIRI_PLD 0x37 50 #define SEC_ENG_PKA_OP_CFLIR_BUFFER 0x38 51 #define SEC_ENG_PKA_OP_CTLIR_PLD 0x39 240 const uint32_t *data,
266 uint8_t invt_regindex,
267 uint8_t invt_regsize,
void bflb_pka_clir(struct bflb_device_s *dev, uint8_t regindex, uint8_t regsize, uint16_t size, uint8_t lastop)
void bflb_pka_regsize(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t lastop)
void bflb_pka_ldiv2n(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint16_t bit_shift, uint8_t lastop)
void bflb_pka_lmul(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t lastop)
void bflb_pka_lmul2n(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint16_t bit_shift, uint8_t lastop)
void bflb_pka_minv(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
void bflb_pka_lmod2n(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint16_t bit_shift, uint8_t lastop)
void bflb_pka_movdat(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t lastop)
void bflb_pka_msub(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
void bflb_pka_lsqr(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t lastop)
void bflb_pka_mrem(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
void bflb_pka_nlir(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t lastop)
void bflb_pka_lsub(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t lastop)
void bflb_pka_ladd(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t lastop)
void bflb_pka_msqr(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
void bflb_pka_write(struct bflb_device_s *dev, uint8_t regindex, uint8_t regsize, const uint32_t *data, uint16_t size, uint8_t lastop)
void bflb_pka_mexp(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
uint8_t bflb_pka_lcmp(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t s1_regindex, uint8_t s1_regsize)
void bflb_pka_madd(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
void bflb_pka_deinit(struct bflb_device_s *dev)
void bflb_pka_ldiv(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
void bflb_pka_slir(struct bflb_device_s *dev, uint8_t regindex, uint8_t regsize, uint32_t data, uint8_t lastop)
void bflb_pka_mmul(struct bflb_device_s *dev, uint8_t s0_regindex, uint8_t s0_regsize, uint8_t d0_regindex, uint8_t d0_regsize, uint8_t s1_regindex, uint8_t s1_regsize, uint8_t s2_regindex, uint8_t s2_regsize, uint8_t lastop)
void bflb_pka_init(struct bflb_device_s *dev)
void bflb_pka_read(struct bflb_device_s *dev, uint8_t regindex, uint8_t regsize, uint32_t *data, uint16_t size)
void bflb_pka_mont2gf(struct bflb_device_s *dev, uint8_t s_regindex, uint8_t s_regsize, uint8_t d_regindex, uint8_t d_regsize, uint8_t invt_regindex, uint8_t invt_regsize, uint8_t t_regindex, uint8_t t_regsize, uint8_t p_regindex, uint8_t p_regsize)
void bflb_pka_gf2mont(struct bflb_device_s *dev, uint8_t s_regindex, uint8_t s_regsize, uint8_t d_regindex, uint8_t d_regsize, uint8_t t_regindex, uint8_t t_regsize, uint8_t p_regindex, uint8_t p_regsize, uint32_t size)