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"
20#include "sw/device/lib/dif/autogen/dif_edn_autogen.h"
22#include "sw/device/lib/dif/autogen/dif_flash_ctrl_autogen.h"
23#include "sw/device/lib/dif/autogen/dif_gpio_autogen.h"
24#include "sw/device/lib/dif/autogen/dif_hmac_autogen.h"
25#include "sw/device/lib/dif/autogen/dif_i2c_autogen.h"
27#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"
31#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"
37#include "sw/device/lib/dif/autogen/dif_uart_autogen.h"
38#include "sw/device/lib/dif/autogen/dif_usbdev_autogen.h"
40
41#include "hw/top_earlgrey/sw/autogen/top_earlgrey.h" // Generated.
42
43/**
44 * A handle to a PLIC ISR context struct.
45 */
46typedef struct plic_isr_ctx {
47 /**
48 * A handle to a rv_plic.
49 */
51 /**
52 * The HART ID associated with the PLIC (correspond to a PLIC "target").
53 */
54 uint32_t hart_id;
56
57/**
58 * A handle to a adc_ctrl ISR context struct.
59 */
60typedef struct adc_ctrl_isr_ctx {
61 /**
62 * A handle to a adc_ctrl.
63 */
65 /**
66 * The PLIC IRQ ID where this adc_ctrl instance's IRQs start.
67 */
69 /**
70 * The adc_ctrl IRQ that is expected to be encountered in the ISR.
71 */
72 dif_adc_ctrl_irq_t expected_irq;
73 /**
74 * Whether or not a single IRQ is expected to be encountered in the ISR.
75 */
78
79/**
80 * A handle to a alert_handler ISR context struct.
81 */
82typedef struct alert_handler_isr_ctx {
83 /**
84 * A handle to a alert_handler.
85 */
87 /**
88 * The PLIC IRQ ID where this alert_handler instance's IRQs start.
89 */
91 /**
92 * The alert_handler IRQ that is expected to be encountered in the ISR.
93 */
94 dif_alert_handler_irq_t expected_irq;
95 /**
96 * Whether or not a single IRQ is expected to be encountered in the ISR.
97 */
100
101/**
102 * A handle to a aon_timer ISR context struct.
103 */
104typedef struct aon_timer_isr_ctx {
105 /**
106 * A handle to a aon_timer.
107 */
109 /**
110 * The PLIC IRQ ID where this aon_timer instance's IRQs start.
111 */
113 /**
114 * The aon_timer IRQ that is expected to be encountered in the ISR.
115 */
116 dif_aon_timer_irq_t expected_irq;
117 /**
118 * Whether or not a single IRQ is expected to be encountered in the ISR.
119 */
122
123/**
124 * A handle to a csrng ISR context struct.
125 */
126typedef struct csrng_isr_ctx {
127 /**
128 * A handle to a csrng.
129 */
131 /**
132 * The PLIC IRQ ID where this csrng instance's IRQs start.
133 */
135 /**
136 * The csrng IRQ that is expected to be encountered in the ISR.
137 */
138 dif_csrng_irq_t expected_irq;
139 /**
140 * Whether or not a single IRQ is expected to be encountered in the ISR.
141 */
144
145/**
146 * A handle to a edn ISR context struct.
147 */
148typedef struct edn_isr_ctx {
149 /**
150 * A handle to a edn.
151 */
153 /**
154 * The PLIC IRQ ID where this edn instance's IRQs start.
155 */
157 /**
158 * The edn IRQ that is expected to be encountered in the ISR.
159 */
160 dif_edn_irq_t expected_irq;
161 /**
162 * Whether or not a single IRQ is expected to be encountered in the ISR.
163 */
166
167/**
168 * A handle to a entropy_src ISR context struct.
169 */
170typedef struct entropy_src_isr_ctx {
171 /**
172 * A handle to a entropy_src.
173 */
175 /**
176 * The PLIC IRQ ID where this entropy_src instance's IRQs start.
177 */
179 /**
180 * The entropy_src IRQ that is expected to be encountered in the ISR.
181 */
182 dif_entropy_src_irq_t expected_irq;
183 /**
184 * Whether or not a single IRQ is expected to be encountered in the ISR.
185 */
188
189/**
190 * A handle to a flash_ctrl ISR context struct.
191 */
192typedef struct flash_ctrl_isr_ctx {
193 /**
194 * A handle to a flash_ctrl.
195 */
197 /**
198 * The PLIC IRQ ID where this flash_ctrl instance's IRQs start.
199 */
201 /**
202 * The flash_ctrl IRQ that is expected to be encountered in the ISR.
203 */
204 dif_flash_ctrl_irq_t expected_irq;
205 /**
206 * Whether or not a single IRQ is expected to be encountered in the ISR.
207 */
210
211/**
212 * A handle to a gpio ISR context struct.
213 */
214typedef struct gpio_isr_ctx {
215 /**
216 * A handle to a gpio.
217 */
219 /**
220 * The PLIC IRQ ID where this gpio instance's IRQs start.
221 */
223 /**
224 * The gpio IRQ that is expected to be encountered in the ISR.
225 */
226 dif_gpio_irq_t expected_irq;
227 /**
228 * Whether or not a single IRQ is expected to be encountered in the ISR.
229 */
232
233/**
234 * A handle to a hmac ISR context struct.
235 */
236typedef struct hmac_isr_ctx {
237 /**
238 * A handle to a hmac.
239 */
241 /**
242 * The PLIC IRQ ID where this hmac instance's IRQs start.
243 */
245 /**
246 * The hmac IRQ that is expected to be encountered in the ISR.
247 */
248 dif_hmac_irq_t expected_irq;
249 /**
250 * Whether or not a single IRQ is expected to be encountered in the ISR.
251 */
254
255/**
256 * A handle to a i2c ISR context struct.
257 */
258typedef struct i2c_isr_ctx {
259 /**
260 * A handle to a i2c.
261 */
263 /**
264 * The PLIC IRQ ID where this i2c instance's IRQs start.
265 */
267 /**
268 * The i2c IRQ that is expected to be encountered in the ISR.
269 */
270 dif_i2c_irq_t expected_irq;
271 /**
272 * Whether or not a single IRQ is expected to be encountered in the ISR.
273 */
276
277/**
278 * A handle to a keymgr ISR context struct.
279 */
280typedef struct keymgr_isr_ctx {
281 /**
282 * A handle to a keymgr.
283 */
285 /**
286 * The PLIC IRQ ID where this keymgr instance's IRQs start.
287 */
289 /**
290 * The keymgr IRQ that is expected to be encountered in the ISR.
291 */
292 dif_keymgr_irq_t expected_irq;
293 /**
294 * Whether or not a single IRQ is expected to be encountered in the ISR.
295 */
298
299/**
300 * A handle to a kmac ISR context struct.
301 */
302typedef struct kmac_isr_ctx {
303 /**
304 * A handle to a kmac.
305 */
307 /**
308 * The PLIC IRQ ID where this kmac instance's IRQs start.
309 */
311 /**
312 * The kmac IRQ that is expected to be encountered in the ISR.
313 */
314 dif_kmac_irq_t expected_irq;
315 /**
316 * Whether or not a single IRQ is expected to be encountered in the ISR.
317 */
320
321/**
322 * A handle to a otbn ISR context struct.
323 */
324typedef struct otbn_isr_ctx {
325 /**
326 * A handle to a otbn.
327 */
329 /**
330 * The PLIC IRQ ID where this otbn instance's IRQs start.
331 */
333 /**
334 * The otbn IRQ that is expected to be encountered in the ISR.
335 */
336 dif_otbn_irq_t expected_irq;
337 /**
338 * Whether or not a single IRQ is expected to be encountered in the ISR.
339 */
342
343/**
344 * A handle to a otp_ctrl ISR context struct.
345 */
346typedef struct otp_ctrl_isr_ctx {
347 /**
348 * A handle to a otp_ctrl.
349 */
351 /**
352 * The PLIC IRQ ID where this otp_ctrl instance's IRQs start.
353 */
355 /**
356 * The otp_ctrl IRQ that is expected to be encountered in the ISR.
357 */
358 dif_otp_ctrl_irq_t expected_irq;
359 /**
360 * Whether or not a single IRQ is expected to be encountered in the ISR.
361 */
364
365/**
366 * A handle to a pattgen ISR context struct.
367 */
368typedef struct pattgen_isr_ctx {
369 /**
370 * A handle to a pattgen.
371 */
373 /**
374 * The PLIC IRQ ID where this pattgen instance's IRQs start.
375 */
377 /**
378 * The pattgen IRQ that is expected to be encountered in the ISR.
379 */
380 dif_pattgen_irq_t expected_irq;
381 /**
382 * Whether or not a single IRQ is expected to be encountered in the ISR.
383 */
386
387/**
388 * A handle to a pwrmgr ISR context struct.
389 */
390typedef struct pwrmgr_isr_ctx {
391 /**
392 * A handle to a pwrmgr.
393 */
395 /**
396 * The PLIC IRQ ID where this pwrmgr instance's IRQs start.
397 */
399 /**
400 * The pwrmgr IRQ that is expected to be encountered in the ISR.
401 */
402 dif_pwrmgr_irq_t expected_irq;
403 /**
404 * Whether or not a single IRQ is expected to be encountered in the ISR.
405 */
408
409/**
410 * A handle to a rv_timer ISR context struct.
411 */
412typedef struct rv_timer_isr_ctx {
413 /**
414 * A handle to a rv_timer.
415 */
417 /**
418 * The PLIC IRQ ID where this rv_timer instance's IRQs start.
419 */
421 /**
422 * The rv_timer IRQ that is expected to be encountered in the ISR.
423 */
424 dif_rv_timer_irq_t expected_irq;
425 /**
426 * Whether or not a single IRQ is expected to be encountered in the ISR.
427 */
430
431/**
432 * A handle to a sensor_ctrl ISR context struct.
433 */
434typedef struct sensor_ctrl_isr_ctx {
435 /**
436 * A handle to a sensor_ctrl.
437 */
439 /**
440 * The PLIC IRQ ID where this sensor_ctrl instance's IRQs start.
441 */
443 /**
444 * The sensor_ctrl IRQ that is expected to be encountered in the ISR.
445 */
446 dif_sensor_ctrl_irq_t expected_irq;
447 /**
448 * Whether or not a single IRQ is expected to be encountered in the ISR.
449 */
452
453/**
454 * A handle to a spi_device ISR context struct.
455 */
456typedef struct spi_device_isr_ctx {
457 /**
458 * A handle to a spi_device.
459 */
461 /**
462 * The PLIC IRQ ID where this spi_device instance's IRQs start.
463 */
465 /**
466 * The spi_device IRQ that is expected to be encountered in the ISR.
467 */
468 dif_spi_device_irq_t expected_irq;
469 /**
470 * Whether or not a single IRQ is expected to be encountered in the ISR.
471 */
474
475/**
476 * A handle to a spi_host ISR context struct.
477 */
478typedef struct spi_host_isr_ctx {
479 /**
480 * A handle to a spi_host.
481 */
483 /**
484 * The PLIC IRQ ID where this spi_host instance's IRQs start.
485 */
487 /**
488 * The spi_host IRQ that is expected to be encountered in the ISR.
489 */
490 dif_spi_host_irq_t expected_irq;
491 /**
492 * Whether or not a single IRQ is expected to be encountered in the ISR.
493 */
496
497/**
498 * A handle to a sysrst_ctrl ISR context struct.
499 */
500typedef struct sysrst_ctrl_isr_ctx {
501 /**
502 * A handle to a sysrst_ctrl.
503 */
505 /**
506 * The PLIC IRQ ID where this sysrst_ctrl instance's IRQs start.
507 */
509 /**
510 * The sysrst_ctrl IRQ that is expected to be encountered in the ISR.
511 */
512 dif_sysrst_ctrl_irq_t expected_irq;
513 /**
514 * Whether or not a single IRQ is expected to be encountered in the ISR.
515 */
518
519/**
520 * A handle to a uart ISR context struct.
521 */
522typedef struct uart_isr_ctx {
523 /**
524 * A handle to a uart.
525 */
527 /**
528 * The PLIC IRQ ID where this uart instance's IRQs start.
529 */
531 /**
532 * The uart IRQ that is expected to be encountered in the ISR.
533 */
534 dif_uart_irq_t expected_irq;
535 /**
536 * Whether or not a single IRQ is expected to be encountered in the ISR.
537 */
540
541/**
542 * A handle to a usbdev ISR context struct.
543 */
544typedef struct usbdev_isr_ctx {
545 /**
546 * A handle to a usbdev.
547 */
549 /**
550 * The PLIC IRQ ID where this usbdev instance's IRQs start.
551 */
553 /**
554 * The usbdev IRQ that is expected to be encountered in the ISR.
555 */
556 dif_usbdev_irq_t expected_irq;
557 /**
558 * Whether or not a single IRQ is expected to be encountered in the ISR.
559 */
562
563/**
564 * Services an adc_ctrl IRQ.
565 *
566 * @param plic_ctx A PLIC ISR context handle.
567 * @param adc_ctrl_ctx A(n) adc_ctrl ISR context handle.
568 * @param mute_status_irq set to true to disable the serviced status type IRQ.
569 * @param[out] peripheral_serviced Out param for the peripheral that was
570 * serviced.
571 * @param[out] irq_serviced Out param for the IRQ that was serviced.
572 */
574 plic_isr_ctx_t plic_ctx, adc_ctrl_isr_ctx_t adc_ctrl_ctx,
575 bool mute_status_irq, top_earlgrey_plic_peripheral_t *peripheral_serviced,
576 dif_adc_ctrl_irq_t *irq_serviced);
577
578/**
579 * Services an alert_handler IRQ.
580 *
581 * @param plic_ctx A PLIC ISR context handle.
582 * @param alert_handler_ctx A(n) alert_handler ISR context handle.
583 * @param[out] peripheral_serviced Out param for the peripheral that was
584 * serviced.
585 * @param[out] irq_serviced Out param for the IRQ that was serviced.
586 */
588 plic_isr_ctx_t plic_ctx, alert_handler_isr_ctx_t alert_handler_ctx,
589 top_earlgrey_plic_peripheral_t *peripheral_serviced,
590 dif_alert_handler_irq_t *irq_serviced);
591
592/**
593 * Services an aon_timer IRQ.
594 *
595 * @param plic_ctx A PLIC ISR context handle.
596 * @param aon_timer_ctx A(n) aon_timer ISR context handle.
597 * @param[out] peripheral_serviced Out param for the peripheral that was
598 * serviced.
599 * @param[out] irq_serviced Out param for the IRQ that was serviced.
600 */
602 plic_isr_ctx_t plic_ctx, aon_timer_isr_ctx_t aon_timer_ctx,
603 top_earlgrey_plic_peripheral_t *peripheral_serviced,
604 dif_aon_timer_irq_t *irq_serviced);
605
606/**
607 * Services an csrng IRQ.
608 *
609 * @param plic_ctx A PLIC ISR context handle.
610 * @param csrng_ctx A(n) csrng ISR context handle.
611 * @param[out] peripheral_serviced Out param for the peripheral that was
612 * serviced.
613 * @param[out] irq_serviced Out param for the IRQ that was serviced.
614 */
616 plic_isr_ctx_t plic_ctx, csrng_isr_ctx_t csrng_ctx,
617 top_earlgrey_plic_peripheral_t *peripheral_serviced,
618 dif_csrng_irq_t *irq_serviced);
619
620/**
621 * Services an edn IRQ.
622 *
623 * @param plic_ctx A PLIC ISR context handle.
624 * @param edn_ctx A(n) edn ISR context handle.
625 * @param[out] peripheral_serviced Out param for the peripheral that was
626 * serviced.
627 * @param[out] irq_serviced Out param for the IRQ that was serviced.
628 */
630 top_earlgrey_plic_peripheral_t *peripheral_serviced,
631 dif_edn_irq_t *irq_serviced);
632
633/**
634 * Services an entropy_src IRQ.
635 *
636 * @param plic_ctx A PLIC ISR context handle.
637 * @param entropy_src_ctx A(n) entropy_src ISR context handle.
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, entropy_src_isr_ctx_t entropy_src_ctx,
644 top_earlgrey_plic_peripheral_t *peripheral_serviced,
645 dif_entropy_src_irq_t *irq_serviced);
646
647/**
648 * Services an flash_ctrl IRQ.
649 *
650 * @param plic_ctx A PLIC ISR context handle.
651 * @param flash_ctrl_ctx A(n) flash_ctrl ISR context handle.
652 * @param mute_status_irq set to true to disable the serviced status type IRQ.
653 * @param[out] peripheral_serviced Out param for the peripheral that was
654 * serviced.
655 * @param[out] irq_serviced Out param for the IRQ that was serviced.
656 */
658 plic_isr_ctx_t plic_ctx, flash_ctrl_isr_ctx_t flash_ctrl_ctx,
659 bool mute_status_irq, top_earlgrey_plic_peripheral_t *peripheral_serviced,
660 dif_flash_ctrl_irq_t *irq_serviced);
661
662/**
663 * Services an gpio IRQ.
664 *
665 * @param plic_ctx A PLIC ISR context handle.
666 * @param gpio_ctx A(n) gpio ISR context handle.
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 top_earlgrey_plic_peripheral_t *peripheral_serviced,
673 dif_gpio_irq_t *irq_serviced);
674
675/**
676 * Services an hmac IRQ.
677 *
678 * @param plic_ctx A PLIC ISR context handle.
679 * @param hmac_ctx A(n) hmac ISR context handle.
680 * @param mute_status_irq set to true to disable the serviced status type IRQ.
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 bool mute_status_irq,
687 top_earlgrey_plic_peripheral_t *peripheral_serviced,
688 dif_hmac_irq_t *irq_serviced);
689
690/**
691 * Services an i2c IRQ.
692 *
693 * @param plic_ctx A PLIC ISR context handle.
694 * @param i2c_ctx A(n) i2c ISR context handle.
695 * @param mute_status_irq set to true to disable the serviced status type IRQ.
696 * @param[out] peripheral_serviced Out param for the peripheral that was
697 * serviced.
698 * @param[out] irq_serviced Out param for the IRQ that was serviced.
699 */
701 bool mute_status_irq,
702 top_earlgrey_plic_peripheral_t *peripheral_serviced,
703 dif_i2c_irq_t *irq_serviced);
704
705/**
706 * Services an keymgr IRQ.
707 *
708 * @param plic_ctx A PLIC ISR context handle.
709 * @param keymgr_ctx A(n) keymgr ISR context handle.
710 * @param[out] peripheral_serviced Out param for the peripheral that was
711 * serviced.
712 * @param[out] irq_serviced Out param for the IRQ that was serviced.
713 */
715 plic_isr_ctx_t plic_ctx, keymgr_isr_ctx_t keymgr_ctx,
716 top_earlgrey_plic_peripheral_t *peripheral_serviced,
717 dif_keymgr_irq_t *irq_serviced);
718
719/**
720 * Services an kmac IRQ.
721 *
722 * @param plic_ctx A PLIC ISR context handle.
723 * @param kmac_ctx A(n) kmac ISR context handle.
724 * @param mute_status_irq set to true to disable the serviced status type IRQ.
725 * @param[out] peripheral_serviced Out param for the peripheral that was
726 * serviced.
727 * @param[out] irq_serviced Out param for the IRQ that was serviced.
728 */
730 bool mute_status_irq,
731 top_earlgrey_plic_peripheral_t *peripheral_serviced,
732 dif_kmac_irq_t *irq_serviced);
733
734/**
735 * Services an otbn IRQ.
736 *
737 * @param plic_ctx A PLIC ISR context handle.
738 * @param otbn_ctx A(n) otbn ISR context handle.
739 * @param[out] peripheral_serviced Out param for the peripheral that was
740 * serviced.
741 * @param[out] irq_serviced Out param for the IRQ that was serviced.
742 */
744 top_earlgrey_plic_peripheral_t *peripheral_serviced,
745 dif_otbn_irq_t *irq_serviced);
746
747/**
748 * Services an otp_ctrl IRQ.
749 *
750 * @param plic_ctx A PLIC ISR context handle.
751 * @param otp_ctrl_ctx A(n) otp_ctrl 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, otp_ctrl_isr_ctx_t otp_ctrl_ctx,
758 top_earlgrey_plic_peripheral_t *peripheral_serviced,
759 dif_otp_ctrl_irq_t *irq_serviced);
760
761/**
762 * Services an pattgen IRQ.
763 *
764 * @param plic_ctx A PLIC ISR context handle.
765 * @param pattgen_ctx A(n) pattgen 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, pattgen_isr_ctx_t pattgen_ctx,
772 top_earlgrey_plic_peripheral_t *peripheral_serviced,
773 dif_pattgen_irq_t *irq_serviced);
774
775/**
776 * Services an pwrmgr IRQ.
777 *
778 * @param plic_ctx A PLIC ISR context handle.
779 * @param pwrmgr_ctx A(n) pwrmgr ISR context handle.
780 * @param[out] peripheral_serviced Out param for the peripheral that was
781 * serviced.
782 * @param[out] irq_serviced Out param for the IRQ that was serviced.
783 */
785 plic_isr_ctx_t plic_ctx, pwrmgr_isr_ctx_t pwrmgr_ctx,
786 top_earlgrey_plic_peripheral_t *peripheral_serviced,
787 dif_pwrmgr_irq_t *irq_serviced);
788
789/**
790 * Services an rv_timer IRQ.
791 *
792 * @param plic_ctx A PLIC ISR context handle.
793 * @param rv_timer_ctx A(n) rv_timer ISR context handle.
794 * @param[out] peripheral_serviced Out param for the peripheral that was
795 * serviced.
796 * @param[out] irq_serviced Out param for the IRQ that was serviced.
797 */
799 plic_isr_ctx_t plic_ctx, rv_timer_isr_ctx_t rv_timer_ctx,
800 top_earlgrey_plic_peripheral_t *peripheral_serviced,
801 dif_rv_timer_irq_t *irq_serviced);
802
803/**
804 * Services an sensor_ctrl IRQ.
805 *
806 * @param plic_ctx A PLIC ISR context handle.
807 * @param sensor_ctrl_ctx A(n) sensor_ctrl ISR context handle.
808 * @param[out] peripheral_serviced Out param for the peripheral that was
809 * serviced.
810 * @param[out] irq_serviced Out param for the IRQ that was serviced.
811 */
813 plic_isr_ctx_t plic_ctx, sensor_ctrl_isr_ctx_t sensor_ctrl_ctx,
814 top_earlgrey_plic_peripheral_t *peripheral_serviced,
815 dif_sensor_ctrl_irq_t *irq_serviced);
816
817/**
818 * Services an spi_device IRQ.
819 *
820 * @param plic_ctx A PLIC ISR context handle.
821 * @param spi_device_ctx A(n) spi_device ISR context handle.
822 * @param mute_status_irq set to true to disable the serviced status type IRQ.
823 * @param[out] peripheral_serviced Out param for the peripheral that was
824 * serviced.
825 * @param[out] irq_serviced Out param for the IRQ that was serviced.
826 */
828 plic_isr_ctx_t plic_ctx, spi_device_isr_ctx_t spi_device_ctx,
829 bool mute_status_irq, top_earlgrey_plic_peripheral_t *peripheral_serviced,
830 dif_spi_device_irq_t *irq_serviced);
831
832/**
833 * Services an spi_host IRQ.
834 *
835 * @param plic_ctx A PLIC ISR context handle.
836 * @param spi_host_ctx A(n) spi_host ISR context handle.
837 * @param mute_status_irq set to true to disable the serviced status type IRQ.
838 * @param[out] peripheral_serviced Out param for the peripheral that was
839 * serviced.
840 * @param[out] irq_serviced Out param for the IRQ that was serviced.
841 */
843 plic_isr_ctx_t plic_ctx, spi_host_isr_ctx_t spi_host_ctx,
844 bool mute_status_irq, top_earlgrey_plic_peripheral_t *peripheral_serviced,
845 dif_spi_host_irq_t *irq_serviced);
846
847/**
848 * Services an sysrst_ctrl IRQ.
849 *
850 * @param plic_ctx A PLIC ISR context handle.
851 * @param sysrst_ctrl_ctx A(n) sysrst_ctrl ISR context handle.
852 * @param mute_status_irq set to true to disable the serviced status type IRQ.
853 * @param[out] peripheral_serviced Out param for the peripheral that was
854 * serviced.
855 * @param[out] irq_serviced Out param for the IRQ that was serviced.
856 */
858 plic_isr_ctx_t plic_ctx, sysrst_ctrl_isr_ctx_t sysrst_ctrl_ctx,
859 bool mute_status_irq, top_earlgrey_plic_peripheral_t *peripheral_serviced,
860 dif_sysrst_ctrl_irq_t *irq_serviced);
861
862/**
863 * Services an uart IRQ.
864 *
865 * @param plic_ctx A PLIC ISR context handle.
866 * @param uart_ctx A(n) uart ISR context handle.
867 * @param mute_status_irq set to true to disable the serviced status type IRQ.
868 * @param[out] peripheral_serviced Out param for the peripheral that was
869 * serviced.
870 * @param[out] irq_serviced Out param for the IRQ that was serviced.
871 */
873 bool mute_status_irq,
874 top_earlgrey_plic_peripheral_t *peripheral_serviced,
875 dif_uart_irq_t *irq_serviced);
876
877/**
878 * Services an usbdev IRQ.
879 *
880 * @param plic_ctx A PLIC ISR context handle.
881 * @param usbdev_ctx A(n) usbdev ISR context handle.
882 * @param mute_status_irq set to true to disable the serviced status type IRQ.
883 * @param[out] peripheral_serviced Out param for the peripheral that was
884 * serviced.
885 * @param[out] irq_serviced Out param for the IRQ that was serviced.
886 */
888 plic_isr_ctx_t plic_ctx, usbdev_isr_ctx_t usbdev_ctx, bool mute_status_irq,
889 top_earlgrey_plic_peripheral_t *peripheral_serviced,
890 dif_usbdev_irq_t *irq_serviced);
891
892#endif // OPENTITAN_SW_DEVICE_LIB_TESTING_AUTOGEN_ISR_TESTUTILS_H_