Bouffalo SDK  1.0
Bouffalolab Software Development Kit
IRQ
Collaboration diagram for IRQ:

Data Structures

struct  bflb_irq_info_s
 IRQ configuration structure. More...
 

Typedefs

typedef void(* irq_callback) (int irq, void *arg)
 

Functions

void bflb_irq_initialize (void)
 Interrupt initialize. More...
 
uintptr_t bflb_irq_save (void)
 Disable global irq and save the previous status. More...
 
void bflb_irq_restore (uintptr_t flags)
 Enable global irq by the previous status. More...
 
int bflb_irq_attach (int irq, irq_callback isr, void *arg)
 Attach interrupt with callback. More...
 
int bflb_irq_detach (int irq)
 Detach interrupt, reset interrupt callback. More...
 
void bflb_irq_enable (int irq)
 Enable interrupt. More...
 
void bflb_irq_disable (int irq)
 Disable interrupt. More...
 
void bflb_irq_set_pending (int irq)
 Set interrupt with pending. More...
 
void bflb_irq_clear_pending (int irq)
 Clear interrupt pending status. More...
 
void bflb_irq_set_nlbits (uint8_t nlbits)
 Set interrupt group. More...
 
void bflb_irq_set_priority (int irq, uint8_t preemptprio, uint8_t subprio)
 Set interrupt priority. More...
 

Detailed Description

Typedef Documentation

◆ irq_callback

typedef void(* irq_callback) (int irq, void *arg)

Definition at line 14 of file bflb_irq.h.

Function Documentation

◆ bflb_irq_attach()

int bflb_irq_attach ( int  irq,
irq_callback  isr,
void *  arg 
)

Attach interrupt with callback.

Parameters
[in]irqirq number
[in]isrinterrupt callback
[in]arguser data
Returns
A negated errno value on failure.

◆ bflb_irq_clear_pending()

void bflb_irq_clear_pending ( int  irq)

Clear interrupt pending status.

Parameters
[in]irqirq number

◆ bflb_irq_detach()

int bflb_irq_detach ( int  irq)

Detach interrupt, reset interrupt callback.

Parameters
[in]irqirq number
Returns
A negated errno value on failure.

◆ bflb_irq_disable()

void bflb_irq_disable ( int  irq)

Disable interrupt.

Parameters
[in]irqirq number

◆ bflb_irq_enable()

void bflb_irq_enable ( int  irq)

Enable interrupt.

Parameters
[in]irqirq number

◆ bflb_irq_initialize()

void bflb_irq_initialize ( void  )

Interrupt initialize.

◆ bflb_irq_restore()

void bflb_irq_restore ( uintptr_t  flags)

Enable global irq by the previous status.

Parameters
[in]flagsprevious status by bflb_irq_save

◆ bflb_irq_save()

uintptr_t bflb_irq_save ( void  )

Disable global irq and save the previous status.

Returns
last status

◆ bflb_irq_set_nlbits()

void bflb_irq_set_nlbits ( uint8_t  nlbits)

Set interrupt group.

Parameters
[in]nlbits

◆ bflb_irq_set_pending()

void bflb_irq_set_pending ( int  irq)

Set interrupt with pending.

Parameters
[in]irqirq number

◆ bflb_irq_set_priority()

void bflb_irq_set_priority ( int  irq,
uint8_t  preemptprio,
uint8_t  subprio 
)

Set interrupt priority.

Parameters
[in]irqirq number
[in]preemptpriopreempt priority
[in]subpriosub priority