Software APIs
isr_testutils.h File Reference

Default ISRs for each IP. More...

#include "sw/device/lib/dif/autogen/dif_aon_timer_autogen.h"
#include "sw/device/lib/dif/autogen/dif_flash_ctrl_autogen.h"
#include "sw/device/lib/dif/autogen/dif_gpio_autogen.h"
#include "sw/device/lib/dif/autogen/dif_pwrmgr_autogen.h"
#include "sw/device/lib/dif/autogen/dif_rv_timer_autogen.h"
#include "sw/device/lib/dif/autogen/dif_spi_device_autogen.h"
#include "sw/device/lib/dif/autogen/dif_spi_host_autogen.h"
#include "sw/device/lib/dif/autogen/dif_uart_autogen.h"
#include "sw/device/lib/dif/autogen/dif_usbdev_autogen.h"
#include "sw/device/lib/dif/dif_rv_plic.h"
#include "hw/top_englishbreakfast/sw/autogen/top_englishbreakfast.h"

Go to the source code of this file.

Data Structures

struct  plic_isr_ctx
 A handle to a PLIC ISR context struct. More...
 
struct  aon_timer_isr_ctx
 A handle to a aon_timer ISR context struct. More...
 
struct  flash_ctrl_isr_ctx
 A handle to a flash_ctrl ISR context struct. More...
 
struct  gpio_isr_ctx
 A handle to a gpio ISR context struct. More...
 
struct  pwrmgr_isr_ctx
 A handle to a pwrmgr ISR context struct. More...
 
struct  rv_timer_isr_ctx
 A handle to a rv_timer ISR context struct. More...
 
struct  spi_device_isr_ctx
 A handle to a spi_device ISR context struct. More...
 
struct  spi_host_isr_ctx
 A handle to a spi_host ISR context struct. More...
 
struct  uart_isr_ctx
 A handle to a uart ISR context struct. More...
 
struct  usbdev_isr_ctx
 A handle to a usbdev ISR context struct. More...
 

Typedefs

typedef struct plic_isr_ctx plic_isr_ctx_t
 A handle to a PLIC ISR context struct.
 
typedef struct aon_timer_isr_ctx aon_timer_isr_ctx_t
 A handle to a aon_timer ISR context struct.
 
typedef struct flash_ctrl_isr_ctx flash_ctrl_isr_ctx_t
 A handle to a flash_ctrl ISR context struct.
 
typedef struct gpio_isr_ctx gpio_isr_ctx_t
 A handle to a gpio ISR context struct.
 
typedef struct pwrmgr_isr_ctx pwrmgr_isr_ctx_t
 A handle to a pwrmgr ISR context struct.
 
typedef struct rv_timer_isr_ctx rv_timer_isr_ctx_t
 A handle to a rv_timer ISR context struct.
 
typedef struct spi_device_isr_ctx spi_device_isr_ctx_t
 A handle to a spi_device ISR context struct.
 
typedef struct spi_host_isr_ctx spi_host_isr_ctx_t
 A handle to a spi_host ISR context struct.
 
typedef struct uart_isr_ctx uart_isr_ctx_t
 A handle to a uart ISR context struct.
 
typedef struct usbdev_isr_ctx usbdev_isr_ctx_t
 A handle to a usbdev ISR context struct.
 

Functions

void isr_testutils_aon_timer_isr (plic_isr_ctx_t plic_ctx, aon_timer_isr_ctx_t aon_timer_ctx, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_aon_timer_irq_t *irq_serviced)
 Services an aon_timer IRQ.
 
void isr_testutils_flash_ctrl_isr (plic_isr_ctx_t plic_ctx, flash_ctrl_isr_ctx_t flash_ctrl_ctx, bool mute_status_irq, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_flash_ctrl_irq_t *irq_serviced)
 Services an flash_ctrl IRQ.
 
void isr_testutils_gpio_isr (plic_isr_ctx_t plic_ctx, gpio_isr_ctx_t gpio_ctx, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_gpio_irq_t *irq_serviced)
 Services an gpio IRQ.
 
void isr_testutils_pwrmgr_isr (plic_isr_ctx_t plic_ctx, pwrmgr_isr_ctx_t pwrmgr_ctx, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_pwrmgr_irq_t *irq_serviced)
 Services an pwrmgr IRQ.
 
void isr_testutils_rv_timer_isr (plic_isr_ctx_t plic_ctx, rv_timer_isr_ctx_t rv_timer_ctx, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_rv_timer_irq_t *irq_serviced)
 Services an rv_timer IRQ.
 
void isr_testutils_spi_device_isr (plic_isr_ctx_t plic_ctx, spi_device_isr_ctx_t spi_device_ctx, bool mute_status_irq, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_spi_device_irq_t *irq_serviced)
 Services an spi_device IRQ.
 
