AM243x MCU+ SDK  08.01.00
sa2ul.h File Reference

Introduction

This file contains the prototype of SA2UL driver APIs.

Go to the source code of this file.

Data Structures

struct  SA2UL_ContextParams
 Parameters passed to SA2UL_contextAlloc() More...
 
struct  SA2UL_Params
 Parameters passed to SA2UL_open() More...
 
struct  SA2UL_Object
 Object for a SA2UL crypto operation. More...
 
struct  SA2UL_Attrs
 SA2UL instance attributes - used during init time. More...
 
struct  SA2UL_Config
 SA2UL driver context. More...
 
struct  SA2UL_MCEData
 MEDdata for Encryption engine. More...
 
struct  SA2UL_SecCtxAuth
 SA2UL context RAM structure for authentication engine. More...
 
struct  SA2UL_Scctl
 SA2UL engine related structures. More...
 
struct  SA2UL_SecCtxEnc
 SA2UL context RAM structure for Encryption engine. More...
 
struct  SA2UL_SecCtx
 SA2UL context RAM structure. More...
 
struct  SA2UL_ContextObject
 

Macros

SA2UL macros

#define SA2UL_MAX_HASH_SIZE_BYTES   (64U)
 Max hash size in bytes. More...
 
#define SA2UL_MAX_KEY_SIZE_BYTES   (32U)
 Max key size in bytes. More...
 
#define SA2UL_MAX_IV_SIZE_BYTES   (16U)
 Max Initialization vector (IV) size in bytes. More...
 
#define SA2UL_NUMBER_OF_RINGS   (3U)
 Max number of rings. More...
 
#define SA2UL_CACHELINE_ALIGNMENT   (128U)
 Cache line size for alignment of descriptor and buffers. More...
 
#define SA2UL_SECCTX_SIZE   (256U)
 Secure context memsize. More...
 
#define SA2UL_INSTANCES_MAX   (4U)
 Max SA2UL instances. More...
 
#define SA2UL_RING_N_ELEMS   (8U)
 Max SA2UL ring n elements. More...
 
#define SA2UL_SW_RING_NUM   (304U)
 Max SA2UL sw ring nuber. More...
 
SA2UL Algo Types

#define SA2UL_HASH_ALG_NULL   (0x10U)
 Hash Algo NULL. More...
 
#define SA2UL_HASH_ALG_SHA2_256   (0x14U)
 Hash Algo SHA-256. More...
 
#define SA2UL_HASH_ALG_SHA2_512   (0x16U)
 Hash Algo SHA-512. More...
 
SA2UL Operations Sequence

#define SA2UL_OP_ENC   (0x01U)
 SA2UL operations encryption. More...
 
#define SA2UL_OP_AUTH   (0x02U)
 SA2UL operations authentication. More...
 
#define SA2UL_OP_ENC_THEN_AUTH   (0x03U)
 SA2UL operation encryption then authentication. More...
 
#define SA2UL_OP_AUTH_THEN_ENC   (0x04U)
 SA2UL operations authentication then encryption. More...
 
SA2UL engine operation type

#define SA2UL_ENGINE_CODE_DEFAULT_ENGINE_ID   (0U)
 SA2UL engine operation type. More...
 
#define SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P1   (2U)
 
#define SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P2   (3U)
 
#define SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P1   (4U)
 
#define SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P2   (5U)
 
#define SA2UL_ENGINE_CODE_DEFAULT_EGRESS_PORT   (20U)
 
SA2UL Encryption Algos

#define SA2UL_ENC_ALG_AES   (0x0U)
 Encryption Algos. More...
 
#define SA2UL_ENC_ALG_TDES   (0x1U)
 
#define SA2UL_ENC_ALG_MAX   (0x2U)
 
SA2UL Encryption direction

#define SA2UL_ENC_DIR_ENCRYPT   (0x0U)
 Encryption direction (encrypt or decrypt) More...
 
#define SA2UL_ENC_DIR_DECRYPT   (0x1U)
 
SA2UL Encryption modes

#define SA2UL_ENC_MODE_ECB   (0x0U)
 Encryption modes. More...
 
#define SA2UL_ENC_MODE_CBC   (0x1U)
 
#define SA2UL_ENC_MODE_MAX   (0x2U)
 
SA2UL Encryption key sizes

#define SA2UL_ENC_KEYSIZE_128   (0x0U)
 Encryption key sizes. More...
 
#define SA2UL_ENC_KEYSIZE_192   (0x1U)
 
#define SA2UL_ENC_KEYSIZE_256   (0x2U)
 
#define SA2UL_ENC_KEYSIZE_MAX   (0x3U)
 

Typedefs

typedef void * SA2UL_Handle
 Handle to the SA2UL driver returned by SA2UL_open() More...
 

Functions

void SA2UL_init (void)
 This function initializes the SA2UL module. More...
 
void SA2UL_deinit (void)
 This function de-initializes the SA2UL module. More...
 
SA2UL_Handle SA2UL_open (uint32_t index, const SA2UL_Params *params)
 This function opens a given SA2UL module. More...
 
void SA2UL_close (SA2UL_Handle handle)
 Function to close a SA2UL module specified by the SA2UL handle. More...
 
int32_t SA2UL_contextAlloc (SA2UL_Handle handle, SA2UL_ContextObject *ctxObj, const SA2UL_ContextParams *ctxPrms)
 Function to configure secure context. More...
 
int32_t SA2UL_contextFree (SA2UL_ContextObject *pCtxObj)
 Function to free secure context configuration. More...
 
int32_t SA2UL_contextProcess (SA2UL_ContextObject *ctxObj, const uint8_t *input, uint32_t ilen, uint8_t *output)
 Function to transfer and recieve data buffer. More...
 
static void SA2UL_Params_init (SA2UL_Params *prms)
 Function to initialize default SA2UL parameters. More...
 
int32_t SA2UL_rngSetup (SA2UL_Handle handle)
 setup the SA2UL RNG module. More...
 
int32_t SA2UL_rngRead (SA2UL_Handle handle, uint32_t *out)
 Read random numbers into the output buffer. More...
 
static void SA2UL_ContextParams_init (SA2UL_ContextParams *ctxPrms)
 

Variables

SA2UL_Config gSa2ulConfig []
 Externally defined driver configuration array. More...
 
uint32_t gSa2ulConfigNum
 Externally defined driver configuration Num. More...