2.1.2 Functions
drv_puf_result_t DRV_PUF_Initialize (drv_puf_init_t *const pufInitConfig)
Initializes the PUF driver.
drv_puf_result_t DRV_PUF_Start (const drv_puf_start_t *const pufStartConfig)
Starts the PUF driver.
drv_puf_result_t DRV_PUF_Enable (void)
Enables the PUF clock.
drv_puf_result_t DRV_PUF_Disable (void)
Disables the PUF clock and holds in reset.
drv_puf_result_t DRV_PUF_SoftReset (void)
Software resets registers and internal state of PUF.
drv_puf_result_t DRV_PUF_SramPwrSwitchEnable (uint32_t onTime)
Enables SRAM Power Switch.
drv_puf_result_t DRV_PUF_SramPwrSwitchDisable (uint32_t offTime)
Disables SRAM Power Switch.
drv_puf_result_t DRV_PUF_PrivilegedAccessEnable (void)
Enables the PUF Privileged Access mode.
drv_puf_result_t DRV_PUF_PrivilegedAccessDisable (void)
Disables the PUF Privileged Access mode.
drv_puf_result_t DRV_PUF_RestrictContext (uint8_t ctxNum, uint32_t ctxVal)
Restricts the PUF user context.
drv_puf_result_t DRV_PUF_DisableCommand (uint32_t cmdMask)
Disables the PUF commands.
-
drv_puf_result_t DRV_PUF_CheckDisableCommand (uint32_t *cmdMask)
Checks which commands have been disabled.
bool DRV_PUF_IsBusy (void)
Checks if PUF is busy.
drv_puf_result_t DRV_PUF_ClearKey (void)
Clears the PUF Key.
drv_puf_result_t DRV_PUF_EnrollCmd (uint8_t *const activationCode, uint8_t *pufScore)
Performs the Enroll command.
drv_puf_result_t DRV_PUF_StartCmd (const uint8_t *const activationCode, uint8_t *pufScore)
Performs the Start command.
drv_puf_result_t DRV_PUF_ReconstructCmd (const uint8_t *const activationCode, uint8_t *pufScore)
Performs the Reconstruct command.
drv_puf_result_t DRV_PUF_StopCmd (void)
Performs the Stop command.
drv_puf_result_t DRV_PUF_CreateUserContext0 (drv_puf_key_index_t keyIndex, uint32_t userContext0, uint32_t *combinedUserContext0)
Creates the user context 0 for a key operation when the PUF key index is provided.
drv_puf_result_t DRV_PUF_GetKeyCmd (uint16_t keyLenBits, drv_puf_key_scope_t keyScopeStarted, drv_puf_key_scope_t keyScopeEnrolled, uint32_t userContext0, uint32_t userContext1, drv_puf_data_destination_t keyDest, uint8_t *key)
Performs the Get Key command.
drv_puf_result_t DRV_PUF_WrapGeneratedRandomCmd (uint16_t keyLenBits, drv_puf_key_scope_t keyScopeStarted, drv_puf_key_scope_t keyScopeEnrolled, uint32_t userContext0, uint32_t userContext1, uint8_t *keyCode)
Performs the Wrap Generated Random command.
drv_puf_result_t DRV_PUF_WrapCmd (uint16_t keyLenBits, drv_puf_key_scope_t keyScopeStarted, drv_puf_key_scope_t keyScopeEnrolled, uint32_t userContext0, uint32_t userContext1, const uint8_t *key, uint8_t *keyCode)
Performs the Wrap command.
drv_puf_result_t DRV_PUF_UnwrapCmd (const uint8_t *keyCode, drv_puf_data_destination_t keyDest, uint8_t *key)
Performs the Unwrap command.
drv_puf_result_t DRV_PUF_GenerateRandomCmd (uint16_t rndDataLenBits, drv_puf_data_destination_t rndDataDest, uint8_t *rndData)
Performs the Generate Random command.
drv_puf_result_t DRV_PUF_TestMemoryCmd (void)
Performs the Test Memory command.
drv_puf_result_t DRV_PUF_TestPufCmd (uint8_t *pufScore)
Performs the Test PUF command.
drv_puf_result_t DRV_PUF_Zeroize (void)
Performs the Zeroize command.
drv_puf_result_t DRV_PUF_Bist (void)
Performs the BIST command.
