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 SIM3L1XX_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  0x787FFFFF
44 #define SI32_LOCK_A_PERIPHLOCK1_ALL_LOCKS_MASK  0x00000001
45 
46 //-----------------------------------------------------------------------------
47 // Define the LOCK Enum type
48 
49 typedef enum SI32_LOCK_A_Enum
50 {
51   SI32_LOCK_A_SELECT_USART_LOCK    = 0,
52   SI32_LOCK_A_SELECT_SPI_LOCK      = 1,
53   SI32_LOCK_A_SELECT_I2C_LOCK      = 2,
54   SI32_LOCK_A_SELECT_PCA_LOCK      = 3,
55   SI32_LOCK_A_SELECT_TIMER_LOCK    = 4,
56   SI32_LOCK_A_SELECT_SARADC_LOCK   = 5,
57   SI32_LOCK_A_SELECT_CMP_LOCK      = 6,
58   SI32_LOCK_A_SELECT_AES_LOCK      = 7,
59   SI32_LOCK_A_SELECT_CRC_LOCK      = 8,
60   SI32_LOCK_A_SELECT_RTC_LOCK      = 9,
61   SI32_LOCK_A_SELECT_RSTSRC_LOCK   = 10,
62   SI32_LOCK_A_SELECT_CLKCTRL_LOCK  = 11,
63   SI32_LOCK_A_SELECT_VMON_LOCK     = 12,
64   SI32_LOCK_A_SELECT_IDAC_LOCK     = 13,
65   SI32_LOCK_A_SELECT_DMACTRL_LOCK  = 14,
66   SI32_LOCK_A_SELECT_DMAXBAR_LOCK  = 15,
67   SI32_LOCK_A_SELECT_LPT_LOCK      = 16,
68   SI32_LOCK_A_SELECT_LDO_LOCK      = 17,
69   SI32_LOCK_A_SELECT_PLL_LOCK      = 18,
70   SI32_LOCK_A_SELECT_EXTOSC_LOCK   = 19,
71   SI32_LOCK_A_SELECT_PVT_LOCK      = 20,
72   SI32_LOCK_A_SELECT_LPOSC_LOCK    = 21,
73   SI32_LOCK_A_SELECT_ACCTR_LOCK    = 22,
74   // Reserved 23-26
75   SI32_LOCK_A_SELECT_PMU_LOCK      = 27,
76   SI32_LOCK_A_SELECT_DTM_LOCK      = 28,
77   SI32_LOCK_A_SELECT_LCD_LOCK      = 29,
78   SI32_LOCK_A_SELECT_DCDC_LOCK     = 30,
79   // Reserved 31
80   SI32_LOCK_A_SELECT_ENCDEC_LOCK   = 32,
81 } SI32_LOCK_A_Enum_Type;
82 
83 //-----------------------------------------------------------------------------
84 
85 #ifdef __cplusplus
86 }
87 #endif
88 
89 #endif // __SI32_LOCK_A_SUPPORT_H__
90 
91 //-eof--------------------------------------------------------------------------
92