 |
AM64x MCU+ SDK
11.01.00
|
|
Go to the documentation of this file.
57 #include <security_common/drivers/crypto/pka/hw_include/cslr_cp_ace.h>
73 #define SA2UL_MAX_HASH_SIZE_BYTES (64U)
75 #define SA2UL_MAX_KEY_SIZE_BYTES (32U)
77 #define SA2UL_MAX_IV_SIZE_BYTES (16U)
79 #define SA2UL_MAX_IV_SIZE_BYTES_GCM (12U)
81 #define SA2UL_NUMBER_OF_RINGS (3U)
83 #define SA2UL_CACHELINE_ALIGNMENT (16U)
85 #define SA2UL_SECCTX_SIZE (256U)
87 #define SA2UL_INSTANCES_MAX (4U)
89 #define SA2UL_RING_N_ELEMS (8U)
91 #define SA2UL_SW_RING_NUM (304U)
93 #define SA2UL_MAX_INPUT_LENGTH_ENC (0xFFFFU)
95 #define SA2UL_MAX_INPUT_LENGTH_AUTH (0x3FFFFFU)
97 #define SA2UL_MAX_AAD_SIZE_BYTES (16U)
99 #define SA2UL_GHASH_LENGTH_BYTES (16U)
108 #define SA2UL_HASH_ALG_NULL (0x10U)
110 #define SA2UL_HASH_ALG_SHA1 (0x12U)
112 #define SA2UL_HASH_ALG_SHA2_256 (0x14U)
114 #define SA2UL_HASH_ALG_SHA2_512 (0x16U)
123 #define SA2UL_OP_ENC (0x01U)
125 #define SA2UL_OP_AUTH (0x02U)
127 #define SA2UL_OP_ENC_THEN_AUTH (0x03U)
129 #define SA2UL_OP_AUTH_THEN_ENC (0x04U)
138 #define SA2UL_ENGINE_CODE_DEFAULT_ENGINE_ID (0U)
140 #define SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P1 (2U)
142 #define SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P2 (3U)
144 #define SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P1 (4U)
146 #define SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P2 (5U)
148 #define SA2UL_ENGINE_CODE_DEFAULT_EGRESS_PORT (20U)
157 #define SA2UL_ENC_ALG_AES (0x0U)
159 #define SA2UL_ENC_ALG_TDES (0x1U)
161 #define SA2UL_ENC_ALG_MAX (0x2U)
170 #define SA2UL_ENC_DIR_ENCRYPT (0x0U)
172 #define SA2UL_ENC_DIR_DECRYPT (0x1U)
181 #define SA2UL_ENC_MODE_ECB (0x0U)
183 #define SA2UL_ENC_MODE_CBC (0x1U)
185 #define SA2UL_ENC_MODE_GCM (0x2U)
187 #define SA2UL_ENC_MODE_MAX (0x3U)
196 #define SA2UL_ENC_KEYSIZE_128 (0x0U)
198 #define SA2UL_ENC_KEYSIZE_192 (0x1U)
200 #define SA2UL_ENC_KEYSIZE_256 (0x2U)
202 #define SA2UL_ENC_KEYSIZE_MAX (0x3U)
205 #define SA2UL_ENC_KEYSIZE_BITS(k) (128u + (64u * (k)))
274 uint32_t udmapRxChnum[2];
408 uint32_t reserved1[4];
409 uint32_t authenticationKeyValueL[8];
411 uint32_t authenticationKeyValueH[8];
428 uint32_t modeCtrlInstrs[6];
430 uint32_t encKeyValue[8];
435 uint8_t preCryptoData[15];
601 memset(ctxPrms, 0,
sizeof(*ctxPrms));
Parameters passed to SA2UL_open()
Definition: sa2ul.h:250
uint32_t numDesc
Definition: sa2ul.h:348
uint8_t hashAlg
Definition: sa2ul.h:221
SA2UL_Scctl scctl
Definition: sa2ul.h:443
Parameters passed to SA2UL_contextAlloc()
Definition: sa2ul.h:218
SA2UL_Attrs * attrs
Definition: sa2ul.h:385
#define SA2UL_GHASH_LENGTH_BYTES
GHASH length in bytes.
Definition: sa2ul.h:99
CSL_Cp_aceRegs * pSaRegs
Definition: sa2ul.h:266
void * Udma_FlowHandle
UDMA flow handle.
Definition: udma_types.h:73
uint32_t contextIdMaxNum
Definition: sa2ul.h:366
uint32_t secure
Definition: sa2ul.h:378
#define SA2UL_INSTANCES_MAX
Max SA2UL instances.
Definition: sa2ul.h:87
SA2UL_Handle handle
Definition: sa2ul.h:460
SA2UL context RAM structure for authentication engine.
Definition: sa2ul.h:403
uint8_t sopOffset
Definition: sa2ul.h:394
uint16_t index
Definition: tisci_rm_proxy.h:3
SA2UL_Config gSa2ulConfig[]
Externally defined driver configuration array.
uint8_t encMode
Definition: sa2ul.h:227
uint8_t encKeySize
Definition: sa2ul.h:231
SA2UL context RAM structure.
Definition: sa2ul.h:442
uint32_t storageQueueHead
Definition: sa2ul.h:314
void * Udma_ChHandle
UDMA channel handle.
Definition: udma_types.h:67
uint32_t reserved0
Definition: sa2ul.h:405
#define SA2UL_RING_N_ELEMS
Max SA2UL ring n elements.
Definition: sa2ul.h:89
SA2UL context object structure.
Definition: sa2ul.h:456
Opaque UDMA ring object.
Definition: udma_ring.h:596
uint8_t secCtxId
Definition: sa2ul.h:459
#define SA2UL_MAX_AAD_SIZE_BYTES
Max Additional Authenticated Data (AAD) size in bytes.
Definition: sa2ul.h:97
uint8_t opType
Definition: sa2ul.h:219
int32_t SA2UL_contextFree(SA2UL_ContextObject *pCtxObj)
Function to free secure context configuration.
Udma_ChHandle txChHandle
Definition: sa2ul.h:297
uint32_t totalLengthInBytes
Definition: sa2ul.h:463
int32_t SA2UL_contextAlloc(SA2UL_Handle handle, SA2UL_ContextObject *ctxObj, const SA2UL_ContextParams *ctxPrms)
Function to configure secure context.
void SA2UL_close(SA2UL_Handle handle)
Function to close a SA2UL module specified by the SA2UL handle.
uint32_t rxBytesCnt
Definition: sa2ul.h:467
SA2UL_SecCtx secCtx
Definition: sa2ul.h:457
int32_t SA2UL_engineDisable(int32_t hwDisableMask)
This function disable particular SA2UL engine based on user input mask.
uint32_t authCtx1
Definition: sa2ul.h:404
#define SA2UL_MAX_IV_SIZE_BYTES
Max Initialization vector (IV) size in bytes.
Definition: sa2ul.h:77
uint32_t gSa2ulConfigNum
Externally defined driver configuration Num.
SA2UL instance attributes - used during init time.
Definition: sa2ul.h:332
uint32_t aadLen
Definition: sa2ul.h:241
void * SA2UL_Handle
Handle to the SA2UL driver returned by SA2UL_open()
Definition: sa2ul.h:212
uint32_t gSa2ulEngineEnableMask
Externally defined driver engine configuration mask.
int32_t SA2UL_contextProcess(SA2UL_ContextObject *ctxObj, const uint8_t *input, uint32_t ilen, uint8_t *output)
Function to transfer and recieve data buffer.
Udma_EventHandle rxEvtHandle
Definition: sa2ul.h:309
Udma_RingHandle txRingHandle
Definition: sa2ul.h:307
Udma_FlowHandle rxFlowHandle
Definition: sa2ul.h:299
uint32_t encrCtl
Definition: sa2ul.h:427
void SA2UL_init(void)
This function initializes the SA2UL module.
uint32_t computationStatus
Definition: sa2ul.h:465
uint8_t encAlg
Definition: sa2ul.h:223
void * Udma_RingHandle
UDMA ring handle.
Definition: udma_types.h:71
SA2UL_Handle SA2UL_open(uint32_t index, const SA2UL_Params *params)
This function opens a given SA2UL module.
uint8_t contextId
Definition: sa2ul.h:326
uint8_t middleOffset
Definition: sa2ul.h:395
uint32_t scptrH
Definition: sa2ul.h:420
Opaque UDMA channel object.
Definition: udma_ch.h:944
uint32_t privId
Definition: sa2ul.h:374
Udma_EventObject udmaEvtObj
Definition: sa2ul.h:289
#define SA2UL_NUMBER_OF_RINGS
Max number of rings.
Definition: sa2ul.h:81
static void SA2UL_ContextParams_init(SA2UL_ContextParams *ctxPrms)
Definition: sa2ul.h:597
uint32_t txBytesCnt
Definition: sa2ul.h:466
Udma_ChObject udmaTxChObj
Definition: sa2ul.h:281
SA2UL context RAM structure for Encryption engine.
Definition: sa2ul.h:426
uint32_t scptrL
Definition: sa2ul.h:421
SA2UL_SecCtxAuth auth
Definition: sa2ul.h:447
Opaque UDMA flow object.
Definition: udma_flow.h:438
uint32_t txPsilThreadId
Definition: sa2ul.h:338
#define SA2UL_MAX_KEY_SIZE_BYTES
Max key size in bytes.
Definition: sa2ul.h:75
SA2UL_Handle handle
Definition: sa2ul.h:260
uint32_t rxPsil1ThreadId
Definition: sa2ul.h:342
SA2UL_Params prms
Definition: sa2ul.h:262
uint32_t descSize
Definition: sa2ul.h:350
uint32_t txRingNumInt
Definition: sa2ul.h:368
uint32_t udmaHandle
Definition: sa2ul.h:362
uint32_t rxPsil0ThreadId
Definition: sa2ul.h:340
void * Udma_EventHandle
UDMA event handle.
Definition: udma_types.h:69
uint32_t ringCnt
Definition: sa2ul.h:360
uint32_t inputLen
Definition: sa2ul.h:233
uint32_t udmapTxChnum
Definition: sa2ul.h:272
uint32_t rxRingNumInt
Definition: sa2ul.h:370
int32_t SA2UL_engineEnable(int32_t hwEnableMask)
This function enable particular SA2UL engine based on user input mask.
SA2UL_ContextParams ctxPrms
Definition: sa2ul.h:461
SA2UL SC control structure.
Definition: sa2ul.h:417
Udma_RingHandle rxFreeRingHandle
Definition: sa2ul.h:301
uint32_t udmaSaRxGroupNum
Definition: sa2ul.h:358
uint32_t reserved
Definition: sa2ul.h:251
uint32_t authenticationLengthHi
Definition: sa2ul.h:406
uint8_t encDirection
Definition: sa2ul.h:225
uint32_t scctl2
Definition: sa2ul.h:419
Udma_RingHandle rxRingHandle
Definition: sa2ul.h:303
uint32_t storageQueueTail
Definition: sa2ul.h:315
SA2UL_Object * object
Definition: sa2ul.h:387
Udma_FlowObject udmaFlowObj
Definition: sa2ul.h:285
UDMA Driver API/interface file.
void * Udma_DrvHandle
UDMA driver handle.
Definition: udma_types.h:65
Udma_DrvHandle drvHandle
Definition: sa2ul.h:293
uint32_t storageQueueFree
Definition: sa2ul.h:316
Udma_EventObject udmaEvtObj0
Definition: sa2ul.h:291
uint32_t priv
Definition: sa2ul.h:376
uint32_t rxRingMemAddr
Definition: sa2ul.h:344
uint32_t descMemSize
Definition: sa2ul.h:354
uint32_t udmapRxFlownum
Definition: sa2ul.h:276
Udma_RingHandle txComplRingHandle
Definition: sa2ul.h:305
uint32_t udmaSaTxGroupNum
Definition: sa2ul.h:356
MEDdata for Encryption engine.
Definition: sa2ul.h:393
static void SA2UL_Params_init(SA2UL_Params *prms)
Function to initialize default SA2UL parameters.
Definition: sa2ul.h:589
Object for a SA2UL crypto operation.
Definition: sa2ul.h:259
uint32_t sa2ulErrCnt
Definition: sa2ul.h:468
const uint8_t * mcInstrs
Definition: sa2ul.h:398
uint32_t saBaseAddr
Definition: sa2ul.h:336
Opaque UDMA event object.
Definition: udma_event.h:479
#define SA2UL_MAX_HASH_SIZE_BYTES
Max hash size in bytes.
Definition: sa2ul.h:73
uint32_t hwCtrlWord
Definition: sa2ul.h:429
uint32_t swRingNumInt
Definition: sa2ul.h:372
uint32_t descMemAddr
Definition: sa2ul.h:352
uint32_t scctl1
Definition: sa2ul.h:418
uint32_t authenticationLengthLo
Definition: sa2ul.h:407
uint32_t psilInst
Definition: sa2ul.h:268
SA2UL_SecCtxEnc enc
Definition: sa2ul.h:448
uint32_t contextIdStart
Definition: sa2ul.h:364
void SA2UL_deinit(void)
This function de-initializes the SA2UL module.
SA2UL driver context.
Definition: sa2ul.h:384
uint8_t eopOffset
Definition: sa2ul.h:396
uint8_t nMCInstrs
Definition: sa2ul.h:397
uint32_t txRingMemAddr
Definition: sa2ul.h:346
uint32_t isOpen
Definition: sa2ul.h:264