void isr_testutils_spi_host_isr (plic_isr_ctx_t plic_ctx, spi_host_isr_ctx_t spi_host_ctx, bool mute_status_irq, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_spi_host_irq_t *irq_serviced)
 Services an spi_host IRQ.
 
void isr_testutils_uart_isr (plic_isr_ctx_t plic_ctx, uart_isr_ctx_t uart_ctx, bool mute_status_irq, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_uart_irq_t *irq_serviced)
 Services an uart IRQ.
 
void isr_testutils_usbdev_isr (plic_isr_ctx_t plic_ctx, usbdev_isr_ctx_t usbdev_ctx, bool mute_status_irq, top_englishbreakfast_plic_peripheral_t *peripheral_serviced, dif_usbdev_irq_t *irq_serviced)
 Services an usbdev IRQ.
 

Detailed Description

Default ISRs for each IP.

Definition in file isr_testutils.h.


Data Structure Documentation

◆ plic_isr_ctx

struct plic_isr_ctx

A handle to a PLIC ISR context struct.

Definition at line 46 of file isr_testutils.h.

Data Fields
uint32_t hart_id The HART ID associated with the PLIC (correspond to a PLIC "target").
dif_rv_plic_t * rv_plic A handle to a rv_plic.

◆ aon_timer_isr_ctx

struct aon_timer_isr_ctx

A handle to a aon_timer ISR context struct.

Definition at line 104 of file isr_testutils.h.

Data Fields
dif_aon_timer_t * aon_timer A handle to a aon_timer.
dif_aon_timer_irq_t expected_irq The aon_timer IRQ that is expected to be encountered in the ISR.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_aon_timer_start_irq_id The PLIC IRQ ID where this aon_timer instance's IRQs start.

◆ flash_ctrl_isr_ctx

struct flash_ctrl_isr_ctx

A handle to a flash_ctrl ISR context struct.

Definition at line 192 of file isr_testutils.h.

Data Fields
dif_flash_ctrl_irq_t expected_irq The flash_ctrl IRQ that is expected to be encountered in the ISR.
dif_flash_ctrl_t * flash_ctrl A handle to a flash_ctrl.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_flash_ctrl_start_irq_id The PLIC IRQ ID where this flash_ctrl instance's IRQs start.

◆ gpio_isr_ctx

struct gpio_isr_ctx

A handle to a gpio ISR context struct.

Definition at line 214 of file isr_testutils.h.

Data Fields
dif_gpio_irq_t expected_irq The gpio IRQ that is expected to be encountered in the ISR.
dif_gpio_t * gpio A handle to a gpio.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_gpio_start_irq_id The PLIC IRQ ID where this gpio instance's IRQs start.

◆ pwrmgr_isr_ctx

struct pwrmgr_isr_ctx

A handle to a pwrmgr ISR context struct.

Definition at line 390 of file isr_testutils.h.

Data Fields
dif_pwrmgr_irq_t expected_irq The pwrmgr IRQ that is expected to be encountered in the ISR.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_pwrmgr_start_irq_id The PLIC IRQ ID where this pwrmgr instance's IRQs start.
dif_pwrmgr_t * pwrmgr A handle to a pwrmgr.

◆ rv_timer_isr_ctx

struct rv_timer_isr_ctx

A handle to a rv_timer ISR context struct.

Definition at line 412 of file isr_testutils.h.

Data Fields
dif_rv_timer_irq_t expected_irq The rv_timer IRQ that is expected to be encountered in the ISR.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_rv_timer_start_irq_id The PLIC IRQ ID where this rv_timer instance's IRQs start.
dif_rv_timer_t * rv_timer A handle to a rv_timer.

◆ spi_device_isr_ctx

struct spi_device_isr_ctx

A handle to a spi_device ISR context struct.

Definition at line 456 of file isr_testutils.h.

Data Fields
dif_spi_device_irq_t expected_irq The spi_device IRQ that is expected to be encountered in the ISR.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_spi_device_start_irq_id The PLIC IRQ ID where this spi_device instance's IRQs start.
dif_spi_device_t * spi_device A handle to a spi_device.

◆ spi_host_isr_ctx

struct spi_host_isr_ctx

A handle to a spi_host ISR context struct.

Definition at line 478 of file isr_testutils.h.

Data Fields
dif_spi_host_irq_t expected_irq The spi_host IRQ that is expected to be encountered in the ISR.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_spi_host_start_irq_id The PLIC IRQ ID where this spi_host instance's IRQs start.
dif_spi_host_t * spi_host A handle to a spi_host.

◆ uart_isr_ctx

struct uart_isr_ctx

A handle to a uart ISR context struct.

Definition at line 522 of file isr_testutils.h.

Data Fields
dif_uart_irq_t expected_irq The uart IRQ that is expected to be encountered in the ISR.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_uart_start_irq_id The PLIC IRQ ID where this uart instance's IRQs start.
dif_uart_t * uart A handle to a uart.

