YAHAL
Yet Another Hardware Abstraction Library
Loading...
Searching...
No Matches
core_cm55.h
Go to the documentation of this file.
1/**************************************************************************/
7/*
8 * Copyright (c) 2018-2023 Arm Limited. All rights reserved.
9 *
10 * SPDX-License-Identifier: Apache-2.0
11 *
12 * Licensed under the Apache License, Version 2.0 (the License); you may
13 * not use this file except in compliance with the License.
14 * You may obtain a copy of the License at
15 *
16 * www.apache.org/licenses/LICENSE-2.0
17 *
18 * Unless required by applicable law or agreed to in writing, software
19 * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 * See the License for the specific language governing permissions and
22 * limitations under the License.
23 */
24
25#if defined ( __ICCARM__ )
26 #pragma system_include /* treat file as system include file for MISRA check */
27#elif defined (__clang__)
28 #pragma clang system_header /* treat file as system include file */
29#elif defined ( __GNUC__ )
30 #pragma GCC diagnostic ignored "-Wpedantic" /* disable pedantic warning due to unnamed structs/unions */
31#endif
32
33#ifndef __CORE_CM55_H_GENERIC
34#define __CORE_CM55_H_GENERIC
35
36#include <stdint.h>
37
38#ifdef __cplusplus
39 extern "C" {
40#endif
41
57/*******************************************************************************
58 * CMSIS definitions
59 ******************************************************************************/
65#include "cmsis_version.h"
66
67/* CMSIS CM55 definitions */
68#define __CM55_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN)
69#define __CM55_CMSIS_VERSION_SUB (__CM_CMSIS_VERSION_SUB)
70#define __CM55_CMSIS_VERSION ((__CM55_CMSIS_VERSION_MAIN << 16U) | \
71 __CM55_CMSIS_VERSION_SUB )
73#define __CORTEX_M (55U)
75#if defined ( __CC_ARM )
76 #error Legacy Arm Compiler does not support Armv8.1-M target architecture.
77#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
78 #if defined __ARM_FP
79 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
80 #define __FPU_USED 1U
81 #else
82 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
83 #define __FPU_USED 0U
84 #endif
85 #else
86 #define __FPU_USED 0U
87 #endif
88
89 #if defined(__ARM_FEATURE_DSP)
90 #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U)
91 #define __DSP_USED 1U
92 #else
93 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
94 #define __DSP_USED 0U
95 #endif
96 #else
97 #define __DSP_USED 0U
98 #endif
99
100#elif defined (__ti__)
101 #if defined (__ARM_FP)
102 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
103 #define __FPU_USED 1U
104 #else
105 #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
106 #define __FPU_USED 0U
107 #endif
108 #else
109 #define __FPU_USED 0U
110 #endif
111
112 #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U)
113 #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U)
114 #define __DSP_USED 1U
115 #else
116 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
117 #define __DSP_USED 0U
118 #endif
119 #else
120 #define __DSP_USED 0U
121 #endif
122
123#elif defined ( __GNUC__ )
124 #if defined (__VFP_FP__) && !defined(__SOFTFP__)
125 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
126 #define __FPU_USED 1U
127 #else
128 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
129 #define __FPU_USED 0U
130 #endif
131 #else
132 #define __FPU_USED 0U
133 #endif
134
135 #if defined(__ARM_FEATURE_DSP)
136 #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U)
137 #define __DSP_USED 1U
138 #else
139 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
140 #define __DSP_USED 0U
141 #endif
142 #else
143 #define __DSP_USED 0U
144 #endif
145
146#elif defined ( __ICCARM__ )
147 #if defined __ARMVFP__
148 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
149 #define __FPU_USED 1U
150 #else
151 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
152 #define __FPU_USED 0U
153 #endif
154 #else
155 #define __FPU_USED 0U
156 #endif
157
158 #if defined(__ARM_FEATURE_DSP)
159 #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U)
160 #define __DSP_USED 1U
161 #else
162 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
163 #define __DSP_USED 0U
164 #endif
165 #else
166 #define __DSP_USED 0U
167 #endif
168
169#elif defined ( __TI_ARM__ )
170 #if defined __TI_VFP_SUPPORT__
171 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
172 #define __FPU_USED 1U
173 #else
174 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
175 #define __FPU_USED 0U
176 #endif
177 #else
178 #define __FPU_USED 0U
179 #endif
180
181#elif defined ( __TASKING__ )
182 #if defined __FPU_VFP__
183 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
184 #define __FPU_USED 1U
185 #else
186 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
187 #define __FPU_USED 0U
188 #endif
189 #else
190 #define __FPU_USED 0U
191 #endif
192
193#elif defined ( __CSMC__ )
194 #if ( __CSMC__ & 0x400U)
195 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
196 #define __FPU_USED 1U
197 #else
198 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
199 #define __FPU_USED 0U
200 #endif
201 #else
202 #define __FPU_USED 0U
203 #endif
204
205#endif
206
207#include "cmsis_compiler.h" /* CMSIS compiler specific defines */
208
209
210#ifdef __cplusplus
211}
212#endif
213
214#endif /* __CORE_CM55_H_GENERIC */
215
216#ifndef __CMSIS_GENERIC
217
218#ifndef __CORE_CM55_H_DEPENDANT
219#define __CORE_CM55_H_DEPENDANT
220
221#ifdef __cplusplus
222 extern "C" {
223#endif
224
225/* check device defines and use defaults */
226#if defined __CHECK_DEVICE_DEFINES
227 #ifndef __CM55_REV
228 #define __CM55_REV 0x0000U
229 #warning "__CM55_REV not defined in device header file; using default!"
230 #endif
231
232 #ifndef __FPU_PRESENT
233 #define __FPU_PRESENT 0U
234 #warning "__FPU_PRESENT not defined in device header file; using default!"
235 #endif
236
237 #if __FPU_PRESENT != 0U
238 #ifndef __FPU_DP
239 #define __FPU_DP 0U
240 #warning "__FPU_DP not defined in device header file; using default!"
241 #endif
242 #endif
243
244 #ifndef __MPU_PRESENT
245 #define __MPU_PRESENT 0U
246 #warning "__MPU_PRESENT not defined in device header file; using default!"
247 #endif
248
249 #ifndef __ICACHE_PRESENT
250 #define __ICACHE_PRESENT 0U
251 #warning "__ICACHE_PRESENT not defined in device header file; using default!"
252 #endif
253
254 #ifndef __DCACHE_PRESENT
255 #define __DCACHE_PRESENT 0U
256 #warning "__DCACHE_PRESENT not defined in device header file; using default!"
257 #endif
258
259 #ifndef __VTOR_PRESENT
260 #define __VTOR_PRESENT 1U
261 #warning "__VTOR_PRESENT not defined in device header file; using default!"
262 #endif
263
264 #ifndef __PMU_PRESENT
265 #define __PMU_PRESENT 0U
266 #warning "__PMU_PRESENT not defined in device header file; using default!"
267 #endif
268
269 #if __PMU_PRESENT != 0U
270 #ifndef __PMU_NUM_EVENTCNT
271 #define __PMU_NUM_EVENTCNT 8U
272 #warning "__PMU_NUM_EVENTCNT not defined in device header file; using default!"
273 #elif (__PMU_NUM_EVENTCNT > 8 || __PMU_NUM_EVENTCNT < 2)
274 #error "__PMU_NUM_EVENTCNT is out of range in device header file!" */
275 #endif
276 #endif
277
278 #ifndef __SAUREGION_PRESENT
279 #define __SAUREGION_PRESENT 0U
280 #warning "__SAUREGION_PRESENT not defined in device header file; using default!"
281 #endif
282
283 #ifndef __DSP_PRESENT
284 #define __DSP_PRESENT 0U
285 #warning "__DSP_PRESENT not defined in device header file; using default!"
286 #endif
287
288 #ifndef __NVIC_PRIO_BITS
289 #define __NVIC_PRIO_BITS 3U
290 #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
291 #endif
292
293 #ifndef __Vendor_SysTickConfig
294 #define __Vendor_SysTickConfig 0U
295 #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
296 #endif
297#endif
298
299/* IO definitions (access restrictions to peripheral registers) */
307#ifdef __cplusplus
308 #define __I volatile
309#else
310 #define __I volatile const
311#endif
312#define __O volatile
313#define __IO volatile
315/* following defines should be used for structure members */
316#define __IM volatile const
317#define __OM volatile
318#define __IOM volatile
324/*******************************************************************************
325 * Register Abstraction
326 Core Register contain:
327 - Core Register
328 - Core NVIC Register
329 - Core EWIC Register
330 - Core EWIC Interrupt Status Access Register
331 - Core SCB Register
332 - Core SysTick Register
333 - Core Debug Register
334 - Core PMU Register
335 - Core MPU Register
336 - Core SAU Register
337 - Core FPU Register
338 ******************************************************************************/
354typedef union
355{
356 struct
357 {
358 uint32_t _reserved0:16;
359 uint32_t GE:4;
360 uint32_t _reserved1:7;
361 uint32_t Q:1;
362 uint32_t V:1;
363 uint32_t C:1;
364 uint32_t Z:1;
365 uint32_t N:1;
366 } b;
367 uint32_t w;
368} APSR_Type;
369
370/* APSR Register Definitions */
371#define APSR_N_Pos 31U
372#define APSR_N_Msk (1UL << APSR_N_Pos)
374#define APSR_Z_Pos 30U
375#define APSR_Z_Msk (1UL << APSR_Z_Pos)
377#define APSR_C_Pos 29U
378#define APSR_C_Msk (1UL << APSR_C_Pos)
380#define APSR_V_Pos 28U
381#define APSR_V_Msk (1UL << APSR_V_Pos)
383#define APSR_Q_Pos 27U
384#define APSR_Q_Msk (1UL << APSR_Q_Pos)
386#define APSR_GE_Pos 16U
387#define APSR_GE_Msk (0xFUL << APSR_GE_Pos)
393typedef union
394{
395 struct
396 {
397 uint32_t ISR:9;
398 uint32_t _reserved0:23;
399 } b;
400 uint32_t w;
401} IPSR_Type;
402
403/* IPSR Register Definitions */
404#define IPSR_ISR_Pos 0U
405#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/)
411typedef union
412{
413 struct
414 {
415 uint32_t ISR:9;
416 uint32_t _reserved0:7;
417 uint32_t GE:4;
418 uint32_t _reserved1:4;
419 uint32_t T:1;
420 uint32_t IT:2;
421 uint32_t Q:1;
422 uint32_t V:1;
423 uint32_t C:1;
424 uint32_t Z:1;
425 uint32_t N:1;
426 } b;
427 uint32_t w;
428} xPSR_Type;
429
430/* xPSR Register Definitions */
431#define xPSR_N_Pos 31U
432#define xPSR_N_Msk (1UL << xPSR_N_Pos)
434#define xPSR_Z_Pos 30U
435#define xPSR_Z_Msk (1UL << xPSR_Z_Pos)
437#define xPSR_C_Pos 29U
438#define xPSR_C_Msk (1UL << xPSR_C_Pos)
440#define xPSR_V_Pos 28U
441#define xPSR_V_Msk (1UL << xPSR_V_Pos)
443#define xPSR_Q_Pos 27U
444#define xPSR_Q_Msk (1UL << xPSR_Q_Pos)
446#define xPSR_IT_Pos 25U
447#define xPSR_IT_Msk (3UL << xPSR_IT_Pos)
449#define xPSR_T_Pos 24U
450#define xPSR_T_Msk (1UL << xPSR_T_Pos)
452#define xPSR_GE_Pos 16U
453#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos)
455#define xPSR_ISR_Pos 0U
456#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/)
462typedef union
463{
464 struct
465 {
466 uint32_t nPRIV:1;
467 uint32_t SPSEL:1;
468 uint32_t FPCA:1;
469 uint32_t SFPA:1;
470 uint32_t _reserved1:28;
471 } b;
472 uint32_t w;
474
475/* CONTROL Register Definitions */
476#define CONTROL_SFPA_Pos 3U
477#define CONTROL_SFPA_Msk (1UL << CONTROL_SFPA_Pos)
479#define CONTROL_FPCA_Pos 2U
480#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos)
482#define CONTROL_SPSEL_Pos 1U
483#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos)
485#define CONTROL_nPRIV_Pos 0U
486#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/)
501typedef struct
502{
503 __IOM uint32_t ISER[16U];
504 uint32_t RESERVED0[16U];
505 __IOM uint32_t ICER[16U];
506 uint32_t RSERVED1[16U];
507 __IOM uint32_t ISPR[16U];
508 uint32_t RESERVED2[16U];
509 __IOM uint32_t ICPR[16U];
510 uint32_t RESERVED3[16U];
511 __IOM uint32_t IABR[16U];
512 uint32_t RESERVED4[16U];
513 __IOM uint32_t ITNS[16U];
514 uint32_t RESERVED5[16U];
515 __IOM uint8_t IPR[496U];
516 uint32_t RESERVED6[580U];
517 __OM uint32_t STIR;
518} NVIC_Type;
519
520/* Software Triggered Interrupt Register Definitions */
521#define NVIC_STIR_INTID_Pos 0U
522#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/)
537typedef struct
538{
539 __IM uint32_t CPUID;
540 __IOM uint32_t ICSR;
541 __IOM uint32_t VTOR;
542 __IOM uint32_t AIRCR;
543 __IOM uint32_t SCR;
544 __IOM uint32_t CCR;
545 __IOM uint8_t SHPR[12U];
546 __IOM uint32_t SHCSR;
547 __IOM uint32_t CFSR;
548 __IOM uint32_t HFSR;
549 __IOM uint32_t DFSR;
550 __IOM uint32_t MMFAR;
551 __IOM uint32_t BFAR;
552 __IOM uint32_t AFSR;
553 __IM uint32_t ID_PFR[2U];
554 __IM uint32_t ID_DFR;
555 __IM uint32_t ID_AFR;
556 __IM uint32_t ID_MMFR[4U];
557 __IM uint32_t ID_ISAR[6U];
558 __IM uint32_t CLIDR;
559 __IM uint32_t CTR;
560 __IM uint32_t CCSIDR;
561 __IOM uint32_t CSSELR;
562 __IOM uint32_t CPACR;
563 __IOM uint32_t NSACR;
564 uint32_t RESERVED7[21U];
565 __IOM uint32_t SFSR;
566 __IOM uint32_t SFAR;
567 uint32_t RESERVED3[69U];
568 __OM uint32_t STIR;
569 __IOM uint32_t RFSR;
570 uint32_t RESERVED4[14U];
571 __IM uint32_t MVFR0;
572 __IM uint32_t MVFR1;
573 __IM uint32_t MVFR2;
574 uint32_t RESERVED5[1U];
575 __OM uint32_t ICIALLU;
576 uint32_t RESERVED6[1U];
577 __OM uint32_t ICIMVAU;
578 __OM uint32_t DCIMVAC;
579 __OM uint32_t DCISW;
580 __OM uint32_t DCCMVAU;
581 __OM uint32_t DCCMVAC;
582 __OM uint32_t DCCSW;
583 __OM uint32_t DCCIMVAC;
584 __OM uint32_t DCCISW;
585 __OM uint32_t BPIALL;
586} SCB_Type;
587
588/* SCB CPUID Register Definitions */
589#define SCB_CPUID_IMPLEMENTER_Pos 24U
590#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)
592#define SCB_CPUID_VARIANT_Pos 20U
593#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos)
595#define SCB_CPUID_ARCHITECTURE_Pos 16U
596#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)
598#define SCB_CPUID_PARTNO_Pos 4U
599#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos)
601#define SCB_CPUID_REVISION_Pos 0U
602#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/)
604/* SCB Interrupt Control State Register Definitions */
605#define SCB_ICSR_PENDNMISET_Pos 31U
606#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos)
608#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos
609#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk
611#define SCB_ICSR_PENDNMICLR_Pos 30U
612#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos)
614#define SCB_ICSR_PENDSVSET_Pos 28U
615#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos)
617#define SCB_ICSR_PENDSVCLR_Pos 27U
618#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos)
620#define SCB_ICSR_PENDSTSET_Pos 26U
621#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos)
623#define SCB_ICSR_PENDSTCLR_Pos 25U
624#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos)
626#define SCB_ICSR_STTNS_Pos 24U
627#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos)
629#define SCB_ICSR_ISRPREEMPT_Pos 23U
630#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos)
632#define SCB_ICSR_ISRPENDING_Pos 22U
633#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos)
635#define SCB_ICSR_VECTPENDING_Pos 12U
636#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)
638#define SCB_ICSR_RETTOBASE_Pos 11U
639#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos)
641#define SCB_ICSR_VECTACTIVE_Pos 0U
642#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/)
644/* SCB Vector Table Offset Register Definitions */
645#define SCB_VTOR_TBLOFF_Pos 7U
646#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos)
648/* SCB Application Interrupt and Reset Control Register Definitions */
649#define SCB_AIRCR_VECTKEY_Pos 16U
650#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)
652#define SCB_AIRCR_VECTKEYSTAT_Pos 16U
653#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)
655#define SCB_AIRCR_ENDIANESS_Pos 15U
656#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos)
658#define SCB_AIRCR_PRIS_Pos 14U
659#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos)
661#define SCB_AIRCR_BFHFNMINS_Pos 13U
662#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos)
664#define SCB_AIRCR_PRIGROUP_Pos 8U
665#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos)
667#define SCB_AIRCR_IESB_Pos 5U
668#define SCB_AIRCR_IESB_Msk (1UL << SCB_AIRCR_IESB_Pos)
670#define SCB_AIRCR_DIT_Pos 4U
671#define SCB_AIRCR_DIT_Msk (1UL << SCB_AIRCR_DIT_Pos)
673#define SCB_AIRCR_SYSRESETREQS_Pos 3U
674#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos)
676#define SCB_AIRCR_SYSRESETREQ_Pos 2U
677#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos)
679#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U
680#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)
682/* SCB System Control Register Definitions */
683#define SCB_SCR_SEVONPEND_Pos 4U
684#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos)
686#define SCB_SCR_SLEEPDEEPS_Pos 3U
687#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos)
689#define SCB_SCR_SLEEPDEEP_Pos 2U
690#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos)
692#define SCB_SCR_SLEEPONEXIT_Pos 1U
693#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos)
695/* SCB Configuration Control Register Definitions */
696#define SCB_CCR_TRD_Pos 20U
697#define SCB_CCR_TRD_Msk (1UL << SCB_CCR_TRD_Pos)
699#define SCB_CCR_LOB_Pos 19U
700#define SCB_CCR_LOB_Msk (1UL << SCB_CCR_LOB_Pos)
702#define SCB_CCR_BP_Pos 18U
703#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos)
705#define SCB_CCR_IC_Pos 17U
706#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos)
708#define SCB_CCR_DC_Pos 16U
709#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos)
711#define SCB_CCR_STKOFHFNMIGN_Pos 10U
712#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos)
714#define SCB_CCR_BFHFNMIGN_Pos 8U
715#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos)
717#define SCB_CCR_DIV_0_TRP_Pos 4U
718#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos)
720#define SCB_CCR_UNALIGN_TRP_Pos 3U
721#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos)
723#define SCB_CCR_USERSETMPEND_Pos 1U
724#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos)
726/* SCB System Handler Control and State Register Definitions */
727#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U
728#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos)
730#define SCB_SHCSR_SECUREFAULTPENDED_Pos 20U
731#define SCB_SHCSR_SECUREFAULTPENDED_Msk (1UL << SCB_SHCSR_SECUREFAULTPENDED_Pos)
733#define SCB_SHCSR_SECUREFAULTENA_Pos 19U
734#define SCB_SHCSR_SECUREFAULTENA_Msk (1UL << SCB_SHCSR_SECUREFAULTENA_Pos)
736#define SCB_SHCSR_USGFAULTENA_Pos 18U
737#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos)
739#define SCB_SHCSR_BUSFAULTENA_Pos 17U
740#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos)
742#define SCB_SHCSR_MEMFAULTENA_Pos 16U
743#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos)
745#define SCB_SHCSR_SVCALLPENDED_Pos 15U
746#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos)
748#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U
749#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos)
751#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U
752#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos)
754#define SCB_SHCSR_USGFAULTPENDED_Pos 12U
755#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos)
757#define SCB_SHCSR_SYSTICKACT_Pos 11U
758#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos)
760#define SCB_SHCSR_PENDSVACT_Pos 10U
761#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos)
763#define SCB_SHCSR_MONITORACT_Pos 8U
764#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos)
766#define SCB_SHCSR_SVCALLACT_Pos 7U
767#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos)
769#define SCB_SHCSR_NMIACT_Pos 5U
770#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos)
772#define SCB_SHCSR_SECUREFAULTACT_Pos 4U
773#define SCB_SHCSR_SECUREFAULTACT_Msk (1UL << SCB_SHCSR_SECUREFAULTACT_Pos)
775#define SCB_SHCSR_USGFAULTACT_Pos 3U
776#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos)
778#define SCB_SHCSR_HARDFAULTACT_Pos 2U
779#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos)
781#define SCB_SHCSR_BUSFAULTACT_Pos 1U
782#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos)
784#define SCB_SHCSR_MEMFAULTACT_Pos 0U
785#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/)
787/* SCB Configurable Fault Status Register Definitions */
788#define SCB_CFSR_USGFAULTSR_Pos 16U
789#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos)
791#define SCB_CFSR_BUSFAULTSR_Pos 8U
792#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos)
794#define SCB_CFSR_MEMFAULTSR_Pos 0U
795#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/)
797/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */
798#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U)
799#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos)
801#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U)
802#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos)
804#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U)
805#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos)
807#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U)
808#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos)
810#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U)
811#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos)
813#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U)
814#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/)
816/* BusFault Status Register (part of SCB Configurable Fault Status Register) */
817#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U)
818#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos)
820#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U)
821#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos)
823#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U)
824#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos)
826#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U)
827#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos)
829#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U)
830#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos)
832#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U)
833#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos)
835#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U)
836#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos)
838/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */
839#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U)
840#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos)
842#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U)
843#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos)
845#define SCB_CFSR_STKOF_Pos (SCB_CFSR_USGFAULTSR_Pos + 4U)
846#define SCB_CFSR_STKOF_Msk (1UL << SCB_CFSR_STKOF_Pos)
848#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U)
849#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos)
851#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U)
852#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos)
854#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U)
855#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos)
857#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U)
858#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos)
860/* SCB Hard Fault Status Register Definitions */
861#define SCB_HFSR_DEBUGEVT_Pos 31U
862#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos)
864#define SCB_HFSR_FORCED_Pos 30U
865#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos)
867#define SCB_HFSR_VECTTBL_Pos 1U
868#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos)
870/* SCB Debug Fault Status Register Definitions */
871#define SCB_DFSR_PMU_Pos 5U
872#define SCB_DFSR_PMU_Msk (1UL << SCB_DFSR_PMU_Pos)
874#define SCB_DFSR_EXTERNAL_Pos 4U
875#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos)
877#define SCB_DFSR_VCATCH_Pos 3U
878#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos)
880#define SCB_DFSR_DWTTRAP_Pos 2U
881#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos)
883#define SCB_DFSR_BKPT_Pos 1U
884#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos)
886#define SCB_DFSR_HALTED_Pos 0U
887#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/)
889/* SCB Non-Secure Access Control Register Definitions */
890#define SCB_NSACR_CP11_Pos 11U
891#define SCB_NSACR_CP11_Msk (1UL << SCB_NSACR_CP11_Pos)
893#define SCB_NSACR_CP10_Pos 10U
894#define SCB_NSACR_CP10_Msk (1UL << SCB_NSACR_CP10_Pos)
896#define SCB_NSACR_CP7_Pos 7U
897#define SCB_NSACR_CP7_Msk (1UL << SCB_NSACR_CP7_Pos)
899#define SCB_NSACR_CP6_Pos 6U
900#define SCB_NSACR_CP6_Msk (1UL << SCB_NSACR_CP6_Pos)
902#define SCB_NSACR_CP5_Pos 5U
903#define SCB_NSACR_CP5_Msk (1UL << SCB_NSACR_CP5_Pos)
905#define SCB_NSACR_CP4_Pos 4U
906#define SCB_NSACR_CP4_Msk (1UL << SCB_NSACR_CP4_Pos)
908#define SCB_NSACR_CP3_Pos 3U
909#define SCB_NSACR_CP3_Msk (1UL << SCB_NSACR_CP3_Pos)
911#define SCB_NSACR_CP2_Pos 2U
912#define SCB_NSACR_CP2_Msk (1UL << SCB_NSACR_CP2_Pos)
914#define SCB_NSACR_CP1_Pos 1U
915#define SCB_NSACR_CP1_Msk (1UL << SCB_NSACR_CP1_Pos)
917#define SCB_NSACR_CP0_Pos 0U
918#define SCB_NSACR_CP0_Msk (1UL /*<< SCB_NSACR_CP0_Pos*/)
920/* SCB Debug Feature Register 0 Definitions */
921#define SCB_ID_DFR_UDE_Pos 28U
922#define SCB_ID_DFR_UDE_Msk (0xFUL << SCB_ID_DFR_UDE_Pos)
924#define SCB_ID_DFR_MProfDbg_Pos 20U
925#define SCB_ID_DFR_MProfDbg_Msk (0xFUL << SCB_ID_DFR_MProfDbg_Pos)
927/* SCB Cache Level ID Register Definitions */
928#define SCB_CLIDR_LOUU_Pos 27U
929#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos)
931#define SCB_CLIDR_LOC_Pos 24U
932#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos)
934/* SCB Cache Type Register Definitions */
935#define SCB_CTR_FORMAT_Pos 29U
936#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos)
938#define SCB_CTR_CWG_Pos 24U
939#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos)
941#define SCB_CTR_ERG_Pos 20U
942#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos)
944#define SCB_CTR_DMINLINE_Pos 16U
945#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos)
947#define SCB_CTR_IMINLINE_Pos 0U
948#define SCB_CTR_IMINLINE_Msk (0xFUL /*<< SCB_CTR_IMINLINE_Pos*/)
950/* SCB Cache Size ID Register Definitions */
951#define SCB_CCSIDR_WT_Pos 31U
952#define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos)
954#define SCB_CCSIDR_WB_Pos 30U
955#define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos)
957#define SCB_CCSIDR_RA_Pos 29U
958#define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos)
960#define SCB_CCSIDR_WA_Pos 28U
961#define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos)
963#define SCB_CCSIDR_NUMSETS_Pos 13U
964#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos)
966#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U
967#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos)
969#define SCB_CCSIDR_LINESIZE_Pos 0U
970#define SCB_CCSIDR_LINESIZE_Msk (7UL /*<< SCB_CCSIDR_LINESIZE_Pos*/)
972/* SCB Cache Size Selection Register Definitions */
973#define SCB_CSSELR_LEVEL_Pos 1U
974#define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos)
976#define SCB_CSSELR_IND_Pos 0U
977#define SCB_CSSELR_IND_Msk (1UL /*<< SCB_CSSELR_IND_Pos*/)
979/* SCB Software Triggered Interrupt Register Definitions */
980#define SCB_STIR_INTID_Pos 0U
981#define SCB_STIR_INTID_Msk (0x1FFUL /*<< SCB_STIR_INTID_Pos*/)
983/* SCB RAS Fault Status Register Definitions */
984#define SCB_RFSR_V_Pos 31U
985#define SCB_RFSR_V_Msk (1UL << SCB_RFSR_V_Pos)
987#define SCB_RFSR_IS_Pos 16U
988#define SCB_RFSR_IS_Msk (0x7FFFUL << SCB_RFSR_IS_Pos)
990#define SCB_RFSR_UET_Pos 0U
991#define SCB_RFSR_UET_Msk (3UL /*<< SCB_RFSR_UET_Pos*/)
993/* SCB D-Cache Invalidate by Set-way Register Definitions */
994#define SCB_DCISW_WAY_Pos 30U
995#define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos)
997#define SCB_DCISW_SET_Pos 5U
998#define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos)
1000/* SCB D-Cache Clean by Set-way Register Definitions */
1001#define SCB_DCCSW_WAY_Pos 30U
1002#define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos)
1004#define SCB_DCCSW_SET_Pos 5U
1005#define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos)
1007/* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */
1008#define SCB_DCCISW_WAY_Pos 30U
1009#define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos)
1011#define SCB_DCCISW_SET_Pos 5U
1012#define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos)
1027typedef struct
1028{
1029 uint32_t RESERVED0[1U];
1030 __IM uint32_t ICTR;
1031 __IOM uint32_t ACTLR;
1032 __IOM uint32_t CPPWR;
1033} ICB_Type;
1034
1035/* Auxiliary Control Register Definitions */
1036#define ICB_ACTLR_DISCRITAXIRUW_Pos 27U
1037#define ICB_ACTLR_DISCRITAXIRUW_Msk (1UL << ICB_ACTLR_DISCRITAXIRUW_Pos)
1039#define ICB_ACTLR_DISDI_Pos 16U
1040#define ICB_ACTLR_DISDI_Msk (3UL << ICB_ACTLR_DISDI_Pos)
1042#define ICB_ACTLR_DISCRITAXIRUR_Pos 15U
1043#define ICB_ACTLR_DISCRITAXIRUR_Msk (1UL << ICB_ACTLR_DISCRITAXIRUR_Pos)
1045#define ICB_ACTLR_EVENTBUSEN_Pos 14U
1046#define ICB_ACTLR_EVENTBUSEN_Msk (1UL << ICB_ACTLR_EVENTBUSEN_Pos)
1048#define ICB_ACTLR_EVENTBUSEN_S_Pos 13U
1049#define ICB_ACTLR_EVENTBUSEN_S_Msk (1UL << ICB_ACTLR_EVENTBUSEN_S_Pos)
1051#define ICB_ACTLR_DISITMATBFLUSH_Pos 12U
1052#define ICB_ACTLR_DISITMATBFLUSH_Msk (1UL << ICB_ACTLR_DISITMATBFLUSH_Pos)
1054#define ICB_ACTLR_DISNWAMODE_Pos 11U
1055#define ICB_ACTLR_DISNWAMODE_Msk (1UL << ICB_ACTLR_DISNWAMODE_Pos)
1057#define ICB_ACTLR_FPEXCODIS_Pos 10U
1058#define ICB_ACTLR_FPEXCODIS_Msk (1UL << ICB_ACTLR_FPEXCODIS_Pos)
1060#define ICB_ACTLR_DISOLAP_Pos 7U
1061#define ICB_ACTLR_DISOLAP_Msk (1UL << ICB_ACTLR_DISOLAP_Pos)
1063#define ICB_ACTLR_DISOLAPS_Pos 6U
1064#define ICB_ACTLR_DISOLAPS_Msk (1UL << ICB_ACTLR_DISOLAPS_Pos)
1066#define ICB_ACTLR_DISLOBR_Pos 5U
1067#define ICB_ACTLR_DISLOBR_Msk (1UL << ICB_ACTLR_DISLOBR_Pos)
1069#define ICB_ACTLR_DISLO_Pos 4U
1070#define ICB_ACTLR_DISLO_Msk (1UL << ICB_ACTLR_DISLO_Pos)
1072#define ICB_ACTLR_DISLOLEP_Pos 3U
1073#define ICB_ACTLR_DISLOLEP_Msk (1UL << ICB_ACTLR_DISLOLEP_Pos)
1075#define ICB_ACTLR_DISFOLD_Pos 2U
1076#define ICB_ACTLR_DISFOLD_Msk (1UL << ICB_ACTLR_DISFOLD_Pos)
1078/* Interrupt Controller Type Register Definitions */
1079#define ICB_ICTR_INTLINESNUM_Pos 0U
1080#define ICB_ICTR_INTLINESNUM_Msk (0xFUL /*<< ICB_ICTR_INTLINESNUM_Pos*/)
1095typedef struct
1096{
1097 __IOM uint32_t CTRL;
1098 __IOM uint32_t LOAD;
1099 __IOM uint32_t VAL;
1100 __IM uint32_t CALIB;
1101} SysTick_Type;
1102
1103/* SysTick Control / Status Register Definitions */
1104#define SysTick_CTRL_COUNTFLAG_Pos 16U
1105#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos)
1107#define SysTick_CTRL_CLKSOURCE_Pos 2U
1108#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos)
1110#define SysTick_CTRL_TICKINT_Pos 1U
1111#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos)
1113#define SysTick_CTRL_ENABLE_Pos 0U
1114#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/)
1116/* SysTick Reload Register Definitions */
1117#define SysTick_LOAD_RELOAD_Pos 0U
1118#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/)
1120/* SysTick Current Register Definitions */
1121#define SysTick_VAL_CURRENT_Pos 0U
1122#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/)
1124/* SysTick Calibration Register Definitions */
1125#define SysTick_CALIB_NOREF_Pos 31U
1126#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos)
1128#define SysTick_CALIB_SKEW_Pos 30U
1129#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos)
1131#define SysTick_CALIB_TENMS_Pos 0U
1132#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/)
1147typedef struct
1148{
1149 __OM union
1150 {
1151 __OM uint8_t u8;
1152 __OM uint16_t u16;
1153 __OM uint32_t u32;
1154 } PORT [32U];
1155 uint32_t RESERVED0[864U];
1156 __IOM uint32_t TER;
1157 uint32_t RESERVED1[15U];
1158 __IOM uint32_t TPR;
1159 uint32_t RESERVED2[15U];
1160 __IOM uint32_t TCR;
1161 uint32_t RESERVED3[27U];
1162 __IM uint32_t ITREAD;
1163 uint32_t RESERVED4[1U];
1164 __OM uint32_t ITWRITE;
1165 uint32_t RESERVED5[1U];
1166 __IOM uint32_t ITCTRL;
1167 uint32_t RESERVED6[46U];
1168 __IM uint32_t DEVARCH;
1169 uint32_t RESERVED7[3U];
1170 __IM uint32_t DEVTYPE;
1171 __IM uint32_t PID4;
1172 __IM uint32_t PID5;
1173 __IM uint32_t PID6;
1174 __IM uint32_t PID7;
1175 __IM uint32_t PID0;
1176 __IM uint32_t PID1;
1177 __IM uint32_t PID2;
1178 __IM uint32_t PID3;
1179 __IM uint32_t CID0;
1180 __IM uint32_t CID1;
1181 __IM uint32_t CID2;
1182 __IM uint32_t CID3;
1183} ITM_Type;
1184
1185/* ITM Stimulus Port Register Definitions */
1186#define ITM_STIM_DISABLED_Pos 1U
1187#define ITM_STIM_DISABLED_Msk (0x1UL << ITM_STIM_DISABLED_Pos)
1189#define ITM_STIM_FIFOREADY_Pos 0U
1190#define ITM_STIM_FIFOREADY_Msk (0x1UL /*<< ITM_STIM_FIFOREADY_Pos*/)
1192/* ITM Trace Privilege Register Definitions */
1193#define ITM_TPR_PRIVMASK_Pos 0U
1194#define ITM_TPR_PRIVMASK_Msk (0xFUL /*<< ITM_TPR_PRIVMASK_Pos*/)
1196/* ITM Trace Control Register Definitions */
1197#define ITM_TCR_BUSY_Pos 23U
1198#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos)
1200#define ITM_TCR_TRACEBUSID_Pos 16U
1201#define ITM_TCR_TRACEBUSID_Msk (0x7FUL << ITM_TCR_TRACEBUSID_Pos)
1203#define ITM_TCR_GTSFREQ_Pos 10U
1204#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos)
1206#define ITM_TCR_TSPRESCALE_Pos 8U
1207#define ITM_TCR_TSPRESCALE_Msk (3UL << ITM_TCR_TSPRESCALE_Pos)
1209#define ITM_TCR_STALLENA_Pos 5U
1210#define ITM_TCR_STALLENA_Msk (1UL << ITM_TCR_STALLENA_Pos)
1212#define ITM_TCR_SWOENA_Pos 4U
1213#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos)
1215#define ITM_TCR_DWTENA_Pos 3U
1216#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos)
1218#define ITM_TCR_SYNCENA_Pos 2U
1219#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos)
1221#define ITM_TCR_TSENA_Pos 1U
1222#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos)
1224#define ITM_TCR_ITMENA_Pos 0U
1225#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/)
1227/* ITM Integration Read Register Definitions */
1228#define ITM_ITREAD_AFVALID_Pos 1U
1229#define ITM_ITREAD_AFVALID_Msk (0x1UL << ITM_ITREAD_AFVALID_Pos)
1231#define ITM_ITREAD_ATREADY_Pos 0U
1232#define ITM_ITREAD_ATREADY_Msk (0x1UL /*<< ITM_ITREAD_ATREADY_Pos*/)
1234/* ITM Integration Write Register Definitions */
1235#define ITM_ITWRITE_AFVALID_Pos 1U
1236#define ITM_ITWRITE_AFVALID_Msk (0x1UL << ITM_ITWRITE_AFVALID_Pos)
1238#define ITM_ITWRITE_ATREADY_Pos 0U
1239#define ITM_ITWRITE_ATREADY_Msk (0x1UL /*<< ITM_ITWRITE_ATREADY_Pos*/)
1241/* ITM Integration Mode Control Register Definitions */
1242#define ITM_ITCTRL_IME_Pos 0U
1243#define ITM_ITCTRL_IME_Msk (0x1UL /*<< ITM_ITCTRL_IME_Pos*/) /* end of group CMSIS_ITM */
1246
1247
1258typedef struct
1259{
1260 __IOM uint32_t CTRL;
1261 __IOM uint32_t CYCCNT;
1262 __IOM uint32_t CPICNT;
1263 __IOM uint32_t EXCCNT;
1264 __IOM uint32_t SLEEPCNT;
1265 __IOM uint32_t LSUCNT;
1266 __IOM uint32_t FOLDCNT;
1267 __IM uint32_t PCSR;
1268 __IOM uint32_t COMP0;
1269 uint32_t RESERVED1[1U];
1270 __IOM uint32_t FUNCTION0;
1271 uint32_t RESERVED2[1U];
1272 __IOM uint32_t COMP1;
1273 uint32_t RESERVED3[1U];
1274 __IOM uint32_t FUNCTION1;
1275 __IOM uint32_t VMASK1;
1276 __IOM uint32_t COMP2;
1277 uint32_t RESERVED4[1U];
1278 __IOM uint32_t FUNCTION2;
1279 uint32_t RESERVED5[1U];
1280 __IOM uint32_t COMP3;
1281 uint32_t RESERVED6[1U];
1282 __IOM uint32_t FUNCTION3;
1283 __IOM uint32_t VMASK3;
1284 __IOM uint32_t COMP4;
1285 uint32_t RESERVED7[1U];
1286 __IOM uint32_t FUNCTION4;
1287 uint32_t RESERVED8[1U];
1288 __IOM uint32_t COMP5;
1289 uint32_t RESERVED9[1U];
1290 __IOM uint32_t FUNCTION5;
1291 uint32_t RESERVED10[1U];
1292 __IOM uint32_t COMP6;
1293 uint32_t RESERVED11[1U];
1294 __IOM uint32_t FUNCTION6;
1295 uint32_t RESERVED12[1U];
1296 __IOM uint32_t COMP7;
1297 uint32_t RESERVED13[1U];
1298 __IOM uint32_t FUNCTION7;
1299 uint32_t RESERVED14[968U];
1300 __IM uint32_t DEVARCH;
1301 uint32_t RESERVED15[3U];
1302 __IM uint32_t DEVTYPE;
1303} DWT_Type;
1304
1305/* DWT Control Register Definitions */
1306#define DWT_CTRL_NUMCOMP_Pos 28U
1307#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos)
1309#define DWT_CTRL_NOTRCPKT_Pos 27U
1310#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos)
1312#define DWT_CTRL_NOEXTTRIG_Pos 26U
1313#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos)
1315#define DWT_CTRL_NOCYCCNT_Pos 25U
1316#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos)
1318#define DWT_CTRL_NOPRFCNT_Pos 24U
1319#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos)
1321#define DWT_CTRL_CYCDISS_Pos 23U
1322#define DWT_CTRL_CYCDISS_Msk (0x1UL << DWT_CTRL_CYCDISS_Pos)
1324#define DWT_CTRL_CYCEVTENA_Pos 22U
1325#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos)
1327#define DWT_CTRL_FOLDEVTENA_Pos 21U
1328#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos)
1330#define DWT_CTRL_LSUEVTENA_Pos 20U
1331#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos)
1333#define DWT_CTRL_SLEEPEVTENA_Pos 19U
1334#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos)
1336#define DWT_CTRL_EXCEVTENA_Pos 18U
1337#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos)
1339#define DWT_CTRL_CPIEVTENA_Pos 17U
1340#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos)
1342#define DWT_CTRL_EXCTRCENA_Pos 16U
1343#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos)
1345#define DWT_CTRL_PCSAMPLENA_Pos 12U
1346#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos)
1348#define DWT_CTRL_SYNCTAP_Pos 10U
1349#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos)
1351#define DWT_CTRL_CYCTAP_Pos 9U
1352#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos)
1354#define DWT_CTRL_POSTINIT_Pos 5U
1355#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos)
1357#define DWT_CTRL_POSTPRESET_Pos 1U
1358#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos)
1360#define DWT_CTRL_CYCCNTENA_Pos 0U
1361#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/)
1363/* DWT CPI Count Register Definitions */
1364#define DWT_CPICNT_CPICNT_Pos 0U
1365#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/)
1367/* DWT Exception Overhead Count Register Definitions */
1368#define DWT_EXCCNT_EXCCNT_Pos 0U
1369#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/)
1371/* DWT Sleep Count Register Definitions */
1372#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U
1373#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/)
1375/* DWT LSU Count Register Definitions */
1376#define DWT_LSUCNT_LSUCNT_Pos 0U
1377#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/)
1379/* DWT Folded-instruction Count Register Definitions */
1380#define DWT_FOLDCNT_FOLDCNT_Pos 0U
1381#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/)
1383/* DWT Comparator Function Register Definitions */
1384#define DWT_FUNCTION_ID_Pos 27U
1385#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos)
1387#define DWT_FUNCTION_MATCHED_Pos 24U
1388#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos)
1390#define DWT_FUNCTION_DATAVSIZE_Pos 10U
1391#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos)
1393#define DWT_FUNCTION_ACTION_Pos 4U
1394#define DWT_FUNCTION_ACTION_Msk (0x3UL << DWT_FUNCTION_ACTION_Pos)
1396#define DWT_FUNCTION_MATCH_Pos 0U
1397#define DWT_FUNCTION_MATCH_Msk (0xFUL /*<< DWT_FUNCTION_MATCH_Pos*/) /* end of group CMSIS_DWT */
1400
1401
1412typedef struct
1413{
1414 __IOM uint32_t MSCR;
1415 __IOM uint32_t PFCR;
1416 uint32_t RESERVED1[2U];
1417 __IOM uint32_t ITCMCR;
1418 __IOM uint32_t DTCMCR;
1419 __IOM uint32_t PAHBCR;
1420 uint32_t RESERVED2[313U];
1421 __IOM uint32_t ITGU_CTRL;
1422 __IOM uint32_t ITGU_CFG;
1423 uint32_t RESERVED3[2U];
1424 __IOM uint32_t ITGU_LUT[16U];
1425 uint32_t RESERVED4[44U];
1426 __IOM uint32_t DTGU_CTRL;
1427 __IOM uint32_t DTGU_CFG;
1428 uint32_t RESERVED5[2U];
1429 __IOM uint32_t DTGU_LUT[16U];
1431
1432/* MEMSYSCTL Memory System Control Register (MSCR) Register Definitions */
1433#define MEMSYSCTL_MSCR_CPWRDN_Pos 17U
1434#define MEMSYSCTL_MSCR_CPWRDN_Msk (0x1UL << MEMSYSCTL_MSCR_CPWRDN_Pos)
1436#define MEMSYSCTL_MSCR_DCCLEAN_Pos 16U
1437#define MEMSYSCTL_MSCR_DCCLEAN_Msk (0x1UL << MEMSYSCTL_MSCR_DCCLEAN_Pos)
1439#define MEMSYSCTL_MSCR_ICACTIVE_Pos 13U
1440#define MEMSYSCTL_MSCR_ICACTIVE_Msk (0x1UL << MEMSYSCTL_MSCR_ICACTIVE_Pos)
1442#define MEMSYSCTL_MSCR_DCACTIVE_Pos 12U
1443#define MEMSYSCTL_MSCR_DCACTIVE_Msk (0x1UL << MEMSYSCTL_MSCR_DCACTIVE_Pos)
1445#define MEMSYSCTL_MSCR_TECCCHKDIS_Pos 4U
1446#define MEMSYSCTL_MSCR_TECCCHKDIS_Msk (0x1UL << MEMSYSCTL_MSCR_TECCCHKDIS_Pos)
1448#define MEMSYSCTL_MSCR_EVECCFAULT_Pos 3U
1449#define MEMSYSCTL_MSCR_EVECCFAULT_Msk (0x1UL << MEMSYSCTL_MSCR_EVECCFAULT_Pos)
1451#define MEMSYSCTL_MSCR_FORCEWT_Pos 2U
1452#define MEMSYSCTL_MSCR_FORCEWT_Msk (0x1UL << MEMSYSCTL_MSCR_FORCEWT_Pos)
1454#define MEMSYSCTL_MSCR_ECCEN_Pos 1U
1455#define MEMSYSCTL_MSCR_ECCEN_Msk (0x1UL << MEMSYSCTL_MSCR_ECCEN_Pos)
1457/* MEMSYSCTL Prefetcher Control Register (PFCR) Register Definitions */
1458#define MEMSYSCTL_PFCR_MAX_OS_Pos 7U
1459#define MEMSYSCTL_PFCR_MAX_OS_Msk (0x7UL << MEMSYSCTL_PFCR_MAX_OS_Pos)
1461#define MEMSYSCTL_PFCR_MAX_LA_Pos 4U
1462#define MEMSYSCTL_PFCR_MAX_LA_Msk (0x7UL << MEMSYSCTL_PFCR_MAX_LA_Pos)
1464#define MEMSYSCTL_PFCR_MIN_LA_Pos 1U
1465#define MEMSYSCTL_PFCR_MIN_LA_Msk (0x7UL << MEMSYSCTL_PFCR_MIN_LA_Pos)
1467#define MEMSYSCTL_PFCR_ENABLE_Pos 0U
1468#define MEMSYSCTL_PFCR_ENABLE_Msk (0x1UL /*<< MEMSYSCTL_PFCR_ENABLE_Pos*/)
1470/* MEMSYSCTL ITCM Control Register (ITCMCR) Register Definitions */
1471#define MEMSYSCTL_ITCMCR_SZ_Pos 3U
1472#define MEMSYSCTL_ITCMCR_SZ_Msk (0xFUL << MEMSYSCTL_ITCMCR_SZ_Pos)
1474#define MEMSYSCTL_ITCMCR_EN_Pos 0U
1475#define MEMSYSCTL_ITCMCR_EN_Msk (0x1UL /*<< MEMSYSCTL_ITCMCR_EN_Pos*/)
1477/* MEMSYSCTL DTCM Control Register (DTCMCR) Register Definitions */
1478#define MEMSYSCTL_DTCMCR_SZ_Pos 3U
1479#define MEMSYSCTL_DTCMCR_SZ_Msk (0xFUL << MEMSYSCTL_DTCMCR_SZ_Pos)
1481#define MEMSYSCTL_DTCMCR_EN_Pos 0U
1482#define MEMSYSCTL_DTCMCR_EN_Msk (0x1UL /*<< MEMSYSCTL_DTCMCR_EN_Pos*/)
1484/* MEMSYSCTL P-AHB Control Register (PAHBCR) Register Definitions */
1485#define MEMSYSCTL_PAHBCR_SZ_Pos 1U
1486#define MEMSYSCTL_PAHBCR_SZ_Msk (0x7UL << MEMSYSCTL_PAHBCR_SZ_Pos)
1488#define MEMSYSCTL_PAHBCR_EN_Pos 0U
1489#define MEMSYSCTL_PAHBCR_EN_Msk (0x1UL /*<< MEMSYSCTL_PAHBCR_EN_Pos*/)
1491/* MEMSYSCTL ITGU Control Register (ITGU_CTRL) Register Definitions */
1492#define MEMSYSCTL_ITGU_CTRL_DEREN_Pos 1U
1493#define MEMSYSCTL_ITGU_CTRL_DEREN_Msk (0x1UL << MEMSYSCTL_ITGU_CTRL_DEREN_Pos)
1495#define MEMSYSCTL_ITGU_CTRL_DBFEN_Pos 0U
1496#define MEMSYSCTL_ITGU_CTRL_DBFEN_Msk (0x1UL /*<< MEMSYSCTL_ITGU_CTRL_DBFEN_Pos*/)
1498/* MEMSYSCTL ITGU Configuration Register (ITGU_CFG) Register Definitions */
1499#define MEMSYSCTL_ITGU_CFG_PRESENT_Pos 31U
1500#define MEMSYSCTL_ITGU_CFG_PRESENT_Msk (0x1UL << MEMSYSCTL_ITGU_CFG_PRESENT_Pos)
1502#define MEMSYSCTL_ITGU_CFG_NUMBLKS_Pos 8U
1503#define MEMSYSCTL_ITGU_CFG_NUMBLKS_Msk (0xFUL << MEMSYSCTL_ITGU_CFG_NUMBLKS_Pos)
1505#define MEMSYSCTL_ITGU_CFG_BLKSZ_Pos 0U
1506#define MEMSYSCTL_ITGU_CFG_BLKSZ_Msk (0xFUL /*<< MEMSYSCTL_ITGU_CFG_BLKSZ_Pos*/)
1508/* MEMSYSCTL DTGU Control Registers (DTGU_CTRL) Register Definitions */
1509#define MEMSYSCTL_DTGU_CTRL_DEREN_Pos 1U
1510#define MEMSYSCTL_DTGU_CTRL_DEREN_Msk (0x1UL << MEMSYSCTL_DTGU_CTRL_DEREN_Pos)
1512#define MEMSYSCTL_DTGU_CTRL_DBFEN_Pos 0U
1513#define MEMSYSCTL_DTGU_CTRL_DBFEN_Msk (0x1UL /*<< MEMSYSCTL_DTGU_CTRL_DBFEN_Pos*/)
1515/* MEMSYSCTL DTGU Configuration Register (DTGU_CFG) Register Definitions */
1516#define MEMSYSCTL_DTGU_CFG_PRESENT_Pos 31U
1517#define MEMSYSCTL_DTGU_CFG_PRESENT_Msk (0x1UL << MEMSYSCTL_DTGU_CFG_PRESENT_Pos)
1519#define MEMSYSCTL_DTGU_CFG_NUMBLKS_Pos 8U
1520#define MEMSYSCTL_DTGU_CFG_NUMBLKS_Msk (0xFUL << MEMSYSCTL_DTGU_CFG_NUMBLKS_Pos)
1522#define MEMSYSCTL_DTGU_CFG_BLKSZ_Pos 0U
1523#define MEMSYSCTL_DTGU_CFG_BLKSZ_Msk (0xFUL /*<< MEMSYSCTL_DTGU_CFG_BLKSZ_Pos*/) /* end of group MemSysCtl_Type */
1527
1528
1539typedef struct
1540{
1541 __IOM uint32_t CPDLPSTATE;
1542 __IOM uint32_t DPDLPSTATE;
1544
1545/* PWRMODCTL Core Power Domain Low Power State (CPDLPSTATE) Register Definitions */
1546#define PWRMODCTL_CPDLPSTATE_RLPSTATE_Pos 8U
1547#define PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk (0x3UL << PWRMODCTL_CPDLPSTATE_RLPSTATE_Pos)
1549#define PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos 4U
1550#define PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk (0x3UL << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos)
1552#define PWRMODCTL_CPDLPSTATE_CLPSTATE_Pos 0U
1553#define PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk (0x3UL /*<< PWRMODCTL_CPDLPSTATE_CLPSTATE_Pos*/)
1555/* PWRMODCTL Debug Power Domain Low Power State (DPDLPSTATE) Register Definitions */
1556#define PWRMODCTL_DPDLPSTATE_DLPSTATE_Pos 0U
1557#define PWRMODCTL_DPDLPSTATE_DLPSTATE_Msk (0x3UL /*<< PWRMODCTL_DPDLPSTATE_DLPSTATE_Pos*/) /* end of group PwrModCtl_Type */
1560
1561
1572typedef struct
1573{
1574 __IOM uint32_t EWIC_CR;
1575 __IOM uint32_t EWIC_ASCR;
1576 __OM uint32_t EWIC_CLRMASK;
1577 __IM uint32_t EWIC_NUMID;
1578 uint32_t RESERVED0[124U];
1579 __IOM uint32_t EWIC_MASKA;
1580 __IOM uint32_t EWIC_MASKn[15];
1581 uint32_t RESERVED1[112U];
1582 __IM uint32_t EWIC_PENDA;
1583 __IOM uint32_t EWIC_PENDn[15];
1584 uint32_t RESERVED2[112U];
1585 __IM uint32_t EWIC_PSR;
1586} EWIC_Type;
1587
1588/* EWIC Control (EWIC_CR) Register Definitions */
1589#define EWIC_EWIC_CR_EN_Pos 0U
1590#define EWIC_EWIC_CR_EN_Msk (0x1UL /*<< EWIC_EWIC_CR_EN_Pos*/)
1592/* EWIC Automatic Sequence Control (EWIC_ASCR) Register Definitions */
1593#define EWIC_EWIC_ASCR_ASPU_Pos 1U
1594#define EWIC_EWIC_ASCR_ASPU_Msk (0x1UL << EWIC_EWIC_ASCR_ASPU_Pos)
1596#define EWIC_EWIC_ASCR_ASPD_Pos 0U
1597#define EWIC_EWIC_ASCR_ASPD_Msk (0x1UL /*<< EWIC_EWIC_ASCR_ASPD_Pos*/)
1599/* EWIC Event Number ID (EWIC_NUMID) Register Definitions */
1600#define EWIC_EWIC_NUMID_NUMEVENT_Pos 0U
1601#define EWIC_EWIC_NUMID_NUMEVENT_Msk (0xFFFFUL /*<< EWIC_EWIC_NUMID_NUMEVENT_Pos*/)
1603/* EWIC Mask A (EWIC_MASKA) Register Definitions */
1604#define EWIC_EWIC_MASKA_EDBGREQ_Pos 2U
1605#define EWIC_EWIC_MASKA_EDBGREQ_Msk (0x1UL << EWIC_EWIC_MASKA_EDBGREQ_Pos)
1607#define EWIC_EWIC_MASKA_NMI_Pos 1U
1608#define EWIC_EWIC_MASKA_NMI_Msk (0x1UL << EWIC_EWIC_MASKA_NMI_Pos)
1610#define EWIC_EWIC_MASKA_EVENT_Pos 0U
1611#define EWIC_EWIC_MASKA_EVENT_Msk (0x1UL /*<< EWIC_EWIC_MASKA_EVENT_Pos*/)
1613/* EWIC Mask n (EWIC_MASKn) Register Definitions */
1614#define EWIC_EWIC_MASKn_IRQ_Pos 0U
1615#define EWIC_EWIC_MASKn_IRQ_Msk (0xFFFFFFFFUL /*<< EWIC_EWIC_MASKn_IRQ_Pos*/)
1617/* EWIC Pend A (EWIC_PENDA) Register Definitions */
1618#define EWIC_EWIC_PENDA_EDBGREQ_Pos 2U
1619#define EWIC_EWIC_PENDA_EDBGREQ_Msk (0x1UL << EWIC_EWIC_PENDA_EDBGREQ_Pos)
1621#define EWIC_EWIC_PENDA_NMI_Pos 1U
1622#define EWIC_EWIC_PENDA_NMI_Msk (0x1UL << EWIC_EWIC_PENDA_NMI_Pos)
1624#define EWIC_EWIC_PENDA_EVENT_Pos 0U
1625#define EWIC_EWIC_PENDA_EVENT_Msk (0x1UL /*<< EWIC_EWIC_PENDA_EVENT_Pos*/)
1627/* EWIC Pend n (EWIC_PENDn) Register Definitions */
1628#define EWIC_EWIC_PENDn_IRQ_Pos 0U
1629#define EWIC_EWIC_PENDn_IRQ_Msk (0xFFFFFFFFUL /*<< EWIC_EWIC_PENDn_IRQ_Pos*/)
1631/* EWIC Pend Summary (EWIC_PSR) Register Definitions */
1632#define EWIC_EWIC_PSR_NZ_Pos 1U
1633#define EWIC_EWIC_PSR_NZ_Msk (0x7FFFUL << EWIC_EWIC_PSR_NZ_Pos)
1635#define EWIC_EWIC_PSR_NZA_Pos 0U
1636#define EWIC_EWIC_PSR_NZA_Msk (0x1UL /*<< EWIC_EWIC_PSR_NZA_Pos*/) /* end of group EWIC_Type */
1639
1640
1651typedef struct
1652{
1653 __OM uint32_t EVENTSPR;
1654 uint32_t RESERVED0[31U];
1655 __IM uint32_t EVENTMASKA;
1656 __IM uint32_t EVENTMASKn[15];
1658
1659/* EWIC_ISA Event Set Pending (EVENTSPR) Register Definitions */
1660#define EWIC_ISA_EVENTSPR_EDBGREQ_Pos 2U
1661#define EWIC_ISA_EVENTSPR_EDBGREQ_Msk (0x1UL << EWIC_ISA_EVENTSPR_EDBGREQ_Pos)
1663#define EWIC_ISA_EVENTSPR_NMI_Pos 1U
1664#define EWIC_ISA_EVENTSPR_NMI_Msk (0x1UL << EWIC_ISA_EVENTSPR_NMI_Pos)
1666#define EWIC_ISA_EVENTSPR_EVENT_Pos 0U
1667#define EWIC_ISA_EVENTSPR_EVENT_Msk (0x1UL /*<< EWIC_ISA_EVENTSPR_EVENT_Pos*/)
1669/* EWIC_ISA Event Mask A (EVENTMASKA) Register Definitions */
1670#define EWIC_ISA_EVENTMASKA_EDBGREQ_Pos 2U
1671#define EWIC_ISA_EVENTMASKA_EDBGREQ_Msk (0x1UL << EWIC_ISA_EVENTMASKA_EDBGREQ_Pos)
1673#define EWIC_ISA_EVENTMASKA_NMI_Pos 1U
1674#define EWIC_ISA_EVENTMASKA_NMI_Msk (0x1UL << EWIC_ISA_EVENTMASKA_NMI_Pos)
1676#define EWIC_ISA_EVENTMASKA_EVENT_Pos 0U
1677#define EWIC_ISA_EVENTMASKA_EVENT_Msk (0x1UL /*<< EWIC_ISA_EVENTMASKA_EVENT_Pos*/)
1679/* EWIC_ISA Event Mask n (EVENTMASKn) Register Definitions */
1680#define EWIC_ISA_EVENTMASKn_IRQ_Pos 0U
1681#define EWIC_ISA_EVENTMASKn_IRQ_Msk (0xFFFFFFFFUL /*<< EWIC_ISA_EVENTMASKn_IRQ_Pos*/) /* end of group EWIC_ISA_Type */
1684
1685
1696typedef struct
1697{
1698 __IOM uint32_t IEBR0;
1699 __IOM uint32_t IEBR1;
1700 uint32_t RESERVED0[2U];
1701 __IOM uint32_t DEBR0;
1702 __IOM uint32_t DEBR1;
1703 uint32_t RESERVED1[2U];
1704 __IOM uint32_t TEBR0;
1705 uint32_t RESERVED2[1U];
1706 __IOM uint32_t TEBR1;
1707} ErrBnk_Type;
1708
1709/* ERRBNK Instruction Cache Error Bank Register 0 (IEBR0) Register Definitions */
1710#define ERRBNK_IEBR0_SWDEF_Pos 30U
1711#define ERRBNK_IEBR0_SWDEF_Msk (0x3UL << ERRBNK_IEBR0_SWDEF_Pos)
1713#define ERRBNK_IEBR0_BANK_Pos 16U
1714#define ERRBNK_IEBR0_BANK_Msk (0x1UL << ERRBNK_IEBR0_BANK_Pos)
1716#define ERRBNK_IEBR0_LOCATION_Pos 2U
1717#define ERRBNK_IEBR0_LOCATION_Msk (0x3FFFUL << ERRBNK_IEBR0_LOCATION_Pos)
1719#define ERRBNK_IEBR0_LOCKED_Pos 1U
1720#define ERRBNK_IEBR0_LOCKED_Msk (0x1UL << ERRBNK_IEBR0_LOCKED_Pos)
1722#define ERRBNK_IEBR0_VALID_Pos 0U
1723#define ERRBNK_IEBR0_VALID_Msk (0x1UL << /*ERRBNK_IEBR0_VALID_Pos*/)
1725/* ERRBNK Instruction Cache Error Bank Register 1 (IEBR1) Register Definitions */
1726#define ERRBNK_IEBR1_SWDEF_Pos 30U
1727#define ERRBNK_IEBR1_SWDEF_Msk (0x3UL << ERRBNK_IEBR1_SWDEF_Pos)
1729#define ERRBNK_IEBR1_BANK_Pos 16U
1730#define ERRBNK_IEBR1_BANK_Msk (0x1UL << ERRBNK_IEBR1_BANK_Pos)
1732#define ERRBNK_IEBR1_LOCATION_Pos 2U
1733#define ERRBNK_IEBR1_LOCATION_Msk (0x3FFFUL << ERRBNK_IEBR1_LOCATION_Pos)
1735#define ERRBNK_IEBR1_LOCKED_Pos 1U
1736#define ERRBNK_IEBR1_LOCKED_Msk (0x1UL << ERRBNK_IEBR1_LOCKED_Pos)
1738#define ERRBNK_IEBR1_VALID_Pos 0U
1739#define ERRBNK_IEBR1_VALID_Msk (0x1UL << /*ERRBNK_IEBR1_VALID_Pos*/)
1741/* ERRBNK Data Cache Error Bank Register 0 (DEBR0) Register Definitions */
1742#define ERRBNK_DEBR0_SWDEF_Pos 30U
1743#define ERRBNK_DEBR0_SWDEF_Msk (0x3UL << ERRBNK_DEBR0_SWDEF_Pos)
1745#define ERRBNK_DEBR0_TYPE_Pos 17U
1746#define ERRBNK_DEBR0_TYPE_Msk (0x1UL << ERRBNK_DEBR0_TYPE_Pos)
1748#define ERRBNK_DEBR0_BANK_Pos 16U
1749#define ERRBNK_DEBR0_BANK_Msk (0x1UL << ERRBNK_DEBR0_BANK_Pos)
1751#define ERRBNK_DEBR0_LOCATION_Pos 2U
1752#define ERRBNK_DEBR0_LOCATION_Msk (0x3FFFUL << ERRBNK_DEBR0_LOCATION_Pos)
1754#define ERRBNK_DEBR0_LOCKED_Pos 1U
1755#define ERRBNK_DEBR0_LOCKED_Msk (0x1UL << ERRBNK_DEBR0_LOCKED_Pos)
1757#define ERRBNK_DEBR0_VALID_Pos 0U
1758#define ERRBNK_DEBR0_VALID_Msk (0x1UL << /*ERRBNK_DEBR0_VALID_Pos*/)
1760/* ERRBNK Data Cache Error Bank Register 1 (DEBR1) Register Definitions */
1761#define ERRBNK_DEBR1_SWDEF_Pos 30U
1762#define ERRBNK_DEBR1_SWDEF_Msk (0x3UL << ERRBNK_DEBR1_SWDEF_Pos)
1764#define ERRBNK_DEBR1_TYPE_Pos 17U
1765#define ERRBNK_DEBR1_TYPE_Msk (0x1UL << ERRBNK_DEBR1_TYPE_Pos)
1767#define ERRBNK_DEBR1_BANK_Pos 16U
1768#define ERRBNK_DEBR1_BANK_Msk (0x1UL << ERRBNK_DEBR1_BANK_Pos)
1770#define ERRBNK_DEBR1_LOCATION_Pos 2U
1771#define ERRBNK_DEBR1_LOCATION_Msk (0x3FFFUL << ERRBNK_DEBR1_LOCATION_Pos)
1773#define ERRBNK_DEBR1_LOCKED_Pos 1U
1774#define ERRBNK_DEBR1_LOCKED_Msk (0x1UL << ERRBNK_DEBR1_LOCKED_Pos)
1776#define ERRBNK_DEBR1_VALID_Pos 0U
1777#define ERRBNK_DEBR1_VALID_Msk (0x1UL << /*ERRBNK_DEBR1_VALID_Pos*/)
1779/* ERRBNK TCM Error Bank Register 0 (TEBR0) Register Definitions */
1780#define ERRBNK_TEBR0_SWDEF_Pos 30U
1781#define ERRBNK_TEBR0_SWDEF_Msk (0x3UL << ERRBNK_TEBR0_SWDEF_Pos)
1783#define ERRBNK_TEBR0_POISON_Pos 28U
1784#define ERRBNK_TEBR0_POISON_Msk (0x1UL << ERRBNK_TEBR0_POISON_Pos)
1786#define ERRBNK_TEBR0_TYPE_Pos 27U
1787#define ERRBNK_TEBR0_TYPE_Msk (0x1UL << ERRBNK_TEBR0_TYPE_Pos)
1789#define ERRBNK_TEBR0_BANK_Pos 24U
1790#define ERRBNK_TEBR0_BANK_Msk (0x7UL << ERRBNK_TEBR0_BANK_Pos)
1792#define ERRBNK_TEBR0_LOCATION_Pos 2U
1793#define ERRBNK_TEBR0_LOCATION_Msk (0x3FFFFFUL << ERRBNK_TEBR0_LOCATION_Pos)
1795#define ERRBNK_TEBR0_LOCKED_Pos 1U
1796#define ERRBNK_TEBR0_LOCKED_Msk (0x1UL << ERRBNK_TEBR0_LOCKED_Pos)
1798#define ERRBNK_TEBR0_VALID_Pos 0U
1799#define ERRBNK_TEBR0_VALID_Msk (0x1UL << /*ERRBNK_TEBR0_VALID_Pos*/)
1801/* ERRBNK TCM Error Bank Register 1 (TEBR1) Register Definitions */
1802#define ERRBNK_TEBR1_SWDEF_Pos 30U
1803#define ERRBNK_TEBR1_SWDEF_Msk (0x3UL << ERRBNK_TEBR1_SWDEF_Pos)
1805#define ERRBNK_TEBR1_POISON_Pos 28U
1806#define ERRBNK_TEBR1_POISON_Msk (0x1UL << ERRBNK_TEBR1_POISON_Pos)
1808#define ERRBNK_TEBR1_TYPE_Pos 27U
1809#define ERRBNK_TEBR1_TYPE_Msk (0x1UL << ERRBNK_TEBR1_TYPE_Pos)
1811#define ERRBNK_TEBR1_BANK_Pos 24U
1812#define ERRBNK_TEBR1_BANK_Msk (0x7UL << ERRBNK_TEBR1_BANK_Pos)
1814#define ERRBNK_TEBR1_LOCATION_Pos 2U
1815#define ERRBNK_TEBR1_LOCATION_Msk (0x3FFFFFUL << ERRBNK_TEBR1_LOCATION_Pos)
1817#define ERRBNK_TEBR1_LOCKED_Pos 1U
1818#define ERRBNK_TEBR1_LOCKED_Msk (0x1UL << ERRBNK_TEBR1_LOCKED_Pos)
1820#define ERRBNK_TEBR1_VALID_Pos 0U
1821#define ERRBNK_TEBR1_VALID_Msk (0x1UL << /*ERRBNK_TEBR1_VALID_Pos*/) /* end of group ErrBnk_Type */
1824
1825
1836typedef struct
1837{
1838 __OM uint32_t CFGINFOSEL;
1839 __IM uint32_t CFGINFORD;
1841
1842/* PRCCFGINF Processor Configuration Information Selection Register (CFGINFOSEL) Definitions */
1843
1844/* PRCCFGINF Processor Configuration Information Read Data Register (CFGINFORD) Definitions */
1845 /* end of group PrcCfgInf_Type */
1847
1848
1859typedef struct
1860{
1861 __IM uint32_t STLNVICPENDOR;
1862 __IM uint32_t STLNVICACTVOR;
1863 uint32_t RESERVED0[2U];
1864 __OM uint32_t STLIDMPUSR;
1865 __IM uint32_t STLIMPUOR;
1866 __IM uint32_t STLD0MPUOR;
1867 __IM uint32_t STLD1MPUOR;
1869} STL_Type;
1870
1871/* STL Software Test Library Observation Register (STLNVICPENDOR) Definitions */
1872#define STL_STLNVICPENDOR_VALID_Pos 18U
1873#define STL_STLNVICPENDOR_VALID_Msk (0x1UL << STL_STLNVICPENDOR_VALID_Pos)
1875#define STL_STLNVICPENDOR_TARGET_Pos 17U
1876#define STL_STLNVICPENDOR_TARGET_Msk (0x1UL << STL_STLNVICPENDOR_TARGET_Pos)
1878#define STL_STLNVICPENDOR_PRIORITY_Pos 9U
1879#define STL_STLNVICPENDOR_PRIORITY_Msk (0xFFUL << STL_STLNVICPENDOR_PRIORITY_Pos)
1881#define STL_STLNVICPENDOR_INTNUM_Pos 0U
1882#define STL_STLNVICPENDOR_INTNUM_Msk (0x1FFUL /*<< STL_STLNVICPENDOR_INTNUM_Pos*/)
1884/* STL Software Test Library Observation Register (STLNVICACTVOR) Definitions */
1885#define STL_STLNVICACTVOR_VALID_Pos 18U
1886#define STL_STLNVICACTVOR_VALID_Msk (0x1UL << STL_STLNVICACTVOR_VALID_Pos)
1888#define STL_STLNVICACTVOR_TARGET_Pos 17U
1889#define STL_STLNVICACTVOR_TARGET_Msk (0x1UL << STL_STLNVICACTVOR_TARGET_Pos)
1891#define STL_STLNVICACTVOR_PRIORITY_Pos 9U
1892#define STL_STLNVICACTVOR_PRIORITY_Msk (0xFFUL << STL_STLNVICACTVOR_PRIORITY_Pos)
1894#define STL_STLNVICACTVOR_INTNUM_Pos 0U
1895#define STL_STLNVICACTVOR_INTNUM_Msk (0x1FFUL /*<< STL_STLNVICACTVOR_INTNUM_Pos*/)
1897/* STL Software Test Library Observation Register (STLIDMPUSR) Definitions */
1898#define STL_STLIDMPUSR_ADDR_Pos 5U
1899#define STL_STLIDMPUSR_ADDR_Msk (0x7FFFFFFUL << STL_STLIDMPUSR_ADDR_Pos)
1901#define STL_STLIDMPUSR_INSTR_Pos 2U
1902#define STL_STLIDMPUSR_INSTR_Msk (0x1UL << STL_STLIDMPUSR_INSTR_Pos)
1904#define STL_STLIDMPUSR_DATA_Pos 1U
1905#define STL_STLIDMPUSR_DATA_Msk (0x1UL << STL_STLIDMPUSR_DATA_Pos)
1907/* STL Software Test Library Observation Register (STLIMPUOR) Definitions */
1908#define STL_STLIMPUOR_HITREGION_Pos 9U
1909#define STL_STLIMPUOR_HITREGION_Msk (0xFFUL << STL_STLIMPUOR_HITREGION_Pos)
1911#define STL_STLIMPUOR_ATTR_Pos 0U
1912#define STL_STLIMPUOR_ATTR_Msk (0x1FFUL /*<< STL_STLIMPUOR_ATTR_Pos*/)
1914/* STL Software Test Library Observation Register (STLD0MPUOR) Definitions */
1915#define STL_STLD0MPUOR_HITREGION_Pos 9U
1916#define STL_STLD0MPUOR_HITREGION_Msk (0xFFUL << STL_STLD0MPUOR_HITREGION_Pos)
1918#define STL_STLD0MPUOR_ATTR_Pos 0U
1919#define STL_STLD0MPUOR_ATTR_Msk (0x1FFUL /*<< STL_STLD0MPUOR_ATTR_Pos*/)
1921/* STL Software Test Library Observation Register (STLD1MPUOR) Definitions */
1922#define STL_STLD1MPUOR_HITREGION_Pos 9U
1923#define STL_STLD1MPUOR_HITREGION_Msk (0xFFUL << STL_STLD1MPUOR_HITREGION_Pos)
1925#define STL_STLD1MPUOR_ATTR_Pos 0U
1926#define STL_STLD1MPUOR_ATTR_Msk (0x1FFUL /*<< STL_STLD1MPUOR_ATTR_Pos*/) /* end of group STL_Type */
1929
1930
1941typedef struct
1942{
1943 __IM uint32_t SSPSR;
1944 __IOM uint32_t CSPSR;
1945 uint32_t RESERVED0[2U];
1946 __IOM uint32_t ACPR;
1947 uint32_t RESERVED1[55U];
1948 __IOM uint32_t SPPR;
1949 uint32_t RESERVED2[131U];
1950 __IM uint32_t FFSR;
1951 __IOM uint32_t FFCR;
1952 __IOM uint32_t PSCR;
1953 uint32_t RESERVED3[809U];
1954 __OM uint32_t LAR;
1955 __IM uint32_t LSR;
1956 uint32_t RESERVED4[4U];
1957 __IM uint32_t TYPE;
1958 __IM uint32_t DEVTYPE;
1959} TPI_Type;
1960
1961/* TPI Asynchronous Clock Prescaler Register Definitions */
1962#define TPI_ACPR_SWOSCALER_Pos 0U
1963#define TPI_ACPR_SWOSCALER_Msk (0xFFFFUL /*<< TPI_ACPR_SWOSCALER_Pos*/)
1965/* TPI Selected Pin Protocol Register Definitions */
1966#define TPI_SPPR_TXMODE_Pos 0U
1967#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/)
1969/* TPI Formatter and Flush Status Register Definitions */
1970#define TPI_FFSR_FtNonStop_Pos 3U
1971#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos)
1973#define TPI_FFSR_TCPresent_Pos 2U
1974#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos)
1976#define TPI_FFSR_FtStopped_Pos 1U
1977#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos)
1979#define TPI_FFSR_FlInProg_Pos 0U
1980#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/)
1982/* TPI Formatter and Flush Control Register Definitions */
1983#define TPI_FFCR_TrigIn_Pos 8U
1984#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos)
1986#define TPI_FFCR_FOnMan_Pos 6U
1987#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos)
1989#define TPI_FFCR_EnFmt_Pos 0U
1990#define TPI_FFCR_EnFmt_Msk (0x3UL << /*TPI_FFCR_EnFmt_Pos*/)
1992/* TPI Periodic Synchronization Control Register Definitions */
1993#define TPI_PSCR_PSCount_Pos 0U
1994#define TPI_PSCR_PSCount_Msk (0x1FUL /*<< TPI_PSCR_PSCount_Pos*/)
1996/* TPI Software Lock Status Register Definitions */
1997#define TPI_LSR_nTT_Pos 1U
1998#define TPI_LSR_nTT_Msk (0x1UL << TPI_LSR_nTT_Pos)
2000#define TPI_LSR_SLK_Pos 1U
2001#define TPI_LSR_SLK_Msk (0x1UL << TPI_LSR_SLK_Pos)
2003#define TPI_LSR_SLI_Pos 0U
2004#define TPI_LSR_SLI_Msk (0x1UL /*<< TPI_LSR_SLI_Pos*/)
2006/* TPI DEVID Register Definitions */
2007#define TPI_DEVID_NRZVALID_Pos 11U
2008#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos)
2010#define TPI_DEVID_MANCVALID_Pos 10U
2011#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos)
2013#define TPI_DEVID_PTINVALID_Pos 9U
2014#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos)
2016#define TPI_DEVID_FIFOSZ_Pos 6U
2017#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos)
2019/* TPI DEVTYPE Register Definitions */
2020#define TPI_DEVTYPE_SubType_Pos 4U
2021#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/)
2023#define TPI_DEVTYPE_MajorType_Pos 0U
2024#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /* end of group CMSIS_TPI */
2027
2028#if defined (__PMU_PRESENT) && (__PMU_PRESENT == 1U)
2039typedef struct
2040{
2041 __IOM uint32_t EVCNTR[__PMU_NUM_EVENTCNT];
2042#if __PMU_NUM_EVENTCNT<31
2043 uint32_t RESERVED0[31U-__PMU_NUM_EVENTCNT];
2044#endif
2045 __IOM uint32_t CCNTR;
2046 uint32_t RESERVED1[224];
2047 __IOM uint32_t EVTYPER[__PMU_NUM_EVENTCNT];
2048#if __PMU_NUM_EVENTCNT<31
2049 uint32_t RESERVED2[31U-__PMU_NUM_EVENTCNT];
2050#endif
2051 __IOM uint32_t CCFILTR;
2052 uint32_t RESERVED3[480];
2053 __IOM uint32_t CNTENSET;
2054 uint32_t RESERVED4[7];
2055 __IOM uint32_t CNTENCLR;
2056 uint32_t RESERVED5[7];
2057 __IOM uint32_t INTENSET;
2058 uint32_t RESERVED6[7];
2059 __IOM uint32_t INTENCLR;
2060 uint32_t RESERVED7[7];
2061 __IOM uint32_t OVSCLR;
2062 uint32_t RESERVED8[7];
2063 __IOM uint32_t SWINC;
2064 uint32_t RESERVED9[7];
2065 __IOM uint32_t OVSSET;
2066 uint32_t RESERVED10[79];
2067 __IOM uint32_t TYPE;
2068 __IOM uint32_t CTRL;
2069 uint32_t RESERVED11[108];
2070 __IOM uint32_t AUTHSTATUS;
2071 __IOM uint32_t DEVARCH;
2072 uint32_t RESERVED12[3];
2073 __IOM uint32_t DEVTYPE;
2074 __IOM uint32_t PIDR4;
2075 uint32_t RESERVED13[3];
2076 __IOM uint32_t PIDR0;
2077 __IOM uint32_t PIDR1;
2078 __IOM uint32_t PIDR2;
2079 __IOM uint32_t PIDR3;
2080 __IOM uint32_t CIDR0;
2081 __IOM uint32_t CIDR1;
2082 __IOM uint32_t CIDR2;
2083 __IOM uint32_t CIDR3;
2084} PMU_Type;
2085
2088#define PMU_EVCNTR_CNT_Pos 0U
2089#define PMU_EVCNTR_CNT_Msk (0xFFFFUL /*<< PMU_EVCNTRx_CNT_Pos*/)
2093#define PMU_EVTYPER_EVENTTOCNT_Pos 0U
2094#define PMU_EVTYPER_EVENTTOCNT_Msk (0xFFFFUL /*<< EVTYPERx_EVENTTOCNT_Pos*/)
2098#define PMU_CNTENSET_CNT0_ENABLE_Pos 0U
2099#define PMU_CNTENSET_CNT0_ENABLE_Msk (1UL /*<< PMU_CNTENSET_CNT0_ENABLE_Pos*/)
2101#define PMU_CNTENSET_CNT1_ENABLE_Pos 1U
2102#define PMU_CNTENSET_CNT1_ENABLE_Msk (1UL << PMU_CNTENSET_CNT1_ENABLE_Pos)
2104#define PMU_CNTENSET_CNT2_ENABLE_Pos 2U
2105#define PMU_CNTENSET_CNT2_ENABLE_Msk (1UL << PMU_CNTENSET_CNT2_ENABLE_Pos)
2107#define PMU_CNTENSET_CNT3_ENABLE_Pos 3U
2108#define PMU_CNTENSET_CNT3_ENABLE_Msk (1UL << PMU_CNTENSET_CNT3_ENABLE_Pos)
2110#define PMU_CNTENSET_CNT4_ENABLE_Pos 4U
2111#define PMU_CNTENSET_CNT4_ENABLE_Msk (1UL << PMU_CNTENSET_CNT4_ENABLE_Pos)
2113#define PMU_CNTENSET_CNT5_ENABLE_Pos 5U
2114#define PMU_CNTENSET_CNT5_ENABLE_Msk (1UL << PMU_CNTENSET_CNT5_ENABLE_Pos)
2116#define PMU_CNTENSET_CNT6_ENABLE_Pos 6U
2117#define PMU_CNTENSET_CNT6_ENABLE_Msk (1UL << PMU_CNTENSET_CNT6_ENABLE_Pos)
2119#define PMU_CNTENSET_CNT7_ENABLE_Pos 7U
2120#define PMU_CNTENSET_CNT7_ENABLE_Msk (1UL << PMU_CNTENSET_CNT7_ENABLE_Pos)
2122#define PMU_CNTENSET_CNT8_ENABLE_Pos 8U
2123#define PMU_CNTENSET_CNT8_ENABLE_Msk (1UL << PMU_CNTENSET_CNT8_ENABLE_Pos)
2125#define PMU_CNTENSET_CNT9_ENABLE_Pos 9U
2126#define PMU_CNTENSET_CNT9_ENABLE_Msk (1UL << PMU_CNTENSET_CNT9_ENABLE_Pos)
2128#define PMU_CNTENSET_CNT10_ENABLE_Pos 10U
2129#define PMU_CNTENSET_CNT10_ENABLE_Msk (1UL << PMU_CNTENSET_CNT10_ENABLE_Pos)
2131#define PMU_CNTENSET_CNT11_ENABLE_Pos 11U
2132#define PMU_CNTENSET_CNT11_ENABLE_Msk (1UL << PMU_CNTENSET_CNT11_ENABLE_Pos)
2134#define PMU_CNTENSET_CNT12_ENABLE_Pos 12U
2135#define PMU_CNTENSET_CNT12_ENABLE_Msk (1UL << PMU_CNTENSET_CNT12_ENABLE_Pos)
2137#define PMU_CNTENSET_CNT13_ENABLE_Pos 13U
2138#define PMU_CNTENSET_CNT13_ENABLE_Msk (1UL << PMU_CNTENSET_CNT13_ENABLE_Pos)
2140#define PMU_CNTENSET_CNT14_ENABLE_Pos 14U
2141#define PMU_CNTENSET_CNT14_ENABLE_Msk (1UL << PMU_CNTENSET_CNT14_ENABLE_Pos)
2143#define PMU_CNTENSET_CNT15_ENABLE_Pos 15U
2144#define PMU_CNTENSET_CNT15_ENABLE_Msk (1UL << PMU_CNTENSET_CNT15_ENABLE_Pos)
2146#define PMU_CNTENSET_CNT16_ENABLE_Pos 16U
2147#define PMU_CNTENSET_CNT16_ENABLE_Msk (1UL << PMU_CNTENSET_CNT16_ENABLE_Pos)
2149#define PMU_CNTENSET_CNT17_ENABLE_Pos 17U
2150#define PMU_CNTENSET_CNT17_ENABLE_Msk (1UL << PMU_CNTENSET_CNT17_ENABLE_Pos)
2152#define PMU_CNTENSET_CNT18_ENABLE_Pos 18U
2153#define PMU_CNTENSET_CNT18_ENABLE_Msk (1UL << PMU_CNTENSET_CNT18_ENABLE_Pos)
2155#define PMU_CNTENSET_CNT19_ENABLE_Pos 19U
2156#define PMU_CNTENSET_CNT19_ENABLE_Msk (1UL << PMU_CNTENSET_CNT19_ENABLE_Pos)
2158#define PMU_CNTENSET_CNT20_ENABLE_Pos 20U
2159#define PMU_CNTENSET_CNT20_ENABLE_Msk (1UL << PMU_CNTENSET_CNT20_ENABLE_Pos)
2161#define PMU_CNTENSET_CNT21_ENABLE_Pos 21U
2162#define PMU_CNTENSET_CNT21_ENABLE_Msk (1UL << PMU_CNTENSET_CNT21_ENABLE_Pos)
2164#define PMU_CNTENSET_CNT22_ENABLE_Pos 22U
2165#define PMU_CNTENSET_CNT22_ENABLE_Msk (1UL << PMU_CNTENSET_CNT22_ENABLE_Pos)
2167#define PMU_CNTENSET_CNT23_ENABLE_Pos 23U
2168#define PMU_CNTENSET_CNT23_ENABLE_Msk (1UL << PMU_CNTENSET_CNT23_ENABLE_Pos)
2170#define PMU_CNTENSET_CNT24_ENABLE_Pos 24U
2171#define PMU_CNTENSET_CNT24_ENABLE_Msk (1UL << PMU_CNTENSET_CNT24_ENABLE_Pos)
2173#define PMU_CNTENSET_CNT25_ENABLE_Pos 25U
2174#define PMU_CNTENSET_CNT25_ENABLE_Msk (1UL << PMU_CNTENSET_CNT25_ENABLE_Pos)
2176#define PMU_CNTENSET_CNT26_ENABLE_Pos 26U
2177#define PMU_CNTENSET_CNT26_ENABLE_Msk (1UL << PMU_CNTENSET_CNT26_ENABLE_Pos)
2179#define PMU_CNTENSET_CNT27_ENABLE_Pos 27U
2180#define PMU_CNTENSET_CNT27_ENABLE_Msk (1UL << PMU_CNTENSET_CNT27_ENABLE_Pos)
2182#define PMU_CNTENSET_CNT28_ENABLE_Pos 28U
2183#define PMU_CNTENSET_CNT28_ENABLE_Msk (1UL << PMU_CNTENSET_CNT28_ENABLE_Pos)
2185#define PMU_CNTENSET_CNT29_ENABLE_Pos 29U
2186#define PMU_CNTENSET_CNT29_ENABLE_Msk (1UL << PMU_CNTENSET_CNT29_ENABLE_Pos)
2188#define PMU_CNTENSET_CNT30_ENABLE_Pos 30U
2189#define PMU_CNTENSET_CNT30_ENABLE_Msk (1UL << PMU_CNTENSET_CNT30_ENABLE_Pos)
2191#define PMU_CNTENSET_CCNTR_ENABLE_Pos 31U
2192#define PMU_CNTENSET_CCNTR_ENABLE_Msk (1UL << PMU_CNTENSET_CCNTR_ENABLE_Pos)
2196#define PMU_CNTENSET_CNT0_ENABLE_Pos 0U
2197#define PMU_CNTENCLR_CNT0_ENABLE_Msk (1UL /*<< PMU_CNTENCLR_CNT0_ENABLE_Pos*/)
2199#define PMU_CNTENCLR_CNT1_ENABLE_Pos 1U
2200#define PMU_CNTENCLR_CNT1_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT1_ENABLE_Pos)
2202#define PMU_CNTENCLR_CNT2_ENABLE_Pos 2U
2203#define PMU_CNTENCLR_CNT2_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT2_ENABLE_Pos)
2205#define PMU_CNTENCLR_CNT3_ENABLE_Pos 3U
2206#define PMU_CNTENCLR_CNT3_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT3_ENABLE_Pos)
2208#define PMU_CNTENCLR_CNT4_ENABLE_Pos 4U
2209#define PMU_CNTENCLR_CNT4_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT4_ENABLE_Pos)
2211#define PMU_CNTENCLR_CNT5_ENABLE_Pos 5U
2212#define PMU_CNTENCLR_CNT5_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT5_ENABLE_Pos)
2214#define PMU_CNTENCLR_CNT6_ENABLE_Pos 6U
2215#define PMU_CNTENCLR_CNT6_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT6_ENABLE_Pos)
2217#define PMU_CNTENCLR_CNT7_ENABLE_Pos 7U
2218#define PMU_CNTENCLR_CNT7_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT7_ENABLE_Pos)
2220#define PMU_CNTENCLR_CNT8_ENABLE_Pos 8U
2221#define PMU_CNTENCLR_CNT8_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT8_ENABLE_Pos)
2223#define PMU_CNTENCLR_CNT9_ENABLE_Pos 9U
2224#define PMU_CNTENCLR_CNT9_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT9_ENABLE_Pos)
2226#define PMU_CNTENCLR_CNT10_ENABLE_Pos 10U
2227#define PMU_CNTENCLR_CNT10_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT10_ENABLE_Pos)
2229#define PMU_CNTENCLR_CNT11_ENABLE_Pos 11U
2230#define PMU_CNTENCLR_CNT11_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT11_ENABLE_Pos)
2232#define PMU_CNTENCLR_CNT12_ENABLE_Pos 12U
2233#define PMU_CNTENCLR_CNT12_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT12_ENABLE_Pos)
2235#define PMU_CNTENCLR_CNT13_ENABLE_Pos 13U
2236#define PMU_CNTENCLR_CNT13_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT13_ENABLE_Pos)
2238#define PMU_CNTENCLR_CNT14_ENABLE_Pos 14U
2239#define PMU_CNTENCLR_CNT14_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT14_ENABLE_Pos)
2241#define PMU_CNTENCLR_CNT15_ENABLE_Pos 15U
2242#define PMU_CNTENCLR_CNT15_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT15_ENABLE_Pos)
2244#define PMU_CNTENCLR_CNT16_ENABLE_Pos 16U
2245#define PMU_CNTENCLR_CNT16_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT16_ENABLE_Pos)
2247#define PMU_CNTENCLR_CNT17_ENABLE_Pos 17U
2248#define PMU_CNTENCLR_CNT17_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT17_ENABLE_Pos)
2250#define PMU_CNTENCLR_CNT18_ENABLE_Pos 18U
2251#define PMU_CNTENCLR_CNT18_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT18_ENABLE_Pos)
2253#define PMU_CNTENCLR_CNT19_ENABLE_Pos 19U
2254#define PMU_CNTENCLR_CNT19_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT19_ENABLE_Pos)
2256#define PMU_CNTENCLR_CNT20_ENABLE_Pos 20U
2257#define PMU_CNTENCLR_CNT20_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT20_ENABLE_Pos)
2259#define PMU_CNTENCLR_CNT21_ENABLE_Pos 21U
2260#define PMU_CNTENCLR_CNT21_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT21_ENABLE_Pos)
2262#define PMU_CNTENCLR_CNT22_ENABLE_Pos 22U
2263#define PMU_CNTENCLR_CNT22_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT22_ENABLE_Pos)
2265#define PMU_CNTENCLR_CNT23_ENABLE_Pos 23U
2266#define PMU_CNTENCLR_CNT23_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT23_ENABLE_Pos)
2268#define PMU_CNTENCLR_CNT24_ENABLE_Pos 24U
2269#define PMU_CNTENCLR_CNT24_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT24_ENABLE_Pos)
2271#define PMU_CNTENCLR_CNT25_ENABLE_Pos 25U
2272#define PMU_CNTENCLR_CNT25_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT25_ENABLE_Pos)
2274#define PMU_CNTENCLR_CNT26_ENABLE_Pos 26U
2275#define PMU_CNTENCLR_CNT26_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT26_ENABLE_Pos)
2277#define PMU_CNTENCLR_CNT27_ENABLE_Pos 27U
2278#define PMU_CNTENCLR_CNT27_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT27_ENABLE_Pos)
2280#define PMU_CNTENCLR_CNT28_ENABLE_Pos 28U
2281#define PMU_CNTENCLR_CNT28_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT28_ENABLE_Pos)
2283#define PMU_CNTENCLR_CNT29_ENABLE_Pos 29U
2284#define PMU_CNTENCLR_CNT29_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT29_ENABLE_Pos)
2286#define PMU_CNTENCLR_CNT30_ENABLE_Pos 30U
2287#define PMU_CNTENCLR_CNT30_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT30_ENABLE_Pos)
2289#define PMU_CNTENCLR_CCNTR_ENABLE_Pos 31U
2290#define PMU_CNTENCLR_CCNTR_ENABLE_Msk (1UL << PMU_CNTENCLR_CCNTR_ENABLE_Pos)
2294#define PMU_INTENSET_CNT0_ENABLE_Pos 0U
2295#define PMU_INTENSET_CNT0_ENABLE_Msk (1UL /*<< PMU_INTENSET_CNT0_ENABLE_Pos*/)
2297#define PMU_INTENSET_CNT1_ENABLE_Pos 1U
2298#define PMU_INTENSET_CNT1_ENABLE_Msk (1UL << PMU_INTENSET_CNT1_ENABLE_Pos)
2300#define PMU_INTENSET_CNT2_ENABLE_Pos 2U
2301#define PMU_INTENSET_CNT2_ENABLE_Msk (1UL << PMU_INTENSET_CNT2_ENABLE_Pos)
2303#define PMU_INTENSET_CNT3_ENABLE_Pos 3U
2304#define PMU_INTENSET_CNT3_ENABLE_Msk (1UL << PMU_INTENSET_CNT3_ENABLE_Pos)
2306#define PMU_INTENSET_CNT4_ENABLE_Pos 4U
2307#define PMU_INTENSET_CNT4_ENABLE_Msk (1UL << PMU_INTENSET_CNT4_ENABLE_Pos)
2309#define PMU_INTENSET_CNT5_ENABLE_Pos 5U
2310#define PMU_INTENSET_CNT5_ENABLE_Msk (1UL << PMU_INTENSET_CNT5_ENABLE_Pos)
2312#define PMU_INTENSET_CNT6_ENABLE_Pos 6U
2313#define PMU_INTENSET_CNT6_ENABLE_Msk (1UL << PMU_INTENSET_CNT6_ENABLE_Pos)
2315#define PMU_INTENSET_CNT7_ENABLE_Pos 7U
2316#define PMU_INTENSET_CNT7_ENABLE_Msk (1UL << PMU_INTENSET_CNT7_ENABLE_Pos)
2318#define PMU_INTENSET_CNT8_ENABLE_Pos 8U
2319#define PMU_INTENSET_CNT8_ENABLE_Msk (1UL << PMU_INTENSET_CNT8_ENABLE_Pos)
2321#define PMU_INTENSET_CNT9_ENABLE_Pos 9U
2322#define PMU_INTENSET_CNT9_ENABLE_Msk (1UL << PMU_INTENSET_CNT9_ENABLE_Pos)
2324#define PMU_INTENSET_CNT10_ENABLE_Pos 10U
2325#define PMU_INTENSET_CNT10_ENABLE_Msk (1UL << PMU_INTENSET_CNT10_ENABLE_Pos)
2327#define PMU_INTENSET_CNT11_ENABLE_Pos 11U
2328#define PMU_INTENSET_CNT11_ENABLE_Msk (1UL << PMU_INTENSET_CNT11_ENABLE_Pos)
2330#define PMU_INTENSET_CNT12_ENABLE_Pos 12U
2331#define PMU_INTENSET_CNT12_ENABLE_Msk (1UL << PMU_INTENSET_CNT12_ENABLE_Pos)
2333#define PMU_INTENSET_CNT13_ENABLE_Pos 13U
2334#define PMU_INTENSET_CNT13_ENABLE_Msk (1UL << PMU_INTENSET_CNT13_ENABLE_Pos)
2336#define PMU_INTENSET_CNT14_ENABLE_Pos 14U
2337#define PMU_INTENSET_CNT14_ENABLE_Msk (1UL << PMU_INTENSET_CNT14_ENABLE_Pos)
2339#define PMU_INTENSET_CNT15_ENABLE_Pos 15U
2340#define PMU_INTENSET_CNT15_ENABLE_Msk (1UL << PMU_INTENSET_CNT15_ENABLE_Pos)
2342#define PMU_INTENSET_CNT16_ENABLE_Pos 16U
2343#define PMU_INTENSET_CNT16_ENABLE_Msk (1UL << PMU_INTENSET_CNT16_ENABLE_Pos)
2345#define PMU_INTENSET_CNT17_ENABLE_Pos 17U
2346#define PMU_INTENSET_CNT17_ENABLE_Msk (1UL << PMU_INTENSET_CNT17_ENABLE_Pos)
2348#define PMU_INTENSET_CNT18_ENABLE_Pos 18U
2349#define PMU_INTENSET_CNT18_ENABLE_Msk (1UL << PMU_INTENSET_CNT18_ENABLE_Pos)
2351#define PMU_INTENSET_CNT19_ENABLE_Pos 19U
2352#define PMU_INTENSET_CNT19_ENABLE_Msk (1UL << PMU_INTENSET_CNT19_ENABLE_Pos)
2354#define PMU_INTENSET_CNT20_ENABLE_Pos 20U
2355#define PMU_INTENSET_CNT20_ENABLE_Msk (1UL << PMU_INTENSET_CNT20_ENABLE_Pos)
2357#define PMU_INTENSET_CNT21_ENABLE_Pos 21U
2358#define PMU_INTENSET_CNT21_ENABLE_Msk (1UL << PMU_INTENSET_CNT21_ENABLE_Pos)
2360#define PMU_INTENSET_CNT22_ENABLE_Pos 22U
2361#define PMU_INTENSET_CNT22_ENABLE_Msk (1UL << PMU_INTENSET_CNT22_ENABLE_Pos)
2363#define PMU_INTENSET_CNT23_ENABLE_Pos 23U
2364#define PMU_INTENSET_CNT23_ENABLE_Msk (1UL << PMU_INTENSET_CNT23_ENABLE_Pos)
2366#define PMU_INTENSET_CNT24_ENABLE_Pos 24U
2367#define PMU_INTENSET_CNT24_ENABLE_Msk (1UL << PMU_INTENSET_CNT24_ENABLE_Pos)
2369#define PMU_INTENSET_CNT25_ENABLE_Pos 25U
2370#define PMU_INTENSET_CNT25_ENABLE_Msk (1UL << PMU_INTENSET_CNT25_ENABLE_Pos)
2372#define PMU_INTENSET_CNT26_ENABLE_Pos 26U
2373#define PMU_INTENSET_CNT26_ENABLE_Msk (1UL << PMU_INTENSET_CNT26_ENABLE_Pos)
2375#define PMU_INTENSET_CNT27_ENABLE_Pos 27U
2376#define PMU_INTENSET_CNT27_ENABLE_Msk (1UL << PMU_INTENSET_CNT27_ENABLE_Pos)
2378#define PMU_INTENSET_CNT28_ENABLE_Pos 28U
2379#define PMU_INTENSET_CNT28_ENABLE_Msk (1UL << PMU_INTENSET_CNT28_ENABLE_Pos)
2381#define PMU_INTENSET_CNT29_ENABLE_Pos 29U
2382#define PMU_INTENSET_CNT29_ENABLE_Msk (1UL << PMU_INTENSET_CNT29_ENABLE_Pos)
2384#define PMU_INTENSET_CNT30_ENABLE_Pos 30U
2385#define PMU_INTENSET_CNT30_ENABLE_Msk (1UL << PMU_INTENSET_CNT30_ENABLE_Pos)
2387#define PMU_INTENSET_CYCCNT_ENABLE_Pos 31U
2388#define PMU_INTENSET_CCYCNT_ENABLE_Msk (1UL << PMU_INTENSET_CYCCNT_ENABLE_Pos)
2392#define PMU_INTENSET_CNT0_ENABLE_Pos 0U
2393#define PMU_INTENCLR_CNT0_ENABLE_Msk (1UL /*<< PMU_INTENCLR_CNT0_ENABLE_Pos*/)
2395#define PMU_INTENCLR_CNT1_ENABLE_Pos 1U
2396#define PMU_INTENCLR_CNT1_ENABLE_Msk (1UL << PMU_INTENCLR_CNT1_ENABLE_Pos)
2398#define PMU_INTENCLR_CNT2_ENABLE_Pos 2U
2399#define PMU_INTENCLR_CNT2_ENABLE_Msk (1UL << PMU_INTENCLR_CNT2_ENABLE_Pos)
2401#define PMU_INTENCLR_CNT3_ENABLE_Pos 3U
2402#define PMU_INTENCLR_CNT3_ENABLE_Msk (1UL << PMU_INTENCLR_CNT3_ENABLE_Pos)
2404#define PMU_INTENCLR_CNT4_ENABLE_Pos 4U
2405#define PMU_INTENCLR_CNT4_ENABLE_Msk (1UL << PMU_INTENCLR_CNT4_ENABLE_Pos)
2407#define PMU_INTENCLR_CNT5_ENABLE_Pos 5U
2408#define PMU_INTENCLR_CNT5_ENABLE_Msk (1UL << PMU_INTENCLR_CNT5_ENABLE_Pos)
2410#define PMU_INTENCLR_CNT6_ENABLE_Pos 6U
2411#define PMU_INTENCLR_CNT6_ENABLE_Msk (1UL << PMU_INTENCLR_CNT6_ENABLE_Pos)
2413#define PMU_INTENCLR_CNT7_ENABLE_Pos 7U
2414#define PMU_INTENCLR_CNT7_ENABLE_Msk (1UL << PMU_INTENCLR_CNT7_ENABLE_Pos)
2416#define PMU_INTENCLR_CNT8_ENABLE_Pos 8U
2417#define PMU_INTENCLR_CNT8_ENABLE_Msk (1UL << PMU_INTENCLR_CNT8_ENABLE_Pos)
2419#define PMU_INTENCLR_CNT9_ENABLE_Pos 9U
2420#define PMU_INTENCLR_CNT9_ENABLE_Msk (1UL << PMU_INTENCLR_CNT9_ENABLE_Pos)
2422#define PMU_INTENCLR_CNT10_ENABLE_Pos 10U
2423#define PMU_INTENCLR_CNT10_ENABLE_Msk (1UL << PMU_INTENCLR_CNT10_ENABLE_Pos)
2425#define PMU_INTENCLR_CNT11_ENABLE_Pos 11U
2426#define PMU_INTENCLR_CNT11_ENABLE_Msk (1UL << PMU_INTENCLR_CNT11_ENABLE_Pos)
2428#define PMU_INTENCLR_CNT12_ENABLE_Pos 12U
2429#define PMU_INTENCLR_CNT12_ENABLE_Msk (1UL << PMU_INTENCLR_CNT12_ENABLE_Pos)
2431#define PMU_INTENCLR_CNT13_ENABLE_Pos 13U
2432#define PMU_INTENCLR_CNT13_ENABLE_Msk (1UL << PMU_INTENCLR_CNT13_ENABLE_Pos)
2434#define PMU_INTENCLR_CNT14_ENABLE_Pos 14U
2435#define PMU_INTENCLR_CNT14_ENABLE_Msk (1UL << PMU_INTENCLR_CNT14_ENABLE_Pos)
2437#define PMU_INTENCLR_CNT15_ENABLE_Pos 15U
2438#define PMU_INTENCLR_CNT15_ENABLE_Msk (1UL << PMU_INTENCLR_CNT15_ENABLE_Pos)
2440#define PMU_INTENCLR_CNT16_ENABLE_Pos 16U
2441#define PMU_INTENCLR_CNT16_ENABLE_Msk (1UL << PMU_INTENCLR_CNT16_ENABLE_Pos)
2443#define PMU_INTENCLR_CNT17_ENABLE_Pos 17U
2444#define PMU_INTENCLR_CNT17_ENABLE_Msk (1UL << PMU_INTENCLR_CNT17_ENABLE_Pos)
2446#define PMU_INTENCLR_CNT18_ENABLE_Pos 18U
2447#define PMU_INTENCLR_CNT18_ENABLE_Msk (1UL << PMU_INTENCLR_CNT18_ENABLE_Pos)
2449#define PMU_INTENCLR_CNT19_ENABLE_Pos 19U
2450#define PMU_INTENCLR_CNT19_ENABLE_Msk (1UL << PMU_INTENCLR_CNT19_ENABLE_Pos)
2452#define PMU_INTENCLR_CNT20_ENABLE_Pos 20U
2453#define PMU_INTENCLR_CNT20_ENABLE_Msk (1UL << PMU_INTENCLR_CNT20_ENABLE_Pos)
2455#define PMU_INTENCLR_CNT21_ENABLE_Pos 21U
2456#define PMU_INTENCLR_CNT21_ENABLE_Msk (1UL << PMU_INTENCLR_CNT21_ENABLE_Pos)
2458#define PMU_INTENCLR_CNT22_ENABLE_Pos 22U
2459#define PMU_INTENCLR_CNT22_ENABLE_Msk (1UL << PMU_INTENCLR_CNT22_ENABLE_Pos)
2461#define PMU_INTENCLR_CNT23_ENABLE_Pos 23U
2462#define PMU_INTENCLR_CNT23_ENABLE_Msk (1UL << PMU_INTENCLR_CNT23_ENABLE_Pos)
2464#define PMU_INTENCLR_CNT24_ENABLE_Pos 24U
2465#define PMU_INTENCLR_CNT24_ENABLE_Msk (1UL << PMU_INTENCLR_CNT24_ENABLE_Pos)
2467#define PMU_INTENCLR_CNT25_ENABLE_Pos 25U
2468#define PMU_INTENCLR_CNT25_ENABLE_Msk (1UL << PMU_INTENCLR_CNT25_ENABLE_Pos)
2470#define PMU_INTENCLR_CNT26_ENABLE_Pos 26U
2471#define PMU_INTENCLR_CNT26_ENABLE_Msk (1UL << PMU_INTENCLR_CNT26_ENABLE_Pos)
2473#define PMU_INTENCLR_CNT27_ENABLE_Pos 27U
2474#define PMU_INTENCLR_CNT27_ENABLE_Msk (1UL << PMU_INTENCLR_CNT27_ENABLE_Pos)
2476#define PMU_INTENCLR_CNT28_ENABLE_Pos 28U
2477#define PMU_INTENCLR_CNT28_ENABLE_Msk (1UL << PMU_INTENCLR_CNT28_ENABLE_Pos)
2479#define PMU_INTENCLR_CNT29_ENABLE_Pos 29U
2480#define PMU_INTENCLR_CNT29_ENABLE_Msk (1UL << PMU_INTENCLR_CNT29_ENABLE_Pos)
2482#define PMU_INTENCLR_CNT30_ENABLE_Pos 30U
2483#define PMU_INTENCLR_CNT30_ENABLE_Msk (1UL << PMU_INTENCLR_CNT30_ENABLE_Pos)
2485#define PMU_INTENCLR_CYCCNT_ENABLE_Pos 31U
2486#define PMU_INTENCLR_CYCCNT_ENABLE_Msk (1UL << PMU_INTENCLR_CYCCNT_ENABLE_Pos)
2490#define PMU_OVSSET_CNT0_STATUS_Pos 0U
2491#define PMU_OVSSET_CNT0_STATUS_Msk (1UL /*<< PMU_OVSSET_CNT0_STATUS_Pos*/)
2493#define PMU_OVSSET_CNT1_STATUS_Pos 1U
2494#define PMU_OVSSET_CNT1_STATUS_Msk (1UL << PMU_OVSSET_CNT1_STATUS_Pos)
2496#define PMU_OVSSET_CNT2_STATUS_Pos 2U
2497#define PMU_OVSSET_CNT2_STATUS_Msk (1UL << PMU_OVSSET_CNT2_STATUS_Pos)
2499#define PMU_OVSSET_CNT3_STATUS_Pos 3U
2500#define PMU_OVSSET_CNT3_STATUS_Msk (1UL << PMU_OVSSET_CNT3_STATUS_Pos)
2502#define PMU_OVSSET_CNT4_STATUS_Pos 4U
2503#define PMU_OVSSET_CNT4_STATUS_Msk (1UL << PMU_OVSSET_CNT4_STATUS_Pos)
2505#define PMU_OVSSET_CNT5_STATUS_Pos 5U
2506#define PMU_OVSSET_CNT5_STATUS_Msk (1UL << PMU_OVSSET_CNT5_STATUS_Pos)
2508#define PMU_OVSSET_CNT6_STATUS_Pos 6U
2509#define PMU_OVSSET_CNT6_STATUS_Msk (1UL << PMU_OVSSET_CNT6_STATUS_Pos)
2511#define PMU_OVSSET_CNT7_STATUS_Pos 7U
2512#define PMU_OVSSET_CNT7_STATUS_Msk (1UL << PMU_OVSSET_CNT7_STATUS_Pos)
2514#define PMU_OVSSET_CNT8_STATUS_Pos 8U
2515#define PMU_OVSSET_CNT8_STATUS_Msk (1UL << PMU_OVSSET_CNT8_STATUS_Pos)
2517#define PMU_OVSSET_CNT9_STATUS_Pos 9U
2518#define PMU_OVSSET_CNT9_STATUS_Msk (1UL << PMU_OVSSET_CNT9_STATUS_Pos)
2520#define PMU_OVSSET_CNT10_STATUS_Pos 10U
2521#define PMU_OVSSET_CNT10_STATUS_Msk (1UL << PMU_OVSSET_CNT10_STATUS_Pos)
2523#define PMU_OVSSET_CNT11_STATUS_Pos 11U
2524#define PMU_OVSSET_CNT11_STATUS_Msk (1UL << PMU_OVSSET_CNT11_STATUS_Pos)
2526#define PMU_OVSSET_CNT12_STATUS_Pos 12U
2527#define PMU_OVSSET_CNT12_STATUS_Msk (1UL << PMU_OVSSET_CNT12_STATUS_Pos)
2529#define PMU_OVSSET_CNT13_STATUS_Pos 13U
2530#define PMU_OVSSET_CNT13_STATUS_Msk (1UL << PMU_OVSSET_CNT13_STATUS_Pos)
2532#define PMU_OVSSET_CNT14_STATUS_Pos 14U
2533#define PMU_OVSSET_CNT14_STATUS_Msk (1UL << PMU_OVSSET_CNT14_STATUS_Pos)
2535#define PMU_OVSSET_CNT15_STATUS_Pos 15U
2536#define PMU_OVSSET_CNT15_STATUS_Msk (1UL << PMU_OVSSET_CNT15_STATUS_Pos)
2538#define PMU_OVSSET_CNT16_STATUS_Pos 16U
2539#define PMU_OVSSET_CNT16_STATUS_Msk (1UL << PMU_OVSSET_CNT16_STATUS_Pos)
2541#define PMU_OVSSET_CNT17_STATUS_Pos 17U
2542#define PMU_OVSSET_CNT17_STATUS_Msk (1UL << PMU_OVSSET_CNT17_STATUS_Pos)
2544#define PMU_OVSSET_CNT18_STATUS_Pos 18U
2545#define PMU_OVSSET_CNT18_STATUS_Msk (1UL << PMU_OVSSET_CNT18_STATUS_Pos)
2547#define PMU_OVSSET_CNT19_STATUS_Pos 19U
2548#define PMU_OVSSET_CNT19_STATUS_Msk (1UL << PMU_OVSSET_CNT19_STATUS_Pos)
2550#define PMU_OVSSET_CNT20_STATUS_Pos 20U
2551#define PMU_OVSSET_CNT20_STATUS_Msk (1UL << PMU_OVSSET_CNT20_STATUS_Pos)
2553#define PMU_OVSSET_CNT21_STATUS_Pos 21U
2554#define PMU_OVSSET_CNT21_STATUS_Msk (1UL << PMU_OVSSET_CNT21_STATUS_Pos)
2556#define PMU_OVSSET_CNT22_STATUS_Pos 22U
2557#define PMU_OVSSET_CNT22_STATUS_Msk (1UL << PMU_OVSSET_CNT22_STATUS_Pos)
2559#define PMU_OVSSET_CNT23_STATUS_Pos 23U
2560#define PMU_OVSSET_CNT23_STATUS_Msk (1UL << PMU_OVSSET_CNT23_STATUS_Pos)
2562#define PMU_OVSSET_CNT24_STATUS_Pos 24U
2563#define PMU_OVSSET_CNT24_STATUS_Msk (1UL << PMU_OVSSET_CNT24_STATUS_Pos)
2565#define PMU_OVSSET_CNT25_STATUS_Pos 25U
2566#define PMU_OVSSET_CNT25_STATUS_Msk (1UL << PMU_OVSSET_CNT25_STATUS_Pos)
2568#define PMU_OVSSET_CNT26_STATUS_Pos 26U
2569#define PMU_OVSSET_CNT26_STATUS_Msk (1UL << PMU_OVSSET_CNT26_STATUS_Pos)
2571#define PMU_OVSSET_CNT27_STATUS_Pos 27U
2572#define PMU_OVSSET_CNT27_STATUS_Msk (1UL << PMU_OVSSET_CNT27_STATUS_Pos)
2574#define PMU_OVSSET_CNT28_STATUS_Pos 28U
2575#define PMU_OVSSET_CNT28_STATUS_Msk (1UL << PMU_OVSSET_CNT28_STATUS_Pos)
2577#define PMU_OVSSET_CNT29_STATUS_Pos 29U
2578#define PMU_OVSSET_CNT29_STATUS_Msk (1UL << PMU_OVSSET_CNT29_STATUS_Pos)
2580#define PMU_OVSSET_CNT30_STATUS_Pos 30U
2581#define PMU_OVSSET_CNT30_STATUS_Msk (1UL << PMU_OVSSET_CNT30_STATUS_Pos)
2583#define PMU_OVSSET_CYCCNT_STATUS_Pos 31U
2584#define PMU_OVSSET_CYCCNT_STATUS_Msk (1UL << PMU_OVSSET_CYCCNT_STATUS_Pos)
2588#define PMU_OVSCLR_CNT0_STATUS_Pos 0U
2589#define PMU_OVSCLR_CNT0_STATUS_Msk (1UL /*<< PMU_OVSCLR_CNT0_STATUS_Pos*/)
2591#define PMU_OVSCLR_CNT1_STATUS_Pos 1U
2592#define PMU_OVSCLR_CNT1_STATUS_Msk (1UL << PMU_OVSCLR_CNT1_STATUS_Pos)
2594#define PMU_OVSCLR_CNT2_STATUS_Pos 2U
2595#define PMU_OVSCLR_CNT2_STATUS_Msk (1UL << PMU_OVSCLR_CNT2_STATUS_Pos)
2597#define PMU_OVSCLR_CNT3_STATUS_Pos 3U
2598#define PMU_OVSCLR_CNT3_STATUS_Msk (1UL << PMU_OVSCLR_CNT3_STATUS_Pos)
2600#define PMU_OVSCLR_CNT4_STATUS_Pos 4U
2601#define PMU_OVSCLR_CNT4_STATUS_Msk (1UL << PMU_OVSCLR_CNT4_STATUS_Pos)
2603#define PMU_OVSCLR_CNT5_STATUS_Pos 5U
2604#define PMU_OVSCLR_CNT5_STATUS_Msk (1UL << PMU_OVSCLR_CNT5_STATUS_Pos)
2606#define PMU_OVSCLR_CNT6_STATUS_Pos 6U
2607#define PMU_OVSCLR_CNT6_STATUS_Msk (1UL << PMU_OVSCLR_CNT6_STATUS_Pos)
2609#define PMU_OVSCLR_CNT7_STATUS_Pos 7U
2610#define PMU_OVSCLR_CNT7_STATUS_Msk (1UL << PMU_OVSCLR_CNT7_STATUS_Pos)
2612#define PMU_OVSCLR_CNT8_STATUS_Pos 8U
2613#define PMU_OVSCLR_CNT8_STATUS_Msk (1UL << PMU_OVSCLR_CNT8_STATUS_Pos)
2615#define PMU_OVSCLR_CNT9_STATUS_Pos 9U
2616#define PMU_OVSCLR_CNT9_STATUS_Msk (1UL << PMU_OVSCLR_CNT9_STATUS_Pos)
2618#define PMU_OVSCLR_CNT10_STATUS_Pos 10U
2619#define PMU_OVSCLR_CNT10_STATUS_Msk (1UL << PMU_OVSCLR_CNT10_STATUS_Pos)
2621#define PMU_OVSCLR_CNT11_STATUS_Pos 11U
2622#define PMU_OVSCLR_CNT11_STATUS_Msk (1UL << PMU_OVSCLR_CNT11_STATUS_Pos)
2624#define PMU_OVSCLR_CNT12_STATUS_Pos 12U
2625#define PMU_OVSCLR_CNT12_STATUS_Msk (1UL << PMU_OVSCLR_CNT12_STATUS_Pos)
2627#define PMU_OVSCLR_CNT13_STATUS_Pos 13U
2628#define PMU_OVSCLR_CNT13_STATUS_Msk (1UL << PMU_OVSCLR_CNT13_STATUS_Pos)
2630#define PMU_OVSCLR_CNT14_STATUS_Pos 14U
2631#define PMU_OVSCLR_CNT14_STATUS_Msk (1UL << PMU_OVSCLR_CNT14_STATUS_Pos)
2633#define PMU_OVSCLR_CNT15_STATUS_Pos 15U
2634#define PMU_OVSCLR_CNT15_STATUS_Msk (1UL << PMU_OVSCLR_CNT15_STATUS_Pos)
2636#define PMU_OVSCLR_CNT16_STATUS_Pos 16U
2637#define PMU_OVSCLR_CNT16_STATUS_Msk (1UL << PMU_OVSCLR_CNT16_STATUS_Pos)
2639#define PMU_OVSCLR_CNT17_STATUS_Pos 17U
2640#define PMU_OVSCLR_CNT17_STATUS_Msk (1UL << PMU_OVSCLR_CNT17_STATUS_Pos)
2642#define PMU_OVSCLR_CNT18_STATUS_Pos 18U
2643#define PMU_OVSCLR_CNT18_STATUS_Msk (1UL << PMU_OVSCLR_CNT18_STATUS_Pos)
2645#define PMU_OVSCLR_CNT19_STATUS_Pos 19U
2646#define PMU_OVSCLR_CNT19_STATUS_Msk (1UL << PMU_OVSCLR_CNT19_STATUS_Pos)
2648#define PMU_OVSCLR_CNT20_STATUS_Pos 20U
2649#define PMU_OVSCLR_CNT20_STATUS_Msk (1UL << PMU_OVSCLR_CNT20_STATUS_Pos)
2651#define PMU_OVSCLR_CNT21_STATUS_Pos 21U
2652#define PMU_OVSCLR_CNT21_STATUS_Msk (1UL << PMU_OVSCLR_CNT21_STATUS_Pos)
2654#define PMU_OVSCLR_CNT22_STATUS_Pos 22U
2655#define PMU_OVSCLR_CNT22_STATUS_Msk (1UL << PMU_OVSCLR_CNT22_STATUS_Pos)
2657#define PMU_OVSCLR_CNT23_STATUS_Pos 23U
2658#define PMU_OVSCLR_CNT23_STATUS_Msk (1UL << PMU_OVSCLR_CNT23_STATUS_Pos)
2660#define PMU_OVSCLR_CNT24_STATUS_Pos 24U
2661#define PMU_OVSCLR_CNT24_STATUS_Msk (1UL << PMU_OVSCLR_CNT24_STATUS_Pos)
2663#define PMU_OVSCLR_CNT25_STATUS_Pos 25U
2664#define PMU_OVSCLR_CNT25_STATUS_Msk (1UL << PMU_OVSCLR_CNT25_STATUS_Pos)
2666#define PMU_OVSCLR_CNT26_STATUS_Pos 26U
2667#define PMU_OVSCLR_CNT26_STATUS_Msk (1UL << PMU_OVSCLR_CNT26_STATUS_Pos)
2669#define PMU_OVSCLR_CNT27_STATUS_Pos 27U
2670#define PMU_OVSCLR_CNT27_STATUS_Msk (1UL << PMU_OVSCLR_CNT27_STATUS_Pos)
2672#define PMU_OVSCLR_CNT28_STATUS_Pos 28U
2673#define PMU_OVSCLR_CNT28_STATUS_Msk (1UL << PMU_OVSCLR_CNT28_STATUS_Pos)
2675#define PMU_OVSCLR_CNT29_STATUS_Pos 29U
2676#define PMU_OVSCLR_CNT29_STATUS_Msk (1UL << PMU_OVSCLR_CNT29_STATUS_Pos)
2678#define PMU_OVSCLR_CNT30_STATUS_Pos 30U
2679#define PMU_OVSCLR_CNT30_STATUS_Msk (1UL << PMU_OVSCLR_CNT30_STATUS_Pos)
2681#define PMU_OVSCLR_CYCCNT_STATUS_Pos 31U
2682#define PMU_OVSCLR_CYCCNT_STATUS_Msk (1UL << PMU_OVSCLR_CYCCNT_STATUS_Pos)
2686#define PMU_SWINC_CNT0_Pos 0U
2687#define PMU_SWINC_CNT0_Msk (1UL /*<< PMU_SWINC_CNT0_Pos */)
2689#define PMU_SWINC_CNT1_Pos 1U
2690#define PMU_SWINC_CNT1_Msk (1UL << PMU_SWINC_CNT1_Pos)
2692#define PMU_SWINC_CNT2_Pos 2U
2693#define PMU_SWINC_CNT2_Msk (1UL << PMU_SWINC_CNT2_Pos)
2695#define PMU_SWINC_CNT3_Pos 3U
2696#define PMU_SWINC_CNT3_Msk (1UL << PMU_SWINC_CNT3_Pos)
2698#define PMU_SWINC_CNT4_Pos 4U
2699#define PMU_SWINC_CNT4_Msk (1UL << PMU_SWINC_CNT4_Pos)
2701#define PMU_SWINC_CNT5_Pos 5U
2702#define PMU_SWINC_CNT5_Msk (1UL << PMU_SWINC_CNT5_Pos)
2704#define PMU_SWINC_CNT6_Pos 6U
2705#define PMU_SWINC_CNT6_Msk (1UL << PMU_SWINC_CNT6_Pos)
2707#define PMU_SWINC_CNT7_Pos 7U
2708#define PMU_SWINC_CNT7_Msk (1UL << PMU_SWINC_CNT7_Pos)
2710#define PMU_SWINC_CNT8_Pos 8U
2711#define PMU_SWINC_CNT8_Msk (1UL << PMU_SWINC_CNT8_Pos)
2713#define PMU_SWINC_CNT9_Pos 9U
2714#define PMU_SWINC_CNT9_Msk (1UL << PMU_SWINC_CNT9_Pos)
2716#define PMU_SWINC_CNT10_Pos 10U
2717#define PMU_SWINC_CNT10_Msk (1UL << PMU_SWINC_CNT10_Pos)
2719#define PMU_SWINC_CNT11_Pos 11U
2720#define PMU_SWINC_CNT11_Msk (1UL << PMU_SWINC_CNT11_Pos)
2722#define PMU_SWINC_CNT12_Pos 12U
2723#define PMU_SWINC_CNT12_Msk (1UL << PMU_SWINC_CNT12_Pos)
2725#define PMU_SWINC_CNT13_Pos 13U
2726#define PMU_SWINC_CNT13_Msk (1UL << PMU_SWINC_CNT13_Pos)
2728#define PMU_SWINC_CNT14_Pos 14U
2729#define PMU_SWINC_CNT14_Msk (1UL << PMU_SWINC_CNT14_Pos)
2731#define PMU_SWINC_CNT15_Pos 15U
2732#define PMU_SWINC_CNT15_Msk (1UL << PMU_SWINC_CNT15_Pos)
2734#define PMU_SWINC_CNT16_Pos 16U
2735#define PMU_SWINC_CNT16_Msk (1UL << PMU_SWINC_CNT16_Pos)
2737#define PMU_SWINC_CNT17_Pos 17U
2738#define PMU_SWINC_CNT17_Msk (1UL << PMU_SWINC_CNT17_Pos)
2740#define PMU_SWINC_CNT18_Pos 18U
2741#define PMU_SWINC_CNT18_Msk (1UL << PMU_SWINC_CNT18_Pos)
2743#define PMU_SWINC_CNT19_Pos 19U
2744#define PMU_SWINC_CNT19_Msk (1UL << PMU_SWINC_CNT19_Pos)
2746#define PMU_SWINC_CNT20_Pos 20U
2747#define PMU_SWINC_CNT20_Msk (1UL << PMU_SWINC_CNT20_Pos)
2749#define PMU_SWINC_CNT21_Pos 21U
2750#define PMU_SWINC_CNT21_Msk (1UL << PMU_SWINC_CNT21_Pos)
2752#define PMU_SWINC_CNT22_Pos 22U
2753#define PMU_SWINC_CNT22_Msk (1UL << PMU_SWINC_CNT22_Pos)
2755#define PMU_SWINC_CNT23_Pos 23U
2756#define PMU_SWINC_CNT23_Msk (1UL << PMU_SWINC_CNT23_Pos)
2758#define PMU_SWINC_CNT24_Pos 24U
2759#define PMU_SWINC_CNT24_Msk (1UL << PMU_SWINC_CNT24_Pos)
2761#define PMU_SWINC_CNT25_Pos 25U
2762#define PMU_SWINC_CNT25_Msk (1UL << PMU_SWINC_CNT25_Pos)
2764#define PMU_SWINC_CNT26_Pos 26U
2765#define PMU_SWINC_CNT26_Msk (1UL << PMU_SWINC_CNT26_Pos)
2767#define PMU_SWINC_CNT27_Pos 27U
2768#define PMU_SWINC_CNT27_Msk (1UL << PMU_SWINC_CNT27_Pos)
2770#define PMU_SWINC_CNT28_Pos 28U
2771#define PMU_SWINC_CNT28_Msk (1UL << PMU_SWINC_CNT28_Pos)
2773#define PMU_SWINC_CNT29_Pos 29U
2774#define PMU_SWINC_CNT29_Msk (1UL << PMU_SWINC_CNT29_Pos)
2776#define PMU_SWINC_CNT30_Pos 30U
2777#define PMU_SWINC_CNT30_Msk (1UL << PMU_SWINC_CNT30_Pos)
2781#define PMU_CTRL_ENABLE_Pos 0U
2782#define PMU_CTRL_ENABLE_Msk (1UL /*<< PMU_CTRL_ENABLE_Pos*/)
2784#define PMU_CTRL_EVENTCNT_RESET_Pos 1U
2785#define PMU_CTRL_EVENTCNT_RESET_Msk (1UL << PMU_CTRL_EVENTCNT_RESET_Pos)
2787#define PMU_CTRL_CYCCNT_RESET_Pos 2U
2788#define PMU_CTRL_CYCCNT_RESET_Msk (1UL << PMU_CTRL_CYCCNT_RESET_Pos)
2790#define PMU_CTRL_CYCCNT_DISABLE_Pos 5U
2791#define PMU_CTRL_CYCCNT_DISABLE_Msk (1UL << PMU_CTRL_CYCCNT_DISABLE_Pos)
2793#define PMU_CTRL_FRZ_ON_OV_Pos 9U
2794#define PMU_CTRL_FRZ_ON_OV_Msk (1UL << PMU_CTRL_FRZ_ON_OVERFLOW_Pos)
2796#define PMU_CTRL_TRACE_ON_OV_Pos 11U
2797#define PMU_CTRL_TRACE_ON_OV_Msk (1UL << PMU_CTRL_TRACE_ON_OVERFLOW_Pos)
2801#define PMU_TYPE_NUM_CNTS_Pos 0U
2802#define PMU_TYPE_NUM_CNTS_Msk (0xFFUL /*<< PMU_TYPE_NUM_CNTS_Pos*/)
2804#define PMU_TYPE_SIZE_CNTS_Pos 8U
2805#define PMU_TYPE_SIZE_CNTS_Msk (0x3FUL << PMU_TYPE_SIZE_CNTS_Pos)
2807#define PMU_TYPE_CYCCNT_PRESENT_Pos 14U
2808#define PMU_TYPE_CYCCNT_PRESENT_Msk (1UL << PMU_TYPE_CYCCNT_PRESENT_Pos)
2810#define PMU_TYPE_FRZ_OV_SUPPORT_Pos 21U
2811#define PMU_TYPE_FRZ_OV_SUPPORT_Msk (1UL << PMU_TYPE_FRZ_OV_SUPPORT_Pos)
2813#define PMU_TYPE_TRACE_ON_OV_SUPPORT_Pos 23U
2814#define PMU_TYPE_TRACE_ON_OV_SUPPORT_Msk (1UL << PMU_TYPE_FRZ_OV_SUPPORT_Pos)
2818#define PMU_AUTHSTATUS_NSID_Pos 0U
2819#define PMU_AUTHSTATUS_NSID_Msk (0x3UL /*<< PMU_AUTHSTATUS_NSID_Pos*/)
2821#define PMU_AUTHSTATUS_NSNID_Pos 2U
2822#define PMU_AUTHSTATUS_NSNID_Msk (0x3UL << PMU_AUTHSTATUS_NSNID_Pos)
2824#define PMU_AUTHSTATUS_SID_Pos 4U
2825#define PMU_AUTHSTATUS_SID_Msk (0x3UL << PMU_AUTHSTATUS_SID_Pos)
2827#define PMU_AUTHSTATUS_SNID_Pos 6U
2828#define PMU_AUTHSTATUS_SNID_Msk (0x3UL << PMU_AUTHSTATUS_SNID_Pos)
2830#define PMU_AUTHSTATUS_NSUID_Pos 16U
2831#define PMU_AUTHSTATUS_NSUID_Msk (0x3UL << PMU_AUTHSTATUS_NSUID_Pos)
2833#define PMU_AUTHSTATUS_NSUNID_Pos 18U
2834#define PMU_AUTHSTATUS_NSUNID_Msk (0x3UL << PMU_AUTHSTATUS_NSUNID_Pos)
2836#define PMU_AUTHSTATUS_SUID_Pos 20U
2837#define PMU_AUTHSTATUS_SUID_Msk (0x3UL << PMU_AUTHSTATUS_SUID_Pos)
2839#define PMU_AUTHSTATUS_SUNID_Pos 22U
2840#define PMU_AUTHSTATUS_SUNID_Msk (0x3UL << PMU_AUTHSTATUS_SUNID_Pos)
2844#endif
2845
2846#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
2857typedef struct
2858{
2859 __IM uint32_t TYPE;
2860 __IOM uint32_t CTRL;
2861 __IOM uint32_t RNR;
2862 __IOM uint32_t RBAR;
2863 __IOM uint32_t RLAR;
2864 __IOM uint32_t RBAR_A1;
2865 __IOM uint32_t RLAR_A1;
2866 __IOM uint32_t RBAR_A2;
2867 __IOM uint32_t RLAR_A2;
2868 __IOM uint32_t RBAR_A3;
2869 __IOM uint32_t RLAR_A3;
2870 uint32_t RESERVED0[1];
2871 union {
2872 __IOM uint32_t MAIR[2];
2873 struct {
2874 __IOM uint32_t MAIR0;
2875 __IOM uint32_t MAIR1;
2876 };
2877 };
2878} MPU_Type;
2879
2880#define MPU_TYPE_RALIASES 4U
2881
2882/* MPU Type Register Definitions */
2883#define MPU_TYPE_IREGION_Pos 16U
2884#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos)
2886#define MPU_TYPE_DREGION_Pos 8U
2887#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos)
2889#define MPU_TYPE_SEPARATE_Pos 0U
2890#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/)
2892/* MPU Control Register Definitions */
2893#define MPU_CTRL_PRIVDEFENA_Pos 2U
2894#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos)
2896#define MPU_CTRL_HFNMIENA_Pos 1U
2897#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos)
2899#define MPU_CTRL_ENABLE_Pos 0U
2900#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/)
2902/* MPU Region Number Register Definitions */
2903#define MPU_RNR_REGION_Pos 0U
2904#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/)
2906/* MPU Region Base Address Register Definitions */
2907#define MPU_RBAR_BASE_Pos 5U
2908#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos)
2910#define MPU_RBAR_SH_Pos 3U
2911#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos)
2913#define MPU_RBAR_AP_Pos 1U
2914#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos)
2916#define MPU_RBAR_XN_Pos 0U
2917#define MPU_RBAR_XN_Msk (01UL /*<< MPU_RBAR_XN_Pos*/)
2919/* MPU Region Limit Address Register Definitions */
2920#define MPU_RLAR_LIMIT_Pos 5U
2921#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos)
2923#define MPU_RLAR_PXN_Pos 4U
2924#define MPU_RLAR_PXN_Msk (1UL << MPU_RLAR_PXN_Pos)
2926#define MPU_RLAR_AttrIndx_Pos 1U
2927#define MPU_RLAR_AttrIndx_Msk (7UL << MPU_RLAR_AttrIndx_Pos)
2929#define MPU_RLAR_EN_Pos 0U
2930#define MPU_RLAR_EN_Msk (1UL /*<< MPU_RLAR_EN_Pos*/)
2932/* MPU Memory Attribute Indirection Register 0 Definitions */
2933#define MPU_MAIR0_Attr3_Pos 24U
2934#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos)
2936#define MPU_MAIR0_Attr2_Pos 16U
2937#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos)
2939#define MPU_MAIR0_Attr1_Pos 8U
2940#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos)
2942#define MPU_MAIR0_Attr0_Pos 0U
2943#define MPU_MAIR0_Attr0_Msk (0xFFUL /*<< MPU_MAIR0_Attr0_Pos*/)
2945/* MPU Memory Attribute Indirection Register 1 Definitions */
2946#define MPU_MAIR1_Attr7_Pos 24U
2947#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos)
2949#define MPU_MAIR1_Attr6_Pos 16U
2950#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos)
2952#define MPU_MAIR1_Attr5_Pos 8U
2953#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos)
2955#define MPU_MAIR1_Attr4_Pos 0U
2956#define MPU_MAIR1_Attr4_Msk (0xFFUL /*<< MPU_MAIR1_Attr4_Pos*/)
2959#endif
2960
2961
2962#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2973typedef struct
2974{
2975 __IOM uint32_t CTRL;
2976 __IM uint32_t TYPE;
2977#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
2978 __IOM uint32_t RNR;
2979 __IOM uint32_t RBAR;
2980 __IOM uint32_t RLAR;
2981#else
2982 uint32_t RESERVED0[3];
2983#endif
2984 __IOM uint32_t SFSR;
2985 __IOM uint32_t SFAR;
2986} SAU_Type;
2987
2988/* SAU Control Register Definitions */
2989#define SAU_CTRL_ALLNS_Pos 1U
2990#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos)
2992#define SAU_CTRL_ENABLE_Pos 0U
2993#define SAU_CTRL_ENABLE_Msk (1UL /*<< SAU_CTRL_ENABLE_Pos*/)
2995/* SAU Type Register Definitions */
2996#define SAU_TYPE_SREGION_Pos 0U
2997#define SAU_TYPE_SREGION_Msk (0xFFUL /*<< SAU_TYPE_SREGION_Pos*/)
2999#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
3000/* SAU Region Number Register Definitions */
3001#define SAU_RNR_REGION_Pos 0U
3002#define SAU_RNR_REGION_Msk (0xFFUL /*<< SAU_RNR_REGION_Pos*/)
3004/* SAU Region Base Address Register Definitions */
3005#define SAU_RBAR_BADDR_Pos 5U
3006#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos)
3008/* SAU Region Limit Address Register Definitions */
3009#define SAU_RLAR_LADDR_Pos 5U
3010#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos)
3012#define SAU_RLAR_NSC_Pos 1U
3013#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos)
3015#define SAU_RLAR_ENABLE_Pos 0U
3016#define SAU_RLAR_ENABLE_Msk (1UL /*<< SAU_RLAR_ENABLE_Pos*/)
3018#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */
3019
3020/* Secure Fault Status Register Definitions */
3021#define SAU_SFSR_LSERR_Pos 7U
3022#define SAU_SFSR_LSERR_Msk (1UL << SAU_SFSR_LSERR_Pos)
3024#define SAU_SFSR_SFARVALID_Pos 6U
3025#define SAU_SFSR_SFARVALID_Msk (1UL << SAU_SFSR_SFARVALID_Pos)
3027#define SAU_SFSR_LSPERR_Pos 5U
3028#define SAU_SFSR_LSPERR_Msk (1UL << SAU_SFSR_LSPERR_Pos)
3030#define SAU_SFSR_INVTRAN_Pos 4U
3031#define SAU_SFSR_INVTRAN_Msk (1UL << SAU_SFSR_INVTRAN_Pos)
3033#define SAU_SFSR_AUVIOL_Pos 3U
3034#define SAU_SFSR_AUVIOL_Msk (1UL << SAU_SFSR_AUVIOL_Pos)
3036#define SAU_SFSR_INVER_Pos 2U
3037#define SAU_SFSR_INVER_Msk (1UL << SAU_SFSR_INVER_Pos)
3039#define SAU_SFSR_INVIS_Pos 1U
3040#define SAU_SFSR_INVIS_Msk (1UL << SAU_SFSR_INVIS_Pos)
3042#define SAU_SFSR_INVEP_Pos 0U
3043#define SAU_SFSR_INVEP_Msk (1UL /*<< SAU_SFSR_INVEP_Pos*/)
3046#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
3047
3048
3059typedef struct
3060{
3061 uint32_t RESERVED0[1U];
3062 __IOM uint32_t FPCCR;
3063 __IOM uint32_t FPCAR;
3064 __IOM uint32_t FPDSCR;
3065 __IM uint32_t MVFR0;
3066 __IM uint32_t MVFR1;
3067 __IM uint32_t MVFR2;
3068} FPU_Type;
3069
3070/* Floating-Point Context Control Register Definitions */
3071#define FPU_FPCCR_ASPEN_Pos 31U
3072#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos)
3074#define FPU_FPCCR_LSPEN_Pos 30U
3075#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos)
3077#define FPU_FPCCR_LSPENS_Pos 29U
3078#define FPU_FPCCR_LSPENS_Msk (1UL << FPU_FPCCR_LSPENS_Pos)
3080#define FPU_FPCCR_CLRONRET_Pos 28U
3081#define FPU_FPCCR_CLRONRET_Msk (1UL << FPU_FPCCR_CLRONRET_Pos)
3083#define FPU_FPCCR_CLRONRETS_Pos 27U
3084#define FPU_FPCCR_CLRONRETS_Msk (1UL << FPU_FPCCR_CLRONRETS_Pos)
3086#define FPU_FPCCR_TS_Pos 26U
3087#define FPU_FPCCR_TS_Msk (1UL << FPU_FPCCR_TS_Pos)
3089#define FPU_FPCCR_UFRDY_Pos 10U
3090#define FPU_FPCCR_UFRDY_Msk (1UL << FPU_FPCCR_UFRDY_Pos)
3092#define FPU_FPCCR_SPLIMVIOL_Pos 9U
3093#define FPU_FPCCR_SPLIMVIOL_Msk (1UL << FPU_FPCCR_SPLIMVIOL_Pos)
3095#define FPU_FPCCR_MONRDY_Pos 8U
3096#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos)
3098#define FPU_FPCCR_SFRDY_Pos 7U
3099#define FPU_FPCCR_SFRDY_Msk (1UL << FPU_FPCCR_SFRDY_Pos)
3101#define FPU_FPCCR_BFRDY_Pos 6U
3102#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos)
3104#define FPU_FPCCR_MMRDY_Pos 5U
3105#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos)
3107#define FPU_FPCCR_HFRDY_Pos 4U
3108#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos)
3110#define FPU_FPCCR_THREAD_Pos 3U
3111#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos)
3113#define FPU_FPCCR_S_Pos 2U
3114#define FPU_FPCCR_S_Msk (1UL << FPU_FPCCR_S_Pos)
3116#define FPU_FPCCR_USER_Pos 1U
3117#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos)
3119#define FPU_FPCCR_LSPACT_Pos 0U
3120#define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/)
3122/* Floating-Point Context Address Register Definitions */
3123#define FPU_FPCAR_ADDRESS_Pos 3U
3124#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos)
3126/* Floating-Point Default Status Control Register Definitions */
3127#define FPU_FPDSCR_AHP_Pos 26U
3128#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos)
3130#define FPU_FPDSCR_DN_Pos 25U
3131#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos)
3133#define FPU_FPDSCR_FZ_Pos 24U
3134#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos)
3136#define FPU_FPDSCR_RMode_Pos 22U
3137#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos)
3139#define FPU_FPDSCR_FZ16_Pos 19U
3140#define FPU_FPDSCR_FZ16_Msk (1UL << FPU_FPDSCR_FZ16_Pos)
3142#define FPU_FPDSCR_LTPSIZE_Pos 16U
3143#define FPU_FPDSCR_LTPSIZE_Msk (7UL << FPU_FPDSCR_LTPSIZE_Pos)
3145/* Media and VFP Feature Register 0 Definitions */
3146#define FPU_MVFR0_FPRound_Pos 28U
3147#define FPU_MVFR0_FPRound_Msk (0xFUL << FPU_MVFR0_FPRound_Pos)
3149#define FPU_MVFR0_FPSqrt_Pos 20U
3150#define FPU_MVFR0_FPSqrt_Msk (0xFUL << FPU_MVFR0_FPSqrt_Pos)
3152#define FPU_MVFR0_FPDivide_Pos 16U
3153#define FPU_MVFR0_FPDivide_Msk (0xFUL << FPU_MVFR0_FPDivide_Pos)
3155#define FPU_MVFR0_FPDP_Pos 8U
3156#define FPU_MVFR0_FPDP_Msk (0xFUL << FPU_MVFR0_FPDP_Pos)
3158#define FPU_MVFR0_FPSP_Pos 4U
3159#define FPU_MVFR0_FPSP_Msk (0xFUL << FPU_MVFR0_FPSP_Pos)
3161#define FPU_MVFR0_SIMDReg_Pos 0U
3162#define FPU_MVFR0_SIMDReg_Msk (0xFUL /*<< FPU_MVFR0_SIMDReg_Pos*/)
3164/* Media and VFP Feature Register 1 Definitions */
3165#define FPU_MVFR1_FMAC_Pos 28U
3166#define FPU_MVFR1_FMAC_Msk (0xFUL << FPU_MVFR1_FMAC_Pos)
3168#define FPU_MVFR1_FPHP_Pos 24U
3169#define FPU_MVFR1_FPHP_Msk (0xFUL << FPU_MVFR1_FPHP_Pos)
3171#define FPU_MVFR1_FP16_Pos 20U
3172#define FPU_MVFR1_FP16_Msk (0xFUL << FPU_MVFR1_FP16_Pos)
3174#define FPU_MVFR1_MVE_Pos 8U
3175#define FPU_MVFR1_MVE_Msk (0xFUL << FPU_MVFR1_MVE_Pos)
3177#define FPU_MVFR1_FPDNaN_Pos 4U
3178#define FPU_MVFR1_FPDNaN_Msk (0xFUL << FPU_MVFR1_FPDNaN_Pos)
3180#define FPU_MVFR1_FPFtZ_Pos 0U
3181#define FPU_MVFR1_FPFtZ_Msk (0xFUL /*<< FPU_MVFR1_FPFtZ_Pos*/)
3183/* Media and VFP Feature Register 2 Definitions */
3184#define FPU_MVFR2_FPMisc_Pos 4U
3185#define FPU_MVFR2_FPMisc_Msk (0xFUL << FPU_MVFR2_FPMisc_Pos)
3189/* CoreDebug is deprecated. replaced by DCB (Debug Control Block) */
3200typedef struct
3201{
3202 __IOM uint32_t DHCSR;
3203 __OM uint32_t DCRSR;
3204 __IOM uint32_t DCRDR;
3205 __IOM uint32_t DEMCR;
3206 __OM uint32_t DSCEMCR;
3207 __IOM uint32_t DAUTHCTRL;
3208 __IOM uint32_t DSCSR;
3210
3211/* Debug Halting Control and Status Register Definitions */
3212#define CoreDebug_DHCSR_DBGKEY_Pos 16U
3213#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos)
3215#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U
3216#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos)
3218#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U
3219#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos)
3221#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U
3222#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos)
3224#define CoreDebug_DHCSR_S_FPD_Pos 23U
3225#define CoreDebug_DHCSR_S_FPD_Msk (1UL << CoreDebug_DHCSR_S_FPD_Pos)
3227#define CoreDebug_DHCSR_S_SUIDE_Pos 22U
3228#define CoreDebug_DHCSR_S_SUIDE_Msk (1UL << CoreDebug_DHCSR_S_SUIDE_Pos)
3230#define CoreDebug_DHCSR_S_NSUIDE_Pos 21U
3231#define CoreDebug_DHCSR_S_NSUIDE_Msk (1UL << CoreDebug_DHCSR_S_NSUIDE_Pos)
3233#define CoreDebug_DHCSR_S_SDE_Pos 20U
3234#define CoreDebug_DHCSR_S_SDE_Msk (1UL << CoreDebug_DHCSR_S_SDE_Pos)
3236#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U
3237#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos)
3239#define CoreDebug_DHCSR_S_SLEEP_Pos 18U
3240#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos)
3242#define CoreDebug_DHCSR_S_HALT_Pos 17U
3243#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos)
3245#define CoreDebug_DHCSR_S_REGRDY_Pos 16U
3246#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos)
3248#define CoreDebug_DHCSR_C_PMOV_Pos 6U
3249#define CoreDebug_DHCSR_C_PMOV_Msk (1UL << CoreDebug_DHCSR_C_PMOV_Pos)
3251#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U
3252#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos)
3254#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U
3255#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos)
3257#define CoreDebug_DHCSR_C_STEP_Pos 2U
3258#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos)
3260#define CoreDebug_DHCSR_C_HALT_Pos 1U
3261#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos)
3263#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U
3264#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/)
3266/* Debug Core Register Selector Register Definitions */
3267#define CoreDebug_DCRSR_REGWnR_Pos 16U
3268#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos)
3270#define CoreDebug_DCRSR_REGSEL_Pos 0U
3271#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/)
3273/* Debug Exception and Monitor Control Register Definitions */
3274#define CoreDebug_DEMCR_TRCENA_Pos 24U
3275#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos)
3277#define CoreDebug_DEMCR_MON_REQ_Pos 19U
3278#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos)
3280#define CoreDebug_DEMCR_MON_STEP_Pos 18U
3281#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos)
3283#define CoreDebug_DEMCR_MON_PEND_Pos 17U
3284#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos)
3286#define CoreDebug_DEMCR_MON_EN_Pos 16U
3287#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos)
3289#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U
3290#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos)
3292#define CoreDebug_DEMCR_VC_INTERR_Pos 9U
3293#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos)
3295#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U
3296#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos)
3298#define CoreDebug_DEMCR_VC_STATERR_Pos 7U
3299#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos)
3301#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U
3302#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos)
3304#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U
3305#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos)
3307#define CoreDebug_DEMCR_VC_MMERR_Pos 4U
3308#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos)
3310#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U
3311#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/)
3313/* Debug Set Clear Exception and Monitor Control Register Definitions */
3314#define CoreDebug_DSCEMCR_CLR_MON_REQ_Pos 19U
3315#define CoreDebug_DSCEMCR_CLR_MON_REQ_Msk (1UL << CoreDebug_DSCEMCR_CLR_MON_REQ_Pos)
3317#define CoreDebug_DSCEMCR_CLR_MON_PEND_Pos 17U
3318#define CoreDebug_DSCEMCR_CLR_MON_PEND_Msk (1UL << CoreDebug_DSCEMCR_CLR_MON_PEND_Pos)
3320#define CoreDebug_DSCEMCR_SET_MON_REQ_Pos 3U
3321#define CoreDebug_DSCEMCR_SET_MON_REQ_Msk (1UL << CoreDebug_DSCEMCR_SET_MON_REQ_Pos)
3323#define CoreDebug_DSCEMCR_SET_MON_PEND_Pos 1U
3324#define CoreDebug_DSCEMCR_SET_MON_PEND_Msk (1UL << CoreDebug_DSCEMCR_SET_MON_PEND_Pos)
3326/* Debug Authentication Control Register Definitions */
3327#define CoreDebug_DAUTHCTRL_UIDEN_Pos 10U
3328#define CoreDebug_DAUTHCTRL_UIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_UIDEN_Pos)
3330#define CoreDebug_DAUTHCTRL_UIDAPEN_Pos 9U
3331#define CoreDebug_DAUTHCTRL_UIDAPEN_Msk (1UL << CoreDebug_DAUTHCTRL_UIDAPEN_Pos)
3333#define CoreDebug_DAUTHCTRL_FSDMA_Pos 8U
3334#define CoreDebug_DAUTHCTRL_FSDMA_Msk (1UL << CoreDebug_DAUTHCTRL_FSDMA_Pos)
3336#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U
3337#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos)
3339#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U
3340#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos)
3342#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U
3343#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos)
3345#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U
3346#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL /*<< CoreDebug_DAUTHCTRL_SPIDENSEL_Pos*/)
3348/* Debug Security Control and Status Register Definitions */
3349#define CoreDebug_DSCSR_CDS_Pos 16U
3350#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos)
3352#define CoreDebug_DSCSR_SBRSEL_Pos 1U
3353#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos)
3355#define CoreDebug_DSCSR_SBRSELEN_Pos 0U
3356#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL /*<< CoreDebug_DSCSR_SBRSELEN_Pos*/)
3371typedef struct
3372{
3373 __IOM uint32_t DHCSR;
3374 __OM uint32_t DCRSR;
3375 __IOM uint32_t DCRDR;
3376 __IOM uint32_t DEMCR;
3377 __OM uint32_t DSCEMCR;
3378 __IOM uint32_t DAUTHCTRL;
3379 __IOM uint32_t DSCSR;
3380} DCB_Type;
3381
3382/* DHCSR, Debug Halting Control and Status Register Definitions */
3383#define DCB_DHCSR_DBGKEY_Pos 16U
3384#define DCB_DHCSR_DBGKEY_Msk (0xFFFFUL << DCB_DHCSR_DBGKEY_Pos)
3386#define DCB_DHCSR_S_RESTART_ST_Pos 26U
3387#define DCB_DHCSR_S_RESTART_ST_Msk (0x1UL << DCB_DHCSR_S_RESTART_ST_Pos)
3389#define DCB_DHCSR_S_RESET_ST_Pos 25U
3390#define DCB_DHCSR_S_RESET_ST_Msk (0x1UL << DCB_DHCSR_S_RESET_ST_Pos)
3392#define DCB_DHCSR_S_RETIRE_ST_Pos 24U
3393#define DCB_DHCSR_S_RETIRE_ST_Msk (0x1UL << DCB_DHCSR_S_RETIRE_ST_Pos)
3395#define DCB_DHCSR_S_FPD_Pos 23U
3396#define DCB_DHCSR_S_FPD_Msk (0x1UL << DCB_DHCSR_S_FPD_Pos)
3398#define DCB_DHCSR_S_SUIDE_Pos 22U
3399#define DCB_DHCSR_S_SUIDE_Msk (0x1UL << DCB_DHCSR_S_SUIDE_Pos)
3401#define DCB_DHCSR_S_NSUIDE_Pos 21U
3402#define DCB_DHCSR_S_NSUIDE_Msk (0x1UL << DCB_DHCSR_S_NSUIDE_Pos)
3404#define DCB_DHCSR_S_SDE_Pos 20U
3405#define DCB_DHCSR_S_SDE_Msk (0x1UL << DCB_DHCSR_S_SDE_Pos)
3407#define DCB_DHCSR_S_LOCKUP_Pos 19U
3408#define DCB_DHCSR_S_LOCKUP_Msk (0x1UL << DCB_DHCSR_S_LOCKUP_Pos)
3410#define DCB_DHCSR_S_SLEEP_Pos 18U
3411#define DCB_DHCSR_S_SLEEP_Msk (0x1UL << DCB_DHCSR_S_SLEEP_Pos)
3413#define DCB_DHCSR_S_HALT_Pos 17U
3414#define DCB_DHCSR_S_HALT_Msk (0x1UL << DCB_DHCSR_S_HALT_Pos)
3416#define DCB_DHCSR_S_REGRDY_Pos 16U
3417#define DCB_DHCSR_S_REGRDY_Msk (0x1UL << DCB_DHCSR_S_REGRDY_Pos)
3419#define DCB_DHCSR_C_PMOV_Pos 6U
3420#define DCB_DHCSR_C_PMOV_Msk (0x1UL << DCB_DHCSR_C_PMOV_Pos)
3422#define DCB_DHCSR_C_SNAPSTALL_Pos 5U
3423#define DCB_DHCSR_C_SNAPSTALL_Msk (0x1UL << DCB_DHCSR_C_SNAPSTALL_Pos)
3425#define DCB_DHCSR_C_MASKINTS_Pos 3U
3426#define DCB_DHCSR_C_MASKINTS_Msk (0x1UL << DCB_DHCSR_C_MASKINTS_Pos)
3428#define DCB_DHCSR_C_STEP_Pos 2U
3429#define DCB_DHCSR_C_STEP_Msk (0x1UL << DCB_DHCSR_C_STEP_Pos)
3431#define DCB_DHCSR_C_HALT_Pos 1U
3432#define DCB_DHCSR_C_HALT_Msk (0x1UL << DCB_DHCSR_C_HALT_Pos)
3434#define DCB_DHCSR_C_DEBUGEN_Pos 0U
3435#define DCB_DHCSR_C_DEBUGEN_Msk (0x1UL /*<< DCB_DHCSR_C_DEBUGEN_Pos*/)
3437/* DCRSR, Debug Core Register Select Register Definitions */
3438#define DCB_DCRSR_REGWnR_Pos 16U
3439#define DCB_DCRSR_REGWnR_Msk (0x1UL << DCB_DCRSR_REGWnR_Pos)
3441#define DCB_DCRSR_REGSEL_Pos 0U
3442#define DCB_DCRSR_REGSEL_Msk (0x7FUL /*<< DCB_DCRSR_REGSEL_Pos*/)
3444/* DCRDR, Debug Core Register Data Register Definitions */
3445#define DCB_DCRDR_DBGTMP_Pos 0U
3446#define DCB_DCRDR_DBGTMP_Msk (0xFFFFFFFFUL /*<< DCB_DCRDR_DBGTMP_Pos*/)
3448/* DEMCR, Debug Exception and Monitor Control Register Definitions */
3449#define DCB_DEMCR_TRCENA_Pos 24U
3450#define DCB_DEMCR_TRCENA_Msk (0x1UL << DCB_DEMCR_TRCENA_Pos)
3452#define DCB_DEMCR_MONPRKEY_Pos 23U
3453#define DCB_DEMCR_MONPRKEY_Msk (0x1UL << DCB_DEMCR_MONPRKEY_Pos)
3455#define DCB_DEMCR_UMON_EN_Pos 21U
3456#define DCB_DEMCR_UMON_EN_Msk (0x1UL << DCB_DEMCR_UMON_EN_Pos)
3458#define DCB_DEMCR_SDME_Pos 20U
3459#define DCB_DEMCR_SDME_Msk (0x1UL << DCB_DEMCR_SDME_Pos)
3461#define DCB_DEMCR_MON_REQ_Pos 19U
3462#define DCB_DEMCR_MON_REQ_Msk (0x1UL << DCB_DEMCR_MON_REQ_Pos)
3464#define DCB_DEMCR_MON_STEP_Pos 18U
3465#define DCB_DEMCR_MON_STEP_Msk (0x1UL << DCB_DEMCR_MON_STEP_Pos)
3467#define DCB_DEMCR_MON_PEND_Pos 17U
3468#define DCB_DEMCR_MON_PEND_Msk (0x1UL << DCB_DEMCR_MON_PEND_Pos)
3470#define DCB_DEMCR_MON_EN_Pos 16U
3471#define DCB_DEMCR_MON_EN_Msk (0x1UL << DCB_DEMCR_MON_EN_Pos)
3473#define DCB_DEMCR_VC_SFERR_Pos 11U
3474#define DCB_DEMCR_VC_SFERR_Msk (0x1UL << DCB_DEMCR_VC_SFERR_Pos)
3476#define DCB_DEMCR_VC_HARDERR_Pos 10U
3477#define DCB_DEMCR_VC_HARDERR_Msk (0x1UL << DCB_DEMCR_VC_HARDERR_Pos)
3479#define DCB_DEMCR_VC_INTERR_Pos 9U
3480#define DCB_DEMCR_VC_INTERR_Msk (0x1UL << DCB_DEMCR_VC_INTERR_Pos)
3482#define DCB_DEMCR_VC_BUSERR_Pos 8U
3483#define DCB_DEMCR_VC_BUSERR_Msk (0x1UL << DCB_DEMCR_VC_BUSERR_Pos)
3485#define DCB_DEMCR_VC_STATERR_Pos 7U
3486#define DCB_DEMCR_VC_STATERR_Msk (0x1UL << DCB_DEMCR_VC_STATERR_Pos)
3488#define DCB_DEMCR_VC_CHKERR_Pos 6U
3489#define DCB_DEMCR_VC_CHKERR_Msk (0x1UL << DCB_DEMCR_VC_CHKERR_Pos)
3491#define DCB_DEMCR_VC_NOCPERR_Pos 5U
3492#define DCB_DEMCR_VC_NOCPERR_Msk (0x1UL << DCB_DEMCR_VC_NOCPERR_Pos)
3494#define DCB_DEMCR_VC_MMERR_Pos 4U
3495#define DCB_DEMCR_VC_MMERR_Msk (0x1UL << DCB_DEMCR_VC_MMERR_Pos)
3497#define DCB_DEMCR_VC_CORERESET_Pos 0U
3498#define DCB_DEMCR_VC_CORERESET_Msk (0x1UL /*<< DCB_DEMCR_VC_CORERESET_Pos*/)
3500/* DSCEMCR, Debug Set Clear Exception and Monitor Control Register Definitions */
3501#define DCB_DSCEMCR_CLR_MON_REQ_Pos 19U
3502#define DCB_DSCEMCR_CLR_MON_REQ_Msk (0x1UL << DCB_DSCEMCR_CLR_MON_REQ_Pos)
3504#define DCB_DSCEMCR_CLR_MON_PEND_Pos 17U
3505#define DCB_DSCEMCR_CLR_MON_PEND_Msk (0x1UL << DCB_DSCEMCR_CLR_MON_PEND_Pos)
3507#define DCB_DSCEMCR_SET_MON_REQ_Pos 3U
3508#define DCB_DSCEMCR_SET_MON_REQ_Msk (0x1UL << DCB_DSCEMCR_SET_MON_REQ_Pos)
3510#define DCB_DSCEMCR_SET_MON_PEND_Pos 1U
3511#define DCB_DSCEMCR_SET_MON_PEND_Msk (0x1UL << DCB_DSCEMCR_SET_MON_PEND_Pos)
3513/* DAUTHCTRL, Debug Authentication Control Register Definitions */
3514#define DCB_DAUTHCTRL_UIDEN_Pos 10U
3515#define DCB_DAUTHCTRL_UIDEN_Msk (0x1UL << DCB_DAUTHCTRL_UIDEN_Pos)
3517#define DCB_DAUTHCTRL_UIDAPEN_Pos 9U
3518#define DCB_DAUTHCTRL_UIDAPEN_Msk (0x1UL << DCB_DAUTHCTRL_UIDAPEN_Pos)
3520#define DCB_DAUTHCTRL_FSDMA_Pos 8U
3521#define DCB_DAUTHCTRL_FSDMA_Msk (0x1UL << DCB_DAUTHCTRL_FSDMA_Pos)
3523#define DCB_DAUTHCTRL_INTSPNIDEN_Pos 3U
3524#define DCB_DAUTHCTRL_INTSPNIDEN_Msk (0x1UL << DCB_DAUTHCTRL_INTSPNIDEN_Pos)
3526#define DCB_DAUTHCTRL_SPNIDENSEL_Pos 2U
3527#define DCB_DAUTHCTRL_SPNIDENSEL_Msk (0x1UL << DCB_DAUTHCTRL_SPNIDENSEL_Pos)
3529#define DCB_DAUTHCTRL_INTSPIDEN_Pos 1U
3530#define DCB_DAUTHCTRL_INTSPIDEN_Msk (0x1UL << DCB_DAUTHCTRL_INTSPIDEN_Pos)
3532#define DCB_DAUTHCTRL_SPIDENSEL_Pos 0U
3533#define DCB_DAUTHCTRL_SPIDENSEL_Msk (0x1UL /*<< DCB_DAUTHCTRL_SPIDENSEL_Pos*/)
3535/* DSCSR, Debug Security Control and Status Register Definitions */
3536#define DCB_DSCSR_CDSKEY_Pos 17U
3537#define DCB_DSCSR_CDSKEY_Msk (0x1UL << DCB_DSCSR_CDSKEY_Pos)
3539#define DCB_DSCSR_CDS_Pos 16U
3540#define DCB_DSCSR_CDS_Msk (0x1UL << DCB_DSCSR_CDS_Pos)
3542#define DCB_DSCSR_SBRSEL_Pos 1U
3543#define DCB_DSCSR_SBRSEL_Msk (0x1UL << DCB_DSCSR_SBRSEL_Pos)
3545#define DCB_DSCSR_SBRSELEN_Pos 0U
3546#define DCB_DSCSR_SBRSELEN_Msk (0x1UL /*<< DCB_DSCSR_SBRSELEN_Pos*/)
3562typedef struct
3563{
3564 uint32_t RESERVED0[2U];
3565 __IM uint32_t DAUTHSTATUS;
3566 __IM uint32_t DDEVARCH;
3567 uint32_t RESERVED1[3U];
3568 __IM uint32_t DDEVTYPE;
3569} DIB_Type;
3570
3571/* DAUTHSTATUS, Debug Authentication Status Register Definitions */
3572#define DIB_DAUTHSTATUS_SUNID_Pos 22U
3573#define DIB_DAUTHSTATUS_SUNID_Msk (0x3UL << DIB_DAUTHSTATUS_SUNID_Pos )
3575#define DIB_DAUTHSTATUS_SUID_Pos 20U
3576#define DIB_DAUTHSTATUS_SUID_Msk (0x3UL << DIB_DAUTHSTATUS_SUID_Pos )
3578#define DIB_DAUTHSTATUS_NSUNID_Pos 18U
3579#define DIB_DAUTHSTATUS_NSUNID_Msk (0x3UL << DIB_DAUTHSTATUS_NSUNID_Pos )
3581#define DIB_DAUTHSTATUS_NSUID_Pos 16U
3582#define DIB_DAUTHSTATUS_NSUID_Msk (0x3UL << DIB_DAUTHSTATUS_NSUID_Pos )
3584#define DIB_DAUTHSTATUS_SNID_Pos 6U
3585#define DIB_DAUTHSTATUS_SNID_Msk (0x3UL << DIB_DAUTHSTATUS_SNID_Pos )
3587#define DIB_DAUTHSTATUS_SID_Pos 4U
3588#define DIB_DAUTHSTATUS_SID_Msk (0x3UL << DIB_DAUTHSTATUS_SID_Pos )
3590#define DIB_DAUTHSTATUS_NSNID_Pos 2U
3591#define DIB_DAUTHSTATUS_NSNID_Msk (0x3UL << DIB_DAUTHSTATUS_NSNID_Pos )
3593#define DIB_DAUTHSTATUS_NSID_Pos 0U
3594#define DIB_DAUTHSTATUS_NSID_Msk (0x3UL /*<< DIB_DAUTHSTATUS_NSID_Pos*/)
3596/* DDEVARCH, SCS Device Architecture Register Definitions */
3597#define DIB_DDEVARCH_ARCHITECT_Pos 21U
3598#define DIB_DDEVARCH_ARCHITECT_Msk (0x7FFUL << DIB_DDEVARCH_ARCHITECT_Pos )
3600#define DIB_DDEVARCH_PRESENT_Pos 20U
3601#define DIB_DDEVARCH_PRESENT_Msk (0x1FUL << DIB_DDEVARCH_PRESENT_Pos )
3603#define DIB_DDEVARCH_REVISION_Pos 16U
3604#define DIB_DDEVARCH_REVISION_Msk (0xFUL << DIB_DDEVARCH_REVISION_Pos )
3606#define DIB_DDEVARCH_ARCHVER_Pos 12U
3607#define DIB_DDEVARCH_ARCHVER_Msk (0xFUL << DIB_DDEVARCH_ARCHVER_Pos )
3609#define DIB_DDEVARCH_ARCHPART_Pos 0U
3610#define DIB_DDEVARCH_ARCHPART_Msk (0xFFFUL /*<< DIB_DDEVARCH_ARCHPART_Pos*/)
3612/* DDEVTYPE, SCS Device Type Register Definitions */
3613#define DIB_DDEVTYPE_SUB_Pos 4U
3614#define DIB_DDEVTYPE_SUB_Msk (0xFUL << DIB_DDEVTYPE_SUB_Pos )
3616#define DIB_DDEVTYPE_MAJOR_Pos 0U
3617#define DIB_DDEVTYPE_MAJOR_Msk (0xFUL /*<< DIB_DDEVTYPE_MAJOR_Pos*/)
3636#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)
3637
3644#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)
3645
3656/* Memory mapping of Core Hardware */
3657 #define SCS_BASE (0xE000E000UL)
3658 #define ITM_BASE (0xE0000000UL)
3659 #define DWT_BASE (0xE0001000UL)
3660 #define MEMSYSCTL_BASE (0xE001E000UL)
3661 #define ERRBNK_BASE (0xE001E100UL)
3662 #define PWRMODCTL_BASE (0xE001E300UL)
3663 #define EWIC_ISA_BASE (0xE001E400UL)
3664 #define PRCCFGINF_BASE (0xE001E700UL)
3665 #define STL_BASE (0xE001E800UL)
3666 #define TPI_BASE (0xE0040000UL)
3667 #define EWIC_BASE (0xE0047000UL)
3668 #define CoreDebug_BASE (0xE000EDF0UL)
3669 #define DCB_BASE (0xE000EDF0UL)
3670 #define DIB_BASE (0xE000EFB0UL)
3671 #define SysTick_BASE (SCS_BASE + 0x0010UL)
3672 #define NVIC_BASE (SCS_BASE + 0x0100UL)
3673 #define SCB_BASE (SCS_BASE + 0x0D00UL)
3675 #define ICB ((ICB_Type *) SCS_BASE )
3676 #define SCB ((SCB_Type *) SCB_BASE )
3677 #define SysTick ((SysTick_Type *) SysTick_BASE )
3678 #define NVIC ((NVIC_Type *) NVIC_BASE )
3679 #define ITM ((ITM_Type *) ITM_BASE )
3680 #define DWT ((DWT_Type *) DWT_BASE )
3681 #define TPI ((TPI_Type *) TPI_BASE )
3682 #define MEMSYSCTL ((MemSysCtl_Type *) MEMSYSCTL_BASE )
3683 #define ERRBNK ((ErrBnk_Type *) ERRBNK_BASE )
3684 #define PWRMODCTL ((PwrModCtl_Type *) PWRMODCTL_BASE )
3685 #define EWIC_ISA ((EWIC_ISA_Type *) EWIC_ISA_BASE )
3686 #define EWIC ((EWIC_Type *) EWIC_BASE )
3687 #define PRCCFGINF ((PrcCfgInf_Type *) PRCCFGINF_BASE )
3688 #define STL ((STL_Type *) STL_BASE )
3689 #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE )
3690 #define DCB ((DCB_Type *) DCB_BASE )
3691 #define DIB ((DIB_Type *) DIB_BASE )
3693 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
3694 #define MPU_BASE (SCS_BASE + 0x0D90UL)
3695 #define MPU ((MPU_Type *) MPU_BASE )
3696 #endif
3697
3698 #if defined (__PMU_PRESENT) && (__PMU_PRESENT == 1U)
3699 #define PMU_BASE (0xE0003000UL)
3700 #define PMU ((PMU_Type *) PMU_BASE )
3701 #endif
3702
3703 #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
3704 #define SAU_BASE (SCS_BASE + 0x0DD0UL)
3705 #define SAU ((SAU_Type *) SAU_BASE )
3706 #endif
3707
3708 #define FPU_BASE (SCS_BASE + 0x0F30UL)
3709 #define FPU ((FPU_Type *) FPU_BASE )
3711#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
3712 #define SCS_BASE_NS (0xE002E000UL)
3713 #define CoreDebug_BASE_NS (0xE002EDF0UL)
3714 #define DCB_BASE_NS (0xE002EDF0UL)
3715 #define DIB_BASE_NS (0xE002EFB0UL)
3716 #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL)
3717 #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL)
3718 #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL)
3720 #define ICB_NS ((ICB_Type *) SCS_BASE_NS )
3721 #define SCB_NS ((SCB_Type *) SCB_BASE_NS )
3722 #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS )
3723 #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS )
3724 #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS)
3725 #define DCB_NS ((DCB_Type *) DCB_BASE_NS )
3726 #define DIB_NS ((DIB_Type *) DIB_BASE_NS )
3728 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
3729 #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL)
3730 #define MPU_NS ((MPU_Type *) MPU_BASE_NS )
3731 #endif
3732
3733 #define FPU_BASE_NS (SCS_BASE_NS + 0x0F30UL)
3734 #define FPU_NS ((FPU_Type *) FPU_BASE_NS )
3736#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
3746#define ID_ADR (ID_AFR)
3748/* 'SCnSCB' is deprecated and replaced by 'ICB' */
3749typedef ICB_Type SCnSCB_Type;
3750
3751/* Auxiliary Control Register Definitions */
3752#define SCnSCB_ACTLR_DISCRITAXIRUW_Pos (ICB_ACTLR_DISCRITAXIRUW_Pos)
3753#define SCnSCB_ACTLR_DISCRITAXIRUW_Msk (ICB_ACTLR_DISCRITAXIRUW_Msk)
3754
3755#define SCnSCB_ACTLR_DISDI_Pos (ICB_ACTLR_DISDI_Pos)
3756#define SCnSCB_ACTLR_DISDI_Msk (ICB_ACTLR_DISDI_Msk)
3757
3758#define SCnSCB_ACTLR_DISCRITAXIRUR_Pos (ICB_ACTLR_DISCRITAXIRUR_Pos)
3759#define SCnSCB_ACTLR_DISCRITAXIRUR_Msk (ICB_ACTLR_DISCRITAXIRUR_Msk)
3760
3761#define SCnSCB_ACTLR_EVENTBUSEN_Pos (ICB_ACTLR_EVENTBUSEN_Pos)
3762#define SCnSCB_ACTLR_EVENTBUSEN_Msk (ICB_ACTLR_EVENTBUSEN_Msk)
3763
3764#define SCnSCB_ACTLR_EVENTBUSEN_S_Pos (ICB_ACTLR_EVENTBUSEN_S_Pos)
3765#define SCnSCB_ACTLR_EVENTBUSEN_S_Msk (ICB_ACTLR_EVENTBUSEN_S_Msk)
3766
3767#define SCnSCB_ACTLR_DISITMATBFLUSH_Pos (ICB_ACTLR_DISITMATBFLUSH_Pos)
3768#define SCnSCB_ACTLR_DISITMATBFLUSH_Msk (ICB_ACTLR_DISITMATBFLUSH_Msk)
3769
3770#define SCnSCB_ACTLR_DISNWAMODE_Pos (ICB_ACTLR_DISNWAMODE_Pos)
3771#define SCnSCB_ACTLR_DISNWAMODE_Msk (ICB_ACTLR_DISNWAMODE_Msk)
3772
3773#define SCnSCB_ACTLR_FPEXCODIS_Pos (ICB_ACTLR_FPEXCODIS_Pos)
3774#define SCnSCB_ACTLR_FPEXCODIS_Msk (ICB_ACTLR_FPEXCODIS_Msk)
3775
3776#define SCnSCB_ACTLR_DISOLAP_Pos (ICB_ACTLR_DISOLAP_Pos)
3777#define SCnSCB_ACTLR_DISOLAP_Msk (ICB_ACTLR_DISOLAP_Msk)
3778
3779#define SCnSCB_ACTLR_DISOLAPS_Pos (ICB_ACTLR_DISOLAPS_Pos)
3780#define SCnSCB_ACTLR_DISOLAPS_Msk (ICB_ACTLR_DISOLAPS_Msk)
3781
3782#define SCnSCB_ACTLR_DISLOBR_Pos (ICB_ACTLR_DISLOBR_Pos)
3783#define SCnSCB_ACTLR_DISLOBR_Msk (ICB_ACTLR_DISLOBR_Msk)
3784
3785#define SCnSCB_ACTLR_DISLO_Pos (ICB_ACTLR_DISLO_Pos)
3786#define SCnSCB_ACTLR_DISLO_Msk (ICB_ACTLR_DISLO_Msk)
3787
3788#define SCnSCB_ACTLR_DISLOLEP_Pos (ICB_ACTLR_DISLOLEP_Pos)
3789#define SCnSCB_ACTLR_DISLOLEP_Msk (ICB_ACTLR_DISLOLEP_Msk)
3790
3791#define SCnSCB_ACTLR_DISFOLD_Pos (ICB_ACTLR_DISFOLD_Pos)
3792#define SCnSCB_ACTLR_DISFOLD_Msk (ICB_ACTLR_DISFOLD_Msk)
3793
3794/* Interrupt Controller Type Register Definitions */
3795#define SCnSCB_ICTR_INTLINESNUM_Pos (ICB_ICTR_INTLINESNUM_Pos)
3796#define SCnSCB_ICTR_INTLINESNUM_Msk (ICB_ICTR_INTLINESNUM_Msk)
3797
3798#define SCnSCB (ICB)
3799#define SCnSCB_NS (ICB_NS)
3800
3804/*******************************************************************************
3805 * Hardware Abstraction Layer
3806 Core Function Interface contains:
3807 - Core NVIC Functions
3808 - Core SysTick Functions
3809 - Core Debug Functions
3810 - Core Register Access Functions
3811 ******************************************************************************/
3818/* ########################## NVIC functions #################################### */
3826#ifdef CMSIS_NVIC_VIRTUAL
3827 #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
3828 #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
3829 #endif
3830 #include CMSIS_NVIC_VIRTUAL_HEADER_FILE
3831#else
3832 #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping
3833 #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping
3834 #define NVIC_EnableIRQ __NVIC_EnableIRQ
3835 #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
3836 #define NVIC_DisableIRQ __NVIC_DisableIRQ
3837 #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
3838 #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
3839 #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
3840 #define NVIC_GetActive __NVIC_GetActive
3841 #define NVIC_SetPriority __NVIC_SetPriority
3842 #define NVIC_GetPriority __NVIC_GetPriority
3843 #define NVIC_SystemReset __NVIC_SystemReset
3844#endif /* CMSIS_NVIC_VIRTUAL */
3845
3846#ifdef CMSIS_VECTAB_VIRTUAL
3847 #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
3848 #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
3849 #endif
3850 #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
3851#else
3852 #define NVIC_SetVector __NVIC_SetVector
3853 #define NVIC_GetVector __NVIC_GetVector
3854#endif /* (CMSIS_VECTAB_VIRTUAL) */
3855
3856#define NVIC_USER_IRQ_OFFSET 16
3857
3858
3859/* Special LR values for Secure/Non-Secure call handling and exception handling */
3860
3861/* Function Return Payload (from ARMv8-M Architecture Reference Manual) LR value on entry from Secure BLXNS */
3862#define FNC_RETURN (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */
3863
3864/* The following EXC_RETURN mask values are used to evaluate the LR on exception entry */
3865#define EXC_RETURN_PREFIX (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */
3866#define EXC_RETURN_S (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */
3867#define EXC_RETURN_DCRS (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */
3868#define EXC_RETURN_FTYPE (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */
3869#define EXC_RETURN_MODE (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */
3870#define EXC_RETURN_SPSEL (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */
3871#define EXC_RETURN_ES (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */
3872
3873/* Integrity Signature (from ARMv8-M Architecture Reference Manual) for exception context stacking */
3874#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) /* Value for processors with floating-point extension: */
3875#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL) /* bit [0] SFTC must match LR bit[4] EXC_RETURN_FTYPE */
3876#else
3877#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL) /* Value for processors without floating-point extension */
3878#endif
3879
3880
3890__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
3891{
3892 uint32_t reg_value;
3893 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
3894
3895 reg_value = SCB->AIRCR; /* read old register configuration */
3896 reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */
3897 reg_value = (reg_value |
3898 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
3899 (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */
3900 SCB->AIRCR = reg_value;
3901}
3902
3903
3909__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
3910{
3911 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
3912}
3913
3914
3921__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
3922{
3923 if ((int32_t)(IRQn) >= 0)
3924 {
3925 __COMPILER_BARRIER();
3926 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
3927 __COMPILER_BARRIER();
3928 }
3929}
3930
3931
3940__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
3941{
3942 if ((int32_t)(IRQn) >= 0)
3943 {
3944 return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
3945 }
3946 else
3947 {
3948 return(0U);
3949 }
3950}
3951
3952
3959__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
3960{
3961 if ((int32_t)(IRQn) >= 0)
3962 {
3963 NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
3964 __DSB();
3965 __ISB();
3966 }
3967}
3968
3969
3978__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
3979{
3980 if ((int32_t)(IRQn) >= 0)
3981 {
3982 return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
3983 }
3984 else
3985 {
3986 return(0U);
3987 }
3988}
3989
3990
3997__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
3998{
3999 if ((int32_t)(IRQn) >= 0)
4000 {
4001 NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4002 }
4003}
4004
4005
4012__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
4013{
4014 if ((int32_t)(IRQn) >= 0)
4015 {
4016 NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4017 }
4018}
4019
4020
4029__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
4030{
4031 if ((int32_t)(IRQn) >= 0)
4032 {
4033 return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4034 }
4035 else
4036 {
4037 return(0U);
4038 }
4039}
4040
4041
4042#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4051__STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
4052{
4053 if ((int32_t)(IRQn) >= 0)
4054 {
4055 return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4056 }
4057 else
4058 {
4059 return(0U);
4060 }
4061}
4062
4063
4072__STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
4073{
4074 if ((int32_t)(IRQn) >= 0)
4075 {
4076 NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)));
4077 return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4078 }
4079 else
4080 {
4081 return(0U);
4082 }
4083}
4084
4085
4094__STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
4095{
4096 if ((int32_t)(IRQn) >= 0)
4097 {
4098 NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)));
4099 return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4100 }
4101 else
4102 {
4103 return(0U);
4104 }
4105}
4106#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4107
4108
4118__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
4119{
4120 if ((int32_t)(IRQn) >= 0)
4121 {
4122 NVIC->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
4123 }
4124 else
4125 {
4126 SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
4127 }
4128}
4129
4130
4140__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
4141{
4142
4143 if ((int32_t)(IRQn) >= 0)
4144 {
4145 return(((uint32_t)NVIC->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS)));
4146 }
4147 else
4148 {
4149 return(((uint32_t)SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS)));
4150 }
4151}
4152
4153
4165__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
4166{
4167 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
4168 uint32_t PreemptPriorityBits;
4169 uint32_t SubPriorityBits;
4170
4171 PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
4172 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
4173
4174 return (
4175 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
4176 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
4177 );
4178}
4179
4180
4192__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority)
4193{
4194 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
4195 uint32_t PreemptPriorityBits;
4196 uint32_t SubPriorityBits;
4197
4198 PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
4199 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
4200
4201 *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL);
4202 *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL);
4203}
4204
4205
4215__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
4216{
4217 uint32_t *vectors = (uint32_t *)SCB->VTOR;
4218 vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector;
4219 __DSB();
4220}
4221
4222
4231__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
4232{
4233 uint32_t *vectors = (uint32_t *)SCB->VTOR;
4234 return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET];
4235}
4236
4237
4242__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
4243{
4244 __DSB(); /* Ensure all outstanding memory accesses included
4245 buffered write are completed before reset */
4246 SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
4247 (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
4248 SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */
4249 __DSB(); /* Ensure completion of memory access */
4250
4251 for(;;) /* wait until reset */
4252 {
4253 __NOP();
4254 }
4255}
4256
4257#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4267__STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup)
4268{
4269 uint32_t reg_value;
4270 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
4271
4272 reg_value = SCB_NS->AIRCR; /* read old register configuration */
4273 reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */
4274 reg_value = (reg_value |
4275 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
4276 (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */
4277 SCB_NS->AIRCR = reg_value;
4278}
4279
4280
4286__STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void)
4287{
4288 return ((uint32_t)((SCB_NS->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
4289}
4290
4291
4298__STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
4299{
4300 if ((int32_t)(IRQn) >= 0)
4301 {
4302 NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4303 }
4304}
4305
4306
4315__STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
4316{
4317 if ((int32_t)(IRQn) >= 0)
4318 {
4319 return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4320 }
4321 else
4322 {
4323 return(0U);
4324 }
4325}
4326
4327
4334__STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
4335{
4336 if ((int32_t)(IRQn) >= 0)
4337 {
4338 NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4339 }
4340}
4341
4342
4351__STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
4352{
4353 if ((int32_t)(IRQn) >= 0)
4354 {
4355 return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4356 }
4357 else
4358 {
4359 return(0U);
4360 }
4361}
4362
4363
4370__STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
4371{
4372 if ((int32_t)(IRQn) >= 0)
4373 {
4374 NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4375 }
4376}
4377
4378
4385__STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
4386{
4387 if ((int32_t)(IRQn) >= 0)
4388 {
4389 NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4390 }
4391}
4392
4393
4402__STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
4403{
4404 if ((int32_t)(IRQn) >= 0)
4405 {
4406 return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4407 }
4408 else
4409 {
4410 return(0U);
4411 }
4412}
4413
4414
4424__STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t priority)
4425{
4426 if ((int32_t)(IRQn) >= 0)
4427 {
4428 NVIC_NS->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
4429 }
4430 else
4431 {
4432 SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
4433 }
4434}
4435
4436
4445__STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
4446{
4447
4448 if ((int32_t)(IRQn) >= 0)
4449 {
4450 return(((uint32_t)NVIC_NS->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS)));
4451 }
4452 else
4453 {
4454 return(((uint32_t)SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS)));
4455 }
4456}
4457#endif /* defined (__ARM_FEATURE_CMSE) &&(__ARM_FEATURE_CMSE == 3U) */
4458
4461/* ########################## MPU functions #################################### */
4462
4463#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
4464
4465#include "mpu_armv8.h"
4466
4467#endif
4468
4469/* ########################## PMU functions and events #################################### */
4470
4471#if defined (__PMU_PRESENT) && (__PMU_PRESENT == 1U)
4472
4473#include "pmu_armv8.h"
4474
4480#define ARMCM55_PMU_ECC_ERR 0xC000
4481#define ARMCM55_PMU_ECC_ERR_FATAL 0xC001
4482#define ARMCM55_PMU_ECC_ERR_DCACHE 0xC010
4483#define ARMCM55_PMU_ECC_ERR_ICACHE 0xC011
4484#define ARMCM55_PMU_ECC_ERR_FATAL_DCACHE 0xC012
4485#define ARMCM55_PMU_ECC_ERR_FATAL_ICACHE 0xC013
4486#define ARMCM55_PMU_ECC_ERR_DTCM 0xC020
4487#define ARMCM55_PMU_ECC_ERR_ITCM 0xC021
4488#define ARMCM55_PMU_ECC_ERR_FATAL_DTCM 0xC022
4489#define ARMCM55_PMU_ECC_ERR_FATAL_ITCM 0xC023
4490#define ARMCM55_PMU_PF_LINEFILL 0xC100
4491#define ARMCM55_PMU_PF_CANCEL 0xC101
4492#define ARMCM55_PMU_PF_DROP_LINEFILL 0xC102
4493#define ARMCM55_PMU_NWAMODE_ENTER 0xC200
4494#define ARMCM55_PMU_NWAMODE 0xC201
4495#define ARMCM55_PMU_SAHB_ACCESS 0xC300
4496#define ARMCM55_PMU_PAHB_ACCESS 0xC301
4497#define ARMCM55_PMU_AXI_WRITE_ACCESS 0xC302
4498#define ARMCM55_PMU_AXI_READ_ACCESS 0xC303
4499#define ARMCM55_PMU_DOSTIMEOUT_DOUBLE 0xC400
4500#define ARMCM55_PMU_DOSTIMEOUT_TRIPLE 0xC401
4501#define ARMCM55_PMU_CDE_INST_RETIRED 0xC402
4502#define ARMCM55_PMU_CDE_CX1_INST_RETIRED 0xC404
4503#define ARMCM55_PMU_CDE_CX2_INST_RETIRED 0xC406
4504#define ARMCM55_PMU_CDE_CX3_INST_RETIRED 0xC408
4505#define ARMCM55_PMU_CDE_VCX1_INST_RETIRED 0xC40A
4506#define ARMCM55_PMU_CDE_VCX2_INST_RETIRED 0xC40C
4507#define ARMCM55_PMU_CDE_VCX3_INST_RETIRED 0xC40E
4508#define ARMCM55_PMU_CDE_VCX1_VEC_INST_RETIRED 0xC410
4509#define ARMCM55_PMU_CDE_VCX2_VEC_INST_RETIRED 0xC412
4510#define ARMCM55_PMU_CDE_VCX3_VEC_INST_RETIRED 0xC414
4511#define ARMCM55_PMU_CDE_PRED 0xC416
4512#define ARMCM55_PMU_CDE_STALL 0xC417
4513#define ARMCM55_PMU_CDE_STALL_RESOURCE 0xC418
4514#define ARMCM55_PMU_CDE_STALL_DEPENDENCY 0xC419
4515#define ARMCM55_PMU_CDE_STALL_CUSTOM 0xC41A
4516#define ARMCM55_PMU_CDE_STALL_OTHER 0xC41B
4517#define ARMCM55_PMU_PF_LF_LA_1 0xC41C
4518#define ARMCM55_PMU_PF_LF_LA_2 0xC41D
4519#define ARMCM55_PMU_PF_LF_LA_3 0xC41E
4520#define ARMCM55_PMU_PF_LF_LA_4 0xC41F
4521#define ARMCM55_PMU_PF_LF_LA_5 0xC420
4522#define ARMCM55_PMU_PF_LF_LA_6 0xC421
4523#define ARMCM55_PMU_PF_BUFFER_FULL 0xC422
4524#define ARMCM55_PMU_PF_BUFFER_MISS 0xC423
4525#define ARMCM55_PMU_PF_BUFFER_HIT 0xC424
4527#endif
4528
4529/* ########################## FPU functions #################################### */
4545__STATIC_INLINE uint32_t SCB_GetFPUType(void)
4546{
4547 uint32_t mvfr0;
4548
4549 mvfr0 = FPU->MVFR0;
4550 if ((mvfr0 & (FPU_MVFR0_FPSP_Msk | FPU_MVFR0_FPDP_Msk)) == 0x220U)
4551 {
4552 return 2U; /* Double + Single precision FPU */
4553 }
4554 else if ((mvfr0 & (FPU_MVFR0_FPSP_Msk | FPU_MVFR0_FPDP_Msk)) == 0x020U)
4555 {
4556 return 1U; /* Single precision FPU */
4557 }
4558 else
4559 {
4560 return 0U; /* No FPU */
4561 }
4562}
4563
4564
4567/* ########################## MVE functions #################################### */
4583__STATIC_INLINE uint32_t SCB_GetMVEType(void)
4584{
4585 const uint32_t mvfr1 = FPU->MVFR1;
4586 if ((mvfr1 & FPU_MVFR1_MVE_Msk) == (0x2U << FPU_MVFR1_MVE_Pos))
4587 {
4588 return 2U;
4589 }
4590 else if ((mvfr1 & FPU_MVFR1_MVE_Msk) == (0x1U << FPU_MVFR1_MVE_Pos))
4591 {
4592 return 1U;
4593 }
4594 else
4595 {
4596 return 0U;
4597 }
4598}
4599
4600
4604/* ########################## Cache functions #################################### */
4605
4606#if ((defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)) || \
4607 (defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)))
4608#include "cachel1_armv7.h"
4609#endif
4610
4611
4612/* ########################## SAU functions #################################### */
4620#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4621
4626__STATIC_INLINE void TZ_SAU_Enable(void)
4627{
4628 SAU->CTRL |= (SAU_CTRL_ENABLE_Msk);
4629}
4630
4631
4632
4637__STATIC_INLINE void TZ_SAU_Disable(void)
4638{
4639 SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk);
4640}
4641
4642#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4643
4649/* ################################## Debug Control function ############################################ */
4663__STATIC_INLINE void DCB_SetAuthCtrl(uint32_t value)
4664{
4665 __DSB();
4666 __ISB();
4667 DCB->DAUTHCTRL = value;
4668 __DSB();
4669 __ISB();
4670}
4671
4672
4678__STATIC_INLINE uint32_t DCB_GetAuthCtrl(void)
4679{
4680 return (DCB->DAUTHCTRL);
4681}
4682
4683
4684#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4690__STATIC_INLINE void TZ_DCB_SetAuthCtrl_NS(uint32_t value)
4691{
4692 __DSB();
4693 __ISB();
4694 DCB_NS->DAUTHCTRL = value;
4695 __DSB();
4696 __ISB();
4697}
4698
4699
4705__STATIC_INLINE uint32_t TZ_DCB_GetAuthCtrl_NS(void)
4706{
4707 return (DCB_NS->DAUTHCTRL);
4708}
4709#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4710
4716/* ################################## Debug Identification function ############################################ */
4730__STATIC_INLINE uint32_t DIB_GetAuthStatus(void)
4731{
4732 return (DIB->DAUTHSTATUS);
4733}
4734
4735
4736#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4742__STATIC_INLINE uint32_t TZ_DIB_GetAuthStatus_NS(void)
4743{
4744 return (DIB_NS->DAUTHSTATUS);
4745}
4746#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4747
4753/* ################################## SysTick function ############################################ */
4761#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
4762
4774__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
4775{
4776 if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
4777 {
4778 return (1UL); /* Reload value impossible */
4779 }
4780
4781 SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
4782 NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
4783 SysTick->VAL = 0UL; /* Load the SysTick Counter Value */
4786 SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
4787 return (0UL); /* Function successful */
4788}
4789
4790#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4803__STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)
4804{
4805 if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
4806 {
4807 return (1UL); /* Reload value impossible */
4808 }
4809
4810 SysTick_NS->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
4811 TZ_NVIC_SetPriority_NS (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
4812 SysTick_NS->VAL = 0UL; /* Load the SysTick Counter Value */
4813 SysTick_NS->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
4815 SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
4816 return (0UL); /* Function successful */
4817}
4818#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4819
4820#endif
4821
4826/* ##################################### Debug In/Output function ########################################### */
4834extern volatile int32_t ITM_RxBuffer;
4835#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U)
4846__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
4847{
4848 if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */
4849 ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */
4850 {
4851 while (ITM->PORT[0U].u32 == 0UL)
4852 {
4853 __NOP();
4854 }
4855 ITM->PORT[0U].u8 = (uint8_t)ch;
4856 }
4857 return (ch);
4858}
4859
4860
4867__STATIC_INLINE int32_t ITM_ReceiveChar (void)
4868{
4869 int32_t ch = -1; /* no character available */
4870
4872 {
4873 ch = ITM_RxBuffer;
4874 ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */
4875 }
4876
4877 return (ch);
4878}
4879
4880
4887__STATIC_INLINE int32_t ITM_CheckChar (void)
4888{
4889
4891 {
4892 return (0); /* no character available */
4893 }
4894 else
4895 {
4896 return (1); /* character available */
4897 }
4898}
4899
4905#ifdef __cplusplus
4906}
4907#endif
4908
4909#endif /* __CORE_CM55_H_DEPENDANT */
4910
4911#endif /* __CMSIS_GENERIC */
CMSIS compiler generic header file.
CMSIS Core(M) Version definitions.
#define SysTick_CTRL_ENABLE_Msk
Definition core_cm55.h:1114
#define DCB
Definition core_cm55.h:3690
#define SysTick_LOAD_RELOAD_Msk
Definition core_cm55.h:1118
#define ITM_TCR_ITMENA_Msk
Definition core_cm55.h:1225
#define SCB_AIRCR_PRIGROUP_Msk
Definition core_cm55.h:665
#define SCB_AIRCR_VECTKEY_Msk
Definition core_cm55.h:650
#define SysTick_CTRL_TICKINT_Msk
Definition core_cm55.h:1111
#define SysTick_CTRL_CLKSOURCE_Msk
Definition core_cm55.h:1108
#define SCB_AIRCR_VECTKEY_Pos
Definition core_cm55.h:649
#define SCB
Definition core_cm55.h:3676
#define DIB
Definition core_cm55.h:3691
#define SCB_AIRCR_SYSRESETREQ_Msk
Definition core_cm55.h:677
#define ITM
Definition core_cm55.h:3679
#define FPU
Definition core_cm55.h:3709
#define NVIC
Definition core_cm55.h:3678
#define SCB_AIRCR_PRIGROUP_Pos
Definition core_cm55.h:664
#define SysTick
Definition core_cm55.h:3677
#define __ISB()
Instruction Synchronization Barrier.
#define __DSB()
Data Synchronization Barrier.
#define __NOP
No Operation.
__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
System Reset.
__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
Set Interrupt Vector.
__STATIC_INLINE uint32_t DIB_GetAuthStatus(void)
Get Debug Authentication Status Register.
__STATIC_INLINE void NVIC_DecodePriority(uint32_t Priority, uint32_t PriorityGroup, uint32_t *const pPreemptPriority, uint32_t *const pSubPriority)
Decode Priority.
__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
Get Interrupt Vector.
__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
Set Interrupt Priority.
__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
Clear Pending Interrupt.
__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
Get Pending Interrupt.
__STATIC_INLINE uint32_t SCB_GetFPUType(void)
get FPU type
__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
Enable Interrupt.
__STATIC_INLINE void DCB_SetAuthCtrl(uint32_t value)
Set Debug Authentication Control Register.
__STATIC_INLINE uint32_t SCB_GetMVEType(void)
get MVE type
__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
Get Active Interrupt.
__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
Set Pending Interrupt.
__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
Get Interrupt Enable status.
__STATIC_INLINE uint32_t NVIC_EncodePriority(uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
Encode Priority.
__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
Disable Interrupt.
__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
Get Interrupt Priority.
__STATIC_INLINE uint32_t DCB_GetAuthCtrl(void)
Get Debug Authentication Control Register.
#define FPU_MVFR0_FPDP_Msk
Definition core_cm55.h:3156
#define FPU_MVFR1_MVE_Msk
Definition core_cm55.h:3175
#define FPU_MVFR1_MVE_Pos
Definition core_cm55.h:3174
#define FPU_MVFR0_FPSP_Msk
Definition core_cm55.h:3159
#define __NVIC_GetPriorityGrouping()
Get Priority Grouping.
uint32_t ISR
Definition core_cm55.h:415
__OM uint32_t ITWRITE
Definition core_cm55.h:1164
volatile int32_t ITM_RxBuffer
__IOM uint32_t VMASK1
Definition core_cm55.h:1275
__IOM uint32_t IEBR0
Definition core_cm55.h:1698
__IM uint32_t EWIC_PENDA
Definition core_cm55.h:1582
__OM uint32_t CFGINFOSEL
Definition core_cm55.h:1838
uint32_t _reserved1
Definition core_cm55.h:470
__IOM uint32_t IEBR1
Definition core_cm55.h:1699
__IM uint32_t ITREAD
Definition core_cm55.h:1162
__IM uint32_t STLD1MPUOR
Definition core_cm55.h:1867
__OM uint32_t EWIC_CLRMASK
Definition core_cm55.h:1576
__OM uint8_t u8
Definition core_cm55.h:1151
uint32_t GE
Definition core_cm55.h:417
__IM uint32_t STLIMPUOR
Definition core_cm55.h:1865
__IOM uint32_t ITCTRL
Definition core_cm55.h:1166
__OM uint32_t u32
Definition core_cm55.h:1153
__IOM uint32_t DPDLPSTATE
Definition core_cm55.h:1542
__IOM uint32_t TEBR1
Definition core_cm55.h:1706
__IOM uint32_t DTCMCR
Definition core_cm55.h:1418
__IOM uint32_t MSCR
Definition core_cm55.h:1414
uint32_t _reserved1
Definition core_cm55.h:418
uint32_t ISR
Definition core_cm55.h:397
__IM uint32_t DEVTYPE
Definition core_cm55.h:1302
__IOM uint32_t TEBR0
Definition core_cm55.h:1704
__IOM uint32_t DTGU_CFG
Definition core_cm55.h:1427
__IM uint32_t STLD0MPUOR
Definition core_cm55.h:1866
uint32_t _reserved0
Definition core_cm55.h:416
__IOM uint32_t CPDLPSTATE
Definition core_cm55.h:1541
__IOM uint32_t DTGU_CTRL
Definition core_cm55.h:1426
__IOM uint32_t EWIC_MASKA
Definition core_cm55.h:1579
__OM uint16_t u16
Definition core_cm55.h:1152
__IM uint32_t STLNVICPENDOR
Definition core_cm55.h:1861
__IOM uint32_t EWIC_CR
Definition core_cm55.h:1574
__IOM uint32_t PAHBCR
Definition core_cm55.h:1419
__IOM uint32_t ITGU_CFG
Definition core_cm55.h:1422
__IOM uint32_t VMASK3
Definition core_cm55.h:1283
__IM uint32_t STLNVICACTVOR
Definition core_cm55.h:1862
#define ITM_RXBUFFER_EMPTY
Definition core_cm55.h:4835
__OM uint32_t EVENTSPR
Definition core_cm55.h:1653
__IOM uint32_t PFCR
Definition core_cm55.h:1415
__IOM uint32_t DEBR1
Definition core_cm55.h:1702
uint32_t _reserved1
Definition core_cm55.h:360
__STATIC_INLINE int32_t ITM_ReceiveChar(void)
ITM Receive Character.
__IOM uint32_t ACTLR
Definition core_cm55.h:1031
__STATIC_INLINE uint32_t ITM_SendChar(uint32_t ch)
ITM Send Character.
__IOM uint32_t EWIC_ASCR
Definition core_cm55.h:1575
__OM uint32_t STLIDMPUSR
Definition core_cm55.h:1864
uint32_t _reserved0
Definition core_cm55.h:358
__IM uint32_t EVENTMASKA
Definition core_cm55.h:1655
uint32_t _reserved0
Definition core_cm55.h:398
__IM uint32_t EWIC_NUMID
Definition core_cm55.h:1577
__IM uint32_t CFGINFORD
Definition core_cm55.h:1839
__IOM uint32_t ITCMCR
Definition core_cm55.h:1417
uint32_t IT
Definition core_cm55.h:420
__STATIC_INLINE int32_t ITM_CheckChar(void)
ITM Check Character.
__IOM uint32_t CPPWR
Definition core_cm55.h:1032
uint32_t GE
Definition core_cm55.h:359
__IOM uint32_t DEBR0
Definition core_cm55.h:1701
__IM uint32_t EWIC_PSR
Definition core_cm55.h:1585
__IM uint32_t ICTR
Definition core_cm55.h:1030
__IOM uint32_t ITGU_CTRL
Definition core_cm55.h:1421
Structure type to access the Core Debug Register (CoreDebug).
Structure type to access the Debug Control Block Registers (DCB).
Structure type to access the Debug Identification Block Registers (DIB).
Structure type to access the Data Watchpoint and Trace Register (DWT).
Structure type to access the External Wakeup Interrupt Controller interrupt status access registers (...
Definition core_cm55.h:1652
Structure type to access the External Wakeup Interrupt Controller Registers (EWIC).
Definition core_cm55.h:1573
Structure type to access the Error Banking Registers (ERRBNK).
Definition core_cm55.h:1697
Structure type to access the Floating Point Unit (FPU).
Structure type to access the Implementation Control Block (ICB).
Definition core_cm55.h:1028
Structure type to access the Instrumentation Trace Macrocell Register (ITM).
Structure type to access the Memory System Control Registers (MEMSYSCTL).
Definition core_cm55.h:1413
Structure type to access the Nested Vectored Interrupt Controller (NVIC).
Structure type to access the Processor Configuration Information Registerss (PRCCFGINF).
Definition core_cm55.h:1837
Structure type to access the Power Mode Control Registers (PWRMODCTL).
Definition core_cm55.h:1540
Structure type to access the System Control Block (SCB).
Structure type to access the System Control and ID Register not in the SCB.
Structure type to access the Software Test Library Observation Registerss (STL).
Definition core_cm55.h:1860
Structure type to access the System Timer (SysTick).
Structure type to access the Trace Port Interface Register (TPI).
Union type to access the Application Program Status Register (APSR).
Union type to access the Control Registers (CONTROL).
Union type to access the Interrupt Program Status Register (IPSR).
Union type to access the Special-Purpose Program Status Registers (xPSR).