gr55xx_ll_pkc.h File Reference

Header file containing functions prototypes of PKC LL library. More...

#include "gr55xx.h"

Go to the source code of this file.

Classes

struct  _ll_ecc_point
 LL PKC ECC Point Structure definition. More...
 
struct  _ll_ecc_curve_init
 LL PKC ECC P-256 Elliptic Curve Init Structure definition. More...
 
struct  _ll_pkc_init
 LL PKC Init Structure definition. More...
 

Macros

#define ECC_U32_LENGTH   (8)
 
#define RSA_U32_LENGTH   (64)
 
#define LL_PKC_WORKSTAT_BUSY   PKC_WORKSTAT_BUSY
 
#define LL_PKC_INTEN_DONE   PKC_INTEN_DONE
 
#define LL_PKC_INTEN_ERR   PKC_INTEN_ERR
 
#define LL_PKC_INTEN_BAOVF   PKC_INTEN_BAOVF
 
#define LL_PKC_BITS_LENGTH_MIN   (256U)
 
#define LL_PKC_BITS_LENGTH_MAX   (2048U)
 
#define LL_PKC_BIGMULTI_BITS_LENGTH_MAX   (1024U)
 
#define LL_PKC_operation_mode_MULTIPLY   (0x00000000U)
 
#define LL_PKC_operation_mode_INVERTION   (1UL << PKC_SW_CTRL_OPMODE_Pos)
 
#define LL_PKC_operation_mode_ADD   (2UL << PKC_SW_CTRL_OPMODE_Pos)
 
#define LL_PKC_operation_mode_SUB   (3UL << PKC_SW_CTRL_OPMODE_Pos)
 
#define LL_PKC_operation_mode_COMPARE   (4UL << PKC_SW_CTRL_OPMODE_Pos)
 
#define LL_PKC_operation_mode_LEFTSHIFT   (5UL << PKC_SW_CTRL_OPMODE_Pos)
 
#define LL_PKC_operation_mode_BIGINTEGERMULTIPLY   (6UL << PKC_SW_CTRL_OPMODE_Pos)
 
#define LL_PKC_operation_mode_BIGINTEGERADD   (7UL << PKC_SW_CTRL_OPMODE_Pos)
 
#define LL_ECC_CURVE_DEFAULT_CONFIG   LL_ECC_CURVE_SECP256R1_CONFIG
 LL PKC ECC Curve default configuretion. More...
 
#define LL_ECC_CURVE_SECP256R1_CONFIG
 LL PKC ECC Curve SECP256R1 configuretion. More...
 
#define LL_ECC_CURVE_SECP256K1_CONFIG
 LL PKC ECC Curve SECP256K1 configuretion. More...
 
#define LL_PKC_WriteReg(__INSTANCE__, __REG__, __VALUE__)   WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
 Write a value in PKC register. More...
 
#define LL_PKC_ReadReg(__INSTANCE__, __REG__)   READ_REG(__INSTANCE__->__REG__)
 Read a value in PKC register. More...
 

Typedefs

typedef struct _ll_ecc_point ll_ecc_point_t
 LL PKC ECC Point Structure definition. More...
 
typedef struct _ll_ecc_curve_init ll_ecc_curve_init_t
 LL PKC ECC P-256 Elliptic Curve Init Structure definition. More...
 
typedef struct _ll_pkc_init ll_pkc_init_t
 LL PKC Init Structure definition. More...
 

Functions

__STATIC_INLINE void ll_pkc_enable (pkc_regs_t *PKCx)
 Enable pkc. More...
 
__STATIC_INLINE void ll_pkc_disable (pkc_regs_t *PKCx)
 Disable pkc. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enabled (pkc_regs_t *PKCx)
 Indicate whether the pkc is enabled. More...
 
__STATIC_INLINE void ll_pkc_enable_hardware_start (pkc_regs_t *PKCx)
 Enable pkc start in hardware mode. More...
 
__STATIC_INLINE void ll_pkc_disable_hardware_start (pkc_regs_t *PKCx)
 Disable pkc start in hardware mode. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enabled_hardware_start (pkc_regs_t *PKCx)
 Indicate whether the pkc start in hardware mode is enabled. More...
 
