Driver for the cc2538 AES/SHA cryptoprocessor.
More...
|
| cc2538 AES |
| Driver for the cc2538 AES modes of the security core.
|
|
| cc2538 SHA-256 |
| Driver for the cc2538 SHA-256 mode of the security core.
|
|
|
file | crypto.c |
| Implementation of the cc2538 AES/SHA cryptoprocessor driver.
|
|
file | crypto.h |
| Header file for the cc2538 AES/SHA cryptoprocessor driver.
|
|
|
#define | CRYPTO_PENDING (-1) |
|
#define | CRYPTO_SUCCESS 0 |
|
#define | CRYPTO_INVALID_PARAM 1 |
|
#define | CRYPTO_NULL_ERROR 2 |
|
#define | CRYPTO_RESOURCE_IN_USE 3 |
|
#define | CRYPTO_DMA_BUS_ERROR 4 |
|
Driver for the cc2538 AES/SHA cryptoprocessor.
◆ CRYPTO_IS_ENABLED
Indicates whether the AES/SHA cryptoprocessor is enabled.
- Returns
- Boolean value indicating whether the AES/SHA cryptoprocessor is enabled
Definition at line 69 of file crypto.h.
◆ crypto_disable()
void crypto_disable |
( |
void |
| ) |
|
Disables the AES/SHA cryptoprocessor.
- Note
- Call this function to save power when the cryptoprocessor is unused.
Definition at line 101 of file crypto.c.
◆ crypto_isr()
The AES/SHA cryptoprocessor ISR.
This is the interrupt service routine for the AES/SHA cryptoprocessor.
This ISR is called at worst from PM0, so lpm_exit() does not need to be called.
Definition at line 59 of file crypto.c.
References AES_IRQn, NVIC_ClearPendingIRQ(), and NVIC_DisableIRQ().
◆ crypto_register_process_notification()
void crypto_register_process_notification |
( |
struct process * |
p | ) |
|
Registers a process to be notified of the completion of a crypto operation.
- Parameters
-
p | Process to be polled upon IRQ |
- Note
- This function is only supposed to be called by the crypto drivers.
Definition at line 110 of file crypto.c.