1 //------------------------------------------------------------------------------
2 // Copyright 2012 (c) Silicon Laboratories Inc.
3 //
4 // SPDX-License-Identifier: Zlib
5 //
6 // This siHAL software is provided 'as-is', without any express or implied
7 // warranty. In no event will the authors be held liable for any damages
8 // arising from the use of this software.
9 //
10 // Permission is granted to anyone to use this software for any purpose,
11 // including commercial applications, and to alter it and redistribute it
12 // freely, subject to the following restrictions:
13 //
14 // 1. The origin of this software must not be misrepresented; you must not
15 //    claim that you wrote the original software. If you use this software
16 //    in a product, an acknowledgment in the product documentation would be
17 //    appreciated but is not required.
18 // 2. Altered source versions must be plainly marked as such, and must not be
19 //    misrepresented as being the original software.
20 // 3. This notice may not be removed or altered from any source distribution.
21 //------------------------------------------------------------------------------
22 //
23 // This file applies to the SIM3U1XX_LOCK_A module
24 //
25 // Version: 1
26 
27 #ifndef __SI32_LOCK_A_SUPPORT_H__
28 #define __SI32_LOCK_A_SUPPORT_H__
29 
30 #include <stdint.h>
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
36 //-----------------------------------------------------------------------------
37 // Define Lock/Unlock Values and Global Mask
38 
39 #define SI32_LOCK_A_LOCK_VALUE      0x00
40 #define SI32_LOCK_A_UNLOCK_VALUE_1  0xA5
41 #define SI32_LOCK_A_UNLOCK_VALUE_2  0xF1
42 
43 #define SI32_LOCK_A_PERIPHLOCK0_ALL_LOCKS_MASK  0x17FFFFFF
44 
45 //-----------------------------------------------------------------------------
46 // Define the LOCK Enum type
47 
48 typedef enum SI32_LOCK_A_Enum
49 {
50   SI32_LOCK_A_SELECT_USART_LOCK    = 0,
51   SI32_LOCK_A_SELECT_SPI_LOCK      = 1,
52   SI32_LOCK_A_SELECT_I2C_LOCK      = 2,
53   SI32_LOCK_A_SELECT_PCA_LOCK      = 3,
54   SI32_LOCK_A_SELECT_TIMER_LOCK    = 4,
55   SI32_LOCK_A_SELECT_USB0_LOCK     = 5,
56   SI32_LOCK_A_SELECT_SARADC_LOCK   = 6,
57   SI32_LOCK_A_SELECT_SSG0_LOCK     = 7,
58   SI32_LOCK_A_SELECT_CMP_LOCK      = 8,
59   SI32_LOCK_A_SELECT_CS0_LOCK      = 9,
60   SI32_LOCK_A_SELECT_EMIF_LOCK     = 10,
61   SI32_LOCK_A_SELECT_AES0_LOCK     = 11,
62   SI32_LOCK_A_SELECT_CRC0_LOCK     = 12,
63   SI32_LOCK_A_SELECT_RTC0_LOCK     = 13,
64   SI32_LOCK_A_SELECT_CLKRST_LOCK   = 14,
65   SI32_LOCK_A_SELECT_VDDMON_LOCK   = 15,
66   SI32_LOCK_A_SELECT_IDAC_LOCK     = 16,
67   SI32_LOCK_A_SELECT_DMACTRL_LOCK  = 17,
68   SI32_LOCK_A_SELECT_DMAXBAR_LOCK  = 18,
69   SI32_LOCK_A_SELECT_LPT0_LOCK     = 19,
70   SI32_LOCK_A_SELECT_VREF_LOCK     = 20,
71   SI32_LOCK_A_SELECT_I2S0_LOCK     = 21,
72   SI32_LOCK_A_SELECT_PLL_LOCK      = 22,
73   SI32_LOCK_A_SELECT_EXTOSC_LOCK   = 23,
74   SI32_LOCK_A_SELECT_VREG5_LOCK    = 24,
75   SI32_LOCK_A_SELECT_LPOSC_LOCK    = 25,
76   SI32_LOCK_A_SELECT_EXTREG_LOCK   = 26,
77   // Reserved 27
78   SI32_LOCK_A_SELECT_IVC0_LOCK     = 28,
79   // Reserved 29-31
80 
81   SI32_LOCK_A_SELECT_PMU_LOCK      = 32
82 } SI32_LOCK_A_Enum_Type;
83 
84 //-----------------------------------------------------------------------------
85 
86 #ifdef __cplusplus
87 }
88 #endif
89 
90 #endif // __SI32_LOCK_A_SUPPORT_H__
91 
92 //-eof--------------------------------------------------------------------------
93