__STATIC_INLINE void ll_pkc_enable_software (pkc_regs_t *PKCx)
 Enable pkc software mode. More...
 
__STATIC_INLINE void ll_pkc_disable_software (pkc_regs_t *PKCx)
 Disable pkc software mode. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enabled_software (pkc_regs_t *PKCx)
 Indicate whether the pkc software mode is enabled. More...
 
__STATIC_INLINE void ll_pkc_enable_reset (pkc_regs_t *PKCx)
 Enable pkc reset. More...
 
__STATIC_INLINE void ll_pkc_disable_reset (pkc_regs_t *PKCx)
 Disable pkc reset. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enabled_reset (pkc_regs_t *PKCx)
 Indicate whether the pkc reset is enabled. More...
 
__STATIC_INLINE void ll_pkc_set_k_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter k pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_k_pointer (pkc_regs_t *PKCx)
 Get PKC parameter k pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_r_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter r pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_r_pointer (pkc_regs_t *PKCx)
 Get PKC parameter r pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_p_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter p pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_p_pointer (pkc_regs_t *PKCx)
 Get PKC parameter p pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_rsq_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter R^2 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_rsq_pointer (pkc_regs_t *PKCx)
 Get PKC parameter R^2 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_gx_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Gx pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_gx_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Gx pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_gy_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Gy pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_gy_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Gy pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_gz_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Gz pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_gz_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Gz pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_r0x_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter R0x pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_r0x_pointer (pkc_regs_t *PKCx)
 Get PKC parameter R0x pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_r0y_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter R0y pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_r0y_pointer (pkc_regs_t *PKCx)
 Get PKC parameter R0y pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_r0z_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter R0z pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_r0z_pointer (pkc_regs_t *PKCx)
 Get PKC parameter R0z pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_r1x_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter R1x pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_r1x_pointer (pkc_regs_t *PKCx)
 Get PKC parameter R1x pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_r1y_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter R1y pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_r1y_pointer (pkc_regs_t *PKCx)
 Get PKC parameter R1y pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_r1z_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter R1z pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_r1z_pointer (pkc_regs_t *PKCx)
 Get PKC parameter R1z pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_tmp1_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Tmp1 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_tmp1_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Tmp1 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_tmp2_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Tmp2 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_tmp2_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Tmp2 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_tmp3_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Tmp3 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_tmp3_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Tmp3 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_tmp4_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Tmp4 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_tmp4_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Tmp4 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_tmp5_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Tmp5 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_tmp5_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Tmp5 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_tmp6_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Tmp6 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_tmp6_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Tmp6 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_constant1_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter Constant1 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_constant1_pointer (pkc_regs_t *PKCx)
 Get PKC parameter Constant1 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_x1_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter X1 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_x1_pointer (pkc_regs_t *PKCx)
 Get PKC parameter X1 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_x2_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter X2 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_x2_pointer (pkc_regs_t *PKCx)
 Get PKC parameter X2 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mitmp_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter MITmp pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mitmp_pointer (pkc_regs_t *PKCx)
 Get PKC parameter MITmp pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_tmpk_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set PKC parameter TmpK pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_tmpk_pointer (pkc_regs_t *PKCx)
 Get PKC parameter TmpK pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_ecc_a_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set ECC parameter A pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_ecc_a_pointer (pkc_regs_t *PKCx)
 Get ECC parameter A pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_ecc_b_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set ECC parameter B pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_ecc_b_pointer (pkc_regs_t *PKCx)
 Get ECC parameter B pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_constp (pkc_regs_t *PKCx, uint32_t ConstP)
 Set constant value for montgomery multiply in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_constp (pkc_regs_t *PKCx)
 Get constant value for montgomery multiply in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_enable_software_start (pkc_regs_t *PKCx)
 Enable pkc start in software mode. More...
 
