Software APIs
clkmgr_off_trans_impl.h
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_TESTS_CLKMGR_OFF_TRANS_IMPL_H_
6 #define OPENTITAN_SW_DEVICE_TESTS_CLKMGR_OFF_TRANS_IMPL_H_
7 
8 #include <stdbool.h>
9 
11 
12 /**
13  * Type of IP block to be tested; transactions to block(s) of the given
14  * type will be attempted whilst its hintable clock is off.
15  *
16  * Transactions to IP block(s) of the other types are also attempted to
17  * check that they remain functional throughout.
18  */
19 typedef enum test_trans_block {
20  kTestTransFirst = 0u,
21  // List of types of IP block with hintable clocks.
22  kTestTransAes = kTestTransFirst,
23  kTestTransHmac,
24  kTestTransKmac,
25  kTestTransOtbn,
26  // Number of types of IP block.
27  kTestTransCount
28 } test_trans_block_t;
29 
30 bool execute_off_trans_test(test_trans_block_t block);
31 
32 #endif // OPENTITAN_SW_DEVICE_TESTS_CLKMGR_OFF_TRANS_IMPL_H_