YAHAL
Yet Another Hardware Abstraction Library
Loading...
Searching...
No Matches
core_cm85.h
Go to the documentation of this file.
1/**************************************************************************/
7/*
8 * Copyright (c) 2022-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_CM85_H_GENERIC
34#define __CORE_CM85_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 CM85 definitions */
68
69#define __CORTEX_M (85U)
71#if defined ( __CC_ARM )
72 #error Legacy Arm Compiler does not support Armv8.1-M target architecture.
73#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
74 #if defined __ARM_FP
75 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
76 #define __FPU_USED 1U
77 #else
78 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
79 #define __FPU_USED 0U
80 #endif
81 #else
82 #define __FPU_USED 0U
83 #endif
84
85 #if defined(__ARM_FEATURE_DSP)
86 #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U)
87 #define __DSP_USED 1U
88 #else
89 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
90 #define __DSP_USED 0U
91 #endif
92 #else
93 #define __DSP_USED 0U
94 #endif
95
96#elif defined (__ti__)
97 #if defined (__ARM_FP)
98 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
99 #define __FPU_USED 1U
100 #else
101 #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
102 #define __FPU_USED 0U
103 #endif
104 #else
105 #define __FPU_USED 0U
106 #endif
107
108 #if defined (__ARM_FEATURE_DSP) && (__ARM_FEATURE_DSP == 1U)
109 #if defined (__DSP_PRESENT) && (__DSP_PRESENT == 1U)
110 #define __DSP_USED 1U
111 #else
112 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
113 #define __DSP_USED 0U
114 #endif
115 #else
116 #define __DSP_USED 0U
117 #endif
118
119#elif defined ( __GNUC__ )
120 #if defined (__VFP_FP__) && !defined(__SOFTFP__)
121 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
122 #define __FPU_USED 1U
123 #else
124 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
125 #define __FPU_USED 0U
126 #endif
127 #else
128 #define __FPU_USED 0U
129 #endif
130
131 #if defined(__ARM_FEATURE_DSP)
132 #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U)
133 #define __DSP_USED 1U
134 #else
135 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
136 #define __DSP_USED 0U
137 #endif
138 #else
139 #define __DSP_USED 0U
140 #endif
141
142#elif defined ( __ICCARM__ )
143 #if defined __ARMVFP__
144 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
145 #define __FPU_USED 1U
146 #else
147 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
148 #define __FPU_USED 0U
149 #endif
150 #else
151 #define __FPU_USED 0U
152 #endif
153
154 #if defined(__ARM_FEATURE_DSP)
155 #if defined(__DSP_PRESENT) && (__DSP_PRESENT == 1U)
156 #define __DSP_USED 1U
157 #else
158 #error "Compiler generates DSP (SIMD) instructions for a devices without DSP extensions (check __DSP_PRESENT)"
159 #define __DSP_USED 0U
160 #endif
161 #else
162 #define __DSP_USED 0U
163 #endif
164
165#elif defined ( __TI_ARM__ )
166 #if defined __TI_VFP_SUPPORT__
167 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
168 #define __FPU_USED 1U
169 #else
170 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
171 #define __FPU_USED 0U
172 #endif
173 #else
174 #define __FPU_USED 0U
175 #endif
176
177#elif defined ( __TASKING__ )
178 #if defined __FPU_VFP__
179 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
180 #define __FPU_USED 1U
181 #else
182 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
183 #define __FPU_USED 0U
184 #endif
185 #else
186 #define __FPU_USED 0U
187 #endif
188
189#elif defined ( __CSMC__ )
190 #if ( __CSMC__ & 0x400U)
191 #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
192 #define __FPU_USED 1U
193 #else
194 #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)"
195 #define __FPU_USED 0U
196 #endif
197 #else
198 #define __FPU_USED 0U
199 #endif
200
201#endif
202
203#include "cmsis_compiler.h" /* CMSIS compiler specific defines */
204
205
206#ifdef __cplusplus
207}
208#endif
209
210#endif /* __CORE_CM85_H_GENERIC */
211
212#ifndef __CMSIS_GENERIC
213
214#ifndef __CORE_CM85_H_DEPENDANT
215#define __CORE_CM85_H_DEPENDANT
216
217#ifdef __cplusplus
218 extern "C" {
219#endif
220
221/* check device defines and use defaults */
222#if defined __CHECK_DEVICE_DEFINES
223 #ifndef __CM85_REV
224 #define __CM85_REV 0x0001U
225 #warning "__CM85_REV not defined in device header file; using default!"
226 #endif
227
228 #ifndef __FPU_PRESENT
229 #define __FPU_PRESENT 0U
230 #warning "__FPU_PRESENT not defined in device header file; using default!"
231 #endif
232
233 #if __FPU_PRESENT != 0U
234 #ifndef __FPU_DP
235 #define __FPU_DP 0U
236 #warning "__FPU_DP not defined in device header file; using default!"
237 #endif
238 #endif
239
240 #ifndef __MPU_PRESENT
241 #define __MPU_PRESENT 0U
242 #warning "__MPU_PRESENT not defined in device header file; using default!"
243 #endif
244
245 #ifndef __ICACHE_PRESENT
246 #define __ICACHE_PRESENT 0U
247 #warning "__ICACHE_PRESENT not defined in device header file; using default!"
248 #endif
249
250 #ifndef __DCACHE_PRESENT
251 #define __DCACHE_PRESENT 0U
252 #warning "__DCACHE_PRESENT not defined in device header file; using default!"
253 #endif
254
255 #ifndef __VTOR_PRESENT
256 #define __VTOR_PRESENT 1U
257 #warning "__VTOR_PRESENT not defined in device header file; using default!"
258 #endif
259
260 #ifndef __PMU_PRESENT
261 #define __PMU_PRESENT 0U
262 #warning "__PMU_PRESENT not defined in device header file; using default!"
263 #endif
264
265 #if __PMU_PRESENT != 0U
266 #ifndef __PMU_NUM_EVENTCNT
267 #define __PMU_NUM_EVENTCNT 8U
268 #warning "__PMU_NUM_EVENTCNT not defined in device header file; using default!"
269 #elif (__PMU_NUM_EVENTCNT > 8 || __PMU_NUM_EVENTCNT < 2)
270 #error "__PMU_NUM_EVENTCNT is out of range in device header file!" */
271 #endif
272 #endif
273
274 #ifndef __SAUREGION_PRESENT
275 #define __SAUREGION_PRESENT 0U
276 #warning "__SAUREGION_PRESENT not defined in device header file; using default!"
277 #endif
278
279 #ifndef __DSP_PRESENT
280 #define __DSP_PRESENT 0U
281 #warning "__DSP_PRESENT not defined in device header file; using default!"
282 #endif
283
284 #ifndef __NVIC_PRIO_BITS
285 #define __NVIC_PRIO_BITS 3U
286 #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
287 #endif
288
289 #ifndef __Vendor_SysTickConfig
290 #define __Vendor_SysTickConfig 0U
291 #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
292 #endif
293#endif
294
295/* IO definitions (access restrictions to peripheral registers) */
303#ifdef __cplusplus
304 #define __I volatile
305#else
306 #define __I volatile const
307#endif
308#define __O volatile
309#define __IO volatile
311/* following defines should be used for structure members */
312#define __IM volatile const
313#define __OM volatile
314#define __IOM volatile
320/*******************************************************************************
321 * Register Abstraction
322 Core Register contain:
323 - Core Register
324 - Core NVIC Register
325 - Core EWIC Register
326 - Core EWIC Interrupt Status Access Register
327 - Core SCB Register
328 - Core SysTick Register
329 - Core Debug Register
330 - Core PMU Register
331 - Core MPU Register
332 - Core SAU Register
333 - Core FPU Register
334 ******************************************************************************/
350typedef union
351{
352 struct
353 {
354 uint32_t _reserved0:16;
355 uint32_t GE:4;
356 uint32_t _reserved1:7;
357 uint32_t Q:1;
358 uint32_t V:1;
359 uint32_t C:1;
360 uint32_t Z:1;
361 uint32_t N:1;
362 } b;
363 uint32_t w;
364} APSR_Type;
365
366/* APSR Register Definitions */
367#define APSR_N_Pos 31U
368#define APSR_N_Msk (1UL << APSR_N_Pos)
370#define APSR_Z_Pos 30U
371#define APSR_Z_Msk (1UL << APSR_Z_Pos)
373#define APSR_C_Pos 29U
374#define APSR_C_Msk (1UL << APSR_C_Pos)
376#define APSR_V_Pos 28U
377#define APSR_V_Msk (1UL << APSR_V_Pos)
379#define APSR_Q_Pos 27U
380#define APSR_Q_Msk (1UL << APSR_Q_Pos)
382#define APSR_GE_Pos 16U
383#define APSR_GE_Msk (0xFUL << APSR_GE_Pos)
389typedef union
390{
391 struct
392 {
393 uint32_t ISR:9;
394 uint32_t _reserved0:23;
395 } b;
396 uint32_t w;
397} IPSR_Type;
398
399/* IPSR Register Definitions */
400#define IPSR_ISR_Pos 0U
401#define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/)
407typedef union
408{
409 struct
410 {
411 uint32_t ISR:9;
412 uint32_t _reserved0:7;
413 uint32_t GE:4;
414 uint32_t _reserved1:1;
415 uint32_t B:1;
416 uint32_t _reserved2:2;
417 uint32_t T:1;
418 uint32_t IT:2;
419 uint32_t Q:1;
420 uint32_t V:1;
421 uint32_t C:1;
422 uint32_t Z:1;
423 uint32_t N:1;
424 } b;
425 uint32_t w;
426} xPSR_Type;
427
428/* xPSR Register Definitions */
429#define xPSR_N_Pos 31U
430#define xPSR_N_Msk (1UL << xPSR_N_Pos)
432#define xPSR_Z_Pos 30U
433#define xPSR_Z_Msk (1UL << xPSR_Z_Pos)
435#define xPSR_C_Pos 29U
436#define xPSR_C_Msk (1UL << xPSR_C_Pos)
438#define xPSR_V_Pos 28U
439#define xPSR_V_Msk (1UL << xPSR_V_Pos)
441#define xPSR_Q_Pos 27U
442#define xPSR_Q_Msk (1UL << xPSR_Q_Pos)
444#define xPSR_IT_Pos 25U
445#define xPSR_IT_Msk (3UL << xPSR_IT_Pos)
447#define xPSR_T_Pos 24U
448#define xPSR_T_Msk (1UL << xPSR_T_Pos)
450#define xPSR_B_Pos 21U
451#define xPSR_B_Msk (1UL << xPSR_B_Pos)
453#define xPSR_GE_Pos 16U
454#define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos)
456#define xPSR_ISR_Pos 0U
457#define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/)
463typedef union
464{
465 struct
466 {
467 uint32_t nPRIV:1;
468 uint32_t SPSEL:1;
469 uint32_t FPCA:1;
470 uint32_t SFPA:1;
471 uint32_t BTI_EN:1;
472 uint32_t UBTI_EN:1;
473 uint32_t PAC_EN:1;
474 uint32_t UPAC_EN:1;
475 uint32_t _reserved1:24;
476 } b;
477 uint32_t w;
479
480/* CONTROL Register Definitions */
481#define CONTROL_UPAC_EN_Pos 7U
482#define CONTROL_UPAC_EN_Msk (1UL << CONTROL_UPAC_EN_Pos)
484#define CONTROL_PAC_EN_Pos 6U
485#define CONTROL_PAC_EN_Msk (1UL << CONTROL_PAC_EN_Pos)
487#define CONTROL_UBTI_EN_Pos 5U
488#define CONTROL_UBTI_EN_Msk (1UL << CONTROL_UBTI_EN_Pos)
490#define CONTROL_BTI_EN_Pos 4U
491#define CONTROL_BTI_EN_Msk (1UL << CONTROL_BTI_EN_Pos)
493#define CONTROL_SFPA_Pos 3U
494#define CONTROL_SFPA_Msk (1UL << CONTROL_SFPA_Pos)
496#define CONTROL_FPCA_Pos 2U
497#define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos)
499#define CONTROL_SPSEL_Pos 1U
500#define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos)
502#define CONTROL_nPRIV_Pos 0U
503#define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/)
518typedef struct
519{
520 __IOM uint32_t ISER[16U];
521 uint32_t RESERVED0[16U];
522 __IOM uint32_t ICER[16U];
523 uint32_t RSERVED1[16U];
524 __IOM uint32_t ISPR[16U];
525 uint32_t RESERVED2[16U];
526 __IOM uint32_t ICPR[16U];
527 uint32_t RESERVED3[16U];
528 __IOM uint32_t IABR[16U];
529 uint32_t RESERVED4[16U];
530 __IOM uint32_t ITNS[16U];
531 uint32_t RESERVED5[16U];
532 __IOM uint8_t IPR[496U];
533 uint32_t RESERVED6[580U];
534 __OM uint32_t STIR;
535} NVIC_Type;
536
537/* Software Triggered Interrupt Register Definitions */
538#define NVIC_STIR_INTID_Pos 0U
539#define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/)
554typedef struct
555{
556 __IM uint32_t CPUID;
557 __IOM uint32_t ICSR;
558 __IOM uint32_t VTOR;
559 __IOM uint32_t AIRCR;
560 __IOM uint32_t SCR;
561 __IOM uint32_t CCR;
562 __IOM uint8_t SHPR[12U];
563 __IOM uint32_t SHCSR;
564 __IOM uint32_t CFSR;
565 __IOM uint32_t HFSR;
566 __IOM uint32_t DFSR;
567 __IOM uint32_t MMFAR;
568 __IOM uint32_t BFAR;
569 __IOM uint32_t AFSR;
570 __IM uint32_t ID_PFR[2U];
571 __IM uint32_t ID_DFR;
572 __IM uint32_t ID_AFR;
573 __IM uint32_t ID_MMFR[4U];
574 __IM uint32_t ID_ISAR[6U];
575 __IM uint32_t CLIDR;
576 __IM uint32_t CTR;
577 __IM uint32_t CCSIDR;
578 __IOM uint32_t CSSELR;
579 __IOM uint32_t CPACR;
580 __IOM uint32_t NSACR;
581 uint32_t RESERVED7[21U];
582 __IOM uint32_t SFSR;
583 __IOM uint32_t SFAR;
584 uint32_t RESERVED3[69U];
585 __OM uint32_t STIR;
586 __IOM uint32_t RFSR;
587 uint32_t RESERVED4[14U];
588 __IM uint32_t MVFR0;
589 __IM uint32_t MVFR1;
590 __IM uint32_t MVFR2;
591 uint32_t RESERVED5[1U];
592 __OM uint32_t ICIALLU;
593 uint32_t RESERVED6[1U];
594 __OM uint32_t ICIMVAU;
595 __OM uint32_t DCIMVAC;
596 __OM uint32_t DCISW;
597 __OM uint32_t DCCMVAU;
598 __OM uint32_t DCCMVAC;
599 __OM uint32_t DCCSW;
600 __OM uint32_t DCCIMVAC;
601 __OM uint32_t DCCISW;
602 __OM uint32_t BPIALL;
603} SCB_Type;
604
605/* SCB CPUID Register Definitions */
606#define SCB_CPUID_IMPLEMENTER_Pos 24U
607#define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos)
609#define SCB_CPUID_VARIANT_Pos 20U
610#define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos)
612#define SCB_CPUID_ARCHITECTURE_Pos 16U
613#define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos)
615#define SCB_CPUID_PARTNO_Pos 4U
616#define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos)
618#define SCB_CPUID_REVISION_Pos 0U
619#define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/)
621/* SCB Interrupt Control State Register Definitions */
622#define SCB_ICSR_PENDNMISET_Pos 31U
623#define SCB_ICSR_PENDNMISET_Msk (1UL << SCB_ICSR_PENDNMISET_Pos)
625#define SCB_ICSR_NMIPENDSET_Pos SCB_ICSR_PENDNMISET_Pos
626#define SCB_ICSR_NMIPENDSET_Msk SCB_ICSR_PENDNMISET_Msk
628#define SCB_ICSR_PENDNMICLR_Pos 30U
629#define SCB_ICSR_PENDNMICLR_Msk (1UL << SCB_ICSR_PENDNMICLR_Pos)
631#define SCB_ICSR_PENDSVSET_Pos 28U
632#define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos)
634#define SCB_ICSR_PENDSVCLR_Pos 27U
635#define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos)
637#define SCB_ICSR_PENDSTSET_Pos 26U
638#define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos)
640#define SCB_ICSR_PENDSTCLR_Pos 25U
641#define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos)
643#define SCB_ICSR_STTNS_Pos 24U
644#define SCB_ICSR_STTNS_Msk (1UL << SCB_ICSR_STTNS_Pos)
646#define SCB_ICSR_ISRPREEMPT_Pos 23U
647#define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos)
649#define SCB_ICSR_ISRPENDING_Pos 22U
650#define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos)
652#define SCB_ICSR_VECTPENDING_Pos 12U
653#define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos)
655#define SCB_ICSR_RETTOBASE_Pos 11U
656#define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos)
658#define SCB_ICSR_VECTACTIVE_Pos 0U
659#define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/)
661/* SCB Vector Table Offset Register Definitions */
662#define SCB_VTOR_TBLOFF_Pos 7U
663#define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos)
665/* SCB Application Interrupt and Reset Control Register Definitions */
666#define SCB_AIRCR_VECTKEY_Pos 16U
667#define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos)
669#define SCB_AIRCR_VECTKEYSTAT_Pos 16U
670#define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos)
672#define SCB_AIRCR_ENDIANESS_Pos 15U
673#define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos)
675#define SCB_AIRCR_PRIS_Pos 14U
676#define SCB_AIRCR_PRIS_Msk (1UL << SCB_AIRCR_PRIS_Pos)
678#define SCB_AIRCR_BFHFNMINS_Pos 13U
679#define SCB_AIRCR_BFHFNMINS_Msk (1UL << SCB_AIRCR_BFHFNMINS_Pos)
681#define SCB_AIRCR_PRIGROUP_Pos 8U
682#define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos)
684#define SCB_AIRCR_IESB_Pos 5U
685#define SCB_AIRCR_IESB_Msk (1UL << SCB_AIRCR_IESB_Pos)
687#define SCB_AIRCR_DIT_Pos 4U
688#define SCB_AIRCR_DIT_Msk (1UL << SCB_AIRCR_DIT_Pos)
690#define SCB_AIRCR_SYSRESETREQS_Pos 3U
691#define SCB_AIRCR_SYSRESETREQS_Msk (1UL << SCB_AIRCR_SYSRESETREQS_Pos)
693#define SCB_AIRCR_SYSRESETREQ_Pos 2U
694#define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos)
696#define SCB_AIRCR_VECTCLRACTIVE_Pos 1U
697#define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos)
699/* SCB System Control Register Definitions */
700#define SCB_SCR_SEVONPEND_Pos 4U
701#define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos)
703#define SCB_SCR_SLEEPDEEPS_Pos 3U
704#define SCB_SCR_SLEEPDEEPS_Msk (1UL << SCB_SCR_SLEEPDEEPS_Pos)
706#define SCB_SCR_SLEEPDEEP_Pos 2U
707#define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos)
709#define SCB_SCR_SLEEPONEXIT_Pos 1U
710#define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos)
712/* SCB Configuration Control Register Definitions */
713#define SCB_CCR_TRD_Pos 20U
714#define SCB_CCR_TRD_Msk (1UL << SCB_CCR_TRD_Pos)
716#define SCB_CCR_LOB_Pos 19U
717#define SCB_CCR_LOB_Msk (1UL << SCB_CCR_LOB_Pos)
719#define SCB_CCR_BP_Pos 18U
720#define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos)
722#define SCB_CCR_IC_Pos 17U
723#define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos)
725#define SCB_CCR_DC_Pos 16U
726#define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos)
728#define SCB_CCR_STKOFHFNMIGN_Pos 10U
729#define SCB_CCR_STKOFHFNMIGN_Msk (1UL << SCB_CCR_STKOFHFNMIGN_Pos)
731#define SCB_CCR_BFHFNMIGN_Pos 8U
732#define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos)
734#define SCB_CCR_DIV_0_TRP_Pos 4U
735#define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos)
737#define SCB_CCR_UNALIGN_TRP_Pos 3U
738#define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos)
740#define SCB_CCR_USERSETMPEND_Pos 1U
741#define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos)
743/* SCB System Handler Control and State Register Definitions */
744#define SCB_SHCSR_HARDFAULTPENDED_Pos 21U
745#define SCB_SHCSR_HARDFAULTPENDED_Msk (1UL << SCB_SHCSR_HARDFAULTPENDED_Pos)
747#define SCB_SHCSR_SECUREFAULTPENDED_Pos 20U
748#define SCB_SHCSR_SECUREFAULTPENDED_Msk (1UL << SCB_SHCSR_SECUREFAULTPENDED_Pos)
750#define SCB_SHCSR_SECUREFAULTENA_Pos 19U
751#define SCB_SHCSR_SECUREFAULTENA_Msk (1UL << SCB_SHCSR_SECUREFAULTENA_Pos)
753#define SCB_SHCSR_USGFAULTENA_Pos 18U
754#define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos)
756#define SCB_SHCSR_BUSFAULTENA_Pos 17U
757#define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos)
759#define SCB_SHCSR_MEMFAULTENA_Pos 16U
760#define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos)
762#define SCB_SHCSR_SVCALLPENDED_Pos 15U
763#define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos)
765#define SCB_SHCSR_BUSFAULTPENDED_Pos 14U
766#define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos)
768#define SCB_SHCSR_MEMFAULTPENDED_Pos 13U
769#define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos)
771#define SCB_SHCSR_USGFAULTPENDED_Pos 12U
772#define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos)
774#define SCB_SHCSR_SYSTICKACT_Pos 11U
775#define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos)
777#define SCB_SHCSR_PENDSVACT_Pos 10U
778#define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos)
780#define SCB_SHCSR_MONITORACT_Pos 8U
781#define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos)
783#define SCB_SHCSR_SVCALLACT_Pos 7U
784#define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos)
786#define SCB_SHCSR_NMIACT_Pos 5U
787#define SCB_SHCSR_NMIACT_Msk (1UL << SCB_SHCSR_NMIACT_Pos)
789#define SCB_SHCSR_SECUREFAULTACT_Pos 4U
790#define SCB_SHCSR_SECUREFAULTACT_Msk (1UL << SCB_SHCSR_SECUREFAULTACT_Pos)
792#define SCB_SHCSR_USGFAULTACT_Pos 3U
793#define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos)
795#define SCB_SHCSR_HARDFAULTACT_Pos 2U
796#define SCB_SHCSR_HARDFAULTACT_Msk (1UL << SCB_SHCSR_HARDFAULTACT_Pos)
798#define SCB_SHCSR_BUSFAULTACT_Pos 1U
799#define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos)
801#define SCB_SHCSR_MEMFAULTACT_Pos 0U
802#define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/)
804/* SCB Configurable Fault Status Register Definitions */
805#define SCB_CFSR_USGFAULTSR_Pos 16U
806#define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos)
808#define SCB_CFSR_BUSFAULTSR_Pos 8U
809#define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos)
811#define SCB_CFSR_MEMFAULTSR_Pos 0U
812#define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/)
814/* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */
815#define SCB_CFSR_MMARVALID_Pos (SCB_CFSR_MEMFAULTSR_Pos + 7U)
816#define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos)
818#define SCB_CFSR_MLSPERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 5U)
819#define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos)
821#define SCB_CFSR_MSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 4U)
822#define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos)
824#define SCB_CFSR_MUNSTKERR_Pos (SCB_CFSR_MEMFAULTSR_Pos + 3U)
825#define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos)
827#define SCB_CFSR_DACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 1U)
828#define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos)
830#define SCB_CFSR_IACCVIOL_Pos (SCB_CFSR_MEMFAULTSR_Pos + 0U)
831#define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/)
833/* BusFault Status Register (part of SCB Configurable Fault Status Register) */
834#define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U)
835#define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos)
837#define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U)
838#define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos)
840#define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U)
841#define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos)
843#define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U)
844#define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos)
846#define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U)
847#define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos)
849#define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U)
850#define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos)
852#define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U)
853#define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos)
855/* UsageFault Status Register (part of SCB Configurable Fault Status Register) */
856#define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U)
857#define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos)
859#define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U)
860#define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos)
862#define SCB_CFSR_STKOF_Pos (SCB_CFSR_USGFAULTSR_Pos + 4U)
863#define SCB_CFSR_STKOF_Msk (1UL << SCB_CFSR_STKOF_Pos)
865#define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U)
866#define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos)
868#define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U)
869#define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos)
871#define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U)
872#define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos)
874#define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U)
875#define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos)
877/* SCB Hard Fault Status Register Definitions */
878#define SCB_HFSR_DEBUGEVT_Pos 31U
879#define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos)
881#define SCB_HFSR_FORCED_Pos 30U
882#define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos)
884#define SCB_HFSR_VECTTBL_Pos 1U
885#define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos)
887/* SCB Debug Fault Status Register Definitions */
888#define SCB_DFSR_PMU_Pos 5U
889#define SCB_DFSR_PMU_Msk (1UL << SCB_DFSR_PMU_Pos)
891#define SCB_DFSR_EXTERNAL_Pos 4U
892#define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos)
894#define SCB_DFSR_VCATCH_Pos 3U
895#define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos)
897#define SCB_DFSR_DWTTRAP_Pos 2U
898#define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos)
900#define SCB_DFSR_BKPT_Pos 1U
901#define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos)
903#define SCB_DFSR_HALTED_Pos 0U
904#define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/)
906/* SCB Non-Secure Access Control Register Definitions */
907#define SCB_NSACR_CP11_Pos 11U
908#define SCB_NSACR_CP11_Msk (1UL << SCB_NSACR_CP11_Pos)
910#define SCB_NSACR_CP10_Pos 10U
911#define SCB_NSACR_CP10_Msk (1UL << SCB_NSACR_CP10_Pos)
913#define SCB_NSACR_CP7_Pos 7U
914#define SCB_NSACR_CP7_Msk (1UL << SCB_NSACR_CP7_Pos)
916#define SCB_NSACR_CP6_Pos 6U
917#define SCB_NSACR_CP6_Msk (1UL << SCB_NSACR_CP6_Pos)
919#define SCB_NSACR_CP5_Pos 5U
920#define SCB_NSACR_CP5_Msk (1UL << SCB_NSACR_CP5_Pos)
922#define SCB_NSACR_CP4_Pos 4U
923#define SCB_NSACR_CP4_Msk (1UL << SCB_NSACR_CP4_Pos)
925#define SCB_NSACR_CP3_Pos 3U
926#define SCB_NSACR_CP3_Msk (1UL << SCB_NSACR_CP3_Pos)
928#define SCB_NSACR_CP2_Pos 2U
929#define SCB_NSACR_CP2_Msk (1UL << SCB_NSACR_CP2_Pos)
931#define SCB_NSACR_CP1_Pos 1U
932#define SCB_NSACR_CP1_Msk (1UL << SCB_NSACR_CP1_Pos)
934#define SCB_NSACR_CP0_Pos 0U
935#define SCB_NSACR_CP0_Msk (1UL /*<< SCB_NSACR_CP0_Pos*/)
937/* SCB Debug Feature Register 0 Definitions */
938#define SCB_ID_DFR_UDE_Pos 28U
939#define SCB_ID_DFR_UDE_Msk (0xFUL << SCB_ID_DFR_UDE_Pos)
941#define SCB_ID_DFR_MProfDbg_Pos 20U
942#define SCB_ID_DFR_MProfDbg_Msk (0xFUL << SCB_ID_DFR_MProfDbg_Pos)
944/* SCB Cache Level ID Register Definitions */
945#define SCB_CLIDR_LOUU_Pos 27U
946#define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos)
948#define SCB_CLIDR_LOC_Pos 24U
949#define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos)
951/* SCB Cache Type Register Definitions */
952#define SCB_CTR_FORMAT_Pos 29U
953#define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos)
955#define SCB_CTR_CWG_Pos 24U
956#define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos)
958#define SCB_CTR_ERG_Pos 20U
959#define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos)
961#define SCB_CTR_DMINLINE_Pos 16U
962#define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos)
964#define SCB_CTR_IMINLINE_Pos 0U
965#define SCB_CTR_IMINLINE_Msk (0xFUL /*<< SCB_CTR_IMINLINE_Pos*/)
967/* SCB Cache Size ID Register Definitions */
968#define SCB_CCSIDR_WT_Pos 31U
969#define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos)
971#define SCB_CCSIDR_WB_Pos 30U
972#define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos)
974#define SCB_CCSIDR_RA_Pos 29U
975#define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos)
977#define SCB_CCSIDR_WA_Pos 28U
978#define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos)
980#define SCB_CCSIDR_NUMSETS_Pos 13U
981#define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos)
983#define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U
984#define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos)
986#define SCB_CCSIDR_LINESIZE_Pos 0U
987#define SCB_CCSIDR_LINESIZE_Msk (7UL /*<< SCB_CCSIDR_LINESIZE_Pos*/)
989/* SCB Cache Size Selection Register Definitions */
990#define SCB_CSSELR_LEVEL_Pos 1U
991#define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos)
993#define SCB_CSSELR_IND_Pos 0U
994#define SCB_CSSELR_IND_Msk (1UL /*<< SCB_CSSELR_IND_Pos*/)
996/* SCB Software Triggered Interrupt Register Definitions */
997#define SCB_STIR_INTID_Pos 0U
998#define SCB_STIR_INTID_Msk (0x1FFUL /*<< SCB_STIR_INTID_Pos*/)
1000/* SCB RAS Fault Status Register Definitions */
1001#define SCB_RFSR_V_Pos 31U
1002#define SCB_RFSR_V_Msk (1UL << SCB_RFSR_V_Pos)
1004#define SCB_RFSR_IS_Pos 16U
1005#define SCB_RFSR_IS_Msk (0x7FFFUL << SCB_RFSR_IS_Pos)
1007#define SCB_RFSR_UET_Pos 0U
1008#define SCB_RFSR_UET_Msk (3UL /*<< SCB_RFSR_UET_Pos*/)
1010/* SCB D-Cache Invalidate by Set-way Register Definitions */
1011#define SCB_DCISW_WAY_Pos 30U
1012#define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos)
1014#define SCB_DCISW_SET_Pos 5U
1015#define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos)
1017/* SCB D-Cache Clean by Set-way Register Definitions */
1018#define SCB_DCCSW_WAY_Pos 30U
1019#define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos)
1021#define SCB_DCCSW_SET_Pos 5U
1022#define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos)
1024/* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */
1025#define SCB_DCCISW_WAY_Pos 30U
1026#define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos)
1028#define SCB_DCCISW_SET_Pos 5U
1029#define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos)
1044typedef struct
1045{
1046 uint32_t RESERVED0[1U];
1047 __IM uint32_t ICTR;
1048 __IOM uint32_t ACTLR;
1049 __IOM uint32_t CPPWR;
1050} ICB_Type;
1051
1052/* Auxiliary Control Register Definitions */
1053#define ICB_ACTLR_DISCRITAXIRUW_Pos 27U
1054#define ICB_ACTLR_DISCRITAXIRUW_Msk (1UL << ICB_ACTLR_DISCRITAXIRUW_Pos)
1056#define ICB_ACTLR_DISCRITAXIRUR_Pos 15U
1057#define ICB_ACTLR_DISCRITAXIRUR_Msk (1UL << ICB_ACTLR_DISCRITAXIRUR_Pos)
1059#define ICB_ACTLR_EVENTBUSEN_Pos 14U
1060#define ICB_ACTLR_EVENTBUSEN_Msk (1UL << ICB_ACTLR_EVENTBUSEN_Pos)
1062#define ICB_ACTLR_EVENTBUSEN_S_Pos 13U
1063#define ICB_ACTLR_EVENTBUSEN_S_Msk (1UL << ICB_ACTLR_EVENTBUSEN_S_Pos)
1065#define ICB_ACTLR_DISITMATBFLUSH_Pos 12U
1066#define ICB_ACTLR_DISITMATBFLUSH_Msk (1UL << ICB_ACTLR_DISITMATBFLUSH_Pos)
1068#define ICB_ACTLR_DISNWAMODE_Pos 11U
1069#define ICB_ACTLR_DISNWAMODE_Msk (1UL << ICB_ACTLR_DISNWAMODE_Pos)
1071#define ICB_ACTLR_FPEXCODIS_Pos 10U
1072#define ICB_ACTLR_FPEXCODIS_Msk (1UL << ICB_ACTLR_FPEXCODIS_Pos)
1074/* Interrupt Controller Type Register Definitions */
1075#define ICB_ICTR_INTLINESNUM_Pos 0U
1076#define ICB_ICTR_INTLINESNUM_Msk (0xFUL /*<< ICB_ICTR_INTLINESNUM_Pos*/)
1091typedef struct
1092{
1093 __IOM uint32_t CTRL;
1094 __IOM uint32_t LOAD;
1095 __IOM uint32_t VAL;
1096 __IM uint32_t CALIB;
1097} SysTick_Type;
1098
1099/* SysTick Control / Status Register Definitions */
1100#define SysTick_CTRL_COUNTFLAG_Pos 16U
1101#define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos)
1103#define SysTick_CTRL_CLKSOURCE_Pos 2U
1104#define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos)
1106#define SysTick_CTRL_TICKINT_Pos 1U
1107#define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos)
1109#define SysTick_CTRL_ENABLE_Pos 0U
1110#define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/)
1112/* SysTick Reload Register Definitions */
1113#define SysTick_LOAD_RELOAD_Pos 0U
1114#define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/)
1116/* SysTick Current Register Definitions */
1117#define SysTick_VAL_CURRENT_Pos 0U
1118#define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/)
1120/* SysTick Calibration Register Definitions */
1121#define SysTick_CALIB_NOREF_Pos 31U
1122#define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos)
1124#define SysTick_CALIB_SKEW_Pos 30U
1125#define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos)
1127#define SysTick_CALIB_TENMS_Pos 0U
1128#define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/)
1143typedef struct
1144{
1145 __OM union
1146 {
1147 __OM uint8_t u8;
1148 __OM uint16_t u16;
1149 __OM uint32_t u32;
1150 } PORT [32U];
1151 uint32_t RESERVED0[864U];
1152 __IOM uint32_t TER;
1153 uint32_t RESERVED1[15U];
1154 __IOM uint32_t TPR;
1155 uint32_t RESERVED2[15U];
1156 __IOM uint32_t TCR;
1157 uint32_t RESERVED3[27U];
1158 __IM uint32_t ITREAD;
1159 uint32_t RESERVED4[1U];
1160 __OM uint32_t ITWRITE;
1161 uint32_t RESERVED5[1U];
1162 __IOM uint32_t ITCTRL;
1163 uint32_t RESERVED6[46U];
1164 __IM uint32_t DEVARCH;
1165 uint32_t RESERVED7[3U];
1166 __IM uint32_t DEVTYPE;
1167 __IM uint32_t PID4;
1168 __IM uint32_t PID5;
1169 __IM uint32_t PID6;
1170 __IM uint32_t PID7;
1171 __IM uint32_t PID0;
1172 __IM uint32_t PID1;
1173 __IM uint32_t PID2;
1174 __IM uint32_t PID3;
1175 __IM uint32_t CID0;
1176 __IM uint32_t CID1;
1177 __IM uint32_t CID2;
1178 __IM uint32_t CID3;
1179} ITM_Type;
1180
1181/* ITM Stimulus Port Register Definitions */
1182#define ITM_STIM_DISABLED_Pos 1U
1183#define ITM_STIM_DISABLED_Msk (0x1UL << ITM_STIM_DISABLED_Pos)
1185#define ITM_STIM_FIFOREADY_Pos 0U
1186#define ITM_STIM_FIFOREADY_Msk (0x1UL /*<< ITM_STIM_FIFOREADY_Pos*/)
1188/* ITM Trace Privilege Register Definitions */
1189#define ITM_TPR_PRIVMASK_Pos 0U
1190#define ITM_TPR_PRIVMASK_Msk (0xFUL /*<< ITM_TPR_PRIVMASK_Pos*/)
1192/* ITM Trace Control Register Definitions */
1193#define ITM_TCR_BUSY_Pos 23U
1194#define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos)
1196#define ITM_TCR_TRACEBUSID_Pos 16U
1197#define ITM_TCR_TRACEBUSID_Msk (0x7FUL << ITM_TCR_TRACEBUSID_Pos)
1199#define ITM_TCR_GTSFREQ_Pos 10U
1200#define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos)
1202#define ITM_TCR_TSPRESCALE_Pos 8U
1203#define ITM_TCR_TSPRESCALE_Msk (3UL << ITM_TCR_TSPRESCALE_Pos)
1205#define ITM_TCR_STALLENA_Pos 5U
1206#define ITM_TCR_STALLENA_Msk (1UL << ITM_TCR_STALLENA_Pos)
1208#define ITM_TCR_SWOENA_Pos 4U
1209#define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos)
1211#define ITM_TCR_DWTENA_Pos 3U
1212#define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos)
1214#define ITM_TCR_SYNCENA_Pos 2U
1215#define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos)
1217#define ITM_TCR_TSENA_Pos 1U
1218#define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos)
1220#define ITM_TCR_ITMENA_Pos 0U
1221#define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/)
1223/* ITM Integration Read Register Definitions */
1224#define ITM_ITREAD_AFVALID_Pos 1U
1225#define ITM_ITREAD_AFVALID_Msk (0x1UL << ITM_ITREAD_AFVALID_Pos)
1227#define ITM_ITREAD_ATREADY_Pos 0U
1228#define ITM_ITREAD_ATREADY_Msk (0x1UL /*<< ITM_ITREAD_ATREADY_Pos*/)
1230/* ITM Integration Write Register Definitions */
1231#define ITM_ITWRITE_AFVALID_Pos 1U
1232#define ITM_ITWRITE_AFVALID_Msk (0x1UL << ITM_ITWRITE_AFVALID_Pos)
1234#define ITM_ITWRITE_ATREADY_Pos 0U
1235#define ITM_ITWRITE_ATREADY_Msk (0x1UL /*<< ITM_ITWRITE_ATREADY_Pos*/)
1237/* ITM Integration Mode Control Register Definitions */
1238#define ITM_ITCTRL_IME_Pos 0U
1239#define ITM_ITCTRL_IME_Msk (0x1UL /*<< ITM_ITCTRL_IME_Pos*/) /* end of group CMSIS_ITM */
1242
1243
1254typedef struct
1255{
1256 __IOM uint32_t CTRL;
1257 __IOM uint32_t CYCCNT;
1258 __IOM uint32_t CPICNT;
1259 __IOM uint32_t EXCCNT;
1260 __IOM uint32_t SLEEPCNT;
1261 __IOM uint32_t LSUCNT;
1262 __IOM uint32_t FOLDCNT;
1263 __IM uint32_t PCSR;
1264 __IOM uint32_t COMP0;
1265 uint32_t RESERVED1[1U];
1266 __IOM uint32_t FUNCTION0;
1267 uint32_t RESERVED2[1U];
1268 __IOM uint32_t COMP1;
1269 uint32_t RESERVED3[1U];
1270 __IOM uint32_t FUNCTION1;
1271 __IOM uint32_t VMASK1;
1272 __IOM uint32_t COMP2;
1273 uint32_t RESERVED4[1U];
1274 __IOM uint32_t FUNCTION2;
1275 uint32_t RESERVED5[1U];
1276 __IOM uint32_t COMP3;
1277 uint32_t RESERVED6[1U];
1278 __IOM uint32_t FUNCTION3;
1279 __IOM uint32_t VMASK3;
1280 __IOM uint32_t COMP4;
1281 uint32_t RESERVED7[1U];
1282 __IOM uint32_t FUNCTION4;
1283 uint32_t RESERVED8[1U];
1284 __IOM uint32_t COMP5;
1285 uint32_t RESERVED9[1U];
1286 __IOM uint32_t FUNCTION5;
1287 uint32_t RESERVED10[1U];
1288 __IOM uint32_t COMP6;
1289 uint32_t RESERVED11[1U];
1290 __IOM uint32_t FUNCTION6;
1291 uint32_t RESERVED12[1U];
1292 __IOM uint32_t COMP7;
1293 uint32_t RESERVED13[1U];
1294 __IOM uint32_t FUNCTION7;
1295 uint32_t RESERVED14[968U];
1296 __IM uint32_t DEVARCH;
1297 uint32_t RESERVED15[3U];
1298 __IM uint32_t DEVTYPE;
1299} DWT_Type;
1300
1301/* DWT Control Register Definitions */
1302#define DWT_CTRL_NUMCOMP_Pos 28U
1303#define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos)
1305#define DWT_CTRL_NOTRCPKT_Pos 27U
1306#define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos)
1308#define DWT_CTRL_NOEXTTRIG_Pos 26U
1309#define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos)
1311#define DWT_CTRL_NOCYCCNT_Pos 25U
1312#define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos)
1314#define DWT_CTRL_NOPRFCNT_Pos 24U
1315#define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos)
1317#define DWT_CTRL_CYCDISS_Pos 23U
1318#define DWT_CTRL_CYCDISS_Msk (0x1UL << DWT_CTRL_CYCDISS_Pos)
1320#define DWT_CTRL_CYCEVTENA_Pos 22U
1321#define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos)
1323#define DWT_CTRL_FOLDEVTENA_Pos 21U
1324#define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos)
1326#define DWT_CTRL_LSUEVTENA_Pos 20U
1327#define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos)
1329#define DWT_CTRL_SLEEPEVTENA_Pos 19U
1330#define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos)
1332#define DWT_CTRL_EXCEVTENA_Pos 18U
1333#define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos)
1335#define DWT_CTRL_CPIEVTENA_Pos 17U
1336#define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos)
1338#define DWT_CTRL_EXCTRCENA_Pos 16U
1339#define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos)
1341#define DWT_CTRL_PCSAMPLENA_Pos 12U
1342#define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos)
1344#define DWT_CTRL_SYNCTAP_Pos 10U
1345#define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos)
1347#define DWT_CTRL_CYCTAP_Pos 9U
1348#define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos)
1350#define DWT_CTRL_POSTINIT_Pos 5U
1351#define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos)
1353#define DWT_CTRL_POSTPRESET_Pos 1U
1354#define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos)
1356#define DWT_CTRL_CYCCNTENA_Pos 0U
1357#define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/)
1359/* DWT CPI Count Register Definitions */
1360#define DWT_CPICNT_CPICNT_Pos 0U
1361#define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/)
1363/* DWT Exception Overhead Count Register Definitions */
1364#define DWT_EXCCNT_EXCCNT_Pos 0U
1365#define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/)
1367/* DWT Sleep Count Register Definitions */
1368#define DWT_SLEEPCNT_SLEEPCNT_Pos 0U
1369#define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/)
1371/* DWT LSU Count Register Definitions */
1372#define DWT_LSUCNT_LSUCNT_Pos 0U
1373#define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/)
1375/* DWT Folded-instruction Count Register Definitions */
1376#define DWT_FOLDCNT_FOLDCNT_Pos 0U
1377#define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/)
1379/* DWT Comparator Function Register Definitions */
1380#define DWT_FUNCTION_ID_Pos 27U
1381#define DWT_FUNCTION_ID_Msk (0x1FUL << DWT_FUNCTION_ID_Pos)
1383#define DWT_FUNCTION_MATCHED_Pos 24U
1384#define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos)
1386#define DWT_FUNCTION_DATAVSIZE_Pos 10U
1387#define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos)
1389#define DWT_FUNCTION_ACTION_Pos 4U
1390#define DWT_FUNCTION_ACTION_Msk (0x3UL << DWT_FUNCTION_ACTION_Pos)
1392#define DWT_FUNCTION_MATCH_Pos 0U
1393#define DWT_FUNCTION_MATCH_Msk (0xFUL /*<< DWT_FUNCTION_MATCH_Pos*/) /* end of group CMSIS_DWT */
1396
1397
1408typedef struct
1409{
1410 __IOM uint32_t MSCR;
1411 __IOM uint32_t PFCR;
1412 uint32_t RESERVED1[2U];
1413 __IOM uint32_t ITCMCR;
1414 __IOM uint32_t DTCMCR;
1415 __IOM uint32_t PAHBCR;
1416 uint32_t RESERVED2[313U];
1417 __IOM uint32_t ITGU_CTRL;
1418 __IOM uint32_t ITGU_CFG;
1419 uint32_t RESERVED3[2U];
1420 __IOM uint32_t ITGU_LUT[16U];
1421 uint32_t RESERVED4[44U];
1422 __IOM uint32_t DTGU_CTRL;
1423 __IOM uint32_t DTGU_CFG;
1424 uint32_t RESERVED5[2U];
1425 __IOM uint32_t DTGU_LUT[16U];
1427
1428/* MEMSYSCTL Memory System Control Register (MSCR) Register Definitions */
1429#define MEMSYSCTL_MSCR_CPWRDN_Pos 17U
1430#define MEMSYSCTL_MSCR_CPWRDN_Msk (0x1UL << MEMSYSCTL_MSCR_CPWRDN_Pos)
1432#define MEMSYSCTL_MSCR_DCCLEAN_Pos 16U
1433#define MEMSYSCTL_MSCR_DCCLEAN_Msk (0x1UL << MEMSYSCTL_MSCR_DCCLEAN_Pos)
1435#define MEMSYSCTL_MSCR_ICACTIVE_Pos 13U
1436#define MEMSYSCTL_MSCR_ICACTIVE_Msk (0x1UL << MEMSYSCTL_MSCR_ICACTIVE_Pos)
1438#define MEMSYSCTL_MSCR_DCACTIVE_Pos 12U
1439#define MEMSYSCTL_MSCR_DCACTIVE_Msk (0x1UL << MEMSYSCTL_MSCR_DCACTIVE_Pos)
1441#define MEMSYSCTL_MSCR_EVECCFAULT_Pos 3U
1442#define MEMSYSCTL_MSCR_EVECCFAULT_Msk (0x1UL << MEMSYSCTL_MSCR_EVECCFAULT_Pos)
1444#define MEMSYSCTL_MSCR_FORCEWT_Pos 2U
1445#define MEMSYSCTL_MSCR_FORCEWT_Msk (0x1UL << MEMSYSCTL_MSCR_FORCEWT_Pos)
1447#define MEMSYSCTL_MSCR_ECCEN_Pos 1U
1448#define MEMSYSCTL_MSCR_ECCEN_Msk (0x1UL << MEMSYSCTL_MSCR_ECCEN_Pos)
1450/* MEMSYSCTL Prefetcher Control Register (PFCR) Register Definitions */
1451#define MEMSYSCTL_PFCR_DIS_NLP_Pos 7U
1452#define MEMSYSCTL_PFCR_DIS_NLP_Msk (0x1UL << MEMSYSCTL_PFCR_DIS_NLP_Pos)
1454#define MEMSYSCTL_PFCR_ENABLE_Pos 0U
1455#define MEMSYSCTL_PFCR_ENABLE_Msk (0x1UL /*<< MEMSYSCTL_PFCR_ENABLE_Pos*/)
1457/* MEMSYSCTL ITCM Control Register (ITCMCR) Register Definitions */
1458#define MEMSYSCTL_ITCMCR_SZ_Pos 3U
1459#define MEMSYSCTL_ITCMCR_SZ_Msk (0xFUL << MEMSYSCTL_ITCMCR_SZ_Pos)
1461#define MEMSYSCTL_ITCMCR_EN_Pos 0U
1462#define MEMSYSCTL_ITCMCR_EN_Msk (0x1UL /*<< MEMSYSCTL_ITCMCR_EN_Pos*/)
1464/* MEMSYSCTL DTCM Control Register (DTCMCR) Register Definitions */
1465#define MEMSYSCTL_DTCMCR_SZ_Pos 3U
1466#define MEMSYSCTL_DTCMCR_SZ_Msk (0xFUL << MEMSYSCTL_DTCMCR_SZ_Pos)
1468#define MEMSYSCTL_DTCMCR_EN_Pos 0U
1469#define MEMSYSCTL_DTCMCR_EN_Msk (0x1UL /*<< MEMSYSCTL_DTCMCR_EN_Pos*/)
1471/* MEMSYSCTL P-AHB Control Register (PAHBCR) Register Definitions */
1472#define MEMSYSCTL_PAHBCR_SZ_Pos 1U
1473#define MEMSYSCTL_PAHBCR_SZ_Msk (0x7UL << MEMSYSCTL_PAHBCR_SZ_Pos)
1475#define MEMSYSCTL_PAHBCR_EN_Pos 0U
1476#define MEMSYSCTL_PAHBCR_EN_Msk (0x1UL /*<< MEMSYSCTL_PAHBCR_EN_Pos*/)
1478/* MEMSYSCTL ITGU Control Register (ITGU_CTRL) Register Definitions */
1479#define MEMSYSCTL_ITGU_CTRL_DEREN_Pos 1U
1480#define MEMSYSCTL_ITGU_CTRL_DEREN_Msk (0x1UL << MEMSYSCTL_ITGU_CTRL_DEREN_Pos)
1482#define MEMSYSCTL_ITGU_CTRL_DBFEN_Pos 0U
1483#define MEMSYSCTL_ITGU_CTRL_DBFEN_Msk (0x1UL /*<< MEMSYSCTL_ITGU_CTRL_DBFEN_Pos*/)
1485/* MEMSYSCTL ITGU Configuration Register (ITGU_CFG) Register Definitions */
1486#define MEMSYSCTL_ITGU_CFG_PRESENT_Pos 31U
1487#define MEMSYSCTL_ITGU_CFG_PRESENT_Msk (0x1UL << MEMSYSCTL_ITGU_CFG_PRESENT_Pos)
1489#define MEMSYSCTL_ITGU_CFG_NUMBLKS_Pos 8U
1490#define MEMSYSCTL_ITGU_CFG_NUMBLKS_Msk (0xFUL << MEMSYSCTL_ITGU_CFG_NUMBLKS_Pos)
1492#define MEMSYSCTL_ITGU_CFG_BLKSZ_Pos 0U
1493#define MEMSYSCTL_ITGU_CFG_BLKSZ_Msk (0xFUL /*<< MEMSYSCTL_ITGU_CFG_BLKSZ_Pos*/)
1495/* MEMSYSCTL DTGU Control Registers (DTGU_CTRL) Register Definitions */
1496#define MEMSYSCTL_DTGU_CTRL_DEREN_Pos 1U
1497#define MEMSYSCTL_DTGU_CTRL_DEREN_Msk (0x1UL << MEMSYSCTL_DTGU_CTRL_DEREN_Pos)
1499#define MEMSYSCTL_DTGU_CTRL_DBFEN_Pos 0U
1500#define MEMSYSCTL_DTGU_CTRL_DBFEN_Msk (0x1UL /*<< MEMSYSCTL_DTGU_CTRL_DBFEN_Pos*/)
1502/* MEMSYSCTL DTGU Configuration Register (DTGU_CFG) Register Definitions */
1503#define MEMSYSCTL_DTGU_CFG_PRESENT_Pos 31U
1504#define MEMSYSCTL_DTGU_CFG_PRESENT_Msk (0x1UL << MEMSYSCTL_DTGU_CFG_PRESENT_Pos)
1506#define MEMSYSCTL_DTGU_CFG_NUMBLKS_Pos 8U
1507#define MEMSYSCTL_DTGU_CFG_NUMBLKS_Msk (0xFUL << MEMSYSCTL_DTGU_CFG_NUMBLKS_Pos)
1509#define MEMSYSCTL_DTGU_CFG_BLKSZ_Pos 0U
1510#define MEMSYSCTL_DTGU_CFG_BLKSZ_Msk (0xFUL /*<< MEMSYSCTL_DTGU_CFG_BLKSZ_Pos*/) /* end of group MemSysCtl_Type */
1514
1515
1526typedef struct
1527{
1528 __IOM uint32_t CPDLPSTATE;
1529 __IOM uint32_t DPDLPSTATE;
1531
1532/* PWRMODCTL Core Power Domain Low Power State (CPDLPSTATE) Register Definitions */
1533#define PWRMODCTL_CPDLPSTATE_RLPSTATE_Pos 8U
1534#define PWRMODCTL_CPDLPSTATE_RLPSTATE_Msk (0x3UL << PWRMODCTL_CPDLPSTATE_RLPSTATE_Pos)
1536#define PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos 4U
1537#define PWRMODCTL_CPDLPSTATE_ELPSTATE_Msk (0x3UL << PWRMODCTL_CPDLPSTATE_ELPSTATE_Pos)
1539#define PWRMODCTL_CPDLPSTATE_CLPSTATE_Pos 0U
1540#define PWRMODCTL_CPDLPSTATE_CLPSTATE_Msk (0x3UL /*<< PWRMODCTL_CPDLPSTATE_CLPSTATE_Pos*/)
1542/* PWRMODCTL Debug Power Domain Low Power State (DPDLPSTATE) Register Definitions */
1543#define PWRMODCTL_DPDLPSTATE_DLPSTATE_Pos 0U
1544#define PWRMODCTL_DPDLPSTATE_DLPSTATE_Msk (0x3UL /*<< PWRMODCTL_DPDLPSTATE_DLPSTATE_Pos*/) /* end of group PwrModCtl_Type */
1547
1548
1559typedef struct
1560{
1561 __IOM uint32_t EWIC_CR;
1562 __IOM uint32_t EWIC_ASCR;
1563 __OM uint32_t EWIC_CLRMASK;
1564 __IM uint32_t EWIC_NUMID;
1565 uint32_t RESERVED0[124U];
1566 __IOM uint32_t EWIC_MASKA;
1567 __IOM uint32_t EWIC_MASKn[15];
1568 uint32_t RESERVED1[112U];
1569 __IM uint32_t EWIC_PENDA;
1570 __IOM uint32_t EWIC_PENDn[15];
1571 uint32_t RESERVED2[112U];
1572 __IM uint32_t EWIC_PSR;
1573} EWIC_Type;
1574
1575/* EWIC Control (EWIC_CR) Register Definitions */
1576#define EWIC_EWIC_CR_EN_Pos 0U
1577#define EWIC_EWIC_CR_EN_Msk (0x1UL /*<< EWIC_EWIC_CR_EN_Pos*/)
1579/* EWIC Automatic Sequence Control (EWIC_ASCR) Register Definitions */
1580#define EWIC_EWIC_ASCR_ASPU_Pos 1U
1581#define EWIC_EWIC_ASCR_ASPU_Msk (0x1UL << EWIC_EWIC_ASCR_ASPU_Pos)
1583#define EWIC_EWIC_ASCR_ASPD_Pos 0U
1584#define EWIC_EWIC_ASCR_ASPD_Msk (0x1UL /*<< EWIC_EWIC_ASCR_ASPD_Pos*/)
1586/* EWIC Event Number ID (EWIC_NUMID) Register Definitions */
1587#define EWIC_EWIC_NUMID_NUMEVENT_Pos 0U
1588#define EWIC_EWIC_NUMID_NUMEVENT_Msk (0xFFFFUL /*<< EWIC_EWIC_NUMID_NUMEVENT_Pos*/)
1590/* EWIC MaskA (EWIC_MASKA) Register Definitions */
1591#define EWIC_EWIC_MASKA_EDBGREQ_Pos 2U
1592#define EWIC_EWIC_MASKA_EDBGREQ_Msk (0x1UL << EWIC_EWIC_MASKA_EDBGREQ_Pos)
1594#define EWIC_EWIC_MASKA_NMI_Pos 1U
1595#define EWIC_EWIC_MASKA_NMI_Msk (0x1UL << EWIC_EWIC_MASKA_NMI_Pos)
1597#define EWIC_EWIC_MASKA_EVENT_Pos 0U
1598#define EWIC_EWIC_MASKA_EVENT_Msk (0x1UL /*<< EWIC_EWIC_MASKA_EVENT_Pos*/)
1600/* EWIC Mask n (EWIC_MASKn) Register Definitions */
1601#define EWIC_EWIC_MASKn_IRQ_Pos 0U
1602#define EWIC_EWIC_MASKn_IRQ_Msk (0xFFFFFFFFUL /*<< EWIC_EWIC_MASKn_IRQ_Pos*/)
1604/* EWIC PendA (EWIC_PENDA) Register Definitions */
1605#define EWIC_EWIC_PENDA_EDBGREQ_Pos 2U
1606#define EWIC_EWIC_PENDA_EDBGREQ_Msk (0x1UL << EWIC_EWIC_PENDA_EDBGREQ_Pos)
1608#define EWIC_EWIC_PENDA_NMI_Pos 1U
1609#define EWIC_EWIC_PENDA_NMI_Msk (0x1UL << EWIC_EWIC_PENDA_NMI_Pos)
1611#define EWIC_EWIC_PENDA_EVENT_Pos 0U
1612#define EWIC_EWIC_PENDA_EVENT_Msk (0x1UL /*<< EWIC_EWIC_PENDA_EVENT_Pos*/)
1614/* EWIC Pend n (EWIC_PENDn) Register Definitions */
1615#define EWIC_EWIC_PENDn_IRQ_Pos 0U
1616#define EWIC_EWIC_PENDn_IRQ_Msk (0xFFFFFFFFUL /*<< EWIC_EWIC_PENDn_IRQ_Pos*/)
1618/* EWIC Pend Summary (EWIC_PSR) Register Definitions */
1619#define EWIC_EWIC_PSR_NZ_Pos 1U
1620#define EWIC_EWIC_PSR_NZ_Msk (0x7FFFUL << EWIC_EWIC_PSR_NZ_Pos)
1622#define EWIC_EWIC_PSR_NZA_Pos 0U
1623#define EWIC_EWIC_PSR_NZA_Msk (0x1UL /*<< EWIC_EWIC_PSR_NZA_Pos*/) /* end of group EWIC_Type */
1626
1627
1638typedef struct
1639{
1640 __OM uint32_t EVENTSPR;
1641 uint32_t RESERVED0[31U];
1642 __IM uint32_t EVENTMASKA;
1643 __IM uint32_t EVENTMASKn[15];
1645
1646/* EWIC_ISA Event Set Pending (EVENTSPR) Register Definitions */
1647#define EWIC_ISA_EVENTSPR_EDBGREQ_Pos 2U
1648#define EWIC_ISA_EVENTSPR_EDBGREQ_Msk (0x1UL << EWIC_ISA_EVENTSPR_EDBGREQ_Pos)
1650#define EWIC_ISA_EVENTSPR_NMI_Pos 1U
1651#define EWIC_ISA_EVENTSPR_NMI_Msk (0x1UL << EWIC_ISA_EVENTSPR_NMI_Pos)
1653#define EWIC_ISA_EVENTSPR_EVENT_Pos 0U
1654#define EWIC_ISA_EVENTSPR_EVENT_Msk (0x1UL /*<< EWIC_ISA_EVENTSPR_EVENT_Pos*/)
1656/* EWIC_ISA Event Mask A (EVENTMASKA) Register Definitions */
1657#define EWIC_ISA_EVENTMASKA_EDBGREQ_Pos 2U
1658#define EWIC_ISA_EVENTMASKA_EDBGREQ_Msk (0x1UL << EWIC_ISA_EVENTMASKA_EDBGREQ_Pos)
1660#define EWIC_ISA_EVENTMASKA_NMI_Pos 1U
1661#define EWIC_ISA_EVENTMASKA_NMI_Msk (0x1UL << EWIC_ISA_EVENTMASKA_NMI_Pos)
1663#define EWIC_ISA_EVENTMASKA_EVENT_Pos 0U
1664#define EWIC_ISA_EVENTMASKA_EVENT_Msk (0x1UL /*<< EWIC_ISA_EVENTMASKA_EVENT_Pos*/)
1666/* EWIC_ISA Event Mask n (EVENTMASKn) Register Definitions */
1667#define EWIC_ISA_EVENTMASKn_IRQ_Pos 0U
1668#define EWIC_ISA_EVENTMASKn_IRQ_Msk (0xFFFFFFFFUL /*<< EWIC_ISA_EVENTMASKn_IRQ_Pos*/) /* end of group EWIC_ISA_Type */
1671
1672
1683typedef struct
1684{
1685 __IOM uint32_t IEBR0;
1686 __IOM uint32_t IEBR1;
1687 uint32_t RESERVED0[2U];
1688 __IOM uint32_t DEBR0;
1689 __IOM uint32_t DEBR1;
1690 uint32_t RESERVED1[2U];
1691 __IOM uint32_t TEBR0;
1692 uint32_t RESERVED2[1U];
1693 __IOM uint32_t TEBR1;
1694} ErrBnk_Type;
1695
1696/* ERRBNK Instruction Cache Error Bank Register 0 (IEBR0) Register Definitions */
1697#define ERRBNK_IEBR0_SWDEF_Pos 30U
1698#define ERRBNK_IEBR0_SWDEF_Msk (0x3UL << ERRBNK_IEBR0_SWDEF_Pos)
1700#define ERRBNK_IEBR0_BANK_Pos 16U
1701#define ERRBNK_IEBR0_BANK_Msk (0x1UL << ERRBNK_IEBR0_BANK_Pos)
1703#define ERRBNK_IEBR0_LOCATION_Pos 2U
1704#define ERRBNK_IEBR0_LOCATION_Msk (0x3FFFUL << ERRBNK_IEBR0_LOCATION_Pos)
1706#define ERRBNK_IEBR0_LOCKED_Pos 1U
1707#define ERRBNK_IEBR0_LOCKED_Msk (0x1UL << ERRBNK_IEBR0_LOCKED_Pos)
1709#define ERRBNK_IEBR0_VALID_Pos 0U
1710#define ERRBNK_IEBR0_VALID_Msk (0x1UL << /*ERRBNK_IEBR0_VALID_Pos*/)
1712/* ERRBNK Instruction Cache Error Bank Register 1 (IEBR1) Register Definitions */
1713#define ERRBNK_IEBR1_SWDEF_Pos 30U
1714#define ERRBNK_IEBR1_SWDEF_Msk (0x3UL << ERRBNK_IEBR1_SWDEF_Pos)
1716#define ERRBNK_IEBR1_BANK_Pos 16U
1717#define ERRBNK_IEBR1_BANK_Msk (0x1UL << ERRBNK_IEBR1_BANK_Pos)
1719#define ERRBNK_IEBR1_LOCATION_Pos 2U
1720#define ERRBNK_IEBR1_LOCATION_Msk (0x3FFFUL << ERRBNK_IEBR1_LOCATION_Pos)
1722#define ERRBNK_IEBR1_LOCKED_Pos 1U
1723#define ERRBNK_IEBR1_LOCKED_Msk (0x1UL << ERRBNK_IEBR1_LOCKED_Pos)
1725#define ERRBNK_IEBR1_VALID_Pos 0U
1726#define ERRBNK_IEBR1_VALID_Msk (0x1UL << /*ERRBNK_IEBR1_VALID_Pos*/)
1728/* ERRBNK Data Cache Error Bank Register 0 (DEBR0) Register Definitions */
1729#define ERRBNK_DEBR0_SWDEF_Pos 30U
1730#define ERRBNK_DEBR0_SWDEF_Msk (0x3UL << ERRBNK_DEBR0_SWDEF_Pos)
1732#define ERRBNK_DEBR0_TYPE_Pos 17U
1733#define ERRBNK_DEBR0_TYPE_Msk (0x1UL << ERRBNK_DEBR0_TYPE_Pos)
1735#define ERRBNK_DEBR0_BANK_Pos 16U
1736#define ERRBNK_DEBR0_BANK_Msk (0x1UL << ERRBNK_DEBR0_BANK_Pos)
1738#define ERRBNK_DEBR0_LOCATION_Pos 2U
1739#define ERRBNK_DEBR0_LOCATION_Msk (0x3FFFUL << ERRBNK_DEBR0_LOCATION_Pos)
1741#define ERRBNK_DEBR0_LOCKED_Pos 1U
1742#define ERRBNK_DEBR0_LOCKED_Msk (0x1UL << ERRBNK_DEBR0_LOCKED_Pos)
1744#define ERRBNK_DEBR0_VALID_Pos 0U
1745#define ERRBNK_DEBR0_VALID_Msk (0x1UL << /*ERRBNK_DEBR0_VALID_Pos*/)
1747/* ERRBNK Data Cache Error Bank Register 1 (DEBR1) Register Definitions */
1748#define ERRBNK_DEBR1_SWDEF_Pos 30U
1749#define ERRBNK_DEBR1_SWDEF_Msk (0x3UL << ERRBNK_DEBR1_SWDEF_Pos)
1751#define ERRBNK_DEBR1_TYPE_Pos 17U
1752#define ERRBNK_DEBR1_TYPE_Msk (0x1UL << ERRBNK_DEBR1_TYPE_Pos)
1754#define ERRBNK_DEBR1_BANK_Pos 16U
1755#define ERRBNK_DEBR1_BANK_Msk (0x1UL << ERRBNK_DEBR1_BANK_Pos)
1757#define ERRBNK_DEBR1_LOCATION_Pos 2U
1758#define ERRBNK_DEBR1_LOCATION_Msk (0x3FFFUL << ERRBNK_DEBR1_LOCATION_Pos)
1760#define ERRBNK_DEBR1_LOCKED_Pos 1U
1761#define ERRBNK_DEBR1_LOCKED_Msk (0x1UL << ERRBNK_DEBR1_LOCKED_Pos)
1763#define ERRBNK_DEBR1_VALID_Pos 0U
1764#define ERRBNK_DEBR1_VALID_Msk (0x1UL << /*ERRBNK_DEBR1_VALID_Pos*/)
1766/* ERRBNK TCM Error Bank Register 0 (TEBR0) Register Definitions */
1767#define ERRBNK_TEBR0_SWDEF_Pos 30U
1768#define ERRBNK_TEBR0_SWDEF_Msk (0x3UL << ERRBNK_TEBR0_SWDEF_Pos)
1770#define ERRBNK_TEBR0_POISON_Pos 28U
1771#define ERRBNK_TEBR0_POISON_Msk (0x1UL << ERRBNK_TEBR0_POISON_Pos)
1773#define ERRBNK_TEBR0_TYPE_Pos 27U
1774#define ERRBNK_TEBR0_TYPE_Msk (0x1UL << ERRBNK_TEBR0_TYPE_Pos)
1776#define ERRBNK_TEBR0_BANK_Pos 24U
1777#define ERRBNK_TEBR0_BANK_Msk (0x7UL << ERRBNK_TEBR0_BANK_Pos)
1779#define ERRBNK_TEBR0_LOCATION_Pos 2U
1780#define ERRBNK_TEBR0_LOCATION_Msk (0x3FFFFFUL << ERRBNK_TEBR0_LOCATION_Pos)
1782#define ERRBNK_TEBR0_LOCKED_Pos 1U
1783#define ERRBNK_TEBR0_LOCKED_Msk (0x1UL << ERRBNK_TEBR0_LOCKED_Pos)
1785#define ERRBNK_TEBR0_VALID_Pos 0U
1786#define ERRBNK_TEBR0_VALID_Msk (0x1UL << /*ERRBNK_TEBR0_VALID_Pos*/)
1788/* ERRBNK TCM Error Bank Register 1 (TEBR1) Register Definitions */
1789#define ERRBNK_TEBR1_SWDEF_Pos 30U
1790#define ERRBNK_TEBR1_SWDEF_Msk (0x3UL << ERRBNK_TEBR1_SWDEF_Pos)
1792#define ERRBNK_TEBR1_POISON_Pos 28U
1793#define ERRBNK_TEBR1_POISON_Msk (0x1UL << ERRBNK_TEBR1_POISON_Pos)
1795#define ERRBNK_TEBR1_TYPE_Pos 27U
1796#define ERRBNK_TEBR1_TYPE_Msk (0x1UL << ERRBNK_TEBR1_TYPE_Pos)
1798#define ERRBNK_TEBR1_BANK_Pos 24U
1799#define ERRBNK_TEBR1_BANK_Msk (0x7UL << ERRBNK_TEBR1_BANK_Pos)
1801#define ERRBNK_TEBR1_LOCATION_Pos 2U
1802#define ERRBNK_TEBR1_LOCATION_Msk (0x3FFFFFUL << ERRBNK_TEBR1_LOCATION_Pos)
1804#define ERRBNK_TEBR1_LOCKED_Pos 1U
1805#define ERRBNK_TEBR1_LOCKED_Msk (0x1UL << ERRBNK_TEBR1_LOCKED_Pos)
1807#define ERRBNK_TEBR1_VALID_Pos 0U
1808#define ERRBNK_TEBR1_VALID_Msk (0x1UL << /*ERRBNK_TEBR1_VALID_Pos*/) /* end of group ErrBnk_Type */
1811
1812
1823typedef struct
1824{
1825 __OM uint32_t CFGINFOSEL;
1826 __IM uint32_t CFGINFORD;
1828
1829/* PRCCFGINF Processor Configuration Information Selection Register (CFGINFOSEL) Definitions */
1830
1831/* PRCCFGINF Processor Configuration Information Read Data Register (CFGINFORD) Definitions */
1832 /* end of group PrcCfgInf_Type */
1834
1835
1846typedef struct
1847{
1848 __IM uint32_t SSPSR;
1849 __IOM uint32_t CSPSR;
1850 uint32_t RESERVED0[2U];
1851 __IOM uint32_t ACPR;
1852 uint32_t RESERVED1[55U];
1853 __IOM uint32_t SPPR;
1854 uint32_t RESERVED2[131U];
1855 __IM uint32_t FFSR;
1856 __IOM uint32_t FFCR;
1857 __IOM uint32_t PSCR;
1858 uint32_t RESERVED3[809U];
1859 __OM uint32_t LAR;
1860 __IM uint32_t LSR;
1861 uint32_t RESERVED4[4U];
1862 __IM uint32_t TYPE;
1863 __IM uint32_t DEVTYPE;
1864} TPI_Type;
1865
1866/* TPI Asynchronous Clock Prescaler Register Definitions */
1867#define TPI_ACPR_SWOSCALER_Pos 0U
1868#define TPI_ACPR_SWOSCALER_Msk (0xFFFFUL /*<< TPI_ACPR_SWOSCALER_Pos*/)
1870/* TPI Selected Pin Protocol Register Definitions */
1871#define TPI_SPPR_TXMODE_Pos 0U
1872#define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/)
1874/* TPI Formatter and Flush Status Register Definitions */
1875#define TPI_FFSR_FtNonStop_Pos 3U
1876#define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos)
1878#define TPI_FFSR_TCPresent_Pos 2U
1879#define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos)
1881#define TPI_FFSR_FtStopped_Pos 1U
1882#define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos)
1884#define TPI_FFSR_FlInProg_Pos 0U
1885#define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/)
1887/* TPI Formatter and Flush Control Register Definitions */
1888#define TPI_FFCR_TrigIn_Pos 8U
1889#define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos)
1891#define TPI_FFCR_FOnMan_Pos 6U
1892#define TPI_FFCR_FOnMan_Msk (0x1UL << TPI_FFCR_FOnMan_Pos)
1894#define TPI_FFCR_EnFmt_Pos 0U
1895#define TPI_FFCR_EnFmt_Msk (0x3UL << /*TPI_FFCR_EnFmt_Pos*/)
1897/* TPI Periodic Synchronization Control Register Definitions */
1898#define TPI_PSCR_PSCount_Pos 0U
1899#define TPI_PSCR_PSCount_Msk (0x1FUL /*<< TPI_PSCR_PSCount_Pos*/)
1901/* TPI Software Lock Status Register Definitions */
1902#define TPI_LSR_nTT_Pos 1U
1903#define TPI_LSR_nTT_Msk (0x1UL << TPI_LSR_nTT_Pos)
1905#define TPI_LSR_SLK_Pos 1U
1906#define TPI_LSR_SLK_Msk (0x1UL << TPI_LSR_SLK_Pos)
1908#define TPI_LSR_SLI_Pos 0U
1909#define TPI_LSR_SLI_Msk (0x1UL /*<< TPI_LSR_SLI_Pos*/)
1911/* TPI DEVID Register Definitions */
1912#define TPI_DEVID_NRZVALID_Pos 11U
1913#define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos)
1915#define TPI_DEVID_MANCVALID_Pos 10U
1916#define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos)
1918#define TPI_DEVID_PTINVALID_Pos 9U
1919#define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos)
1921#define TPI_DEVID_FIFOSZ_Pos 6U
1922#define TPI_DEVID_FIFOSZ_Msk (0x7UL << TPI_DEVID_FIFOSZ_Pos)
1924/* TPI DEVTYPE Register Definitions */
1925#define TPI_DEVTYPE_SubType_Pos 4U
1926#define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/)
1928#define TPI_DEVTYPE_MajorType_Pos 0U
1929#define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /* end of group CMSIS_TPI */
1932
1933#if defined (__PMU_PRESENT) && (__PMU_PRESENT == 1U)
1944typedef struct
1945{
1946 __IOM uint32_t EVCNTR[__PMU_NUM_EVENTCNT];
1947#if __PMU_NUM_EVENTCNT<31
1948 uint32_t RESERVED0[31U-__PMU_NUM_EVENTCNT];
1949#endif
1950 __IOM uint32_t CCNTR;
1951 uint32_t RESERVED1[224];
1952 __IOM uint32_t EVTYPER[__PMU_NUM_EVENTCNT];
1953#if __PMU_NUM_EVENTCNT<31
1954 uint32_t RESERVED2[31U-__PMU_NUM_EVENTCNT];
1955#endif
1956 __IOM uint32_t CCFILTR;
1957 uint32_t RESERVED3[480];
1958 __IOM uint32_t CNTENSET;
1959 uint32_t RESERVED4[7];
1960 __IOM uint32_t CNTENCLR;
1961 uint32_t RESERVED5[7];
1962 __IOM uint32_t INTENSET;
1963 uint32_t RESERVED6[7];
1964 __IOM uint32_t INTENCLR;
1965 uint32_t RESERVED7[7];
1966 __IOM uint32_t OVSCLR;
1967 uint32_t RESERVED8[7];
1968 __IOM uint32_t SWINC;
1969 uint32_t RESERVED9[7];
1970 __IOM uint32_t OVSSET;
1971 uint32_t RESERVED10[79];
1972 __IOM uint32_t TYPE;
1973 __IOM uint32_t CTRL;
1974 uint32_t RESERVED11[108];
1975 __IOM uint32_t AUTHSTATUS;
1976 __IOM uint32_t DEVARCH;
1977 uint32_t RESERVED12[3];
1978 __IOM uint32_t DEVTYPE;
1979 __IOM uint32_t PIDR4;
1980 uint32_t RESERVED13[3];
1981 __IOM uint32_t PIDR0;
1982 __IOM uint32_t PIDR1;
1983 __IOM uint32_t PIDR2;
1984 __IOM uint32_t PIDR3;
1985 __IOM uint32_t CIDR0;
1986 __IOM uint32_t CIDR1;
1987 __IOM uint32_t CIDR2;
1988 __IOM uint32_t CIDR3;
1989} PMU_Type;
1990
1993#define PMU_EVCNTR_CNT_Pos 0U
1994#define PMU_EVCNTR_CNT_Msk (0xFFFFUL /*<< PMU_EVCNTRx_CNT_Pos*/)
1998#define PMU_EVTYPER_EVENTTOCNT_Pos 0U
1999#define PMU_EVTYPER_EVENTTOCNT_Msk (0xFFFFUL /*<< EVTYPERx_EVENTTOCNT_Pos*/)
2003#define PMU_CNTENSET_CNT0_ENABLE_Pos 0U
2004#define PMU_CNTENSET_CNT0_ENABLE_Msk (1UL /*<< PMU_CNTENSET_CNT0_ENABLE_Pos*/)
2006#define PMU_CNTENSET_CNT1_ENABLE_Pos 1U
2007#define PMU_CNTENSET_CNT1_ENABLE_Msk (1UL << PMU_CNTENSET_CNT1_ENABLE_Pos)
2009#define PMU_CNTENSET_CNT2_ENABLE_Pos 2U
2010#define PMU_CNTENSET_CNT2_ENABLE_Msk (1UL << PMU_CNTENSET_CNT2_ENABLE_Pos)
2012#define PMU_CNTENSET_CNT3_ENABLE_Pos 3U
2013#define PMU_CNTENSET_CNT3_ENABLE_Msk (1UL << PMU_CNTENSET_CNT3_ENABLE_Pos)
2015#define PMU_CNTENSET_CNT4_ENABLE_Pos 4U
2016#define PMU_CNTENSET_CNT4_ENABLE_Msk (1UL << PMU_CNTENSET_CNT4_ENABLE_Pos)
2018#define PMU_CNTENSET_CNT5_ENABLE_Pos 5U
2019#define PMU_CNTENSET_CNT5_ENABLE_Msk (1UL << PMU_CNTENSET_CNT5_ENABLE_Pos)
2021#define PMU_CNTENSET_CNT6_ENABLE_Pos 6U
2022#define PMU_CNTENSET_CNT6_ENABLE_Msk (1UL << PMU_CNTENSET_CNT6_ENABLE_Pos)
2024#define PMU_CNTENSET_CNT7_ENABLE_Pos 7U
2025#define PMU_CNTENSET_CNT7_ENABLE_Msk (1UL << PMU_CNTENSET_CNT7_ENABLE_Pos)
2027#define PMU_CNTENSET_CNT8_ENABLE_Pos 8U
2028#define PMU_CNTENSET_CNT8_ENABLE_Msk (1UL << PMU_CNTENSET_CNT8_ENABLE_Pos)
2030#define PMU_CNTENSET_CNT9_ENABLE_Pos 9U
2031#define PMU_CNTENSET_CNT9_ENABLE_Msk (1UL << PMU_CNTENSET_CNT9_ENABLE_Pos)
2033#define PMU_CNTENSET_CNT10_ENABLE_Pos 10U
2034#define PMU_CNTENSET_CNT10_ENABLE_Msk (1UL << PMU_CNTENSET_CNT10_ENABLE_Pos)
2036#define PMU_CNTENSET_CNT11_ENABLE_Pos 11U
2037#define PMU_CNTENSET_CNT11_ENABLE_Msk (1UL << PMU_CNTENSET_CNT11_ENABLE_Pos)
2039#define PMU_CNTENSET_CNT12_ENABLE_Pos 12U
2040#define PMU_CNTENSET_CNT12_ENABLE_Msk (1UL << PMU_CNTENSET_CNT12_ENABLE_Pos)
2042#define PMU_CNTENSET_CNT13_ENABLE_Pos 13U
2043#define PMU_CNTENSET_CNT13_ENABLE_Msk (1UL << PMU_CNTENSET_CNT13_ENABLE_Pos)
2045#define PMU_CNTENSET_CNT14_ENABLE_Pos 14U
2046#define PMU_CNTENSET_CNT14_ENABLE_Msk (1UL << PMU_CNTENSET_CNT14_ENABLE_Pos)
2048#define PMU_CNTENSET_CNT15_ENABLE_Pos 15U
2049#define PMU_CNTENSET_CNT15_ENABLE_Msk (1UL << PMU_CNTENSET_CNT15_ENABLE_Pos)
2051#define PMU_CNTENSET_CNT16_ENABLE_Pos 16U
2052#define PMU_CNTENSET_CNT16_ENABLE_Msk (1UL << PMU_CNTENSET_CNT16_ENABLE_Pos)
2054#define PMU_CNTENSET_CNT17_ENABLE_Pos 17U
2055#define PMU_CNTENSET_CNT17_ENABLE_Msk (1UL << PMU_CNTENSET_CNT17_ENABLE_Pos)
2057#define PMU_CNTENSET_CNT18_ENABLE_Pos 18U
2058#define PMU_CNTENSET_CNT18_ENABLE_Msk (1UL << PMU_CNTENSET_CNT18_ENABLE_Pos)
2060#define PMU_CNTENSET_CNT19_ENABLE_Pos 19U
2061#define PMU_CNTENSET_CNT19_ENABLE_Msk (1UL << PMU_CNTENSET_CNT19_ENABLE_Pos)
2063#define PMU_CNTENSET_CNT20_ENABLE_Pos 20U
2064#define PMU_CNTENSET_CNT20_ENABLE_Msk (1UL << PMU_CNTENSET_CNT20_ENABLE_Pos)
2066#define PMU_CNTENSET_CNT21_ENABLE_Pos 21U
2067#define PMU_CNTENSET_CNT21_ENABLE_Msk (1UL << PMU_CNTENSET_CNT21_ENABLE_Pos)
2069#define PMU_CNTENSET_CNT22_ENABLE_Pos 22U
2070#define PMU_CNTENSET_CNT22_ENABLE_Msk (1UL << PMU_CNTENSET_CNT22_ENABLE_Pos)
2072#define PMU_CNTENSET_CNT23_ENABLE_Pos 23U
2073#define PMU_CNTENSET_CNT23_ENABLE_Msk (1UL << PMU_CNTENSET_CNT23_ENABLE_Pos)
2075#define PMU_CNTENSET_CNT24_ENABLE_Pos 24U
2076#define PMU_CNTENSET_CNT24_ENABLE_Msk (1UL << PMU_CNTENSET_CNT24_ENABLE_Pos)
2078#define PMU_CNTENSET_CNT25_ENABLE_Pos 25U
2079#define PMU_CNTENSET_CNT25_ENABLE_Msk (1UL << PMU_CNTENSET_CNT25_ENABLE_Pos)
2081#define PMU_CNTENSET_CNT26_ENABLE_Pos 26U
2082#define PMU_CNTENSET_CNT26_ENABLE_Msk (1UL << PMU_CNTENSET_CNT26_ENABLE_Pos)
2084#define PMU_CNTENSET_CNT27_ENABLE_Pos 27U
2085#define PMU_CNTENSET_CNT27_ENABLE_Msk (1UL << PMU_CNTENSET_CNT27_ENABLE_Pos)
2087#define PMU_CNTENSET_CNT28_ENABLE_Pos 28U
2088#define PMU_CNTENSET_CNT28_ENABLE_Msk (1UL << PMU_CNTENSET_CNT28_ENABLE_Pos)
2090#define PMU_CNTENSET_CNT29_ENABLE_Pos 29U
2091#define PMU_CNTENSET_CNT29_ENABLE_Msk (1UL << PMU_CNTENSET_CNT29_ENABLE_Pos)
2093#define PMU_CNTENSET_CNT30_ENABLE_Pos 30U
2094#define PMU_CNTENSET_CNT30_ENABLE_Msk (1UL << PMU_CNTENSET_CNT30_ENABLE_Pos)
2096#define PMU_CNTENSET_CCNTR_ENABLE_Pos 31U
2097#define PMU_CNTENSET_CCNTR_ENABLE_Msk (1UL << PMU_CNTENSET_CCNTR_ENABLE_Pos)
2101#define PMU_CNTENSET_CNT0_ENABLE_Pos 0U
2102#define PMU_CNTENCLR_CNT0_ENABLE_Msk (1UL /*<< PMU_CNTENCLR_CNT0_ENABLE_Pos*/)
2104#define PMU_CNTENCLR_CNT1_ENABLE_Pos 1U
2105#define PMU_CNTENCLR_CNT1_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT1_ENABLE_Pos)
2107#define PMU_CNTENCLR_CNT2_ENABLE_Pos 2U
2108#define PMU_CNTENCLR_CNT2_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT2_ENABLE_Pos)
2110#define PMU_CNTENCLR_CNT3_ENABLE_Pos 3U
2111#define PMU_CNTENCLR_CNT3_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT3_ENABLE_Pos)
2113#define PMU_CNTENCLR_CNT4_ENABLE_Pos 4U
2114#define PMU_CNTENCLR_CNT4_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT4_ENABLE_Pos)
2116#define PMU_CNTENCLR_CNT5_ENABLE_Pos 5U
2117#define PMU_CNTENCLR_CNT5_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT5_ENABLE_Pos)
2119#define PMU_CNTENCLR_CNT6_ENABLE_Pos 6U
2120#define PMU_CNTENCLR_CNT6_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT6_ENABLE_Pos)
2122#define PMU_CNTENCLR_CNT7_ENABLE_Pos 7U
2123#define PMU_CNTENCLR_CNT7_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT7_ENABLE_Pos)
2125#define PMU_CNTENCLR_CNT8_ENABLE_Pos 8U
2126#define PMU_CNTENCLR_CNT8_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT8_ENABLE_Pos)
2128#define PMU_CNTENCLR_CNT9_ENABLE_Pos 9U
2129#define PMU_CNTENCLR_CNT9_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT9_ENABLE_Pos)
2131#define PMU_CNTENCLR_CNT10_ENABLE_Pos 10U
2132#define PMU_CNTENCLR_CNT10_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT10_ENABLE_Pos)
2134#define PMU_CNTENCLR_CNT11_ENABLE_Pos 11U
2135#define PMU_CNTENCLR_CNT11_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT11_ENABLE_Pos)
2137#define PMU_CNTENCLR_CNT12_ENABLE_Pos 12U
2138#define PMU_CNTENCLR_CNT12_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT12_ENABLE_Pos)
2140#define PMU_CNTENCLR_CNT13_ENABLE_Pos 13U
2141#define PMU_CNTENCLR_CNT13_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT13_ENABLE_Pos)
2143#define PMU_CNTENCLR_CNT14_ENABLE_Pos 14U
2144#define PMU_CNTENCLR_CNT14_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT14_ENABLE_Pos)
2146#define PMU_CNTENCLR_CNT15_ENABLE_Pos 15U
2147#define PMU_CNTENCLR_CNT15_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT15_ENABLE_Pos)
2149#define PMU_CNTENCLR_CNT16_ENABLE_Pos 16U
2150#define PMU_CNTENCLR_CNT16_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT16_ENABLE_Pos)
2152#define PMU_CNTENCLR_CNT17_ENABLE_Pos 17U
2153#define PMU_CNTENCLR_CNT17_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT17_ENABLE_Pos)
2155#define PMU_CNTENCLR_CNT18_ENABLE_Pos 18U
2156#define PMU_CNTENCLR_CNT18_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT18_ENABLE_Pos)
2158#define PMU_CNTENCLR_CNT19_ENABLE_Pos 19U
2159#define PMU_CNTENCLR_CNT19_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT19_ENABLE_Pos)
2161#define PMU_CNTENCLR_CNT20_ENABLE_Pos 20U
2162#define PMU_CNTENCLR_CNT20_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT20_ENABLE_Pos)
2164#define PMU_CNTENCLR_CNT21_ENABLE_Pos 21U
2165#define PMU_CNTENCLR_CNT21_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT21_ENABLE_Pos)
2167#define PMU_CNTENCLR_CNT22_ENABLE_Pos 22U
2168#define PMU_CNTENCLR_CNT22_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT22_ENABLE_Pos)
2170#define PMU_CNTENCLR_CNT23_ENABLE_Pos 23U
2171#define PMU_CNTENCLR_CNT23_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT23_ENABLE_Pos)
2173#define PMU_CNTENCLR_CNT24_ENABLE_Pos 24U
2174#define PMU_CNTENCLR_CNT24_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT24_ENABLE_Pos)
2176#define PMU_CNTENCLR_CNT25_ENABLE_Pos 25U
2177#define PMU_CNTENCLR_CNT25_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT25_ENABLE_Pos)
2179#define PMU_CNTENCLR_CNT26_ENABLE_Pos 26U
2180#define PMU_CNTENCLR_CNT26_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT26_ENABLE_Pos)
2182#define PMU_CNTENCLR_CNT27_ENABLE_Pos 27U
2183#define PMU_CNTENCLR_CNT27_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT27_ENABLE_Pos)
2185#define PMU_CNTENCLR_CNT28_ENABLE_Pos 28U
2186#define PMU_CNTENCLR_CNT28_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT28_ENABLE_Pos)
2188#define PMU_CNTENCLR_CNT29_ENABLE_Pos 29U
2189#define PMU_CNTENCLR_CNT29_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT29_ENABLE_Pos)
2191#define PMU_CNTENCLR_CNT30_ENABLE_Pos 30U
2192#define PMU_CNTENCLR_CNT30_ENABLE_Msk (1UL << PMU_CNTENCLR_CNT30_ENABLE_Pos)
2194#define PMU_CNTENCLR_CCNTR_ENABLE_Pos 31U
2195#define PMU_CNTENCLR_CCNTR_ENABLE_Msk (1UL << PMU_CNTENCLR_CCNTR_ENABLE_Pos)
2199#define PMU_INTENSET_CNT0_ENABLE_Pos 0U
2200#define PMU_INTENSET_CNT0_ENABLE_Msk (1UL /*<< PMU_INTENSET_CNT0_ENABLE_Pos*/)
2202#define PMU_INTENSET_CNT1_ENABLE_Pos 1U
2203#define PMU_INTENSET_CNT1_ENABLE_Msk (1UL << PMU_INTENSET_CNT1_ENABLE_Pos)
2205#define PMU_INTENSET_CNT2_ENABLE_Pos 2U
2206#define PMU_INTENSET_CNT2_ENABLE_Msk (1UL << PMU_INTENSET_CNT2_ENABLE_Pos)
2208#define PMU_INTENSET_CNT3_ENABLE_Pos 3U
2209#define PMU_INTENSET_CNT3_ENABLE_Msk (1UL << PMU_INTENSET_CNT3_ENABLE_Pos)
2211#define PMU_INTENSET_CNT4_ENABLE_Pos 4U
2212#define PMU_INTENSET_CNT4_ENABLE_Msk (1UL << PMU_INTENSET_CNT4_ENABLE_Pos)
2214#define PMU_INTENSET_CNT5_ENABLE_Pos 5U
2215#define PMU_INTENSET_CNT5_ENABLE_Msk (1UL << PMU_INTENSET_CNT5_ENABLE_Pos)
2217#define PMU_INTENSET_CNT6_ENABLE_Pos 6U
2218#define PMU_INTENSET_CNT6_ENABLE_Msk (1UL << PMU_INTENSET_CNT6_ENABLE_Pos)
2220#define PMU_INTENSET_CNT7_ENABLE_Pos 7U
2221#define PMU_INTENSET_CNT7_ENABLE_Msk (1UL << PMU_INTENSET_CNT7_ENABLE_Pos)
2223#define PMU_INTENSET_CNT8_ENABLE_Pos 8U
2224#define PMU_INTENSET_CNT8_ENABLE_Msk (1UL << PMU_INTENSET_CNT8_ENABLE_Pos)
2226#define PMU_INTENSET_CNT9_ENABLE_Pos 9U
2227#define PMU_INTENSET_CNT9_ENABLE_Msk (1UL << PMU_INTENSET_CNT9_ENABLE_Pos)
2229#define PMU_INTENSET_CNT10_ENABLE_Pos 10U
2230#define PMU_INTENSET_CNT10_ENABLE_Msk (1UL << PMU_INTENSET_CNT10_ENABLE_Pos)
2232#define PMU_INTENSET_CNT11_ENABLE_Pos 11U
2233#define PMU_INTENSET_CNT11_ENABLE_Msk (1UL << PMU_INTENSET_CNT11_ENABLE_Pos)
2235#define PMU_INTENSET_CNT12_ENABLE_Pos 12U
2236#define PMU_INTENSET_CNT12_ENABLE_Msk (1UL << PMU_INTENSET_CNT12_ENABLE_Pos)
2238#define PMU_INTENSET_CNT13_ENABLE_Pos 13U
2239#define PMU_INTENSET_CNT13_ENABLE_Msk (1UL << PMU_INTENSET_CNT13_ENABLE_Pos)
2241#define PMU_INTENSET_CNT14_ENABLE_Pos 14U
2242#define PMU_INTENSET_CNT14_ENABLE_Msk (1UL << PMU_INTENSET_CNT14_ENABLE_Pos)
2244#define PMU_INTENSET_CNT15_ENABLE_Pos 15U
2245#define PMU_INTENSET_CNT15_ENABLE_Msk (1UL << PMU_INTENSET_CNT15_ENABLE_Pos)
2247#define PMU_INTENSET_CNT16_ENABLE_Pos 16U
2248#define PMU_INTENSET_CNT16_ENABLE_Msk (1UL << PMU_INTENSET_CNT16_ENABLE_Pos)
2250#define PMU_INTENSET_CNT17_ENABLE_Pos 17U
2251#define PMU_INTENSET_CNT17_ENABLE_Msk (1UL << PMU_INTENSET_CNT17_ENABLE_Pos)
2253#define PMU_INTENSET_CNT18_ENABLE_Pos 18U
2254#define PMU_INTENSET_CNT18_ENABLE_Msk (1UL << PMU_INTENSET_CNT18_ENABLE_Pos)
2256#define PMU_INTENSET_CNT19_ENABLE_Pos 19U
2257#define PMU_INTENSET_CNT19_ENABLE_Msk (1UL << PMU_INTENSET_CNT19_ENABLE_Pos)
2259#define PMU_INTENSET_CNT20_ENABLE_Pos 20U
2260#define PMU_INTENSET_CNT20_ENABLE_Msk (1UL << PMU_INTENSET_CNT20_ENABLE_Pos)
2262#define PMU_INTENSET_CNT21_ENABLE_Pos 21U
2263#define PMU_INTENSET_CNT21_ENABLE_Msk (1UL << PMU_INTENSET_CNT21_ENABLE_Pos)
2265#define PMU_INTENSET_CNT22_ENABLE_Pos 22U
2266#define PMU_INTENSET_CNT22_ENABLE_Msk (1UL << PMU_INTENSET_CNT22_ENABLE_Pos)
2268#define PMU_INTENSET_CNT23_ENABLE_Pos 23U
2269#define PMU_INTENSET_CNT23_ENABLE_Msk (1UL << PMU_INTENSET_CNT23_ENABLE_Pos)
2271#define PMU_INTENSET_CNT24_ENABLE_Pos 24U
2272#define PMU_INTENSET_CNT24_ENABLE_Msk (1UL << PMU_INTENSET_CNT24_ENABLE_Pos)
2274#define PMU_INTENSET_CNT25_ENABLE_Pos 25U
2275#define PMU_INTENSET_CNT25_ENABLE_Msk (1UL << PMU_INTENSET_CNT25_ENABLE_Pos)
2277#define PMU_INTENSET_CNT26_ENABLE_Pos 26U
2278#define PMU_INTENSET_CNT26_ENABLE_Msk (1UL << PMU_INTENSET_CNT26_ENABLE_Pos)
2280#define PMU_INTENSET_CNT27_ENABLE_Pos 27U
2281#define PMU_INTENSET_CNT27_ENABLE_Msk (1UL << PMU_INTENSET_CNT27_ENABLE_Pos)
2283#define PMU_INTENSET_CNT28_ENABLE_Pos 28U
2284#define PMU_INTENSET_CNT28_ENABLE_Msk (1UL << PMU_INTENSET_CNT28_ENABLE_Pos)
2286#define PMU_INTENSET_CNT29_ENABLE_Pos 29U
2287#define PMU_INTENSET_CNT29_ENABLE_Msk (1UL << PMU_INTENSET_CNT29_ENABLE_Pos)
2289#define PMU_INTENSET_CNT30_ENABLE_Pos 30U
2290#define PMU_INTENSET_CNT30_ENABLE_Msk (1UL << PMU_INTENSET_CNT30_ENABLE_Pos)
2292#define PMU_INTENSET_CYCCNT_ENABLE_Pos 31U
2293#define PMU_INTENSET_CCYCNT_ENABLE_Msk (1UL << PMU_INTENSET_CYCCNT_ENABLE_Pos)
2297#define PMU_INTENSET_CNT0_ENABLE_Pos 0U
2298#define PMU_INTENCLR_CNT0_ENABLE_Msk (1UL /*<< PMU_INTENCLR_CNT0_ENABLE_Pos*/)
2300#define PMU_INTENCLR_CNT1_ENABLE_Pos 1U
2301#define PMU_INTENCLR_CNT1_ENABLE_Msk (1UL << PMU_INTENCLR_CNT1_ENABLE_Pos)
2303#define PMU_INTENCLR_CNT2_ENABLE_Pos 2U
2304#define PMU_INTENCLR_CNT2_ENABLE_Msk (1UL << PMU_INTENCLR_CNT2_ENABLE_Pos)
2306#define PMU_INTENCLR_CNT3_ENABLE_Pos 3U
2307#define PMU_INTENCLR_CNT3_ENABLE_Msk (1UL << PMU_INTENCLR_CNT3_ENABLE_Pos)
2309#define PMU_INTENCLR_CNT4_ENABLE_Pos 4U
2310#define PMU_INTENCLR_CNT4_ENABLE_Msk (1UL << PMU_INTENCLR_CNT4_ENABLE_Pos)
2312#define PMU_INTENCLR_CNT5_ENABLE_Pos 5U
2313#define PMU_INTENCLR_CNT5_ENABLE_Msk (1UL << PMU_INTENCLR_CNT5_ENABLE_Pos)
2315#define PMU_INTENCLR_CNT6_ENABLE_Pos 6U
2316#define PMU_INTENCLR_CNT6_ENABLE_Msk (1UL << PMU_INTENCLR_CNT6_ENABLE_Pos)
2318#define PMU_INTENCLR_CNT7_ENABLE_Pos 7U
2319#define PMU_INTENCLR_CNT7_ENABLE_Msk (1UL << PMU_INTENCLR_CNT7_ENABLE_Pos)
2321#define PMU_INTENCLR_CNT8_ENABLE_Pos 8U
2322#define PMU_INTENCLR_CNT8_ENABLE_Msk (1UL << PMU_INTENCLR_CNT8_ENABLE_Pos)
2324#define PMU_INTENCLR_CNT9_ENABLE_Pos 9U
2325#define PMU_INTENCLR_CNT9_ENABLE_Msk (1UL << PMU_INTENCLR_CNT9_ENABLE_Pos)
2327#define PMU_INTENCLR_CNT10_ENABLE_Pos 10U
2328#define PMU_INTENCLR_CNT10_ENABLE_Msk (1UL << PMU_INTENCLR_CNT10_ENABLE_Pos)
2330#define PMU_INTENCLR_CNT11_ENABLE_Pos 11U
2331#define PMU_INTENCLR_CNT11_ENABLE_Msk (1UL << PMU_INTENCLR_CNT11_ENABLE_Pos)
2333#define PMU_INTENCLR_CNT12_ENABLE_Pos 12U
2334#define PMU_INTENCLR_CNT12_ENABLE_Msk (1UL << PMU_INTENCLR_CNT12_ENABLE_Pos)
2336#define PMU_INTENCLR_CNT13_ENABLE_Pos 13U
2337#define PMU_INTENCLR_CNT13_ENABLE_Msk (1UL << PMU_INTENCLR_CNT13_ENABLE_Pos)
2339#define PMU_INTENCLR_CNT14_ENABLE_Pos 14U
2340#define PMU_INTENCLR_CNT14_ENABLE_Msk (1UL << PMU_INTENCLR_CNT14_ENABLE_Pos)
2342#define PMU_INTENCLR_CNT15_ENABLE_Pos 15U
2343#define PMU_INTENCLR_CNT15_ENABLE_Msk (1UL << PMU_INTENCLR_CNT15_ENABLE_Pos)
2345#define PMU_INTENCLR_CNT16_ENABLE_Pos 16U
2346#define PMU_INTENCLR_CNT16_ENABLE_Msk (1UL << PMU_INTENCLR_CNT16_ENABLE_Pos)
2348#define PMU_INTENCLR_CNT17_ENABLE_Pos 17U
2349#define PMU_INTENCLR_CNT17_ENABLE_Msk (1UL << PMU_INTENCLR_CNT17_ENABLE_Pos)
2351#define PMU_INTENCLR_CNT18_ENABLE_Pos 18U
2352#define PMU_INTENCLR_CNT18_ENABLE_Msk (1UL << PMU_INTENCLR_CNT18_ENABLE_Pos)
2354#define PMU_INTENCLR_CNT19_ENABLE_Pos 19U
2355#define PMU_INTENCLR_CNT19_ENABLE_Msk (1UL << PMU_INTENCLR_CNT19_ENABLE_Pos)
2357#define PMU_INTENCLR_CNT20_ENABLE_Pos 20U
2358#define PMU_INTENCLR_CNT20_ENABLE_Msk (1UL << PMU_INTENCLR_CNT20_ENABLE_Pos)
2360#define PMU_INTENCLR_CNT21_ENABLE_Pos 21U
2361#define PMU_INTENCLR_CNT21_ENABLE_Msk (1UL << PMU_INTENCLR_CNT21_ENABLE_Pos)
2363#define PMU_INTENCLR_CNT22_ENABLE_Pos 22U
2364#define PMU_INTENCLR_CNT22_ENABLE_Msk (1UL << PMU_INTENCLR_CNT22_ENABLE_Pos)
2366#define PMU_INTENCLR_CNT23_ENABLE_Pos 23U
2367#define PMU_INTENCLR_CNT23_ENABLE_Msk (1UL << PMU_INTENCLR_CNT23_ENABLE_Pos)
2369#define PMU_INTENCLR_CNT24_ENABLE_Pos 24U
2370#define PMU_INTENCLR_CNT24_ENABLE_Msk (1UL << PMU_INTENCLR_CNT24_ENABLE_Pos)
2372#define PMU_INTENCLR_CNT25_ENABLE_Pos 25U
2373#define PMU_INTENCLR_CNT25_ENABLE_Msk (1UL << PMU_INTENCLR_CNT25_ENABLE_Pos)
2375#define PMU_INTENCLR_CNT26_ENABLE_Pos 26U
2376#define PMU_INTENCLR_CNT26_ENABLE_Msk (1UL << PMU_INTENCLR_CNT26_ENABLE_Pos)
2378#define PMU_INTENCLR_CNT27_ENABLE_Pos 27U
2379#define PMU_INTENCLR_CNT27_ENABLE_Msk (1UL << PMU_INTENCLR_CNT27_ENABLE_Pos)
2381#define PMU_INTENCLR_CNT28_ENABLE_Pos 28U
2382#define PMU_INTENCLR_CNT28_ENABLE_Msk (1UL << PMU_INTENCLR_CNT28_ENABLE_Pos)
2384#define PMU_INTENCLR_CNT29_ENABLE_Pos 29U
2385#define PMU_INTENCLR_CNT29_ENABLE_Msk (1UL << PMU_INTENCLR_CNT29_ENABLE_Pos)
2387#define PMU_INTENCLR_CNT30_ENABLE_Pos 30U
2388#define PMU_INTENCLR_CNT30_ENABLE_Msk (1UL << PMU_INTENCLR_CNT30_ENABLE_Pos)
2390#define PMU_INTENCLR_CYCCNT_ENABLE_Pos 31U
2391#define PMU_INTENCLR_CYCCNT_ENABLE_Msk (1UL << PMU_INTENCLR_CYCCNT_ENABLE_Pos)
2395#define PMU_OVSSET_CNT0_STATUS_Pos 0U
2396#define PMU_OVSSET_CNT0_STATUS_Msk (1UL /*<< PMU_OVSSET_CNT0_STATUS_Pos*/)
2398#define PMU_OVSSET_CNT1_STATUS_Pos 1U
2399#define PMU_OVSSET_CNT1_STATUS_Msk (1UL << PMU_OVSSET_CNT1_STATUS_Pos)
2401#define PMU_OVSSET_CNT2_STATUS_Pos 2U
2402#define PMU_OVSSET_CNT2_STATUS_Msk (1UL << PMU_OVSSET_CNT2_STATUS_Pos)
2404#define PMU_OVSSET_CNT3_STATUS_Pos 3U
2405#define PMU_OVSSET_CNT3_STATUS_Msk (1UL << PMU_OVSSET_CNT3_STATUS_Pos)
2407#define PMU_OVSSET_CNT4_STATUS_Pos 4U
2408#define PMU_OVSSET_CNT4_STATUS_Msk (1UL << PMU_OVSSET_CNT4_STATUS_Pos)
2410#define PMU_OVSSET_CNT5_STATUS_Pos 5U
2411#define PMU_OVSSET_CNT5_STATUS_Msk (1UL << PMU_OVSSET_CNT5_STATUS_Pos)
2413#define PMU_OVSSET_CNT6_STATUS_Pos 6U
2414#define PMU_OVSSET_CNT6_STATUS_Msk (1UL << PMU_OVSSET_CNT6_STATUS_Pos)
2416#define PMU_OVSSET_CNT7_STATUS_Pos 7U
2417#define PMU_OVSSET_CNT7_STATUS_Msk (1UL << PMU_OVSSET_CNT7_STATUS_Pos)
2419#define PMU_OVSSET_CNT8_STATUS_Pos 8U
2420#define PMU_OVSSET_CNT8_STATUS_Msk (1UL << PMU_OVSSET_CNT8_STATUS_Pos)
2422#define PMU_OVSSET_CNT9_STATUS_Pos 9U
2423#define PMU_OVSSET_CNT9_STATUS_Msk (1UL << PMU_OVSSET_CNT9_STATUS_Pos)
2425#define PMU_OVSSET_CNT10_STATUS_Pos 10U
2426#define PMU_OVSSET_CNT10_STATUS_Msk (1UL << PMU_OVSSET_CNT10_STATUS_Pos)
2428#define PMU_OVSSET_CNT11_STATUS_Pos 11U
2429#define PMU_OVSSET_CNT11_STATUS_Msk (1UL << PMU_OVSSET_CNT11_STATUS_Pos)
2431#define PMU_OVSSET_CNT12_STATUS_Pos 12U
2432#define PMU_OVSSET_CNT12_STATUS_Msk (1UL << PMU_OVSSET_CNT12_STATUS_Pos)
2434#define PMU_OVSSET_CNT13_STATUS_Pos 13U
2435#define PMU_OVSSET_CNT13_STATUS_Msk (1UL << PMU_OVSSET_CNT13_STATUS_Pos)
2437#define PMU_OVSSET_CNT14_STATUS_Pos 14U
2438#define PMU_OVSSET_CNT14_STATUS_Msk (1UL << PMU_OVSSET_CNT14_STATUS_Pos)
2440#define PMU_OVSSET_CNT15_STATUS_Pos 15U
2441#define PMU_OVSSET_CNT15_STATUS_Msk (1UL << PMU_OVSSET_CNT15_STATUS_Pos)
2443#define PMU_OVSSET_CNT16_STATUS_Pos 16U
2444#define PMU_OVSSET_CNT16_STATUS_Msk (1UL << PMU_OVSSET_CNT16_STATUS_Pos)
2446#define PMU_OVSSET_CNT17_STATUS_Pos 17U
2447#define PMU_OVSSET_CNT17_STATUS_Msk (1UL << PMU_OVSSET_CNT17_STATUS_Pos)
2449#define PMU_OVSSET_CNT18_STATUS_Pos 18U
2450#define PMU_OVSSET_CNT18_STATUS_Msk (1UL << PMU_OVSSET_CNT18_STATUS_Pos)
2452#define PMU_OVSSET_CNT19_STATUS_Pos 19U
2453#define PMU_OVSSET_CNT19_STATUS_Msk (1UL << PMU_OVSSET_CNT19_STATUS_Pos)
2455#define PMU_OVSSET_CNT20_STATUS_Pos 20U
2456#define PMU_OVSSET_CNT20_STATUS_Msk (1UL << PMU_OVSSET_CNT20_STATUS_Pos)
2458#define PMU_OVSSET_CNT21_STATUS_Pos 21U
2459#define PMU_OVSSET_CNT21_STATUS_Msk (1UL << PMU_OVSSET_CNT21_STATUS_Pos)
2461#define PMU_OVSSET_CNT22_STATUS_Pos 22U
2462#define PMU_OVSSET_CNT22_STATUS_Msk (1UL << PMU_OVSSET_CNT22_STATUS_Pos)
2464#define PMU_OVSSET_CNT23_STATUS_Pos 23U
2465#define PMU_OVSSET_CNT23_STATUS_Msk (1UL << PMU_OVSSET_CNT23_STATUS_Pos)
2467#define PMU_OVSSET_CNT24_STATUS_Pos 24U
2468#define PMU_OVSSET_CNT24_STATUS_Msk (1UL << PMU_OVSSET_CNT24_STATUS_Pos)
2470#define PMU_OVSSET_CNT25_STATUS_Pos 25U
2471#define PMU_OVSSET_CNT25_STATUS_Msk (1UL << PMU_OVSSET_CNT25_STATUS_Pos)
2473#define PMU_OVSSET_CNT26_STATUS_Pos 26U
2474#define PMU_OVSSET_CNT26_STATUS_Msk (1UL << PMU_OVSSET_CNT26_STATUS_Pos)
2476#define PMU_OVSSET_CNT27_STATUS_Pos 27U
2477#define PMU_OVSSET_CNT27_STATUS_Msk (1UL << PMU_OVSSET_CNT27_STATUS_Pos)
2479#define PMU_OVSSET_CNT28_STATUS_Pos 28U
2480#define PMU_OVSSET_CNT28_STATUS_Msk (1UL << PMU_OVSSET_CNT28_STATUS_Pos)
2482#define PMU_OVSSET_CNT29_STATUS_Pos 29U
2483#define PMU_OVSSET_CNT29_STATUS_Msk (1UL << PMU_OVSSET_CNT29_STATUS_Pos)
2485#define PMU_OVSSET_CNT30_STATUS_Pos 30U
2486#define PMU_OVSSET_CNT30_STATUS_Msk (1UL << PMU_OVSSET_CNT30_STATUS_Pos)
2488#define PMU_OVSSET_CYCCNT_STATUS_Pos 31U
2489#define PMU_OVSSET_CYCCNT_STATUS_Msk (1UL << PMU_OVSSET_CYCCNT_STATUS_Pos)
2493#define PMU_OVSCLR_CNT0_STATUS_Pos 0U
2494#define PMU_OVSCLR_CNT0_STATUS_Msk (1UL /*<< PMU_OVSCLR_CNT0_STATUS_Pos*/)
2496#define PMU_OVSCLR_CNT1_STATUS_Pos 1U
2497#define PMU_OVSCLR_CNT1_STATUS_Msk (1UL << PMU_OVSCLR_CNT1_STATUS_Pos)
2499#define PMU_OVSCLR_CNT2_STATUS_Pos 2U
2500#define PMU_OVSCLR_CNT2_STATUS_Msk (1UL << PMU_OVSCLR_CNT2_STATUS_Pos)
2502#define PMU_OVSCLR_CNT3_STATUS_Pos 3U
2503#define PMU_OVSCLR_CNT3_STATUS_Msk (1UL << PMU_OVSCLR_CNT3_STATUS_Pos)
2505#define PMU_OVSCLR_CNT4_STATUS_Pos 4U
2506#define PMU_OVSCLR_CNT4_STATUS_Msk (1UL << PMU_OVSCLR_CNT4_STATUS_Pos)
2508#define PMU_OVSCLR_CNT5_STATUS_Pos 5U
2509#define PMU_OVSCLR_CNT5_STATUS_Msk (1UL << PMU_OVSCLR_CNT5_STATUS_Pos)
2511#define PMU_OVSCLR_CNT6_STATUS_Pos 6U
2512#define PMU_OVSCLR_CNT6_STATUS_Msk (1UL << PMU_OVSCLR_CNT6_STATUS_Pos)
2514#define PMU_OVSCLR_CNT7_STATUS_Pos 7U
2515#define PMU_OVSCLR_CNT7_STATUS_Msk (1UL << PMU_OVSCLR_CNT7_STATUS_Pos)
2517#define PMU_OVSCLR_CNT8_STATUS_Pos 8U
2518#define PMU_OVSCLR_CNT8_STATUS_Msk (1UL << PMU_OVSCLR_CNT8_STATUS_Pos)
2520#define PMU_OVSCLR_CNT9_STATUS_Pos 9U
2521#define PMU_OVSCLR_CNT9_STATUS_Msk (1UL << PMU_OVSCLR_CNT9_STATUS_Pos)
2523#define PMU_OVSCLR_CNT10_STATUS_Pos 10U
2524#define PMU_OVSCLR_CNT10_STATUS_Msk (1UL << PMU_OVSCLR_CNT10_STATUS_Pos)
2526#define PMU_OVSCLR_CNT11_STATUS_Pos 11U
2527#define PMU_OVSCLR_CNT11_STATUS_Msk (1UL << PMU_OVSCLR_CNT11_STATUS_Pos)
2529#define PMU_OVSCLR_CNT12_STATUS_Pos 12U
2530#define PMU_OVSCLR_CNT12_STATUS_Msk (1UL << PMU_OVSCLR_CNT12_STATUS_Pos)
2532#define PMU_OVSCLR_CNT13_STATUS_Pos 13U
2533#define PMU_OVSCLR_CNT13_STATUS_Msk (1UL << PMU_OVSCLR_CNT13_STATUS_Pos)
2535#define PMU_OVSCLR_CNT14_STATUS_Pos 14U
2536#define PMU_OVSCLR_CNT14_STATUS_Msk (1UL << PMU_OVSCLR_CNT14_STATUS_Pos)
2538#define PMU_OVSCLR_CNT15_STATUS_Pos 15U
2539#define PMU_OVSCLR_CNT15_STATUS_Msk (1UL << PMU_OVSCLR_CNT15_STATUS_Pos)
2541#define PMU_OVSCLR_CNT16_STATUS_Pos 16U
2542#define PMU_OVSCLR_CNT16_STATUS_Msk (1UL << PMU_OVSCLR_CNT16_STATUS_Pos)
2544#define PMU_OVSCLR_CNT17_STATUS_Pos 17U
2545#define PMU_OVSCLR_CNT17_STATUS_Msk (1UL << PMU_OVSCLR_CNT17_STATUS_Pos)
2547#define PMU_OVSCLR_CNT18_STATUS_Pos 18U
2548#define PMU_OVSCLR_CNT18_STATUS_Msk (1UL << PMU_OVSCLR_CNT18_STATUS_Pos)
2550#define PMU_OVSCLR_CNT19_STATUS_Pos 19U
2551#define PMU_OVSCLR_CNT19_STATUS_Msk (1UL << PMU_OVSCLR_CNT19_STATUS_Pos)
2553#define PMU_OVSCLR_CNT20_STATUS_Pos 20U
2554#define PMU_OVSCLR_CNT20_STATUS_Msk (1UL << PMU_OVSCLR_CNT20_STATUS_Pos)
2556#define PMU_OVSCLR_CNT21_STATUS_Pos 21U
2557#define PMU_OVSCLR_CNT21_STATUS_Msk (1UL << PMU_OVSCLR_CNT21_STATUS_Pos)
2559#define PMU_OVSCLR_CNT22_STATUS_Pos 22U
2560#define PMU_OVSCLR_CNT22_STATUS_Msk (1UL << PMU_OVSCLR_CNT22_STATUS_Pos)
2562#define PMU_OVSCLR_CNT23_STATUS_Pos 23U
2563#define PMU_OVSCLR_CNT23_STATUS_Msk (1UL << PMU_OVSCLR_CNT23_STATUS_Pos)
2565#define PMU_OVSCLR_CNT24_STATUS_Pos 24U
2566#define PMU_OVSCLR_CNT24_STATUS_Msk (1UL << PMU_OVSCLR_CNT24_STATUS_Pos)
2568#define PMU_OVSCLR_CNT25_STATUS_Pos 25U
2569#define PMU_OVSCLR_CNT25_STATUS_Msk (1UL << PMU_OVSCLR_CNT25_STATUS_Pos)
2571#define PMU_OVSCLR_CNT26_STATUS_Pos 26U
2572#define PMU_OVSCLR_CNT26_STATUS_Msk (1UL << PMU_OVSCLR_CNT26_STATUS_Pos)
2574#define PMU_OVSCLR_CNT27_STATUS_Pos 27U
2575#define PMU_OVSCLR_CNT27_STATUS_Msk (1UL << PMU_OVSCLR_CNT27_STATUS_Pos)
2577#define PMU_OVSCLR_CNT28_STATUS_Pos 28U
2578#define PMU_OVSCLR_CNT28_STATUS_Msk (1UL << PMU_OVSCLR_CNT28_STATUS_Pos)
2580#define PMU_OVSCLR_CNT29_STATUS_Pos 29U
2581#define PMU_OVSCLR_CNT29_STATUS_Msk (1UL << PMU_OVSCLR_CNT29_STATUS_Pos)
2583#define PMU_OVSCLR_CNT30_STATUS_Pos 30U
2584#define PMU_OVSCLR_CNT30_STATUS_Msk (1UL << PMU_OVSCLR_CNT30_STATUS_Pos)
2586#define PMU_OVSCLR_CYCCNT_STATUS_Pos 31U
2587#define PMU_OVSCLR_CYCCNT_STATUS_Msk (1UL << PMU_OVSCLR_CYCCNT_STATUS_Pos)
2591#define PMU_SWINC_CNT0_Pos 0U
2592#define PMU_SWINC_CNT0_Msk (1UL /*<< PMU_SWINC_CNT0_Pos */)
2594#define PMU_SWINC_CNT1_Pos 1U
2595#define PMU_SWINC_CNT1_Msk (1UL << PMU_SWINC_CNT1_Pos)
2597#define PMU_SWINC_CNT2_Pos 2U
2598#define PMU_SWINC_CNT2_Msk (1UL << PMU_SWINC_CNT2_Pos)
2600#define PMU_SWINC_CNT3_Pos 3U
2601#define PMU_SWINC_CNT3_Msk (1UL << PMU_SWINC_CNT3_Pos)
2603#define PMU_SWINC_CNT4_Pos 4U
2604#define PMU_SWINC_CNT4_Msk (1UL << PMU_SWINC_CNT4_Pos)
2606#define PMU_SWINC_CNT5_Pos 5U
2607#define PMU_SWINC_CNT5_Msk (1UL << PMU_SWINC_CNT5_Pos)
2609#define PMU_SWINC_CNT6_Pos 6U
2610#define PMU_SWINC_CNT6_Msk (1UL << PMU_SWINC_CNT6_Pos)
2612#define PMU_SWINC_CNT7_Pos 7U
2613#define PMU_SWINC_CNT7_Msk (1UL << PMU_SWINC_CNT7_Pos)
2615#define PMU_SWINC_CNT8_Pos 8U
2616#define PMU_SWINC_CNT8_Msk (1UL << PMU_SWINC_CNT8_Pos)
2618#define PMU_SWINC_CNT9_Pos 9U
2619#define PMU_SWINC_CNT9_Msk (1UL << PMU_SWINC_CNT9_Pos)
2621#define PMU_SWINC_CNT10_Pos 10U
2622#define PMU_SWINC_CNT10_Msk (1UL << PMU_SWINC_CNT10_Pos)
2624#define PMU_SWINC_CNT11_Pos 11U
2625#define PMU_SWINC_CNT11_Msk (1UL << PMU_SWINC_CNT11_Pos)
2627#define PMU_SWINC_CNT12_Pos 12U
2628#define PMU_SWINC_CNT12_Msk (1UL << PMU_SWINC_CNT12_Pos)
2630#define PMU_SWINC_CNT13_Pos 13U
2631#define PMU_SWINC_CNT13_Msk (1UL << PMU_SWINC_CNT13_Pos)
2633#define PMU_SWINC_CNT14_Pos 14U
2634#define PMU_SWINC_CNT14_Msk (1UL << PMU_SWINC_CNT14_Pos)
2636#define PMU_SWINC_CNT15_Pos 15U
2637#define PMU_SWINC_CNT15_Msk (1UL << PMU_SWINC_CNT15_Pos)
2639#define PMU_SWINC_CNT16_Pos 16U
2640#define PMU_SWINC_CNT16_Msk (1UL << PMU_SWINC_CNT16_Pos)
2642#define PMU_SWINC_CNT17_Pos 17U
2643#define PMU_SWINC_CNT17_Msk (1UL << PMU_SWINC_CNT17_Pos)
2645#define PMU_SWINC_CNT18_Pos 18U
2646#define PMU_SWINC_CNT18_Msk (1UL << PMU_SWINC_CNT18_Pos)
2648#define PMU_SWINC_CNT19_Pos 19U
2649#define PMU_SWINC_CNT19_Msk (1UL << PMU_SWINC_CNT19_Pos)
2651#define PMU_SWINC_CNT20_Pos 20U
2652#define PMU_SWINC_CNT20_Msk (1UL << PMU_SWINC_CNT20_Pos)
2654#define PMU_SWINC_CNT21_Pos 21U
2655#define PMU_SWINC_CNT21_Msk (1UL << PMU_SWINC_CNT21_Pos)
2657#define PMU_SWINC_CNT22_Pos 22U
2658#define PMU_SWINC_CNT22_Msk (1UL << PMU_SWINC_CNT22_Pos)
2660#define PMU_SWINC_CNT23_Pos 23U
2661#define PMU_SWINC_CNT23_Msk (1UL << PMU_SWINC_CNT23_Pos)
2663#define PMU_SWINC_CNT24_Pos 24U
2664#define PMU_SWINC_CNT24_Msk (1UL << PMU_SWINC_CNT24_Pos)
2666#define PMU_SWINC_CNT25_Pos 25U
2667#define PMU_SWINC_CNT25_Msk (1UL << PMU_SWINC_CNT25_Pos)
2669#define PMU_SWINC_CNT26_Pos 26U
2670#define PMU_SWINC_CNT26_Msk (1UL << PMU_SWINC_CNT26_Pos)
2672#define PMU_SWINC_CNT27_Pos 27U
2673#define PMU_SWINC_CNT27_Msk (1UL << PMU_SWINC_CNT27_Pos)
2675#define PMU_SWINC_CNT28_Pos 28U
2676#define PMU_SWINC_CNT28_Msk (1UL << PMU_SWINC_CNT28_Pos)
2678#define PMU_SWINC_CNT29_Pos 29U
2679#define PMU_SWINC_CNT29_Msk (1UL << PMU_SWINC_CNT29_Pos)
2681#define PMU_SWINC_CNT30_Pos 30U
2682#define PMU_SWINC_CNT30_Msk (1UL << PMU_SWINC_CNT30_Pos)
2686#define PMU_CTRL_ENABLE_Pos 0U
2687#define PMU_CTRL_ENABLE_Msk (1UL /*<< PMU_CTRL_ENABLE_Pos*/)
2689#define PMU_CTRL_EVENTCNT_RESET_Pos 1U
2690#define PMU_CTRL_EVENTCNT_RESET_Msk (1UL << PMU_CTRL_EVENTCNT_RESET_Pos)
2692#define PMU_CTRL_CYCCNT_RESET_Pos 2U
2693#define PMU_CTRL_CYCCNT_RESET_Msk (1UL << PMU_CTRL_CYCCNT_RESET_Pos)
2695#define PMU_CTRL_CYCCNT_DISABLE_Pos 5U
2696#define PMU_CTRL_CYCCNT_DISABLE_Msk (1UL << PMU_CTRL_CYCCNT_DISABLE_Pos)
2698#define PMU_CTRL_FRZ_ON_OV_Pos 9U
2699#define PMU_CTRL_FRZ_ON_OV_Msk (1UL << PMU_CTRL_FRZ_ON_OVERFLOW_Pos)
2701#define PMU_CTRL_TRACE_ON_OV_Pos 11U
2702#define PMU_CTRL_TRACE_ON_OV_Msk (1UL << PMU_CTRL_TRACE_ON_OVERFLOW_Pos)
2706#define PMU_TYPE_NUM_CNTS_Pos 0U
2707#define PMU_TYPE_NUM_CNTS_Msk (0xFFUL /*<< PMU_TYPE_NUM_CNTS_Pos*/)
2709#define PMU_TYPE_SIZE_CNTS_Pos 8U
2710#define PMU_TYPE_SIZE_CNTS_Msk (0x3FUL << PMU_TYPE_SIZE_CNTS_Pos)
2712#define PMU_TYPE_CYCCNT_PRESENT_Pos 14U
2713#define PMU_TYPE_CYCCNT_PRESENT_Msk (1UL << PMU_TYPE_CYCCNT_PRESENT_Pos)
2715#define PMU_TYPE_FRZ_OV_SUPPORT_Pos 21U
2716#define PMU_TYPE_FRZ_OV_SUPPORT_Msk (1UL << PMU_TYPE_FRZ_OV_SUPPORT_Pos)
2718#define PMU_TYPE_TRACE_ON_OV_SUPPORT_Pos 23U
2719#define PMU_TYPE_TRACE_ON_OV_SUPPORT_Msk (1UL << PMU_TYPE_FRZ_OV_SUPPORT_Pos)
2723#define PMU_AUTHSTATUS_NSID_Pos 0U
2724#define PMU_AUTHSTATUS_NSID_Msk (0x3UL /*<< PMU_AUTHSTATUS_NSID_Pos*/)
2726#define PMU_AUTHSTATUS_NSNID_Pos 2U
2727#define PMU_AUTHSTATUS_NSNID_Msk (0x3UL << PMU_AUTHSTATUS_NSNID_Pos)
2729#define PMU_AUTHSTATUS_SID_Pos 4U
2730#define PMU_AUTHSTATUS_SID_Msk (0x3UL << PMU_AUTHSTATUS_SID_Pos)
2732#define PMU_AUTHSTATUS_SNID_Pos 6U
2733#define PMU_AUTHSTATUS_SNID_Msk (0x3UL << PMU_AUTHSTATUS_SNID_Pos)
2735#define PMU_AUTHSTATUS_NSUID_Pos 16U
2736#define PMU_AUTHSTATUS_NSUID_Msk (0x3UL << PMU_AUTHSTATUS_NSUID_Pos)
2738#define PMU_AUTHSTATUS_NSUNID_Pos 18U
2739#define PMU_AUTHSTATUS_NSUNID_Msk (0x3UL << PMU_AUTHSTATUS_NSUNID_Pos)
2741#define PMU_AUTHSTATUS_SUID_Pos 20U
2742#define PMU_AUTHSTATUS_SUID_Msk (0x3UL << PMU_AUTHSTATUS_SUID_Pos)
2744#define PMU_AUTHSTATUS_SUNID_Pos 22U
2745#define PMU_AUTHSTATUS_SUNID_Msk (0x3UL << PMU_AUTHSTATUS_SUNID_Pos)
2749#endif
2750
2751#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
2762typedef struct
2763{
2764 __IM uint32_t TYPE;
2765 __IOM uint32_t CTRL;
2766 __IOM uint32_t RNR;
2767 __IOM uint32_t RBAR;
2768 __IOM uint32_t RLAR;
2769 __IOM uint32_t RBAR_A1;
2770 __IOM uint32_t RLAR_A1;
2771 __IOM uint32_t RBAR_A2;
2772 __IOM uint32_t RLAR_A2;
2773 __IOM uint32_t RBAR_A3;
2774 __IOM uint32_t RLAR_A3;
2775 uint32_t RESERVED0[1];
2776 union {
2777 __IOM uint32_t MAIR[2];
2778 struct {
2779 __IOM uint32_t MAIR0;
2780 __IOM uint32_t MAIR1;
2781 };
2782 };
2783} MPU_Type;
2784
2785#define MPU_TYPE_RALIASES 4U
2786
2787/* MPU Type Register Definitions */
2788#define MPU_TYPE_IREGION_Pos 16U
2789#define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos)
2791#define MPU_TYPE_DREGION_Pos 8U
2792#define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos)
2794#define MPU_TYPE_SEPARATE_Pos 0U
2795#define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/)
2797/* MPU Control Register Definitions */
2798#define MPU_CTRL_PRIVDEFENA_Pos 2U
2799#define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos)
2801#define MPU_CTRL_HFNMIENA_Pos 1U
2802#define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos)
2804#define MPU_CTRL_ENABLE_Pos 0U
2805#define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/)
2807/* MPU Region Number Register Definitions */
2808#define MPU_RNR_REGION_Pos 0U
2809#define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/)
2811/* MPU Region Base Address Register Definitions */
2812#define MPU_RBAR_BASE_Pos 5U
2813#define MPU_RBAR_BASE_Msk (0x7FFFFFFUL << MPU_RBAR_BASE_Pos)
2815#define MPU_RBAR_SH_Pos 3U
2816#define MPU_RBAR_SH_Msk (0x3UL << MPU_RBAR_SH_Pos)
2818#define MPU_RBAR_AP_Pos 1U
2819#define MPU_RBAR_AP_Msk (0x3UL << MPU_RBAR_AP_Pos)
2821#define MPU_RBAR_XN_Pos 0U
2822#define MPU_RBAR_XN_Msk (01UL /*<< MPU_RBAR_XN_Pos*/)
2824/* MPU Region Limit Address Register Definitions */
2825#define MPU_RLAR_LIMIT_Pos 5U
2826#define MPU_RLAR_LIMIT_Msk (0x7FFFFFFUL << MPU_RLAR_LIMIT_Pos)
2828#define MPU_RLAR_PXN_Pos 4U
2829#define MPU_RLAR_PXN_Msk (1UL << MPU_RLAR_PXN_Pos)
2831#define MPU_RLAR_AttrIndx_Pos 1U
2832#define MPU_RLAR_AttrIndx_Msk (7UL << MPU_RLAR_AttrIndx_Pos)
2834#define MPU_RLAR_EN_Pos 0U
2835#define MPU_RLAR_EN_Msk (1UL /*<< MPU_RLAR_EN_Pos*/)
2837/* MPU Memory Attribute Indirection Register 0 Definitions */
2838#define MPU_MAIR0_Attr3_Pos 24U
2839#define MPU_MAIR0_Attr3_Msk (0xFFUL << MPU_MAIR0_Attr3_Pos)
2841#define MPU_MAIR0_Attr2_Pos 16U
2842#define MPU_MAIR0_Attr2_Msk (0xFFUL << MPU_MAIR0_Attr2_Pos)
2844#define MPU_MAIR0_Attr1_Pos 8U
2845#define MPU_MAIR0_Attr1_Msk (0xFFUL << MPU_MAIR0_Attr1_Pos)
2847#define MPU_MAIR0_Attr0_Pos 0U
2848#define MPU_MAIR0_Attr0_Msk (0xFFUL /*<< MPU_MAIR0_Attr0_Pos*/)
2850/* MPU Memory Attribute Indirection Register 1 Definitions */
2851#define MPU_MAIR1_Attr7_Pos 24U
2852#define MPU_MAIR1_Attr7_Msk (0xFFUL << MPU_MAIR1_Attr7_Pos)
2854#define MPU_MAIR1_Attr6_Pos 16U
2855#define MPU_MAIR1_Attr6_Msk (0xFFUL << MPU_MAIR1_Attr6_Pos)
2857#define MPU_MAIR1_Attr5_Pos 8U
2858#define MPU_MAIR1_Attr5_Msk (0xFFUL << MPU_MAIR1_Attr5_Pos)
2860#define MPU_MAIR1_Attr4_Pos 0U
2861#define MPU_MAIR1_Attr4_Msk (0xFFUL /*<< MPU_MAIR1_Attr4_Pos*/)
2864#endif
2865
2866
2867#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
2878typedef struct
2879{
2880 __IOM uint32_t CTRL;
2881 __IM uint32_t TYPE;
2882#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
2883 __IOM uint32_t RNR;
2884 __IOM uint32_t RBAR;
2885 __IOM uint32_t RLAR;
2886#else
2887 uint32_t RESERVED0[3];
2888#endif
2889 __IOM uint32_t SFSR;
2890 __IOM uint32_t SFAR;
2891} SAU_Type;
2892
2893/* SAU Control Register Definitions */
2894#define SAU_CTRL_ALLNS_Pos 1U
2895#define SAU_CTRL_ALLNS_Msk (1UL << SAU_CTRL_ALLNS_Pos)
2897#define SAU_CTRL_ENABLE_Pos 0U
2898#define SAU_CTRL_ENABLE_Msk (1UL /*<< SAU_CTRL_ENABLE_Pos*/)
2900/* SAU Type Register Definitions */
2901#define SAU_TYPE_SREGION_Pos 0U
2902#define SAU_TYPE_SREGION_Msk (0xFFUL /*<< SAU_TYPE_SREGION_Pos*/)
2904#if defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U)
2905/* SAU Region Number Register Definitions */
2906#define SAU_RNR_REGION_Pos 0U
2907#define SAU_RNR_REGION_Msk (0xFFUL /*<< SAU_RNR_REGION_Pos*/)
2909/* SAU Region Base Address Register Definitions */
2910#define SAU_RBAR_BADDR_Pos 5U
2911#define SAU_RBAR_BADDR_Msk (0x7FFFFFFUL << SAU_RBAR_BADDR_Pos)
2913/* SAU Region Limit Address Register Definitions */
2914#define SAU_RLAR_LADDR_Pos 5U
2915#define SAU_RLAR_LADDR_Msk (0x7FFFFFFUL << SAU_RLAR_LADDR_Pos)
2917#define SAU_RLAR_NSC_Pos 1U
2918#define SAU_RLAR_NSC_Msk (1UL << SAU_RLAR_NSC_Pos)
2920#define SAU_RLAR_ENABLE_Pos 0U
2921#define SAU_RLAR_ENABLE_Msk (1UL /*<< SAU_RLAR_ENABLE_Pos*/)
2923#endif /* defined (__SAUREGION_PRESENT) && (__SAUREGION_PRESENT == 1U) */
2924
2925/* Secure Fault Status Register Definitions */
2926#define SAU_SFSR_LSERR_Pos 7U
2927#define SAU_SFSR_LSERR_Msk (1UL << SAU_SFSR_LSERR_Pos)
2929#define SAU_SFSR_SFARVALID_Pos 6U
2930#define SAU_SFSR_SFARVALID_Msk (1UL << SAU_SFSR_SFARVALID_Pos)
2932#define SAU_SFSR_LSPERR_Pos 5U
2933#define SAU_SFSR_LSPERR_Msk (1UL << SAU_SFSR_LSPERR_Pos)
2935#define SAU_SFSR_INVTRAN_Pos 4U
2936#define SAU_SFSR_INVTRAN_Msk (1UL << SAU_SFSR_INVTRAN_Pos)
2938#define SAU_SFSR_AUVIOL_Pos 3U
2939#define SAU_SFSR_AUVIOL_Msk (1UL << SAU_SFSR_AUVIOL_Pos)
2941#define SAU_SFSR_INVER_Pos 2U
2942#define SAU_SFSR_INVER_Msk (1UL << SAU_SFSR_INVER_Pos)
2944#define SAU_SFSR_INVIS_Pos 1U
2945#define SAU_SFSR_INVIS_Msk (1UL << SAU_SFSR_INVIS_Pos)
2947#define SAU_SFSR_INVEP_Pos 0U
2948#define SAU_SFSR_INVEP_Msk (1UL /*<< SAU_SFSR_INVEP_Pos*/)
2951#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
2952
2953
2964typedef struct
2965{
2966 uint32_t RESERVED0[1U];
2967 __IOM uint32_t FPCCR;
2968 __IOM uint32_t FPCAR;
2969 __IOM uint32_t FPDSCR;
2970 __IM uint32_t MVFR0;
2971 __IM uint32_t MVFR1;
2972 __IM uint32_t MVFR2;
2973} FPU_Type;
2974
2975/* Floating-Point Context Control Register Definitions */
2976#define FPU_FPCCR_ASPEN_Pos 31U
2977#define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos)
2979#define FPU_FPCCR_LSPEN_Pos 30U
2980#define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos)
2982#define FPU_FPCCR_LSPENS_Pos 29U
2983#define FPU_FPCCR_LSPENS_Msk (1UL << FPU_FPCCR_LSPENS_Pos)
2985#define FPU_FPCCR_CLRONRET_Pos 28U
2986#define FPU_FPCCR_CLRONRET_Msk (1UL << FPU_FPCCR_CLRONRET_Pos)
2988#define FPU_FPCCR_CLRONRETS_Pos 27U
2989#define FPU_FPCCR_CLRONRETS_Msk (1UL << FPU_FPCCR_CLRONRETS_Pos)
2991#define FPU_FPCCR_TS_Pos 26U
2992#define FPU_FPCCR_TS_Msk (1UL << FPU_FPCCR_TS_Pos)
2994#define FPU_FPCCR_UFRDY_Pos 10U
2995#define FPU_FPCCR_UFRDY_Msk (1UL << FPU_FPCCR_UFRDY_Pos)
2997#define FPU_FPCCR_SPLIMVIOL_Pos 9U
2998#define FPU_FPCCR_SPLIMVIOL_Msk (1UL << FPU_FPCCR_SPLIMVIOL_Pos)
3000#define FPU_FPCCR_MONRDY_Pos 8U
3001#define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos)
3003#define FPU_FPCCR_SFRDY_Pos 7U
3004#define FPU_FPCCR_SFRDY_Msk (1UL << FPU_FPCCR_SFRDY_Pos)
3006#define FPU_FPCCR_BFRDY_Pos 6U
3007#define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos)
3009#define FPU_FPCCR_MMRDY_Pos 5U
3010#define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos)
3012#define FPU_FPCCR_HFRDY_Pos 4U
3013#define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos)
3015#define FPU_FPCCR_THREAD_Pos 3U
3016#define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos)
3018#define FPU_FPCCR_S_Pos 2U
3019#define FPU_FPCCR_S_Msk (1UL << FPU_FPCCR_S_Pos)
3021#define FPU_FPCCR_USER_Pos 1U
3022#define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos)
3024#define FPU_FPCCR_LSPACT_Pos 0U
3025#define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/)
3027/* Floating-Point Context Address Register Definitions */
3028#define FPU_FPCAR_ADDRESS_Pos 3U
3029#define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos)
3031/* Floating-Point Default Status Control Register Definitions */
3032#define FPU_FPDSCR_AHP_Pos 26U
3033#define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos)
3035#define FPU_FPDSCR_DN_Pos 25U
3036#define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos)
3038#define FPU_FPDSCR_FZ_Pos 24U
3039#define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos)
3041#define FPU_FPDSCR_RMode_Pos 22U
3042#define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos)
3044#define FPU_FPDSCR_FZ16_Pos 19U
3045#define FPU_FPDSCR_FZ16_Msk (1UL << FPU_FPDSCR_FZ16_Pos)
3047#define FPU_FPDSCR_LTPSIZE_Pos 16U
3048#define FPU_FPDSCR_LTPSIZE_Msk (7UL << FPU_FPDSCR_LTPSIZE_Pos)
3050/* Media and VFP Feature Register 0 Definitions */
3051#define FPU_MVFR0_FPRound_Pos 28U
3052#define FPU_MVFR0_FPRound_Msk (0xFUL << FPU_MVFR0_FPRound_Pos)
3054#define FPU_MVFR0_FPSqrt_Pos 20U
3055#define FPU_MVFR0_FPSqrt_Msk (0xFUL << FPU_MVFR0_FPSqrt_Pos)
3057#define FPU_MVFR0_FPDivide_Pos 16U
3058#define FPU_MVFR0_FPDivide_Msk (0xFUL << FPU_MVFR0_FPDivide_Pos)
3060#define FPU_MVFR0_FPDP_Pos 8U
3061#define FPU_MVFR0_FPDP_Msk (0xFUL << FPU_MVFR0_FPDP_Pos)
3063#define FPU_MVFR0_FPSP_Pos 4U
3064#define FPU_MVFR0_FPSP_Msk (0xFUL << FPU_MVFR0_FPSP_Pos)
3066#define FPU_MVFR0_SIMDReg_Pos 0U
3067#define FPU_MVFR0_SIMDReg_Msk (0xFUL /*<< FPU_MVFR0_SIMDReg_Pos*/)
3069/* Media and VFP Feature Register 1 Definitions */
3070#define FPU_MVFR1_FMAC_Pos 28U
3071#define FPU_MVFR1_FMAC_Msk (0xFUL << FPU_MVFR1_FMAC_Pos)
3073#define FPU_MVFR1_FPHP_Pos 24U
3074#define FPU_MVFR1_FPHP_Msk (0xFUL << FPU_MVFR1_FPHP_Pos)
3076#define FPU_MVFR1_FP16_Pos 20U
3077#define FPU_MVFR1_FP16_Msk (0xFUL << FPU_MVFR1_FP16_Pos)
3079#define FPU_MVFR1_MVE_Pos 8U
3080#define FPU_MVFR1_MVE_Msk (0xFUL << FPU_MVFR1_MVE_Pos)
3082#define FPU_MVFR1_FPDNaN_Pos 4U
3083#define FPU_MVFR1_FPDNaN_Msk (0xFUL << FPU_MVFR1_FPDNaN_Pos)
3085#define FPU_MVFR1_FPFtZ_Pos 0U
3086#define FPU_MVFR1_FPFtZ_Msk (0xFUL /*<< FPU_MVFR1_FPFtZ_Pos*/)
3088/* Media and VFP Feature Register 2 Definitions */
3089#define FPU_MVFR2_FPMisc_Pos 4U
3090#define FPU_MVFR2_FPMisc_Msk (0xFUL << FPU_MVFR2_FPMisc_Pos)
3094/* CoreDebug is deprecated. replaced by DCB (Debug Control Block) */
3105typedef struct
3106{
3107 __IOM uint32_t DHCSR;
3108 __OM uint32_t DCRSR;
3109 __IOM uint32_t DCRDR;
3110 __IOM uint32_t DEMCR;
3111 __OM uint32_t DSCEMCR;
3112 __IOM uint32_t DAUTHCTRL;
3113 __IOM uint32_t DSCSR;
3115
3116/* Debug Halting Control and Status Register Definitions */
3117#define CoreDebug_DHCSR_DBGKEY_Pos 16U
3118#define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos)
3120#define CoreDebug_DHCSR_S_RESTART_ST_Pos 26U
3121#define CoreDebug_DHCSR_S_RESTART_ST_Msk (1UL << CoreDebug_DHCSR_S_RESTART_ST_Pos)
3123#define CoreDebug_DHCSR_S_RESET_ST_Pos 25U
3124#define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos)
3126#define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U
3127#define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos)
3129#define CoreDebug_DHCSR_S_FPD_Pos 23U
3130#define CoreDebug_DHCSR_S_FPD_Msk (1UL << CoreDebug_DHCSR_S_FPD_Pos)
3132#define CoreDebug_DHCSR_S_SUIDE_Pos 22U
3133#define CoreDebug_DHCSR_S_SUIDE_Msk (1UL << CoreDebug_DHCSR_S_SUIDE_Pos)
3135#define CoreDebug_DHCSR_S_NSUIDE_Pos 21U
3136#define CoreDebug_DHCSR_S_NSUIDE_Msk (1UL << CoreDebug_DHCSR_S_NSUIDE_Pos)
3138#define CoreDebug_DHCSR_S_SDE_Pos 20U
3139#define CoreDebug_DHCSR_S_SDE_Msk (1UL << CoreDebug_DHCSR_S_SDE_Pos)
3141#define CoreDebug_DHCSR_S_LOCKUP_Pos 19U
3142#define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos)
3144#define CoreDebug_DHCSR_S_SLEEP_Pos 18U
3145#define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos)
3147#define CoreDebug_DHCSR_S_HALT_Pos 17U
3148#define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos)
3150#define CoreDebug_DHCSR_S_REGRDY_Pos 16U
3151#define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos)
3153#define CoreDebug_DHCSR_C_PMOV_Pos 6U
3154#define CoreDebug_DHCSR_C_PMOV_Msk (1UL << CoreDebug_DHCSR_C_PMOV_Pos)
3156#define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U
3157#define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos)
3159#define CoreDebug_DHCSR_C_MASKINTS_Pos 3U
3160#define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos)
3162#define CoreDebug_DHCSR_C_STEP_Pos 2U
3163#define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos)
3165#define CoreDebug_DHCSR_C_HALT_Pos 1U
3166#define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos)
3168#define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U
3169#define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/)
3171/* Debug Core Register Selector Register Definitions */
3172#define CoreDebug_DCRSR_REGWnR_Pos 16U
3173#define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos)
3175#define CoreDebug_DCRSR_REGSEL_Pos 0U
3176#define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/)
3178/* Debug Exception and Monitor Control Register Definitions */
3179#define CoreDebug_DEMCR_TRCENA_Pos 24U
3180#define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos)
3182#define CoreDebug_DEMCR_MON_REQ_Pos 19U
3183#define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos)
3185#define CoreDebug_DEMCR_MON_STEP_Pos 18U
3186#define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos)
3188#define CoreDebug_DEMCR_MON_PEND_Pos 17U
3189#define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos)
3191#define CoreDebug_DEMCR_MON_EN_Pos 16U
3192#define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos)
3194#define CoreDebug_DEMCR_VC_HARDERR_Pos 10U
3195#define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos)
3197#define CoreDebug_DEMCR_VC_INTERR_Pos 9U
3198#define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos)
3200#define CoreDebug_DEMCR_VC_BUSERR_Pos 8U
3201#define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos)
3203#define CoreDebug_DEMCR_VC_STATERR_Pos 7U
3204#define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos)
3206#define CoreDebug_DEMCR_VC_CHKERR_Pos 6U
3207#define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos)
3209#define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U
3210#define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos)
3212#define CoreDebug_DEMCR_VC_MMERR_Pos 4U
3213#define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos)
3215#define CoreDebug_DEMCR_VC_CORERESET_Pos 0U
3216#define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/)
3218/* Debug Set Clear Exception and Monitor Control Register Definitions */
3219#define CoreDebug_DSCEMCR_CLR_MON_REQ_Pos 19U
3220#define CoreDebug_DSCEMCR_CLR_MON_REQ_Msk (1UL << CoreDebug_DSCEMCR_CLR_MON_REQ_Pos)
3222#define CoreDebug_DSCEMCR_CLR_MON_PEND_Pos 17U
3223#define CoreDebug_DSCEMCR_CLR_MON_PEND_Msk (1UL << CoreDebug_DSCEMCR_CLR_MON_PEND_Pos)
3225#define CoreDebug_DSCEMCR_SET_MON_REQ_Pos 3U
3226#define CoreDebug_DSCEMCR_SET_MON_REQ_Msk (1UL << CoreDebug_DSCEMCR_SET_MON_REQ_Pos)
3228#define CoreDebug_DSCEMCR_SET_MON_PEND_Pos 1U
3229#define CoreDebug_DSCEMCR_SET_MON_PEND_Msk (1UL << CoreDebug_DSCEMCR_SET_MON_PEND_Pos)
3231/* Debug Authentication Control Register Definitions */
3232#define CoreDebug_DAUTHCTRL_UIDEN_Pos 10U
3233#define CoreDebug_DAUTHCTRL_UIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_UIDEN_Pos)
3235#define CoreDebug_DAUTHCTRL_UIDAPEN_Pos 9U
3236#define CoreDebug_DAUTHCTRL_UIDAPEN_Msk (1UL << CoreDebug_DAUTHCTRL_UIDAPEN_Pos)
3238#define CoreDebug_DAUTHCTRL_FSDMA_Pos 8U
3239#define CoreDebug_DAUTHCTRL_FSDMA_Msk (1UL << CoreDebug_DAUTHCTRL_FSDMA_Pos)
3241#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos 3U
3242#define CoreDebug_DAUTHCTRL_INTSPNIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPNIDEN_Pos)
3244#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos 2U
3245#define CoreDebug_DAUTHCTRL_SPNIDENSEL_Msk (1UL << CoreDebug_DAUTHCTRL_SPNIDENSEL_Pos)
3247#define CoreDebug_DAUTHCTRL_INTSPIDEN_Pos 1U
3248#define CoreDebug_DAUTHCTRL_INTSPIDEN_Msk (1UL << CoreDebug_DAUTHCTRL_INTSPIDEN_Pos)
3250#define CoreDebug_DAUTHCTRL_SPIDENSEL_Pos 0U
3251#define CoreDebug_DAUTHCTRL_SPIDENSEL_Msk (1UL /*<< CoreDebug_DAUTHCTRL_SPIDENSEL_Pos*/)
3253/* Debug Security Control and Status Register Definitions */
3254#define CoreDebug_DSCSR_CDS_Pos 16U
3255#define CoreDebug_DSCSR_CDS_Msk (1UL << CoreDebug_DSCSR_CDS_Pos)
3257#define CoreDebug_DSCSR_SBRSEL_Pos 1U
3258#define CoreDebug_DSCSR_SBRSEL_Msk (1UL << CoreDebug_DSCSR_SBRSEL_Pos)
3260#define CoreDebug_DSCSR_SBRSELEN_Pos 0U
3261#define CoreDebug_DSCSR_SBRSELEN_Msk (1UL /*<< CoreDebug_DSCSR_SBRSELEN_Pos*/)
3276typedef struct
3277{
3278 __IOM uint32_t DHCSR;
3279 __OM uint32_t DCRSR;
3280 __IOM uint32_t DCRDR;
3281 __IOM uint32_t DEMCR;
3282 __OM uint32_t DSCEMCR;
3283 __IOM uint32_t DAUTHCTRL;
3284 __IOM uint32_t DSCSR;
3285} DCB_Type;
3286
3287/* DHCSR, Debug Halting Control and Status Register Definitions */
3288#define DCB_DHCSR_DBGKEY_Pos 16U
3289#define DCB_DHCSR_DBGKEY_Msk (0xFFFFUL << DCB_DHCSR_DBGKEY_Pos)
3291#define DCB_DHCSR_S_RESTART_ST_Pos 26U
3292#define DCB_DHCSR_S_RESTART_ST_Msk (0x1UL << DCB_DHCSR_S_RESTART_ST_Pos)
3294#define DCB_DHCSR_S_RESET_ST_Pos 25U
3295#define DCB_DHCSR_S_RESET_ST_Msk (0x1UL << DCB_DHCSR_S_RESET_ST_Pos)
3297#define DCB_DHCSR_S_RETIRE_ST_Pos 24U
3298#define DCB_DHCSR_S_RETIRE_ST_Msk (0x1UL << DCB_DHCSR_S_RETIRE_ST_Pos)
3300#define DCB_DHCSR_S_FPD_Pos 23U
3301#define DCB_DHCSR_S_FPD_Msk (0x1UL << DCB_DHCSR_S_FPD_Pos)
3303#define DCB_DHCSR_S_SUIDE_Pos 22U
3304#define DCB_DHCSR_S_SUIDE_Msk (0x1UL << DCB_DHCSR_S_SUIDE_Pos)
3306#define DCB_DHCSR_S_NSUIDE_Pos 21U
3307#define DCB_DHCSR_S_NSUIDE_Msk (0x1UL << DCB_DHCSR_S_NSUIDE_Pos)
3309#define DCB_DHCSR_S_SDE_Pos 20U
3310#define DCB_DHCSR_S_SDE_Msk (0x1UL << DCB_DHCSR_S_SDE_Pos)
3312#define DCB_DHCSR_S_LOCKUP_Pos 19U
3313#define DCB_DHCSR_S_LOCKUP_Msk (0x1UL << DCB_DHCSR_S_LOCKUP_Pos)
3315#define DCB_DHCSR_S_SLEEP_Pos 18U
3316#define DCB_DHCSR_S_SLEEP_Msk (0x1UL << DCB_DHCSR_S_SLEEP_Pos)
3318#define DCB_DHCSR_S_HALT_Pos 17U
3319#define DCB_DHCSR_S_HALT_Msk (0x1UL << DCB_DHCSR_S_HALT_Pos)
3321#define DCB_DHCSR_S_REGRDY_Pos 16U
3322#define DCB_DHCSR_S_REGRDY_Msk (0x1UL << DCB_DHCSR_S_REGRDY_Pos)
3324#define DCB_DHCSR_C_PMOV_Pos 6U
3325#define DCB_DHCSR_C_PMOV_Msk (0x1UL << DCB_DHCSR_C_PMOV_Pos)
3327#define DCB_DHCSR_C_SNAPSTALL_Pos 5U
3328#define DCB_DHCSR_C_SNAPSTALL_Msk (0x1UL << DCB_DHCSR_C_SNAPSTALL_Pos)
3330#define DCB_DHCSR_C_MASKINTS_Pos 3U
3331#define DCB_DHCSR_C_MASKINTS_Msk (0x1UL << DCB_DHCSR_C_MASKINTS_Pos)
3333#define DCB_DHCSR_C_STEP_Pos 2U
3334#define DCB_DHCSR_C_STEP_Msk (0x1UL << DCB_DHCSR_C_STEP_Pos)
3336#define DCB_DHCSR_C_HALT_Pos 1U
3337#define DCB_DHCSR_C_HALT_Msk (0x1UL << DCB_DHCSR_C_HALT_Pos)
3339#define DCB_DHCSR_C_DEBUGEN_Pos 0U
3340#define DCB_DHCSR_C_DEBUGEN_Msk (0x1UL /*<< DCB_DHCSR_C_DEBUGEN_Pos*/)
3342/* DCRSR, Debug Core Register Select Register Definitions */
3343#define DCB_DCRSR_REGWnR_Pos 16U
3344#define DCB_DCRSR_REGWnR_Msk (0x1UL << DCB_DCRSR_REGWnR_Pos)
3346#define DCB_DCRSR_REGSEL_Pos 0U
3347#define DCB_DCRSR_REGSEL_Msk (0x7FUL /*<< DCB_DCRSR_REGSEL_Pos*/)
3349/* DCRDR, Debug Core Register Data Register Definitions */
3350#define DCB_DCRDR_DBGTMP_Pos 0U
3351#define DCB_DCRDR_DBGTMP_Msk (0xFFFFFFFFUL /*<< DCB_DCRDR_DBGTMP_Pos*/)
3353/* DEMCR, Debug Exception and Monitor Control Register Definitions */
3354#define DCB_DEMCR_TRCENA_Pos 24U
3355#define DCB_DEMCR_TRCENA_Msk (0x1UL << DCB_DEMCR_TRCENA_Pos)
3357#define DCB_DEMCR_MONPRKEY_Pos 23U
3358#define DCB_DEMCR_MONPRKEY_Msk (0x1UL << DCB_DEMCR_MONPRKEY_Pos)
3360#define DCB_DEMCR_UMON_EN_Pos 21U
3361#define DCB_DEMCR_UMON_EN_Msk (0x1UL << DCB_DEMCR_UMON_EN_Pos)
3363#define DCB_DEMCR_SDME_Pos 20U
3364#define DCB_DEMCR_SDME_Msk (0x1UL << DCB_DEMCR_SDME_Pos)
3366#define DCB_DEMCR_MON_REQ_Pos 19U
3367#define DCB_DEMCR_MON_REQ_Msk (0x1UL << DCB_DEMCR_MON_REQ_Pos)
3369#define DCB_DEMCR_MON_STEP_Pos 18U
3370#define DCB_DEMCR_MON_STEP_Msk (0x1UL << DCB_DEMCR_MON_STEP_Pos)
3372#define DCB_DEMCR_MON_PEND_Pos 17U
3373#define DCB_DEMCR_MON_PEND_Msk (0x1UL << DCB_DEMCR_MON_PEND_Pos)
3375#define DCB_DEMCR_MON_EN_Pos 16U
3376#define DCB_DEMCR_MON_EN_Msk (0x1UL << DCB_DEMCR_MON_EN_Pos)
3378#define DCB_DEMCR_VC_SFERR_Pos 11U
3379#define DCB_DEMCR_VC_SFERR_Msk (0x1UL << DCB_DEMCR_VC_SFERR_Pos)
3381#define DCB_DEMCR_VC_HARDERR_Pos 10U
3382#define DCB_DEMCR_VC_HARDERR_Msk (0x1UL << DCB_DEMCR_VC_HARDERR_Pos)
3384#define DCB_DEMCR_VC_INTERR_Pos 9U
3385#define DCB_DEMCR_VC_INTERR_Msk (0x1UL << DCB_DEMCR_VC_INTERR_Pos)
3387#define DCB_DEMCR_VC_BUSERR_Pos 8U
3388#define DCB_DEMCR_VC_BUSERR_Msk (0x1UL << DCB_DEMCR_VC_BUSERR_Pos)
3390#define DCB_DEMCR_VC_STATERR_Pos 7U
3391#define DCB_DEMCR_VC_STATERR_Msk (0x1UL << DCB_DEMCR_VC_STATERR_Pos)
3393#define DCB_DEMCR_VC_CHKERR_Pos 6U
3394#define DCB_DEMCR_VC_CHKERR_Msk (0x1UL << DCB_DEMCR_VC_CHKERR_Pos)
3396#define DCB_DEMCR_VC_NOCPERR_Pos 5U
3397#define DCB_DEMCR_VC_NOCPERR_Msk (0x1UL << DCB_DEMCR_VC_NOCPERR_Pos)
3399#define DCB_DEMCR_VC_MMERR_Pos 4U
3400#define DCB_DEMCR_VC_MMERR_Msk (0x1UL << DCB_DEMCR_VC_MMERR_Pos)
3402#define DCB_DEMCR_VC_CORERESET_Pos 0U
3403#define DCB_DEMCR_VC_CORERESET_Msk (0x1UL /*<< DCB_DEMCR_VC_CORERESET_Pos*/)
3405/* DSCEMCR, Debug Set Clear Exception and Monitor Control Register Definitions */
3406#define DCB_DSCEMCR_CLR_MON_REQ_Pos 19U
3407#define DCB_DSCEMCR_CLR_MON_REQ_Msk (0x1UL << DCB_DSCEMCR_CLR_MON_REQ_Pos)
3409#define DCB_DSCEMCR_CLR_MON_PEND_Pos 17U
3410#define DCB_DSCEMCR_CLR_MON_PEND_Msk (0x1UL << DCB_DSCEMCR_CLR_MON_PEND_Pos)
3412#define DCB_DSCEMCR_SET_MON_REQ_Pos 3U
3413#define DCB_DSCEMCR_SET_MON_REQ_Msk (0x1UL << DCB_DSCEMCR_SET_MON_REQ_Pos)
3415#define DCB_DSCEMCR_SET_MON_PEND_Pos 1U
3416#define DCB_DSCEMCR_SET_MON_PEND_Msk (0x1UL << DCB_DSCEMCR_SET_MON_PEND_Pos)
3418/* DAUTHCTRL, Debug Authentication Control Register Definitions */
3419#define DCB_DAUTHCTRL_UIDEN_Pos 10U
3420#define DCB_DAUTHCTRL_UIDEN_Msk (0x1UL << DCB_DAUTHCTRL_UIDEN_Pos)
3422#define DCB_DAUTHCTRL_UIDAPEN_Pos 9U
3423#define DCB_DAUTHCTRL_UIDAPEN_Msk (0x1UL << DCB_DAUTHCTRL_UIDAPEN_Pos)
3425#define DCB_DAUTHCTRL_FSDMA_Pos 8U
3426#define DCB_DAUTHCTRL_FSDMA_Msk (0x1UL << DCB_DAUTHCTRL_FSDMA_Pos)
3428#define DCB_DAUTHCTRL_INTSPNIDEN_Pos 3U
3429#define DCB_DAUTHCTRL_INTSPNIDEN_Msk (0x1UL << DCB_DAUTHCTRL_INTSPNIDEN_Pos)
3431#define DCB_DAUTHCTRL_SPNIDENSEL_Pos 2U
3432#define DCB_DAUTHCTRL_SPNIDENSEL_Msk (0x1UL << DCB_DAUTHCTRL_SPNIDENSEL_Pos)
3434#define DCB_DAUTHCTRL_INTSPIDEN_Pos 1U
3435#define DCB_DAUTHCTRL_INTSPIDEN_Msk (0x1UL << DCB_DAUTHCTRL_INTSPIDEN_Pos)
3437#define DCB_DAUTHCTRL_SPIDENSEL_Pos 0U
3438#define DCB_DAUTHCTRL_SPIDENSEL_Msk (0x1UL /*<< DCB_DAUTHCTRL_SPIDENSEL_Pos*/)
3440/* DSCSR, Debug Security Control and Status Register Definitions */
3441#define DCB_DSCSR_CDSKEY_Pos 17U
3442#define DCB_DSCSR_CDSKEY_Msk (0x1UL << DCB_DSCSR_CDSKEY_Pos)
3444#define DCB_DSCSR_CDS_Pos 16U
3445#define DCB_DSCSR_CDS_Msk (0x1UL << DCB_DSCSR_CDS_Pos)
3447#define DCB_DSCSR_SBRSEL_Pos 1U
3448#define DCB_DSCSR_SBRSEL_Msk (0x1UL << DCB_DSCSR_SBRSEL_Pos)
3450#define DCB_DSCSR_SBRSELEN_Pos 0U
3451#define DCB_DSCSR_SBRSELEN_Msk (0x1UL /*<< DCB_DSCSR_SBRSELEN_Pos*/)
3467typedef struct
3468{
3469 uint32_t RESERVED0[2U];
3470 __IM uint32_t DAUTHSTATUS;
3471 __IM uint32_t DDEVARCH;
3472 uint32_t RESERVED1[3U];
3473 __IM uint32_t DDEVTYPE;
3474} DIB_Type;
3475
3476/* DAUTHSTATUS, Debug Authentication Status Register Definitions */
3477#define DIB_DAUTHSTATUS_SUNID_Pos 22U
3478#define DIB_DAUTHSTATUS_SUNID_Msk (0x3UL << DIB_DAUTHSTATUS_SUNID_Pos )
3480#define DIB_DAUTHSTATUS_SUID_Pos 20U
3481#define DIB_DAUTHSTATUS_SUID_Msk (0x3UL << DIB_DAUTHSTATUS_SUID_Pos )
3483#define DIB_DAUTHSTATUS_NSUNID_Pos 18U
3484#define DIB_DAUTHSTATUS_NSUNID_Msk (0x3UL << DIB_DAUTHSTATUS_NSUNID_Pos )
3486#define DIB_DAUTHSTATUS_NSUID_Pos 16U
3487#define DIB_DAUTHSTATUS_NSUID_Msk (0x3UL << DIB_DAUTHSTATUS_NSUID_Pos )
3489#define DIB_DAUTHSTATUS_SNID_Pos 6U
3490#define DIB_DAUTHSTATUS_SNID_Msk (0x3UL << DIB_DAUTHSTATUS_SNID_Pos )
3492#define DIB_DAUTHSTATUS_SID_Pos 4U
3493#define DIB_DAUTHSTATUS_SID_Msk (0x3UL << DIB_DAUTHSTATUS_SID_Pos )
3495#define DIB_DAUTHSTATUS_NSNID_Pos 2U
3496#define DIB_DAUTHSTATUS_NSNID_Msk (0x3UL << DIB_DAUTHSTATUS_NSNID_Pos )
3498#define DIB_DAUTHSTATUS_NSID_Pos 0U
3499#define DIB_DAUTHSTATUS_NSID_Msk (0x3UL /*<< DIB_DAUTHSTATUS_NSID_Pos*/)
3501/* DDEVARCH, SCS Device Architecture Register Definitions */
3502#define DIB_DDEVARCH_ARCHITECT_Pos 21U
3503#define DIB_DDEVARCH_ARCHITECT_Msk (0x7FFUL << DIB_DDEVARCH_ARCHITECT_Pos )
3505#define DIB_DDEVARCH_PRESENT_Pos 20U
3506#define DIB_DDEVARCH_PRESENT_Msk (0x1FUL << DIB_DDEVARCH_PRESENT_Pos )
3508#define DIB_DDEVARCH_REVISION_Pos 16U
3509#define DIB_DDEVARCH_REVISION_Msk (0xFUL << DIB_DDEVARCH_REVISION_Pos )
3511#define DIB_DDEVARCH_ARCHVER_Pos 12U
3512#define DIB_DDEVARCH_ARCHVER_Msk (0xFUL << DIB_DDEVARCH_ARCHVER_Pos )
3514#define DIB_DDEVARCH_ARCHPART_Pos 0U
3515#define DIB_DDEVARCH_ARCHPART_Msk (0xFFFUL /*<< DIB_DDEVARCH_ARCHPART_Pos*/)
3517/* DDEVTYPE, SCS Device Type Register Definitions */
3518#define DIB_DDEVTYPE_SUB_Pos 4U
3519#define DIB_DDEVTYPE_SUB_Msk (0xFUL << DIB_DDEVTYPE_SUB_Pos )
3521#define DIB_DDEVTYPE_MAJOR_Pos 0U
3522#define DIB_DDEVTYPE_MAJOR_Msk (0xFUL /*<< DIB_DDEVTYPE_MAJOR_Pos*/)
3541#define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)
3542
3549#define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)
3550
3561/* Memory mapping of Core Hardware */
3562 #define SCS_BASE (0xE000E000UL)
3563 #define ITM_BASE (0xE0000000UL)
3564 #define DWT_BASE (0xE0001000UL)
3565 #define MEMSYSCTL_BASE (0xE001E000UL)
3566 #define ERRBNK_BASE (0xE001E100UL)
3567 #define PWRMODCTL_BASE (0xE001E300UL)
3568 #define EWIC_ISA_BASE (0xE001E400UL)
3569 #define PRCCFGINF_BASE (0xE001E700UL)
3570 #define TPI_BASE (0xE0040000UL)
3571 #define EWIC_BASE (0xE0047000UL)
3572 #define CoreDebug_BASE (0xE000EDF0UL)
3573 #define DCB_BASE (0xE000EDF0UL)
3574 #define DIB_BASE (0xE000EFB0UL)
3575 #define SysTick_BASE (SCS_BASE + 0x0010UL)
3576 #define NVIC_BASE (SCS_BASE + 0x0100UL)
3577 #define SCB_BASE (SCS_BASE + 0x0D00UL)
3579 #define ICB ((ICB_Type *) SCS_BASE )
3580 #define SCB ((SCB_Type *) SCB_BASE )
3581 #define SysTick ((SysTick_Type *) SysTick_BASE )
3582 #define NVIC ((NVIC_Type *) NVIC_BASE )
3583 #define ITM ((ITM_Type *) ITM_BASE )
3584 #define DWT ((DWT_Type *) DWT_BASE )
3585 #define TPI ((TPI_Type *) TPI_BASE )
3586 #define MEMSYSCTL ((MemSysCtl_Type *) MEMSYSCTL_BASE )
3587 #define ERRBNK ((ErrBnk_Type *) ERRBNK_BASE )
3588 #define PWRMODCTL ((PwrModCtl_Type *) PWRMODCTL_BASE )
3589 #define EWIC_ISA ((EWIC_ISA_Type *) EWIC_ISA_BASE )
3590 #define EWIC ((EWIC_Type *) EWIC_BASE )
3591 #define PRCCFGINF ((PrcCfgInf_Type *) PRCCFGINF_BASE )
3592 #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE )
3593 #define DCB ((DCB_Type *) DCB_BASE )
3594 #define DIB ((DIB_Type *) DIB_BASE )
3596 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
3597 #define MPU_BASE (SCS_BASE + 0x0D90UL)
3598 #define MPU ((MPU_Type *) MPU_BASE )
3599 #endif
3600
3601 #if defined (__PMU_PRESENT) && (__PMU_PRESENT == 1U)
3602 #define PMU_BASE (0xE0003000UL)
3603 #define PMU ((PMU_Type *) PMU_BASE )
3604 #endif
3605
3606 #if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
3607 #define SAU_BASE (SCS_BASE + 0x0DD0UL)
3608 #define SAU ((SAU_Type *) SAU_BASE )
3609 #endif
3610
3611 #define FPU_BASE (SCS_BASE + 0x0F30UL)
3612 #define FPU ((FPU_Type *) FPU_BASE )
3614#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
3615 #define SCS_BASE_NS (0xE002E000UL)
3616 #define CoreDebug_BASE_NS (0xE002EDF0UL)
3617 #define DCB_BASE_NS (0xE002EDF0UL)
3618 #define DIB_BASE_NS (0xE002EFB0UL)
3619 #define SysTick_BASE_NS (SCS_BASE_NS + 0x0010UL)
3620 #define NVIC_BASE_NS (SCS_BASE_NS + 0x0100UL)
3621 #define SCB_BASE_NS (SCS_BASE_NS + 0x0D00UL)
3623 #define ICB_NS ((ICB_Type *) SCS_BASE_NS )
3624 #define SCB_NS ((SCB_Type *) SCB_BASE_NS )
3625 #define SysTick_NS ((SysTick_Type *) SysTick_BASE_NS )
3626 #define NVIC_NS ((NVIC_Type *) NVIC_BASE_NS )
3627 #define CoreDebug_NS ((CoreDebug_Type *) CoreDebug_BASE_NS)
3628 #define DCB_NS ((DCB_Type *) DCB_BASE_NS )
3629 #define DIB_NS ((DIB_Type *) DIB_BASE_NS )
3631 #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
3632 #define MPU_BASE_NS (SCS_BASE_NS + 0x0D90UL)
3633 #define MPU_NS ((MPU_Type *) MPU_BASE_NS )
3634 #endif
3635
3636 #define FPU_BASE_NS (SCS_BASE_NS + 0x0F30UL)
3637 #define FPU_NS ((FPU_Type *) FPU_BASE_NS )
3639#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
3653/*******************************************************************************
3654 * Hardware Abstraction Layer
3655 Core Function Interface contains:
3656 - Core NVIC Functions
3657 - Core SysTick Functions
3658 - Core Debug Functions
3659 - Core Register Access Functions
3660 ******************************************************************************/
3667/* ########################## NVIC functions #################################### */
3675#ifdef CMSIS_NVIC_VIRTUAL
3676 #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
3677 #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
3678 #endif
3679 #include CMSIS_NVIC_VIRTUAL_HEADER_FILE
3680#else
3681 #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping
3682 #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping
3683 #define NVIC_EnableIRQ __NVIC_EnableIRQ
3684 #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
3685 #define NVIC_DisableIRQ __NVIC_DisableIRQ
3686 #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
3687 #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
3688 #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
3689 #define NVIC_GetActive __NVIC_GetActive
3690 #define NVIC_SetPriority __NVIC_SetPriority
3691 #define NVIC_GetPriority __NVIC_GetPriority
3692 #define NVIC_SystemReset __NVIC_SystemReset
3693#endif /* CMSIS_NVIC_VIRTUAL */
3694
3695#ifdef CMSIS_VECTAB_VIRTUAL
3696 #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
3697 #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
3698 #endif
3699 #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
3700#else
3701 #define NVIC_SetVector __NVIC_SetVector
3702 #define NVIC_GetVector __NVIC_GetVector
3703#endif /* (CMSIS_VECTAB_VIRTUAL) */
3704
3705#define NVIC_USER_IRQ_OFFSET 16
3706
3707
3708/* Special LR values for Secure/Non-Secure call handling and exception handling */
3709
3710/* Function Return Payload (from ARMv8-M Architecture Reference Manual) LR value on entry from Secure BLXNS */
3711#define FNC_RETURN (0xFEFFFFFFUL) /* bit [0] ignored when processing a branch */
3712
3713/* The following EXC_RETURN mask values are used to evaluate the LR on exception entry */
3714#define EXC_RETURN_PREFIX (0xFF000000UL) /* bits [31:24] set to indicate an EXC_RETURN value */
3715#define EXC_RETURN_S (0x00000040UL) /* bit [6] stack used to push registers: 0=Non-secure 1=Secure */
3716#define EXC_RETURN_DCRS (0x00000020UL) /* bit [5] stacking rules for called registers: 0=skipped 1=saved */
3717#define EXC_RETURN_FTYPE (0x00000010UL) /* bit [4] allocate stack for floating-point context: 0=done 1=skipped */
3718#define EXC_RETURN_MODE (0x00000008UL) /* bit [3] processor mode for return: 0=Handler mode 1=Thread mode */
3719#define EXC_RETURN_SPSEL (0x00000004UL) /* bit [2] stack pointer used to restore context: 0=MSP 1=PSP */
3720#define EXC_RETURN_ES (0x00000001UL) /* bit [0] security state exception was taken to: 0=Non-secure 1=Secure */
3721
3722/* Integrity Signature (from ARMv8-M Architecture Reference Manual) for exception context stacking */
3723#if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U) /* Value for processors with floating-point extension: */
3724#define EXC_INTEGRITY_SIGNATURE (0xFEFA125AUL) /* bit [0] SFTC must match LR bit[4] EXC_RETURN_FTYPE */
3725#else
3726#define EXC_INTEGRITY_SIGNATURE (0xFEFA125BUL) /* Value for processors without floating-point extension */
3727#endif
3728
3729
3739__STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
3740{
3741 uint32_t reg_value;
3742 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
3743
3744 reg_value = SCB->AIRCR; /* read old register configuration */
3745 reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */
3746 reg_value = (reg_value |
3747 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
3748 (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */
3749 SCB->AIRCR = reg_value;
3750}
3751
3752
3758__STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
3759{
3760 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
3761}
3762
3763
3770__STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
3771{
3772 if ((int32_t)(IRQn) >= 0)
3773 {
3774 __COMPILER_BARRIER();
3775 NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
3776 __COMPILER_BARRIER();
3777 }
3778}
3779
3780
3789__STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
3790{
3791 if ((int32_t)(IRQn) >= 0)
3792 {
3793 return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
3794 }
3795 else
3796 {
3797 return(0U);
3798 }
3799}
3800
3801
3808__STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
3809{
3810 if ((int32_t)(IRQn) >= 0)
3811 {
3812 NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
3813 __DSB();
3814 __ISB();
3815 }
3816}
3817
3818
3827__STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
3828{
3829 if ((int32_t)(IRQn) >= 0)
3830 {
3831 return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
3832 }
3833 else
3834 {
3835 return(0U);
3836 }
3837}
3838
3839
3846__STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
3847{
3848 if ((int32_t)(IRQn) >= 0)
3849 {
3850 NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
3851 }
3852}
3853
3854
3861__STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
3862{
3863 if ((int32_t)(IRQn) >= 0)
3864 {
3865 NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
3866 }
3867}
3868
3869
3878__STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
3879{
3880 if ((int32_t)(IRQn) >= 0)
3881 {
3882 return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
3883 }
3884 else
3885 {
3886 return(0U);
3887 }
3888}
3889
3890
3891#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
3900__STATIC_INLINE uint32_t NVIC_GetTargetState(IRQn_Type IRQn)
3901{
3902 if ((int32_t)(IRQn) >= 0)
3903 {
3904 return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
3905 }
3906 else
3907 {
3908 return(0U);
3909 }
3910}
3911
3912
3921__STATIC_INLINE uint32_t NVIC_SetTargetState(IRQn_Type IRQn)
3922{
3923 if ((int32_t)(IRQn) >= 0)
3924 {
3925 NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] |= ((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)));
3926 return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
3927 }
3928 else
3929 {
3930 return(0U);
3931 }
3932}
3933
3934
3943__STATIC_INLINE uint32_t NVIC_ClearTargetState(IRQn_Type IRQn)
3944{
3945 if ((int32_t)(IRQn) >= 0)
3946 {
3947 NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] &= ~((uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)));
3948 return((uint32_t)(((NVIC->ITNS[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
3949 }
3950 else
3951 {
3952 return(0U);
3953 }
3954}
3955#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
3956
3957
3967__STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
3968{
3969 if ((int32_t)(IRQn) >= 0)
3970 {
3971 NVIC->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
3972 }
3973 else
3974 {
3975 SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
3976 }
3977}
3978
3979
3989__STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
3990{
3991
3992 if ((int32_t)(IRQn) >= 0)
3993 {
3994 return(((uint32_t)NVIC->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS)));
3995 }
3996 else
3997 {
3998 return(((uint32_t)SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS)));
3999 }
4000}
4001
4002
4014__STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uint32_t SubPriority)
4015{
4016 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
4017 uint32_t PreemptPriorityBits;
4018 uint32_t SubPriorityBits;
4019
4020 PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
4021 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
4022
4023 return (
4024 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) |
4025 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
4026 );
4027}
4028
4029
4041__STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* const pPreemptPriority, uint32_t* const pSubPriority)
4042{
4043 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
4044 uint32_t PreemptPriorityBits;
4045 uint32_t SubPriorityBits;
4046
4047 PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp);
4048 SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS));
4049
4050 *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL);
4051 *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1UL);
4052}
4053
4054
4064__STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
4065{
4066 uint32_t *vectors = (uint32_t *)SCB->VTOR;
4067 vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector;
4068 __DSB();
4069}
4070
4071
4080__STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
4081{
4082 uint32_t *vectors = (uint32_t *)SCB->VTOR;
4083 return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET];
4084}
4085
4086
4091__NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
4092{
4093 __DSB(); /* Ensure all outstanding memory accesses included
4094 buffered write are completed before reset */
4095 SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
4096 (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
4097 SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchanged */
4098 __DSB(); /* Ensure completion of memory access */
4099
4100 for(;;) /* wait until reset */
4101 {
4102 __NOP();
4103 }
4104}
4105
4106#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4116__STATIC_INLINE void TZ_NVIC_SetPriorityGrouping_NS(uint32_t PriorityGroup)
4117{
4118 uint32_t reg_value;
4119 uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */
4120
4121 reg_value = SCB_NS->AIRCR; /* read old register configuration */
4122 reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */
4123 reg_value = (reg_value |
4124 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
4125 (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */
4126 SCB_NS->AIRCR = reg_value;
4127}
4128
4129
4135__STATIC_INLINE uint32_t TZ_NVIC_GetPriorityGrouping_NS(void)
4136{
4137 return ((uint32_t)((SCB_NS->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
4138}
4139
4140
4147__STATIC_INLINE void TZ_NVIC_EnableIRQ_NS(IRQn_Type IRQn)
4148{
4149 if ((int32_t)(IRQn) >= 0)
4150 {
4151 NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4152 }
4153}
4154
4155
4164__STATIC_INLINE uint32_t TZ_NVIC_GetEnableIRQ_NS(IRQn_Type IRQn)
4165{
4166 if ((int32_t)(IRQn) >= 0)
4167 {
4168 return((uint32_t)(((NVIC_NS->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4169 }
4170 else
4171 {
4172 return(0U);
4173 }
4174}
4175
4176
4183__STATIC_INLINE void TZ_NVIC_DisableIRQ_NS(IRQn_Type IRQn)
4184{
4185 if ((int32_t)(IRQn) >= 0)
4186 {
4187 NVIC_NS->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4188 }
4189}
4190
4191
4200__STATIC_INLINE uint32_t TZ_NVIC_GetPendingIRQ_NS(IRQn_Type IRQn)
4201{
4202 if ((int32_t)(IRQn) >= 0)
4203 {
4204 return((uint32_t)(((NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4205 }
4206 else
4207 {
4208 return(0U);
4209 }
4210}
4211
4212
4219__STATIC_INLINE void TZ_NVIC_SetPendingIRQ_NS(IRQn_Type IRQn)
4220{
4221 if ((int32_t)(IRQn) >= 0)
4222 {
4223 NVIC_NS->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4224 }
4225}
4226
4227
4234__STATIC_INLINE void TZ_NVIC_ClearPendingIRQ_NS(IRQn_Type IRQn)
4235{
4236 if ((int32_t)(IRQn) >= 0)
4237 {
4238 NVIC_NS->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
4239 }
4240}
4241
4242
4251__STATIC_INLINE uint32_t TZ_NVIC_GetActive_NS(IRQn_Type IRQn)
4252{
4253 if ((int32_t)(IRQn) >= 0)
4254 {
4255 return((uint32_t)(((NVIC_NS->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL))) != 0UL) ? 1UL : 0UL));
4256 }
4257 else
4258 {
4259 return(0U);
4260 }
4261}
4262
4263
4273__STATIC_INLINE void TZ_NVIC_SetPriority_NS(IRQn_Type IRQn, uint32_t priority)
4274{
4275 if ((int32_t)(IRQn) >= 0)
4276 {
4277 NVIC_NS->IPR[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
4278 }
4279 else
4280 {
4281 SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL);
4282 }
4283}
4284
4285
4294__STATIC_INLINE uint32_t TZ_NVIC_GetPriority_NS(IRQn_Type IRQn)
4295{
4296
4297 if ((int32_t)(IRQn) >= 0)
4298 {
4299 return(((uint32_t)NVIC_NS->IPR[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS)));
4300 }
4301 else
4302 {
4303 return(((uint32_t)SCB_NS->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS)));
4304 }
4305}
4306#endif /* defined (__ARM_FEATURE_CMSE) &&(__ARM_FEATURE_CMSE == 3U) */
4307
4310/* ########################## MPU functions #################################### */
4311
4312#if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
4313
4314#include "mpu_armv8.h"
4315
4316#endif
4317
4318/* ########################## PMU functions and events #################################### */
4319
4320#if defined (__PMU_PRESENT) && (__PMU_PRESENT == 1U)
4321
4322#include "pmu_armv8.h"
4323
4329#define ARMCM85_PMU_ECC_ERR 0xC000
4330#define ARMCM85_PMU_ECC_ERR_MBIT 0xC001
4331#define ARMCM85_PMU_ECC_ERR_DCACHE 0xC010
4332#define ARMCM85_PMU_ECC_ERR_ICACHE 0xC011
4333#define ARMCM85_PMU_ECC_ERR_MBIT_DCACHE 0xC012
4334#define ARMCM85_PMU_ECC_ERR_MBIT_ICACHE 0xC013
4335#define ARMCM85_PMU_ECC_ERR_DTCM 0xC020
4336#define ARMCM85_PMU_ECC_ERR_ITCM 0xC021
4337#define ARMCM85_PMU_ECC_ERR_MBIT_DTCM 0xC022
4338#define ARMCM85_PMU_ECC_ERR_MBIT_ITCM 0xC023
4339#define ARMCM85_PMU_PF_LINEFILL 0xC100
4340#define ARMCM85_PMU_PF_CANCEL 0xC101
4341#define ARMCM85_PMU_PF_DROP_LINEFILL 0xC102
4342#define ARMCM85_PMU_NWAMODE_ENTER 0xC200
4343#define ARMCM85_PMU_NWAMODE 0xC201
4344#define ARMCM85_PMU_SAHB_ACCESS 0xC300
4345#define ARMCM85_PMU_PAHB_ACCESS 0xC301
4346#define ARMCM85_PMU_AXI_WRITE_ACCESS 0xC302
4347#define ARMCM85_PMU_AXI_READ_ACCESS 0xC303
4348#define ARMCM85_PMU_DOSTIMEOUT_DOUBLE 0xC400
4349#define ARMCM85_PMU_DOSTIMEOUT_TRIPLE 0xC401
4350#define ARMCM85_PMU_FUSED_INST_RETIRED 0xC500
4351#define ARMCM85_PMU_BR_INDIRECT 0xC501
4352#define ARMCM85_PMU_BTAC_HIT 0xC502
4353#define ARMCM85_PMU_BTAC_HIT_RETURNS 0xC503
4354#define ARMCM85_PMU_BTAC_HIT_CALLS 0xC504
4355#define ARMCM85_PMU_BTAC_HIT_INDIRECT 0xC505
4356#define ARMCM85_PMU_BTAC_NEW_ALLOC 0xC506
4357#define ARMCM85_PMU_BR_IND_MIS_PRED 0xC507
4358#define ARMCM85_PMU_BR_RETURN_MIS_PRED 0xC508
4359#define ARMCM85_PMU_BR_BTAC_OFFSET_OVERFLOW 0xC509
4360#define ARMCM85_PMU_STB_FULL_STALL_AXI 0xC50A
4361#define ARMCM85_PMU_STB_FULL_STALL_TCM 0xC50B
4362#define ARMCM85_PMU_CPU_STALLED_AHBS 0xC50C
4363#define ARMCM85_PMU_AHBS_STALLED_CPU 0xC50D
4364#define ARMCM85_PMU_BR_INTERSTATING_MIS_PRED 0xC50E
4365#define ARMCM85_PMU_DWT_STALL 0xC50F
4366#define ARMCM85_PMU_DWT_FLUSH 0xC510
4367#define ARMCM85_PMU_ETM_STALL 0xC511
4368#define ARMCM85_PMU_ETM_FLUSH 0xC512
4369#define ARMCM85_PMU_ADDRESS_BANK_CONFLICT 0xC513
4370#define ARMCM85_PMU_BLOCKED_DUAL_ISSUE 0xC514
4371#define ARMCM85_PMU_FP_CONTEXT_TRIGGER 0xC515
4372#define ARMCM85_PMU_TAIL_CHAIN 0xC516
4373#define ARMCM85_PMU_LATE_ARRIVAL 0xC517
4374#define ARMCM85_PMU_INT_STALL_FAULT 0xC518
4375#define ARMCM85_PMU_INT_STALL_DEV 0xC519
4376#define ARMCM85_PMU_PAC_STALL 0xC51A
4377#define ARMCM85_PMU_PAC_RETIRED 0xC51B
4378#define ARMCM85_PMU_AUT_RETIRED 0xC51C
4379#define ARMCM85_PMU_BTI_RETIRED 0xC51D
4380#define ARMCM85_PMU_PF_NL_MODE 0xC51E
4381#define ARMCM85_PMU_PF_STREAM_MODE 0xC51F
4382#define ARMCM85_PMU_PF_BUFF_CACHE_HIT 0xC520
4383#define ARMCM85_PMU_PF_REQ_LFB_HIT 0xC521
4384#define ARMCM85_PMU_PF_BUFF_FULL 0xC522
4385#define ARMCM85_PMU_PF_REQ_DCACHE_HIT 0xC523
4387#endif
4388
4389/* ########################## FPU functions #################################### */
4405__STATIC_INLINE uint32_t SCB_GetFPUType(void)
4406{
4407 uint32_t mvfr0;
4408
4409 mvfr0 = FPU->MVFR0;
4410 if ((mvfr0 & (FPU_MVFR0_FPSP_Msk | FPU_MVFR0_FPDP_Msk)) == 0x220U)
4411 {
4412 return 2U; /* Double + Single precision FPU */
4413 }
4414 else if ((mvfr0 & (FPU_MVFR0_FPSP_Msk | FPU_MVFR0_FPDP_Msk)) == 0x020U)
4415 {
4416 return 1U; /* Single precision FPU */
4417 }
4418 else
4419 {
4420 return 0U; /* No FPU */
4421 }
4422}
4423
4424
4427/* ########################## MVE functions #################################### */
4443__STATIC_INLINE uint32_t SCB_GetMVEType(void)
4444{
4445 const uint32_t mvfr1 = FPU->MVFR1;
4446 if ((mvfr1 & FPU_MVFR1_MVE_Msk) == (0x2U << FPU_MVFR1_MVE_Pos))
4447 {
4448 return 2U;
4449 }
4450 else if ((mvfr1 & FPU_MVFR1_MVE_Msk) == (0x1U << FPU_MVFR1_MVE_Pos))
4451 {
4452 return 1U;
4453 }
4454 else
4455 {
4456 return 0U;
4457 }
4458}
4459
4460
4464/* ########################## Cache functions #################################### */
4465
4466#if ((defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)) || \
4467 (defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)))
4468#include "cachel1_armv7.h"
4469#endif
4470
4471
4472/* ########################## SAU functions #################################### */
4480#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4481
4486__STATIC_INLINE void TZ_SAU_Enable(void)
4487{
4488 SAU->CTRL |= (SAU_CTRL_ENABLE_Msk);
4489}
4490
4491
4492
4497__STATIC_INLINE void TZ_SAU_Disable(void)
4498{
4499 SAU->CTRL &= ~(SAU_CTRL_ENABLE_Msk);
4500}
4501
4502#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4503
4508/* ################### PAC Key functions ########################### */
4509
4510#if (defined (__ARM_FEATURE_PAUTH) && (__ARM_FEATURE_PAUTH == 1))
4511#include "pac_armv81.h"
4512#endif
4513
4514
4515/* ################################## Debug Control function ############################################ */
4529__STATIC_INLINE void DCB_SetAuthCtrl(uint32_t value)
4530{
4531 __DSB();
4532 __ISB();
4533 DCB->DAUTHCTRL = value;
4534 __DSB();
4535 __ISB();
4536}
4537
4538
4544__STATIC_INLINE uint32_t DCB_GetAuthCtrl(void)
4545{
4546 return (DCB->DAUTHCTRL);
4547}
4548
4549
4550#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4556__STATIC_INLINE void TZ_DCB_SetAuthCtrl_NS(uint32_t value)
4557{
4558 __DSB();
4559 __ISB();
4560 DCB_NS->DAUTHCTRL = value;
4561 __DSB();
4562 __ISB();
4563}
4564
4565
4571__STATIC_INLINE uint32_t TZ_DCB_GetAuthCtrl_NS(void)
4572{
4573 return (DCB_NS->DAUTHCTRL);
4574}
4575#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4576
4582/* ################################## Debug Identification function ############################################ */
4596__STATIC_INLINE uint32_t DIB_GetAuthStatus(void)
4597{
4598 return (DIB->DAUTHSTATUS);
4599}
4600
4601
4602#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4608__STATIC_INLINE uint32_t TZ_DIB_GetAuthStatus_NS(void)
4609{
4610 return (DIB_NS->DAUTHSTATUS);
4611}
4612#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4613
4619/* ################################## SysTick function ############################################ */
4627#if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
4628
4640__STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
4641{
4642 if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
4643 {
4644 return (1UL); /* Reload value impossible */
4645 }
4646
4647 SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
4648 NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
4649 SysTick->VAL = 0UL; /* Load the SysTick Counter Value */
4652 SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
4653 return (0UL); /* Function successful */
4654}
4655
4656#if defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U)
4669__STATIC_INLINE uint32_t TZ_SysTick_Config_NS(uint32_t ticks)
4670{
4671 if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
4672 {
4673 return (1UL); /* Reload value impossible */
4674 }
4675
4676 SysTick_NS->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
4677 TZ_NVIC_SetPriority_NS (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */
4678 SysTick_NS->VAL = 0UL; /* Load the SysTick Counter Value */
4679 SysTick_NS->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
4681 SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
4682 return (0UL); /* Function successful */
4683}
4684#endif /* defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3U) */
4685
4686#endif
4687
4692/* ##################################### Debug In/Output function ########################################### */
4700extern volatile int32_t ITM_RxBuffer;
4701#define ITM_RXBUFFER_EMPTY ((int32_t)0x5AA55AA5U)
4712__STATIC_INLINE uint32_t ITM_SendChar (uint32_t ch)
4713{
4714 if (((ITM->TCR & ITM_TCR_ITMENA_Msk) != 0UL) && /* ITM enabled */
4715 ((ITM->TER & 1UL ) != 0UL) ) /* ITM Port #0 enabled */
4716 {
4717 while (ITM->PORT[0U].u32 == 0UL)
4718 {
4719 __NOP();
4720 }
4721 ITM->PORT[0U].u8 = (uint8_t)ch;
4722 }
4723 return (ch);
4724}
4725
4726
4733__STATIC_INLINE int32_t ITM_ReceiveChar (void)
4734{
4735 int32_t ch = -1; /* no character available */
4736
4738 {
4739 ch = ITM_RxBuffer;
4740 ITM_RxBuffer = ITM_RXBUFFER_EMPTY; /* ready for next character */
4741 }
4742
4743 return (ch);
4744}
4745
4746
4753__STATIC_INLINE int32_t ITM_CheckChar (void)
4754{
4755
4757 {
4758 return (0); /* no character available */
4759 }
4760 else
4761 {
4762 return (1); /* character available */
4763 }
4764}
4765
4771#ifdef __cplusplus
4772}
4773#endif
4774
4775#endif /* __CORE_CM85_H_DEPENDANT */
4776
4777#endif /* __CMSIS_GENERIC */
CMSIS compiler generic header file.
CMSIS Core(M) Version definitions.
#define SysTick_CTRL_ENABLE_Msk
Definition core_cm85.h:1110
#define DCB
Definition core_cm85.h:3593
#define SysTick_LOAD_RELOAD_Msk
Definition core_cm85.h:1114
#define ITM_TCR_ITMENA_Msk
Definition core_cm85.h:1221
#define SCB_AIRCR_PRIGROUP_Msk
Definition core_cm85.h:682
#define SCB_AIRCR_VECTKEY_Msk
Definition core_cm85.h:667
#define SysTick_CTRL_TICKINT_Msk
Definition core_cm85.h:1107
#define SysTick_CTRL_CLKSOURCE_Msk
Definition core_cm85.h:1104
#define SCB_AIRCR_VECTKEY_Pos
Definition core_cm85.h:666
#define SCB
Definition core_cm85.h:3580
#define DIB
Definition core_cm85.h:3594
#define SCB_AIRCR_SYSRESETREQ_Msk
Definition core_cm85.h:694
#define ITM
Definition core_cm85.h:3583
#define FPU
Definition core_cm85.h:3612
#define NVIC
Definition core_cm85.h:3582
#define SCB_AIRCR_PRIGROUP_Pos
Definition core_cm85.h:681
#define SysTick
Definition core_cm85.h:3581
#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_cm85.h:3061
#define FPU_MVFR1_MVE_Msk
Definition core_cm85.h:3080
#define FPU_MVFR1_MVE_Pos
Definition core_cm85.h:3079
#define FPU_MVFR0_FPSP_Msk
Definition core_cm85.h:3064
#define __NVIC_GetPriorityGrouping()
Get Priority Grouping.
uint32_t IT
Definition core_cm85.h:418
uint32_t ISR
Definition core_cm85.h:411
volatile int32_t ITM_RxBuffer
uint32_t _reserved0
Definition core_cm85.h:354
uint32_t _reserved1
Definition core_cm85.h:414
uint32_t ISR
Definition core_cm85.h:393
uint32_t GE
Definition core_cm85.h:413
uint32_t _reserved2
Definition core_cm85.h:416
uint32_t UBTI_EN
Definition core_cm85.h:472
uint32_t UPAC_EN
Definition core_cm85.h:474
uint32_t PAC_EN
Definition core_cm85.h:473
uint32_t _reserved0
Definition core_cm85.h:412
uint32_t _reserved1
Definition core_cm85.h:475
__OM uint8_t u8
Definition core_cm85.h:1147
uint32_t B
Definition core_cm85.h:415
#define ITM_RXBUFFER_EMPTY
Definition core_cm85.h:4701
uint32_t _reserved1
Definition core_cm85.h:356
uint32_t _reserved0
Definition core_cm85.h:394
__OM uint16_t u16
Definition core_cm85.h:1148
uint32_t GE
Definition core_cm85.h:355
__STATIC_INLINE int32_t ITM_ReceiveChar(void)
ITM Receive Character.
__STATIC_INLINE uint32_t ITM_SendChar(uint32_t ch)
ITM Send Character.
uint32_t BTI_EN
Definition core_cm85.h:471
__STATIC_INLINE int32_t ITM_CheckChar(void)
ITM Check Character.
__OM uint32_t u32
Definition core_cm85.h:1149
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 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).