__STATIC_INLINE void ll_pkc_disable_software_start (pkc_regs_t *PKCx)
 Disable pkc start in software mode. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enabled_software_start (pkc_regs_t *PKCx)
 Indicate whether the pkc start in software mode is enabled. More...
 
__STATIC_INLINE void ll_pkc_set_operation_mode (pkc_regs_t *PKCx, uint32_t operation_mode)
 Set operation mode in software mode. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_operation_mode (pkc_regs_t *PKCx)
 Get operation mode in software mode. More...
 
__STATIC_INLINE void ll_pkc_enable_dummy_multi (pkc_regs_t *PKCx)
 Enable Dummy Multi in software mode. More...
 
__STATIC_INLINE void ll_pkc_disable_dummy_multi (pkc_regs_t *PKCx)
 Disable Dummy Multi in software mode. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enabled_dummy_multi (pkc_regs_t *PKCx)
 Indicate whether the Dummy Multi in software mode is enabled. More...
 
__STATIC_INLINE void ll_pkc_enable_random_clock_gating (pkc_regs_t *PKCx)
 Enable Random Clock Gating in software mode. More...
 
__STATIC_INLINE void ll_pkc_disable_random_clock_gating (pkc_regs_t *PKCx)
 Disable Random Clock Gating in software mode. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enabled_random_clock_gating (pkc_regs_t *PKCx)
 Indicate whether the Random Clock Gating in software mode is enabled. More...
 
__STATIC_INLINE void ll_pkc_set_mm_a_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular multiplication parameter A pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mm_a_pointer (pkc_regs_t *PKCx)
 Get modular multiplication parameter A pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mm_b_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular multiplication parameter B pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mm_b_pointer (pkc_regs_t *PKCx)
 Get modular multiplication parameter B pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mm_p_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular multiplication parameter P pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mm_p_pointer (pkc_regs_t *PKCx)
 Get modular multiplication parameter P pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mm_c_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular multiplication parameter C pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mm_c_pointer (pkc_regs_t *PKCx)
 Get modular multiplication parameter C pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mas_a_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular add/sub parameter A pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mas_a_pointer (pkc_regs_t *PKCx)
 Get modular add/sub parameter A pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mas_b_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular add/sub parameter B pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mas_b_pointer (pkc_regs_t *PKCx)
 Get modular add/sub parameter B pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mas_p_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular add/sub parameter P pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mas_p_pointer (pkc_regs_t *PKCx)
 Get modular add/sub parameter P pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mas_c_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular add/sub parameter C pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mas_c_pointer (pkc_regs_t *PKCx)
 Get modular add/sub parameter C pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mi_u_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular invertion parameter U pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mi_u_pointer (pkc_regs_t *PKCx)
 Get modular invertion parameter U pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mi_v_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular invertion parameter V pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mi_v_pointer (pkc_regs_t *PKCx)
 Get modular invertion parameter V pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mi_x1_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular invertion parameter X1 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mi_x1_pointer (pkc_regs_t *PKCx)
 Get modular invertion parameter X1 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_mi_x2_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular invertion parameter X1 pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mi_x2_pointer (pkc_regs_t *PKCx)
 Get modular invertion parameter X1 pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_swmi_tmp_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set modular invertion parameter Tmp pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_swmi_tmp_pointer (pkc_regs_t *PKCx)
 Get modular invertion parameter Tmp pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_operation_word_length (pkc_regs_t *PKCx, uint32_t WordLength)
 Set operation word length-bits. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_operation_word_length (pkc_regs_t *PKCx)
 Get operation word length-bits. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_mik_output (pkc_regs_t *PKCx)
 Get K output in invertion operation. More...
 
__STATIC_INLINE void ll_pkc_set_dummy_multiply_seed (pkc_regs_t *PKCx, uint32_t seed)
 Set dummy multiply seed. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_dummy_multiply_seed (pkc_regs_t *PKCx)
 Get dummy multiply seed. More...
 
