You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
void z_vim_irq_priority_set(unsigned int irq, unsigned int prio, uint32_t flags);
void z_vim_irq_enable(unsigned int irq);
void z_vim_irq_disable(unsigned int irq);
int z_vim_irq_is_enabled(unsigned int irq);
void z_vim_arm_enter_irq(int irq);
unsigned int z_vim_irq_get_active(void);
Tasks:
Read VIM_IRQVEC register (Once the VIM_IRQVEC is read VIM_ACTIRQ gets
loaded with the irq number).
Get the irq number from the VIM_ACTIRQ register.
The IRQSTS is also cleared for the irq number got from the VIM_ACTIRQ.
Return Value:
Returns the irq number of interrupt pending with highest priority
void z_vim_irq_eoi(unsigned int irq);
Tasks:
Removes the mask for other priority interrupt.
void z_vim_irq_init(void);
Tasks:
Compare the number of interrupts supported by the VIM controller (Read
VIM_INFO register to get the number of interrupts supported) and CONFIG_NUM_IRQS.
Configure default 32 bit aligned interrupt vector address for double bit
error in any of the other configured interrupt vector address VIM_DEDVEC.
void z_vim_irq_priority_set(unsigned int irq, unsigned int prio, uint32_t flags);
Tasks:
Configure priority (VIM_PRI_INT) and type (pulse or level in VIM_INTTYPE) for the irq number.
void z_vim_irq_enable(unsigned int irq);
Tasks:
Enable the interrupt (VIM_INTR_EN_SET) for irq.
void z_vim_irq_disable(unsigned int irq);
Tasks:
Disable the interrupt (VIM_INTR_EN_CLR) for irq.
int z_vim_irq_is_enabled(unsigned int irq);
Tasks:
Get the interrupt Enabled/Disabled (VIM_INTR_EN_SET) status.