AM64x MCU+ SDK  11.01.00
sa2ul.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021-2025 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
48 #ifndef SA2UL_H_
49 #define SA2UL_H_
50 
51 /* ========================================================================== */
52 /* Include Files */
53 /* ========================================================================== */
54 
55 #include <string.h>
56 #include <drivers/udma.h>
57 #include <security_common/drivers/crypto/pka/hw_include/cslr_cp_ace.h>
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif
62 
63 /* ========================================================================== */
64 /* Macros & Typedefs */
65 /* ========================================================================== */
66 
73 #define SA2UL_MAX_HASH_SIZE_BYTES (64U)
74 
75 #define SA2UL_MAX_KEY_SIZE_BYTES (32U)
76 
77 #define SA2UL_MAX_IV_SIZE_BYTES (16U)
78 
79 #define SA2UL_MAX_IV_SIZE_BYTES_GCM (12U)
80 
81 #define SA2UL_NUMBER_OF_RINGS (3U)
82 
83 #define SA2UL_CACHELINE_ALIGNMENT (16U)
84 
85 #define SA2UL_SECCTX_SIZE (256U)
86 
87 #define SA2UL_INSTANCES_MAX (4U)
88 
89 #define SA2UL_RING_N_ELEMS (8U)
90 
91 #define SA2UL_SW_RING_NUM (304U)
92 
93 #define SA2UL_MAX_INPUT_LENGTH_ENC (0xFFFFU)
94 
95 #define SA2UL_MAX_INPUT_LENGTH_AUTH (0x3FFFFFU)
96 
97 #define SA2UL_MAX_AAD_SIZE_BYTES (16U)
98 
99 #define SA2UL_GHASH_LENGTH_BYTES (16U)
100 
108 #define SA2UL_HASH_ALG_NULL (0x10U)
109 
110 #define SA2UL_HASH_ALG_SHA1 (0x12U)
111 
112 #define SA2UL_HASH_ALG_SHA2_256 (0x14U)
113 
114 #define SA2UL_HASH_ALG_SHA2_512 (0x16U)
115 
123 #define SA2UL_OP_ENC (0x01U)
124 
125 #define SA2UL_OP_AUTH (0x02U)
126 
127 #define SA2UL_OP_ENC_THEN_AUTH (0x03U)
128 
129 #define SA2UL_OP_AUTH_THEN_ENC (0x04U)
130 
138 #define SA2UL_ENGINE_CODE_DEFAULT_ENGINE_ID (0U)
139 
140 #define SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P1 (2U)
141 
142 #define SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P2 (3U)
143 
144 #define SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P1 (4U)
145 
146 #define SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P2 (5U)
147 
148 #define SA2UL_ENGINE_CODE_DEFAULT_EGRESS_PORT (20U)
149 
157 #define SA2UL_ENC_ALG_AES (0x0U)
158 
159 #define SA2UL_ENC_ALG_TDES (0x1U)
160 
161 #define SA2UL_ENC_ALG_MAX (0x2U)
162 
170 #define SA2UL_ENC_DIR_ENCRYPT (0x0U)
171 
172 #define SA2UL_ENC_DIR_DECRYPT (0x1U)
173 
181 #define SA2UL_ENC_MODE_ECB (0x0U)
182 
183 #define SA2UL_ENC_MODE_CBC (0x1U)
184 
185 #define SA2UL_ENC_MODE_GCM (0x2U)
186 
187 #define SA2UL_ENC_MODE_MAX (0x3U)
188 
196 #define SA2UL_ENC_KEYSIZE_128 (0x0U)
197 
198 #define SA2UL_ENC_KEYSIZE_192 (0x1U)
199 
200 #define SA2UL_ENC_KEYSIZE_256 (0x2U)
201 
202 #define SA2UL_ENC_KEYSIZE_MAX (0x3U)
203 
205 #define SA2UL_ENC_KEYSIZE_BITS(k) (128u + (64u * (k)))
206 /* ========================================================================== */
207 /* Structure Declarations */
208 /* ========================================================================== */
209 
212 typedef void *SA2UL_Handle;
213 
217 typedef struct
218 {
219  uint8_t opType;
221  uint8_t hashAlg;
223  uint8_t encAlg;
225  uint8_t encDirection;
227  uint8_t encMode;
231  uint8_t encKeySize;
233  uint32_t inputLen;
239  uint8_t ghash[SA2UL_GHASH_LENGTH_BYTES];
241  uint32_t aadLen;
244 
249 typedef struct
250 {
251  uint32_t reserved;
253 } SA2UL_Params;
254 
258 typedef struct
259 {
264  uint32_t isOpen;
266  CSL_Cp_aceRegs *pSaRegs;
268  uint32_t psilInst;
270  uint32_t ringaccChnls[SA2UL_NUMBER_OF_RINGS];
272  uint32_t udmapTxChnum;
274  uint32_t udmapRxChnum[2];
276  uint32_t udmapRxFlownum;
278  /*
279  * UDMA objects and druver handles
280  */
283  Udma_ChObject udmaRxChObj[2];
287  Udma_RingObject udmaRingObj[2];
295  Udma_ChHandle rxChHandle[2];
311  /*
312  * sa2ul storage Queue params
313  */
317  uint64_t storageQueue[SA2UL_RING_N_ELEMS];
318  /*
319  * memory for SA2UL security context
320  *
321  * Caller must allocate SA2UL_SECCTX_SIZE bytes of 128-byte aligned
322  * memory for this.
323  */
324  uint8_t sa2ulContextId[SA2UL_INSTANCES_MAX];
326  uint8_t contextId;
328 } SA2UL_Object;
329 
331 typedef struct
332 {
333  /*
334  * SOC configuration
335  */
336  uint32_t saBaseAddr;
338  uint32_t txPsilThreadId;
340  uint32_t rxPsil0ThreadId;
342  uint32_t rxPsil1ThreadId;
344  uint32_t rxRingMemAddr;
346  uint32_t txRingMemAddr;
348  uint32_t numDesc;
350  uint32_t descSize;
352  uint32_t descMemAddr;
354  uint32_t descMemSize;
360  uint32_t ringCnt;
362  uint32_t udmaHandle;
364  uint32_t contextIdStart;
366  uint32_t contextIdMaxNum;
368  uint32_t txRingNumInt;
370  uint32_t rxRingNumInt;
372  uint32_t swRingNumInt;
374  uint32_t privId;
376  uint32_t priv;
378  uint32_t secure;
380 } SA2UL_Attrs;
381 
383 typedef struct
384 {
389 } SA2UL_Config;
390 
392 typedef struct
393 {
394  uint8_t sopOffset;
395  uint8_t middleOffset;
396  uint8_t eopOffset;
397  uint8_t nMCInstrs;
398  const uint8_t *mcInstrs;
400 
402 typedef struct
403 {
404  uint32_t authCtx1;
405  uint32_t reserved0;
408  uint32_t reserved1[4];
409  uint32_t authenticationKeyValueL[8];
410  uint32_t oPadL[8];
411  uint32_t authenticationKeyValueH[8];
412  uint32_t oPadH[8];
414 
416 typedef struct
417 {
418  uint32_t scctl1;
419  uint32_t scctl2;
420  uint32_t scptrH;
421  uint32_t scptrL;
422 }SA2UL_Scctl;
423 
425 typedef struct
426 {
427  uint32_t encrCtl;
428  uint32_t modeCtrlInstrs[6];
429  uint32_t hwCtrlWord;
430  uint32_t encKeyValue[8];
431  uint32_t encAux1[8];
432  uint32_t encAux2[4];
433  uint32_t encAux3[4];
434  uint32_t encAux4[4];
435  uint8_t preCryptoData[15];
437 
441 typedef struct
442 {
444  uint32_t unused[12];
445  union
446  {
449  } u;
450 }SA2UL_SecCtx;
451 
455 typedef struct
456 {
458  uint8_t res[32];
459  uint8_t secCtxId;
464  uint8_t computedHash[SA2UL_MAX_HASH_SIZE_BYTES];
466  uint32_t txBytesCnt;
467  uint32_t rxBytesCnt;
468  uint32_t sa2ulErrCnt;
470 
471 /* ========================================================================== */
472 /* Global Variables */
473 /* ========================================================================== */
474 
476 extern SA2UL_Config gSa2ulConfig[];
478 extern uint32_t gSa2ulConfigNum;
480 extern uint32_t gSa2ulEngineEnableMask;
481 
482 /* ========================================================================== */
483 /* Function Declarations */
484 /* ========================================================================== */
485 
486 /* None */
487 
488 /* ========================================================================== */
489 /* Static Function Definitions */
490 /* ========================================================================== */
491 
495 void SA2UL_init(void);
496 
500 void SA2UL_deinit(void);
501 
507 int32_t SA2UL_engineEnable(int32_t hwEnableMask);
508 
514 int32_t SA2UL_engineDisable(int32_t hwDisableMask);
515 
527 SA2UL_Handle SA2UL_open(uint32_t index, const SA2UL_Params *params);
528 
535 
550 
560 
574 int32_t SA2UL_contextProcess(SA2UL_ContextObject *ctxObj, const uint8_t *input, uint32_t ilen, uint8_t *output);
575 
581 static inline void SA2UL_Params_init(SA2UL_Params *prms);
582 
583 static inline void SA2UL_ContextParams_init(SA2UL_ContextParams *ctxPrms);
584 
585 /* ========================================================================== */
586 /* Static Function Definitions */
587 /* ========================================================================== */
588 
589 static inline void SA2UL_Params_init(SA2UL_Params *prms)
590 {
591  if(prms != NULL)
592  {
593  prms->reserved = 0;
594  }
595 }
596 
597 static inline void SA2UL_ContextParams_init(SA2UL_ContextParams *ctxPrms)
598 {
599  if(ctxPrms != NULL)
600  {
601  memset(ctxPrms, 0, sizeof(*ctxPrms));
602  }
603 }
604 
605 #ifdef __cplusplus
606 }
607 #endif
608 
609 #endif /* SA2UL_H_ */
610 
SA2UL_Params
Parameters passed to SA2UL_open()
Definition: sa2ul.h:250
SA2UL_Attrs::numDesc
uint32_t numDesc
Definition: sa2ul.h:348
SA2UL_ContextParams::hashAlg
uint8_t hashAlg
Definition: sa2ul.h:221
SA2UL_SecCtx::scctl
SA2UL_Scctl scctl
Definition: sa2ul.h:443
SA2UL_ContextParams
Parameters passed to SA2UL_contextAlloc()
Definition: sa2ul.h:218
SA2UL_Config::attrs
SA2UL_Attrs * attrs
Definition: sa2ul.h:385
SA2UL_GHASH_LENGTH_BYTES
#define SA2UL_GHASH_LENGTH_BYTES
GHASH length in bytes.
Definition: sa2ul.h:99
SA2UL_Object::pSaRegs
CSL_Cp_aceRegs * pSaRegs
Definition: sa2ul.h:266
Udma_FlowHandle
void * Udma_FlowHandle
UDMA flow handle.
Definition: udma_types.h:73
SA2UL_Attrs::contextIdMaxNum
uint32_t contextIdMaxNum
Definition: sa2ul.h:366
SA2UL_Attrs::secure
uint32_t secure
Definition: sa2ul.h:378
SA2UL_INSTANCES_MAX
#define SA2UL_INSTANCES_MAX
Max SA2UL instances.
Definition: sa2ul.h:87
SA2UL_ContextObject::handle
SA2UL_Handle handle
Definition: sa2ul.h:460
SA2UL_SecCtxAuth
SA2UL context RAM structure for authentication engine.
Definition: sa2ul.h:403
SA2UL_MCEData::sopOffset
uint8_t sopOffset
Definition: sa2ul.h:394
index
uint16_t index
Definition: tisci_rm_proxy.h:3
gSa2ulConfig
SA2UL_Config gSa2ulConfig[]
Externally defined driver configuration array.
SA2UL_ContextParams::encMode
uint8_t encMode
Definition: sa2ul.h:227
SA2UL_ContextParams::encKeySize
uint8_t encKeySize
Definition: sa2ul.h:231
SA2UL_SecCtx
SA2UL context RAM structure.
Definition: sa2ul.h:442
SA2UL_Object::storageQueueHead
uint32_t storageQueueHead
Definition: sa2ul.h:314
Udma_ChHandle
void * Udma_ChHandle
UDMA channel handle.
Definition: udma_types.h:67
SA2UL_SecCtxAuth::reserved0
uint32_t reserved0
Definition: sa2ul.h:405
SA2UL_RING_N_ELEMS
#define SA2UL_RING_N_ELEMS
Max SA2UL ring n elements.
Definition: sa2ul.h:89
SA2UL_ContextObject
SA2UL context object structure.
Definition: sa2ul.h:456
Udma_RingObject
Opaque UDMA ring object.
Definition: udma_ring.h:596
SA2UL_ContextObject::secCtxId
uint8_t secCtxId
Definition: sa2ul.h:459
SA2UL_MAX_AAD_SIZE_BYTES
#define SA2UL_MAX_AAD_SIZE_BYTES
Max Additional Authenticated Data (AAD) size in bytes.
Definition: sa2ul.h:97
SA2UL_ContextParams::opType
uint8_t opType
Definition: sa2ul.h:219
SA2UL_contextFree
int32_t SA2UL_contextFree(SA2UL_ContextObject *pCtxObj)
Function to free secure context configuration.
SA2UL_Object::txChHandle
Udma_ChHandle txChHandle
Definition: sa2ul.h:297
SA2UL_ContextObject::totalLengthInBytes
uint32_t totalLengthInBytes
Definition: sa2ul.h:463
SA2UL_contextAlloc
int32_t SA2UL_contextAlloc(SA2UL_Handle handle, SA2UL_ContextObject *ctxObj, const SA2UL_ContextParams *ctxPrms)
Function to configure secure context.
SA2UL_close
void SA2UL_close(SA2UL_Handle handle)
Function to close a SA2UL module specified by the SA2UL handle.
SA2UL_ContextObject::rxBytesCnt
uint32_t rxBytesCnt
Definition: sa2ul.h:467
SA2UL_ContextObject::secCtx
SA2UL_SecCtx secCtx
Definition: sa2ul.h:457
SA2UL_engineDisable
int32_t SA2UL_engineDisable(int32_t hwDisableMask)
This function disable particular SA2UL engine based on user input mask.
SA2UL_SecCtxAuth::authCtx1
uint32_t authCtx1
Definition: sa2ul.h:404
SA2UL_MAX_IV_SIZE_BYTES
#define SA2UL_MAX_IV_SIZE_BYTES
Max Initialization vector (IV) size in bytes.
Definition: sa2ul.h:77
gSa2ulConfigNum
uint32_t gSa2ulConfigNum
Externally defined driver configuration Num.
SA2UL_Attrs
SA2UL instance attributes - used during init time.
Definition: sa2ul.h:332
SA2UL_ContextParams::aadLen
uint32_t aadLen
Definition: sa2ul.h:241
SA2UL_Handle
void * SA2UL_Handle
Handle to the SA2UL driver returned by SA2UL_open()
Definition: sa2ul.h:212
gSa2ulEngineEnableMask
uint32_t gSa2ulEngineEnableMask
Externally defined driver engine configuration mask.
SA2UL_contextProcess
int32_t SA2UL_contextProcess(SA2UL_ContextObject *ctxObj, const uint8_t *input, uint32_t ilen, uint8_t *output)
Function to transfer and recieve data buffer.
SA2UL_Object::rxEvtHandle
Udma_EventHandle rxEvtHandle
Definition: sa2ul.h:309
SA2UL_Object::txRingHandle
Udma_RingHandle txRingHandle
Definition: sa2ul.h:307
SA2UL_Object::rxFlowHandle
Udma_FlowHandle rxFlowHandle
Definition: sa2ul.h:299
SA2UL_SecCtxEnc::encrCtl
uint32_t encrCtl
Definition: sa2ul.h:427
SA2UL_init
void SA2UL_init(void)
This function initializes the SA2UL module.
SA2UL_ContextObject::computationStatus
uint32_t computationStatus
Definition: sa2ul.h:465
SA2UL_ContextParams::encAlg
uint8_t encAlg
Definition: sa2ul.h:223
Udma_RingHandle
void * Udma_RingHandle
UDMA ring handle.
Definition: udma_types.h:71
SA2UL_open
SA2UL_Handle SA2UL_open(uint32_t index, const SA2UL_Params *params)
This function opens a given SA2UL module.
SA2UL_Object::contextId
uint8_t contextId
Definition: sa2ul.h:326
SA2UL_MCEData::middleOffset
uint8_t middleOffset
Definition: sa2ul.h:395
SA2UL_Scctl::scptrH
uint32_t scptrH
Definition: sa2ul.h:420
Udma_ChObject
Opaque UDMA channel object.
Definition: udma_ch.h:944
SA2UL_Attrs::privId
uint32_t privId
Definition: sa2ul.h:374
SA2UL_Object::udmaEvtObj
Udma_EventObject udmaEvtObj
Definition: sa2ul.h:289
SA2UL_NUMBER_OF_RINGS
#define SA2UL_NUMBER_OF_RINGS
Max number of rings.
Definition: sa2ul.h:81
SA2UL_ContextParams_init
static void SA2UL_ContextParams_init(SA2UL_ContextParams *ctxPrms)
Definition: sa2ul.h:597
SA2UL_ContextObject::txBytesCnt
uint32_t txBytesCnt
Definition: sa2ul.h:466
SA2UL_Object::udmaTxChObj
Udma_ChObject udmaTxChObj
Definition: sa2ul.h:281
SA2UL_SecCtxEnc
SA2UL context RAM structure for Encryption engine.
Definition: sa2ul.h:426
SA2UL_Scctl::scptrL
uint32_t scptrL
Definition: sa2ul.h:421
SA2UL_SecCtx::auth
SA2UL_SecCtxAuth auth
Definition: sa2ul.h:447
Udma_FlowObject
Opaque UDMA flow object.
Definition: udma_flow.h:438
SA2UL_Attrs::txPsilThreadId
uint32_t txPsilThreadId
Definition: sa2ul.h:338
SA2UL_MAX_KEY_SIZE_BYTES
#define SA2UL_MAX_KEY_SIZE_BYTES
Max key size in bytes.
Definition: sa2ul.h:75
SA2UL_Object::handle
SA2UL_Handle handle
Definition: sa2ul.h:260
SA2UL_Attrs::rxPsil1ThreadId
uint32_t rxPsil1ThreadId
Definition: sa2ul.h:342
SA2UL_Object::prms
SA2UL_Params prms
Definition: sa2ul.h:262
SA2UL_Attrs::descSize
uint32_t descSize
Definition: sa2ul.h:350
SA2UL_Attrs::txRingNumInt
uint32_t txRingNumInt
Definition: sa2ul.h:368
SA2UL_Attrs::udmaHandle
uint32_t udmaHandle
Definition: sa2ul.h:362
SA2UL_Attrs::rxPsil0ThreadId
uint32_t rxPsil0ThreadId
Definition: sa2ul.h:340
Udma_EventHandle
void * Udma_EventHandle
UDMA event handle.
Definition: udma_types.h:69
SA2UL_Attrs::ringCnt
uint32_t ringCnt
Definition: sa2ul.h:360
SA2UL_ContextParams::inputLen
uint32_t inputLen
Definition: sa2ul.h:233
SA2UL_Object::udmapTxChnum
uint32_t udmapTxChnum
Definition: sa2ul.h:272
SA2UL_Attrs::rxRingNumInt
uint32_t rxRingNumInt
Definition: sa2ul.h:370
SA2UL_engineEnable
int32_t SA2UL_engineEnable(int32_t hwEnableMask)
This function enable particular SA2UL engine based on user input mask.
SA2UL_ContextObject::ctxPrms
SA2UL_ContextParams ctxPrms
Definition: sa2ul.h:461
SA2UL_Scctl
SA2UL SC control structure.
Definition: sa2ul.h:417
SA2UL_Object::rxFreeRingHandle
Udma_RingHandle rxFreeRingHandle
Definition: sa2ul.h:301
SA2UL_Attrs::udmaSaRxGroupNum
uint32_t udmaSaRxGroupNum
Definition: sa2ul.h:358
SA2UL_Params::reserved
uint32_t reserved
Definition: sa2ul.h:251
SA2UL_SecCtxAuth::authenticationLengthHi
uint32_t authenticationLengthHi
Definition: sa2ul.h:406
SA2UL_ContextParams::encDirection
uint8_t encDirection
Definition: sa2ul.h:225
SA2UL_Scctl::scctl2
uint32_t scctl2
Definition: sa2ul.h:419
SA2UL_Object::rxRingHandle
Udma_RingHandle rxRingHandle
Definition: sa2ul.h:303
SA2UL_Object::storageQueueTail
uint32_t storageQueueTail
Definition: sa2ul.h:315
SA2UL_Config::object
SA2UL_Object * object
Definition: sa2ul.h:387
SA2UL_Object::udmaFlowObj
Udma_FlowObject udmaFlowObj
Definition: sa2ul.h:285
udma.h
UDMA Driver API/interface file.
Udma_DrvHandle
void * Udma_DrvHandle
UDMA driver handle.
Definition: udma_types.h:65
SA2UL_Object::drvHandle
Udma_DrvHandle drvHandle
Definition: sa2ul.h:293
SA2UL_Object::storageQueueFree
uint32_t storageQueueFree
Definition: sa2ul.h:316
SA2UL_Object::udmaEvtObj0
Udma_EventObject udmaEvtObj0
Definition: sa2ul.h:291
SA2UL_Attrs::priv
uint32_t priv
Definition: sa2ul.h:376
SA2UL_Attrs::rxRingMemAddr
uint32_t rxRingMemAddr
Definition: sa2ul.h:344
SA2UL_Attrs::descMemSize
uint32_t descMemSize
Definition: sa2ul.h:354
SA2UL_Object::udmapRxFlownum
uint32_t udmapRxFlownum
Definition: sa2ul.h:276
SA2UL_Object::txComplRingHandle
Udma_RingHandle txComplRingHandle
Definition: sa2ul.h:305
SA2UL_Attrs::udmaSaTxGroupNum
uint32_t udmaSaTxGroupNum
Definition: sa2ul.h:356
SA2UL_MCEData
MEDdata for Encryption engine.
Definition: sa2ul.h:393
SA2UL_Params_init
static void SA2UL_Params_init(SA2UL_Params *prms)
Function to initialize default SA2UL parameters.
Definition: sa2ul.h:589
SA2UL_Object
Object for a SA2UL crypto operation.
Definition: sa2ul.h:259
SA2UL_ContextObject::sa2ulErrCnt
uint32_t sa2ulErrCnt
Definition: sa2ul.h:468
SA2UL_MCEData::mcInstrs
const uint8_t * mcInstrs
Definition: sa2ul.h:398
SA2UL_Attrs::saBaseAddr
uint32_t saBaseAddr
Definition: sa2ul.h:336
Udma_EventObject
Opaque UDMA event object.
Definition: udma_event.h:479
SA2UL_MAX_HASH_SIZE_BYTES
#define SA2UL_MAX_HASH_SIZE_BYTES
Max hash size in bytes.
Definition: sa2ul.h:73
SA2UL_SecCtxEnc::hwCtrlWord
uint32_t hwCtrlWord
Definition: sa2ul.h:429
SA2UL_Attrs::swRingNumInt
uint32_t swRingNumInt
Definition: sa2ul.h:372
SA2UL_Attrs::descMemAddr
uint32_t descMemAddr
Definition: sa2ul.h:352
SA2UL_Scctl::scctl1
uint32_t scctl1
Definition: sa2ul.h:418
SA2UL_SecCtxAuth::authenticationLengthLo
uint32_t authenticationLengthLo
Definition: sa2ul.h:407
SA2UL_Object::psilInst
uint32_t psilInst
Definition: sa2ul.h:268
SA2UL_SecCtx::enc
SA2UL_SecCtxEnc enc
Definition: sa2ul.h:448
SA2UL_Attrs::contextIdStart
uint32_t contextIdStart
Definition: sa2ul.h:364
SA2UL_deinit
void SA2UL_deinit(void)
This function de-initializes the SA2UL module.
SA2UL_Config
SA2UL driver context.
Definition: sa2ul.h:384
SA2UL_MCEData::eopOffset
uint8_t eopOffset
Definition: sa2ul.h:396
SA2UL_MCEData::nMCInstrs
uint8_t nMCInstrs
Definition: sa2ul.h:397
SA2UL_Attrs::txRingMemAddr
uint32_t txRingMemAddr
Definition: sa2ul.h:346
SA2UL_Object::isOpen
uint32_t isOpen
Definition: sa2ul.h:264