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 // Script: 0.61
26 // Version: 1
27 
28 #ifndef __SI32_LOCK_A_REGISTERS_H__
29 #define __SI32_LOCK_A_REGISTERS_H__
30 
31 #include <stdint.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 struct SI32_LOCK_A_KEY_Struct
38 {
39    union
40    {
41       struct
42       {
43          // Peripheral Lock Mask Key
44          volatile uint8_t KEY_BITS;
45                   uint32_t reserved0: 24;
46       };
47       volatile uint32_t U32;
48    };
49 };
50 
51 #define SI32_LOCK_A_KEY_KEY_MASK  0x000000FF
52 #define SI32_LOCK_A_KEY_KEY_SHIFT  0
53 // PERIPHLOCK registers are locked and no valid values have been written to KEY.
54 #define SI32_LOCK_A_KEY_KEY_LOCKED_VALUE  0
55 #define SI32_LOCK_A_KEY_KEY_LOCKED_U32 \
56    (SI32_LOCK_A_KEY_KEY_LOCKED_VALUE << SI32_LOCK_A_KEY_KEY_SHIFT)
57 // PERIPHLOCK registers are locked and the first valid value (0xA5) has been
58 // written to KEY.
59 #define SI32_LOCK_A_KEY_KEY_INTERMEDIATE_VALUE  1
60 #define SI32_LOCK_A_KEY_KEY_INTERMEDIATE_U32 \
61    (SI32_LOCK_A_KEY_KEY_INTERMEDIATE_VALUE << SI32_LOCK_A_KEY_KEY_SHIFT)
62 // PERIPHLOCK registers are unlocked. Any subsequent writes to KEY will lock the
63 // interface.
64 #define SI32_LOCK_A_KEY_KEY_UNLOCKED_VALUE  2
65 #define SI32_LOCK_A_KEY_KEY_UNLOCKED_U32 \
66    (SI32_LOCK_A_KEY_KEY_UNLOCKED_VALUE << SI32_LOCK_A_KEY_KEY_SHIFT)
67 
68 
69 
70 struct SI32_LOCK_A_PERIPHLOCK0_Struct
71 {
72    union
73    {
74       struct
75       {
76          // USART/UART Module Lock Enable
77          volatile uint32_t USARTL: 1;
78          // SPI Module Lock Enable
79          volatile uint32_t SPIL: 1;
80          // I2C Module Lock Enable
81          volatile uint32_t I2CL: 1;
82          // PCA Module Lock Enable
83          volatile uint32_t PCAL: 1;
84          // Timer Module Lock Enable
85          volatile uint32_t TIMERL: 1;
86          // SARADC Module Lock Enable
87          volatile uint32_t SARADCL: 1;
88          // Comparator Module Lock Enable
89          volatile uint32_t CMPL: 1;
90          // AES Module Lock Enable
91          volatile uint32_t AESL: 1;
92          // CRC Module Lock Enable
93          volatile uint32_t CRCL: 1;
94          // RTC Module Lock Enable
95          volatile uint32_t RTCL: 1;
96          // Reset Sources Module Lock Enable
97          volatile uint32_t RSTSRCL: 1;
98          // Clock Control Lock Enable
99          volatile uint32_t CLKCTRL: 1;
100          // Voltage Supply Monitor Module Lock Enable
101          volatile uint32_t VMONL: 1;
102          // IDAC Module Lock Enable
103          volatile uint32_t IDACL: 1;
104          // DMA Controller Module Lock Enable
105          volatile uint32_t DMACTRLL: 1;
106          // DMA Crossbar Module Lock Enable
107          volatile uint32_t DMAXBARL: 1;
108          // Low Power Timer Module Lock Enable
109          volatile uint32_t LPTL: 1;
110          // Voltage Reference Module Lock Enable
111          volatile uint32_t LDOL: 1;
112          // PLL Module Lock Enable
113          volatile uint32_t PLLL: 1;
114          // External Oscillator Module Lock Enable
115          volatile uint32_t EXTOSCL: 1;
116          // PVT Oscillator Module Lock Enable
117          volatile uint32_t PVTL: 1;
118          // Low Power Oscillator Lock Enable
119          volatile uint32_t LPOSCL: 1;
120          // Advanced Capture Counter  Module Lock
121          volatile uint32_t ACCTRL: 1;
122                   uint32_t reserved0: 4;
123          // PMU Module Lock Enable
124          volatile uint32_t PMUL: 1;
125          // DTM Module Lock
126          volatile uint32_t DTML: 1;
127          // LCD Module Lock
128          volatile uint32_t LCDL: 1;
129          // DC-DC Converter Module Lock
130          volatile uint32_t DCDCL: 1;
131                   uint32_t reserved1: 1;
132       };
133       volatile uint32_t U32;
134    };
135 };
136 
137 #define SI32_LOCK_A_PERIPHLOCK0_USARTL_MASK  0x00000001
138 #define SI32_LOCK_A_PERIPHLOCK0_USARTL_SHIFT  0
139 // Unlock the USART0 and UART0 Module registers.
140 #define SI32_LOCK_A_PERIPHLOCK0_USARTL_UNLOCKED_VALUE  0
141 #define SI32_LOCK_A_PERIPHLOCK0_USARTL_UNLOCKED_U32 \
142    (SI32_LOCK_A_PERIPHLOCK0_USARTL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_USARTL_SHIFT)
143 // Lock the USART0 and UART0 Module registers (bits can still be read).
144 #define SI32_LOCK_A_PERIPHLOCK0_USARTL_LOCKED_VALUE  1
145 #define SI32_LOCK_A_PERIPHLOCK0_USARTL_LOCKED_U32 \
146    (SI32_LOCK_A_PERIPHLOCK0_USARTL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_USARTL_SHIFT)
147 
148 #define SI32_LOCK_A_PERIPHLOCK0_SPIL_MASK  0x00000002
149 #define SI32_LOCK_A_PERIPHLOCK0_SPIL_SHIFT  1
150 // Unlock the SPI0 and SPI1 Module registers.
151 #define SI32_LOCK_A_PERIPHLOCK0_SPIL_UNLOCKED_VALUE  0
152 #define SI32_LOCK_A_PERIPHLOCK0_SPIL_UNLOCKED_U32 \
153    (SI32_LOCK_A_PERIPHLOCK0_SPIL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_SPIL_SHIFT)
154 // Lock the SPI0 and SPI1 Module registers (bits can still be read).
155 #define SI32_LOCK_A_PERIPHLOCK0_SPIL_LOCKED_VALUE  1
156 #define SI32_LOCK_A_PERIPHLOCK0_SPIL_LOCKED_U32 \
157    (SI32_LOCK_A_PERIPHLOCK0_SPIL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_SPIL_SHIFT)
158 
159 #define SI32_LOCK_A_PERIPHLOCK0_I2CL_MASK  0x00000004
160 #define SI32_LOCK_A_PERIPHLOCK0_I2CL_SHIFT  2
161 // Unlock the I2C0 Module registers.
162 #define SI32_LOCK_A_PERIPHLOCK0_I2CL_UNLOCKED_VALUE  0
163 #define SI32_LOCK_A_PERIPHLOCK0_I2CL_UNLOCKED_U32 \
164    (SI32_LOCK_A_PERIPHLOCK0_I2CL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_I2CL_SHIFT)
165 // Lock the I2C0 Module registers (bits can still be read).
166 #define SI32_LOCK_A_PERIPHLOCK0_I2CL_LOCKED_VALUE  1
167 #define SI32_LOCK_A_PERIPHLOCK0_I2CL_LOCKED_U32 \
168    (SI32_LOCK_A_PERIPHLOCK0_I2CL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_I2CL_SHIFT)
169 
170 #define SI32_LOCK_A_PERIPHLOCK0_PCAL_MASK  0x00000008
171 #define SI32_LOCK_A_PERIPHLOCK0_PCAL_SHIFT  3
172 // Unlock the EPCA0 Module registers.
173 #define SI32_LOCK_A_PERIPHLOCK0_PCAL_UNLOCKED_VALUE  0
174 #define SI32_LOCK_A_PERIPHLOCK0_PCAL_UNLOCKED_U32 \
175    (SI32_LOCK_A_PERIPHLOCK0_PCAL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_PCAL_SHIFT)
176 // Lock the EPCA0 Module registers (bits can still be read).
177 #define SI32_LOCK_A_PERIPHLOCK0_PCAL_LOCKED_VALUE  1
178 #define SI32_LOCK_A_PERIPHLOCK0_PCAL_LOCKED_U32 \
179    (SI32_LOCK_A_PERIPHLOCK0_PCAL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_PCAL_SHIFT)
180 
181 #define SI32_LOCK_A_PERIPHLOCK0_TIMERL_MASK  0x00000010
182 #define SI32_LOCK_A_PERIPHLOCK0_TIMERL_SHIFT  4
183 // Unlock the TIMER0, TIMER1, and TIMER2 Module registers.
184 #define SI32_LOCK_A_PERIPHLOCK0_TIMERL_UNLOCKED_VALUE  0
185 #define SI32_LOCK_A_PERIPHLOCK0_TIMERL_UNLOCKED_U32 \
186    (SI32_LOCK_A_PERIPHLOCK0_TIMERL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_TIMERL_SHIFT)
187 // Lock the TIMER0, TIMER1, and TIMER2 Module registers (bits can still be read).
188 #define SI32_LOCK_A_PERIPHLOCK0_TIMERL_LOCKED_VALUE  1
189 #define SI32_LOCK_A_PERIPHLOCK0_TIMERL_LOCKED_U32 \
190    (SI32_LOCK_A_PERIPHLOCK0_TIMERL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_TIMERL_SHIFT)
191 
192 #define SI32_LOCK_A_PERIPHLOCK0_SARADCL_MASK  0x00000020
193 #define SI32_LOCK_A_PERIPHLOCK0_SARADCL_SHIFT  5
194 // Unlock the SARADC0 Module registers.
195 #define SI32_LOCK_A_PERIPHLOCK0_SARADCL_UNLOCKED_VALUE  0
196 #define SI32_LOCK_A_PERIPHLOCK0_SARADCL_UNLOCKED_U32 \
197    (SI32_LOCK_A_PERIPHLOCK0_SARADCL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_SARADCL_SHIFT)
198 // Lock the SARADC0 Module registers (bits can still be read).
199 #define SI32_LOCK_A_PERIPHLOCK0_SARADCL_LOCKED_VALUE  1
200 #define SI32_LOCK_A_PERIPHLOCK0_SARADCL_LOCKED_U32 \
201    (SI32_LOCK_A_PERIPHLOCK0_SARADCL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_SARADCL_SHIFT)
202 
203 #define SI32_LOCK_A_PERIPHLOCK0_CMPL_MASK  0x00000040
204 #define SI32_LOCK_A_PERIPHLOCK0_CMPL_SHIFT  6
205 // Unlock the Comparator 0 and Comparator 1 Module registers.
206 #define SI32_LOCK_A_PERIPHLOCK0_CMPL_UNLOCKED_VALUE  0
207 #define SI32_LOCK_A_PERIPHLOCK0_CMPL_UNLOCKED_U32 \
208    (SI32_LOCK_A_PERIPHLOCK0_CMPL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_CMPL_SHIFT)
209 // Lock the Comparator 0 and Comparator 1 Module registers (bits can still be
210 // read).
211 #define SI32_LOCK_A_PERIPHLOCK0_CMPL_LOCKED_VALUE  1
212 #define SI32_LOCK_A_PERIPHLOCK0_CMPL_LOCKED_U32 \
213    (SI32_LOCK_A_PERIPHLOCK0_CMPL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_CMPL_SHIFT)
214 
215 #define SI32_LOCK_A_PERIPHLOCK0_AESL_MASK  0x00000080
216 #define SI32_LOCK_A_PERIPHLOCK0_AESL_SHIFT  7
217 // Unlock the AES0 Module registers.
218 #define SI32_LOCK_A_PERIPHLOCK0_AESL_UNLOCKED_VALUE  0
219 #define SI32_LOCK_A_PERIPHLOCK0_AESL_UNLOCKED_U32 \
220    (SI32_LOCK_A_PERIPHLOCK0_AESL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_AESL_SHIFT)
221 // Lock the AES0 Module registers (bits can still be read).
222 #define SI32_LOCK_A_PERIPHLOCK0_AESL_LOCKED_VALUE  1
223 #define SI32_LOCK_A_PERIPHLOCK0_AESL_LOCKED_U32 \
224    (SI32_LOCK_A_PERIPHLOCK0_AESL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_AESL_SHIFT)
225 
226 #define SI32_LOCK_A_PERIPHLOCK0_CRCL_MASK  0x00000100
227 #define SI32_LOCK_A_PERIPHLOCK0_CRCL_SHIFT  8
228 // Unlock the CRC0 Module registers.
229 #define SI32_LOCK_A_PERIPHLOCK0_CRCL_UNLOCKED_VALUE  0
230 #define SI32_LOCK_A_PERIPHLOCK0_CRCL_UNLOCKED_U32 \
231    (SI32_LOCK_A_PERIPHLOCK0_CRCL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_CRCL_SHIFT)
232 // Lock the CRC0 Module registers (bits can still be read).
233 #define SI32_LOCK_A_PERIPHLOCK0_CRCL_LOCKED_VALUE  1
234 #define SI32_LOCK_A_PERIPHLOCK0_CRCL_LOCKED_U32 \
235    (SI32_LOCK_A_PERIPHLOCK0_CRCL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_CRCL_SHIFT)
236 
237 #define SI32_LOCK_A_PERIPHLOCK0_RTCL_MASK  0x00000200
238 #define SI32_LOCK_A_PERIPHLOCK0_RTCL_SHIFT  9
239 // Unlock the RTC0 Module registers.
240 #define SI32_LOCK_A_PERIPHLOCK0_RTCL_UNLOCKED_VALUE  0
241 #define SI32_LOCK_A_PERIPHLOCK0_RTCL_UNLOCKED_U32 \
242    (SI32_LOCK_A_PERIPHLOCK0_RTCL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_RTCL_SHIFT)
243 // Lock the RTC0 Module registers (bits can still be read).
244 #define SI32_LOCK_A_PERIPHLOCK0_RTCL_LOCKED_VALUE  1
245 #define SI32_LOCK_A_PERIPHLOCK0_RTCL_LOCKED_U32 \
246    (SI32_LOCK_A_PERIPHLOCK0_RTCL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_RTCL_SHIFT)
247 
248 #define SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_MASK  0x00000400
249 #define SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_SHIFT  10
250 // Unlock the Reset Sources (RSTSRC) Module registers.
251 #define SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_UNLOCKED_VALUE  0
252 #define SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_UNLOCKED_U32 \
253    (SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_SHIFT)
254 // Lock the Reset Sources (RSTSRC) Module registers (bits can still be read).
255 #define SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_LOCKED_VALUE  1
256 #define SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_LOCKED_U32 \
257    (SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_RSTSRCL_SHIFT)
258 
259 #define SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_MASK  0x00000800
260 #define SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_SHIFT  11
261 // Unlock the Clock Control (CLKCTRL)Module registers.
262 #define SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_UNLOCKED_VALUE  0
263 #define SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_UNLOCKED_U32 \
264    (SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_SHIFT)
265 // Lock the Clock Control (CLKCTRL) Module registers (bits can still be read).
266 #define SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_LOCKED_VALUE  1
267 #define SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_LOCKED_U32 \
268    (SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_CLKCTRL_SHIFT)
269 
270 #define SI32_LOCK_A_PERIPHLOCK0_VMONL_MASK  0x00001000
271 #define SI32_LOCK_A_PERIPHLOCK0_VMONL_SHIFT  12
272 // Unlock the Voltage Supply Monitor (VMON0) Module registers.
273 #define SI32_LOCK_A_PERIPHLOCK0_VMONL_UNLOCKED_VALUE  0
274 #define SI32_LOCK_A_PERIPHLOCK0_VMONL_UNLOCKED_U32 \
275    (SI32_LOCK_A_PERIPHLOCK0_VMONL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_VMONL_SHIFT)
276 // Lock the Voltage Supply Monitor (VMON0) Module registers (bits can still be
277 // read).
278 #define SI32_LOCK_A_PERIPHLOCK0_VMONL_LOCKED_VALUE  1
279 #define SI32_LOCK_A_PERIPHLOCK0_VMONL_LOCKED_U32 \
280    (SI32_LOCK_A_PERIPHLOCK0_VMONL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_VMONL_SHIFT)
281 
282 #define SI32_LOCK_A_PERIPHLOCK0_IDACL_MASK  0x00002000
283 #define SI32_LOCK_A_PERIPHLOCK0_IDACL_SHIFT  13
284 // Unlock the IDAC0 Module registers.
285 #define SI32_LOCK_A_PERIPHLOCK0_IDACL_UNLOCKED_VALUE  0
286 #define SI32_LOCK_A_PERIPHLOCK0_IDACL_UNLOCKED_U32 \
287    (SI32_LOCK_A_PERIPHLOCK0_IDACL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_IDACL_SHIFT)
288 // Lock the IDAC0 Module registers (bits can still be read).
289 #define SI32_LOCK_A_PERIPHLOCK0_IDACL_LOCKED_VALUE  1
290 #define SI32_LOCK_A_PERIPHLOCK0_IDACL_LOCKED_U32 \
291    (SI32_LOCK_A_PERIPHLOCK0_IDACL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_IDACL_SHIFT)
292 
293 #define SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_MASK  0x00004000
294 #define SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_SHIFT  14
295 // Unlock the DMA Controller (DMACTRL0) Module registers.
296 #define SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_UNLOCKED_VALUE  0
297 #define SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_UNLOCKED_U32 \
298    (SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_SHIFT)
299 // Lock the DMA Controller (DMACTRL0) Module registers (bits can still be read).
300 #define SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_LOCKED_VALUE  1
301 #define SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_LOCKED_U32 \
302    (SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_DMACTRLL_SHIFT)
303 
304 #define SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_MASK  0x00008000
305 #define SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_SHIFT  15
306 // Unlock the DMA Crossbar (DMAXBAR0) Module registers.
307 #define SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_UNLOCKED_VALUE  0
308 #define SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_UNLOCKED_U32 \
309    (SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_SHIFT)
310 // Lock the DMA Crossbar (DMAXBAR0) Module registers (bits can still be read).
311 #define SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_LOCKED_VALUE  1
312 #define SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_LOCKED_U32 \
313    (SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_DMAXBARL_SHIFT)
314 
315 #define SI32_LOCK_A_PERIPHLOCK0_LPTL_MASK  0x00010000
316 #define SI32_LOCK_A_PERIPHLOCK0_LPTL_SHIFT  16
317 // Unlock the Low Power Timer (LPTIMER0) Module registers.
318 #define SI32_LOCK_A_PERIPHLOCK0_LPTL_UNLOCKED_VALUE  0
319 #define SI32_LOCK_A_PERIPHLOCK0_LPTL_UNLOCKED_U32 \
320    (SI32_LOCK_A_PERIPHLOCK0_LPTL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_LPTL_SHIFT)
321 // Lock the Low Power Timer (LPTIMER0) Module registers (bits can still be read).
322 #define SI32_LOCK_A_PERIPHLOCK0_LPTL_LOCKED_VALUE  1
323 #define SI32_LOCK_A_PERIPHLOCK0_LPTL_LOCKED_U32 \
324    (SI32_LOCK_A_PERIPHLOCK0_LPTL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_LPTL_SHIFT)
325 
326 #define SI32_LOCK_A_PERIPHLOCK0_LDOL_MASK  0x00020000
327 #define SI32_LOCK_A_PERIPHLOCK0_LDOL_SHIFT  17
328 // Unlock the LDO0 Module registers.
329 #define SI32_LOCK_A_PERIPHLOCK0_LDOL_UNLOCKED_VALUE  0
330 #define SI32_LOCK_A_PERIPHLOCK0_LDOL_UNLOCKED_U32 \
331    (SI32_LOCK_A_PERIPHLOCK0_LDOL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_LDOL_SHIFT)
332 // Lock the LDO0 Module registers (bits can still be read).
333 #define SI32_LOCK_A_PERIPHLOCK0_LDOL_LOCKED_VALUE  1
334 #define SI32_LOCK_A_PERIPHLOCK0_LDOL_LOCKED_U32 \
335    (SI32_LOCK_A_PERIPHLOCK0_LDOL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_LDOL_SHIFT)
336 
337 #define SI32_LOCK_A_PERIPHLOCK0_PLLL_MASK  0x00040000
338 #define SI32_LOCK_A_PERIPHLOCK0_PLLL_SHIFT  18
339 // Unlock the PLL0 Module registers.
340 #define SI32_LOCK_A_PERIPHLOCK0_PLLL_UNLOCKED_VALUE  0
341 #define SI32_LOCK_A_PERIPHLOCK0_PLLL_UNLOCKED_U32 \
342    (SI32_LOCK_A_PERIPHLOCK0_PLLL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_PLLL_SHIFT)
343 // Lock the PLL0 Module registers (bits can still be read).
344 #define SI32_LOCK_A_PERIPHLOCK0_PLLL_LOCKED_VALUE  1
345 #define SI32_LOCK_A_PERIPHLOCK0_PLLL_LOCKED_U32 \
346    (SI32_LOCK_A_PERIPHLOCK0_PLLL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_PLLL_SHIFT)
347 
348 #define SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_MASK  0x00080000
349 #define SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_SHIFT  19
350 // Unlock the External Oscillator (EXTOSC0) Module registers.
351 #define SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_UNLOCKED_VALUE  0
352 #define SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_UNLOCKED_U32 \
353    (SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_SHIFT)
354 // Lock the External Oscillator (EXTOSC0) Module registers (bits can still be
355 // read).
356 #define SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_LOCKED_VALUE  1
357 #define SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_LOCKED_U32 \
358    (SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_EXTOSCL_SHIFT)
359 
360 #define SI32_LOCK_A_PERIPHLOCK0_PVTL_MASK  0x00100000
361 #define SI32_LOCK_A_PERIPHLOCK0_PVTL_SHIFT  20
362 // Unlock the PVTOSC0 Module registers.
363 #define SI32_LOCK_A_PERIPHLOCK0_PVTL_UNLOCKED_VALUE  0
364 #define SI32_LOCK_A_PERIPHLOCK0_PVTL_UNLOCKED_U32 \
365    (SI32_LOCK_A_PERIPHLOCK0_PVTL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_PVTL_SHIFT)
366 // Lock the PVTOSC0 Module registers (bits can still be read).
367 #define SI32_LOCK_A_PERIPHLOCK0_PVTL_LOCKED_VALUE  1
368 #define SI32_LOCK_A_PERIPHLOCK0_PVTL_LOCKED_U32 \
369    (SI32_LOCK_A_PERIPHLOCK0_PVTL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_PVTL_SHIFT)
370 
371 #define SI32_LOCK_A_PERIPHLOCK0_LPOSCL_MASK  0x00200000
372 #define SI32_LOCK_A_PERIPHLOCK0_LPOSCL_SHIFT  21
373 // Unlock the Low Power Oscillator (LPOSC0) Module registers.
374 #define SI32_LOCK_A_PERIPHLOCK0_LPOSCL_UNLOCKED_VALUE  0
375 #define SI32_LOCK_A_PERIPHLOCK0_LPOSCL_UNLOCKED_U32 \
376    (SI32_LOCK_A_PERIPHLOCK0_LPOSCL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_LPOSCL_SHIFT)
377 // Lock the Low Power Oscillator (LPOSC0) Module registers (bits can still be
378 // read).
379 #define SI32_LOCK_A_PERIPHLOCK0_LPOSCL_LOCKED_VALUE  1
380 #define SI32_LOCK_A_PERIPHLOCK0_LPOSCL_LOCKED_U32 \
381    (SI32_LOCK_A_PERIPHLOCK0_LPOSCL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_LPOSCL_SHIFT)
382 
383 #define SI32_LOCK_A_PERIPHLOCK0_ACCTRL_MASK  0x00400000
384 #define SI32_LOCK_A_PERIPHLOCK0_ACCTRL_SHIFT  22
385 // Unlock the Advanced Capture Counter (ACCTR0) Module registers.
386 #define SI32_LOCK_A_PERIPHLOCK0_ACCTRL_UNLOCKED_VALUE  0
387 #define SI32_LOCK_A_PERIPHLOCK0_ACCTRL_UNLOCKED_U32 \
388    (SI32_LOCK_A_PERIPHLOCK0_ACCTRL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_ACCTRL_SHIFT)
389 // Lock the Advanced Capture Counter (ACCTR0) Module registers (bits can still be
390 // read).
391 #define SI32_LOCK_A_PERIPHLOCK0_ACCTRL_LOCKED_VALUE  1
392 #define SI32_LOCK_A_PERIPHLOCK0_ACCTRL_LOCKED_U32 \
393    (SI32_LOCK_A_PERIPHLOCK0_ACCTRL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_ACCTRL_SHIFT)
394 
395 #define SI32_LOCK_A_PERIPHLOCK0_PMUL_MASK  0x08000000
396 #define SI32_LOCK_A_PERIPHLOCK0_PMUL_SHIFT  27
397 // Unlock the PMU Module registers.
398 #define SI32_LOCK_A_PERIPHLOCK0_PMUL_UNLOCKED_VALUE  0
399 #define SI32_LOCK_A_PERIPHLOCK0_PMUL_UNLOCKED_U32 \
400    (SI32_LOCK_A_PERIPHLOCK0_PMUL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_PMUL_SHIFT)
401 // Lock the PMU Module registers (bits can still be read).
402 #define SI32_LOCK_A_PERIPHLOCK0_PMUL_LOCKED_VALUE  1
403 #define SI32_LOCK_A_PERIPHLOCK0_PMUL_LOCKED_U32 \
404    (SI32_LOCK_A_PERIPHLOCK0_PMUL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_PMUL_SHIFT)
405 
406 #define SI32_LOCK_A_PERIPHLOCK0_DTML_MASK  0x10000000
407 #define SI32_LOCK_A_PERIPHLOCK0_DTML_SHIFT  28
408 // Unlock the DTM0, DTM1, and DTM2 Module registers.
409 #define SI32_LOCK_A_PERIPHLOCK0_DTML_UNLOCKED_VALUE  0
410 #define SI32_LOCK_A_PERIPHLOCK0_DTML_UNLOCKED_U32 \
411    (SI32_LOCK_A_PERIPHLOCK0_DTML_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_DTML_SHIFT)
412 // Lock the DTM0, DTM1, and DTM2 Module registers (bits can still be read).
413 #define SI32_LOCK_A_PERIPHLOCK0_DTML_LOCKED_VALUE  1
414 #define SI32_LOCK_A_PERIPHLOCK0_DTML_LOCKED_U32 \
415    (SI32_LOCK_A_PERIPHLOCK0_DTML_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_DTML_SHIFT)
416 
417 #define SI32_LOCK_A_PERIPHLOCK0_LCDL_MASK  0x20000000
418 #define SI32_LOCK_A_PERIPHLOCK0_LCDL_SHIFT  29
419 // Unlock the LCD0 Module registers.
420 #define SI32_LOCK_A_PERIPHLOCK0_LCDL_UNLOCKED_VALUE  0
421 #define SI32_LOCK_A_PERIPHLOCK0_LCDL_UNLOCKED_U32 \
422    (SI32_LOCK_A_PERIPHLOCK0_LCDL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_LCDL_SHIFT)
423 // Lock the LCD0 Module registers (bits can still be read).
424 #define SI32_LOCK_A_PERIPHLOCK0_LCDL_LOCKED_VALUE  1
425 #define SI32_LOCK_A_PERIPHLOCK0_LCDL_LOCKED_U32 \
426    (SI32_LOCK_A_PERIPHLOCK0_LCDL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_LCDL_SHIFT)
427 
428 #define SI32_LOCK_A_PERIPHLOCK0_DCDCL_MASK  0x40000000
429 #define SI32_LOCK_A_PERIPHLOCK0_DCDCL_SHIFT  30
430 // Unlock the DCDC0 Module registers.
431 #define SI32_LOCK_A_PERIPHLOCK0_DCDCL_UNLOCKED_VALUE  0
432 #define SI32_LOCK_A_PERIPHLOCK0_DCDCL_UNLOCKED_U32 \
433    (SI32_LOCK_A_PERIPHLOCK0_DCDCL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_DCDCL_SHIFT)
434 // Lock the DCDC0 Module registers (bits can still be read).
435 #define SI32_LOCK_A_PERIPHLOCK0_DCDCL_LOCKED_VALUE  1
436 #define SI32_LOCK_A_PERIPHLOCK0_DCDCL_LOCKED_U32 \
437    (SI32_LOCK_A_PERIPHLOCK0_DCDCL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK0_DCDCL_SHIFT)
438 
439 
440 
441 struct SI32_LOCK_A_PERIPHLOCK1_Struct
442 {
443    union
444    {
445       struct
446       {
447          // Encoder Decoder Module Lock
448          volatile uint32_t ENCDECL: 1;
449                   uint32_t reserved0: 31;
450       };
451       volatile uint32_t U32;
452    };
453 };
454 
455 #define SI32_LOCK_A_PERIPHLOCK1_ENCDECL_MASK  0x00000001
456 #define SI32_LOCK_A_PERIPHLOCK1_ENCDECL_SHIFT  0
457 // Unlock the ENCDEC0 Module registers.
458 #define SI32_LOCK_A_PERIPHLOCK1_ENCDECL_UNLOCKED_VALUE  0
459 #define SI32_LOCK_A_PERIPHLOCK1_ENCDECL_UNLOCKED_U32 \
460    (SI32_LOCK_A_PERIPHLOCK1_ENCDECL_UNLOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK1_ENCDECL_SHIFT)
461 // Lock the ENCDEC0 Module registers (bits can still be read).
462 #define SI32_LOCK_A_PERIPHLOCK1_ENCDECL_LOCKED_VALUE  1
463 #define SI32_LOCK_A_PERIPHLOCK1_ENCDECL_LOCKED_U32 \
464    (SI32_LOCK_A_PERIPHLOCK1_ENCDECL_LOCKED_VALUE << SI32_LOCK_A_PERIPHLOCK1_ENCDECL_SHIFT)
465 
466 
467 
468 typedef struct SI32_LOCK_A_Struct
469 {
470    struct SI32_LOCK_A_KEY_Struct                   KEY            ; // Base Address + 0x0
471    uint32_t                                        reserved0;
472    uint32_t                                        reserved1;
473    uint32_t                                        reserved2;
474    uint32_t                                        reserved3[4];
475    struct SI32_LOCK_A_PERIPHLOCK0_Struct           PERIPHLOCK0    ; // Base Address + 0x20
476    volatile uint32_t                               PERIPHLOCK0_SET;
477    volatile uint32_t                               PERIPHLOCK0_CLR;
478    uint32_t                                        reserved4;
479    uint32_t                                        reserved5[4];
480    struct SI32_LOCK_A_PERIPHLOCK1_Struct           PERIPHLOCK1    ; // Base Address + 0x40
481    volatile uint32_t                               PERIPHLOCK1_SET;
482    volatile uint32_t                               PERIPHLOCK1_CLR;
483    uint32_t                                        reserved6;
484 } SI32_LOCK_A_Type;
485 
486 #ifdef __cplusplus
487 }
488 #endif
489 
490 #endif // __SI32_LOCK_A_REGISTERS_H__
491 
492 //-eof--------------------------------------------------------------------------
493 
494