AM64x MCU+ SDK  08.02.00
sa2ul.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 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/crypto/sa2ul/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_NUMBER_OF_RINGS (3U)
80 
81 #define SA2UL_CACHELINE_ALIGNMENT (128U)
82 
83 #define SA2UL_SECCTX_SIZE (256U)
84 
85 #define SA2UL_INSTANCES_MAX (4U)
86 
87 #define SA2UL_RING_N_ELEMS (8U)
88 
89 #define SA2UL_SW_RING_NUM (304U)
90 
91 #define SA2UL_MAX_INPUT_LENGTH_ENC (0xFFFFU)
92 
93 #define SA2UL_MAX_INPUT_LENGTH_AUTH (0x3FFFFFU)
94 
102 #define SA2UL_HASH_ALG_NULL (0x10U)
103 
104 #define SA2UL_HASH_ALG_SHA1 (0x12U)
105 
106 #define SA2UL_HASH_ALG_SHA2_256 (0x14U)
107 
108 #define SA2UL_HASH_ALG_SHA2_512 (0x16U)
109 
117 #define SA2UL_OP_ENC (0x01U)
118 
119 #define SA2UL_OP_AUTH (0x02U)
120 
121 #define SA2UL_OP_ENC_THEN_AUTH (0x03U)
122 
123 #define SA2UL_OP_AUTH_THEN_ENC (0x04U)
124 
132 #define SA2UL_ENGINE_CODE_DEFAULT_ENGINE_ID (0U)
133 
134 #define SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P1 (2U)
135 
136 #define SA2UL_ENGINE_CODE_ENCRYPTION_MODULE_P2 (3U)
137 
138 #define SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P1 (4U)
139 
140 #define SA2UL_ENGINE_CODE_AUTHENTICATION_MODULE_P2 (5U)
141 
142 #define SA2UL_ENGINE_CODE_DEFAULT_EGRESS_PORT (20U)
143 
151 #define SA2UL_ENC_ALG_AES (0x0U)
152 
153 #define SA2UL_ENC_ALG_TDES (0x1U)
154 
155 #define SA2UL_ENC_ALG_MAX (0x2U)
156 
164 #define SA2UL_ENC_DIR_ENCRYPT (0x0U)
165 
166 #define SA2UL_ENC_DIR_DECRYPT (0x1U)
167 
175 #define SA2UL_ENC_MODE_ECB (0x0U)
176 
177 #define SA2UL_ENC_MODE_CBC (0x1U)
178 
179 #define SA2UL_ENC_MODE_MAX (0x2U)
180 
188 #define SA2UL_ENC_KEYSIZE_128 (0x0U)
189 
190 #define SA2UL_ENC_KEYSIZE_192 (0x1U)
191 
192 #define SA2UL_ENC_KEYSIZE_256 (0x2U)
193 
194 #define SA2UL_ENC_KEYSIZE_MAX (0x3U)
195 
197 #define SA2UL_ENC_KEYSIZE_BITS(k) (128u + (64u * (k)))
198 /* ========================================================================== */
199 /* Structure Declarations */
200 /* ========================================================================== */
201 
204 typedef void *SA2UL_Handle;
205 
209 typedef struct
210 {
211  uint8_t opType;
213  uint8_t hashAlg;
215  uint8_t encAlg;
217  uint8_t encDirection;
219  uint8_t encMode;
223  uint8_t encKeySize;
225  uint32_t inputLen;
230 
235 typedef struct
236 {
237  uint32_t reserved;
239 } SA2UL_Params;
240 
244 typedef struct
245 {
250  uint32_t isOpen;
252  CSL_Cp_aceRegs *pSaRegs;
254  uint32_t psilInst;
256  uint32_t ringaccChnls[SA2UL_NUMBER_OF_RINGS];
258  uint32_t udmapTxChnum;
260  uint32_t udmapRxChnum[2];
262  uint32_t udmapRxFlownum;
264  /*
265  * UDMA objects and druver handles
266  */
269  Udma_ChObject udmaRxChObj[2];
273  Udma_RingObject udmaRingObj[2];
281  Udma_ChHandle rxChHandle[2];
297  /*
298  * sa2ul storage Queue params
299  */
303  uint64_t storageQueue[SA2UL_RING_N_ELEMS];
304  /*
305  * memory for SA2UL security context
306  *
307  * Caller must allocate SA2UL_SECCTX_SIZE bytes of 128-byte aligned
308  * memory for this.
309  */
310  uint8_t sa2ulContextId[SA2UL_INSTANCES_MAX];
312  uint8_t contextId;
314 } SA2UL_Object;
315 
317 typedef struct
318 {
319  /*
320  * SOC configuration
321  */
322  uint32_t saBaseAddr;
324  uint32_t txPsilThreadId;
326  uint32_t rxPsil0ThreadId;
328  uint32_t rxPsil1ThreadId;
330  uint32_t rxRingMemAddr;
332  uint32_t txRingMemAddr;
334  uint32_t numDesc;
336  uint32_t descSize;
338  uint32_t descMemAddr;
340  uint32_t descMemSize;
346  uint32_t ringCnt;
348  uint32_t udmaHandle;
350  uint32_t contextIdStart;
352  uint32_t contextIdMaxNum;
354  uint32_t txRingNumInt;
356  uint32_t rxRingNumInt;
358  uint32_t swRingNumInt;
360  uint32_t privId;
362  uint32_t priv;
364  uint32_t secure;
366 } SA2UL_Attrs;
367 
369 typedef struct
370 {
375 } SA2UL_Config;
376 
378 typedef struct
379 {
380  uint8_t sopOffset;
381  uint8_t middleOffset;
382  uint8_t eopOffset;
383  uint8_t nMCInstrs;
384  const uint8_t *mcInstrs;
386 
388 typedef struct
389 {
390  uint32_t authCtx1;
391  uint32_t reserved0;
394  uint32_t reserved1[4];
395  uint32_t authenticationKeyValueL[8];
396  uint32_t oPadL[8];
397  uint32_t authenticationKeyValueH[8];
398  uint32_t oPadH[8];
400 
402 typedef struct
403 {
404  uint32_t scctl1;
405  uint32_t scctl2;
406  uint32_t scptrH;
407  uint32_t scptrL;
408 }SA2UL_Scctl;
409 
411 typedef struct
412 {
413  uint32_t encrCtl;
414  uint32_t modeCtrlInstrs[6];
415  uint32_t hwCtrlWord;
416  uint32_t encKeyValue[8];
417  uint32_t encAux1[8];
418  uint32_t encAux2[4];
419  uint32_t encAux3[4];
420  uint32_t encAux4[4];
421  uint8_t preCryptoData[15];
423 
427 typedef struct
428 {
430  uint32_t unused[12];
431  union
432  {
435  } u;
436 }SA2UL_SecCtx;
437 
441 typedef struct
442 {
444  uint8_t res[32];
445  uint8_t secCtxId;
450  uint8_t computedHash[SA2UL_MAX_HASH_SIZE_BYTES];
452  uint32_t txBytesCnt;
453  uint32_t rxBytesCnt;
454  uint32_t sa2ulErrCnt;
456 
457 /* ========================================================================== */
458 /* Global Variables */
459 /* ========================================================================== */
460 
462 extern SA2UL_Config gSa2ulConfig[];
464 extern uint32_t gSa2ulConfigNum;
465 
466 /* ========================================================================== */
467 /* Function Declarations */
468 /* ========================================================================== */
469 
470 /* None */
471 
472 /* ========================================================================== */
473 /* Static Function Definitions */
474 /* ========================================================================== */
475 
479 void SA2UL_init(void);
480 
484 void SA2UL_deinit(void);
485 
497 SA2UL_Handle SA2UL_open(uint32_t index, const SA2UL_Params *params);
498 
505 
520 
530 
544 int32_t SA2UL_contextProcess(SA2UL_ContextObject *ctxObj, const uint8_t *input, uint32_t ilen, uint8_t *output);
545 
551 static inline void SA2UL_Params_init(SA2UL_Params *prms);
552 
560 int32_t SA2UL_rngSetup(SA2UL_Handle handle);
561 
572 int32_t SA2UL_rngRead(SA2UL_Handle handle, uint32_t *out);
573 
574 static inline void SA2UL_ContextParams_init(SA2UL_ContextParams *ctxPrms);
575 
576 /* ========================================================================== */
577 /* Static Function Definitions */
578 /* ========================================================================== */
579 
580 static inline void SA2UL_Params_init(SA2UL_Params *prms)
581 {
582  if(prms != NULL)
583  {
584  prms->reserved = 0;
585  }
586 }
587 
588 static inline void SA2UL_ContextParams_init(SA2UL_ContextParams *ctxPrms)
589 {
590  if(ctxPrms != NULL)
591  {
592  memset(ctxPrms, 0, sizeof(*ctxPrms));
593  }
594 }
595 
596 #ifdef __cplusplus
597 }
598 #endif
599 
600 #endif /* SA2UL_H_ */
601 
SA2UL_Params
Parameters passed to SA2UL_open()
Definition: sa2ul.h:236
SA2UL_Attrs::numDesc
uint32_t numDesc
Definition: sa2ul.h:334
SA2UL_ContextParams::hashAlg
uint8_t hashAlg
Definition: sa2ul.h:213
SA2UL_SecCtx::scctl
SA2UL_Scctl scctl
Definition: sa2ul.h:429
SA2UL_ContextParams
Parameters passed to SA2UL_contextAlloc()
Definition: sa2ul.h:210
SA2UL_Config::attrs
SA2UL_Attrs * attrs
Definition: sa2ul.h:371
SA2UL_Object::pSaRegs
CSL_Cp_aceRegs * pSaRegs
Definition: sa2ul.h:252
Udma_FlowHandle
void * Udma_FlowHandle
UDMA flow handle.
Definition: udma_types.h:73
SA2UL_Attrs::contextIdMaxNum
uint32_t contextIdMaxNum
Definition: sa2ul.h:352
SA2UL_Attrs::secure
uint32_t secure
Definition: sa2ul.h:364
SA2UL_INSTANCES_MAX
#define SA2UL_INSTANCES_MAX
Max SA2UL instances.
Definition: sa2ul.h:85
SA2UL_ContextObject::handle
SA2UL_Handle handle
Definition: sa2ul.h:446
SA2UL_SecCtxAuth
SA2UL context RAM structure for authentication engine.
Definition: sa2ul.h:389
SA2UL_MCEData::sopOffset
uint8_t sopOffset
Definition: sa2ul.h:380
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:219
SA2UL_ContextParams::encKeySize
uint8_t encKeySize
Definition: sa2ul.h:223
SA2UL_SecCtx
SA2UL context RAM structure.
Definition: sa2ul.h:428
SA2UL_Object::storageQueueHead
uint32_t storageQueueHead
Definition: sa2ul.h:300
Udma_ChHandle
void * Udma_ChHandle
UDMA channel handle.
Definition: udma_types.h:67
SA2UL_SecCtxAuth::reserved0
uint32_t reserved0
Definition: sa2ul.h:391
SA2UL_RING_N_ELEMS
#define SA2UL_RING_N_ELEMS
Max SA2UL ring n elements.
Definition: sa2ul.h:87
SA2UL_ContextObject
SA2UL context object structure.
Definition: sa2ul.h:442
Udma_RingObject
Opaque UDMA ring object.
Definition: udma_ring.h:596
SA2UL_ContextObject::secCtxId
uint8_t secCtxId
Definition: sa2ul.h:445
SA2UL_ContextParams::opType
uint8_t opType
Definition: sa2ul.h:211
SA2UL_contextFree
int32_t SA2UL_contextFree(SA2UL_ContextObject *pCtxObj)
Function to free secure context configuration.
SA2UL_Object::txChHandle
Udma_ChHandle txChHandle
Definition: sa2ul.h:283
SA2UL_ContextObject::totalLengthInBytes
uint32_t totalLengthInBytes
Definition: sa2ul.h:449
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_rngRead
int32_t SA2UL_rngRead(SA2UL_Handle handle, uint32_t *out)
Read random numbers into the output buffer.
SA2UL_ContextObject::rxBytesCnt
uint32_t rxBytesCnt
Definition: sa2ul.h:453
SA2UL_ContextObject::secCtx
SA2UL_SecCtx secCtx
Definition: sa2ul.h:443
SA2UL_SecCtxAuth::authCtx1
uint32_t authCtx1
Definition: sa2ul.h:390
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:318
SA2UL_Handle
void * SA2UL_Handle
Handle to the SA2UL driver returned by SA2UL_open()
Definition: sa2ul.h:204
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:295
SA2UL_Object::txRingHandle
Udma_RingHandle txRingHandle
Definition: sa2ul.h:293
SA2UL_Object::rxFlowHandle
Udma_FlowHandle rxFlowHandle
Definition: sa2ul.h:285
SA2UL_SecCtxEnc::encrCtl
uint32_t encrCtl
Definition: sa2ul.h:413
SA2UL_init
void SA2UL_init(void)
This function initializes the SA2UL module.
SA2UL_ContextObject::computationStatus
uint32_t computationStatus
Definition: sa2ul.h:451
SA2UL_ContextParams::encAlg
uint8_t encAlg
Definition: sa2ul.h:215
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:312
SA2UL_MCEData::middleOffset
uint8_t middleOffset
Definition: sa2ul.h:381
SA2UL_Scctl::scptrH
uint32_t scptrH
Definition: sa2ul.h:406
Udma_ChObject
Opaque UDMA channel object.
Definition: udma_ch.h:914
SA2UL_Attrs::privId
uint32_t privId
Definition: sa2ul.h:360
SA2UL_Object::udmaEvtObj
Udma_EventObject udmaEvtObj
Definition: sa2ul.h:275
SA2UL_NUMBER_OF_RINGS
#define SA2UL_NUMBER_OF_RINGS
Max number of rings.
Definition: sa2ul.h:79
SA2UL_ContextParams_init
static void SA2UL_ContextParams_init(SA2UL_ContextParams *ctxPrms)
Definition: sa2ul.h:588
SA2UL_ContextObject::txBytesCnt
uint32_t txBytesCnt
Definition: sa2ul.h:452
SA2UL_Object::udmaTxChObj
Udma_ChObject udmaTxChObj
Definition: sa2ul.h:267
SA2UL_SecCtxEnc
SA2UL context RAM structure for Encryption engine.
Definition: sa2ul.h:412
SA2UL_rngSetup
int32_t SA2UL_rngSetup(SA2UL_Handle handle)
setup the SA2UL RNG module.
SA2UL_Scctl::scptrL
uint32_t scptrL
Definition: sa2ul.h:407
SA2UL_SecCtx::auth
SA2UL_SecCtxAuth auth
Definition: sa2ul.h:433
Udma_FlowObject
Opaque UDMA flow object.
Definition: udma_flow.h:438
SA2UL_Attrs::txPsilThreadId
uint32_t txPsilThreadId
Definition: sa2ul.h:324
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:246
SA2UL_Attrs::rxPsil1ThreadId
uint32_t rxPsil1ThreadId
Definition: sa2ul.h:328
SA2UL_Object::prms
SA2UL_Params prms
Definition: sa2ul.h:248
SA2UL_Attrs::descSize
uint32_t descSize
Definition: sa2ul.h:336
SA2UL_Attrs::txRingNumInt
uint32_t txRingNumInt
Definition: sa2ul.h:354
SA2UL_Attrs::udmaHandle
uint32_t udmaHandle
Definition: sa2ul.h:348
SA2UL_Attrs::rxPsil0ThreadId
uint32_t rxPsil0ThreadId
Definition: sa2ul.h:326
Udma_EventHandle
void * Udma_EventHandle
UDMA event handle.
Definition: udma_types.h:69
SA2UL_Attrs::ringCnt
uint32_t ringCnt
Definition: sa2ul.h:346
SA2UL_ContextParams::inputLen
uint32_t inputLen
Definition: sa2ul.h:225
SA2UL_Object::udmapTxChnum
uint32_t udmapTxChnum
Definition: sa2ul.h:258
SA2UL_Attrs::rxRingNumInt
uint32_t rxRingNumInt
Definition: sa2ul.h:356
SA2UL_ContextObject::ctxPrms
SA2UL_ContextParams ctxPrms
Definition: sa2ul.h:447
SA2UL_Scctl
SA2UL SC control structure.
Definition: sa2ul.h:403
SA2UL_Object::rxFreeRingHandle
Udma_RingHandle rxFreeRingHandle
Definition: sa2ul.h:287
SA2UL_Attrs::udmaSaRxGroupNum
uint32_t udmaSaRxGroupNum
Definition: sa2ul.h:344
SA2UL_Params::reserved
uint32_t reserved
Definition: sa2ul.h:237
SA2UL_SecCtxAuth::authenticationLengthHi
uint32_t authenticationLengthHi
Definition: sa2ul.h:392
SA2UL_ContextParams::encDirection
uint8_t encDirection
Definition: sa2ul.h:217
SA2UL_Scctl::scctl2
uint32_t scctl2
Definition: sa2ul.h:405
SA2UL_Object::rxRingHandle
Udma_RingHandle rxRingHandle
Definition: sa2ul.h:289
SA2UL_Object::storageQueueTail
uint32_t storageQueueTail
Definition: sa2ul.h:301
SA2UL_Config::object
SA2UL_Object * object
Definition: sa2ul.h:373
SA2UL_Object::udmaFlowObj
Udma_FlowObject udmaFlowObj
Definition: sa2ul.h:271
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:279
SA2UL_Object::storageQueueFree
uint32_t storageQueueFree
Definition: sa2ul.h:302
SA2UL_Object::udmaEvtObj0
Udma_EventObject udmaEvtObj0
Definition: sa2ul.h:277
SA2UL_Attrs::priv
uint32_t priv
Definition: sa2ul.h:362
SA2UL_Attrs::rxRingMemAddr
uint32_t rxRingMemAddr
Definition: sa2ul.h:330
SA2UL_Attrs::descMemSize
uint32_t descMemSize
Definition: sa2ul.h:340
SA2UL_Object::udmapRxFlownum
uint32_t udmapRxFlownum
Definition: sa2ul.h:262
SA2UL_Object::txComplRingHandle
Udma_RingHandle txComplRingHandle
Definition: sa2ul.h:291
SA2UL_Attrs::udmaSaTxGroupNum
uint32_t udmaSaTxGroupNum
Definition: sa2ul.h:342
SA2UL_MCEData
MEDdata for Encryption engine.
Definition: sa2ul.h:379
SA2UL_Params_init
static void SA2UL_Params_init(SA2UL_Params *prms)
Function to initialize default SA2UL parameters.
Definition: sa2ul.h:580
SA2UL_Object
Object for a SA2UL crypto operation.
Definition: sa2ul.h:245
SA2UL_ContextObject::sa2ulErrCnt
uint32_t sa2ulErrCnt
Definition: sa2ul.h:454
SA2UL_MCEData::mcInstrs
const uint8_t * mcInstrs
Definition: sa2ul.h:384
SA2UL_Attrs::saBaseAddr
uint32_t saBaseAddr
Definition: sa2ul.h:322
Udma_EventObject
Opaque UDMA event object.
Definition: udma_event.h:447
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:415
SA2UL_Attrs::swRingNumInt
uint32_t swRingNumInt
Definition: sa2ul.h:358
SA2UL_Attrs::descMemAddr
uint32_t descMemAddr
Definition: sa2ul.h:338
SA2UL_Scctl::scctl1
uint32_t scctl1
Definition: sa2ul.h:404
SA2UL_SecCtxAuth::authenticationLengthLo
uint32_t authenticationLengthLo
Definition: sa2ul.h:393
SA2UL_Object::psilInst
uint32_t psilInst
Definition: sa2ul.h:254
SA2UL_SecCtx::enc
SA2UL_SecCtxEnc enc
Definition: sa2ul.h:434
SA2UL_Attrs::contextIdStart
uint32_t contextIdStart
Definition: sa2ul.h:350
SA2UL_deinit
void SA2UL_deinit(void)
This function de-initializes the SA2UL module.
SA2UL_Config
SA2UL driver context.
Definition: sa2ul.h:370
SA2UL_MCEData::eopOffset
uint8_t eopOffset
Definition: sa2ul.h:382
SA2UL_MCEData::nMCInstrs
uint8_t nMCInstrs
Definition: sa2ul.h:383
SA2UL_Attrs::txRingMemAddr
uint32_t txRingMemAddr
Definition: sa2ul.h:332
SA2UL_Object::isOpen
uint32_t isOpen
Definition: sa2ul.h:250