Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
riscv_plic.h File Reference

Driver for Platform Level Interrupt Controller (PLIC) More...

#include <zephyr/device.h>

Go to the source code of this file.

Functions

void riscv_plic_irq_enable (uint32_t irq)
 Enable interrupt.
 
void riscv_plic_irq_disable (uint32_t irq)
 Disable interrupt.
 
int riscv_plic_irq_is_enabled (uint32_t irq)
 Check if an interrupt is enabled.
 
void riscv_plic_set_priority (uint32_t irq, uint32_t prio)
 Set interrupt priority.
 
unsigned int riscv_plic_get_irq (void)
 Get active interrupt ID.
 
const struct deviceriscv_plic_get_dev (void)
 Get active interrupt controller device.
 

Detailed Description

Driver for Platform Level Interrupt Controller (PLIC)

Function Documentation

◆ riscv_plic_get_dev()

const struct device * riscv_plic_get_dev ( void  )

Get active interrupt controller device.

Returns
Returns device pointer of the active interrupt device

◆ riscv_plic_get_irq()

unsigned int riscv_plic_get_irq ( void  )

Get active interrupt ID.

Returns
Returns the ID of an active interrupt

◆ riscv_plic_irq_disable()

void riscv_plic_irq_disable ( uint32_t  irq)

Disable interrupt.

Parameters
irqMulti-level encoded interrupt ID

◆ riscv_plic_irq_enable()

void riscv_plic_irq_enable ( uint32_t  irq)

Enable interrupt.

Parameters
irqMulti-level encoded interrupt ID

◆ riscv_plic_irq_is_enabled()

int riscv_plic_irq_is_enabled ( uint32_t  irq)

Check if an interrupt is enabled.

Parameters
irqMulti-level encoded interrupt ID
Returns
Returns true if interrupt is enabled, false otherwise

◆ riscv_plic_set_priority()

void riscv_plic_set_priority ( uint32_t  irq,
uint32_t  prio 
)

Set interrupt priority.

Parameters
irqMulti-level encoded interrupt ID
priointerrupt priority