mcuxClPkc functions of PKC initialization and deinitialization More...
Data Structures | |
struct | mcuxClPkc_State_t |
Structure of PKC state backup. More... | |
Macros | |
#define | MCUXCLPKC_FP_INITIALIZE(pState) |
Helper macro to call #mcuxClPkc_Initialize with flow protection. More... | |
#define | MCUXCLPKC_FP_DEINITIALIZE(pState) |
Helper macro to call #mcuxClPkc_Deinitialize with flow protection. More... | |
Functions | |
MCUX_CSSL_FP_FUNCTION_POINTER (mcuxClPkc_PkcInitializeEngine_t, typedef MCUX_CSSL_FP_PROTECTED_TYPE(void)(*mcuxClPkc_PkcInitializeEngine_t)(mcuxClPkc_State_t *pState)) | |
Function type for PKC initialization engine. More... | |
MCUX_CSSL_FP_FUNCTION_POINTER (mcuxClPkc_PkcDeInitializeEngine_t, typedef MCUX_CSSL_FP_PROTECTED_TYPE(void)(*mcuxClPkc_PkcDeInitializeEngine_t)(const mcuxClPkc_State_t *pState)) | |
Function type for PKC deinitialization engine. More... | |
MCUX_CSSL_FP_PROTECTED_TYPE (void) mcuxClPkc_Initialize(mcuxClPkc_State_t *pState) | |
initialize PKC hardware More... | |
mcuxClPkc functions of PKC initialization and deinitialization
#define MCUXCLPKC_FP_INITIALIZE | ( | pState | ) |
Helper macro to call #mcuxClPkc_Initialize with flow protection.
#define MCUXCLPKC_FP_DEINITIALIZE | ( | pState | ) |
Helper macro to call #mcuxClPkc_Deinitialize with flow protection.
MCUX_CSSL_FP_FUNCTION_POINTER | ( | mcuxClPkc_PkcInitializeEngine_t | , |
typedef MCUX_CSSL_FP_PROTECTED_TYPE(void)(*)(mcuxClPkc_State_t *pState) | mcuxClPkc_PkcInitializeEngine_t | ||
) |
Function type for PKC initialization engine.
Generic function pointer to PKC initialization function
[out] | pState | pointer to PKC state backup structure. If it's not a NULL pointer, PKC state before initialization will be stored in this structure. |
MCUX_CSSL_FP_FUNCTION_POINTER | ( | mcuxClPkc_PkcDeInitializeEngine_t | , |
typedef MCUX_CSSL_FP_PROTECTED_TYPE(void)(*)(const mcuxClPkc_State_t *pState) | mcuxClPkc_PkcDeInitializeEngine_t | ||
) |
Function type for PKC deinitialization engine.
Generic function pointer to PKC deinitialization function
[in] | pState | pointer to PKC state backup structure. If it's not a NULL pointer, PKC state will be restored from this structure. |
MCUX_CSSL_FP_PROTECTED_TYPE | ( | void | ) |
initialize PKC hardware
Wait until PKC is ready to accept new calculation.
Wait until PKC finishes calculations.
Start a PKC FUP program calculation.
Start a PKC calculation with one constant parameter.
Start a PKC calculation.
Initialize UPTR table.
deinitialize PKC hardware
This function initializes PKC hardware, and optionally backups the original PKC configuration (except STOP bit).
[out] | pState | pointer to PKC state backup structure. If it's not a NULL pointer, PKC state before initialization will be stored in this structure. |
This function deinitializes PKC hardware, and optionally restores PKC configuration (except STOP bit).
[in] | pState | pointer to PKC state backup structure. If it's not a NULL pointer, PKC state will be restored from this structure. |
This function initializes elements in UPTR table. UPTR table contains the address (16-bit offset in PKC workarea) of each buffer (PKC operand). Each element of the table will be initialized with a 16-bit offset, associated with a buffer allocated in sequence in PKC workarea. When calling this function, there shall be no on-going and pending PKC calculations using the specified UPTR table elements.
[out] | pUPTRT | pointer to the first element to be initialized in UPTR table. |
[in] | pBaseBuffer | address of the buffer in PKC workarea, with which the first element will be associated. |
[in] | bufferLength | byte length of each buffer in PKC workarea. |
[in] | noOfBuffer | number of elements to be initialized. |
pUPTRT
pBaseBuffer
bufferLength
This function performs one specified PKC calculation, of which the operand(s) and result are specified by the indices of UPTR table.
[in] | param_mode | param (the higher 8 bits) indicates the type of the calculation (L0 or L1) and the parameter set (PS1 or PS2). mode (the lower 8 bits) indicates the calculation, either an L0 operation or L1 microcode. |
[in] | iR_iX_iY_iZ | indices of the operand(s) and the result in UPTR table. |
This function performs one specified PKC calculation, of which the operand(s) and result are specified by the indices of UPTR table, and a 8-bit constant parameter is directly provided. This function can also be used to perform an L0 operation without using Z operand, e.g., OP_MUL, R = X0 * Y.
[in] | param_mode | param (the higher 8 bits) indicates the type of the calculation (always L0) and the parameter set (PS1 or PS2). mode (the lower 8 bits) indicates the calculation, an L0 operation. |
[in] | iR_iX_iY_C | indices of the operand(s) and the result in UPTR table, and a direct 8-bit constant. |
This function triggers PKC to start the calculation of a FUP program.
[in] | pUPTR | 2-byte aligned address of the FUP program. |
[in] | uLength | length (number of calculation) of the FUP program. |
This function waits until PKC finishes on-going and pending calculations (if there is any). When returning to caller, PKC is in idle state, and result in PKC workarea is ready.
This function waits until PKC is ready to accept next calculation (i.e., no pending calculation).