VSF Documented
CMSDK_ARMv8MML.h
Go to the documentation of this file.
1/**************************************************************************/
8/* Copyright (c) 2015 - 2016 ARM LIMITED
9
10 All rights reserved.
11 Redistribution and use in source and binary forms, with or without
12 modification, are permitted provided that the following conditions are met:
13 - Redistributions of source code must retain the above copyright
14 notice, this list of conditions and the following disclaimer.
15 - Redistributions in binary form must reproduce the above copyright
16 notice, this list of conditions and the following disclaimer in the
17 documentation and/or other materials provided with the distribution.
18 - Neither the name of ARM nor the names of its contributors may be used
19 to endorse or promote products derived from this software without
20 specific prior written permission.
21 *
22 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
23 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
26 LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
27 CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
28 SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
29 INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
30 CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
31 ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 POSSIBILITY OF SUCH DAMAGE.
33 ---------------------------------------------------------------------------*/
34
35
36#ifndef CMSDK_ARMv8MML_H
37#define CMSDK_ARMv8MML_H
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
43
44/* ------------------------- Interrupt Number Definition ------------------------ */
45
46typedef enum IRQn
47{
48/* -------------------- ARMv8MML Processor Exceptions Numbers ------------------- */
49 NonMaskableInt_IRQn = -14, /* 2 Non Maskable Interrupt */
50 HardFault_IRQn = -13, /* 3 HardFault Interrupt */
51 MemoryManagement_IRQn = -12, /* 4 Memory Management Interrupt */
52 BusFault_IRQn = -11, /* 5 Bus Fault Interrupt */
53 UsageFault_IRQn = -10, /* 6 Usage Fault Interrupt */
54 SecureFault_IRQn = -9, /* 7 Secure Fault Interrupt */
55 SVCall_IRQn = -5, /* 11 SV Call Interrupt */
56 DebugMonitor_IRQn = -4, /* 12 Debug Monitor Interrupt */
57 PendSV_IRQn = -2, /* 14 Pend SV Interrupt */
58 SysTick_IRQn = -1, /* 15 System Tick Interrupt */
59
60/* -------------------- ARMv8MML Specific Interrupt Numbers --------------------- */
61 UART0RX_IRQn = 0, /* UART 0 receive interrupt */
62 UART0TX_IRQn = 1, /* UART 0 transmit interrupt */
63 UART1RX_IRQn = 2, /* UART 1 receive interrupt */
64 UART1TX_IRQn = 3, /* UART 1 transmit interrupt */
65 UART2RX_IRQn = 4, /* UART 2 receive interrupt */
66 UART2TX_IRQn = 5, /* UART 2 transmit interrupt */
67 GPIO0ALL_IRQn = 6, /* GPIO 0 combined interrupt */
68 GPIO1ALL_IRQn = 7, /* GPIO 1 combined interrupt */
69 TIMER0_IRQn = 8, /* Timer 0 interrupt */
70 TIMER1_IRQn = 9, /* Timer 1 interrupt */
71 DUALTIMER_IRQn = 10, /* Dual Timer interrupt */
72 SPI_0_1_IRQn = 11, /* SPI #0, #1 interrupt */
73 UART_0_1_2_OVF_IRQn = 12, /* UART overflow (0, 1 & 2) interrupt */
74 ETHERNET_IRQn = 13, /* Ethernet interrupt */
75 I2S_IRQn = 14, /* Audio I2S interrupt */
76 TOUCHSCREEN_IRQn = 15, /* Touch Screen interrupt */
77 GPIO2_IRQn = 16, /* GPIO 2 combined interrupt */
78 GPIO3_IRQn = 17, /* GPIO 3 combined interrupt */
79 UART3RX_IRQn = 18, /* UART 3 receive interrupt */
80 UART3TX_IRQn = 19, /* UART 3 transmit interrupt */
81 UART4RX_IRQn = 20, /* UART 4 receive interrupt */
82 UART4TX_IRQn = 21, /* UART 4 transmit interrupt */
83 SPI_2_IRQn = 22, /* SPI #2 interrupt */
84 SPI_3_4_IRQn = 23, /* SPI #3, SPI #4 interrupt */
85 GPIO0_0_IRQn = 24, /* GPIO 0 individual interrupt ( 0) */
86 GPIO0_1_IRQn = 25, /* GPIO 0 individual interrupt ( 1) */
87 GPIO0_2_IRQn = 26, /* GPIO 0 individual interrupt ( 2) */
88 GPIO0_3_IRQn = 27, /* GPIO 0 individual interrupt ( 3) */
89 GPIO0_4_IRQn = 28, /* GPIO 0 individual interrupt ( 4) */
90 GPIO0_5_IRQn = 29, /* GPIO 0 individual interrupt ( 5) */
91 GPIO0_6_IRQn = 30, /* GPIO 0 individual interrupt ( 6) */
92 GPIO0_7_IRQn = 31, /* GPIO 0 individual interrupt ( 7) */
93 GPIO1_0_IRQn = 32, /* GPIO 1 individual interrupt ( 0) */
94 GPIO1_1_IRQn = 33, /* GPIO 1 individual interrupt ( 1) */
95 GPIO1_2_IRQn = 34, /* GPIO 1 individual interrupt ( 2) */
96 GPIO1_3_IRQn = 35, /* GPIO 1 individual interrupt ( 3) */
97 GPIO1_4_IRQn = 36, /* GPIO 1 individual interrupt ( 4) */
98 GPIO1_5_IRQn = 37, /* GPIO 1 individual interrupt ( 5) */
99 GPIO1_6_IRQn = 38, /* GPIO 1 individual interrupt ( 6) */
100 GPIO1_7_IRQn = 39, /* GPIO 1 individual interrupt ( 7) */
101 GPIO1_8_IRQn = 40, /* GPIO 1 individual interrupt ( 0) */
102 GPIO1_9_IRQn = 41, /* GPIO 1 individual interrupt ( 9) */
103 GPIO1_10_IRQn = 42, /* GPIO 1 individual interrupt (10) */
104 GPIO1_11_IRQn = 43, /* GPIO 1 individual interrupt (11) */
105 GPIO1_12_IRQn = 44, /* GPIO 1 individual interrupt (12) */
106 GPIO1_13_IRQn = 45, /* GPIO 1 individual interrupt (13) */
107 GPIO1_14_IRQn = 46, /* GPIO 1 individual interrupt (14) */
108 GPIO1_15_IRQn = 47, /* GPIO 1 individual interrupt (15) */
109 SPI_0B_IRQn = 48, /* SPI #0 interrupt */
110 Reserved_IRQn = 49, /* Reserved */
111 SECURETIMER0_IRQn = 50, /* Secure Timer 0 interrupt */
112 SECURETIMER1_IRQn = 51, /* Secure Timer 1 interrupt */
113 SPI_1B_IRQn = 52, /* SPI #1 interrupt */
114 SPI_2B_IRQn = 53, /* SPI #2 interrupt */
115 SPI_3B_IRQn = 54, /* SPI #3 interrupt */
116 SPI_4B_IRQn = 55 /* SPI #4 interrupt */
118
119
120/* ================================================================================ */
121/* ================ Processor and Core Peripheral Section ================ */
122/* ================================================================================ */
123
124/* ------- Start of section using anonymous unions and disabling warnings ------- */
125#if defined (__CC_ARM)
126 #pragma push
127 #pragma anon_unions
128#elif defined (__ICCARM__)
129 #pragma language=extended
130#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
131 #pragma clang diagnostic push
132 #pragma clang diagnostic ignored "-Wc11-extensions"
133 #pragma clang diagnostic ignored "-Wreserved-id-macro"
134#elif defined (__GNUC__)
135 /* anonymous unions are enabled by default */
136#elif defined (__TMS470__)
137 /* anonymous unions are enabled by default */
138#elif defined (__TASKING__)
139 #pragma warning 586
140#elif defined (__CSMC__)
141 /* anonymous unions are enabled by default */
142#else
143 #warning Not supported compiler type
144#endif
145
146
147/* -------- Configuration of the Cortex-ARMv8MML Processor and Core Peripherals ------- */
148#define __ARMv8MML_REV 0x0001U /* Core revision r0p1 */
149#define __SAUREGION_PRESENT 1U /* SAU regions are present */
150#define __MPU_PRESENT 1U /* MPU present */
151#define __VTOR_PRESENT 1U /* VTOR present */
152#define __NVIC_PRIO_BITS 3U /* Number of Bits used for Priority Levels */
153#define __Vendor_SysTickConfig 0U /* Set to 1 if different SysTick Config is used */
154#define __FPU_PRESENT 0U /* no FPU present */
155#define __DSP_PRESENT 0U /* no DSP extension present */
156
157#include "core_armv8mml.h" /* Processor and core peripherals */
158#include "system_CMSDK_ARMv8MML.h" /* System Header */
159
160
161/* ================================================================================ */
162/* ================ Device Specific Peripheral Section ================ */
163/* ================================================================================ */
164
165/*------------- Universal Asynchronous Receiver Transmitter (UART) -----------*/
166typedef struct
167{
168 __IOM uint32_t DATA; /* Offset: 0x000 (R/W) Data Register */
169 __IOM uint32_t STATE; /* Offset: 0x004 (R/W) Status Register */
170 __IOM uint32_t CTRL; /* Offset: 0x008 (R/W) Control Register */
171 union {
172 __IM uint32_t INTSTATUS; /* Offset: 0x00C (R/ ) Interrupt Status Register */
173 __OM uint32_t INTCLEAR; /* Offset: 0x00C ( /W) Interrupt Clear Register */
174 };
175 __IOM uint32_t BAUDDIV; /* Offset: 0x010 (R/W) Baudrate Divider Register */
176
178
179/* CMSDK_UART DATA Register Definitions */
180#define CMSDK_UART_DATA_Pos 0 /* CMSDK_UART_DATA_Pos: DATA Position */
181#define CMSDK_UART_DATA_Msk (0xFFUL /*<< CMSDK_UART_DATA_Pos*/) /* CMSDK_UART DATA: DATA Mask */
182
183/* CMSDK_UART STATE Register Definitions */
184#define CMSDK_UART_STATE_RXOR_Pos 3 /* CMSDK_UART STATE: RXOR Position */
185#define CMSDK_UART_STATE_RXOR_Msk (0x1UL << CMSDK_UART_STATE_RXOR_Pos) /* CMSDK_UART STATE: RXOR Mask */
186
187#define CMSDK_UART_STATE_TXOR_Pos 2 /* CMSDK_UART STATE: TXOR Position */
188#define CMSDK_UART_STATE_TXOR_Msk (0x1UL << CMSDK_UART_STATE_TXOR_Pos) /* CMSDK_UART STATE: TXOR Mask */
189
190#define CMSDK_UART_STATE_RXBF_Pos 1 /* CMSDK_UART STATE: RXBF Position */
191#define CMSDK_UART_STATE_RXBF_Msk (0x1UL << CMSDK_UART_STATE_RXBF_Pos) /* CMSDK_UART STATE: RXBF Mask */
192
193#define CMSDK_UART_STATE_TXBF_Pos 0 /* CMSDK_UART STATE: TXBF Position */
194#define CMSDK_UART_STATE_TXBF_Msk (0x1UL /*<< CMSDK_UART_STATE_TXBF_Pos*/) /* CMSDK_UART STATE: TXBF Mask */
195
196/* CMSDK_UART CTRL Register Definitions */
197#define CMSDK_UART_CTRL_HSTM_Pos 6 /* CMSDK_UART CTRL: HSTM Position */
198#define CMSDK_UART_CTRL_HSTM_Msk (0x01UL << CMSDK_UART_CTRL_HSTM_Pos) /* CMSDK_UART CTRL: HSTM Mask */
199
200#define CMSDK_UART_CTRL_RXORIRQEN_Pos 5 /* CMSDK_UART CTRL: RXORIRQEN Position */
201#define CMSDK_UART_CTRL_RXORIRQEN_Msk (0x01UL << CMSDK_UART_CTRL_RXORIRQEN_Pos) /* CMSDK_UART CTRL: RXORIRQEN Mask */
202
203#define CMSDK_UART_CTRL_TXORIRQEN_Pos 4 /* CMSDK_UART CTRL: TXORIRQEN Position */
204#define CMSDK_UART_CTRL_TXORIRQEN_Msk (0x01UL << CMSDK_UART_CTRL_TXORIRQEN_Pos) /* CMSDK_UART CTRL: TXORIRQEN Mask */
205
206#define CMSDK_UART_CTRL_RXIRQEN_Pos 3 /* CMSDK_UART CTRL: RXIRQEN Position */
207#define CMSDK_UART_CTRL_RXIRQEN_Msk (0x01UL << CMSDK_UART_CTRL_RXIRQEN_Pos) /* CMSDK_UART CTRL: RXIRQEN Mask */
208
209#define CMSDK_UART_CTRL_TXIRQEN_Pos 2 /* CMSDK_UART CTRL: TXIRQEN Position */
210#define CMSDK_UART_CTRL_TXIRQEN_Msk (0x01UL << CMSDK_UART_CTRL_TXIRQEN_Pos) /* CMSDK_UART CTRL: TXIRQEN Mask */
211
212#define CMSDK_UART_CTRL_RXEN_Pos 1 /* CMSDK_UART CTRL: RXEN Position */
213#define CMSDK_UART_CTRL_RXEN_Msk (0x01UL << CMSDK_UART_CTRL_RXEN_Pos) /* CMSDK_UART CTRL: RXEN Mask */
214
215#define CMSDK_UART_CTRL_TXEN_Pos 0 /* CMSDK_UART CTRL: TXEN Position */
216#define CMSDK_UART_CTRL_TXEN_Msk (0x01UL /*<< CMSDK_UART_CTRL_TXEN_Pos*/) /* CMSDK_UART CTRL: TXEN Mask */
217
218#define CMSDK_UART_INTSTATUS_RXORIRQ_Pos 3 /* CMSDK_UART CTRL: RXORIRQ Position */
219#define CMSDK_UART_CTRL_RXORIRQ_Msk (0x01UL << CMSDK_UART_INTSTATUS_RXORIRQ_Pos) /* CMSDK_UART CTRL: RXORIRQ Mask */
220
221#define CMSDK_UART_CTRL_TXORIRQ_Pos 2 /* CMSDK_UART CTRL: TXORIRQ Position */
222#define CMSDK_UART_CTRL_TXORIRQ_Msk (0x01UL << CMSDK_UART_CTRL_TXORIRQ_Pos) /* CMSDK_UART CTRL: TXORIRQ Mask */
223
224#define CMSDK_UART_CTRL_RXIRQ_Pos 1 /* CMSDK_UART CTRL: RXIRQ Position */
225#define CMSDK_UART_CTRL_RXIRQ_Msk (0x01UL << CMSDK_UART_CTRL_RXIRQ_Pos) /* CMSDK_UART CTRL: RXIRQ Mask */
226
227#define CMSDK_UART_CTRL_TXIRQ_Pos 0 /* CMSDK_UART CTRL: TXIRQ Position */
228#define CMSDK_UART_CTRL_TXIRQ_Msk (0x01UL /*<< CMSDK_UART_CTRL_TXIRQ_Pos*/) /* CMSDK_UART CTRL: TXIRQ Mask */
229
230/* CMSDK_UART BAUDDIV Register Definitions */
231#define CMSDK_UART_BAUDDIV_Pos 0 /* CMSDK_UART BAUDDIV: BAUDDIV Position */
232#define CMSDK_UART_BAUDDIV_Msk (0xFFFFFUL /*<< CMSDK_UART_BAUDDIV_Pos*/) /* CMSDK_UART BAUDDIV: BAUDDIV Mask */
233
234
235/*----------------------------- Timer (TIMER) -------------------------------*/
236typedef struct
237{
238 __IOM uint32_t CTRL; /* Offset: 0x000 (R/W) Control Register */
239 __IOM uint32_t VALUE; /* Offset: 0x004 (R/W) Current Value Register */
240 __IOM uint32_t RELOAD; /* Offset: 0x008 (R/W) Reload Value Register */
241 union {
242 __IM uint32_t INTSTATUS; /* Offset: 0x00C (R/ ) Interrupt Status Register */
243 __OM uint32_t INTCLEAR; /* Offset: 0x00C ( /W) Interrupt Clear Register */
244 };
245
247
248/* CMSDK_TIMER CTRL Register Definitions */
249#define CMSDK_TIMER_CTRL_IRQEN_Pos 3 /* CMSDK_TIMER CTRL: IRQEN Position */
250#define CMSDK_TIMER_CTRL_IRQEN_Msk (0x01UL << CMSDK_TIMER_CTRL_IRQEN_Pos) /* CMSDK_TIMER CTRL: IRQEN Mask */
251
252#define CMSDK_TIMER_CTRL_SELEXTCLK_Pos 2 /* CMSDK_TIMER CTRL: SELEXTCLK Position */
253#define CMSDK_TIMER_CTRL_SELEXTCLK_Msk (0x01UL << CMSDK_TIMER_CTRL_SELEXTCLK_Pos) /* CMSDK_TIMER CTRL: SELEXTCLK Mask */
254
255#define CMSDK_TIMER_CTRL_SELEXTEN_Pos 1 /* CMSDK_TIMER CTRL: SELEXTEN Position */
256#define CMSDK_TIMER_CTRL_SELEXTEN_Msk (0x01UL << CMSDK_TIMER_CTRL_SELEXTEN_Pos) /* CMSDK_TIMER CTRL: SELEXTEN Mask */
257
258#define CMSDK_TIMER_CTRL_EN_Pos 0 /* CMSDK_TIMER CTRL: EN Position */
259#define CMSDK_TIMER_CTRL_EN_Msk (0x01UL /*<< CMSDK_TIMER_CTRL_EN_Pos*/) /* CMSDK_TIMER CTRL: EN Mask */
260
261/* CMSDK_TIMER VAL Register Definitions */
262#define CMSDK_TIMER_VAL_CURRENT_Pos 0 /* CMSDK_TIMER VALUE: CURRENT Position */
263#define CMSDK_TIMER_VAL_CURRENT_Msk (0xFFFFFFFFUL /*<< CMSDK_TIMER_VAL_CURRENT_Pos*/) /* CMSDK_TIMER VALUE: CURRENT Mask */
264
265/* CMSDK_TIMER RELOAD Register Definitions */
266#define CMSDK_TIMER_RELOAD_VAL_Pos 0 /* CMSDK_TIMER RELOAD: RELOAD Position */
267#define CMSDK_TIMER_RELOAD_VAL_Msk (0xFFFFFFFFUL /*<< CMSDK_TIMER_RELOAD_VAL_Pos*/) /* CMSDK_TIMER RELOAD: RELOAD Mask */
268
269/* CMSDK_TIMER INTSTATUS Register Definitions */
270#define CMSDK_TIMER_INTSTATUS_Pos 0 /* CMSDK_TIMER INTSTATUS: INTSTATUSPosition */
271#define CMSDK_TIMER_INTSTATUS_Msk (0x01UL /*<< CMSDK_TIMER_INTSTATUS_Pos*/) /* CMSDK_TIMER INTSTATUS: INTSTATUSMask */
272
273/* CMSDK_TIMER INTCLEAR Register Definitions */
274#define CMSDK_TIMER_INTCLEAR_Pos 0 /* CMSDK_TIMER INTCLEAR: INTCLEAR Position */
275#define CMSDK_TIMER_INTCLEAR_Msk (0x01UL /*<< CMSDK_TIMER_INTCLEAR_Pos*/) /* CMSDK_TIMER INTCLEAR: INTCLEAR Mask */
276
277
278/*------------- Timer (TIM) --------------------------------------------------*/
279typedef struct
280{
281 __IOM uint32_t T1LOAD; /* Offset: 0x000 (R/W) Timer 1 Load */
282 __IM uint32_t T1VALUE; /* Offset: 0x004 (R/ ) Timer 1 Counter Current Value */
283 __IOM uint32_t T1CTRL; /* Offset: 0x008 (R/W) Timer 1 Control */
284 __OM uint32_t T1INTCLR; /* Offset: 0x00C ( /W) Timer 1 Interrupt Clear */
285 __IM uint32_t T1RIS; /* Offset: 0x010 (R/ ) Timer 1 Raw Interrupt Status */
286 __IM uint32_t T1MIS; /* Offset: 0x014 (R/ ) Timer 1 Masked Interrupt Status */
287 __IOM uint32_t T1BGLOAD; /* Offset: 0x018 (R/W) Background Load Register */
288 uint32_t RESERVED0;
289 __IOM uint32_t T2LOAD; /* Offset: 0x020 (R/W) Timer 2 Load */
290 __IM uint32_t T2VALUE; /* Offset: 0x024 (R/ ) Timer 2 Counter Current Value */
291 __IOM uint32_t T2CTRL; /* Offset: 0x028 (R/W) Timer 2 Control */
292 __OM uint32_t T2INTCLR; /* Offset: 0x02C ( /W) Timer 2 Interrupt Clear */
293 __IM uint32_t T2RIS; /* Offset: 0x030 (R/ ) Timer 2 Raw Interrupt Status */
294 __IM uint32_t T2MIS; /* Offset: 0x034 (R/ ) Timer 2 Masked Interrupt Status */
295 __IOM uint32_t T2BGLOAD; /* Offset: 0x038 (R/W) Background Load Register */
296 uint32_t RESERVED1[945];
297 __IOM uint32_t ITCR; /* Offset: 0xF00 (R/W) Integration Test Control Register */
298 __OM uint32_t ITOP; /* Offset: 0xF04 ( /W) Integration Test Output Set Register */
300
301
302typedef struct
303{
304 __IOM uint32_t LOAD; /* Offset: 0x000 (R/W) Timer Load */
305 __IM uint32_t VALUE; /* Offset: 0x000 (R/W) Timer Counter Current Value */
306 __IOM uint32_t CTRL; /* Offset: 0x000 (R/W) Timer Control */
307 __OM uint32_t INTCLR; /* Offset: 0x000 (R/W) Timer Interrupt Clear */
308 __IM uint32_t RIS; /* Offset: 0x000 (R/W) Timer Raw Interrupt Status */
309 __IM uint32_t MIS; /* Offset: 0x000 (R/W) Timer Masked Interrupt Status */
310 __IOM uint32_t BGLOAD; /* Offset: 0x000 (R/W) Background Load Register */
312
313/* CMSDK_DUALTIMER_SINGLE LOAD Register Definitions */
314#define CMSDK_DUALTIMER_LOAD_Pos 0 /* CMSDK_DUALTIMER LOAD: LOAD Position */
315#define CMSDK_DUALTIMER_LOAD_Msk (0xFFFFFFFFUL /*<< CMSDK_DUALTIMER_LOAD_Pos*/) /* CMSDK_DUALTIMER LOAD: LOAD Mask */
316
317/* CMSDK_DUALTIMER_SINGLE VALUE Register Definitions */
318#define CMSDK_DUALTIMER_VALUE_Pos 0 /* CMSDK_DUALTIMER VALUE: VALUE Position */
319#define CMSDK_DUALTIMER_VALUE_Msk (0xFFFFFFFFUL /*<< CMSDK_DUALTIMER_VALUE_Pos*/) /* CMSDK_DUALTIMER VALUE: VALUE Mask */
320
321/* CMSDK_DUALTIMER_SINGLE CTRL Register Definitions */
322#define CMSDK_DUALTIMER_CTRL_EN_Pos 7 /* CMSDK_DUALTIMER CTRL_EN: CTRL Enable Position */
323#define CMSDK_DUALTIMER_CTRL_EN_Msk (0x1UL << CMSDK_DUALTIMER_CTRL_EN_Pos) /* CMSDK_DUALTIMER CTRL_EN: CTRL Enable Mask */
324
325#define CMSDK_DUALTIMER_CTRL_MODE_Pos 6 /* CMSDK_DUALTIMER CTRL_MODE: CTRL MODE Position */
326#define CMSDK_DUALTIMER_CTRL_MODE_Msk (0x1UL << CMSDK_DUALTIMER_CTRL_MODE_Pos) /* CMSDK_DUALTIMER CTRL_MODE: CTRL MODE Mask */
327
328#define CMSDK_DUALTIMER_CTRL_INTEN_Pos 5 /* CMSDK_DUALTIMER CTRL_INTEN: CTRL Int Enable Position */
329#define CMSDK_DUALTIMER_CTRL_INTEN_Msk (0x1UL << CMSDK_DUALTIMER_CTRL_INTEN_Pos) /* CMSDK_DUALTIMER CTRL_INTEN: CTRL Int Enable Mask */
330
331#define CMSDK_DUALTIMER_CTRL_PRESCALE_Pos 2 /* CMSDK_DUALTIMER CTRL_PRESCALE: CTRL PRESCALE Position */
332#define CMSDK_DUALTIMER_CTRL_PRESCALE_Msk (0x3UL << CMSDK_DUALTIMER_CTRL_PRESCALE_Pos) /* CMSDK_DUALTIMER CTRL_PRESCALE: CTRL PRESCALE Mask */
333
334#define CMSDK_DUALTIMER_CTRL_SIZE_Pos 1 /* CMSDK_DUALTIMER CTRL_SIZE: CTRL SIZE Position */
335#define CMSDK_DUALTIMER_CTRL_SIZE_Msk (0x1UL << CMSDK_DUALTIMER_CTRL_SIZE_Pos) /* CMSDK_DUALTIMER CTRL_SIZE: CTRL SIZE Mask */
336
337#define CMSDK_DUALTIMER_CTRL_ONESHOOT_Pos 0 /* CMSDK_DUALTIMER CTRL_ONESHOOT: CTRL ONESHOOT Position */
338#define CMSDK_DUALTIMER_CTRL_ONESHOOT_Msk (0x1UL /*<< CMSDK_DUALTIMER_CTRL_ONESHOOT_Pos*/) /* CMSDK_DUALTIMER CTRL_ONESHOOT: CTRL ONESHOOT Mask */
339
340/* CMSDK_DUALTIMER_SINGLE INTCLR Register Definitions */
341#define CMSDK_DUALTIMER_INTCLR_Pos 0 /* CMSDK_DUALTIMER INTCLR: INT Clear Position */
342#define CMSDK_DUALTIMER_INTCLR_Msk (0x1UL /*<< CMSDK_DUALTIMER_INTCLR_Pos*/) /* CMSDK_DUALTIMER INTCLR: INT Clear Mask */
343
344/* CMSDK_DUALTIMER_SINGLE RIS Register Definitions */
345#define CMSDK_DUALTIMER_RIS_Pos 0 /* CMSDK_DUALTIMER RAWINTSTAT: Raw Int Status Position */
346#define CMSDK_DUALTIMER_RIS_Msk (0x1UL /*<< CMSDK_DUALTIMER_RAWINTSTAT_Pos*/) /* CMSDK_DUALTIMER RAWINTSTAT: Raw Int Status Mask */
347
348/* CMSDK_DUALTIMER_SINGLE MIS Register Definitions */
349#define CMSDK_DUALTIMER_MIS_Pos 0 /* CMSDK_DUALTIMER MASKINTSTAT: Mask Int Status Position */
350#define CMSDK_DUALTIMER_MIS_Msk (0x1UL /*<< CMSDK_DUALTIMER_MASKINTSTAT_Pos*/) /* CMSDK_DUALTIMER MASKINTSTAT: Mask Int Status Mask */
351
352/* CMSDK_DUALTIMER_SINGLE BGLOAD Register Definitions */
353#define CMSDK_DUALTIMER_BGLOAD_Pos 0 /* CMSDK_DUALTIMER BGLOAD: Background Load Position */
354#define CMSDK_DUALTIMER_BGLOAD_Msk (0xFFFFFFFFUL /*<< CMSDK_DUALTIMER_BGLOAD_Pos*/) /* CMSDK_DUALTIMER BGLOAD: Background Load Mask */
355
356
357/*-------------------- General Purpose Input Output (GPIO) -------------------*/
358typedef struct
359{
360 __IOM uint32_t DATA; /* Offset: 0x000 (R/W) DATA Register */
361 __IOM uint32_t DATAOUT; /* Offset: 0x004 (R/W) Data Output Latch Register */
362 uint32_t RESERVED0[2];
363 __IOM uint32_t OUTENSET; /* Offset: 0x010 (R/W) Output Enable Set Register */
364 __IOM uint32_t OUTENCLR; /* Offset: 0x014 (R/W) Output Enable Clear Register */
365 __IOM uint32_t ALTFUNCSET; /* Offset: 0x018 (R/W) Alternate Function Set Register */
366 __IOM uint32_t ALTFUNCCLR; /* Offset: 0x01C (R/W) Alternate Function Clear Register */
367 __IOM uint32_t INTENSET; /* Offset: 0x020 (R/W) Interrupt Enable Set Register */
368 __IOM uint32_t INTENCLR; /* Offset: 0x024 (R/W) Interrupt Enable Clear Register */
369 __IOM uint32_t INTTYPESET; /* Offset: 0x028 (R/W) Interrupt Type Set Register */
370 __IOM uint32_t INTTYPECLR; /* Offset: 0x02C (R/W) Interrupt Type Clear Register */
371 __IOM uint32_t INTPOLSET; /* Offset: 0x030 (R/W) Interrupt Polarity Set Register */
372 __IOM uint32_t INTPOLCLR; /* Offset: 0x034 (R/W) Interrupt Polarity Clear Register */
373 union {
374 __IM uint32_t INTSTATUS; /* Offset: 0x038 (R/ ) Interrupt Status Register */
375 __OM uint32_t INTCLEAR; /* Offset: 0x038 ( /W) Interrupt Clear Register */
376 };
377 uint32_t RESERVED1[241];
378 __IOM uint32_t LB_MASKED[256]; /* Offset: 0x400 - 0x7FC Lower byte Masked Access Register (R/W) */
379 __IOM uint32_t UB_MASKED[256]; /* Offset: 0x800 - 0xBFC Upper byte Masked Access Register (R/W) */
381
382/* CMSDK_GPIO DATA Register Definitions */
383#define CMSDK_GPIO_DATA_Pos 0 /* CMSDK_GPIO DATA: DATA Position */
384#define CMSDK_GPIO_DATA_Msk (0xFFFFUL /*<< CMSDK_GPIO_DATA_Pos*/) /* CMSDK_GPIO DATA: DATA Mask */
385
386/* CMSDK_GPIO DATAOUT Register Definitions */
387#define CMSDK_GPIO_DATAOUT_Pos 0 /* CMSDK_GPIO DATAOUT: DATAOUT Position */
388#define CMSDK_GPIO_DATAOUT_Msk (0xFFFFUL /*<< CMSDK_GPIO_DATAOUT_Pos*/) /* CMSDK_GPIO DATAOUT: DATAOUT Mask */
389
390/* CMSDK_GPIO OUTENSET Register Definitions */
391#define CMSDK_GPIO_OUTENSET_Pos 0 /* CMSDK_GPIO OUTEN: OUTEN Position */
392#define CMSDK_GPIO_OUTENSET_Msk (0xFFFFUL /*<< CMSDK_GPIO_OUTEN_Pos*/) /* CMSDK_GPIO OUTEN: OUTEN Mask */
393
394/* CMSDK_GPIO OUTENCLR Register Definitions */
395#define CMSDK_GPIO_OUTENCLR_Pos 0 /* CMSDK_GPIO OUTEN: OUTEN Position */
396#define CMSDK_GPIO_OUTENCLR_Msk (0xFFFFUL /*<< CMSDK_GPIO_OUTEN_Pos*/) /* CMSDK_GPIO OUTEN: OUTEN Mask */
397
398/* CMSDK_GPIO ALTFUNCSET Register Definitions */
399#define CMSDK_GPIO_ALTFUNCSET_Pos 0 /* CMSDK_GPIO ALTFUNC: ALTFUNC Position */
400#define CMSDK_GPIO_ALTFUNCSET_Msk (0xFFFFUL /*<< CMSDK_GPIO_ALTFUNC_Pos*/) /* CMSDK_GPIO ALTFUNC: ALTFUNC Mask */
401
402/* CMSDK_GPIO ALTFUNCCLR Register Definitions */
403#define CMSDK_GPIO_ALTFUNCCLR_Pos 0 /* CMSDK_GPIO ALTFUNC: ALTFUNC Position */
404#define CMSDK_GPIO_ALTFUNCCLR_Msk (0xFFFFUL /*<< CMSDK_GPIO_ALTFUNC_Pos*/) /* CMSDK_GPIO ALTFUNC: ALTFUNC Mask */
405
406/* CMSDK_GPIO INTENSET Register Definitions */
407#define CMSDK_GPIO_INTENSET_Pos 0 /* CMSDK_GPIO INTEN: INTEN Position */
408#define CMSDK_GPIO_INTENSET_Msk (0xFFFFUL /*<< CMSDK_GPIO_INTEN_Pos*/) /* CMSDK_GPIO INTEN: INTEN Mask */
409
410/* CMSDK_GPIO INTENCLR Register Definitions */
411#define CMSDK_GPIO_INTENCLR_Pos 0 /* CMSDK_GPIO INTEN: INTEN Position */
412#define CMSDK_GPIO_INTENCLR_Msk (0xFFFFUL /*<< CMSDK_GPIO_INTEN_Pos*/) /* CMSDK_GPIO INTEN: INTEN Mask */
413
414/* CMSDK_GPIO INTTYPESET Register Definitions */
415#define CMSDK_GPIO_INTTYPESET_Pos 0 /* CMSDK_GPIO INTTYPE: INTTYPE Position */
416#define CMSDK_GPIO_INTTYPESET_Msk (0xFFFFUL /*<< CMSDK_GPIO_INTTYPE_Pos*/) /* CMSDK_GPIO INTTYPE: INTTYPE Mask */
417
418/* CMSDK_GPIO INTTYPECLR Register Definitions */
419#define CMSDK_GPIO_INTTYPECLR_Pos 0 /* CMSDK_GPIO INTTYPE: INTTYPE Position */
420#define CMSDK_GPIO_INTTYPECLR_Msk (0xFFFFUL /*<< CMSDK_GPIO_INTTYPE_Pos*/) /* CMSDK_GPIO INTTYPE: INTTYPE Mask */
421
422/* CMSDK_GPIO INTPOLSET Register Definitions */
423#define CMSDK_GPIO_INTPOLSET_Pos 0 /* CMSDK_GPIO INTPOL: INTPOL Position */
424#define CMSDK_GPIO_INTPOLSET_Msk (0xFFFFUL /*<< CMSDK_GPIO_INTPOL_Pos*/) /* CMSDK_GPIO INTPOL: INTPOL Mask */
425
426/* CMSDK_GPIO INTPOLCLR Register Definitions */
427#define CMSDK_GPIO_INTPOLCLR_Pos 0 /* CMSDK_GPIO INTPOL: INTPOL Position */
428#define CMSDK_GPIO_INTPOLCLR_Msk (0xFFFFUL /*<< CMSDK_GPIO_INTPOL_Pos*/) /* CMSDK_GPIO INTPOL: INTPOL Mask */
429
430/* CMSDK_GPIO INTCLEAR Register Definitions */
431#define CMSDK_GPIO_INTSTATUS_Pos 0 /* CMSDK_GPIO INTSTATUS: INTSTATUS Position */
432#define CMSDK_GPIO_INTCLEAR_Msk (0xFFUL /*<< CMSDK_GPIO_INTSTATUS_Pos*/) /* CMSDK_GPIO INTSTATUS: INTSTATUS Mask */
433
434/* CMSDK_GPIO INTCLEAR Register Definitions */
435#define CMSDK_GPIO_INTCLEAR_Pos 0 /* CMSDK_GPIO INTCLEAR: INTCLEAR Position */
436#define CMSDK_GPIO_INTCLEAR_Msk (0xFFUL /*<< CMSDK_GPIO_INTCLEAR_Pos*/) /* CMSDK_GPIO INTCLEAR: INTCLEAR Mask */
437
438/* CMSDK_GPIO MASKLOWBYTE Register Definitions */
439#define CMSDK_GPIO_MASKLOWBYTE_Pos 0 /* CMSDK_GPIO MASKLOWBYTE: MASKLOWBYTE Position */
440#define CMSDK_GPIO_MASKLOWBYTE_Msk (0x00FFUL /*<< CMSDK_GPIO_MASKLOWBYTE_Pos*/) /* CMSDK_GPIO MASKLOWBYTE: MASKLOWBYTE Mask */
441
442/* CMSDK_GPIO MASKHIGHBYTE Register Definitions */
443#define CMSDK_GPIO_MASKHIGHBYTE_Pos 0 /* CMSDK_GPIO MASKHIGHBYTE: MASKHIGHBYTE Position */
444#define CMSDK_GPIO_MASKHIGHBYTE_Msk (0xFF00UL /*<< CMSDK_GPIO_MASKHIGHBYTE_Pos*/) /* CMSDK_GPIO MASKHIGHBYTE: MASKHIGHBYTE Mask */
445
446
447/*------------- System Control (SYSCON) --------------------------------------*/
448typedef struct
449{
450 __IOM uint32_t REMAP; /* Offset: 0x000 (R/W) Remap Control Register */
451 __IOM uint32_t PMUCTRL; /* Offset: 0x004 (R/W) PMU Control Register */
452 __IOM uint32_t RESETOP; /* Offset: 0x008 (R/W) Reset Option Register */
453 __IOM uint32_t EMICTRL; /* Offset: 0x00C (R/W) EMI Control Register */
454 __IOM uint32_t RSTINFO; /* Offset: 0x010 (R/W) Reset Information Register */
456
457/* CMSDK_SYSCON REMAP Register Definitions */
458#define CMSDK_SYSCON_REMAP_Pos 0
459#define CMSDK_SYSCON_REMAP_Msk (0x1UL /*<< CMSDK_SYSCON_REMAP_Pos*/) /* CMSDK_SYSCON MEME_CTRL: REMAP Mask */
460
461/* CMSDK_SYSCON PMUCTRL Register Definitions */
462#define CMSDK_SYSCON_PMUCTRL_EN_Pos 0
463#define CMSDK_SYSCON_PMUCTRL_EN_Msk (0x1UL /*<< CMSDK_SYSCON_PMUCTRL_EN_Pos*/) /* CMSDK_SYSCON PMUCTRL: PMUCTRL ENABLE Mask */
464
465/* CMSDK_SYSCON LOCKUPRST Register Definitions */
466#define CMSDK_SYSCON_LOCKUPRST_RESETOP_Pos 0
467#define CMSDK_SYSCON_LOCKUPRST_RESETOP_Msk (0x1UL /*<< CMSDK_SYSCON_LOCKUPRST_RESETOP_Pos*/) /* CMSDK_SYSCON SYS_CTRL: LOCKUP RESET ENABLE Mask */
468
469/* CMSDK_SYSCON EMICTRL Register Definitions */
470#define CMSDK_SYSCON_EMICTRL_SIZE_Pos 24
471#define CMSDK_SYSCON_EMICTRL_SIZE_Msk (0x1UL << CMSDK_SYSCON_EMICTRL_SIZE_Pos) /* CMSDK_SYSCON EMICTRL: SIZE Mask */
472
473#define CMSDK_SYSCON_EMICTRL_TACYC_Pos 16
474#define CMSDK_SYSCON_EMICTRL_TACYC_Msk (0x7UL << CMSDK_SYSCON_EMICTRL_TACYC_Pos) /* CMSDK_SYSCON EMICTRL: TURNAROUNDCYCLE Mask */
475
476#define CMSDK_SYSCON_EMICTRL_WCYC_Pos 8
477#define CMSDK_SYSCON_EMICTRL_WCYC_Msk (0x3UL << CMSDK_SYSCON_EMICTRL_WCYC_Pos) /* CMSDK_SYSCON EMICTRL: WRITECYCLE Mask */
478
479#define CMSDK_SYSCON_EMICTRL_RCYC_Pos 0
480#define CMSDK_SYSCON_EMICTRL_RCYC_Msk (0x7UL /*<< CMSDK_SYSCON_EMICTRL_RCYC_Pos*/) /* CMSDK_SYSCON EMICTRL: READCYCLE Mask */
481
482/* CMSDK_SYSCON RSTINFO Register Definitions */
483#define CMSDK_SYSCON_RSTINFO_LOCKUPRESET_Pos 2
484#define CMSDK_SYSCON_RSTINFO_LOCKUPRESET_Msk (0x1UL << CMSDK_SYSCON_RSTINFO_LOCKUPRESET_Pos) /* CMSDK_SYSCON RSTINFO: LOCKUPRESET Mask */
485
486#define CMSDK_SYSCON_RSTINFO_WDOGRESETREQ_Pos 1
487#define CMSDK_SYSCON_RSTINFO_WDOGRESETREQ_Msk (0x1UL << CMSDK_SYSCON_RSTINFO_WDOGRESETREQ_Pos) /* CMSDK_SYSCON RSTINFO: WDOGRESETREQ Mask */
488
489#define CMSDK_SYSCON_RSTINFO_SYSRESETREQ_Pos 0
490#define CMSDK_SYSCON_RSTINFO_SYSRESETREQ_Msk (0x1UL /*<< CMSDK_SYSCON_RSTINFO_SYSRESETREQ_Pos*/) /* CMSDK_SYSCON RSTINFO: SYSRESETREQ Mask */
491
492
493/*------------------- Watchdog ----------------------------------------------*/
494typedef struct
495{
496
497 __IOM uint32_t LOAD; /* Offset: 0x000 (R/W) Watchdog Load Register */
498 __IM uint32_t VALUE; /* Offset: 0x004 (R/ ) Watchdog Value Register */
499 __IOM uint32_t CTRL; /* Offset: 0x008 (R/W) Watchdog Control Register */
500 __OM uint32_t INTCLR; /* Offset: 0x00C ( /W) Watchdog Clear Interrupt Register */
501 __IM uint32_t RAWINTSTAT; /* Offset: 0x010 (R/ ) Watchdog Raw Interrupt Status Register */
502 __IM uint32_t MASKINTSTAT; /* Offset: 0x014 (R/ ) Watchdog Interrupt Status Register */
503 uint32_t RESERVED0[762];
504 __IOM uint32_t LOCK; /* Offset: 0xC00 (R/W) Watchdog Lock Register */
505 uint32_t RESERVED1[191];
506 __IOM uint32_t ITCR; /* Offset: 0xF00 (R/W) Watchdog Integration Test Control Register */
507 __OM uint32_t ITOP; /* Offset: 0xF04 ( /W) Watchdog Integration Test Output Set Register */
509
510/* CMSDK_WATCHDOG LOAD Register Definitions */
511#define CMSDK_Watchdog_LOAD_Pos 0 /* CMSDK_Watchdog LOAD: LOAD Position */
512#define CMSDK_Watchdog_LOAD_Msk (0xFFFFFFFFUL /*<< CMSDK_Watchdog_LOAD_Pos*/) /* CMSDK_Watchdog LOAD: LOAD Mask */
513
514/* CMSDK_WATCHDOG VALUE Register Definitions */
515#define CMSDK_Watchdog_VALUE_Pos 0 /* CMSDK_Watchdog VALUE: VALUE Position */
516#define CMSDK_Watchdog_VALUE_Msk (0xFFFFFFFFUL /*<< CMSDK_Watchdog_VALUE_Pos*/) /* CMSDK_Watchdog VALUE: VALUE Mask */
517
518/* CMSDK_WATCHDOG CTRL Register Definitions */
519#define CMSDK_Watchdog_CTRL_RESEN_Pos 1 /* CMSDK_Watchdog CTRL_RESEN: Enable Reset Output Position */
520#define CMSDK_Watchdog_CTRL_RESEN_Msk (0x1UL << CMSDK_Watchdog_CTRL_RESEN_Pos) /* CMSDK_Watchdog CTRL_RESEN: Enable Reset Output Mask */
521
522#define CMSDK_Watchdog_CTRL_INTEN_Pos 0 /* CMSDK_Watchdog CTRL_INTEN: Int Enable Position */
523#define CMSDK_Watchdog_CTRL_INTEN_Msk (0x1UL /*<< CMSDK_Watchdog_CTRL_INTEN_Pos*/) /* CMSDK_Watchdog CTRL_INTEN: Int Enable Mask */
524
525/* CMSDK_WATCHDOG INTCLR Register Definitions */
526#define CMSDK_Watchdog_INTCLR_Pos 0 /* CMSDK_Watchdog INTCLR: Int Clear Position */
527#define CMSDK_Watchdog_INTCLR_Msk (0x1UL /*<< CMSDK_Watchdog_INTCLR_Pos*/) /* CMSDK_Watchdog INTCLR: Int Clear Mask */
528
529/* CMSDK_WATCHDOG RAWINTSTAT Register Definitions */
530#define CMSDK_Watchdog_RAWINTSTAT_Pos 0 /* CMSDK_Watchdog RAWINTSTAT: Raw Int Status Position */
531#define CMSDK_Watchdog_RAWINTSTAT_Msk (0x1UL /*<< CMSDK_Watchdog_RAWINTSTAT_Pos*/) /* CMSDK_Watchdog RAWINTSTAT: Raw Int Status Mask */
532
533/* CMSDK_WATCHDOG MASKINTSTAT Register Definitions */
534#define CMSDK_Watchdog_MASKINTSTAT_Pos 0 /* CMSDK_Watchdog MASKINTSTAT: Mask Int Status Position */
535#define CMSDK_Watchdog_MASKINTSTAT_Msk (0x1UL /*<< CMSDK_Watchdog_MASKINTSTAT_Pos*/) /* CMSDK_Watchdog MASKINTSTAT: Mask Int Status Mask */
536
537/* CMSDK_WATCHDOG LOCK Register Definitions */
538#define CMSDK_Watchdog_LOCK_Pos 0 /* CMSDK_Watchdog LOCK: LOCK Position */
539#define CMSDK_Watchdog_LOCK_Msk (0x1UL /*<< CMSDK_Watchdog_LOCK_Pos*/) /* CMSDK_Watchdog LOCK: LOCK Mask */
540
541/* CMSDK_WATCHDOG INTEGTESTEN Register Definitions */
542#define CMSDK_Watchdog_INTEGTESTEN_Pos 0 /* CMSDK_Watchdog INTEGTESTEN: Integration Test Enable Position */
543#define CMSDK_Watchdog_INTEGTESTEN_Msk (0x1UL /*<< CMSDK_Watchdog_INTEGTESTEN_Pos*/) /* CMSDK_Watchdog INTEGTESTEN: Integration Test Enable Mask */
544
545/* CMSDK_WATCHDOG INTEGTESTOUTSET Register Definitions */
546#define CMSDK_Watchdog_INTEGTESTOUTSET_Pos 1 /* CMSDK_Watchdog INTEGTESTOUTSET: Integration Test Output Set Position */
547#define CMSDK_Watchdog_INTEGTESTOUTSET_Msk (0x1UL /*<< CMSDK_Watchdog_INTEGTESTOUTSET_Pos*/) /* CMSDK_Watchdog INTEGTESTOUTSET: Integration Test Output Set Mask */
548
549
550
551/* -------------------- End of section using anonymous unions ------------------- */
552#if defined (__CC_ARM)
553 #pragma pop
554#elif defined (__ICCARM__)
555 /* leave anonymous unions enabled */
556#elif (__ARMCC_VERSION >= 6010050)
557 #pragma clang diagnostic pop
558#elif defined (__GNUC__)
559 /* anonymous unions are enabled by default */
560#elif defined (__TMS470__)
561 /* anonymous unions are enabled by default */
562#elif defined (__TASKING__)
563 #pragma warning restore
564#elif defined (__CSMC__)
565 /* anonymous unions are enabled by default */
566#else
567 #warning Not supported compiler type
568#endif
569
570
571
572
573/* ================================================================================ */
574/* ================ Peripheral memory map ================ */
575/* ================================================================================ */
576
577/* Peripheral and SRAM base address */
578#define CMSDK_FLASH_BASE (0x00000000UL)
579#define CMSDK_SRAM_BASE (0x20000000UL)
580#define CMSDK_PERIPH_BASE (0x40000000UL)
581
582#define CMSDK_RAM_BASE (0x20000000UL)
583#define CMSDK_APB_BASE (0x40000000UL)
584#define CMSDK_AHB_BASE (0x40010000UL)
585#define CMSDK_S_APB_BASE (0x50000000UL)
586
587/* APB peripherals */
588#define CMSDK_TIMER0_BASE (CMSDK_APB_BASE + 0x0000UL)
589#define CMSDK_TIMER1_BASE (CMSDK_APB_BASE + 0x1000UL)
590#define CMSDK_DUALTIMER_BASE (CMSDK_APB_BASE + 0x2000UL)
591#define CMSDK_DUALTIMER_1_BASE (CMSDK_DUALTIMER_BASE)
592#define CMSDK_DUALTIMER_2_BASE (CMSDK_DUALTIMER_BASE + 0x20UL)
593#define CMSDK_UART0_BASE (CMSDK_APB_BASE + 0x4000UL)
594#define CMSDK_UART1_BASE (CMSDK_APB_BASE + 0x5000UL)
595#define CMSDK_UART2_BASE (CMSDK_APB_BASE + 0x6000UL)
596#define CMSDK_WATCHDOG_BASE (CMSDK_APB_BASE + 0x8000UL)
597
598/* AHB peripherals */
599#define CMSDK_GPIO0_BASE (CMSDK_AHB_BASE + 0x0000UL)
600#define CMSDK_GPIO1_BASE (CMSDK_AHB_BASE + 0x1000UL)
601#define CMSDK_SYSCTRL_BASE (CMSDK_AHB_BASE + 0xF000UL)
602
603/* Secure APB peripherals */
604#define CMSDK_SECURETIMER0_BASE (CMSDK_S_APB_BASE + 0x0000UL)
605#define CMSDK_SECURETIMER1_BASE (CMSDK_S_APB_BASE + 0x1000UL)
606
607
608/* ================================================================================ */
609/* ================ Peripheral declaration ================ */
610/* ================================================================================ */
611
612#define CMSDK_UART0 ((CMSDK_UART_TypeDef *) CMSDK_UART0_BASE )
613#define CMSDK_UART1 ((CMSDK_UART_TypeDef *) CMSDK_UART1_BASE )
614#define CMSDK_UART2 ((CMSDK_UART_TypeDef *) CMSDK_UART2_BASE )
615#define CMSDK_TIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER0_BASE )
616#define CMSDK_TIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_TIMER1_BASE )
617#define CMSDK_DUALTIMER ((CMSDK_DUALTIMER_BOTH_TypeDef *) CMSDK_DUALTIMER_BASE )
618#define CMSDK_DUALTIMER1 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_1_BASE )
619#define CMSDK_DUALTIMER2 ((CMSDK_DUALTIMER_SINGLE_TypeDef *) CMSDK_DUALTIMER_2_BASE )
620#define CMSDK_WATCHDOG ((CMSDK_WATCHDOG_TypeDef *) CMSDK_WATCHDOG_BASE )
621#define CMSDK_GPIO0 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO0_BASE )
622#define CMSDK_GPIO1 ((CMSDK_GPIO_TypeDef *) CMSDK_GPIO1_BASE )
623#define CMSDK_SYSCON ((CMSDK_SYSCON_TypeDef *) CMSDK_SYSCTRL_BASE )
624#define CMSDK_SECURETIMER0 ((CMSDK_TIMER_TypeDef *) CMSDK_SECURETIMER0_BASE)
625#define CMSDK_SECURETIMER1 ((CMSDK_TIMER_TypeDef *) CMSDK_SECURETIMER1_BASE)
626
627
628#ifdef __cplusplus
629}
630#endif
631
632#endif /* CMSDK_ARMv8MML_H */
enum IRQn IRQn_Type
@ SPI_0B_IRQn
Definition CMSDK_ARMv8MML.h:109
@ GPIO2_IRQn
Definition CMSDK_ARMv8MML.h:77
@ GPIO1_14_IRQn
Definition CMSDK_ARMv8MML.h:107
@ PendSV_IRQn
Definition CMSDK_ARMv8MML.h:57
@ UART4TX_IRQn
Definition CMSDK_ARMv8MML.h:82
@ TIMER1_IRQn
Definition CMSDK_ARMv8MML.h:70
@ UART2RX_IRQn
Definition CMSDK_ARMv8MML.h:65
@ I2S_IRQn
Definition CMSDK_ARMv8MML.h:75
@ UART4RX_IRQn
Definition CMSDK_ARMv8MML.h:81
@ SECURETIMER0_IRQn
Definition CMSDK_ARMv8MML.h:111
@ UART2TX_IRQn
Definition CMSDK_ARMv8MML.h:66
@ TIMER0_IRQn
Definition CMSDK_ARMv8MML.h:69
@ UART3TX_IRQn
Definition CMSDK_ARMv8MML.h:80
@ GPIO1_6_IRQn
Definition CMSDK_ARMv8MML.h:99
@ GPIO0_6_IRQn
Definition CMSDK_ARMv8MML.h:91
@ MemoryManagement_IRQn
Definition CMSDK_ARMv8MML.h:51
@ SPI_3B_IRQn
Definition CMSDK_ARMv8MML.h:115
@ SPI_4B_IRQn
Definition CMSDK_ARMv8MML.h:116
@ SVCall_IRQn
Definition CMSDK_ARMv8MML.h:55
@ GPIO1_10_IRQn
Definition CMSDK_ARMv8MML.h:103
@ UART0TX_IRQn
Definition CMSDK_ARMv8MML.h:62
@ GPIO1_5_IRQn
Definition CMSDK_ARMv8MML.h:98
@ GPIO0_2_IRQn
Definition CMSDK_ARMv8MML.h:87
@ GPIO3_IRQn
Definition CMSDK_ARMv8MML.h:78
@ SPI_2B_IRQn
Definition CMSDK_ARMv8MML.h:114
@ GPIO1ALL_IRQn
Definition CMSDK_ARMv8MML.h:68
@ GPIO1_13_IRQn
Definition CMSDK_ARMv8MML.h:106
@ UsageFault_IRQn
Definition CMSDK_ARMv8MML.h:53
@ UART_0_1_2_OVF_IRQn
Definition CMSDK_ARMv8MML.h:73
@ SysTick_IRQn
Definition CMSDK_ARMv8MML.h:58
@ GPIO1_1_IRQn
Definition CMSDK_ARMv8MML.h:94
@ GPIO0_3_IRQn
Definition CMSDK_ARMv8MML.h:88
@ ETHERNET_IRQn
Definition CMSDK_ARMv8MML.h:74
@ GPIO1_7_IRQn
Definition CMSDK_ARMv8MML.h:100
@ UART1TX_IRQn
Definition CMSDK_ARMv8MML.h:64
@ GPIO1_4_IRQn
Definition CMSDK_ARMv8MML.h:97
@ BusFault_IRQn
Definition CMSDK_ARMv8MML.h:52
@ DebugMonitor_IRQn
Definition CMSDK_ARMv8MML.h:56
@ GPIO1_11_IRQn
Definition CMSDK_ARMv8MML.h:104
@ GPIO0ALL_IRQn
Definition CMSDK_ARMv8MML.h:67
@ SecureFault_IRQn
Definition CMSDK_ARMv8MML.h:54
@ GPIO0_5_IRQn
Definition CMSDK_ARMv8MML.h:90
@ UART0RX_IRQn
Definition CMSDK_ARMv8MML.h:61
@ GPIO1_12_IRQn
Definition CMSDK_ARMv8MML.h:105
@ HardFault_IRQn
Definition CMSDK_ARMv8MML.h:50
@ GPIO0_4_IRQn
Definition CMSDK_ARMv8MML.h:89
@ DUALTIMER_IRQn
Definition CMSDK_ARMv8MML.h:71
@ GPIO1_0_IRQn
Definition CMSDK_ARMv8MML.h:93
@ GPIO1_9_IRQn
Definition CMSDK_ARMv8MML.h:102
@ GPIO0_1_IRQn
Definition CMSDK_ARMv8MML.h:86
@ GPIO1_3_IRQn
Definition CMSDK_ARMv8MML.h:96
@ SPI_1B_IRQn
Definition CMSDK_ARMv8MML.h:113
@ TOUCHSCREEN_IRQn
Definition CMSDK_ARMv8MML.h:76
@ GPIO1_8_IRQn
Definition CMSDK_ARMv8MML.h:101
@ GPIO1_2_IRQn
Definition CMSDK_ARMv8MML.h:95
@ SPI_3_4_IRQn
Definition CMSDK_ARMv8MML.h:84
@ SECURETIMER1_IRQn
Definition CMSDK_ARMv8MML.h:112
@ Reserved_IRQn
Definition CMSDK_ARMv8MML.h:110
@ UART1RX_IRQn
Definition CMSDK_ARMv8MML.h:63
@ NonMaskableInt_IRQn
Definition CMSDK_ARMv8MML.h:49
@ GPIO0_7_IRQn
Definition CMSDK_ARMv8MML.h:92
@ SPI_2_IRQn
Definition CMSDK_ARMv8MML.h:83
@ SPI_0_1_IRQn
Definition CMSDK_ARMv8MML.h:72
@ GPIO1_15_IRQn
Definition CMSDK_ARMv8MML.h:108
@ UART3RX_IRQn
Definition CMSDK_ARMv8MML.h:79
@ GPIO0_0_IRQn
Definition CMSDK_ARMv8MML.h:85
IRQn
Definition f1c100s_reg.h:1131
#define __OM
Definition i_reg_gpio.h:47
#define __IM
Definition i_reg_gpio.h:42
#define __IOM
Definition i_reg_gpio.h:52
unsigned uint32_t
Definition stdint.h:9
Definition CMSDK_ARMv8MBL.h:278
Definition CMSDK_ARMv8MBL.h:301
Definition CMSDK_ARMv8MBL.h:357
Definition CMSDK_ARMv8MBL.h:447
Definition CMSDK_ARMv8MBL.h:235
Definition CMSDK_ARMv8MBL.h:165
Definition CMSDK_ARMv8MBL.h:493
CMSIS Device System Header File for CMSDK_ARMv8MML Device.