__STATIC_INLINE void ll_pkc_set_bm_a_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set big integer operand A pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_bm_a_pointer (pkc_regs_t *PKCx)
 Get big integer operand A pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_bm_b_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set big integer operand B pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_bm_b_pointer (pkc_regs_t *PKCx)
 Get big integer operand B pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_bm_c_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set big integer result C pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_bm_c_pointer (pkc_regs_t *PKCx)
 Get big integer result C pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_ba_a_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set big integer operand A pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_ba_a_pointer (pkc_regs_t *PKCx)
 Get big integer operand A pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_ba_b_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set big integer operand B pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_ba_b_pointer (pkc_regs_t *PKCx)
 Get big integer operand B pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_ba_c_pointer (pkc_regs_t *PKCx, uint32_t pointer)
 Set big integer result C pointer in pkc sram. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_ba_c_pointer (pkc_regs_t *PKCx)
 Get big integer result C pointer in pkc sram. More...
 
__STATIC_INLINE void ll_pkc_set_random_clock_gating_seed (pkc_regs_t *PKCx, uint32_t seed)
 Set random clock gating seed. More...
 
__STATIC_INLINE uint32_t ll_pkc_get_random_clock_gating_seed (pkc_regs_t *PKCx)
 Get random clock gating seed. More...
 
__STATIC_INLINE void ll_pkc_enable_it_done (pkc_regs_t *PKCx)
 Enable the operation done interrupt. More...
 
__STATIC_INLINE void ll_pkc_enable_it_err (pkc_regs_t *PKCx)
 Enable the operation error interrupt. More...
 
__STATIC_INLINE void ll_pkc_enable_it_big_add_overflow (pkc_regs_t *PKCx)
 Enable the big integer overflow interrupt. More...
 
__STATIC_INLINE void ll_pkc_disable_it_done (pkc_regs_t *PKCx)
 Disable the operation done interrupt. More...
 
__STATIC_INLINE void ll_pkc_disable_it_err (pkc_regs_t *PKCx)
 Disable the operation error interrupt. More...
 
__STATIC_INLINE void ll_pkc_disable_it_big_add_overflow (pkc_regs_t *PKCx)
 Disable the big integer overflow interrupt. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enable_it_done (pkc_regs_t *PKCx)
 Indicate whether the operation done interrupt is enable. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enable_it_err (pkc_regs_t *PKCx)
 Indicate whether the operation error interrupt is enable. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_enable_it_big_add_overflow (pkc_regs_t *PKCx)
 Indicate whether the big integer overflow interrupt is enable. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_action_flag_it_done (pkc_regs_t *PKCx)
 Indicate whether the operation done interrupt is pending. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_action_flag_it_err (pkc_regs_t *PKCx)
 Indicate whether the operation error interrupt is pending. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_action_flag_it_big_add_overflow (pkc_regs_t *PKCx)
 Indicate whether the big integer overflow interrupt is pending. More...
 
__STATIC_INLINE void ll_pkc_clear_flag_it_done (pkc_regs_t *PKCx)
 Clear the operation done interrupt flag. More...
 
__STATIC_INLINE void ll_pkc_clear_flag_it_err (pkc_regs_t *PKCx)
 Clear the operation error interrupt flag. More...
 
__STATIC_INLINE void ll_pkc_clear_flag_it_big_add_overflow (pkc_regs_t *PKCx)
 Clear the big integer overflow interrupt flag. More...
 
__STATIC_INLINE uint32_t ll_pkc_is_action_flag_busy (pkc_regs_t *PKCx)
 Indicate whether the busy flag is set. More...
 
error_status_t ll_pkc_deinit (pkc_regs_t *PKCx)
 De-initialize PKC registers (Registers restored to their default values). More...
 
error_status_t ll_pkc_init (pkc_regs_t *PKCx, ll_pkc_init_t *p_pkc_init)
 Initialize PKC registers according to the specified parameters in p_pkc_init. More...
 
void ll_pkc_struct_init (ll_pkc_init_t *p_pkc_init)
 Set each field of a ll_pkc_init_t type structure to default value. More...
 

Detailed Description

Header file containing functions prototypes of PKC LL library.

Author
BLE Driver Team
Attention
#####Copyright (c) 2019 GOODIX All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of GOODIX nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file gr55xx_ll_pkc.h.