Software APIs
isr_testutils.h
Go to the documentation of this file.
1// Copyright lowRISC contributors (OpenTitan project).
2// Licensed under the Apache License, Version 2.0, see LICENSE for details.
3// SPDX-License-Identifier: Apache-2.0
4
5#ifndef OPENTITAN_SW_DEVICE_LIB_TESTING_AUTOGEN_ISR_TESTUTILS_H_
6#define OPENTITAN_SW_DEVICE_LIB_TESTING_AUTOGEN_ISR_TESTUTILS_H_
7
8// THIS FILE HAS BEEN GENERATED, DO NOT EDIT MANUALLY. COMMAND:
9// util/autogen_testutils.py
10
11/**
12 * @file
13 * @brief Default ISRs for each IP
14 */
15
17#include "sw/device/lib/dif/autogen/dif_alert_handler_autogen.h"
18#include "sw/device/lib/dif/autogen/dif_aon_timer_autogen.h"
19#include "sw/device/lib/dif/autogen/dif_csrng_autogen.h"
21#include "sw/device/lib/dif/autogen/dif_edn_autogen.h"
22#include "sw/device/lib/dif/autogen/dif_gpio_autogen.h"
23#include "sw/device/lib/dif/autogen/dif_hmac_autogen.h"
24#include "sw/device/lib/dif/autogen/dif_i2c_autogen.h"
26#include "sw/device/lib/dif/autogen/dif_kmac_autogen.h"
28#include "sw/device/lib/dif/autogen/dif_otbn_autogen.h"
29#include "sw/device/lib/dif/autogen/dif_otp_ctrl_autogen.h"
30#include "sw/device/lib/dif/autogen/dif_pwrmgr_autogen.h"
32#include "sw/device/lib/dif/autogen/dif_rv_timer_autogen.h"
34#include "sw/device/lib/dif/autogen/dif_spi_device_autogen.h"
35#include "sw/device/lib/dif/autogen/dif_spi_host_autogen.h"
36#include "sw/device/lib/dif/autogen/dif_uart_autogen.h"
38
40
41/**
42 * A handle to a PLIC ISR context struct.
43 */
44typedef struct plic_isr_ctx {
45 /**
46 * A handle to a rv_plic.
47 */
49 /**
50 * The HART ID associated with the PLIC (correspond to a PLIC "target").
51 */
52 uint32_t hart_id;
54
55/**
56 * A handle to a ac_range_check ISR context struct.
57 */
58typedef struct ac_range_check_isr_ctx {
59 /**
60 * A handle to a ac_range_check.
61 */
63 /**
64 * The PLIC IRQ ID where this ac_range_check instance's IRQs start.
65 */
67 /**
68 * The ac_range_check IRQ that is expected to be encountered in the ISR.
69 */
70 dif_ac_range_check_irq_t expected_irq;
71 /**
72 * Whether or not a single IRQ is expected to be encountered in the ISR.
73 */
76
77/**
78 * A handle to a alert_handler ISR context struct.
79 */
80typedef struct alert_handler_isr_ctx {
81 /**
82 * A handle to a alert_handler.
83 */
85 /**
86 * The PLIC IRQ ID where this alert_handler instance's IRQs start.
87 */
89 /**
90 * The alert_handler IRQ that is expected to be encountered in the ISR.
91 */
92 dif_alert_handler_irq_t expected_irq;
93 /**
94 * Whether or not a single IRQ is expected to be encountered in the ISR.
95 */
96 bool is_only_irq;
98
99/**
100 * A handle to a aon_timer ISR context struct.
101 */
102typedef struct aon_timer_isr_ctx {
103 /**
104 * A handle to a aon_timer.
105 */
107 /**
108 * The PLIC IRQ ID where this aon_timer instance's IRQs start.
109 */
111 /**
112 * The aon_timer IRQ that is expected to be encountered in the ISR.
113 */
114 dif_aon_timer_irq_t expected_irq;
115 /**
116 * Whether or not a single IRQ is expected to be encountered in the ISR.
117 */
118 bool is_only_irq;
120
121/**
122 * A handle to a csrng ISR context struct.
123 */
124typedef struct csrng_isr_ctx {
125 /**
126 * A handle to a csrng.
127 */
129 /**
130 * The PLIC IRQ ID where this csrng instance's IRQs start.
131 */
133 /**
134 * The csrng IRQ that is expected to be encountered in the ISR.
135 */
136 dif_csrng_irq_t expected_irq;
137 /**
138 * Whether or not a single IRQ is expected to be encountered in the ISR.
139 */
140 bool is_only_irq;
142
143/**
144 * A handle to a dma ISR context struct.
145 */
146typedef struct dma_isr_ctx {
147 /**
148 * A handle to a dma.
149 */
151 /**
152 * The PLIC IRQ ID where this dma instance's IRQs start.
153 */
155 /**
156 * The dma IRQ that is expected to be encountered in the ISR.
157 */
158 dif_dma_irq_t expected_irq;
159 /**
160 * Whether or not a single IRQ is expected to be encountered in the ISR.
161 */
164
165/**
166 * A handle to a edn ISR context struct.
167 */
168typedef struct edn_isr_ctx {
169 /**
170 * A handle to a edn.
171 */
172 dif_edn_t *edn;
173 /**
174 * The PLIC IRQ ID where this edn instance's IRQs start.
175 */
177 /**
178 * The edn IRQ that is expected to be encountered in the ISR.
179 */
180 dif_edn_irq_t expected_irq;
181 /**
182 * Whether or not a single IRQ is expected to be encountered in the ISR.
183 */
184 bool is_only_irq;
186
187/**
188 * A handle to a gpio ISR context struct.
189 */
190typedef struct gpio_isr_ctx {
191 /**
192 * A handle to a gpio.
193 */
195 /**
196 * The PLIC IRQ ID where this gpio instance's IRQs start.
197 */
199 /**
200 * The gpio IRQ that is expected to be encountered in the ISR.
201 */
202 dif_gpio_irq_t expected_irq;
203 /**
204 * Whether or not a single IRQ is expected to be encountered in the ISR.
205 */
206 bool is_only_irq;
208
209/**
210 * A handle to a hmac ISR context struct.
211 */
212typedef struct hmac_isr_ctx {
213 /**
214 * A handle to a hmac.
215 */
217 /**
218 * The PLIC IRQ ID where this hmac instance's IRQs start.
219 */
221 /**
222 * The hmac IRQ that is expected to be encountered in the ISR.
223 */
224 dif_hmac_irq_t expected_irq;
225 /**
226 * Whether or not a single IRQ is expected to be encountered in the ISR.
227 */
228 bool is_only_irq;
230
231/**
232 * A handle to a i2c ISR context struct.
233 */
234typedef struct i2c_isr_ctx {
235 /**
236 * A handle to a i2c.
237 */
238 dif_i2c_t *i2c;
239 /**
240 * The PLIC IRQ ID where this i2c instance's IRQs start.
241 */
243 /**
244 * The i2c IRQ that is expected to be encountered in the ISR.
245 */
246 dif_i2c_irq_t expected_irq;
247 /**
248 * Whether or not a single IRQ is expected to be encountered in the ISR.
249 */
250 bool is_only_irq;
252
253/**
254 * A handle to a keymgr_dpe ISR context struct.
255 */
256typedef struct keymgr_dpe_isr_ctx {
257 /**
258 * A handle to a keymgr_dpe.
259 */
261 /**
262 * The PLIC IRQ ID where this keymgr_dpe instance's IRQs start.
263 */
265 /**
266 * The keymgr_dpe IRQ that is expected to be encountered in the ISR.
267 */
268 dif_keymgr_dpe_irq_t expected_irq;
269 /**
270 * Whether or not a single IRQ is expected to be encountered in the ISR.
271 */
274
275/**
276 * A handle to a kmac ISR context struct.
277 */
278typedef struct kmac_isr_ctx {
279 /**
280 * A handle to a kmac.
281 */
283 /**
284 * The PLIC IRQ ID where this kmac instance's IRQs start.
285 */
287 /**
288 * The kmac IRQ that is expected to be encountered in the ISR.
289 */
290 dif_kmac_irq_t expected_irq;
291 /**
292 * Whether or not a single IRQ is expected to be encountered in the ISR.
293 */
294 bool is_only_irq;
296
297/**
298 * A handle to a mbx ISR context struct.
299 */
300typedef struct mbx_isr_ctx {
301 /**
302 * A handle to a mbx.
303 */
305 /**
306 * The PLIC IRQ ID where this mbx instance's IRQs start.
307 */
309 /**
310 * The mbx IRQ that is expected to be encountered in the ISR.
311 */
312 dif_mbx_irq_t expected_irq;
313 /**
314 * Whether or not a single IRQ is expected to be encountered in the ISR.
315 */
318
319/**
320 * A handle to a otbn ISR context struct.
321 */
322typedef struct otbn_isr_ctx {
323 /**
324 * A handle to a otbn.
325 */
327 /**
328 * The PLIC IRQ ID where this otbn instance's IRQs start.
329 */
331 /**
332 * The otbn IRQ that is expected to be encountered in the ISR.
333 */
334 dif_otbn_irq_t expected_irq;
335 /**
336 * Whether or not a single IRQ is expected to be encountered in the ISR.
337 */
338 bool is_only_irq;
340
341/**
342 * A handle to a otp_ctrl ISR context struct.
343 */
344typedef struct otp_ctrl_isr_ctx {
345 /**
346 * A handle to a otp_ctrl.
347 */
349 /**
350 * The PLIC IRQ ID where this otp_ctrl instance's IRQs start.
351 */
353 /**
354 * The otp_ctrl IRQ that is expected to be encountered in the ISR.
355 */
356 dif_otp_ctrl_irq_t expected_irq;
357 /**
358 * Whether or not a single IRQ is expected to be encountered in the ISR.
359 */
360 bool is_only_irq;
362
363/**
364 * A handle to a pwrmgr ISR context struct.
365 */
366typedef struct pwrmgr_isr_ctx {
367 /**
368 * A handle to a pwrmgr.
369 */
371 /**
372 * The PLIC IRQ ID where this pwrmgr instance's IRQs start.
373 */
375 /**
376 * The pwrmgr IRQ that is expected to be encountered in the ISR.
377 */
378 dif_pwrmgr_irq_t expected_irq;
379 /**
380 * Whether or not a single IRQ is expected to be encountered in the ISR.
381 */
382 bool is_only_irq;
384
385/**
386 * A handle to a racl_ctrl ISR context struct.
387 */
388typedef struct racl_ctrl_isr_ctx {
389 /**
390 * A handle to a racl_ctrl.
391 */
393 /**
394 * The PLIC IRQ ID where this racl_ctrl instance's IRQs start.
395 */
397 /**
398 * The racl_ctrl IRQ that is expected to be encountered in the ISR.
399 */
400 dif_racl_ctrl_irq_t expected_irq;
401 /**
402 * Whether or not a single IRQ is expected to be encountered in the ISR.
403 */
406
407/**
408 * A handle to a rv_timer ISR context struct.
409 */
410typedef struct rv_timer_isr_ctx {
411 /**
412 * A handle to a rv_timer.
413 */
415 /**
416 * The PLIC IRQ ID where this rv_timer instance's IRQs start.
417 */
419 /**
420 * The rv_timer IRQ that is expected to be encountered in the ISR.
421 */
422 dif_rv_timer_irq_t expected_irq;
423 /**
424 * Whether or not a single IRQ is expected to be encountered in the ISR.
425 */
426 bool is_only_irq;
428
429/**
430 * A handle to a soc_proxy ISR context struct.
431 */
432typedef struct soc_proxy_isr_ctx {
433 /**
434 * A handle to a soc_proxy.
435 */
437 /**
438 * The PLIC IRQ ID where this soc_proxy instance's IRQs start.
439 */
441 /**
442 * The soc_proxy IRQ that is expected to be encountered in the ISR.
443 */
444 dif_soc_proxy_irq_t expected_irq;
445 /**
446 * Whether or not a single IRQ is expected to be encountered in the ISR.
447 */
450
451/**
452 * A handle to a spi_device ISR context struct.
453 */
454typedef struct spi_device_isr_ctx {
455 /**
456 * A handle to a spi_device.
457 */
459 /**
460 * The PLIC IRQ ID where this spi_device instance's IRQs start.
461 */
463 /**
464 * The spi_device IRQ that is expected to be encountered in the ISR.
465 */
466 dif_spi_device_irq_t expected_irq;
467 /**
468 * Whether or not a single IRQ is expected to be encountered in the ISR.
469 */
470 bool is_only_irq;
472
473/**
474 * A handle to a spi_host ISR context struct.
475 */
476typedef struct spi_host_isr_ctx {
477 /**
478 * A handle to a spi_host.
479 */
481 /**
482 * The PLIC IRQ ID where this spi_host instance's IRQs start.
483 */
485 /**
486 * The spi_host IRQ that is expected to be encountered in the ISR.
487 */
488 dif_spi_host_irq_t expected_irq;
489 /**
490 * Whether or not a single IRQ is expected to be encountered in the ISR.
491 */
492 bool is_only_irq;
494
495/**
496 * A handle to a uart ISR context struct.
497 */
498typedef struct uart_isr_ctx {
499 /**
500 * A handle to a uart.
501 */
503 /**
504 * The PLIC IRQ ID where this uart instance's IRQs start.
505 */
507 /**
508 * The uart IRQ that is expected to be encountered in the ISR.
509 */
510 dif_uart_irq_t expected_irq;
511 /**
512 * Whether or not a single IRQ is expected to be encountered in the ISR.
513 */
514 bool is_only_irq;
516
517/**
518 * Services an ac_range_check IRQ.
519 *
520 * @param plic_ctx A PLIC ISR context handle.
521 * @param ac_range_check_ctx A(n) ac_range_check ISR context handle.
522 * @param mute_status_irq set to true to disable the serviced status type IRQ.
523 * @param[out] peripheral_serviced Out param for the peripheral that was
524 * serviced.
525 * @param[out] irq_serviced Out param for the IRQ that was serviced.
526 */
528 plic_isr_ctx_t plic_ctx, ac_range_check_isr_ctx_t ac_range_check_ctx,
529 bool mute_status_irq, top_darjeeling_plic_peripheral_t *peripheral_serviced,
530 dif_ac_range_check_irq_t *irq_serviced);
531
532/**
533 * Services an alert_handler IRQ.
534 *
535 * @param plic_ctx A PLIC ISR context handle.
536 * @param alert_handler_ctx A(n) alert_handler ISR context handle.
537 * @param[out] peripheral_serviced Out param for the peripheral that was
538 * serviced.
539 * @param[out] irq_serviced Out param for the IRQ that was serviced.
540 */
542 plic_isr_ctx_t plic_ctx, alert_handler_isr_ctx_t alert_handler_ctx,
543 top_darjeeling_plic_peripheral_t *peripheral_serviced,
544 dif_alert_handler_irq_t *irq_serviced);
545
546/**
547 * Services an aon_timer IRQ.
548 *
549 * @param plic_ctx A PLIC ISR context handle.
550 * @param aon_timer_ctx A(n) aon_timer ISR context handle.
551 * @param[out] peripheral_serviced Out param for the peripheral that was
552 * serviced.
553 * @param[out] irq_serviced Out param for the IRQ that was serviced.
554 */
556 plic_isr_ctx_t plic_ctx, aon_timer_isr_ctx_t aon_timer_ctx,
557 top_darjeeling_plic_peripheral_t *peripheral_serviced,
558 dif_aon_timer_irq_t *irq_serviced);
559
560/**
561 * Services an csrng IRQ.
562 *
563 * @param plic_ctx A PLIC ISR context handle.
564 * @param csrng_ctx A(n) csrng ISR context handle.
565 * @param[out] peripheral_serviced Out param for the peripheral that was
566 * serviced.
567 * @param[out] irq_serviced Out param for the IRQ that was serviced.
568 */
570 plic_isr_ctx_t plic_ctx, csrng_isr_ctx_t csrng_ctx,
571 top_darjeeling_plic_peripheral_t *peripheral_serviced,
572 dif_csrng_irq_t *irq_serviced);
573
574/**
575 * Services an dma IRQ.
576 *
577 * @param plic_ctx A PLIC ISR context handle.
578 * @param dma_ctx A(n) dma ISR context handle.
579 * @param mute_status_irq set to true to disable the serviced status type IRQ.
580 * @param[out] peripheral_serviced Out param for the peripheral that was
581 * serviced.
582 * @param[out] irq_serviced Out param for the IRQ that was serviced.
583 */
585 plic_isr_ctx_t plic_ctx, dma_isr_ctx_t dma_ctx, bool mute_status_irq,
586 top_darjeeling_plic_peripheral_t *peripheral_serviced,
587 dif_dma_irq_t *irq_serviced);
588
589/**
590 * Services an edn IRQ.
591 *
592 * @param plic_ctx A PLIC ISR context handle.
593 * @param edn_ctx A(n) edn ISR context handle.
594 * @param[out] peripheral_serviced Out param for the peripheral that was
595 * serviced.
596 * @param[out] irq_serviced Out param for the IRQ that was serviced.
597 */
599 plic_isr_ctx_t plic_ctx, edn_isr_ctx_t edn_ctx,
600 top_darjeeling_plic_peripheral_t *peripheral_serviced,
601 dif_edn_irq_t *irq_serviced);
602
603/**
604 * Services an gpio IRQ.
605 *
606 * @param plic_ctx A PLIC ISR context handle.
607 * @param gpio_ctx A(n) gpio ISR context handle.
608 * @param[out] peripheral_serviced Out param for the peripheral that was
609 * serviced.
610 * @param[out] irq_serviced Out param for the IRQ that was serviced.
611 */
613 plic_isr_ctx_t plic_ctx, gpio_isr_ctx_t gpio_ctx,
614 top_darjeeling_plic_peripheral_t *peripheral_serviced,
615 dif_gpio_irq_t *irq_serviced);
616
617/**
618 * Services an hmac IRQ.
619 *
620 * @param plic_ctx A PLIC ISR context handle.
621 * @param hmac_ctx A(n) hmac ISR context handle.
622 * @param mute_status_irq set to true to disable the serviced status type IRQ.
623 * @param[out] peripheral_serviced Out param for the peripheral that was
624 * serviced.
625 * @param[out] irq_serviced Out param for the IRQ that was serviced.
626 */
628 plic_isr_ctx_t plic_ctx, hmac_isr_ctx_t hmac_ctx, bool mute_status_irq,
629 top_darjeeling_plic_peripheral_t *peripheral_serviced,
630 dif_hmac_irq_t *irq_serviced);
631
632/**
633 * Services an i2c IRQ.
634 *
635 * @param plic_ctx A PLIC ISR context handle.
636 * @param i2c_ctx A(n) i2c ISR context handle.
637 * @param mute_status_irq set to true to disable the serviced status type IRQ.
638 * @param[out] peripheral_serviced Out param for the peripheral that was
639 * serviced.
640 * @param[out] irq_serviced Out param for the IRQ that was serviced.
641 */
643 plic_isr_ctx_t plic_ctx, i2c_isr_ctx_t i2c_ctx, bool mute_status_irq,
644 top_darjeeling_plic_peripheral_t *peripheral_serviced,
645 dif_i2c_irq_t *irq_serviced);
646
647/**
648 * Services an keymgr_dpe IRQ.
649 *
650 * @param plic_ctx A PLIC ISR context handle.
651 * @param keymgr_dpe_ctx A(n) keymgr_dpe ISR context handle.
652 * @param[out] peripheral_serviced Out param for the peripheral that was
653 * serviced.
654 * @param[out] irq_serviced Out param for the IRQ that was serviced.
655 */
657 plic_isr_ctx_t plic_ctx, keymgr_dpe_isr_ctx_t keymgr_dpe_ctx,
658 top_darjeeling_plic_peripheral_t *peripheral_serviced,
659 dif_keymgr_dpe_irq_t *irq_serviced);
660
661/**
662 * Services an kmac IRQ.
663 *
664 * @param plic_ctx A PLIC ISR context handle.
665 * @param kmac_ctx A(n) kmac ISR context handle.
666 * @param mute_status_irq set to true to disable the serviced status type IRQ.
667 * @param[out] peripheral_serviced Out param for the peripheral that was
668 * serviced.
669 * @param[out] irq_serviced Out param for the IRQ that was serviced.
670 */
672 plic_isr_ctx_t plic_ctx, kmac_isr_ctx_t kmac_ctx, bool mute_status_irq,
673 top_darjeeling_plic_peripheral_t *peripheral_serviced,
674 dif_kmac_irq_t *irq_serviced);
675
676/**
677 * Services an mbx IRQ.
678 *
679 * @param plic_ctx A PLIC ISR context handle.
680 * @param mbx_ctx A(n) mbx ISR context handle.
681 * @param[out] peripheral_serviced Out param for the peripheral that was
682 * serviced.
683 * @param[out] irq_serviced Out param for the IRQ that was serviced.
684 */
686 plic_isr_ctx_t plic_ctx, mbx_isr_ctx_t mbx_ctx,
687 top_darjeeling_plic_peripheral_t *peripheral_serviced,
688 dif_mbx_irq_t *irq_serviced);
689
690/**
691 * Services an otbn IRQ.
692 *
693 * @param plic_ctx A PLIC ISR context handle.
694 * @param otbn_ctx A(n) otbn ISR context handle.
695 * @param[out] peripheral_serviced Out param for the peripheral that was
696 * serviced.
697 * @param[out] irq_serviced Out param for the IRQ that was serviced.
698 */
700 plic_isr_ctx_t plic_ctx, otbn_isr_ctx_t otbn_ctx,
701 top_darjeeling_plic_peripheral_t *peripheral_serviced,
702 dif_otbn_irq_t *irq_serviced);
703
704/**
705 * Services an otp_ctrl IRQ.
706 *
707 * @param plic_ctx A PLIC ISR context handle.
708 * @param otp_ctrl_ctx A(n) otp_ctrl ISR context handle.
709 * @param[out] peripheral_serviced Out param for the peripheral that was
710 * serviced.
711 * @param[out] irq_serviced Out param for the IRQ that was serviced.
712 */
714 plic_isr_ctx_t plic_ctx, otp_ctrl_isr_ctx_t otp_ctrl_ctx,
715 top_darjeeling_plic_peripheral_t *peripheral_serviced,
716 dif_otp_ctrl_irq_t *irq_serviced);
717
718/**
719 * Services an pwrmgr IRQ.
720 *
721 * @param plic_ctx A PLIC ISR context handle.
722 * @param pwrmgr_ctx A(n) pwrmgr ISR context handle.
723 * @param[out] peripheral_serviced Out param for the peripheral that was
724 * serviced.
725 * @param[out] irq_serviced Out param for the IRQ that was serviced.
726 */
728 plic_isr_ctx_t plic_ctx, pwrmgr_isr_ctx_t pwrmgr_ctx,
729 top_darjeeling_plic_peripheral_t *peripheral_serviced,
730 dif_pwrmgr_irq_t *irq_serviced);
731
732/**
733 * Services an racl_ctrl IRQ.
734 *
735 * @param plic_ctx A PLIC ISR context handle.
736 * @param racl_ctrl_ctx A(n) racl_ctrl ISR context handle.
737 * @param mute_status_irq set to true to disable the serviced status type IRQ.
738 * @param[out] peripheral_serviced Out param for the peripheral that was
739 * serviced.
740 * @param[out] irq_serviced Out param for the IRQ that was serviced.
741 */
743 plic_isr_ctx_t plic_ctx, racl_ctrl_isr_ctx_t racl_ctrl_ctx,
744 bool mute_status_irq, top_darjeeling_plic_peripheral_t *peripheral_serviced,
745 dif_racl_ctrl_irq_t *irq_serviced);
746
747/**
748 * Services an rv_timer IRQ.
749 *
750 * @param plic_ctx A PLIC ISR context handle.
751 * @param rv_timer_ctx A(n) rv_timer ISR context handle.
752 * @param[out] peripheral_serviced Out param for the peripheral that was
753 * serviced.
754 * @param[out] irq_serviced Out param for the IRQ that was serviced.
755 */
757 plic_isr_ctx_t plic_ctx, rv_timer_isr_ctx_t rv_timer_ctx,
758 top_darjeeling_plic_peripheral_t *peripheral_serviced,
759 dif_rv_timer_irq_t *irq_serviced);
760
761/**
762 * Services an soc_proxy IRQ.
763 *
764 * @param plic_ctx A PLIC ISR context handle.
765 * @param soc_proxy_ctx A(n) soc_proxy ISR context handle.
766 * @param[out] peripheral_serviced Out param for the peripheral that was
767 * serviced.
768 * @param[out] irq_serviced Out param for the IRQ that was serviced.
769 */
771 plic_isr_ctx_t plic_ctx, soc_proxy_isr_ctx_t soc_proxy_ctx,
772 top_darjeeling_plic_peripheral_t *peripheral_serviced,
773 dif_soc_proxy_irq_t *irq_serviced);
774
775/**
776 * Services an spi_device IRQ.
777 *
778 * @param plic_ctx A PLIC ISR context handle.
779 * @param spi_device_ctx A(n) spi_device ISR context handle.
780 * @param mute_status_irq set to true to disable the serviced status type IRQ.
781 * @param[out] peripheral_serviced Out param for the peripheral that was
782 * serviced.
783 * @param[out] irq_serviced Out param for the IRQ that was serviced.
784 */
786 plic_isr_ctx_t plic_ctx, spi_device_isr_ctx_t spi_device_ctx,
787 bool mute_status_irq, top_darjeeling_plic_peripheral_t *peripheral_serviced,
788 dif_spi_device_irq_t *irq_serviced);
789
790/**
791 * Services an spi_host IRQ.
792 *
793 * @param plic_ctx A PLIC ISR context handle.
794 * @param spi_host_ctx A(n) spi_host ISR context handle.
795 * @param mute_status_irq set to true to disable the serviced status type IRQ.
796 * @param[out] peripheral_serviced Out param for the peripheral that was
797 * serviced.
798 * @param[out] irq_serviced Out param for the IRQ that was serviced.
799 */
801 plic_isr_ctx_t plic_ctx, spi_host_isr_ctx_t spi_host_ctx,
802 bool mute_status_irq, top_darjeeling_plic_peripheral_t *peripheral_serviced,
803 dif_spi_host_irq_t *irq_serviced);
804
805/**
806 * Services an uart IRQ.
807 *
808 * @param plic_ctx A PLIC ISR context handle.
809 * @param uart_ctx A(n) uart ISR context handle.
810 * @param mute_status_irq set to true to disable the serviced status type IRQ.
811 * @param[out] peripheral_serviced Out param for the peripheral that was
812 * serviced.
813 * @param[out] irq_serviced Out param for the IRQ that was serviced.
814 */
816 plic_isr_ctx_t plic_ctx, uart_isr_ctx_t uart_ctx, bool mute_status_irq,
817 top_darjeeling_plic_peripheral_t *peripheral_serviced,
818 dif_uart_irq_t *irq_serviced);
819
820#endif // OPENTITAN_SW_DEVICE_LIB_TESTING_AUTOGEN_ISR_TESTUTILS_H_