| /* |
| * Copyright 2023 Google LLC |
| * Copyright lowRISC contributors |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| |
| #ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_AUTOGEN_ISR_TESTUTILS_H_ |
| #define OPENTITAN_SW_DEVICE_LIB_TESTING_AUTOGEN_ISR_TESTUTILS_H_ |
| |
| // THIS FILE HAS BEEN GENERATED, DO NOT EDIT MANUALLY. COMMAND: |
| // util/autogen_testutils.py |
| |
| /** |
| * @file |
| * @brief Default ISRs for each IP |
| */ |
| |
| #include "sw/device/lib/dif/dif_adc_ctrl.h" |
| #include "sw/device/lib/dif/dif_alert_handler.h" |
| #include "sw/device/lib/dif/dif_aon_timer.h" |
| #include "sw/device/lib/dif/dif_csrng.h" |
| #include "sw/device/lib/dif/dif_edn.h" |
| #include "sw/device/lib/dif/dif_entropy_src.h" |
| #include "sw/device/lib/dif/dif_flash_ctrl.h" |
| #include "sw/device/lib/dif/dif_gpio.h" |
| #include "sw/device/lib/dif/dif_hmac.h" |
| #include "sw/device/lib/dif/dif_i2c.h" |
| #include "sw/device/lib/dif/dif_keymgr.h" |
| #include "sw/device/lib/dif/dif_kmac.h" |
| #include "sw/device/lib/dif/dif_otbn.h" |
| #include "sw/device/lib/dif/dif_otp_ctrl.h" |
| #include "sw/device/lib/dif/dif_pattgen.h" |
| #include "sw/device/lib/dif/dif_pwrmgr.h" |
| #include "sw/device/lib/dif/dif_rv_plic.h" |
| #include "sw/device/lib/dif/dif_rv_timer.h" |
| #include "sw/device/lib/dif/dif_sensor_ctrl.h" |
| #include "sw/device/lib/dif/dif_spi_device.h" |
| #include "sw/device/lib/dif/dif_spi_host.h" |
| #include "sw/device/lib/dif/dif_sysrst_ctrl.h" |
| #include "sw/device/lib/dif/dif_uart.h" |
| #include "sw/device/lib/dif/dif_usbdev.h" |
| |
| #include "hw/top_matcha/sw/autogen/top_matcha.h" // Generated. |
| |
| /** |
| * A handle to a PLIC ISR context struct. |
| */ |
| typedef struct plic_isr_ctx { |
| /** |
| * A handle to a rv_plic. |
| */ |
| dif_rv_plic_t *rv_plic; |
| /** |
| * The HART ID associated with the PLIC (correspond to a PLIC "target"). |
| */ |
| uint32_t hart_id; |
| } plic_isr_ctx_t; |
| |
| /** |
| * A handle to a adc_ctrl ISR context struct. |
| */ |
| typedef struct adc_ctrl_isr_ctx { |
| /** |
| * A handle to a adc_ctrl. |
| */ |
| dif_adc_ctrl_t *adc_ctrl; |
| /** |
| * The PLIC IRQ ID where this adc_ctrl instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_adc_ctrl_start_irq_id; |
| /** |
| * The adc_ctrl IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_adc_ctrl_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } adc_ctrl_isr_ctx_t; |
| |
| /** |
| * A handle to a alert_handler ISR context struct. |
| */ |
| typedef struct alert_handler_isr_ctx { |
| /** |
| * A handle to a alert_handler. |
| */ |
| dif_alert_handler_t *alert_handler; |
| /** |
| * The PLIC IRQ ID where this alert_handler instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_alert_handler_start_irq_id; |
| /** |
| * The alert_handler IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_alert_handler_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } alert_handler_isr_ctx_t; |
| |
| /** |
| * A handle to a aon_timer ISR context struct. |
| */ |
| typedef struct aon_timer_isr_ctx { |
| /** |
| * A handle to a aon_timer. |
| */ |
| dif_aon_timer_t *aon_timer; |
| /** |
| * The PLIC IRQ ID where this aon_timer instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_aon_timer_start_irq_id; |
| /** |
| * The aon_timer IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_aon_timer_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } aon_timer_isr_ctx_t; |
| |
| /** |
| * A handle to a csrng ISR context struct. |
| */ |
| typedef struct csrng_isr_ctx { |
| /** |
| * A handle to a csrng. |
| */ |
| dif_csrng_t *csrng; |
| /** |
| * The PLIC IRQ ID where this csrng instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_csrng_start_irq_id; |
| /** |
| * The csrng IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_csrng_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } csrng_isr_ctx_t; |
| |
| /** |
| * A handle to a edn ISR context struct. |
| */ |
| typedef struct edn_isr_ctx { |
| /** |
| * A handle to a edn. |
| */ |
| dif_edn_t *edn; |
| /** |
| * The PLIC IRQ ID where this edn instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_edn_start_irq_id; |
| /** |
| * The edn IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_edn_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } edn_isr_ctx_t; |
| |
| /** |
| * A handle to a entropy_src ISR context struct. |
| */ |
| typedef struct entropy_src_isr_ctx { |
| /** |
| * A handle to a entropy_src. |
| */ |
| dif_entropy_src_t *entropy_src; |
| /** |
| * The PLIC IRQ ID where this entropy_src instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_entropy_src_start_irq_id; |
| /** |
| * The entropy_src IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_entropy_src_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } entropy_src_isr_ctx_t; |
| |
| /** |
| * A handle to a flash_ctrl ISR context struct. |
| */ |
| typedef struct flash_ctrl_isr_ctx { |
| /** |
| * A handle to a flash_ctrl. |
| */ |
| dif_flash_ctrl_t *flash_ctrl; |
| /** |
| * The PLIC IRQ ID where this flash_ctrl instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_flash_ctrl_start_irq_id; |
| /** |
| * The flash_ctrl IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_flash_ctrl_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } flash_ctrl_isr_ctx_t; |
| |
| /** |
| * A handle to a gpio ISR context struct. |
| */ |
| typedef struct gpio_isr_ctx { |
| /** |
| * A handle to a gpio. |
| */ |
| dif_gpio_t *gpio; |
| /** |
| * The PLIC IRQ ID where this gpio instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_gpio_start_irq_id; |
| /** |
| * The gpio IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_gpio_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } gpio_isr_ctx_t; |
| |
| /** |
| * A handle to a hmac ISR context struct. |
| */ |
| typedef struct hmac_isr_ctx { |
| /** |
| * A handle to a hmac. |
| */ |
| dif_hmac_t *hmac; |
| /** |
| * The PLIC IRQ ID where this hmac instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_hmac_start_irq_id; |
| /** |
| * The hmac IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_hmac_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } hmac_isr_ctx_t; |
| |
| /** |
| * A handle to a i2c ISR context struct. |
| */ |
| typedef struct i2c_isr_ctx { |
| /** |
| * A handle to a i2c. |
| */ |
| dif_i2c_t *i2c; |
| /** |
| * The PLIC IRQ ID where this i2c instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_i2c_start_irq_id; |
| /** |
| * The i2c IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_i2c_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } i2c_isr_ctx_t; |
| |
| /** |
| * A handle to a keymgr ISR context struct. |
| */ |
| typedef struct keymgr_isr_ctx { |
| /** |
| * A handle to a keymgr. |
| */ |
| dif_keymgr_t *keymgr; |
| /** |
| * The PLIC IRQ ID where this keymgr instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_keymgr_start_irq_id; |
| /** |
| * The keymgr IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_keymgr_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } keymgr_isr_ctx_t; |
| |
| /** |
| * A handle to a kmac ISR context struct. |
| */ |
| typedef struct kmac_isr_ctx { |
| /** |
| * A handle to a kmac. |
| */ |
| dif_kmac_t *kmac; |
| /** |
| * The PLIC IRQ ID where this kmac instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_kmac_start_irq_id; |
| /** |
| * The kmac IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_kmac_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } kmac_isr_ctx_t; |
| |
| /** |
| * A handle to a otbn ISR context struct. |
| */ |
| typedef struct otbn_isr_ctx { |
| /** |
| * A handle to a otbn. |
| */ |
| dif_otbn_t *otbn; |
| /** |
| * The PLIC IRQ ID where this otbn instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_otbn_start_irq_id; |
| /** |
| * The otbn IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_otbn_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } otbn_isr_ctx_t; |
| |
| /** |
| * A handle to a otp_ctrl ISR context struct. |
| */ |
| typedef struct otp_ctrl_isr_ctx { |
| /** |
| * A handle to a otp_ctrl. |
| */ |
| dif_otp_ctrl_t *otp_ctrl; |
| /** |
| * The PLIC IRQ ID where this otp_ctrl instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_otp_ctrl_start_irq_id; |
| /** |
| * The otp_ctrl IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_otp_ctrl_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } otp_ctrl_isr_ctx_t; |
| |
| /** |
| * A handle to a pattgen ISR context struct. |
| */ |
| typedef struct pattgen_isr_ctx { |
| /** |
| * A handle to a pattgen. |
| */ |
| dif_pattgen_t *pattgen; |
| /** |
| * The PLIC IRQ ID where this pattgen instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_pattgen_start_irq_id; |
| /** |
| * The pattgen IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_pattgen_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } pattgen_isr_ctx_t; |
| |
| /** |
| * A handle to a pwrmgr ISR context struct. |
| */ |
| typedef struct pwrmgr_isr_ctx { |
| /** |
| * A handle to a pwrmgr. |
| */ |
| dif_pwrmgr_t *pwrmgr; |
| /** |
| * The PLIC IRQ ID where this pwrmgr instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_pwrmgr_start_irq_id; |
| /** |
| * The pwrmgr IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_pwrmgr_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } pwrmgr_isr_ctx_t; |
| |
| /** |
| * A handle to a rv_timer ISR context struct. |
| */ |
| typedef struct rv_timer_isr_ctx { |
| /** |
| * A handle to a rv_timer. |
| */ |
| dif_rv_timer_t *rv_timer; |
| /** |
| * The PLIC IRQ ID where this rv_timer instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_rv_timer_start_irq_id; |
| /** |
| * The rv_timer IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_rv_timer_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } rv_timer_isr_ctx_t; |
| |
| /** |
| * A handle to a sensor_ctrl ISR context struct. |
| */ |
| typedef struct sensor_ctrl_isr_ctx { |
| /** |
| * A handle to a sensor_ctrl. |
| */ |
| dif_sensor_ctrl_t *sensor_ctrl; |
| /** |
| * The PLIC IRQ ID where this sensor_ctrl instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_sensor_ctrl_start_irq_id; |
| /** |
| * The sensor_ctrl IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_sensor_ctrl_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } sensor_ctrl_isr_ctx_t; |
| |
| /** |
| * A handle to a spi_device ISR context struct. |
| */ |
| typedef struct spi_device_isr_ctx { |
| /** |
| * A handle to a spi_device. |
| */ |
| dif_spi_device_t *spi_device; |
| /** |
| * The PLIC IRQ ID where this spi_device instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_spi_device_start_irq_id; |
| /** |
| * The spi_device IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_spi_device_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } spi_device_isr_ctx_t; |
| |
| /** |
| * A handle to a spi_host ISR context struct. |
| */ |
| typedef struct spi_host_isr_ctx { |
| /** |
| * A handle to a spi_host. |
| */ |
| dif_spi_host_t *spi_host; |
| /** |
| * The PLIC IRQ ID where this spi_host instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_spi_host_start_irq_id; |
| /** |
| * The spi_host IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_spi_host_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } spi_host_isr_ctx_t; |
| |
| /** |
| * A handle to a sysrst_ctrl ISR context struct. |
| */ |
| typedef struct sysrst_ctrl_isr_ctx { |
| /** |
| * A handle to a sysrst_ctrl. |
| */ |
| dif_sysrst_ctrl_t *sysrst_ctrl; |
| /** |
| * The PLIC IRQ ID where this sysrst_ctrl instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_sysrst_ctrl_start_irq_id; |
| /** |
| * The sysrst_ctrl IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_sysrst_ctrl_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } sysrst_ctrl_isr_ctx_t; |
| |
| /** |
| * A handle to a uart ISR context struct. |
| */ |
| typedef struct uart_isr_ctx { |
| /** |
| * A handle to a uart. |
| */ |
| dif_uart_t *uart; |
| /** |
| * The PLIC IRQ ID where this uart instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_uart_start_irq_id; |
| /** |
| * The uart IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_uart_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } uart_isr_ctx_t; |
| |
| /** |
| * A handle to a usbdev ISR context struct. |
| */ |
| typedef struct usbdev_isr_ctx { |
| /** |
| * A handle to a usbdev. |
| */ |
| dif_usbdev_t *usbdev; |
| /** |
| * The PLIC IRQ ID where this usbdev instance's IRQs start. |
| */ |
| dif_rv_plic_irq_id_t plic_usbdev_start_irq_id; |
| /** |
| * The usbdev IRQ that is expected to be encountered in the ISR. |
| */ |
| dif_usbdev_irq_t expected_irq; |
| /** |
| * Whether or not a single IRQ is expected to be encountered in the ISR. |
| */ |
| bool is_only_irq; |
| } usbdev_isr_ctx_t; |
| |
| /** |
| * Services an adc_ctrl IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param adc_ctrl_ctx A(n) adc_ctrl ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_adc_ctrl_isr( |
| plic_isr_ctx_t plic_ctx, adc_ctrl_isr_ctx_t adc_ctrl_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_adc_ctrl_irq_t *irq_serviced); |
| |
| /** |
| * Services an alert_handler IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param alert_handler_ctx A(n) alert_handler ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_alert_handler_isr( |
| plic_isr_ctx_t plic_ctx, alert_handler_isr_ctx_t alert_handler_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_alert_handler_irq_t *irq_serviced); |
| |
| /** |
| * Services an aon_timer IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param aon_timer_ctx A(n) aon_timer ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_aon_timer_isr( |
| plic_isr_ctx_t plic_ctx, aon_timer_isr_ctx_t aon_timer_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_aon_timer_irq_t *irq_serviced); |
| |
| /** |
| * Services an csrng IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param csrng_ctx A(n) csrng ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_csrng_isr( |
| plic_isr_ctx_t plic_ctx, csrng_isr_ctx_t csrng_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_csrng_irq_t *irq_serviced); |
| |
| /** |
| * Services an edn IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param edn_ctx A(n) edn ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_edn_isr(plic_isr_ctx_t plic_ctx, edn_isr_ctx_t edn_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_edn_irq_t *irq_serviced); |
| |
| /** |
| * Services an entropy_src IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param entropy_src_ctx A(n) entropy_src ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_entropy_src_isr( |
| plic_isr_ctx_t plic_ctx, entropy_src_isr_ctx_t entropy_src_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_entropy_src_irq_t *irq_serviced); |
| |
| /** |
| * Services an flash_ctrl IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param flash_ctrl_ctx A(n) flash_ctrl ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_flash_ctrl_isr( |
| plic_isr_ctx_t plic_ctx, flash_ctrl_isr_ctx_t flash_ctrl_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_flash_ctrl_irq_t *irq_serviced); |
| |
| /** |
| * Services an gpio IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param gpio_ctx A(n) gpio ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_gpio_isr(plic_isr_ctx_t plic_ctx, gpio_isr_ctx_t gpio_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_gpio_irq_t *irq_serviced); |
| |
| /** |
| * Services an hmac IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param hmac_ctx A(n) hmac ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_hmac_isr(plic_isr_ctx_t plic_ctx, hmac_isr_ctx_t hmac_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_hmac_irq_t *irq_serviced); |
| |
| /** |
| * Services an i2c IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param i2c_ctx A(n) i2c ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_i2c_isr(plic_isr_ctx_t plic_ctx, i2c_isr_ctx_t i2c_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_i2c_irq_t *irq_serviced); |
| |
| /** |
| * Services an keymgr IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param keymgr_ctx A(n) keymgr ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_keymgr_isr( |
| plic_isr_ctx_t plic_ctx, keymgr_isr_ctx_t keymgr_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_keymgr_irq_t *irq_serviced); |
| |
| /** |
| * Services an kmac IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param kmac_ctx A(n) kmac ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_kmac_isr(plic_isr_ctx_t plic_ctx, kmac_isr_ctx_t kmac_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_kmac_irq_t *irq_serviced); |
| |
| /** |
| * Services an otbn IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param otbn_ctx A(n) otbn ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_otbn_isr(plic_isr_ctx_t plic_ctx, otbn_isr_ctx_t otbn_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_otbn_irq_t *irq_serviced); |
| |
| /** |
| * Services an otp_ctrl IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param otp_ctrl_ctx A(n) otp_ctrl ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_otp_ctrl_isr( |
| plic_isr_ctx_t plic_ctx, otp_ctrl_isr_ctx_t otp_ctrl_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_otp_ctrl_irq_t *irq_serviced); |
| |
| /** |
| * Services an pattgen IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param pattgen_ctx A(n) pattgen ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_pattgen_isr( |
| plic_isr_ctx_t plic_ctx, pattgen_isr_ctx_t pattgen_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_pattgen_irq_t *irq_serviced); |
| |
| /** |
| * Services an pwrmgr IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param pwrmgr_ctx A(n) pwrmgr ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_pwrmgr_isr( |
| plic_isr_ctx_t plic_ctx, pwrmgr_isr_ctx_t pwrmgr_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_pwrmgr_irq_t *irq_serviced); |
| |
| /** |
| * Services an rv_timer IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param rv_timer_ctx A(n) rv_timer ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_rv_timer_isr( |
| plic_isr_ctx_t plic_ctx, rv_timer_isr_ctx_t rv_timer_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_rv_timer_irq_t *irq_serviced); |
| |
| /** |
| * Services an sensor_ctrl IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param sensor_ctrl_ctx A(n) sensor_ctrl ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_sensor_ctrl_isr( |
| plic_isr_ctx_t plic_ctx, sensor_ctrl_isr_ctx_t sensor_ctrl_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_sensor_ctrl_irq_t *irq_serviced); |
| |
| /** |
| * Services an spi_device IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param spi_device_ctx A(n) spi_device ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_spi_device_isr( |
| plic_isr_ctx_t plic_ctx, spi_device_isr_ctx_t spi_device_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_spi_device_irq_t *irq_serviced); |
| |
| /** |
| * Services an spi_host IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param spi_host_ctx A(n) spi_host ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_spi_host_isr( |
| plic_isr_ctx_t plic_ctx, spi_host_isr_ctx_t spi_host_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_spi_host_irq_t *irq_serviced); |
| |
| /** |
| * Services an sysrst_ctrl IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param sysrst_ctrl_ctx A(n) sysrst_ctrl ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_sysrst_ctrl_isr( |
| plic_isr_ctx_t plic_ctx, sysrst_ctrl_isr_ctx_t sysrst_ctrl_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_sysrst_ctrl_irq_t *irq_serviced); |
| |
| /** |
| * Services an uart IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param uart_ctx A(n) uart ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_uart_isr(plic_isr_ctx_t plic_ctx, uart_isr_ctx_t uart_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_uart_irq_t *irq_serviced); |
| |
| /** |
| * Services an usbdev IRQ. |
| * |
| * @param plic_ctx A PLIC ISR context handle. |
| * @param usbdev_ctx A(n) usbdev ISR context handle. |
| * @param[out] peripheral_serviced Out param for the peripheral that was |
| * serviced. |
| * @param[out] irq_serviced Out param for the IRQ that was serviced. |
| */ |
| void isr_testutils_usbdev_isr( |
| plic_isr_ctx_t plic_ctx, usbdev_isr_ctx_t usbdev_ctx, |
| top_matcha_plic_peripheral_t *peripheral_serviced, |
| dif_usbdev_irq_t *irq_serviced); |
| |
| #endif // OPENTITAN_SW_DEVICE_LIB_TESTING_AUTOGEN_ISR_TESTUTILS_H_ |