48 static volatile struct process *notification_process = NULL;
64 if(notification_process != NULL) {
66 notification_process = NULL;
81 lpm_register_peripheral(permit_pm1);
87 for(i = 0; i < 16; i++);
112 notification_process = p;
void crypto_isr(void)
The AES/SHA cryptoprocessor ISR.
Header file for the ARM Nested Vectored Interrupt Controller.
Header file for the cc2538 System Control driver.
Header file for the cc2538 AES/SHA cryptoprocessor driver.
Header file with register manipulation macro definitions.
void crypto_enable(void)
Enables the AES/SHA cryptoprocessor.
__STATIC_INLINE void NVIC_DisableIRQ(IRQn_Type IRQn)
Disable External Interrupt.
#define SYS_CTRL_SCGCSEC_AES
AES clock enable, CPU IDLE.
Header file for the cc2538 AES driver.
#define AES_CTRL_ALG_SEL
Algorithm select.
void process_poll(struct process *p)
Request a process to be polled.
__STATIC_INLINE void NVIC_ClearPendingIRQ(IRQn_Type IRQn)
Clear Pending Interrupt.
#define SYS_CTRL_SRSEC_AES
AES is reset.
#define SYS_CTRL_DCGCSEC
Sec Mod clocks - PM0.
void crypto_disable(void)
Disables the AES/SHA cryptoprocessor.
#define SYS_CTRL_SRSEC
Sec Mod reset control.
#define SYS_CTRL_DCGCSEC_AES
AES clock enable, PM0.
#define SYS_CTRL_RCGCSEC_AES
AES clock enable, CPU running.
#define SYS_CTRL_RCGCSEC
Sec Mod clocks - active mode.
void crypto_register_process_notification(struct process *p)
Registers a process to be notified of the completion of a crypto operation.
#define SYS_CTRL_SCGCSEC
Sec Mod clocks - sleep mode.
void crypto_init(void)
Enables and resets the AES/SHA cryptoprocessor.