53 static volatile struct process *notification_process =
NULL;
65 ENERGEST_ON(ENERGEST_TYPE_IRQ);
70 if(notification_process !=
NULL) {
72 notification_process =
NULL;
75 ENERGEST_OFF(ENERGEST_TYPE_IRQ);
95 for(i = 0; i < 16; i++) {
126 notification_process = p;
void process_poll(struct process *p)
Request a process to be polled.
#define SYS_CTRL_SCGCSEC_PKA
PKA clock enable, CPU IDLE.
Header file with register manipulation macro definitions.
void pka_init(void)
Enables and resets the PKA engine.
void pka_disable(void)
Disables the PKA engine.
#define PKA_FUNCTION_RUN
The host sets this bit to instruct the PKA module to begin processing the basic PKCP or complex seque...
Header file for the ARM Nested Vectored Interrupt Controller.
#define SYS_CTRL_DCGCSEC_PKA
PKA clock enable, PM0.
Header file for the energy estimation mechanism
#define PKA_FUNCTION
PKA function This register contains the control bits to start basic PKCP as well as complex sequencer...
#define SYS_CTRL_SCGCSEC
Sec Mod clocks - sleep mode.
void pka_register_process_notification(struct process *p)
Registers a process to be notified of the completion of a PKA operation.
#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_SRSEC_PKA
PKA is reset.
#define SYS_CTRL_DCGCSEC
Sec Mod clocks - PM0.
Header file for the cc2538 System Control 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 pka_isr(void)
The PKA engine ISR.
uint8_t pka_check_status(void)
Checks the status of the PKA engine operation.
void nvic_interrupt_disable(uint32_t intr)
Disables interrupt intr.
#define SYS_CTRL_RCGCSEC_PKA
PKA clock enable, CPU running.
#define SYS_CTRL_RCGCSEC
Sec Mod clocks - active mode.
void pka_enable(void)
Enables the PKA engine.
Header file for the cc2538 PKA engine driver.