![]() |
![]() |
|
MSPM0G1X0X_G3X0X Driver Library
1.10.01.05
|
Data Structures | |
| struct | DL_AES_backupConfig |
| Configuration structure to backup AES peripheral state before going to STOP/STANDBY mode. Used by DL_AES_saveConfiguration. More... | |
Macros | |
| #define | DL_AES_INTERRUPT_AES_READY (AES_CPU_INT_IMASK_AESRDY_MASK) |
| AES Ready interrupt. | |
| #define | DL_AES_EVENT_AES_DMA_TRIGGER0 (AES_DMA_TRIG0_IMASK_DMA0_MASK) |
| DMA Trigger Event 0. | |
| #define | DL_AES_EVENT_AES_DMA_TRIGGER1 (AES_DMA_TRIG1_IMASK_DMA1_SET) |
| DMA Trigger Event 1. | |
| #define | DL_AES_EVENT_AES_DMA_TRIGGER2 (AES_DMA_TRIG2_IMASK_DMA2_SET) |
| DMA Trigger Event 2. | |
Functions | |
| __STATIC_INLINE void | DL_AES_enablePower (AES_Regs *aes) |
| Enables power on AES module. More... | |
| __STATIC_INLINE void | DL_AES_disablePower (AES_Regs *aes) |
| Disables power on AES module. More... | |
| __STATIC_INLINE bool | DL_AES_isPowerEnabled (AES_Regs *aes) |
| Returns if power enabled on AES module. More... | |
| __STATIC_INLINE void | DL_AES_reset (AES_Regs *aes) |
| Resets AES peripheral. More... | |
| __STATIC_INLINE bool | DL_AES_isReset (AES_Regs *aes) |
| Returns if AES peripheral was reset. More... | |
| __STATIC_INLINE void | DL_AES_init (AES_Regs *aes, DL_AES_MODE aesConfig, DL_AES_KEY_LENGTH keyLength) |
| Initializes AES peripheral. More... | |
| __STATIC_INLINE void | DL_AES_softwareReset (AES_Regs *aes) |
| Immediately resets the complete AES accelerator module even when busy. More... | |
| __STATIC_INLINE bool | DL_AES_isFaultFlagSet (AES_Regs *aes) |
| Returns status of AES error flag. More... | |
| __STATIC_INLINE void | DL_AES_clearFaultFlag (AES_Regs *aes) |
| Clears AES error flag. More... | |
| __STATIC_INLINE void | DL_AES_enableCipherMode (AES_Regs *aes) |
| Enables cipher mode. More... | |
| __STATIC_INLINE void | DL_AES_disablesCipherMode (AES_Regs *aes) |
| Disables cipher mode. More... | |
| __STATIC_INLINE void | DL_AES_setCipherBlockCounter (AES_Regs *aes, uint32_t count) |
| Set cipher block counter value. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getCipherBlockCounter (AES_Regs *aes) |
| Get current cipher block counter value. More... | |
| __STATIC_INLINE bool | DL_AES_isBusy (AES_Regs *aes) |
| Gets the AES module busy status. More... | |
| __STATIC_INLINE bool | DL_AES_getDataOutReadStatus (AES_Regs *aes) |
| Gets the DATAOUT read status. More... | |
| __STATIC_INLINE uint8_t | DL_AES_getKeyBytesCount (AES_Regs *aes) |
| Gets Key byte count. More... | |
| __STATIC_INLINE uint8_t | DL_AES_getDataInBytesCount (AES_Regs *aes) |
| Gets Data In byte count. More... | |
| __STATIC_INLINE uint8_t | DL_AES_getDataOutBytesCount (AES_Regs *aes) |
| Gets Data Out byte count. More... | |
| __STATIC_INLINE void | DL_AES_setAllDataWritten (AES_Regs *aes) |
| Set bit to write all STATE bytes to STATE registers and triggers a new encryption. More... | |
| __STATIC_INLINE void | DL_AES_setAllKeyWritten (AES_Regs *aes) |
| Set bit to write all KEY bytes to KEY register, which is used to encrypt and decrypt data. More... | |
| __STATIC_INLINE bool | DL_AES_isAllDataWritten (AES_Regs *aes) |
| Check if all bytes are to be written to registers containing STATE info. More... | |
| __STATIC_INLINE bool | DL_AES_isAllKeysWritten (AES_Regs *aes) |
| Check if all bytes are to be written to registers containing KEY info. More... | |
| DL_AES_STATUS | DL_AES_setKey (AES_Regs *aes, const uint8_t *key, DL_AES_KEY_LENGTH keyLength) |
| Loads a 128 or 256 bit key to AES module. More... | |
| void | DL_AES_setKeyAligned (AES_Regs *aes, const uint32_t *keyAligned, DL_AES_KEY_LENGTH keyLength) |
| Loads a 128 or 256 bit key to AES module. More... | |
| DL_AES_STATUS | DL_AES_xorData (uint8_t *data, uint8_t *xorData, uint8_t *xorOutputData) |
| XORs an AES 128-bit block of data in software. More... | |
| void | DL_AES_xorDataAligned (uint32_t *dataAligned, uint32_t *xorDataAligned, uint32_t *xorOutputDataAligned) |
| XORs an aligned 128-bit data block in software. More... | |
| DL_AES_STATUS | DL_AES_loadDataIn (AES_Regs *aes, const uint8_t *data) |
| Encrypts a block of data using the AES module. More... | |
| void | DL_AES_loadDataInAligned (AES_Regs *aes, const uint32_t *dataAligned) |
| Encrypts a block of data using the AES module. More... | |
| DL_AES_STATUS | DL_AES_getDataOut (AES_Regs *aes, uint8_t *data) |
| Gets output of encrypted data. More... | |
| void | DL_AES_getDataOutAligned (AES_Regs *aes, uint32_t *dataAligned) |
| Gets output of encrypted data. More... | |
| DL_AES_STATUS | DL_AES_loadXORDataIn (AES_Regs *aes, const uint8_t *data) |
| Data is XORed with the current word of the state and then block of data is encrypted. Encryption or decryption is started immediately after loading data. More... | |
| void | DL_AES_loadXORDataInAligned (AES_Regs *aes, const uint32_t *dataAligned) |
| Data is XORed with the current word of the state and then block of data is encrypted. Encryption or decryption is started immediately after loading data. More... | |
| DL_AES_STATUS | DL_AES_loadXORDataInWithoutTrigger (AES_Regs *aes, const uint8_t *data) |
| Data is XORed with the current word of the state and then block of data is encrypted. Encryption or decryption is NOT started after loading data. More... | |
| void | DL_AES_loadXORDataInWithoutTriggerAligned (AES_Regs *aes, const uint32_t *dataAligned) |
| Data is XORed with the current word of the state and then block of data is encrypted. Encryption or decryption is NOT started after loading data. More... | |
| __STATIC_INLINE void | DL_AES_enableInterrupt (AES_Regs *aes) |
| Enable AES Ready interrupt. More... | |
| __STATIC_INLINE void | DL_AES_enableDMATrigger0Interrupt (AES_Regs *aes) |
| Enables DMA trigger 0 to publish AES events to the DMA. More... | |
| __STATIC_INLINE void | DL_AES_enableDMATrigger1Interrupt (AES_Regs *aes) |
| Enables DMA trigger 1 to publish AES events to the DMA. More... | |
| __STATIC_INLINE void | DL_AES_enableDMATrigger2Interrupt (AES_Regs *aes) |
| Enables DMA trigger 2 to publish AES events to the DMA. More... | |
| __STATIC_INLINE void | DL_AES_disableInterrupt (AES_Regs *aes) |
| Disable AES Ready interrupt. More... | |
| __STATIC_INLINE void | DL_AES_disableDMATrigger0Event (AES_Regs *aes) |
| Disable DMA Trigger 0 Event. More... | |
| __STATIC_INLINE void | DL_AES_disableDMATrigger1Event (AES_Regs *aes) |
| Disable DMA Trigger 1 Event. More... | |
| __STATIC_INLINE void | DL_AES_disableDMATrigger2Event (AES_Regs *aes) |
| Disable DMA Trigger 2 Event. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getEnabledInterrupts (AES_Regs *aes) |
| Check if AES Ready interrupt is enabled. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getEnabledDMATrigger0Event (AES_Regs *aes) |
| Check if DMA Trigger 0 Event is enabled. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getEnabledDMATrigger1Event (AES_Regs *aes) |
| Check if DMA Trigger 1 Event is enabled. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getEnabledDMATrigger2Event (AES_Regs *aes) |
| Check if DMA Trigger 2 Event is enabled. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getEnabledInterruptStatus (AES_Regs *aes) |
| Check interrupt flag of AES Ready interrupt. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getEnabledDMATrigger0EventStatus (AES_Regs *aes) |
| Check interrupt flag of DMA Trigger 0 Event. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getEnabledDMATrigger1EventStatus (AES_Regs *aes) |
| Check interrupt flag of DMA Trigger 1 Event. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getEnabledDMATrigger2EventStatus (AES_Regs *aes) |
| Check interrupt flag of DMA Trigger 2 Event. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getRawInterruptStatus (AES_Regs *aes) |
| Check interrupt flag of AES Ready interrupt. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getRawDMATrigger0EventStatus (AES_Regs *aes) |
| Check interrupt flag of DMA Trigger 0 Event. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getRawDMATrigger1EventStatus (AES_Regs *aes) |
| Check interrupt flag of DMA Trigger 1 Event. More... | |
| __STATIC_INLINE uint32_t | DL_AES_getRawDMATrigger2EventStatus (AES_Regs *aes) |
| Check interrupt flag of DMA Trigger 2 Event. More... | |
| __STATIC_INLINE DL_AES_IIDX | DL_AES_getPendingInterrupt (AES_Regs *aes) |
| Get highest priority pending AES interrupt. More... | |
| __STATIC_INLINE DL_AES_IIDX | DL_AES_getPendingDMATrigger0Event (AES_Regs *aes) |
| Get highest priority pending DMA Trigger 0 Event. More... | |
| __STATIC_INLINE DL_AES_IIDX | DL_AES_getPendingDMATrigger1Event (AES_Regs *aes) |
| Get highest priority pending DMA Trigger 1 Event. More... | |
| __STATIC_INLINE DL_AES_IIDX | DL_AES_getPendingDMATrigger2Event (AES_Regs *aes) |
| Get highest priority pending DMA Trigger 2 Event. More... | |
| __STATIC_INLINE void | DL_AES_clearInterruptStatus (AES_Regs *aes) |
| Clear pending AES Ready Interrupt. More... | |
| __STATIC_INLINE void | DL_AES_clearDMATrigger0EventStatus (AES_Regs *aes) |
| Clear pending DMA Trigger 0 Event. More... | |
| __STATIC_INLINE void | DL_AES_clearDMATrigger1EventStatus (AES_Regs *aes) |
| Clear pending DMA Trigger 1 Event. More... | |
| __STATIC_INLINE void | DL_AES_clearDMATrigger2EventStatus (AES_Regs *aes) |
| Clear pending DMA Trigger 2 Event. More... | |
| bool | DL_AES_saveConfiguration (AES_Regs *aes, DL_AES_backupConfig *ptr) |
| Save AES configuration before entering a power loss state. Note that operation-specific variables (intermediate data, key, IV) will need to be re-loaded after picking up the peripheral from a powerloss state. More... | |
| bool | DL_AES_restoreConfiguration (AES_Regs *aes, DL_AES_backupConfig *ptr) |
| Restore AES configuration after leaving a power loss state. Note that operation-specific variables (intermediate data, key, IV) will need to be re-loaded after picking up the peripheral from a powerloss state. More... | |
The AES DriverLib allows full configuration of the MSPM0 AES module. The AES accelerator module accelerates encryption and decryption operations in hardware based on the FIPS PUB 197 advanced encryption standard (AES).
| enum DL_AES_MODE |
| enum DL_AES_IIDX |
| enum DL_AES_OPERATION |
| enum DL_AES_KEY_LENGTH |
| enum DL_AES_STATUS |
| __STATIC_INLINE void DL_AES_enablePower | ( | AES_Regs * | aes | ) |
Enables power on AES module.
| aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_disablePower | ( | AES_Regs * | aes | ) |
Disables power on AES module.
| aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE bool DL_AES_isPowerEnabled | ( | AES_Regs * | aes | ) |
Returns if power enabled on AES module.
| aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_reset | ( | AES_Regs * | aes | ) |
Resets AES peripheral.
| aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE bool DL_AES_isReset | ( | AES_Regs * | aes | ) |
Returns if AES peripheral was reset.
| aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_init | ( | AES_Regs * | aes, |
| DL_AES_MODE | aesConfig, | ||
| DL_AES_KEY_LENGTH | keyLength | ||
| ) |
Initializes AES peripheral.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | aesConfig | Configures AES cipher mode, key length and operation configuration. One of DL_AES_MODE |
| [in] | keyLength | Configures AES key length. One of DL_AES_KEY_LENGTH |
References DL_Common_updateReg().
| __STATIC_INLINE void DL_AES_softwareReset | ( | AES_Regs * | aes | ) |
Immediately resets the complete AES accelerator module even when busy.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE bool DL_AES_isFaultFlagSet | ( | AES_Regs * | aes | ) |
Returns status of AES error flag.
| [in] | aes | Pointer to the register overlay for the peripheral |
| true | flag is set |
| false | flag is cleared |
| __STATIC_INLINE void DL_AES_clearFaultFlag | ( | AES_Regs * | aes | ) |
Clears AES error flag.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_enableCipherMode | ( | AES_Regs * | aes | ) |
Enables cipher mode.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_disablesCipherMode | ( | AES_Regs * | aes | ) |
Disables cipher mode.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_setCipherBlockCounter | ( | AES_Regs * | aes, |
| uint32_t | count | ||
| ) |
Set cipher block counter value.
Sets the number of blocks to be encrypted or decrypted, the block counter decrements with each performed encryption or decryption. Block cipher mode must be enabled with DL_AES_enableCipherMode. If block cipher mode is disabled, writes to this register are ignored. If this register has a value > 0 and block cipher mode has been enabled, further writes to this register are ignored until the value of this register is 0.
| aes | Pointer to the register overlay for the peripheral | |
| [in] | count | The value to set the cipher block counter to. Value between [0x0, 0xFF] |
References DL_Common_updateReg().
| __STATIC_INLINE uint32_t DL_AES_getCipherBlockCounter | ( | AES_Regs * | aes | ) |
Get current cipher block counter value.
The block counter decrements with each performed encryption or decryption.
| aes | Pointer to the register overlay for the peripheral |
| Value | between [0x0, 0xFF] |
| __STATIC_INLINE bool DL_AES_isBusy | ( | AES_Regs * | aes | ) |
Gets the AES module busy status.
| [in] | aes | Pointer to the register overlay for the peripheral |
| true. | Module is busy |
| false. | Module is in idle state |
| __STATIC_INLINE bool DL_AES_getDataOutReadStatus | ( | AES_Regs * | aes | ) |
Gets the DATAOUT read status.
| [in] | aes | Pointer to the register overlay for the peripheral |
| true. | All bytes read |
| false. | Not all bytes read |
| __STATIC_INLINE uint8_t DL_AES_getKeyBytesCount | ( | AES_Regs * | aes | ) |
Gets Key byte count.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE uint8_t DL_AES_getDataInBytesCount | ( | AES_Regs * | aes | ) |
Gets Data In byte count.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE uint8_t DL_AES_getDataOutBytesCount | ( | AES_Regs * | aes | ) |
Gets Data Out byte count.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_setAllDataWritten | ( | AES_Regs * | aes | ) |
Set bit to write all STATE bytes to STATE registers and triggers a new encryption.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_setAllKeyWritten | ( | AES_Regs * | aes | ) |
Set bit to write all KEY bytes to KEY register, which is used to encrypt and decrypt data.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE bool DL_AES_isAllDataWritten | ( | AES_Regs * | aes | ) |
Check if all bytes are to be written to registers containing STATE info.
| [in] | aes | Pointer to the register overlay for the peripheral |
| true | All bytes are written to these registers |
| false | Not all bytes are written to these registers |
| __STATIC_INLINE bool DL_AES_isAllKeysWritten | ( | AES_Regs * | aes | ) |
Check if all bytes are to be written to registers containing KEY info.
| [in] | aes | Pointer to the register overlay for the peripheral |
| true | All bytes are written to these registers |
| false | Not all bytes are written to these registers |
References DL_AES_getDataOut(), DL_AES_getDataOutAligned(), DL_AES_loadDataIn(), DL_AES_loadDataInAligned(), DL_AES_loadXORDataIn(), DL_AES_loadXORDataInAligned(), DL_AES_loadXORDataInWithoutTrigger(), DL_AES_loadXORDataInWithoutTriggerAligned(), DL_AES_setKey(), DL_AES_setKeyAligned(), DL_AES_xorData(), and DL_AES_xorDataAligned().
| DL_AES_STATUS DL_AES_setKey | ( | AES_Regs * | aes, |
| const uint8_t * | key, | ||
| DL_AES_KEY_LENGTH | keyLength | ||
| ) |
Loads a 128 or 256 bit key to AES module.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | key | Pointer to an aligned uint8_t array that contains the cipher key. |
| [in] | keyLength | length of the key. One of DL_AES_KEY_LENGTH |
Referenced by DL_AES_isAllKeysWritten().
| void DL_AES_setKeyAligned | ( | AES_Regs * | aes, |
| const uint32_t * | keyAligned, | ||
| DL_AES_KEY_LENGTH | keyLength | ||
| ) |
Loads a 128 or 256 bit key to AES module.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | keyAligned | Pointer to an uint32_t array that contains the cipher key. |
| [in] | keyLength | length of the key. One of DL_AES_KEY_LENGTH |
Referenced by DL_AES_isAllKeysWritten().
| DL_AES_STATUS DL_AES_xorData | ( | uint8_t * | data, |
| uint8_t * | xorData, | ||
| uint8_t * | xorOutputData | ||
| ) |
XORs an AES 128-bit block of data in software.
| [in] | data | Pointer to initial data block for the operation |
| [in] | xorData | Pointer to 128-bit data block to xor with data |
| [out] | xorOutputData | Pointer to output block of data ^ xorData |
Referenced by DL_AES_isAllKeysWritten().
| void DL_AES_xorDataAligned | ( | uint32_t * | dataAligned, |
| uint32_t * | xorDataAligned, | ||
| uint32_t * | xorOutputDataAligned | ||
| ) |
XORs an aligned 128-bit data block in software.
| [in] | dataAligned | Pointer to initial data block for the operation |
| [in] | xorDataAligned | Pointer to 128-bit data block to xor with data |
| [out] | xorOutputDataAligned | Pointer to output block of data ^ xorData |
Referenced by DL_AES_isAllKeysWritten().
| DL_AES_STATUS DL_AES_loadDataIn | ( | AES_Regs * | aes, |
| const uint8_t * | data | ||
| ) |
Encrypts a block of data using the AES module.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | data | Is a pointer to an aligned uint8_t array with a length of 16 that contains data to be encrypted. |
Referenced by DL_AES_isAllKeysWritten().
| void DL_AES_loadDataInAligned | ( | AES_Regs * | aes, |
| const uint32_t * | dataAligned | ||
| ) |
Encrypts a block of data using the AES module.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | dataAligned | Is a pointer to an uint32_t array with a length of 4 that contains data to be encrypted. |
Referenced by DL_AES_isAllKeysWritten().
| DL_AES_STATUS DL_AES_getDataOut | ( | AES_Regs * | aes, |
| uint8_t * | data | ||
| ) |
Gets output of encrypted data.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [out] | data | Is a pointer to an uint8_t array with a length of 16 where the output of the AES module will be placed. |
Referenced by DL_AES_isAllKeysWritten().
| void DL_AES_getDataOutAligned | ( | AES_Regs * | aes, |
| uint32_t * | dataAligned | ||
| ) |
Gets output of encrypted data.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | dataAligned | Is a pointer to an uint32_t array with a length of 4 where the output of the AES module will be placed. |
Referenced by DL_AES_isAllKeysWritten().
| DL_AES_STATUS DL_AES_loadXORDataIn | ( | AES_Regs * | aes, |
| const uint8_t * | data | ||
| ) |
Data is XORed with the current word of the state and then block of data is encrypted. Encryption or decryption is started immediately after loading data.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | data | Is a pointer to an aligned uint8_t array with a length of 16 that contains data to be encrypted. |
Referenced by DL_AES_isAllKeysWritten().
| void DL_AES_loadXORDataInAligned | ( | AES_Regs * | aes, |
| const uint32_t * | dataAligned | ||
| ) |
Data is XORed with the current word of the state and then block of data is encrypted. Encryption or decryption is started immediately after loading data.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | dataAligned | Is a pointer to an uint32_t array with a length of 4 that contains data to be encrypted. |
Referenced by DL_AES_isAllKeysWritten().
| DL_AES_STATUS DL_AES_loadXORDataInWithoutTrigger | ( | AES_Regs * | aes, |
| const uint8_t * | data | ||
| ) |
Data is XORed with the current word of the state and then block of data is encrypted. Encryption or decryption is NOT started after loading data.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | data | Is a pointer to an aligned uint8_t array with a length of 16 that contains data to be encrypted. |
Referenced by DL_AES_isAllKeysWritten().
| void DL_AES_loadXORDataInWithoutTriggerAligned | ( | AES_Regs * | aes, |
| const uint32_t * | dataAligned | ||
| ) |
Data is XORed with the current word of the state and then block of data is encrypted. Encryption or decryption is NOT started after loading data.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | dataAligned | Is a pointer to an uint32_t array with a length of 4 that contains data to be encrypted. |
Referenced by DL_AES_isAllKeysWritten().
| __STATIC_INLINE void DL_AES_enableInterrupt | ( | AES_Regs * | aes | ) |
Enable AES Ready interrupt.
| [in] | aes | Pointer to the register overlay for the peripheral |
References DL_AES_INTERRUPT_AES_READY.
| __STATIC_INLINE void DL_AES_enableDMATrigger0Interrupt | ( | AES_Regs * | aes | ) |
Enables DMA trigger 0 to publish AES events to the DMA.
| [in] | aes | Pointer to the register overlay for the peripheral |
References DL_AES_EVENT_AES_DMA_TRIGGER0.
| __STATIC_INLINE void DL_AES_enableDMATrigger1Interrupt | ( | AES_Regs * | aes | ) |
Enables DMA trigger 1 to publish AES events to the DMA.
| [in] | aes | Pointer to the register overlay for the peripheral |
References DL_AES_EVENT_AES_DMA_TRIGGER1.
| __STATIC_INLINE void DL_AES_enableDMATrigger2Interrupt | ( | AES_Regs * | aes | ) |
Enables DMA trigger 2 to publish AES events to the DMA.
| [in] | aes | Pointer to the register overlay for the peripheral |
References DL_AES_EVENT_AES_DMA_TRIGGER2.
| __STATIC_INLINE void DL_AES_disableInterrupt | ( | AES_Regs * | aes | ) |
Disable AES Ready interrupt.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_disableDMATrigger0Event | ( | AES_Regs * | aes | ) |
Disable DMA Trigger 0 Event.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_disableDMATrigger1Event | ( | AES_Regs * | aes | ) |
Disable DMA Trigger 1 Event.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_disableDMATrigger2Event | ( | AES_Regs * | aes | ) |
Disable DMA Trigger 2 Event.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE uint32_t DL_AES_getEnabledInterrupts | ( | AES_Regs * | aes | ) |
Check if AES Ready interrupt is enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_INTERRUPT_AES_READY | if AES Ready interrupt is enabled |
| 0 | if AES Ready interrupt is not enabled |
| __STATIC_INLINE uint32_t DL_AES_getEnabledDMATrigger0Event | ( | AES_Regs * | aes | ) |
Check if DMA Trigger 0 Event is enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER0 | if DMA Trigger 0 Event is enabled |
| 0 | if DMA Trigger 0 Event is not enabled |
| __STATIC_INLINE uint32_t DL_AES_getEnabledDMATrigger1Event | ( | AES_Regs * | aes | ) |
Check if DMA Trigger 1 Event is enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER1 | if DMA Trigger 1 Event is enabled |
| 0 | if DMA Trigger 1 Event is not enabled |
| __STATIC_INLINE uint32_t DL_AES_getEnabledDMATrigger2Event | ( | AES_Regs * | aes | ) |
Check if DMA Trigger 2 Event is enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER2 | if DMA Trigger 2 Event is enabled |
| 0 | if DMA Trigger 2 Event is not enabled |
| __STATIC_INLINE uint32_t DL_AES_getEnabledInterruptStatus | ( | AES_Regs * | aes | ) |
Check interrupt flag of AES Ready interrupt.
Checks if AES Ready interrupt that was previously enabled is pending.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_INTERRUPT_AES_READY | if AES Ready interrupt is pending |
| 0 | if AES Ready interrupt is not pending |
| __STATIC_INLINE uint32_t DL_AES_getEnabledDMATrigger0EventStatus | ( | AES_Regs * | aes | ) |
Check interrupt flag of DMA Trigger 0 Event.
Checks if DMA Trigger 0 Event that was previously enabled is pending.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER0 | if DMA Trigger 0 Event is pending |
| 0 | if DMA Trigger 0 Event is not pending |
| __STATIC_INLINE uint32_t DL_AES_getEnabledDMATrigger1EventStatus | ( | AES_Regs * | aes | ) |
Check interrupt flag of DMA Trigger 1 Event.
Checks if DMA Trigger 1 Event that was previously enabled is pending.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER1 | if DMA Trigger 1 Event is pending |
| 0 | if DMA Trigger 1 Event is not pending |
| __STATIC_INLINE uint32_t DL_AES_getEnabledDMATrigger2EventStatus | ( | AES_Regs * | aes | ) |
Check interrupt flag of DMA Trigger 2 Event.
Checks if DMA Trigger 2 Event that was previously enabled is pending.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER2 | if DMA Trigger 2 Event is pending |
| 0 | if DMA Trigger 2 Event is not pending |
| __STATIC_INLINE uint32_t DL_AES_getRawInterruptStatus | ( | AES_Regs * | aes | ) |
Check interrupt flag of AES Ready interrupt.
Checks if AES Ready Interrupt is pending. Interrupt does not have to be previously enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER0 | if AES Ready interrupt is pending |
| 0 | if AES Ready interrupt is not pending |
| __STATIC_INLINE uint32_t DL_AES_getRawDMATrigger0EventStatus | ( | AES_Regs * | aes | ) |
Check interrupt flag of DMA Trigger 0 Event.
Checks if DMA Trigger 0 Event is pending. Event does not have to be previously enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER0 | if DMA Trigger 0 Event is pending |
| 0 | if DMA Trigger 0 Event is not pending |
| __STATIC_INLINE uint32_t DL_AES_getRawDMATrigger1EventStatus | ( | AES_Regs * | aes | ) |
Check interrupt flag of DMA Trigger 1 Event.
Checks if DMA Trigger 1 Event is pending. Event does not have to be previously enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER0 | if DMA Trigger 1 Event is pending |
| 0 | if DMA Trigger 1 Event is not pending |
| __STATIC_INLINE uint32_t DL_AES_getRawDMATrigger2EventStatus | ( | AES_Regs * | aes | ) |
Check interrupt flag of DMA Trigger 2 Event.
Checks if DMA Trigger 2 Event is pending. Event does not have to be previously enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| DL_AES_EVENT_AES_DMA_TRIGGER0 | if DMA Trigger 2 Event is pending |
| 0 | if DMA Trigger 2 Event is not pending |
| __STATIC_INLINE DL_AES_IIDX DL_AES_getPendingInterrupt | ( | AES_Regs * | aes | ) |
Get highest priority pending AES interrupt.
Checks if AES Ready Interrupt is pending. Interrupt does not have to be previously enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE DL_AES_IIDX DL_AES_getPendingDMATrigger0Event | ( | AES_Regs * | aes | ) |
Get highest priority pending DMA Trigger 0 Event.
Checks if DMA Trigger 0 Event os pending. Event does not have to be previously enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE DL_AES_IIDX DL_AES_getPendingDMATrigger1Event | ( | AES_Regs * | aes | ) |
Get highest priority pending DMA Trigger 1 Event.
Checks if DMA Trigger 1 Event os pending. Event does not have to be previously enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE DL_AES_IIDX DL_AES_getPendingDMATrigger2Event | ( | AES_Regs * | aes | ) |
Get highest priority pending DMA Trigger 2 Event.
Checks if DMA Trigger 2 Event os pending. Event does not have to be previously enabled.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_clearInterruptStatus | ( | AES_Regs * | aes | ) |
Clear pending AES Ready Interrupt.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_clearDMATrigger0EventStatus | ( | AES_Regs * | aes | ) |
Clear pending DMA Trigger 0 Event.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_clearDMATrigger1EventStatus | ( | AES_Regs * | aes | ) |
Clear pending DMA Trigger 1 Event.
| [in] | aes | Pointer to the register overlay for the peripheral |
| __STATIC_INLINE void DL_AES_clearDMATrigger2EventStatus | ( | AES_Regs * | aes | ) |
Clear pending DMA Trigger 2 Event.
| [in] | aes | Pointer to the register overlay for the peripheral |
References DL_AES_restoreConfiguration(), and DL_AES_saveConfiguration().
| bool DL_AES_saveConfiguration | ( | AES_Regs * | aes, |
| DL_AES_backupConfig * | ptr | ||
| ) |
Save AES configuration before entering a power loss state. Note that operation-specific variables (intermediate data, key, IV) will need to be re-loaded after picking up the peripheral from a powerloss state.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | ptr | Configuration backup setup structure. See DL_AES_backupConfig. |
| FALSE | if a configuration already exists in ptr (will not be overwritten). TRUE if a configuration was successfully saved |
Referenced by DL_AES_clearDMATrigger2EventStatus().
| bool DL_AES_restoreConfiguration | ( | AES_Regs * | aes, |
| DL_AES_backupConfig * | ptr | ||
| ) |
Restore AES configuration after leaving a power loss state. Note that operation-specific variables (intermediate data, key, IV) will need to be re-loaded after picking up the peripheral from a powerloss state.
| [in] | aes | Pointer to the register overlay for the peripheral |
| [in] | ptr | Configuration backup setup structure. See DL_AES_backupConfig. |
| FALSE | if a configuration does not exist in ptr (will not be loaded). TRUE if a configuration successfully loaded |
Referenced by DL_AES_clearDMATrigger2EventStatus().