◆ usbdev_isr_ctx

struct usbdev_isr_ctx

A handle to a usbdev ISR context struct.

Definition at line 544 of file isr_testutils.h.

Data Fields
dif_usbdev_irq_t expected_irq The usbdev IRQ that is expected to be encountered in the ISR.
bool is_only_irq Whether or not a single IRQ is expected to be encountered in the ISR.
dif_rv_plic_irq_id_t plic_usbdev_start_irq_id The PLIC IRQ ID where this usbdev instance's IRQs start.
dif_usbdev_t * usbdev A handle to a usbdev.

Function Documentation

◆ isr_testutils_aon_timer_isr()

void isr_testutils_aon_timer_isr ( plic_isr_ctx_t plic_ctx,
aon_timer_isr_ctx_t aon_timer_ctx,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_aon_timer_irq_t * irq_serviced )

Services an aon_timer IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
aon_timer_ctxA(n) aon_timer ISR context handle.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 14 of file isr_testutils.c.

◆ isr_testutils_flash_ctrl_isr()

void isr_testutils_flash_ctrl_isr ( plic_isr_ctx_t plic_ctx,
flash_ctrl_isr_ctx_t flash_ctrl_ctx,
bool mute_status_irq,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_flash_ctrl_irq_t * irq_serviced )

Services an flash_ctrl IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
flash_ctrl_ctxA(n) flash_ctrl ISR context handle.
mute_status_irqset to true to disable the serviced status type IRQ.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 56 of file isr_testutils.c.

◆ isr_testutils_gpio_isr()

void isr_testutils_gpio_isr ( plic_isr_ctx_t plic_ctx,
gpio_isr_ctx_t gpio_ctx,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_gpio_irq_t * irq_serviced )

Services an gpio IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
gpio_ctxA(n) gpio ISR context handle.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 104 of file isr_testutils.c.

◆ isr_testutils_pwrmgr_isr()

void isr_testutils_pwrmgr_isr ( plic_isr_ctx_t plic_ctx,
pwrmgr_isr_ctx_t pwrmgr_ctx,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_pwrmgr_irq_t * irq_serviced )

Services an pwrmgr IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
pwrmgr_ctxA(n) pwrmgr ISR context handle.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 144 of file isr_testutils.c.

◆ isr_testutils_rv_timer_isr()

void isr_testutils_rv_timer_isr ( plic_isr_ctx_t plic_ctx,
rv_timer_isr_ctx_t rv_timer_ctx,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_rv_timer_irq_t * irq_serviced )

Services an rv_timer IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
rv_timer_ctxA(n) rv_timer ISR context handle.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 184 of file isr_testutils.c.

◆ isr_testutils_spi_device_isr()

void isr_testutils_spi_device_isr ( plic_isr_ctx_t plic_ctx,
spi_device_isr_ctx_t spi_device_ctx,
bool mute_status_irq,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_spi_device_irq_t * irq_serviced )

Services an spi_device IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
spi_device_ctxA(n) spi_device ISR context handle.
mute_status_irqset to true to disable the serviced status type IRQ.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 226 of file isr_testutils.c.

◆ isr_testutils_spi_host_isr()

void isr_testutils_spi_host_isr ( plic_isr_ctx_t plic_ctx,
spi_host_isr_ctx_t spi_host_ctx,
bool mute_status_irq,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_spi_host_irq_t * irq_serviced )

Services an spi_host IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
spi_host_ctxA(n) spi_host ISR context handle.
mute_status_irqset to true to disable the serviced status type IRQ.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 274 of file isr_testutils.c.

◆ isr_testutils_uart_isr()

void isr_testutils_uart_isr ( plic_isr_ctx_t plic_ctx,
uart_isr_ctx_t uart_ctx,
bool mute_status_irq,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_uart_irq_t * irq_serviced )

Services an uart IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
uart_ctxA(n) uart ISR context handle.
mute_status_irqset to true to disable the serviced status type IRQ.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 319 of file isr_testutils.c.

◆ isr_testutils_usbdev_isr()

void isr_testutils_usbdev_isr ( plic_isr_ctx_t plic_ctx,
usbdev_isr_ctx_t usbdev_ctx,
bool mute_status_irq,
top_englishbreakfast_plic_peripheral_t * peripheral_serviced,
dif_usbdev_irq_t * irq_serviced )

Services an usbdev IRQ.

Parameters
plic_ctxA PLIC ISR context handle.
usbdev_ctxA(n) usbdev ISR context handle.
mute_status_irqset to true to disable the serviced status type IRQ.
[out]peripheral_servicedOut param for the peripheral that was serviced.
[out]irq_servicedOut param for the IRQ that was serviced.

Definition at line 362 of file isr_testutils.c.