Software APIs
otp_fi.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_PENETRATIONTESTS_FIRMWARE_FI_OTP_FI_H_
6 #define OPENTITAN_SW_DEVICE_TESTS_PENETRATIONTESTS_FIRMWARE_FI_OTP_FI_H_
7 
8 #include "sw/device/lib/base/status.h"
9 #include "sw/device/lib/ujson/ujson.h"
10 
11 /**
12  * Otp HW Cfg FI test.
13  *
14  * Tests whether a fault into the HW CFG partition is possible.
15  *
16  * @param uj An initialized uJSON context.
17  * @return OK or error.
18  */
19 status_t handle_otp_fi_hw_cfg(ujson_t *uj);
20 
21 /**
22  * Initializes the trigger and configures the device for the Otp FI test.
23  *
24  * @param uj An initialized uJSON context.
25  * @return OK or error.
26  */
27 status_t handle_otp_fi_init(ujson_t *uj);
28 
29 /**
30  * Otp LC FI test.
31  *
32  * Tests whether a fault into the LifeCycle partition is possible.
33  *
34  * @param uj An initialized uJSON context.
35  * @return OK or error.
36  */
37 status_t handle_otp_fi_life_cycle(ujson_t *uj);
38 
39 /**
40  * Otp SW Cfg FI test.
41  *
42  * Tests whether a fault into the SW CFG partition is possible.
43  *
44  * @param uj An initialized uJSON context.
45  * @return OK or error.
46  */
47 status_t handle_otp_fi_owner_sw_cfg(ujson_t *uj);
48 
49 /**
50  * Otp Vendor FI test.
51  *
52  * Tests whether a fault into the vendor partition is possible.
53  *
54  * @param uj An initialized uJSON context.
55  * @return OK or error.
56  */
57 status_t handle_otp_fi_vendor_test(ujson_t *uj);
58 
59 /**
60  * Otp FI command handler.
61  *
62  * Command handler for the Otp FI command.
63  *
64  * @param uj An initialized uJSON context.
65  * @return OK or error.
66  */
67 status_t handle_otp_fi(ujson_t *uj);
68 
69 #endif // OPENTITAN_SW_DEVICE_TESTS_PENETRATIONTESTS_FIRMWARE_FI_OTP_FI_H_