1 //
2 // Copyright (c) 2010-2022 Antmicro
3 //
4 // This file is licensed under the MIT License.
5 // Full license text is available in 'licenses/MIT.txt'.
6 //
7 
8 namespace Antmicro.Renode.Peripherals.Miscellaneous
9 {
10     public enum OpenTitan_LifeCycleState
11     {
12 #pragma warning disable format
13         Raw             = 0x00,  // Raw life cycle state after fabrication where all functions are disabled.
14         TestUnlocked0   = 0x01,  // Unlocked test state where debug functions are enabled.
15         TestLocked0     = 0x02,  // Locked test state where where all functions are disabled.
16         TestUnlocked1   = 0x03,  // Unlocked test state where debug functions are enabled.
17         TestLocked1     = 0x04,  // Locked test state where where all functions are disabled.
18         TestUnlocked2   = 0x05,  // Unlocked test state where debug functions are enabled.
19         TestLocked2     = 0x06,  // Locked test state where debug all functions are disabled.
20         TestUnlocked3   = 0x07,  // Unlocked test state where debug functions are enabled.
21         TestLocked3     = 0x08,  // Locked test state where debug all functions are disabled.
22         TestUnlocked4   = 0x09,  // Unlocked test state where debug functions are enabled.
23         TestLocked4     = 0x0a,  // Locked test state where debug all functions are disabled.
24         TestUnlocked5   = 0x0b,  // Unlocked test state where debug functions are enabled.
25         TestLocked5     = 0x0c,  // Locked test state where debug all functions are disabled.
26         TestUnlocked6   = 0x0d,  // Unlocked test state where debug functions are enabled.
27         TestLocked6     = 0x0e,  // Locked test state where debug all functions are disabled.
28         TestUnlocked7   = 0x0f,  // Unlocked test state where debug functions are enabled.
29         Dev             = 0x10,  // Development life cycle state where limited debug functionality is available.
30         Prod            = 0x11,  // Production life cycle state.
31         Prod_end        = 0x12,  // Same as PROD, but transition into RMA is not possible from this state.
32         Rma             = 0x13,  // RMA life cycle state.
33         Scrap           = 0x14,  // SCRAP life cycle state where all functions are disabled.
34         Post_transition = 0x15,  // This state is temporary and behaves the same way as SCRAP.
35         Escalate        = 0x16,  // This state is temporary and behaves the same way as SCRAP.
36         Invalid         = 0x17,  // This state is reported when the life cycle state encoding is invalid. This state is temporary and behaves the same way as SCRAP.
37 #pragma warning restore format
38     }
39 }
40