Software APIs
mock_lifecycle.cc
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 #include "sw/device/silicon_creator/lib/drivers/mock_lifecycle.h"
6 
7 namespace rom_test {
8 extern "C" {
9 lifecycle_state_t lifecycle_state_get(void) {
10  return MockLifecycle::Instance().State();
11 }
12 
13 uint32_t lifecycle_raw_state_get(void) {
14  return MockLifecycle::Instance().RawState();
15 }
16 
17 void lifecycle_device_id_get(lifecycle_device_id_t *device_id) {
18  MockLifecycle::Instance().DeviceId(device_id);
19 }
20 
21 void lifecycle_hw_rev_get(lifecycle_hw_rev_t *hw_rev) {
22  MockLifecycle::Instance().HwRev(hw_rev);
23 }
24 
25 hardened_bool_t lifecycle_din_eq(lifecycle_device_id_t *id, uint32_t *din) {
26  if (id->device_id[1] == din[0] && id->device_id[2] == din[1])
27  return kHardenedBoolTrue;
28  return kHardenedBoolFalse;
29 }
30 } // extern "C"
31 } // namespace rom_test