49 static volatile struct process *notification_process =
NULL;
62 ENERGEST_ON(ENERGEST_TYPE_IRQ);
67 if(notification_process !=
NULL) {
69 notification_process =
NULL;
72 ENERGEST_OFF(ENERGEST_TYPE_IRQ);
92 for(i = 0; i < 16; i++);
117 notification_process = p;
void process_poll(struct process *p)
Request a process to be polled.
Header file with register manipulation macro definitions.
Header file for the cc2538 AES driver.
#define SYS_CTRL_DCGCSEC_AES
AES clock enable, PM0.
void crypto_enable(void)
Enables the AES/SHA cryptoprocessor.
#define SYS_CTRL_RCGCSEC_AES
AES clock enable, CPU running.
Header file for the ARM Nested Vectored Interrupt Controller.
Header file for the energy estimation mechanism
#define SYS_CTRL_SCGCSEC
Sec Mod clocks - sleep mode.
#define AES_CTRL_ALG_SEL
Algorithm select.
void crypto_disable(void)
Disables the AES/SHA cryptoprocessor.
#define NULL
The null pointer.
void nvic_interrupt_unpend(uint32_t intr)
Sets intr to no longer pending.
#define SYS_CTRL_SRSEC
Sec Mod reset control.
#define SYS_CTRL_DCGCSEC
Sec Mod clocks - PM0.
Header file for the cc2538 System Control driver.
#define SYS_CTRL_SCGCSEC_AES
AES clock enable, CPU IDLE.
void crypto_init(void)
Enables and resets the AES/SHA cryptoprocessor.
Header file for the cc2538 AES/SHA cryptoprocessor driver.
void lpm_register_peripheral(lpm_periph_permit_pm1_func_t permit_pm1_func)
Register a peripheral function which will get called by the LPM module to get 'permission' to drop to...
void crypto_isr(void)
The AES/SHA cryptoprocessor ISR.
void nvic_interrupt_disable(uint32_t intr)
Disables interrupt intr.
void crypto_register_process_notification(struct process *p)
Registers a process to be notified of the completion of a crypto operation.
#define SYS_CTRL_RCGCSEC
Sec Mod clocks - active mode.
#define SYS_CTRL_SRSEC_AES
AES is reset.