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 SC control structure. More... | |
struct | SA2UL_SecCtxEnc |
SA2UL context RAM structure for Encryption engine. More... | |
struct | SA2UL_SecCtx |
SA2UL context RAM structure. More... | |
struct | SA2UL_ContextObject |
SA2UL context object structure. More... | |
Macros | |
#define | SA2UL_ENC_KEYSIZE_BITS(k) (128u + (64u * (k))) |
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 (16U) |
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 number. More... | |
#define | SA2UL_MAX_INPUT_LENGTH_ENC (0xFFFFU) |
Max Aes input length for encryption and decryption (64KB-1) More... | |
#define | SA2UL_MAX_INPUT_LENGTH_AUTH (0x3FFFFFU) |
Max input length for authentication (4MB-1) More... | |
SA2UL Algo Types | |
#define | SA2UL_HASH_ALG_NULL (0x10U) |
Hash Algo NULL. More... | |
#define | SA2UL_HASH_ALG_SHA1 (0x12U) |
Hash Algo SHA-1. 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 default engine Id. More... | |
#define | SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P1 (2U) |
SA2UL Encryption engine module p1. More... | |
#define | SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P2 (3U) |
SA2UL Encryption engine module p2. More... | |
#define | SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P1 (4U) |
SA2UL Authentication engine module p1. More... | |
#define | SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P2 (5U) |
SA2UL Authentication engine module p2. More... | |
#define | SA2UL_ENGINE_CODE_DEFAULT_EGRESS_PORT (20U) |
SA2UL Default Engress Port. More... | |
SA2UL Encryption Algos | |
#define | SA2UL_ENC_ALG_AES (0x0U) |
SA2UL AES Encryption Algorithm. More... | |
#define | SA2UL_ENC_ALG_TDES (0x1U) |
SA2UL TDES Encryption Algorithm. More... | |
#define | SA2UL_ENC_ALG_MAX (0x2U) |
SA2UL Encryption Maximun number of Algorithms. More... | |
SA2UL Encryption direction | |
#define | SA2UL_ENC_DIR_ENCRYPT (0x0U) |
Encryption direction. More... | |
#define | SA2UL_ENC_DIR_DECRYPT (0x1U) |
Decryption direction. More... | |
SA2UL Encryption modes | |
#define | SA2UL_ENC_MODE_ECB (0x0U) |
ECB mode. More... | |
#define | SA2UL_ENC_MODE_CBC (0x1U) |
CBC mode. More... | |
#define | SA2UL_ENC_MODE_MAX (0x2U) |
Maximun Encryption modes. More... | |
SA2UL Encryption key sizes | |
#define | SA2UL_ENC_KEYSIZE_128 (0x0U) |
Encryption 128 bit key size. More... | |
#define | SA2UL_ENC_KEYSIZE_192 (0x1U) |
Encryption 192 bit key size. More... | |
#define | SA2UL_ENC_KEYSIZE_256 (0x2U) |
Encryption 256 bit key size. More... | |
#define | SA2UL_ENC_KEYSIZE_MAX (0x3U) |
Max key size. More... | |
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... | |
int32_t | SA2UL_engineEnable (int32_t hwEnableMask) |
This function enable particular SA2UL engine based on user input mask. More... | |
int32_t | SA2UL_engineDisable (int32_t hwDisableMask) |
This function disable particular SA2UL engine based on user input mask. 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... | |
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... | |
uint32_t | gSa2ulEngineEnableMask |
Externally defined driver engine configuration mask. More... | |