]> git.donarmstrong.com Git - qmk_firmware.git/blob - tool/mbed/mbed-sdk/libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_K20XX/TARGET_K20D50M/MK20D5.h
Squashed 'tmk_core/' changes from 7967731..b9e0ea0
[qmk_firmware.git] / tool / mbed / mbed-sdk / libraries / mbed / targets / cmsis / TARGET_Freescale / TARGET_K20XX / TARGET_K20D50M / MK20D5.h
1 /*
2 ** ###################################################################
3 **     Compilers:           ARM Compiler
4 **                          Freescale C/C++ for Embedded ARM
5 **                          GNU C Compiler
6 **                          IAR ANSI C/C++ Compiler for ARM
7 **
8 **     Reference manuals:   K20P64M50SF0RM Rev. 1, Oct 2011
9 **                          K20P32M50SF0RM Rev. 1, Oct 2011
10 **                          K20P48M50SF0RM Rev. 1, Oct 2011
11 **
12 **     Version:             rev. 2.0, 2012-03-19
13 **
14 **     Abstract:
15 **         CMSIS Peripheral Access Layer for MK20D5
16 **
17 **     Copyright: 1997 - 2015 Freescale Semiconductor, Inc. All Rights Reserved.
18 **
19 **     http:                 www.freescale.com
20 **     mail:                 support@freescale.com
21 **
22 **     Revisions:
23 **     - rev. 1.0 (2011-12-15)
24 **         Initial version
25 **     - rev. 2.0 (2012-03-19)
26 **         PDB Peripheral register structure updated.
27 **         DMA Registers and bits for unsupported DMA channels removed.
28 **
29 ** ###################################################################
30 */
31
32 /**
33  * @file MK20D5.h
34  * @version 2.0
35  * @date 2012-03-19
36  * @brief CMSIS Peripheral Access Layer for MK20D5
37  *
38  * CMSIS Peripheral Access Layer for MK20D5
39  */
40
41 #if !defined(MK20D5_H_)
42 #define MK20D5_H_                                /**< Symbol preventing repeated inclusion */
43
44 /** Memory map major version (memory maps with equal major version number are
45  * compatible) */
46 #define MCU_MEM_MAP_VERSION 0x0200u
47 /** Memory map minor version */
48 #define MCU_MEM_MAP_VERSION_MINOR 0x0000u
49
50 /**
51  * @brief Macro to access a single bit of a peripheral register (bit band region
52  *        0x40000000 to 0x400FFFFF) using the bit-band alias region access.
53  * @param Reg Register to access.
54  * @param Bit Bit number to access.
55  * @return Value of the targeted bit in the bit band region.
56  */
57 #define BITBAND_REG(Reg,Bit) (*((uint32_t volatile*)(0x42000000u + (32u*((uint32_t)&(Reg) - (uint32_t)0x40000000u)) + (4u*((uint32_t)(Bit))))))
58
59 /* ----------------------------------------------------------------------------
60    -- Interrupt vector numbers
61    ---------------------------------------------------------------------------- */
62
63 /**
64  * @addtogroup Interrupt_vector_numbers Interrupt vector numbers
65  * @{
66  */
67
68 /** Interrupt Number Definitions */
69 typedef enum IRQn {
70   /* Core interrupts */
71   NonMaskableInt_IRQn          = -14,              /**< Non Maskable Interrupt */
72   MemoryManagement_IRQn        = -12,              /**< Cortex-M4 Memory Management Interrupt */
73   BusFault_IRQn                = -11,              /**< Cortex-M4 Bus Fault Interrupt */
74   UsageFault_IRQn              = -10,              /**< Cortex-M4 Usage Fault Interrupt */
75   SVCall_IRQn                  = -5,               /**< Cortex-M4 SV Call Interrupt */
76   DebugMonitor_IRQn            = -4,               /**< Cortex-M4 Debug Monitor Interrupt */
77   PendSV_IRQn                  = -2,               /**< Cortex-M4 Pend SV Interrupt */
78   SysTick_IRQn                 = -1,               /**< Cortex-M4 System Tick Interrupt */
79
80   /* Device specific interrupts */
81   DMA0_IRQn                    = 0,                /**< DMA channel 0 transfer complete interrupt */
82   DMA1_IRQn                    = 1,                /**< DMA channel 1 transfer complete interrupt */
83   DMA2_IRQn                    = 2,                /**< DMA channel 2 transfer complete interrupt */
84   DMA3_IRQn                    = 3,                /**< DMA channel 3 transfer complete interrupt */
85   DMA_Error_IRQn               = 4,                /**< DMA error interrupt */
86   Reserved21_IRQn              = 5,                /**< Reserved interrupt 21 */
87   FTFL_IRQn                    = 6,                /**< FTFL interrupt */
88   Read_Collision_IRQn          = 7,                /**< Read collision interrupt */
89   LVD_LVW_IRQn                 = 8,                /**< Low Voltage Detect, Low Voltage Warning */
90   LLW_IRQn                     = 9,                /**< Low Leakage Wakeup */
91   Watchdog_IRQn                = 10,               /**< WDOG interrupt */
92   I2C0_IRQn                    = 11,               /**< I2C0 interrupt */
93   SPI0_IRQn                    = 12,               /**< SPI0 interrupt */
94   I2S0_Tx_IRQn                 = 13,               /**< I2S0 transmit interrupt */
95   I2S0_Rx_IRQn                 = 14,               /**< I2S0 receive interrupt */
96   UART0_LON_IRQn               = 15,               /**< UART0 LON interrupt */
97   UART0_RX_TX_IRQn             = 16,               /**< UART0 receive/transmit interrupt */
98   UART0_ERR_IRQn               = 17,               /**< UART0 error interrupt */
99   UART1_RX_TX_IRQn             = 18,               /**< UART1 receive/transmit interrupt */
100   UART1_ERR_IRQn               = 19,               /**< UART1 error interrupt */
101   UART2_RX_TX_IRQn             = 20,               /**< UART2 receive/transmit interrupt */
102   UART2_ERR_IRQn               = 21,               /**< UART2 error interrupt */
103   ADC0_IRQn                    = 22,               /**< ADC0 interrupt */
104   CMP0_IRQn                    = 23,               /**< CMP0 interrupt */
105   CMP1_IRQn                    = 24,               /**< CMP1 interrupt */
106   FTM0_IRQn                    = 25,               /**< FTM0 fault, overflow and channels interrupt */
107   FTM1_IRQn                    = 26,               /**< FTM1 fault, overflow and channels interrupt */
108   CMT_IRQn                     = 27,               /**< CMT interrupt */
109   RTC_IRQn                     = 28,               /**< RTC interrupt */
110   RTC_Seconds_IRQn             = 29,               /**< RTC seconds interrupt */
111   PIT0_IRQn                    = 30,               /**< PIT timer channel 0 interrupt */
112   PIT1_IRQn                    = 31,               /**< PIT timer channel 1 interrupt */
113   PIT2_IRQn                    = 32,               /**< PIT timer channel 2 interrupt */
114   PIT3_IRQn                    = 33,               /**< PIT timer channel 3 interrupt */
115   PDB0_IRQn                    = 34,               /**< PDB0 interrupt */
116   USB0_IRQn                    = 35,               /**< USB0 interrupt */
117   USBDCD_IRQn                  = 36,               /**< USBDCD interrupt */
118   TSI0_IRQn                    = 37,               /**< TSI0 interrupt */
119   MCG_IRQn                     = 38,               /**< MCG interrupt */
120   LPTimer_IRQn                 = 39,               /**< LPTimer interrupt */
121   PORTA_IRQn                   = 40,               /**< Port A interrupt */
122   PORTB_IRQn                   = 41,               /**< Port B interrupt */
123   PORTC_IRQn                   = 42,               /**< Port C interrupt */
124   PORTD_IRQn                   = 43,               /**< Port D interrupt */
125   PORTE_IRQn                   = 44,               /**< Port E interrupt */
126   SWI_IRQn                     = 45                /**< Software interrupt */
127 } IRQn_Type;
128
129 /**
130  * @}
131  */ /* end of group Interrupt_vector_numbers */
132
133
134 /* ----------------------------------------------------------------------------
135    -- Cortex M4 Core Configuration
136    ---------------------------------------------------------------------------- */
137
138 /**
139  * @addtogroup Cortex_Core_Configuration Cortex M4 Core Configuration
140  * @{
141  */
142
143 #define __MPU_PRESENT                  0         /**< Defines if an MPU is present or not */
144 #define __NVIC_PRIO_BITS               4         /**< Number of priority bits implemented in the NVIC */
145 #define __Vendor_SysTickConfig         0         /**< Vendor specific implementation of SysTickConfig is defined */
146
147 #include "core_cm4.h"                  /* Core Peripheral Access Layer */
148 #include "system_MK20D5.h"             /* Device specific configuration file */
149
150 /**
151  * @}
152  */ /* end of group Cortex_Core_Configuration */
153
154
155 /* ----------------------------------------------------------------------------
156    -- Device Peripheral Access Layer
157    ---------------------------------------------------------------------------- */
158
159 /**
160  * @addtogroup Peripheral_access_layer Device Peripheral Access Layer
161  * @{
162  */
163
164
165 /*
166 ** Start of section using anonymous unions
167 */
168
169 #if defined(__ARMCC_VERSION)
170   #pragma push
171   #pragma anon_unions
172 #elif defined(__CWCC__)
173   #pragma push
174   #pragma cpp_extensions on
175 #elif defined(__GNUC__)
176   /* anonymous unions are enabled by default */
177 #elif defined(__IAR_SYSTEMS_ICC__)
178   #pragma language=extended
179 #else
180   #error Not supported compiler type
181 #endif
182
183 /* ----------------------------------------------------------------------------
184    -- ADC Peripheral Access Layer
185    ---------------------------------------------------------------------------- */
186
187 /**
188  * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer
189  * @{
190  */
191
192 /** ADC - Register Layout Typedef */
193 typedef struct {
194   __IO uint32_t SC1[2];                            /**< ADC status and control registers 1, array offset: 0x0, array step: 0x4 */
195   __IO uint32_t CFG1;                              /**< ADC configuration register 1, offset: 0x8 */
196   __IO uint32_t CFG2;                              /**< Configuration register 2, offset: 0xC */
197   __I  uint32_t R[2];                              /**< ADC data result register, array offset: 0x10, array step: 0x4 */
198   __IO uint32_t CV1;                               /**< Compare value registers, offset: 0x18 */
199   __IO uint32_t CV2;                               /**< Compare value registers, offset: 0x1C */
200   __IO uint32_t SC2;                               /**< Status and control register 2, offset: 0x20 */
201   __IO uint32_t SC3;                               /**< Status and control register 3, offset: 0x24 */
202   __IO uint32_t OFS;                               /**< ADC offset correction register, offset: 0x28 */
203   __IO uint32_t PG;                                /**< ADC plus-side gain register, offset: 0x2C */
204   __IO uint32_t MG;                                /**< ADC minus-side gain register, offset: 0x30 */
205   __IO uint32_t CLPD;                              /**< ADC plus-side general calibration value register, offset: 0x34 */
206   __IO uint32_t CLPS;                              /**< ADC plus-side general calibration value register, offset: 0x38 */
207   __IO uint32_t CLP4;                              /**< ADC plus-side general calibration value register, offset: 0x3C */
208   __IO uint32_t CLP3;                              /**< ADC plus-side general calibration value register, offset: 0x40 */
209   __IO uint32_t CLP2;                              /**< ADC plus-side general calibration value register, offset: 0x44 */
210   __IO uint32_t CLP1;                              /**< ADC plus-side general calibration value register, offset: 0x48 */
211   __IO uint32_t CLP0;                              /**< ADC plus-side general calibration value register, offset: 0x4C */
212        uint8_t RESERVED_0[4];
213   __IO uint32_t CLMD;                              /**< ADC minus-side general calibration value register, offset: 0x54 */
214   __IO uint32_t CLMS;                              /**< ADC minus-side general calibration value register, offset: 0x58 */
215   __IO uint32_t CLM4;                              /**< ADC minus-side general calibration value register, offset: 0x5C */
216   __IO uint32_t CLM3;                              /**< ADC minus-side general calibration value register, offset: 0x60 */
217   __IO uint32_t CLM2;                              /**< ADC minus-side general calibration value register, offset: 0x64 */
218   __IO uint32_t CLM1;                              /**< ADC minus-side general calibration value register, offset: 0x68 */
219   __IO uint32_t CLM0;                              /**< ADC minus-side general calibration value register, offset: 0x6C */
220 } ADC_Type;
221
222 /* ----------------------------------------------------------------------------
223    -- ADC Register Masks
224    ---------------------------------------------------------------------------- */
225
226 /**
227  * @addtogroup ADC_Register_Masks ADC Register Masks
228  * @{
229  */
230
231 /* SC1 Bit Fields */
232 #define ADC_SC1_ADCH_MASK                        0x1Fu
233 #define ADC_SC1_ADCH_SHIFT                       0
234 #define ADC_SC1_ADCH(x)                          (((uint32_t)(((uint32_t)(x))<<ADC_SC1_ADCH_SHIFT))&ADC_SC1_ADCH_MASK)
235 #define ADC_SC1_DIFF_MASK                        0x20u
236 #define ADC_SC1_DIFF_SHIFT                       5
237 #define ADC_SC1_AIEN_MASK                        0x40u
238 #define ADC_SC1_AIEN_SHIFT                       6
239 #define ADC_SC1_COCO_MASK                        0x80u
240 #define ADC_SC1_COCO_SHIFT                       7
241 /* CFG1 Bit Fields */
242 #define ADC_CFG1_ADICLK_MASK                     0x3u
243 #define ADC_CFG1_ADICLK_SHIFT                    0
244 #define ADC_CFG1_ADICLK(x)                       (((uint32_t)(((uint32_t)(x))<<ADC_CFG1_ADICLK_SHIFT))&ADC_CFG1_ADICLK_MASK)
245 #define ADC_CFG1_MODE_MASK                       0xCu
246 #define ADC_CFG1_MODE_SHIFT                      2
247 #define ADC_CFG1_MODE(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CFG1_MODE_SHIFT))&ADC_CFG1_MODE_MASK)
248 #define ADC_CFG1_ADLSMP_MASK                     0x10u
249 #define ADC_CFG1_ADLSMP_SHIFT                    4
250 #define ADC_CFG1_ADIV_MASK                       0x60u
251 #define ADC_CFG1_ADIV_SHIFT                      5
252 #define ADC_CFG1_ADIV(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CFG1_ADIV_SHIFT))&ADC_CFG1_ADIV_MASK)
253 #define ADC_CFG1_ADLPC_MASK                      0x80u
254 #define ADC_CFG1_ADLPC_SHIFT                     7
255 /* CFG2 Bit Fields */
256 #define ADC_CFG2_ADLSTS_MASK                     0x3u
257 #define ADC_CFG2_ADLSTS_SHIFT                    0
258 #define ADC_CFG2_ADLSTS(x)                       (((uint32_t)(((uint32_t)(x))<<ADC_CFG2_ADLSTS_SHIFT))&ADC_CFG2_ADLSTS_MASK)
259 #define ADC_CFG2_ADHSC_MASK                      0x4u
260 #define ADC_CFG2_ADHSC_SHIFT                     2
261 #define ADC_CFG2_ADACKEN_MASK                    0x8u
262 #define ADC_CFG2_ADACKEN_SHIFT                   3
263 #define ADC_CFG2_MUXSEL_MASK                     0x10u
264 #define ADC_CFG2_MUXSEL_SHIFT                    4
265 /* R Bit Fields */
266 #define ADC_R_D_MASK                             0xFFFFu
267 #define ADC_R_D_SHIFT                            0
268 #define ADC_R_D(x)                               (((uint32_t)(((uint32_t)(x))<<ADC_R_D_SHIFT))&ADC_R_D_MASK)
269 /* CV1 Bit Fields */
270 #define ADC_CV1_CV_MASK                          0xFFFFu
271 #define ADC_CV1_CV_SHIFT                         0
272 #define ADC_CV1_CV(x)                            (((uint32_t)(((uint32_t)(x))<<ADC_CV1_CV_SHIFT))&ADC_CV1_CV_MASK)
273 /* CV2 Bit Fields */
274 #define ADC_CV2_CV_MASK                          0xFFFFu
275 #define ADC_CV2_CV_SHIFT                         0
276 #define ADC_CV2_CV(x)                            (((uint32_t)(((uint32_t)(x))<<ADC_CV2_CV_SHIFT))&ADC_CV2_CV_MASK)
277 /* SC2 Bit Fields */
278 #define ADC_SC2_REFSEL_MASK                      0x3u
279 #define ADC_SC2_REFSEL_SHIFT                     0
280 #define ADC_SC2_REFSEL(x)                        (((uint32_t)(((uint32_t)(x))<<ADC_SC2_REFSEL_SHIFT))&ADC_SC2_REFSEL_MASK)
281 #define ADC_SC2_DMAEN_MASK                       0x4u
282 #define ADC_SC2_DMAEN_SHIFT                      2
283 #define ADC_SC2_ACREN_MASK                       0x8u
284 #define ADC_SC2_ACREN_SHIFT                      3
285 #define ADC_SC2_ACFGT_MASK                       0x10u
286 #define ADC_SC2_ACFGT_SHIFT                      4
287 #define ADC_SC2_ACFE_MASK                        0x20u
288 #define ADC_SC2_ACFE_SHIFT                       5
289 #define ADC_SC2_ADTRG_MASK                       0x40u
290 #define ADC_SC2_ADTRG_SHIFT                      6
291 #define ADC_SC2_ADACT_MASK                       0x80u
292 #define ADC_SC2_ADACT_SHIFT                      7
293 /* SC3 Bit Fields */
294 #define ADC_SC3_AVGS_MASK                        0x3u
295 #define ADC_SC3_AVGS_SHIFT                       0
296 #define ADC_SC3_AVGS(x)                          (((uint32_t)(((uint32_t)(x))<<ADC_SC3_AVGS_SHIFT))&ADC_SC3_AVGS_MASK)
297 #define ADC_SC3_AVGE_MASK                        0x4u
298 #define ADC_SC3_AVGE_SHIFT                       2
299 #define ADC_SC3_ADCO_MASK                        0x8u
300 #define ADC_SC3_ADCO_SHIFT                       3
301 #define ADC_SC3_CALF_MASK                        0x40u
302 #define ADC_SC3_CALF_SHIFT                       6
303 #define ADC_SC3_CAL_MASK                         0x80u
304 #define ADC_SC3_CAL_SHIFT                        7
305 /* OFS Bit Fields */
306 #define ADC_OFS_OFS_MASK                         0xFFFFu
307 #define ADC_OFS_OFS_SHIFT                        0
308 #define ADC_OFS_OFS(x)                           (((uint32_t)(((uint32_t)(x))<<ADC_OFS_OFS_SHIFT))&ADC_OFS_OFS_MASK)
309 /* PG Bit Fields */
310 #define ADC_PG_PG_MASK                           0xFFFFu
311 #define ADC_PG_PG_SHIFT                          0
312 #define ADC_PG_PG(x)                             (((uint32_t)(((uint32_t)(x))<<ADC_PG_PG_SHIFT))&ADC_PG_PG_MASK)
313 /* MG Bit Fields */
314 #define ADC_MG_MG_MASK                           0xFFFFu
315 #define ADC_MG_MG_SHIFT                          0
316 #define ADC_MG_MG(x)                             (((uint32_t)(((uint32_t)(x))<<ADC_MG_MG_SHIFT))&ADC_MG_MG_MASK)
317 /* CLPD Bit Fields */
318 #define ADC_CLPD_CLPD_MASK                       0x3Fu
319 #define ADC_CLPD_CLPD_SHIFT                      0
320 #define ADC_CLPD_CLPD(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLPD_CLPD_SHIFT))&ADC_CLPD_CLPD_MASK)
321 /* CLPS Bit Fields */
322 #define ADC_CLPS_CLPS_MASK                       0x3Fu
323 #define ADC_CLPS_CLPS_SHIFT                      0
324 #define ADC_CLPS_CLPS(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLPS_CLPS_SHIFT))&ADC_CLPS_CLPS_MASK)
325 /* CLP4 Bit Fields */
326 #define ADC_CLP4_CLP4_MASK                       0x3FFu
327 #define ADC_CLP4_CLP4_SHIFT                      0
328 #define ADC_CLP4_CLP4(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLP4_CLP4_SHIFT))&ADC_CLP4_CLP4_MASK)
329 /* CLP3 Bit Fields */
330 #define ADC_CLP3_CLP3_MASK                       0x1FFu
331 #define ADC_CLP3_CLP3_SHIFT                      0
332 #define ADC_CLP3_CLP3(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLP3_CLP3_SHIFT))&ADC_CLP3_CLP3_MASK)
333 /* CLP2 Bit Fields */
334 #define ADC_CLP2_CLP2_MASK                       0xFFu
335 #define ADC_CLP2_CLP2_SHIFT                      0
336 #define ADC_CLP2_CLP2(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLP2_CLP2_SHIFT))&ADC_CLP2_CLP2_MASK)
337 /* CLP1 Bit Fields */
338 #define ADC_CLP1_CLP1_MASK                       0x7Fu
339 #define ADC_CLP1_CLP1_SHIFT                      0
340 #define ADC_CLP1_CLP1(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLP1_CLP1_SHIFT))&ADC_CLP1_CLP1_MASK)
341 /* CLP0 Bit Fields */
342 #define ADC_CLP0_CLP0_MASK                       0x3Fu
343 #define ADC_CLP0_CLP0_SHIFT                      0
344 #define ADC_CLP0_CLP0(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLP0_CLP0_SHIFT))&ADC_CLP0_CLP0_MASK)
345 /* CLMD Bit Fields */
346 #define ADC_CLMD_CLMD_MASK                       0x3Fu
347 #define ADC_CLMD_CLMD_SHIFT                      0
348 #define ADC_CLMD_CLMD(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLMD_CLMD_SHIFT))&ADC_CLMD_CLMD_MASK)
349 /* CLMS Bit Fields */
350 #define ADC_CLMS_CLMS_MASK                       0x3Fu
351 #define ADC_CLMS_CLMS_SHIFT                      0
352 #define ADC_CLMS_CLMS(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLMS_CLMS_SHIFT))&ADC_CLMS_CLMS_MASK)
353 /* CLM4 Bit Fields */
354 #define ADC_CLM4_CLM4_MASK                       0x3FFu
355 #define ADC_CLM4_CLM4_SHIFT                      0
356 #define ADC_CLM4_CLM4(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLM4_CLM4_SHIFT))&ADC_CLM4_CLM4_MASK)
357 /* CLM3 Bit Fields */
358 #define ADC_CLM3_CLM3_MASK                       0x1FFu
359 #define ADC_CLM3_CLM3_SHIFT                      0
360 #define ADC_CLM3_CLM3(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLM3_CLM3_SHIFT))&ADC_CLM3_CLM3_MASK)
361 /* CLM2 Bit Fields */
362 #define ADC_CLM2_CLM2_MASK                       0xFFu
363 #define ADC_CLM2_CLM2_SHIFT                      0
364 #define ADC_CLM2_CLM2(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLM2_CLM2_SHIFT))&ADC_CLM2_CLM2_MASK)
365 /* CLM1 Bit Fields */
366 #define ADC_CLM1_CLM1_MASK                       0x7Fu
367 #define ADC_CLM1_CLM1_SHIFT                      0
368 #define ADC_CLM1_CLM1(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLM1_CLM1_SHIFT))&ADC_CLM1_CLM1_MASK)
369 /* CLM0 Bit Fields */
370 #define ADC_CLM0_CLM0_MASK                       0x3Fu
371 #define ADC_CLM0_CLM0_SHIFT                      0
372 #define ADC_CLM0_CLM0(x)                         (((uint32_t)(((uint32_t)(x))<<ADC_CLM0_CLM0_SHIFT))&ADC_CLM0_CLM0_MASK)
373
374 /**
375  * @}
376  */ /* end of group ADC_Register_Masks */
377
378
379 /* ADC - Peripheral instance base addresses */
380 /** Peripheral ADC0 base address */
381 #define ADC0_BASE                                (0x4003B000u)
382 /** Peripheral ADC0 base pointer */
383 #define ADC0                                     ((ADC_Type *)ADC0_BASE)
384
385 /**
386  * @}
387  */ /* end of group ADC_Peripheral_Access_Layer */
388
389
390 /* ----------------------------------------------------------------------------
391    -- CMP Peripheral Access Layer
392    ---------------------------------------------------------------------------- */
393
394 /**
395  * @addtogroup CMP_Peripheral_Access_Layer CMP Peripheral Access Layer
396  * @{
397  */
398
399 /** CMP - Register Layout Typedef */
400 typedef struct {
401   __IO uint8_t CR0;                                /**< CMP Control Register 0, offset: 0x0 */
402   __IO uint8_t CR1;                                /**< CMP Control Register 1, offset: 0x1 */
403   __IO uint8_t FPR;                                /**< CMP Filter Period Register, offset: 0x2 */
404   __IO uint8_t SCR;                                /**< CMP Status and Control Register, offset: 0x3 */
405   __IO uint8_t DACCR;                              /**< DAC Control Register, offset: 0x4 */
406   __IO uint8_t MUXCR;                              /**< MUX Control Register, offset: 0x5 */
407 } CMP_Type;
408
409 /* ----------------------------------------------------------------------------
410    -- CMP Register Masks
411    ---------------------------------------------------------------------------- */
412
413 /**
414  * @addtogroup CMP_Register_Masks CMP Register Masks
415  * @{
416  */
417
418 /* CR0 Bit Fields */
419 #define CMP_CR0_HYSTCTR_MASK                     0x3u
420 #define CMP_CR0_HYSTCTR_SHIFT                    0
421 #define CMP_CR0_HYSTCTR(x)                       (((uint8_t)(((uint8_t)(x))<<CMP_CR0_HYSTCTR_SHIFT))&CMP_CR0_HYSTCTR_MASK)
422 #define CMP_CR0_FILTER_CNT_MASK                  0x70u
423 #define CMP_CR0_FILTER_CNT_SHIFT                 4
424 #define CMP_CR0_FILTER_CNT(x)                    (((uint8_t)(((uint8_t)(x))<<CMP_CR0_FILTER_CNT_SHIFT))&CMP_CR0_FILTER_CNT_MASK)
425 /* CR1 Bit Fields */
426 #define CMP_CR1_EN_MASK                          0x1u
427 #define CMP_CR1_EN_SHIFT                         0
428 #define CMP_CR1_OPE_MASK                         0x2u
429 #define CMP_CR1_OPE_SHIFT                        1
430 #define CMP_CR1_COS_MASK                         0x4u
431 #define CMP_CR1_COS_SHIFT                        2
432 #define CMP_CR1_INV_MASK                         0x8u
433 #define CMP_CR1_INV_SHIFT                        3
434 #define CMP_CR1_PMODE_MASK                       0x10u
435 #define CMP_CR1_PMODE_SHIFT                      4
436 #define CMP_CR1_WE_MASK                          0x40u
437 #define CMP_CR1_WE_SHIFT                         6
438 #define CMP_CR1_SE_MASK                          0x80u
439 #define CMP_CR1_SE_SHIFT                         7
440 /* FPR Bit Fields */
441 #define CMP_FPR_FILT_PER_MASK                    0xFFu
442 #define CMP_FPR_FILT_PER_SHIFT                   0
443 #define CMP_FPR_FILT_PER(x)                      (((uint8_t)(((uint8_t)(x))<<CMP_FPR_FILT_PER_SHIFT))&CMP_FPR_FILT_PER_MASK)
444 /* SCR Bit Fields */
445 #define CMP_SCR_COUT_MASK                        0x1u
446 #define CMP_SCR_COUT_SHIFT                       0
447 #define CMP_SCR_CFF_MASK                         0x2u
448 #define CMP_SCR_CFF_SHIFT                        1
449 #define CMP_SCR_CFR_MASK                         0x4u
450 #define CMP_SCR_CFR_SHIFT                        2
451 #define CMP_SCR_IEF_MASK                         0x8u
452 #define CMP_SCR_IEF_SHIFT                        3
453 #define CMP_SCR_IER_MASK                         0x10u
454 #define CMP_SCR_IER_SHIFT                        4
455 #define CMP_SCR_DMAEN_MASK                       0x40u
456 #define CMP_SCR_DMAEN_SHIFT                      6
457 /* DACCR Bit Fields */
458 #define CMP_DACCR_VOSEL_MASK                     0x3Fu
459 #define CMP_DACCR_VOSEL_SHIFT                    0
460 #define CMP_DACCR_VOSEL(x)                       (((uint8_t)(((uint8_t)(x))<<CMP_DACCR_VOSEL_SHIFT))&CMP_DACCR_VOSEL_MASK)
461 #define CMP_DACCR_VRSEL_MASK                     0x40u
462 #define CMP_DACCR_VRSEL_SHIFT                    6
463 #define CMP_DACCR_DACEN_MASK                     0x80u
464 #define CMP_DACCR_DACEN_SHIFT                    7
465 /* MUXCR Bit Fields */
466 #define CMP_MUXCR_MSEL_MASK                      0x7u
467 #define CMP_MUXCR_MSEL_SHIFT                     0
468 #define CMP_MUXCR_MSEL(x)                        (((uint8_t)(((uint8_t)(x))<<CMP_MUXCR_MSEL_SHIFT))&CMP_MUXCR_MSEL_MASK)
469 #define CMP_MUXCR_PSEL_MASK                      0x38u
470 #define CMP_MUXCR_PSEL_SHIFT                     3
471 #define CMP_MUXCR_PSEL(x)                        (((uint8_t)(((uint8_t)(x))<<CMP_MUXCR_PSEL_SHIFT))&CMP_MUXCR_PSEL_MASK)
472
473 /**
474  * @}
475  */ /* end of group CMP_Register_Masks */
476
477
478 /* CMP - Peripheral instance base addresses */
479 /** Peripheral CMP0 base address */
480 #define CMP0_BASE                                (0x40073000u)
481 /** Peripheral CMP0 base pointer */
482 #define CMP0                                     ((CMP_Type *)CMP0_BASE)
483 /** Peripheral CMP1 base address */
484 #define CMP1_BASE                                (0x40073008u)
485 /** Peripheral CMP1 base pointer */
486 #define CMP1                                     ((CMP_Type *)CMP1_BASE)
487
488 /**
489  * @}
490  */ /* end of group CMP_Peripheral_Access_Layer */
491
492
493 /* ----------------------------------------------------------------------------
494    -- CMT Peripheral Access Layer
495    ---------------------------------------------------------------------------- */
496
497 /**
498  * @addtogroup CMT_Peripheral_Access_Layer CMT Peripheral Access Layer
499  * @{
500  */
501
502 /** CMT - Register Layout Typedef */
503 typedef struct {
504   __IO uint8_t CGH1;                               /**< CMT Carrier Generator High Data Register 1, offset: 0x0 */
505   __IO uint8_t CGL1;                               /**< CMT Carrier Generator Low Data Register 1, offset: 0x1 */
506   __IO uint8_t CGH2;                               /**< CMT Carrier Generator High Data Register 2, offset: 0x2 */
507   __IO uint8_t CGL2;                               /**< CMT Carrier Generator Low Data Register 2, offset: 0x3 */
508   __IO uint8_t OC;                                 /**< CMT Output Control Register, offset: 0x4 */
509   __IO uint8_t MSC;                                /**< CMT Modulator Status and Control Register, offset: 0x5 */
510   __IO uint8_t CMD1;                               /**< CMT Modulator Data Register Mark High, offset: 0x6 */
511   __IO uint8_t CMD2;                               /**< CMT Modulator Data Register Mark Low, offset: 0x7 */
512   __IO uint8_t CMD3;                               /**< CMT Modulator Data Register Space High, offset: 0x8 */
513   __IO uint8_t CMD4;                               /**< CMT Modulator Data Register Space Low, offset: 0x9 */
514   __IO uint8_t PPS;                                /**< CMT Primary Prescaler Register, offset: 0xA */
515   __IO uint8_t DMA;                                /**< CMT Direct Memory Access, offset: 0xB */
516 } CMT_Type;
517
518 /* ----------------------------------------------------------------------------
519    -- CMT Register Masks
520    ---------------------------------------------------------------------------- */
521
522 /**
523  * @addtogroup CMT_Register_Masks CMT Register Masks
524  * @{
525  */
526
527 /* CGH1 Bit Fields */
528 #define CMT_CGH1_PH_MASK                         0xFFu
529 #define CMT_CGH1_PH_SHIFT                        0
530 #define CMT_CGH1_PH(x)                           (((uint8_t)(((uint8_t)(x))<<CMT_CGH1_PH_SHIFT))&CMT_CGH1_PH_MASK)
531 /* CGL1 Bit Fields */
532 #define CMT_CGL1_PL_MASK                         0xFFu
533 #define CMT_CGL1_PL_SHIFT                        0
534 #define CMT_CGL1_PL(x)                           (((uint8_t)(((uint8_t)(x))<<CMT_CGL1_PL_SHIFT))&CMT_CGL1_PL_MASK)
535 /* CGH2 Bit Fields */
536 #define CMT_CGH2_SH_MASK                         0xFFu
537 #define CMT_CGH2_SH_SHIFT                        0
538 #define CMT_CGH2_SH(x)                           (((uint8_t)(((uint8_t)(x))<<CMT_CGH2_SH_SHIFT))&CMT_CGH2_SH_MASK)
539 /* CGL2 Bit Fields */
540 #define CMT_CGL2_SL_MASK                         0xFFu
541 #define CMT_CGL2_SL_SHIFT                        0
542 #define CMT_CGL2_SL(x)                           (((uint8_t)(((uint8_t)(x))<<CMT_CGL2_SL_SHIFT))&CMT_CGL2_SL_MASK)
543 /* OC Bit Fields */
544 #define CMT_OC_IROPEN_MASK                       0x20u
545 #define CMT_OC_IROPEN_SHIFT                      5
546 #define CMT_OC_CMTPOL_MASK                       0x40u
547 #define CMT_OC_CMTPOL_SHIFT                      6
548 #define CMT_OC_IROL_MASK                         0x80u
549 #define CMT_OC_IROL_SHIFT                        7
550 /* MSC Bit Fields */
551 #define CMT_MSC_MCGEN_MASK                       0x1u
552 #define CMT_MSC_MCGEN_SHIFT                      0
553 #define CMT_MSC_EOCIE_MASK                       0x2u
554 #define CMT_MSC_EOCIE_SHIFT                      1
555 #define CMT_MSC_FSK_MASK                         0x4u
556 #define CMT_MSC_FSK_SHIFT                        2
557 #define CMT_MSC_BASE_MASK                        0x8u
558 #define CMT_MSC_BASE_SHIFT                       3
559 #define CMT_MSC_EXSPC_MASK                       0x10u
560 #define CMT_MSC_EXSPC_SHIFT                      4
561 #define CMT_MSC_CMTDIV_MASK                      0x60u
562 #define CMT_MSC_CMTDIV_SHIFT                     5
563 #define CMT_MSC_CMTDIV(x)                        (((uint8_t)(((uint8_t)(x))<<CMT_MSC_CMTDIV_SHIFT))&CMT_MSC_CMTDIV_MASK)
564 #define CMT_MSC_EOCF_MASK                        0x80u
565 #define CMT_MSC_EOCF_SHIFT                       7
566 /* CMD1 Bit Fields */
567 #define CMT_CMD1_MB_MASK                         0xFFu
568 #define CMT_CMD1_MB_SHIFT                        0
569 #define CMT_CMD1_MB(x)                           (((uint8_t)(((uint8_t)(x))<<CMT_CMD1_MB_SHIFT))&CMT_CMD1_MB_MASK)
570 /* CMD2 Bit Fields */
571 #define CMT_CMD2_MB_MASK                         0xFFu
572 #define CMT_CMD2_MB_SHIFT                        0
573 #define CMT_CMD2_MB(x)                           (((uint8_t)(((uint8_t)(x))<<CMT_CMD2_MB_SHIFT))&CMT_CMD2_MB_MASK)
574 /* CMD3 Bit Fields */
575 #define CMT_CMD3_SB_MASK                         0xFFu
576 #define CMT_CMD3_SB_SHIFT                        0
577 #define CMT_CMD3_SB(x)                           (((uint8_t)(((uint8_t)(x))<<CMT_CMD3_SB_SHIFT))&CMT_CMD3_SB_MASK)
578 /* CMD4 Bit Fields */
579 #define CMT_CMD4_SB_MASK                         0xFFu
580 #define CMT_CMD4_SB_SHIFT                        0
581 #define CMT_CMD4_SB(x)                           (((uint8_t)(((uint8_t)(x))<<CMT_CMD4_SB_SHIFT))&CMT_CMD4_SB_MASK)
582 /* PPS Bit Fields */
583 #define CMT_PPS_PPSDIV_MASK                      0xFu
584 #define CMT_PPS_PPSDIV_SHIFT                     0
585 #define CMT_PPS_PPSDIV(x)                        (((uint8_t)(((uint8_t)(x))<<CMT_PPS_PPSDIV_SHIFT))&CMT_PPS_PPSDIV_MASK)
586 /* DMA Bit Fields */
587 #define CMT_DMA_DMA_MASK                         0x1u
588 #define CMT_DMA_DMA_SHIFT                        0
589
590 /**
591  * @}
592  */ /* end of group CMT_Register_Masks */
593
594
595 /* CMT - Peripheral instance base addresses */
596 /** Peripheral CMT base address */
597 #define CMT_BASE                                 (0x40062000u)
598 /** Peripheral CMT base pointer */
599 #define CMT                                      ((CMT_Type *)CMT_BASE)
600
601 /**
602  * @}
603  */ /* end of group CMT_Peripheral_Access_Layer */
604
605
606 /* ----------------------------------------------------------------------------
607    -- CRC Peripheral Access Layer
608    ---------------------------------------------------------------------------- */
609
610 /**
611  * @addtogroup CRC_Peripheral_Access_Layer CRC Peripheral Access Layer
612  * @{
613  */
614
615 /** CRC - Register Layout Typedef */
616 typedef struct {
617   union {                                          /* offset: 0x0 */
618     struct {                                         /* offset: 0x0 */
619       __IO uint16_t CRCL;                              /**< CRC_CRCL register., offset: 0x0 */
620       __IO uint16_t CRCH;                              /**< CRC_CRCH register., offset: 0x2 */
621     } ACCESS16BIT;
622     __IO uint32_t CRC;                               /**< CRC Data Register, offset: 0x0 */
623     struct {                                         /* offset: 0x0 */
624       __IO uint8_t CRCLL;                              /**< CRC_CRCLL register., offset: 0x0 */
625       __IO uint8_t CRCLU;                              /**< CRC_CRCLU register., offset: 0x1 */
626       __IO uint8_t CRCHL;                              /**< CRC_CRCHL register., offset: 0x2 */
627       __IO uint8_t CRCHU;                              /**< CRC_CRCHU register., offset: 0x3 */
628     } ACCESS8BIT;
629   };
630   union {                                          /* offset: 0x4 */
631     struct {                                         /* offset: 0x4 */
632       __IO uint16_t GPOLYL;                            /**< CRC_GPOLYL register., offset: 0x4 */
633       __IO uint16_t GPOLYH;                            /**< CRC_GPOLYH register., offset: 0x6 */
634     } GPOLY_ACCESS16BIT;
635     __IO uint32_t GPOLY;                             /**< CRC Polynomial Register, offset: 0x4 */
636     struct {                                         /* offset: 0x4 */
637       __IO uint8_t GPOLYLL;                            /**< CRC_GPOLYLL register., offset: 0x4 */
638       __IO uint8_t GPOLYLU;                            /**< CRC_GPOLYLU register., offset: 0x5 */
639       __IO uint8_t GPOLYHL;                            /**< CRC_GPOLYHL register., offset: 0x6 */
640       __IO uint8_t GPOLYHU;                            /**< CRC_GPOLYHU register., offset: 0x7 */
641     } GPOLY_ACCESS8BIT;
642   };
643   union {                                          /* offset: 0x8 */
644     __IO uint32_t CTRL;                              /**< CRC Control Register, offset: 0x8 */
645     struct {                                         /* offset: 0x8 */
646            uint8_t RESERVED_0[3];
647       __IO uint8_t CTRLHU;                             /**< CRC_CTRLHU register., offset: 0xB */
648     } CTRL_ACCESS8BIT;
649   };
650 } CRC_Type;
651
652 /* ----------------------------------------------------------------------------
653    -- CRC Register Masks
654    ---------------------------------------------------------------------------- */
655
656 /**
657  * @addtogroup CRC_Register_Masks CRC Register Masks
658  * @{
659  */
660
661 /* CRCL Bit Fields */
662 #define CRC_CRCL_CRCL_MASK                       0xFFFFu
663 #define CRC_CRCL_CRCL_SHIFT                      0
664 #define CRC_CRCL_CRCL(x)                         (((uint16_t)(((uint16_t)(x))<<CRC_CRCL_CRCL_SHIFT))&CRC_CRCL_CRCL_MASK)
665 /* CRCH Bit Fields */
666 #define CRC_CRCH_CRCH_MASK                       0xFFFFu
667 #define CRC_CRCH_CRCH_SHIFT                      0
668 #define CRC_CRCH_CRCH(x)                         (((uint16_t)(((uint16_t)(x))<<CRC_CRCH_CRCH_SHIFT))&CRC_CRCH_CRCH_MASK)
669 /* CRC Bit Fields */
670 #define CRC_CRC_LL_MASK                          0xFFu
671 #define CRC_CRC_LL_SHIFT                         0
672 #define CRC_CRC_LL(x)                            (((uint32_t)(((uint32_t)(x))<<CRC_CRC_LL_SHIFT))&CRC_CRC_LL_MASK)
673 #define CRC_CRC_LU_MASK                          0xFF00u
674 #define CRC_CRC_LU_SHIFT                         8
675 #define CRC_CRC_LU(x)                            (((uint32_t)(((uint32_t)(x))<<CRC_CRC_LU_SHIFT))&CRC_CRC_LU_MASK)
676 #define CRC_CRC_HL_MASK                          0xFF0000u
677 #define CRC_CRC_HL_SHIFT                         16
678 #define CRC_CRC_HL(x)                            (((uint32_t)(((uint32_t)(x))<<CRC_CRC_HL_SHIFT))&CRC_CRC_HL_MASK)
679 #define CRC_CRC_HU_MASK                          0xFF000000u
680 #define CRC_CRC_HU_SHIFT                         24
681 #define CRC_CRC_HU(x)                            (((uint32_t)(((uint32_t)(x))<<CRC_CRC_HU_SHIFT))&CRC_CRC_HU_MASK)
682 /* CRCLL Bit Fields */
683 #define CRC_CRCLL_CRCLL_MASK                     0xFFu
684 #define CRC_CRCLL_CRCLL_SHIFT                    0
685 #define CRC_CRCLL_CRCLL(x)                       (((uint8_t)(((uint8_t)(x))<<CRC_CRCLL_CRCLL_SHIFT))&CRC_CRCLL_CRCLL_MASK)
686 /* CRCLU Bit Fields */
687 #define CRC_CRCLU_CRCLU_MASK                     0xFFu
688 #define CRC_CRCLU_CRCLU_SHIFT                    0
689 #define CRC_CRCLU_CRCLU(x)                       (((uint8_t)(((uint8_t)(x))<<CRC_CRCLU_CRCLU_SHIFT))&CRC_CRCLU_CRCLU_MASK)
690 /* CRCHL Bit Fields */
691 #define CRC_CRCHL_CRCHL_MASK                     0xFFu
692 #define CRC_CRCHL_CRCHL_SHIFT                    0
693 #define CRC_CRCHL_CRCHL(x)                       (((uint8_t)(((uint8_t)(x))<<CRC_CRCHL_CRCHL_SHIFT))&CRC_CRCHL_CRCHL_MASK)
694 /* CRCHU Bit Fields */
695 #define CRC_CRCHU_CRCHU_MASK                     0xFFu
696 #define CRC_CRCHU_CRCHU_SHIFT                    0
697 #define CRC_CRCHU_CRCHU(x)                       (((uint8_t)(((uint8_t)(x))<<CRC_CRCHU_CRCHU_SHIFT))&CRC_CRCHU_CRCHU_MASK)
698 /* GPOLYL Bit Fields */
699 #define CRC_GPOLYL_GPOLYL_MASK                   0xFFFFu
700 #define CRC_GPOLYL_GPOLYL_SHIFT                  0
701 #define CRC_GPOLYL_GPOLYL(x)                     (((uint16_t)(((uint16_t)(x))<<CRC_GPOLYL_GPOLYL_SHIFT))&CRC_GPOLYL_GPOLYL_MASK)
702 /* GPOLYH Bit Fields */
703 #define CRC_GPOLYH_GPOLYH_MASK                   0xFFFFu
704 #define CRC_GPOLYH_GPOLYH_SHIFT                  0
705 #define CRC_GPOLYH_GPOLYH(x)                     (((uint16_t)(((uint16_t)(x))<<CRC_GPOLYH_GPOLYH_SHIFT))&CRC_GPOLYH_GPOLYH_MASK)
706 /* GPOLY Bit Fields */
707 #define CRC_GPOLY_LOW_MASK                       0xFFFFu
708 #define CRC_GPOLY_LOW_SHIFT                      0
709 #define CRC_GPOLY_LOW(x)                         (((uint32_t)(((uint32_t)(x))<<CRC_GPOLY_LOW_SHIFT))&CRC_GPOLY_LOW_MASK)
710 #define CRC_GPOLY_HIGH_MASK                      0xFFFF0000u
711 #define CRC_GPOLY_HIGH_SHIFT                     16
712 #define CRC_GPOLY_HIGH(x)                        (((uint32_t)(((uint32_t)(x))<<CRC_GPOLY_HIGH_SHIFT))&CRC_GPOLY_HIGH_MASK)
713 /* GPOLYLL Bit Fields */
714 #define CRC_GPOLYLL_GPOLYLL_MASK                 0xFFu
715 #define CRC_GPOLYLL_GPOLYLL_SHIFT                0
716 #define CRC_GPOLYLL_GPOLYLL(x)                   (((uint8_t)(((uint8_t)(x))<<CRC_GPOLYLL_GPOLYLL_SHIFT))&CRC_GPOLYLL_GPOLYLL_MASK)
717 /* GPOLYLU Bit Fields */
718 #define CRC_GPOLYLU_GPOLYLU_MASK                 0xFFu
719 #define CRC_GPOLYLU_GPOLYLU_SHIFT                0
720 #define CRC_GPOLYLU_GPOLYLU(x)                   (((uint8_t)(((uint8_t)(x))<<CRC_GPOLYLU_GPOLYLU_SHIFT))&CRC_GPOLYLU_GPOLYLU_MASK)
721 /* GPOLYHL Bit Fields */
722 #define CRC_GPOLYHL_GPOLYHL_MASK                 0xFFu
723 #define CRC_GPOLYHL_GPOLYHL_SHIFT                0
724 #define CRC_GPOLYHL_GPOLYHL(x)                   (((uint8_t)(((uint8_t)(x))<<CRC_GPOLYHL_GPOLYHL_SHIFT))&CRC_GPOLYHL_GPOLYHL_MASK)
725 /* GPOLYHU Bit Fields */
726 #define CRC_GPOLYHU_GPOLYHU_MASK                 0xFFu
727 #define CRC_GPOLYHU_GPOLYHU_SHIFT                0
728 #define CRC_GPOLYHU_GPOLYHU(x)                   (((uint8_t)(((uint8_t)(x))<<CRC_GPOLYHU_GPOLYHU_SHIFT))&CRC_GPOLYHU_GPOLYHU_MASK)
729 /* CTRL Bit Fields */
730 #define CRC_CTRL_TCRC_MASK                       0x1000000u
731 #define CRC_CTRL_TCRC_SHIFT                      24
732 #define CRC_CTRL_WAS_MASK                        0x2000000u
733 #define CRC_CTRL_WAS_SHIFT                       25
734 #define CRC_CTRL_FXOR_MASK                       0x4000000u
735 #define CRC_CTRL_FXOR_SHIFT                      26
736 #define CRC_CTRL_TOTR_MASK                       0x30000000u
737 #define CRC_CTRL_TOTR_SHIFT                      28
738 #define CRC_CTRL_TOTR(x)                         (((uint32_t)(((uint32_t)(x))<<CRC_CTRL_TOTR_SHIFT))&CRC_CTRL_TOTR_MASK)
739 #define CRC_CTRL_TOT_MASK                        0xC0000000u
740 #define CRC_CTRL_TOT_SHIFT                       30
741 #define CRC_CTRL_TOT(x)                          (((uint32_t)(((uint32_t)(x))<<CRC_CTRL_TOT_SHIFT))&CRC_CTRL_TOT_MASK)
742 /* CTRLHU Bit Fields */
743 #define CRC_CTRLHU_TCRC_MASK                     0x1u
744 #define CRC_CTRLHU_TCRC_SHIFT                    0
745 #define CRC_CTRLHU_WAS_MASK                      0x2u
746 #define CRC_CTRLHU_WAS_SHIFT                     1
747 #define CRC_CTRLHU_FXOR_MASK                     0x4u
748 #define CRC_CTRLHU_FXOR_SHIFT                    2
749 #define CRC_CTRLHU_TOTR_MASK                     0x30u
750 #define CRC_CTRLHU_TOTR_SHIFT                    4
751 #define CRC_CTRLHU_TOTR(x)                       (((uint8_t)(((uint8_t)(x))<<CRC_CTRLHU_TOTR_SHIFT))&CRC_CTRLHU_TOTR_MASK)
752 #define CRC_CTRLHU_TOT_MASK                      0xC0u
753 #define CRC_CTRLHU_TOT_SHIFT                     6
754 #define CRC_CTRLHU_TOT(x)                        (((uint8_t)(((uint8_t)(x))<<CRC_CTRLHU_TOT_SHIFT))&CRC_CTRLHU_TOT_MASK)
755
756 /**
757  * @}
758  */ /* end of group CRC_Register_Masks */
759
760
761 /* CRC - Peripheral instance base addresses */
762 /** Peripheral CRC base address */
763 #define CRC_BASE                                 (0x40032000u)
764 /** Peripheral CRC base pointer */
765 #define CRC0                                     ((CRC_Type *)CRC_BASE)
766
767 /**
768  * @}
769  */ /* end of group CRC_Peripheral_Access_Layer */
770
771
772 /* ----------------------------------------------------------------------------
773    -- DMA Peripheral Access Layer
774    ---------------------------------------------------------------------------- */
775
776 /**
777  * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer
778  * @{
779  */
780
781 /** DMA - Register Layout Typedef */
782 typedef struct {
783   __IO uint32_t CR;                                /**< Control Register, offset: 0x0 */
784   __I  uint32_t ES;                                /**< Error Status Register, offset: 0x4 */
785        uint8_t RESERVED_0[4];
786   __IO uint32_t ERQ;                               /**< Enable Request Register, offset: 0xC */
787        uint8_t RESERVED_1[4];
788   __IO uint32_t EEI;                               /**< Enable Error Interrupt Register, offset: 0x14 */
789   __O  uint8_t CEEI;                               /**< Clear Enable Error Interrupt Register, offset: 0x18 */
790   __O  uint8_t SEEI;                               /**< Set Enable Error Interrupt Register, offset: 0x19 */
791   __O  uint8_t CERQ;                               /**< Clear Enable Request Register, offset: 0x1A */
792   __O  uint8_t SERQ;                               /**< Set Enable Request Register, offset: 0x1B */
793   __O  uint8_t CDNE;                               /**< Clear DONE Status Bit Register, offset: 0x1C */
794   __O  uint8_t SSRT;                               /**< Set START Bit Register, offset: 0x1D */
795   __O  uint8_t CERR;                               /**< Clear Error Register, offset: 0x1E */
796   __O  uint8_t CINT;                               /**< Clear Interrupt Request Register, offset: 0x1F */
797        uint8_t RESERVED_2[4];
798   __IO uint32_t INT;                               /**< Interrupt Request Register, offset: 0x24 */
799        uint8_t RESERVED_3[4];
800   __IO uint32_t ERR;                               /**< Error Register, offset: 0x2C */
801        uint8_t RESERVED_4[4];
802   __IO uint32_t HRS;                               /**< Hardware Request Status Register, offset: 0x34 */
803        uint8_t RESERVED_5[200];
804   __IO uint8_t DCHPRI3;                            /**< Channel n Priority Register, offset: 0x100 */
805   __IO uint8_t DCHPRI2;                            /**< Channel n Priority Register, offset: 0x101 */
806   __IO uint8_t DCHPRI1;                            /**< Channel n Priority Register, offset: 0x102 */
807   __IO uint8_t DCHPRI0;                            /**< Channel n Priority Register, offset: 0x103 */
808        uint8_t RESERVED_6[3836];
809   struct {                                         /* offset: 0x1000, array step: 0x20 */
810     __IO uint32_t SADDR;                             /**< TCD Source Address, array offset: 0x1000, array step: 0x20 */
811     __IO uint16_t SOFF;                              /**< TCD Signed Source Address Offset, array offset: 0x1004, array step: 0x20 */
812     __IO uint16_t ATTR;                              /**< TCD Transfer Attributes, array offset: 0x1006, array step: 0x20 */
813     union {                                          /* offset: 0x1008, array step: 0x20 */
814       __IO uint32_t NBYTES_MLNO;                       /**< TCD Minor Byte Count (Minor Loop Disabled), array offset: 0x1008, array step: 0x20 */
815       __IO uint32_t NBYTES_MLOFFNO;                    /**< TCD Signed Minor Loop Offset (Minor Loop Enabled and Offset Disabled), array offset: 0x1008, array step: 0x20 */
816       __IO uint32_t NBYTES_MLOFFYES;                   /**< TCD Signed Minor Loop Offset (Minor Loop and Offset Enabled), array offset: 0x1008, array step: 0x20 */
817     };
818     __IO uint32_t SLAST;                             /**< TCD Last Source Address Adjustment, array offset: 0x100C, array step: 0x20 */
819     __IO uint32_t DADDR;                             /**< TCD Destination Address, array offset: 0x1010, array step: 0x20 */
820     __IO uint16_t DOFF;                              /**< TCD Signed Destination Address Offset, array offset: 0x1014, array step: 0x20 */
821     union {                                          /* offset: 0x1016, array step: 0x20 */
822       __IO uint16_t CITER_ELINKNO;                     /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x1016, array step: 0x20 */
823       __IO uint16_t CITER_ELINKYES;                    /**< TCD Current Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x1016, array step: 0x20 */
824     };
825     __IO uint32_t DLAST_SGA;                         /**< TCD Last Destination Address Adjustment/Scatter Gather Address, array offset: 0x1018, array step: 0x20 */
826     __IO uint16_t CSR;                               /**< TCD Control and Status, array offset: 0x101C, array step: 0x20 */
827     union {                                          /* offset: 0x101E, array step: 0x20 */
828       __IO uint16_t BITER_ELINKNO;                     /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Disabled), array offset: 0x101E, array step: 0x20 */
829       __IO uint16_t BITER_ELINKYES;                    /**< TCD Beginning Minor Loop Link, Major Loop Count (Channel Linking Enabled), array offset: 0x101E, array step: 0x20 */
830     };
831   } TCD[4];
832 } DMA_Type;
833
834 /* ----------------------------------------------------------------------------
835    -- DMA Register Masks
836    ---------------------------------------------------------------------------- */
837
838 /**
839  * @addtogroup DMA_Register_Masks DMA Register Masks
840  * @{
841  */
842
843 /* CR Bit Fields */
844 #define DMA_CR_EDBG_MASK                         0x2u
845 #define DMA_CR_EDBG_SHIFT                        1
846 #define DMA_CR_ERCA_MASK                         0x4u
847 #define DMA_CR_ERCA_SHIFT                        2
848 #define DMA_CR_HOE_MASK                          0x10u
849 #define DMA_CR_HOE_SHIFT                         4
850 #define DMA_CR_HALT_MASK                         0x20u
851 #define DMA_CR_HALT_SHIFT                        5
852 #define DMA_CR_CLM_MASK                          0x40u
853 #define DMA_CR_CLM_SHIFT                         6
854 #define DMA_CR_EMLM_MASK                         0x80u
855 #define DMA_CR_EMLM_SHIFT                        7
856 #define DMA_CR_ECX_MASK                          0x10000u
857 #define DMA_CR_ECX_SHIFT                         16
858 #define DMA_CR_CX_MASK                           0x20000u
859 #define DMA_CR_CX_SHIFT                          17
860 /* ES Bit Fields */
861 #define DMA_ES_DBE_MASK                          0x1u
862 #define DMA_ES_DBE_SHIFT                         0
863 #define DMA_ES_SBE_MASK                          0x2u
864 #define DMA_ES_SBE_SHIFT                         1
865 #define DMA_ES_SGE_MASK                          0x4u
866 #define DMA_ES_SGE_SHIFT                         2
867 #define DMA_ES_NCE_MASK                          0x8u
868 #define DMA_ES_NCE_SHIFT                         3
869 #define DMA_ES_DOE_MASK                          0x10u
870 #define DMA_ES_DOE_SHIFT                         4
871 #define DMA_ES_DAE_MASK                          0x20u
872 #define DMA_ES_DAE_SHIFT                         5
873 #define DMA_ES_SOE_MASK                          0x40u
874 #define DMA_ES_SOE_SHIFT                         6
875 #define DMA_ES_SAE_MASK                          0x80u
876 #define DMA_ES_SAE_SHIFT                         7
877 #define DMA_ES_ERRCHN_MASK                       0xF00u
878 #define DMA_ES_ERRCHN_SHIFT                      8
879 #define DMA_ES_ERRCHN(x)                         (((uint32_t)(((uint32_t)(x))<<DMA_ES_ERRCHN_SHIFT))&DMA_ES_ERRCHN_MASK)
880 #define DMA_ES_CPE_MASK                          0x4000u
881 #define DMA_ES_CPE_SHIFT                         14
882 #define DMA_ES_ECX_MASK                          0x10000u
883 #define DMA_ES_ECX_SHIFT                         16
884 #define DMA_ES_VLD_MASK                          0x80000000u
885 #define DMA_ES_VLD_SHIFT                         31
886 /* ERQ Bit Fields */
887 #define DMA_ERQ_ERQ0_MASK                        0x1u
888 #define DMA_ERQ_ERQ0_SHIFT                       0
889 #define DMA_ERQ_ERQ1_MASK                        0x2u
890 #define DMA_ERQ_ERQ1_SHIFT                       1
891 #define DMA_ERQ_ERQ2_MASK                        0x4u
892 #define DMA_ERQ_ERQ2_SHIFT                       2
893 #define DMA_ERQ_ERQ3_MASK                        0x8u
894 #define DMA_ERQ_ERQ3_SHIFT                       3
895 /* EEI Bit Fields */
896 #define DMA_EEI_EEI0_MASK                        0x1u
897 #define DMA_EEI_EEI0_SHIFT                       0
898 #define DMA_EEI_EEI1_MASK                        0x2u
899 #define DMA_EEI_EEI1_SHIFT                       1
900 #define DMA_EEI_EEI2_MASK                        0x4u
901 #define DMA_EEI_EEI2_SHIFT                       2
902 #define DMA_EEI_EEI3_MASK                        0x8u
903 #define DMA_EEI_EEI3_SHIFT                       3
904 /* CEEI Bit Fields */
905 #define DMA_CEEI_CEEI_MASK                       0xFu
906 #define DMA_CEEI_CEEI_SHIFT                      0
907 #define DMA_CEEI_CEEI(x)                         (((uint8_t)(((uint8_t)(x))<<DMA_CEEI_CEEI_SHIFT))&DMA_CEEI_CEEI_MASK)
908 #define DMA_CEEI_CAEE_MASK                       0x40u
909 #define DMA_CEEI_CAEE_SHIFT                      6
910 #define DMA_CEEI_NOP_MASK                        0x80u
911 #define DMA_CEEI_NOP_SHIFT                       7
912 /* SEEI Bit Fields */
913 #define DMA_SEEI_SEEI_MASK                       0xFu
914 #define DMA_SEEI_SEEI_SHIFT                      0
915 #define DMA_SEEI_SEEI(x)                         (((uint8_t)(((uint8_t)(x))<<DMA_SEEI_SEEI_SHIFT))&DMA_SEEI_SEEI_MASK)
916 #define DMA_SEEI_SAEE_MASK                       0x40u
917 #define DMA_SEEI_SAEE_SHIFT                      6
918 #define DMA_SEEI_NOP_MASK                        0x80u
919 #define DMA_SEEI_NOP_SHIFT                       7
920 /* CERQ Bit Fields */
921 #define DMA_CERQ_CERQ_MASK                       0xFu
922 #define DMA_CERQ_CERQ_SHIFT                      0
923 #define DMA_CERQ_CERQ(x)                         (((uint8_t)(((uint8_t)(x))<<DMA_CERQ_CERQ_SHIFT))&DMA_CERQ_CERQ_MASK)
924 #define DMA_CERQ_CAER_MASK                       0x40u
925 #define DMA_CERQ_CAER_SHIFT                      6
926 #define DMA_CERQ_NOP_MASK                        0x80u
927 #define DMA_CERQ_NOP_SHIFT                       7
928 /* SERQ Bit Fields */
929 #define DMA_SERQ_SERQ_MASK                       0xFu
930 #define DMA_SERQ_SERQ_SHIFT                      0
931 #define DMA_SERQ_SERQ(x)                         (((uint8_t)(((uint8_t)(x))<<DMA_SERQ_SERQ_SHIFT))&DMA_SERQ_SERQ_MASK)
932 #define DMA_SERQ_SAER_MASK                       0x40u
933 #define DMA_SERQ_SAER_SHIFT                      6
934 #define DMA_SERQ_NOP_MASK                        0x80u
935 #define DMA_SERQ_NOP_SHIFT                       7
936 /* CDNE Bit Fields */
937 #define DMA_CDNE_CDNE_MASK                       0xFu
938 #define DMA_CDNE_CDNE_SHIFT                      0
939 #define DMA_CDNE_CDNE(x)                         (((uint8_t)(((uint8_t)(x))<<DMA_CDNE_CDNE_SHIFT))&DMA_CDNE_CDNE_MASK)
940 #define DMA_CDNE_CADN_MASK                       0x40u
941 #define DMA_CDNE_CADN_SHIFT                      6
942 #define DMA_CDNE_NOP_MASK                        0x80u
943 #define DMA_CDNE_NOP_SHIFT                       7
944 /* SSRT Bit Fields */
945 #define DMA_SSRT_SSRT_MASK                       0xFu
946 #define DMA_SSRT_SSRT_SHIFT                      0
947 #define DMA_SSRT_SSRT(x)                         (((uint8_t)(((uint8_t)(x))<<DMA_SSRT_SSRT_SHIFT))&DMA_SSRT_SSRT_MASK)
948 #define DMA_SSRT_SAST_MASK                       0x40u
949 #define DMA_SSRT_SAST_SHIFT                      6
950 #define DMA_SSRT_NOP_MASK                        0x80u
951 #define DMA_SSRT_NOP_SHIFT                       7
952 /* CERR Bit Fields */
953 #define DMA_CERR_CERR_MASK                       0xFu
954 #define DMA_CERR_CERR_SHIFT                      0
955 #define DMA_CERR_CERR(x)                         (((uint8_t)(((uint8_t)(x))<<DMA_CERR_CERR_SHIFT))&DMA_CERR_CERR_MASK)
956 #define DMA_CERR_CAEI_MASK                       0x40u
957 #define DMA_CERR_CAEI_SHIFT                      6
958 #define DMA_CERR_NOP_MASK                        0x80u
959 #define DMA_CERR_NOP_SHIFT                       7
960 /* CINT Bit Fields */
961 #define DMA_CINT_CINT_MASK                       0xFu
962 #define DMA_CINT_CINT_SHIFT                      0
963 #define DMA_CINT_CINT(x)                         (((uint8_t)(((uint8_t)(x))<<DMA_CINT_CINT_SHIFT))&DMA_CINT_CINT_MASK)
964 #define DMA_CINT_CAIR_MASK                       0x40u
965 #define DMA_CINT_CAIR_SHIFT                      6
966 #define DMA_CINT_NOP_MASK                        0x80u
967 #define DMA_CINT_NOP_SHIFT                       7
968 /* INT Bit Fields */
969 #define DMA_INT_INT0_MASK                        0x1u
970 #define DMA_INT_INT0_SHIFT                       0
971 #define DMA_INT_INT1_MASK                        0x2u
972 #define DMA_INT_INT1_SHIFT                       1
973 #define DMA_INT_INT2_MASK                        0x4u
974 #define DMA_INT_INT2_SHIFT                       2
975 #define DMA_INT_INT3_MASK                        0x8u
976 #define DMA_INT_INT3_SHIFT                       3
977 /* ERR Bit Fields */
978 #define DMA_ERR_ERR0_MASK                        0x1u
979 #define DMA_ERR_ERR0_SHIFT                       0
980 #define DMA_ERR_ERR1_MASK                        0x2u
981 #define DMA_ERR_ERR1_SHIFT                       1
982 #define DMA_ERR_ERR2_MASK                        0x4u
983 #define DMA_ERR_ERR2_SHIFT                       2
984 #define DMA_ERR_ERR3_MASK                        0x8u
985 #define DMA_ERR_ERR3_SHIFT                       3
986 /* HRS Bit Fields */
987 #define DMA_HRS_HRS0_MASK                        0x1u
988 #define DMA_HRS_HRS0_SHIFT                       0
989 #define DMA_HRS_HRS1_MASK                        0x2u
990 #define DMA_HRS_HRS1_SHIFT                       1
991 #define DMA_HRS_HRS2_MASK                        0x4u
992 #define DMA_HRS_HRS2_SHIFT                       2
993 #define DMA_HRS_HRS3_MASK                        0x8u
994 #define DMA_HRS_HRS3_SHIFT                       3
995 /* DCHPRI3 Bit Fields */
996 #define DMA_DCHPRI3_CHPRI_MASK                   0xFu
997 #define DMA_DCHPRI3_CHPRI_SHIFT                  0
998 #define DMA_DCHPRI3_CHPRI(x)                     (((uint8_t)(((uint8_t)(x))<<DMA_DCHPRI3_CHPRI_SHIFT))&DMA_DCHPRI3_CHPRI_MASK)
999 #define DMA_DCHPRI3_DPA_MASK                     0x40u
1000 #define DMA_DCHPRI3_DPA_SHIFT                    6
1001 #define DMA_DCHPRI3_ECP_MASK                     0x80u
1002 #define DMA_DCHPRI3_ECP_SHIFT                    7
1003 /* DCHPRI2 Bit Fields */
1004 #define DMA_DCHPRI2_CHPRI_MASK                   0xFu
1005 #define DMA_DCHPRI2_CHPRI_SHIFT                  0
1006 #define DMA_DCHPRI2_CHPRI(x)                     (((uint8_t)(((uint8_t)(x))<<DMA_DCHPRI2_CHPRI_SHIFT))&DMA_DCHPRI2_CHPRI_MASK)
1007 #define DMA_DCHPRI2_DPA_MASK                     0x40u
1008 #define DMA_DCHPRI2_DPA_SHIFT                    6
1009 #define DMA_DCHPRI2_ECP_MASK                     0x80u
1010 #define DMA_DCHPRI2_ECP_SHIFT                    7
1011 /* DCHPRI1 Bit Fields */
1012 #define DMA_DCHPRI1_CHPRI_MASK                   0xFu
1013 #define DMA_DCHPRI1_CHPRI_SHIFT                  0
1014 #define DMA_DCHPRI1_CHPRI(x)                     (((uint8_t)(((uint8_t)(x))<<DMA_DCHPRI1_CHPRI_SHIFT))&DMA_DCHPRI1_CHPRI_MASK)
1015 #define DMA_DCHPRI1_DPA_MASK                     0x40u
1016 #define DMA_DCHPRI1_DPA_SHIFT                    6
1017 #define DMA_DCHPRI1_ECP_MASK                     0x80u
1018 #define DMA_DCHPRI1_ECP_SHIFT                    7
1019 /* DCHPRI0 Bit Fields */
1020 #define DMA_DCHPRI0_CHPRI_MASK                   0xFu
1021 #define DMA_DCHPRI0_CHPRI_SHIFT                  0
1022 #define DMA_DCHPRI0_CHPRI(x)                     (((uint8_t)(((uint8_t)(x))<<DMA_DCHPRI0_CHPRI_SHIFT))&DMA_DCHPRI0_CHPRI_MASK)
1023 #define DMA_DCHPRI0_DPA_MASK                     0x40u
1024 #define DMA_DCHPRI0_DPA_SHIFT                    6
1025 #define DMA_DCHPRI0_ECP_MASK                     0x80u
1026 #define DMA_DCHPRI0_ECP_SHIFT                    7
1027 /* SADDR Bit Fields */
1028 #define DMA_SADDR_SADDR_MASK                     0xFFFFFFFFu
1029 #define DMA_SADDR_SADDR_SHIFT                    0
1030 #define DMA_SADDR_SADDR(x)                       (((uint32_t)(((uint32_t)(x))<<DMA_SADDR_SADDR_SHIFT))&DMA_SADDR_SADDR_MASK)
1031 /* SOFF Bit Fields */
1032 #define DMA_SOFF_SOFF_MASK                       0xFFFFu
1033 #define DMA_SOFF_SOFF_SHIFT                      0
1034 #define DMA_SOFF_SOFF(x)                         (((uint16_t)(((uint16_t)(x))<<DMA_SOFF_SOFF_SHIFT))&DMA_SOFF_SOFF_MASK)
1035 /* ATTR Bit Fields */
1036 #define DMA_ATTR_DSIZE_MASK                      0x7u
1037 #define DMA_ATTR_DSIZE_SHIFT                     0
1038 #define DMA_ATTR_DSIZE(x)                        (((uint16_t)(((uint16_t)(x))<<DMA_ATTR_DSIZE_SHIFT))&DMA_ATTR_DSIZE_MASK)
1039 #define DMA_ATTR_DMOD_MASK                       0xF8u
1040 #define DMA_ATTR_DMOD_SHIFT                      3
1041 #define DMA_ATTR_DMOD(x)                         (((uint16_t)(((uint16_t)(x))<<DMA_ATTR_DMOD_SHIFT))&DMA_ATTR_DMOD_MASK)
1042 #define DMA_ATTR_SSIZE_MASK                      0x700u
1043 #define DMA_ATTR_SSIZE_SHIFT                     8
1044 #define DMA_ATTR_SSIZE(x)                        (((uint16_t)(((uint16_t)(x))<<DMA_ATTR_SSIZE_SHIFT))&DMA_ATTR_SSIZE_MASK)
1045 #define DMA_ATTR_SMOD_MASK                       0xF800u
1046 #define DMA_ATTR_SMOD_SHIFT                      11
1047 #define DMA_ATTR_SMOD(x)                         (((uint16_t)(((uint16_t)(x))<<DMA_ATTR_SMOD_SHIFT))&DMA_ATTR_SMOD_MASK)
1048 /* NBYTES_MLNO Bit Fields */
1049 #define DMA_NBYTES_MLNO_NBYTES_MASK              0xFFFFFFFFu
1050 #define DMA_NBYTES_MLNO_NBYTES_SHIFT             0
1051 #define DMA_NBYTES_MLNO_NBYTES(x)                (((uint32_t)(((uint32_t)(x))<<DMA_NBYTES_MLNO_NBYTES_SHIFT))&DMA_NBYTES_MLNO_NBYTES_MASK)
1052 /* NBYTES_MLOFFNO Bit Fields */
1053 #define DMA_NBYTES_MLOFFNO_NBYTES_MASK           0x3FFFFFFFu
1054 #define DMA_NBYTES_MLOFFNO_NBYTES_SHIFT          0
1055 #define DMA_NBYTES_MLOFFNO_NBYTES(x)             (((uint32_t)(((uint32_t)(x))<<DMA_NBYTES_MLOFFNO_NBYTES_SHIFT))&DMA_NBYTES_MLOFFNO_NBYTES_MASK)
1056 #define DMA_NBYTES_MLOFFNO_DMLOE_MASK            0x40000000u
1057 #define DMA_NBYTES_MLOFFNO_DMLOE_SHIFT           30
1058 #define DMA_NBYTES_MLOFFNO_SMLOE_MASK            0x80000000u
1059 #define DMA_NBYTES_MLOFFNO_SMLOE_SHIFT           31
1060 /* NBYTES_MLOFFYES Bit Fields */
1061 #define DMA_NBYTES_MLOFFYES_NBYTES_MASK          0x3FFu
1062 #define DMA_NBYTES_MLOFFYES_NBYTES_SHIFT         0
1063 #define DMA_NBYTES_MLOFFYES_NBYTES(x)            (((uint32_t)(((uint32_t)(x))<<DMA_NBYTES_MLOFFYES_NBYTES_SHIFT))&DMA_NBYTES_MLOFFYES_NBYTES_MASK)
1064 #define DMA_NBYTES_MLOFFYES_MLOFF_MASK           0x3FFFFC00u
1065 #define DMA_NBYTES_MLOFFYES_MLOFF_SHIFT          10
1066 #define DMA_NBYTES_MLOFFYES_MLOFF(x)             (((uint32_t)(((uint32_t)(x))<<DMA_NBYTES_MLOFFYES_MLOFF_SHIFT))&DMA_NBYTES_MLOFFYES_MLOFF_MASK)
1067 #define DMA_NBYTES_MLOFFYES_DMLOE_MASK           0x40000000u
1068 #define DMA_NBYTES_MLOFFYES_DMLOE_SHIFT          30
1069 #define DMA_NBYTES_MLOFFYES_SMLOE_MASK           0x80000000u
1070 #define DMA_NBYTES_MLOFFYES_SMLOE_SHIFT          31
1071 /* SLAST Bit Fields */
1072 #define DMA_SLAST_SLAST_MASK                     0xFFFFFFFFu
1073 #define DMA_SLAST_SLAST_SHIFT                    0
1074 #define DMA_SLAST_SLAST(x)                       (((uint32_t)(((uint32_t)(x))<<DMA_SLAST_SLAST_SHIFT))&DMA_SLAST_SLAST_MASK)
1075 /* DADDR Bit Fields */
1076 #define DMA_DADDR_DADDR_MASK                     0xFFFFFFFFu
1077 #define DMA_DADDR_DADDR_SHIFT                    0
1078 #define DMA_DADDR_DADDR(x)                       (((uint32_t)(((uint32_t)(x))<<DMA_DADDR_DADDR_SHIFT))&DMA_DADDR_DADDR_MASK)
1079 /* DOFF Bit Fields */
1080 #define DMA_DOFF_DOFF_MASK                       0xFFFFu
1081 #define DMA_DOFF_DOFF_SHIFT                      0
1082 #define DMA_DOFF_DOFF(x)                         (((uint16_t)(((uint16_t)(x))<<DMA_DOFF_DOFF_SHIFT))&DMA_DOFF_DOFF_MASK)
1083 /* CITER_ELINKNO Bit Fields */
1084 #define DMA_CITER_ELINKNO_CITER_MASK             0x7FFFu
1085 #define DMA_CITER_ELINKNO_CITER_SHIFT            0
1086 #define DMA_CITER_ELINKNO_CITER(x)               (((uint16_t)(((uint16_t)(x))<<DMA_CITER_ELINKNO_CITER_SHIFT))&DMA_CITER_ELINKNO_CITER_MASK)
1087 #define DMA_CITER_ELINKNO_ELINK_MASK             0x8000u
1088 #define DMA_CITER_ELINKNO_ELINK_SHIFT            15
1089 /* CITER_ELINKYES Bit Fields */
1090 #define DMA_CITER_ELINKYES_CITER_MASK            0x1FFu
1091 #define DMA_CITER_ELINKYES_CITER_SHIFT           0
1092 #define DMA_CITER_ELINKYES_CITER(x)              (((uint16_t)(((uint16_t)(x))<<DMA_CITER_ELINKYES_CITER_SHIFT))&DMA_CITER_ELINKYES_CITER_MASK)
1093 #define DMA_CITER_ELINKYES_LINKCH_MASK           0x1E00u
1094 #define DMA_CITER_ELINKYES_LINKCH_SHIFT          9
1095 #define DMA_CITER_ELINKYES_LINKCH(x)             (((uint16_t)(((uint16_t)(x))<<DMA_CITER_ELINKYES_LINKCH_SHIFT))&DMA_CITER_ELINKYES_LINKCH_MASK)
1096 #define DMA_CITER_ELINKYES_ELINK_MASK            0x8000u
1097 #define DMA_CITER_ELINKYES_ELINK_SHIFT           15
1098 /* DLAST_SGA Bit Fields */
1099 #define DMA_DLAST_SGA_DLASTSGA_MASK              0xFFFFFFFFu
1100 #define DMA_DLAST_SGA_DLASTSGA_SHIFT             0
1101 #define DMA_DLAST_SGA_DLASTSGA(x)                (((uint32_t)(((uint32_t)(x))<<DMA_DLAST_SGA_DLASTSGA_SHIFT))&DMA_DLAST_SGA_DLASTSGA_MASK)
1102 /* CSR Bit Fields */
1103 #define DMA_CSR_START_MASK                       0x1u
1104 #define DMA_CSR_START_SHIFT                      0
1105 #define DMA_CSR_INTMAJOR_MASK                    0x2u
1106 #define DMA_CSR_INTMAJOR_SHIFT                   1
1107 #define DMA_CSR_INTHALF_MASK                     0x4u
1108 #define DMA_CSR_INTHALF_SHIFT                    2
1109 #define DMA_CSR_DREQ_MASK                        0x8u
1110 #define DMA_CSR_DREQ_SHIFT                       3
1111 #define DMA_CSR_ESG_MASK                         0x10u
1112 #define DMA_CSR_ESG_SHIFT                        4
1113 #define DMA_CSR_MAJORELINK_MASK                  0x20u
1114 #define DMA_CSR_MAJORELINK_SHIFT                 5
1115 #define DMA_CSR_ACTIVE_MASK                      0x40u
1116 #define DMA_CSR_ACTIVE_SHIFT                     6
1117 #define DMA_CSR_DONE_MASK                        0x80u
1118 #define DMA_CSR_DONE_SHIFT                       7
1119 #define DMA_CSR_MAJORLINKCH_MASK                 0xF00u
1120 #define DMA_CSR_MAJORLINKCH_SHIFT                8
1121 #define DMA_CSR_MAJORLINKCH(x)                   (((uint16_t)(((uint16_t)(x))<<DMA_CSR_MAJORLINKCH_SHIFT))&DMA_CSR_MAJORLINKCH_MASK)
1122 #define DMA_CSR_BWC_MASK                         0xC000u
1123 #define DMA_CSR_BWC_SHIFT                        14
1124 #define DMA_CSR_BWC(x)                           (((uint16_t)(((uint16_t)(x))<<DMA_CSR_BWC_SHIFT))&DMA_CSR_BWC_MASK)
1125 /* BITER_ELINKNO Bit Fields */
1126 #define DMA_BITER_ELINKNO_BITER_MASK             0x7FFFu
1127 #define DMA_BITER_ELINKNO_BITER_SHIFT            0
1128 #define DMA_BITER_ELINKNO_BITER(x)               (((uint16_t)(((uint16_t)(x))<<DMA_BITER_ELINKNO_BITER_SHIFT))&DMA_BITER_ELINKNO_BITER_MASK)
1129 #define DMA_BITER_ELINKNO_ELINK_MASK             0x8000u
1130 #define DMA_BITER_ELINKNO_ELINK_SHIFT            15
1131 /* BITER_ELINKYES Bit Fields */
1132 #define DMA_BITER_ELINKYES_BITER_MASK            0x1FFu
1133 #define DMA_BITER_ELINKYES_BITER_SHIFT           0
1134 #define DMA_BITER_ELINKYES_BITER(x)              (((uint16_t)(((uint16_t)(x))<<DMA_BITER_ELINKYES_BITER_SHIFT))&DMA_BITER_ELINKYES_BITER_MASK)
1135 #define DMA_BITER_ELINKYES_LINKCH_MASK           0x1E00u
1136 #define DMA_BITER_ELINKYES_LINKCH_SHIFT          9
1137 #define DMA_BITER_ELINKYES_LINKCH(x)             (((uint16_t)(((uint16_t)(x))<<DMA_BITER_ELINKYES_LINKCH_SHIFT))&DMA_BITER_ELINKYES_LINKCH_MASK)
1138 #define DMA_BITER_ELINKYES_ELINK_MASK            0x8000u
1139 #define DMA_BITER_ELINKYES_ELINK_SHIFT           15
1140
1141 /**
1142  * @}
1143  */ /* end of group DMA_Register_Masks */
1144
1145
1146 /* DMA - Peripheral instance base addresses */
1147 /** Peripheral DMA base address */
1148 #define DMA_BASE                                 (0x40008000u)
1149 /** Peripheral DMA base pointer */
1150 #define DMA0                                     ((DMA_Type *)DMA_BASE)
1151
1152 /**
1153  * @}
1154  */ /* end of group DMA_Peripheral_Access_Layer */
1155
1156
1157 /* ----------------------------------------------------------------------------
1158    -- DMAMUX Peripheral Access Layer
1159    ---------------------------------------------------------------------------- */
1160
1161 /**
1162  * @addtogroup DMAMUX_Peripheral_Access_Layer DMAMUX Peripheral Access Layer
1163  * @{
1164  */
1165
1166 /** DMAMUX - Register Layout Typedef */
1167 typedef struct {
1168   __IO uint8_t CHCFG[16];                          /**< Channel Configuration Register, array offset: 0x0, array step: 0x1 */
1169 } DMAMUX_Type;
1170
1171 /* ----------------------------------------------------------------------------
1172    -- DMAMUX Register Masks
1173    ---------------------------------------------------------------------------- */
1174
1175 /**
1176  * @addtogroup DMAMUX_Register_Masks DMAMUX Register Masks
1177  * @{
1178  */
1179
1180 /* CHCFG Bit Fields */
1181 #define DMAMUX_CHCFG_SOURCE_MASK                 0x3Fu
1182 #define DMAMUX_CHCFG_SOURCE_SHIFT                0
1183 #define DMAMUX_CHCFG_SOURCE(x)                   (((uint8_t)(((uint8_t)(x))<<DMAMUX_CHCFG_SOURCE_SHIFT))&DMAMUX_CHCFG_SOURCE_MASK)
1184 #define DMAMUX_CHCFG_TRIG_MASK                   0x40u
1185 #define DMAMUX_CHCFG_TRIG_SHIFT                  6
1186 #define DMAMUX_CHCFG_ENBL_MASK                   0x80u
1187 #define DMAMUX_CHCFG_ENBL_SHIFT                  7
1188
1189 /**
1190  * @}
1191  */ /* end of group DMAMUX_Register_Masks */
1192
1193
1194 /* DMAMUX - Peripheral instance base addresses */
1195 /** Peripheral DMAMUX base address */
1196 #define DMAMUX_BASE                              (0x40021000u)
1197 /** Peripheral DMAMUX base pointer */
1198 #define DMAMUX                                   ((DMAMUX_Type *)DMAMUX_BASE)
1199
1200 /**
1201  * @}
1202  */ /* end of group DMAMUX_Peripheral_Access_Layer */
1203
1204
1205 /* ----------------------------------------------------------------------------
1206    -- EWM Peripheral Access Layer
1207    ---------------------------------------------------------------------------- */
1208
1209 /**
1210  * @addtogroup EWM_Peripheral_Access_Layer EWM Peripheral Access Layer
1211  * @{
1212  */
1213
1214 /** EWM - Register Layout Typedef */
1215 typedef struct {
1216   __IO uint8_t CTRL;                               /**< Control Register, offset: 0x0 */
1217   __O  uint8_t SERV;                               /**< Service Register, offset: 0x1 */
1218   __IO uint8_t CMPL;                               /**< Compare Low Register, offset: 0x2 */
1219   __IO uint8_t CMPH;                               /**< Compare High Register, offset: 0x3 */
1220 } EWM_Type;
1221
1222 /* ----------------------------------------------------------------------------
1223    -- EWM Register Masks
1224    ---------------------------------------------------------------------------- */
1225
1226 /**
1227  * @addtogroup EWM_Register_Masks EWM Register Masks
1228  * @{
1229  */
1230
1231 /* CTRL Bit Fields */
1232 #define EWM_CTRL_EWMEN_MASK                      0x1u
1233 #define EWM_CTRL_EWMEN_SHIFT                     0
1234 #define EWM_CTRL_ASSIN_MASK                      0x2u
1235 #define EWM_CTRL_ASSIN_SHIFT                     1
1236 #define EWM_CTRL_INEN_MASK                       0x4u
1237 #define EWM_CTRL_INEN_SHIFT                      2
1238 #define EWM_CTRL_INTEN_MASK                      0x8u
1239 #define EWM_CTRL_INTEN_SHIFT                     3
1240 /* SERV Bit Fields */
1241 #define EWM_SERV_SERVICE_MASK                    0xFFu
1242 #define EWM_SERV_SERVICE_SHIFT                   0
1243 #define EWM_SERV_SERVICE(x)                      (((uint8_t)(((uint8_t)(x))<<EWM_SERV_SERVICE_SHIFT))&EWM_SERV_SERVICE_MASK)
1244 /* CMPL Bit Fields */
1245 #define EWM_CMPL_COMPAREL_MASK                   0xFFu
1246 #define EWM_CMPL_COMPAREL_SHIFT                  0
1247 #define EWM_CMPL_COMPAREL(x)                     (((uint8_t)(((uint8_t)(x))<<EWM_CMPL_COMPAREL_SHIFT))&EWM_CMPL_COMPAREL_MASK)
1248 /* CMPH Bit Fields */
1249 #define EWM_CMPH_COMPAREH_MASK                   0xFFu
1250 #define EWM_CMPH_COMPAREH_SHIFT                  0
1251 #define EWM_CMPH_COMPAREH(x)                     (((uint8_t)(((uint8_t)(x))<<EWM_CMPH_COMPAREH_SHIFT))&EWM_CMPH_COMPAREH_MASK)
1252
1253 /**
1254  * @}
1255  */ /* end of group EWM_Register_Masks */
1256
1257
1258 /* EWM - Peripheral instance base addresses */
1259 /** Peripheral EWM base address */
1260 #define EWM_BASE                                 (0x40061000u)
1261 /** Peripheral EWM base pointer */
1262 #define EWM                                      ((EWM_Type *)EWM_BASE)
1263
1264 /**
1265  * @}
1266  */ /* end of group EWM_Peripheral_Access_Layer */
1267
1268
1269 /* ----------------------------------------------------------------------------
1270    -- FMC Peripheral Access Layer
1271    ---------------------------------------------------------------------------- */
1272
1273 /**
1274  * @addtogroup FMC_Peripheral_Access_Layer FMC Peripheral Access Layer
1275  * @{
1276  */
1277
1278 /** FMC - Register Layout Typedef */
1279 typedef struct {
1280   __IO uint32_t PFAPR;                             /**< Flash Access Protection Register, offset: 0x0 */
1281   __IO uint32_t PFB0CR;                            /**< Flash Control Register, offset: 0x4 */
1282        uint8_t RESERVED_0[248];
1283   struct {                                         /* offset: 0x100, array step: 0x20 */
1284     __IO uint32_t TAGVD[2];                          /**< Cache Tag Storage, array offset: 0x100, array step: index*0x20, index2*0x4 */
1285          uint8_t RESERVED_0[24];
1286   } TAG_WAY[4];
1287        uint8_t RESERVED_1[132];
1288   struct {                                         /* offset: 0x204, array step: 0x8 */
1289     __IO uint32_t DATAW0S;                           /**< Cache Data Storage, array offset: 0x204, array step: 0x8 */
1290          uint8_t RESERVED_0[4];
1291   } DATAW0S[2];
1292        uint8_t RESERVED_2[48];
1293   struct {                                         /* offset: 0x244, array step: 0x8 */
1294     __IO uint32_t DATAW1S;                           /**< Cache Data Storage, array offset: 0x244, array step: 0x8 */
1295          uint8_t RESERVED_0[4];
1296   } DATAW1S[2];
1297        uint8_t RESERVED_3[48];
1298   struct {                                         /* offset: 0x284, array step: 0x8 */
1299     __IO uint32_t DATAW2S;                           /**< Cache Data Storage, array offset: 0x284, array step: 0x8 */
1300          uint8_t RESERVED_0[4];
1301   } DATAW2S[2];
1302        uint8_t RESERVED_4[48];
1303   struct {                                         /* offset: 0x2C4, array step: 0x8 */
1304     __IO uint32_t DATAW3S;                           /**< Cache Data Storage, array offset: 0x2C4, array step: 0x8 */
1305          uint8_t RESERVED_0[4];
1306   } DATAW3S[2];
1307 } FMC_Type;
1308
1309 /* ----------------------------------------------------------------------------
1310    -- FMC Register Masks
1311    ---------------------------------------------------------------------------- */
1312
1313 /**
1314  * @addtogroup FMC_Register_Masks FMC Register Masks
1315  * @{
1316  */
1317
1318 /* PFAPR Bit Fields */
1319 #define FMC_PFAPR_M0AP_MASK                      0x3u
1320 #define FMC_PFAPR_M0AP_SHIFT                     0
1321 #define FMC_PFAPR_M0AP(x)                        (((uint32_t)(((uint32_t)(x))<<FMC_PFAPR_M0AP_SHIFT))&FMC_PFAPR_M0AP_MASK)
1322 #define FMC_PFAPR_M1AP_MASK                      0xCu
1323 #define FMC_PFAPR_M1AP_SHIFT                     2
1324 #define FMC_PFAPR_M1AP(x)                        (((uint32_t)(((uint32_t)(x))<<FMC_PFAPR_M1AP_SHIFT))&FMC_PFAPR_M1AP_MASK)
1325 #define FMC_PFAPR_M2AP_MASK                      0x30u
1326 #define FMC_PFAPR_M2AP_SHIFT                     4
1327 #define FMC_PFAPR_M2AP(x)                        (((uint32_t)(((uint32_t)(x))<<FMC_PFAPR_M2AP_SHIFT))&FMC_PFAPR_M2AP_MASK)
1328 #define FMC_PFAPR_M3AP_MASK                      0xC0u
1329 #define FMC_PFAPR_M3AP_SHIFT                     6
1330 #define FMC_PFAPR_M3AP(x)                        (((uint32_t)(((uint32_t)(x))<<FMC_PFAPR_M3AP_SHIFT))&FMC_PFAPR_M3AP_MASK)
1331 #define FMC_PFAPR_M0PFD_MASK                     0x10000u
1332 #define FMC_PFAPR_M0PFD_SHIFT                    16
1333 #define FMC_PFAPR_M1PFD_MASK                     0x20000u
1334 #define FMC_PFAPR_M1PFD_SHIFT                    17
1335 #define FMC_PFAPR_M2PFD_MASK                     0x40000u
1336 #define FMC_PFAPR_M2PFD_SHIFT                    18
1337 #define FMC_PFAPR_M3PFD_MASK                     0x80000u
1338 #define FMC_PFAPR_M3PFD_SHIFT                    19
1339 /* PFB0CR Bit Fields */
1340 #define FMC_PFB0CR_B0SEBE_MASK                   0x1u
1341 #define FMC_PFB0CR_B0SEBE_SHIFT                  0
1342 #define FMC_PFB0CR_B0IPE_MASK                    0x2u
1343 #define FMC_PFB0CR_B0IPE_SHIFT                   1
1344 #define FMC_PFB0CR_B0DPE_MASK                    0x4u
1345 #define FMC_PFB0CR_B0DPE_SHIFT                   2
1346 #define FMC_PFB0CR_B0ICE_MASK                    0x8u
1347 #define FMC_PFB0CR_B0ICE_SHIFT                   3
1348 #define FMC_PFB0CR_B0DCE_MASK                    0x10u
1349 #define FMC_PFB0CR_B0DCE_SHIFT                   4
1350 #define FMC_PFB0CR_CRC_MASK                      0xE0u
1351 #define FMC_PFB0CR_CRC_SHIFT                     5
1352 #define FMC_PFB0CR_CRC(x)                        (((uint32_t)(((uint32_t)(x))<<FMC_PFB0CR_CRC_SHIFT))&FMC_PFB0CR_CRC_MASK)
1353 #define FMC_PFB0CR_B0MW_MASK                     0x60000u
1354 #define FMC_PFB0CR_B0MW_SHIFT                    17
1355 #define FMC_PFB0CR_B0MW(x)                       (((uint32_t)(((uint32_t)(x))<<FMC_PFB0CR_B0MW_SHIFT))&FMC_PFB0CR_B0MW_MASK)
1356 #define FMC_PFB0CR_S_B_INV_MASK                  0x80000u
1357 #define FMC_PFB0CR_S_B_INV_SHIFT                 19
1358 #define FMC_PFB0CR_CINV_WAY_MASK                 0xF00000u
1359 #define FMC_PFB0CR_CINV_WAY_SHIFT                20
1360 #define FMC_PFB0CR_CINV_WAY(x)                   (((uint32_t)(((uint32_t)(x))<<FMC_PFB0CR_CINV_WAY_SHIFT))&FMC_PFB0CR_CINV_WAY_MASK)
1361 #define FMC_PFB0CR_CLCK_WAY_MASK                 0xF000000u
1362 #define FMC_PFB0CR_CLCK_WAY_SHIFT                24
1363 #define FMC_PFB0CR_CLCK_WAY(x)                   (((uint32_t)(((uint32_t)(x))<<FMC_PFB0CR_CLCK_WAY_SHIFT))&FMC_PFB0CR_CLCK_WAY_MASK)
1364 #define FMC_PFB0CR_B0RWSC_MASK                   0xF0000000u
1365 #define FMC_PFB0CR_B0RWSC_SHIFT                  28
1366 #define FMC_PFB0CR_B0RWSC(x)                     (((uint32_t)(((uint32_t)(x))<<FMC_PFB0CR_B0RWSC_SHIFT))&FMC_PFB0CR_B0RWSC_MASK)
1367 /* TAGVD Bit Fields */
1368 #define FMC_TAGVD_valid_MASK                     0x1u
1369 #define FMC_TAGVD_valid_SHIFT                    0
1370 #define FMC_TAGVD_tag_MASK                       0x7FFC0u
1371 #define FMC_TAGVD_tag_SHIFT                      6
1372 #define FMC_TAGVD_tag(x)                         (((uint32_t)(((uint32_t)(x))<<FMC_TAGVD_tag_SHIFT))&FMC_TAGVD_tag_MASK)
1373 /* DATAW0S Bit Fields */
1374 #define FMC_DATAW0S_data_MASK                    0xFFFFFFFFu
1375 #define FMC_DATAW0S_data_SHIFT                   0
1376 #define FMC_DATAW0S_data(x)                      (((uint32_t)(((uint32_t)(x))<<FMC_DATAW0S_data_SHIFT))&FMC_DATAW0S_data_MASK)
1377 /* DATAW1S Bit Fields */
1378 #define FMC_DATAW1S_data_MASK                    0xFFFFFFFFu
1379 #define FMC_DATAW1S_data_SHIFT                   0
1380 #define FMC_DATAW1S_data(x)                      (((uint32_t)(((uint32_t)(x))<<FMC_DATAW1S_data_SHIFT))&FMC_DATAW1S_data_MASK)
1381 /* DATAW2S Bit Fields */
1382 #define FMC_DATAW2S_data_MASK                    0xFFFFFFFFu
1383 #define FMC_DATAW2S_data_SHIFT                   0
1384 #define FMC_DATAW2S_data(x)                      (((uint32_t)(((uint32_t)(x))<<FMC_DATAW2S_data_SHIFT))&FMC_DATAW2S_data_MASK)
1385 /* DATAW3S Bit Fields */
1386 #define FMC_DATAW3S_data_MASK                    0xFFFFFFFFu
1387 #define FMC_DATAW3S_data_SHIFT                   0
1388 #define FMC_DATAW3S_data(x)                      (((uint32_t)(((uint32_t)(x))<<FMC_DATAW3S_data_SHIFT))&FMC_DATAW3S_data_MASK)
1389
1390 /**
1391  * @}
1392  */ /* end of group FMC_Register_Masks */
1393
1394
1395 /* FMC - Peripheral instance base addresses */
1396 /** Peripheral FMC base address */
1397 #define FMC_BASE                                 (0x4001F000u)
1398 /** Peripheral FMC base pointer */
1399 #define FMC                                      ((FMC_Type *)FMC_BASE)
1400
1401 /**
1402  * @}
1403  */ /* end of group FMC_Peripheral_Access_Layer */
1404
1405
1406 /* ----------------------------------------------------------------------------
1407    -- FTFL Peripheral Access Layer
1408    ---------------------------------------------------------------------------- */
1409
1410 /**
1411  * @addtogroup FTFL_Peripheral_Access_Layer FTFL Peripheral Access Layer
1412  * @{
1413  */
1414
1415 /** FTFL - Register Layout Typedef */
1416 typedef struct {
1417   __IO uint8_t FSTAT;                              /**< Flash Status Register, offset: 0x0 */
1418   __IO uint8_t FCNFG;                              /**< Flash Configuration Register, offset: 0x1 */
1419   __I  uint8_t FSEC;                               /**< Flash Security Register, offset: 0x2 */
1420   __I  uint8_t FOPT;                               /**< Flash Option Register, offset: 0x3 */
1421   __IO uint8_t FCCOB3;                             /**< Flash Common Command Object Registers, offset: 0x4 */
1422   __IO uint8_t FCCOB2;                             /**< Flash Common Command Object Registers, offset: 0x5 */
1423   __IO uint8_t FCCOB1;                             /**< Flash Common Command Object Registers, offset: 0x6 */
1424   __IO uint8_t FCCOB0;                             /**< Flash Common Command Object Registers, offset: 0x7 */
1425   __IO uint8_t FCCOB7;                             /**< Flash Common Command Object Registers, offset: 0x8 */
1426   __IO uint8_t FCCOB6;                             /**< Flash Common Command Object Registers, offset: 0x9 */
1427   __IO uint8_t FCCOB5;                             /**< Flash Common Command Object Registers, offset: 0xA */
1428   __IO uint8_t FCCOB4;                             /**< Flash Common Command Object Registers, offset: 0xB */
1429   __IO uint8_t FCCOBB;                             /**< Flash Common Command Object Registers, offset: 0xC */
1430   __IO uint8_t FCCOBA;                             /**< Flash Common Command Object Registers, offset: 0xD */
1431   __IO uint8_t FCCOB9;                             /**< Flash Common Command Object Registers, offset: 0xE */
1432   __IO uint8_t FCCOB8;                             /**< Flash Common Command Object Registers, offset: 0xF */
1433   __IO uint8_t FPROT3;                             /**< Program Flash Protection Registers, offset: 0x10 */
1434   __IO uint8_t FPROT2;                             /**< Program Flash Protection Registers, offset: 0x11 */
1435   __IO uint8_t FPROT1;                             /**< Program Flash Protection Registers, offset: 0x12 */
1436   __IO uint8_t FPROT0;                             /**< Program Flash Protection Registers, offset: 0x13 */
1437        uint8_t RESERVED_0[2];
1438   __IO uint8_t FEPROT;                             /**< EEPROM Protection Register, offset: 0x16 */
1439   __IO uint8_t FDPROT;                             /**< Data Flash Protection Register, offset: 0x17 */
1440 } FTFL_Type;
1441
1442 /* ----------------------------------------------------------------------------
1443    -- FTFL Register Masks
1444    ---------------------------------------------------------------------------- */
1445
1446 /**
1447  * @addtogroup FTFL_Register_Masks FTFL Register Masks
1448  * @{
1449  */
1450
1451 /* FSTAT Bit Fields */
1452 #define FTFL_FSTAT_MGSTAT0_MASK                  0x1u
1453 #define FTFL_FSTAT_MGSTAT0_SHIFT                 0
1454 #define FTFL_FSTAT_FPVIOL_MASK                   0x10u
1455 #define FTFL_FSTAT_FPVIOL_SHIFT                  4
1456 #define FTFL_FSTAT_ACCERR_MASK                   0x20u
1457 #define FTFL_FSTAT_ACCERR_SHIFT                  5
1458 #define FTFL_FSTAT_RDCOLERR_MASK                 0x40u
1459 #define FTFL_FSTAT_RDCOLERR_SHIFT                6
1460 #define FTFL_FSTAT_CCIF_MASK                     0x80u
1461 #define FTFL_FSTAT_CCIF_SHIFT                    7
1462 /* FCNFG Bit Fields */
1463 #define FTFL_FCNFG_EEERDY_MASK                   0x1u
1464 #define FTFL_FCNFG_EEERDY_SHIFT                  0
1465 #define FTFL_FCNFG_RAMRDY_MASK                   0x2u
1466 #define FTFL_FCNFG_RAMRDY_SHIFT                  1
1467 #define FTFL_FCNFG_PFLSH_MASK                    0x4u
1468 #define FTFL_FCNFG_PFLSH_SHIFT                   2
1469 #define FTFL_FCNFG_ERSSUSP_MASK                  0x10u
1470 #define FTFL_FCNFG_ERSSUSP_SHIFT                 4
1471 #define FTFL_FCNFG_ERSAREQ_MASK                  0x20u
1472 #define FTFL_FCNFG_ERSAREQ_SHIFT                 5
1473 #define FTFL_FCNFG_RDCOLLIE_MASK                 0x40u
1474 #define FTFL_FCNFG_RDCOLLIE_SHIFT                6
1475 #define FTFL_FCNFG_CCIE_MASK                     0x80u
1476 #define FTFL_FCNFG_CCIE_SHIFT                    7
1477 /* FSEC Bit Fields */
1478 #define FTFL_FSEC_SEC_MASK                       0x3u
1479 #define FTFL_FSEC_SEC_SHIFT                      0
1480 #define FTFL_FSEC_SEC(x)                         (((uint8_t)(((uint8_t)(x))<<FTFL_FSEC_SEC_SHIFT))&FTFL_FSEC_SEC_MASK)
1481 #define FTFL_FSEC_FSLACC_MASK                    0xCu
1482 #define FTFL_FSEC_FSLACC_SHIFT                   2
1483 #define FTFL_FSEC_FSLACC(x)                      (((uint8_t)(((uint8_t)(x))<<FTFL_FSEC_FSLACC_SHIFT))&FTFL_FSEC_FSLACC_MASK)
1484 #define FTFL_FSEC_MEEN_MASK                      0x30u
1485 #define FTFL_FSEC_MEEN_SHIFT                     4
1486 #define FTFL_FSEC_MEEN(x)                        (((uint8_t)(((uint8_t)(x))<<FTFL_FSEC_MEEN_SHIFT))&FTFL_FSEC_MEEN_MASK)
1487 #define FTFL_FSEC_KEYEN_MASK                     0xC0u
1488 #define FTFL_FSEC_KEYEN_SHIFT                    6
1489 #define FTFL_FSEC_KEYEN(x)                       (((uint8_t)(((uint8_t)(x))<<FTFL_FSEC_KEYEN_SHIFT))&FTFL_FSEC_KEYEN_MASK)
1490 /* FOPT Bit Fields */
1491 #define FTFL_FOPT_OPT_MASK                       0xFFu
1492 #define FTFL_FOPT_OPT_SHIFT                      0
1493 #define FTFL_FOPT_OPT(x)                         (((uint8_t)(((uint8_t)(x))<<FTFL_FOPT_OPT_SHIFT))&FTFL_FOPT_OPT_MASK)
1494 /* FCCOB3 Bit Fields */
1495 #define FTFL_FCCOB3_CCOBn_MASK                   0xFFu
1496 #define FTFL_FCCOB3_CCOBn_SHIFT                  0
1497 #define FTFL_FCCOB3_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB3_CCOBn_SHIFT))&FTFL_FCCOB3_CCOBn_MASK)
1498 /* FCCOB2 Bit Fields */
1499 #define FTFL_FCCOB2_CCOBn_MASK                   0xFFu
1500 #define FTFL_FCCOB2_CCOBn_SHIFT                  0
1501 #define FTFL_FCCOB2_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB2_CCOBn_SHIFT))&FTFL_FCCOB2_CCOBn_MASK)
1502 /* FCCOB1 Bit Fields */
1503 #define FTFL_FCCOB1_CCOBn_MASK                   0xFFu
1504 #define FTFL_FCCOB1_CCOBn_SHIFT                  0
1505 #define FTFL_FCCOB1_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB1_CCOBn_SHIFT))&FTFL_FCCOB1_CCOBn_MASK)
1506 /* FCCOB0 Bit Fields */
1507 #define FTFL_FCCOB0_CCOBn_MASK                   0xFFu
1508 #define FTFL_FCCOB0_CCOBn_SHIFT                  0
1509 #define FTFL_FCCOB0_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB0_CCOBn_SHIFT))&FTFL_FCCOB0_CCOBn_MASK)
1510 /* FCCOB7 Bit Fields */
1511 #define FTFL_FCCOB7_CCOBn_MASK                   0xFFu
1512 #define FTFL_FCCOB7_CCOBn_SHIFT                  0
1513 #define FTFL_FCCOB7_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB7_CCOBn_SHIFT))&FTFL_FCCOB7_CCOBn_MASK)
1514 /* FCCOB6 Bit Fields */
1515 #define FTFL_FCCOB6_CCOBn_MASK                   0xFFu
1516 #define FTFL_FCCOB6_CCOBn_SHIFT                  0
1517 #define FTFL_FCCOB6_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB6_CCOBn_SHIFT))&FTFL_FCCOB6_CCOBn_MASK)
1518 /* FCCOB5 Bit Fields */
1519 #define FTFL_FCCOB5_CCOBn_MASK                   0xFFu
1520 #define FTFL_FCCOB5_CCOBn_SHIFT                  0
1521 #define FTFL_FCCOB5_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB5_CCOBn_SHIFT))&FTFL_FCCOB5_CCOBn_MASK)
1522 /* FCCOB4 Bit Fields */
1523 #define FTFL_FCCOB4_CCOBn_MASK                   0xFFu
1524 #define FTFL_FCCOB4_CCOBn_SHIFT                  0
1525 #define FTFL_FCCOB4_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB4_CCOBn_SHIFT))&FTFL_FCCOB4_CCOBn_MASK)
1526 /* FCCOBB Bit Fields */
1527 #define FTFL_FCCOBB_CCOBn_MASK                   0xFFu
1528 #define FTFL_FCCOBB_CCOBn_SHIFT                  0
1529 #define FTFL_FCCOBB_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOBB_CCOBn_SHIFT))&FTFL_FCCOBB_CCOBn_MASK)
1530 /* FCCOBA Bit Fields */
1531 #define FTFL_FCCOBA_CCOBn_MASK                   0xFFu
1532 #define FTFL_FCCOBA_CCOBn_SHIFT                  0
1533 #define FTFL_FCCOBA_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOBA_CCOBn_SHIFT))&FTFL_FCCOBA_CCOBn_MASK)
1534 /* FCCOB9 Bit Fields */
1535 #define FTFL_FCCOB9_CCOBn_MASK                   0xFFu
1536 #define FTFL_FCCOB9_CCOBn_SHIFT                  0
1537 #define FTFL_FCCOB9_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB9_CCOBn_SHIFT))&FTFL_FCCOB9_CCOBn_MASK)
1538 /* FCCOB8 Bit Fields */
1539 #define FTFL_FCCOB8_CCOBn_MASK                   0xFFu
1540 #define FTFL_FCCOB8_CCOBn_SHIFT                  0
1541 #define FTFL_FCCOB8_CCOBn(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FCCOB8_CCOBn_SHIFT))&FTFL_FCCOB8_CCOBn_MASK)
1542 /* FPROT3 Bit Fields */
1543 #define FTFL_FPROT3_PROT_MASK                    0xFFu
1544 #define FTFL_FPROT3_PROT_SHIFT                   0
1545 #define FTFL_FPROT3_PROT(x)                      (((uint8_t)(((uint8_t)(x))<<FTFL_FPROT3_PROT_SHIFT))&FTFL_FPROT3_PROT_MASK)
1546 /* FPROT2 Bit Fields */
1547 #define FTFL_FPROT2_PROT_MASK                    0xFFu
1548 #define FTFL_FPROT2_PROT_SHIFT                   0
1549 #define FTFL_FPROT2_PROT(x)                      (((uint8_t)(((uint8_t)(x))<<FTFL_FPROT2_PROT_SHIFT))&FTFL_FPROT2_PROT_MASK)
1550 /* FPROT1 Bit Fields */
1551 #define FTFL_FPROT1_PROT_MASK                    0xFFu
1552 #define FTFL_FPROT1_PROT_SHIFT                   0
1553 #define FTFL_FPROT1_PROT(x)                      (((uint8_t)(((uint8_t)(x))<<FTFL_FPROT1_PROT_SHIFT))&FTFL_FPROT1_PROT_MASK)
1554 /* FPROT0 Bit Fields */
1555 #define FTFL_FPROT0_PROT_MASK                    0xFFu
1556 #define FTFL_FPROT0_PROT_SHIFT                   0
1557 #define FTFL_FPROT0_PROT(x)                      (((uint8_t)(((uint8_t)(x))<<FTFL_FPROT0_PROT_SHIFT))&FTFL_FPROT0_PROT_MASK)
1558 /* FEPROT Bit Fields */
1559 #define FTFL_FEPROT_EPROT_MASK                   0xFFu
1560 #define FTFL_FEPROT_EPROT_SHIFT                  0
1561 #define FTFL_FEPROT_EPROT(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FEPROT_EPROT_SHIFT))&FTFL_FEPROT_EPROT_MASK)
1562 /* FDPROT Bit Fields */
1563 #define FTFL_FDPROT_DPROT_MASK                   0xFFu
1564 #define FTFL_FDPROT_DPROT_SHIFT                  0
1565 #define FTFL_FDPROT_DPROT(x)                     (((uint8_t)(((uint8_t)(x))<<FTFL_FDPROT_DPROT_SHIFT))&FTFL_FDPROT_DPROT_MASK)
1566
1567 /**
1568  * @}
1569  */ /* end of group FTFL_Register_Masks */
1570
1571
1572 /* FTFL - Peripheral instance base addresses */
1573 /** Peripheral FTFL base address */
1574 #define FTFL_BASE                                (0x40020000u)
1575 /** Peripheral FTFL base pointer */
1576 #define FTFL                                     ((FTFL_Type *)FTFL_BASE)
1577
1578 /**
1579  * @}
1580  */ /* end of group FTFL_Peripheral_Access_Layer */
1581
1582
1583 /* ----------------------------------------------------------------------------
1584    -- FTM Peripheral Access Layer
1585    ---------------------------------------------------------------------------- */
1586
1587 /**
1588  * @addtogroup FTM_Peripheral_Access_Layer FTM Peripheral Access Layer
1589  * @{
1590  */
1591
1592 /** FTM - Register Layout Typedef */
1593 typedef struct {
1594   __IO uint32_t SC;                                /**< Status and Control, offset: 0x0 */
1595   __IO uint32_t CNT;                               /**< Counter, offset: 0x4 */
1596   __IO uint32_t MOD;                               /**< Modulo, offset: 0x8 */
1597   struct {                                         /* offset: 0xC, array step: 0x8 */
1598     __IO uint32_t CnSC;                              /**< Channel (n) Status and Control, array offset: 0xC, array step: 0x8 */
1599     __IO uint32_t CnV;                               /**< Channel (n) Value, array offset: 0x10, array step: 0x8 */
1600   } CONTROLS[8];
1601   __IO uint32_t CNTIN;                             /**< Counter Initial Value, offset: 0x4C */
1602   __I  uint32_t STATUS;                            /**< Capture and Compare Status, offset: 0x50 */
1603   __IO uint32_t MODE;                              /**< Features Mode Selection, offset: 0x54 */
1604   __IO uint32_t SYNC;                              /**< Synchronization, offset: 0x58 */
1605   __IO uint32_t OUTINIT;                           /**< Initial State for Channels Output, offset: 0x5C */
1606   __IO uint32_t OUTMASK;                           /**< Output Mask, offset: 0x60 */
1607   __IO uint32_t COMBINE;                           /**< Function for Linked Channels, offset: 0x64 */
1608   __IO uint32_t DEADTIME;                          /**< Deadtime Insertion Control, offset: 0x68 */
1609   __IO uint32_t EXTTRIG;                           /**< FTM External Trigger, offset: 0x6C */
1610   __IO uint32_t POL;                               /**< Channels Polarity, offset: 0x70 */
1611   __IO uint32_t FMS;                               /**< Fault Mode Status, offset: 0x74 */
1612   __IO uint32_t FILTER;                            /**< Input Capture Filter Control, offset: 0x78 */
1613   __IO uint32_t FLTCTRL;                           /**< Fault Control, offset: 0x7C */
1614   __IO uint32_t QDCTRL;                            /**< Quadrature Decoder Control and Status, offset: 0x80 */
1615   __IO uint32_t CONF;                              /**< Configuration, offset: 0x84 */
1616   __IO uint32_t FLTPOL;                            /**< FTM Fault Input Polarity, offset: 0x88 */
1617   __IO uint32_t SYNCONF;                           /**< Synchronization Configuration, offset: 0x8C */
1618   __IO uint32_t INVCTRL;                           /**< FTM Inverting Control, offset: 0x90 */
1619   __IO uint32_t SWOCTRL;                           /**< FTM Software Output Control, offset: 0x94 */
1620   __IO uint32_t PWMLOAD;                           /**< FTM PWM Load, offset: 0x98 */
1621 } FTM_Type;
1622
1623 /* ----------------------------------------------------------------------------
1624    -- FTM Register Masks
1625    ---------------------------------------------------------------------------- */
1626
1627 /**
1628  * @addtogroup FTM_Register_Masks FTM Register Masks
1629  * @{
1630  */
1631
1632 /* SC Bit Fields */
1633 #define FTM_SC_PS_MASK                           0x7u
1634 #define FTM_SC_PS_SHIFT                          0
1635 #define FTM_SC_PS(x)                             (((uint32_t)(((uint32_t)(x))<<FTM_SC_PS_SHIFT))&FTM_SC_PS_MASK)
1636 #define FTM_SC_CLKS_MASK                         0x18u
1637 #define FTM_SC_CLKS_SHIFT                        3
1638 #define FTM_SC_CLKS(x)                           (((uint32_t)(((uint32_t)(x))<<FTM_SC_CLKS_SHIFT))&FTM_SC_CLKS_MASK)
1639 #define FTM_SC_CPWMS_MASK                        0x20u
1640 #define FTM_SC_CPWMS_SHIFT                       5
1641 #define FTM_SC_TOIE_MASK                         0x40u
1642 #define FTM_SC_TOIE_SHIFT                        6
1643 #define FTM_SC_TOF_MASK                          0x80u
1644 #define FTM_SC_TOF_SHIFT                         7
1645 /* CNT Bit Fields */
1646 #define FTM_CNT_COUNT_MASK                       0xFFFFu
1647 #define FTM_CNT_COUNT_SHIFT                      0
1648 #define FTM_CNT_COUNT(x)                         (((uint32_t)(((uint32_t)(x))<<FTM_CNT_COUNT_SHIFT))&FTM_CNT_COUNT_MASK)
1649 /* MOD Bit Fields */
1650 #define FTM_MOD_MOD_MASK                         0xFFFFu
1651 #define FTM_MOD_MOD_SHIFT                        0
1652 #define FTM_MOD_MOD(x)                           (((uint32_t)(((uint32_t)(x))<<FTM_MOD_MOD_SHIFT))&FTM_MOD_MOD_MASK)
1653 /* CnSC Bit Fields */
1654 #define FTM_CnSC_DMA_MASK                        0x1u
1655 #define FTM_CnSC_DMA_SHIFT                       0
1656 #define FTM_CnSC_ELSA_MASK                       0x4u
1657 #define FTM_CnSC_ELSA_SHIFT                      2
1658 #define FTM_CnSC_ELSB_MASK                       0x8u
1659 #define FTM_CnSC_ELSB_SHIFT                      3
1660 #define FTM_CnSC_MSA_MASK                        0x10u
1661 #define FTM_CnSC_MSA_SHIFT                       4
1662 #define FTM_CnSC_MSB_MASK                        0x20u
1663 #define FTM_CnSC_MSB_SHIFT                       5
1664 #define FTM_CnSC_CHIE_MASK                       0x40u
1665 #define FTM_CnSC_CHIE_SHIFT                      6
1666 #define FTM_CnSC_CHF_MASK                        0x80u
1667 #define FTM_CnSC_CHF_SHIFT                       7
1668 /* CnV Bit Fields */
1669 #define FTM_CnV_VAL_MASK                         0xFFFFu
1670 #define FTM_CnV_VAL_SHIFT                        0
1671 #define FTM_CnV_VAL(x)                           (((uint32_t)(((uint32_t)(x))<<FTM_CnV_VAL_SHIFT))&FTM_CnV_VAL_MASK)
1672 /* CNTIN Bit Fields */
1673 #define FTM_CNTIN_INIT_MASK                      0xFFFFu
1674 #define FTM_CNTIN_INIT_SHIFT                     0
1675 #define FTM_CNTIN_INIT(x)                        (((uint32_t)(((uint32_t)(x))<<FTM_CNTIN_INIT_SHIFT))&FTM_CNTIN_INIT_MASK)
1676 /* STATUS Bit Fields */
1677 #define FTM_STATUS_CH0F_MASK                     0x1u
1678 #define FTM_STATUS_CH0F_SHIFT                    0
1679 #define FTM_STATUS_CH1F_MASK                     0x2u
1680 #define FTM_STATUS_CH1F_SHIFT                    1
1681 #define FTM_STATUS_CH2F_MASK                     0x4u
1682 #define FTM_STATUS_CH2F_SHIFT                    2
1683 #define FTM_STATUS_CH3F_MASK                     0x8u
1684 #define FTM_STATUS_CH3F_SHIFT                    3
1685 #define FTM_STATUS_CH4F_MASK                     0x10u
1686 #define FTM_STATUS_CH4F_SHIFT                    4
1687 #define FTM_STATUS_CH5F_MASK                     0x20u
1688 #define FTM_STATUS_CH5F_SHIFT                    5
1689 #define FTM_STATUS_CH6F_MASK                     0x40u
1690 #define FTM_STATUS_CH6F_SHIFT                    6
1691 #define FTM_STATUS_CH7F_MASK                     0x80u
1692 #define FTM_STATUS_CH7F_SHIFT                    7
1693 /* MODE Bit Fields */
1694 #define FTM_MODE_FTMEN_MASK                      0x1u
1695 #define FTM_MODE_FTMEN_SHIFT                     0
1696 #define FTM_MODE_INIT_MASK                       0x2u
1697 #define FTM_MODE_INIT_SHIFT                      1
1698 #define FTM_MODE_WPDIS_MASK                      0x4u
1699 #define FTM_MODE_WPDIS_SHIFT                     2
1700 #define FTM_MODE_PWMSYNC_MASK                    0x8u
1701 #define FTM_MODE_PWMSYNC_SHIFT                   3
1702 #define FTM_MODE_CAPTEST_MASK                    0x10u
1703 #define FTM_MODE_CAPTEST_SHIFT                   4
1704 #define FTM_MODE_FAULTM_MASK                     0x60u
1705 #define FTM_MODE_FAULTM_SHIFT                    5
1706 #define FTM_MODE_FAULTM(x)                       (((uint32_t)(((uint32_t)(x))<<FTM_MODE_FAULTM_SHIFT))&FTM_MODE_FAULTM_MASK)
1707 #define FTM_MODE_FAULTIE_MASK                    0x80u
1708 #define FTM_MODE_FAULTIE_SHIFT                   7
1709 /* SYNC Bit Fields */
1710 #define FTM_SYNC_CNTMIN_MASK                     0x1u
1711 #define FTM_SYNC_CNTMIN_SHIFT                    0
1712 #define FTM_SYNC_CNTMAX_MASK                     0x2u
1713 #define FTM_SYNC_CNTMAX_SHIFT                    1
1714 #define FTM_SYNC_REINIT_MASK                     0x4u
1715 #define FTM_SYNC_REINIT_SHIFT                    2
1716 #define FTM_SYNC_SYNCHOM_MASK                    0x8u
1717 #define FTM_SYNC_SYNCHOM_SHIFT                   3
1718 #define FTM_SYNC_TRIG0_MASK                      0x10u
1719 #define FTM_SYNC_TRIG0_SHIFT                     4
1720 #define FTM_SYNC_TRIG1_MASK                      0x20u
1721 #define FTM_SYNC_TRIG1_SHIFT                     5
1722 #define FTM_SYNC_TRIG2_MASK                      0x40u
1723 #define FTM_SYNC_TRIG2_SHIFT                     6
1724 #define FTM_SYNC_SWSYNC_MASK                     0x80u
1725 #define FTM_SYNC_SWSYNC_SHIFT                    7
1726 /* OUTINIT Bit Fields */
1727 #define FTM_OUTINIT_CH0OI_MASK                   0x1u
1728 #define FTM_OUTINIT_CH0OI_SHIFT                  0
1729 #define FTM_OUTINIT_CH1OI_MASK                   0x2u
1730 #define FTM_OUTINIT_CH1OI_SHIFT                  1
1731 #define FTM_OUTINIT_CH2OI_MASK                   0x4u
1732 #define FTM_OUTINIT_CH2OI_SHIFT                  2
1733 #define FTM_OUTINIT_CH3OI_MASK                   0x8u
1734 #define FTM_OUTINIT_CH3OI_SHIFT                  3
1735 #define FTM_OUTINIT_CH4OI_MASK                   0x10u
1736 #define FTM_OUTINIT_CH4OI_SHIFT                  4
1737 #define FTM_OUTINIT_CH5OI_MASK                   0x20u
1738 #define FTM_OUTINIT_CH5OI_SHIFT                  5
1739 #define FTM_OUTINIT_CH6OI_MASK                   0x40u
1740 #define FTM_OUTINIT_CH6OI_SHIFT                  6
1741 #define FTM_OUTINIT_CH7OI_MASK                   0x80u
1742 #define FTM_OUTINIT_CH7OI_SHIFT                  7
1743 /* OUTMASK Bit Fields */
1744 #define FTM_OUTMASK_CH0OM_MASK                   0x1u
1745 #define FTM_OUTMASK_CH0OM_SHIFT                  0
1746 #define FTM_OUTMASK_CH1OM_MASK                   0x2u
1747 #define FTM_OUTMASK_CH1OM_SHIFT                  1
1748 #define FTM_OUTMASK_CH2OM_MASK                   0x4u
1749 #define FTM_OUTMASK_CH2OM_SHIFT                  2
1750 #define FTM_OUTMASK_CH3OM_MASK                   0x8u
1751 #define FTM_OUTMASK_CH3OM_SHIFT                  3
1752 #define FTM_OUTMASK_CH4OM_MASK                   0x10u
1753 #define FTM_OUTMASK_CH4OM_SHIFT                  4
1754 #define FTM_OUTMASK_CH5OM_MASK                   0x20u
1755 #define FTM_OUTMASK_CH5OM_SHIFT                  5
1756 #define FTM_OUTMASK_CH6OM_MASK                   0x40u
1757 #define FTM_OUTMASK_CH6OM_SHIFT                  6
1758 #define FTM_OUTMASK_CH7OM_MASK                   0x80u
1759 #define FTM_OUTMASK_CH7OM_SHIFT                  7
1760 /* COMBINE Bit Fields */
1761 #define FTM_COMBINE_COMBINE0_MASK                0x1u
1762 #define FTM_COMBINE_COMBINE0_SHIFT               0
1763 #define FTM_COMBINE_COMP0_MASK                   0x2u
1764 #define FTM_COMBINE_COMP0_SHIFT                  1
1765 #define FTM_COMBINE_DECAPEN0_MASK                0x4u
1766 #define FTM_COMBINE_DECAPEN0_SHIFT               2
1767 #define FTM_COMBINE_DECAP0_MASK                  0x8u
1768 #define FTM_COMBINE_DECAP0_SHIFT                 3
1769 #define FTM_COMBINE_DTEN0_MASK                   0x10u
1770 #define FTM_COMBINE_DTEN0_SHIFT                  4
1771 #define FTM_COMBINE_SYNCEN0_MASK                 0x20u
1772 #define FTM_COMBINE_SYNCEN0_SHIFT                5
1773 #define FTM_COMBINE_FAULTEN0_MASK                0x40u
1774 #define FTM_COMBINE_FAULTEN0_SHIFT               6
1775 #define FTM_COMBINE_COMBINE1_MASK                0x100u
1776 #define FTM_COMBINE_COMBINE1_SHIFT               8
1777 #define FTM_COMBINE_COMP1_MASK                   0x200u
1778 #define FTM_COMBINE_COMP1_SHIFT                  9
1779 #define FTM_COMBINE_DECAPEN1_MASK                0x400u
1780 #define FTM_COMBINE_DECAPEN1_SHIFT               10
1781 #define FTM_COMBINE_DECAP1_MASK                  0x800u
1782 #define FTM_COMBINE_DECAP1_SHIFT                 11
1783 #define FTM_COMBINE_DTEN1_MASK                   0x1000u
1784 #define FTM_COMBINE_DTEN1_SHIFT                  12
1785 #define FTM_COMBINE_SYNCEN1_MASK                 0x2000u
1786 #define FTM_COMBINE_SYNCEN1_SHIFT                13
1787 #define FTM_COMBINE_FAULTEN1_MASK                0x4000u
1788 #define FTM_COMBINE_FAULTEN1_SHIFT               14
1789 #define FTM_COMBINE_COMBINE2_MASK                0x10000u
1790 #define FTM_COMBINE_COMBINE2_SHIFT               16
1791 #define FTM_COMBINE_COMP2_MASK                   0x20000u
1792 #define FTM_COMBINE_COMP2_SHIFT                  17
1793 #define FTM_COMBINE_DECAPEN2_MASK                0x40000u
1794 #define FTM_COMBINE_DECAPEN2_SHIFT               18
1795 #define FTM_COMBINE_DECAP2_MASK                  0x80000u
1796 #define FTM_COMBINE_DECAP2_SHIFT                 19
1797 #define FTM_COMBINE_DTEN2_MASK                   0x100000u
1798 #define FTM_COMBINE_DTEN2_SHIFT                  20
1799 #define FTM_COMBINE_SYNCEN2_MASK                 0x200000u
1800 #define FTM_COMBINE_SYNCEN2_SHIFT                21
1801 #define FTM_COMBINE_FAULTEN2_MASK                0x400000u
1802 #define FTM_COMBINE_FAULTEN2_SHIFT               22
1803 #define FTM_COMBINE_COMBINE3_MASK                0x1000000u
1804 #define FTM_COMBINE_COMBINE3_SHIFT               24
1805 #define FTM_COMBINE_COMP3_MASK                   0x2000000u
1806 #define FTM_COMBINE_COMP3_SHIFT                  25
1807 #define FTM_COMBINE_DECAPEN3_MASK                0x4000000u
1808 #define FTM_COMBINE_DECAPEN3_SHIFT               26
1809 #define FTM_COMBINE_DECAP3_MASK                  0x8000000u
1810 #define FTM_COMBINE_DECAP3_SHIFT                 27
1811 #define FTM_COMBINE_DTEN3_MASK                   0x10000000u
1812 #define FTM_COMBINE_DTEN3_SHIFT                  28
1813 #define FTM_COMBINE_SYNCEN3_MASK                 0x20000000u
1814 #define FTM_COMBINE_SYNCEN3_SHIFT                29
1815 #define FTM_COMBINE_FAULTEN3_MASK                0x40000000u
1816 #define FTM_COMBINE_FAULTEN3_SHIFT               30
1817 /* DEADTIME Bit Fields */
1818 #define FTM_DEADTIME_DTVAL_MASK                  0x3Fu
1819 #define FTM_DEADTIME_DTVAL_SHIFT                 0
1820 #define FTM_DEADTIME_DTVAL(x)                    (((uint32_t)(((uint32_t)(x))<<FTM_DEADTIME_DTVAL_SHIFT))&FTM_DEADTIME_DTVAL_MASK)
1821 #define FTM_DEADTIME_DTPS_MASK                   0xC0u
1822 #define FTM_DEADTIME_DTPS_SHIFT                  6
1823 #define FTM_DEADTIME_DTPS(x)                     (((uint32_t)(((uint32_t)(x))<<FTM_DEADTIME_DTPS_SHIFT))&FTM_DEADTIME_DTPS_MASK)
1824 /* EXTTRIG Bit Fields */
1825 #define FTM_EXTTRIG_CH2TRIG_MASK                 0x1u
1826 #define FTM_EXTTRIG_CH2TRIG_SHIFT                0
1827 #define FTM_EXTTRIG_CH3TRIG_MASK                 0x2u
1828 #define FTM_EXTTRIG_CH3TRIG_SHIFT                1
1829 #define FTM_EXTTRIG_CH4TRIG_MASK                 0x4u
1830 #define FTM_EXTTRIG_CH4TRIG_SHIFT                2
1831 #define FTM_EXTTRIG_CH5TRIG_MASK                 0x8u
1832 #define FTM_EXTTRIG_CH5TRIG_SHIFT                3
1833 #define FTM_EXTTRIG_CH0TRIG_MASK                 0x10u
1834 #define FTM_EXTTRIG_CH0TRIG_SHIFT                4
1835 #define FTM_EXTTRIG_CH1TRIG_MASK                 0x20u
1836 #define FTM_EXTTRIG_CH1TRIG_SHIFT                5
1837 #define FTM_EXTTRIG_INITTRIGEN_MASK              0x40u
1838 #define FTM_EXTTRIG_INITTRIGEN_SHIFT             6
1839 #define FTM_EXTTRIG_TRIGF_MASK                   0x80u
1840 #define FTM_EXTTRIG_TRIGF_SHIFT                  7
1841 /* POL Bit Fields */
1842 #define FTM_POL_POL0_MASK                        0x1u
1843 #define FTM_POL_POL0_SHIFT                       0
1844 #define FTM_POL_POL1_MASK                        0x2u
1845 #define FTM_POL_POL1_SHIFT                       1
1846 #define FTM_POL_POL2_MASK                        0x4u
1847 #define FTM_POL_POL2_SHIFT                       2
1848 #define FTM_POL_POL3_MASK                        0x8u
1849 #define FTM_POL_POL3_SHIFT                       3
1850 #define FTM_POL_POL4_MASK                        0x10u
1851 #define FTM_POL_POL4_SHIFT                       4
1852 #define FTM_POL_POL5_MASK                        0x20u
1853 #define FTM_POL_POL5_SHIFT                       5
1854 #define FTM_POL_POL6_MASK                        0x40u
1855 #define FTM_POL_POL6_SHIFT                       6
1856 #define FTM_POL_POL7_MASK                        0x80u
1857 #define FTM_POL_POL7_SHIFT                       7
1858 /* FMS Bit Fields */
1859 #define FTM_FMS_FAULTF0_MASK                     0x1u
1860 #define FTM_FMS_FAULTF0_SHIFT                    0
1861 #define FTM_FMS_FAULTF1_MASK                     0x2u
1862 #define FTM_FMS_FAULTF1_SHIFT                    1
1863 #define FTM_FMS_FAULTF2_MASK                     0x4u
1864 #define FTM_FMS_FAULTF2_SHIFT                    2
1865 #define FTM_FMS_FAULTF3_MASK                     0x8u
1866 #define FTM_FMS_FAULTF3_SHIFT                    3
1867 #define FTM_FMS_FAULTIN_MASK                     0x20u
1868 #define FTM_FMS_FAULTIN_SHIFT                    5
1869 #define FTM_FMS_WPEN_MASK                        0x40u
1870 #define FTM_FMS_WPEN_SHIFT                       6
1871 #define FTM_FMS_FAULTF_MASK                      0x80u
1872 #define FTM_FMS_FAULTF_SHIFT                     7
1873 /* FILTER Bit Fields */
1874 #define FTM_FILTER_CH0FVAL_MASK                  0xFu
1875 #define FTM_FILTER_CH0FVAL_SHIFT                 0
1876 #define FTM_FILTER_CH0FVAL(x)                    (((uint32_t)(((uint32_t)(x))<<FTM_FILTER_CH0FVAL_SHIFT))&FTM_FILTER_CH0FVAL_MASK)
1877 #define FTM_FILTER_CH1FVAL_MASK                  0xF0u
1878 #define FTM_FILTER_CH1FVAL_SHIFT                 4
1879 #define FTM_FILTER_CH1FVAL(x)                    (((uint32_t)(((uint32_t)(x))<<FTM_FILTER_CH1FVAL_SHIFT))&FTM_FILTER_CH1FVAL_MASK)
1880 #define FTM_FILTER_CH2FVAL_MASK                  0xF00u
1881 #define FTM_FILTER_CH2FVAL_SHIFT                 8
1882 #define FTM_FILTER_CH2FVAL(x)                    (((uint32_t)(((uint32_t)(x))<<FTM_FILTER_CH2FVAL_SHIFT))&FTM_FILTER_CH2FVAL_MASK)
1883 #define FTM_FILTER_CH3FVAL_MASK                  0xF000u
1884 #define FTM_FILTER_CH3FVAL_SHIFT                 12
1885 #define FTM_FILTER_CH3FVAL(x)                    (((uint32_t)(((uint32_t)(x))<<FTM_FILTER_CH3FVAL_SHIFT))&FTM_FILTER_CH3FVAL_MASK)
1886 /* FLTCTRL Bit Fields */
1887 #define FTM_FLTCTRL_FAULT0EN_MASK                0x1u
1888 #define FTM_FLTCTRL_FAULT0EN_SHIFT               0
1889 #define FTM_FLTCTRL_FAULT1EN_MASK                0x2u
1890 #define FTM_FLTCTRL_FAULT1EN_SHIFT               1
1891 #define FTM_FLTCTRL_FAULT2EN_MASK                0x4u
1892 #define FTM_FLTCTRL_FAULT2EN_SHIFT               2
1893 #define FTM_FLTCTRL_FAULT3EN_MASK                0x8u
1894 #define FTM_FLTCTRL_FAULT3EN_SHIFT               3
1895 #define FTM_FLTCTRL_FFLTR0EN_MASK                0x10u
1896 #define FTM_FLTCTRL_FFLTR0EN_SHIFT               4
1897 #define FTM_FLTCTRL_FFLTR1EN_MASK                0x20u
1898 #define FTM_FLTCTRL_FFLTR1EN_SHIFT               5
1899 #define FTM_FLTCTRL_FFLTR2EN_MASK                0x40u
1900 #define FTM_FLTCTRL_FFLTR2EN_SHIFT               6
1901 #define FTM_FLTCTRL_FFLTR3EN_MASK                0x80u
1902 #define FTM_FLTCTRL_FFLTR3EN_SHIFT               7
1903 #define FTM_FLTCTRL_FFVAL_MASK                   0xF00u
1904 #define FTM_FLTCTRL_FFVAL_SHIFT                  8
1905 #define FTM_FLTCTRL_FFVAL(x)                     (((uint32_t)(((uint32_t)(x))<<FTM_FLTCTRL_FFVAL_SHIFT))&FTM_FLTCTRL_FFVAL_MASK)
1906 /* QDCTRL Bit Fields */
1907 #define FTM_QDCTRL_QUADEN_MASK                   0x1u
1908 #define FTM_QDCTRL_QUADEN_SHIFT                  0
1909 #define FTM_QDCTRL_TOFDIR_MASK                   0x2u
1910 #define FTM_QDCTRL_TOFDIR_SHIFT                  1
1911 #define FTM_QDCTRL_QUADIR_MASK                   0x4u
1912 #define FTM_QDCTRL_QUADIR_SHIFT                  2
1913 #define FTM_QDCTRL_QUADMODE_MASK                 0x8u
1914 #define FTM_QDCTRL_QUADMODE_SHIFT                3
1915 #define FTM_QDCTRL_PHBPOL_MASK                   0x10u
1916 #define FTM_QDCTRL_PHBPOL_SHIFT                  4
1917 #define FTM_QDCTRL_PHAPOL_MASK                   0x20u
1918 #define FTM_QDCTRL_PHAPOL_SHIFT                  5
1919 #define FTM_QDCTRL_PHBFLTREN_MASK                0x40u
1920 #define FTM_QDCTRL_PHBFLTREN_SHIFT               6
1921 #define FTM_QDCTRL_PHAFLTREN_MASK                0x80u
1922 #define FTM_QDCTRL_PHAFLTREN_SHIFT               7
1923 /* CONF Bit Fields */
1924 #define FTM_CONF_NUMTOF_MASK                     0x1Fu
1925 #define FTM_CONF_NUMTOF_SHIFT                    0
1926 #define FTM_CONF_NUMTOF(x)                       (((uint32_t)(((uint32_t)(x))<<FTM_CONF_NUMTOF_SHIFT))&FTM_CONF_NUMTOF_MASK)
1927 #define FTM_CONF_BDMMODE_MASK                    0xC0u
1928 #define FTM_CONF_BDMMODE_SHIFT                   6
1929 #define FTM_CONF_BDMMODE(x)                      (((uint32_t)(((uint32_t)(x))<<FTM_CONF_BDMMODE_SHIFT))&FTM_CONF_BDMMODE_MASK)
1930 #define FTM_CONF_GTBEEN_MASK                     0x200u
1931 #define FTM_CONF_GTBEEN_SHIFT                    9
1932 #define FTM_CONF_GTBEOUT_MASK                    0x400u
1933 #define FTM_CONF_GTBEOUT_SHIFT                   10
1934 /* FLTPOL Bit Fields */
1935 #define FTM_FLTPOL_FLT0POL_MASK                  0x1u
1936 #define FTM_FLTPOL_FLT0POL_SHIFT                 0
1937 #define FTM_FLTPOL_FLT1POL_MASK                  0x2u
1938 #define FTM_FLTPOL_FLT1POL_SHIFT                 1
1939 #define FTM_FLTPOL_FLT2POL_MASK                  0x4u
1940 #define FTM_FLTPOL_FLT2POL_SHIFT                 2
1941 #define FTM_FLTPOL_FLT3POL_MASK                  0x8u
1942 #define FTM_FLTPOL_FLT3POL_SHIFT                 3
1943 /* SYNCONF Bit Fields */
1944 #define FTM_SYNCONF_HWTRIGMODE_MASK              0x1u
1945 #define FTM_SYNCONF_HWTRIGMODE_SHIFT             0
1946 #define FTM_SYNCONF_CNTINC_MASK                  0x4u
1947 #define FTM_SYNCONF_CNTINC_SHIFT                 2
1948 #define FTM_SYNCONF_INVC_MASK                    0x10u
1949 #define FTM_SYNCONF_INVC_SHIFT                   4
1950 #define FTM_SYNCONF_SWOC_MASK                    0x20u
1951 #define FTM_SYNCONF_SWOC_SHIFT                   5
1952 #define FTM_SYNCONF_SYNCMODE_MASK                0x80u
1953 #define FTM_SYNCONF_SYNCMODE_SHIFT               7
1954 #define FTM_SYNCONF_SWRSTCNT_MASK                0x100u
1955 #define FTM_SYNCONF_SWRSTCNT_SHIFT               8
1956 #define FTM_SYNCONF_SWWRBUF_MASK                 0x200u
1957 #define FTM_SYNCONF_SWWRBUF_SHIFT                9
1958 #define FTM_SYNCONF_SWOM_MASK                    0x400u
1959 #define FTM_SYNCONF_SWOM_SHIFT                   10
1960 #define FTM_SYNCONF_SWINVC_MASK                  0x800u
1961 #define FTM_SYNCONF_SWINVC_SHIFT                 11
1962 #define FTM_SYNCONF_SWSOC_MASK                   0x1000u
1963 #define FTM_SYNCONF_SWSOC_SHIFT                  12
1964 #define FTM_SYNCONF_HWRSTCNT_MASK                0x10000u
1965 #define FTM_SYNCONF_HWRSTCNT_SHIFT               16
1966 #define FTM_SYNCONF_HWWRBUF_MASK                 0x20000u
1967 #define FTM_SYNCONF_HWWRBUF_SHIFT                17
1968 #define FTM_SYNCONF_HWOM_MASK                    0x40000u
1969 #define FTM_SYNCONF_HWOM_SHIFT                   18
1970 #define FTM_SYNCONF_HWINVC_MASK                  0x80000u
1971 #define FTM_SYNCONF_HWINVC_SHIFT                 19
1972 #define FTM_SYNCONF_HWSOC_MASK                   0x100000u
1973 #define FTM_SYNCONF_HWSOC_SHIFT                  20
1974 /* INVCTRL Bit Fields */
1975 #define FTM_INVCTRL_INV0EN_MASK                  0x1u
1976 #define FTM_INVCTRL_INV0EN_SHIFT                 0
1977 #define FTM_INVCTRL_INV1EN_MASK                  0x2u
1978 #define FTM_INVCTRL_INV1EN_SHIFT                 1
1979 #define FTM_INVCTRL_INV2EN_MASK                  0x4u
1980 #define FTM_INVCTRL_INV2EN_SHIFT                 2
1981 #define FTM_INVCTRL_INV3EN_MASK                  0x8u
1982 #define FTM_INVCTRL_INV3EN_SHIFT                 3
1983 /* SWOCTRL Bit Fields */
1984 #define FTM_SWOCTRL_CH0OC_MASK                   0x1u
1985 #define FTM_SWOCTRL_CH0OC_SHIFT                  0
1986 #define FTM_SWOCTRL_CH1OC_MASK                   0x2u
1987 #define FTM_SWOCTRL_CH1OC_SHIFT                  1
1988 #define FTM_SWOCTRL_CH2OC_MASK                   0x4u
1989 #define FTM_SWOCTRL_CH2OC_SHIFT                  2
1990 #define FTM_SWOCTRL_CH3OC_MASK                   0x8u
1991 #define FTM_SWOCTRL_CH3OC_SHIFT                  3
1992 #define FTM_SWOCTRL_CH4OC_MASK                   0x10u
1993 #define FTM_SWOCTRL_CH4OC_SHIFT                  4
1994 #define FTM_SWOCTRL_CH5OC_MASK                   0x20u
1995 #define FTM_SWOCTRL_CH5OC_SHIFT                  5
1996 #define FTM_SWOCTRL_CH6OC_MASK                   0x40u
1997 #define FTM_SWOCTRL_CH6OC_SHIFT                  6
1998 #define FTM_SWOCTRL_CH7OC_MASK                   0x80u
1999 #define FTM_SWOCTRL_CH7OC_SHIFT                  7
2000 #define FTM_SWOCTRL_CH0OCV_MASK                  0x100u
2001 #define FTM_SWOCTRL_CH0OCV_SHIFT                 8
2002 #define FTM_SWOCTRL_CH1OCV_MASK                  0x200u
2003 #define FTM_SWOCTRL_CH1OCV_SHIFT                 9
2004 #define FTM_SWOCTRL_CH2OCV_MASK                  0x400u
2005 #define FTM_SWOCTRL_CH2OCV_SHIFT                 10
2006 #define FTM_SWOCTRL_CH3OCV_MASK                  0x800u
2007 #define FTM_SWOCTRL_CH3OCV_SHIFT                 11
2008 #define FTM_SWOCTRL_CH4OCV_MASK                  0x1000u
2009 #define FTM_SWOCTRL_CH4OCV_SHIFT                 12
2010 #define FTM_SWOCTRL_CH5OCV_MASK                  0x2000u
2011 #define FTM_SWOCTRL_CH5OCV_SHIFT                 13
2012 #define FTM_SWOCTRL_CH6OCV_MASK                  0x4000u
2013 #define FTM_SWOCTRL_CH6OCV_SHIFT                 14
2014 #define FTM_SWOCTRL_CH7OCV_MASK                  0x8000u
2015 #define FTM_SWOCTRL_CH7OCV_SHIFT                 15
2016 /* PWMLOAD Bit Fields */
2017 #define FTM_PWMLOAD_CH0SEL_MASK                  0x1u
2018 #define FTM_PWMLOAD_CH0SEL_SHIFT                 0
2019 #define FTM_PWMLOAD_CH1SEL_MASK                  0x2u
2020 #define FTM_PWMLOAD_CH1SEL_SHIFT                 1
2021 #define FTM_PWMLOAD_CH2SEL_MASK                  0x4u
2022 #define FTM_PWMLOAD_CH2SEL_SHIFT                 2
2023 #define FTM_PWMLOAD_CH3SEL_MASK                  0x8u
2024 #define FTM_PWMLOAD_CH3SEL_SHIFT                 3
2025 #define FTM_PWMLOAD_CH4SEL_MASK                  0x10u
2026 #define FTM_PWMLOAD_CH4SEL_SHIFT                 4
2027 #define FTM_PWMLOAD_CH5SEL_MASK                  0x20u
2028 #define FTM_PWMLOAD_CH5SEL_SHIFT                 5
2029 #define FTM_PWMLOAD_CH6SEL_MASK                  0x40u
2030 #define FTM_PWMLOAD_CH6SEL_SHIFT                 6
2031 #define FTM_PWMLOAD_CH7SEL_MASK                  0x80u
2032 #define FTM_PWMLOAD_CH7SEL_SHIFT                 7
2033 #define FTM_PWMLOAD_LDOK_MASK                    0x200u
2034 #define FTM_PWMLOAD_LDOK_SHIFT                   9
2035
2036 /**
2037  * @}
2038  */ /* end of group FTM_Register_Masks */
2039
2040
2041 /* FTM - Peripheral instance base addresses */
2042 /** Peripheral FTM0 base address */
2043 #define FTM0_BASE                                (0x40038000u)
2044 /** Peripheral FTM0 base pointer */
2045 #define FTM0                                     ((FTM_Type *)FTM0_BASE)
2046 /** Peripheral FTM1 base address */
2047 #define FTM1_BASE                                (0x40039000u)
2048 /** Peripheral FTM1 base pointer */
2049 #define FTM1                                     ((FTM_Type *)FTM1_BASE)
2050
2051 /**
2052  * @}
2053  */ /* end of group FTM_Peripheral_Access_Layer */
2054
2055
2056 /* ----------------------------------------------------------------------------
2057    -- GPIO Peripheral Access Layer
2058    ---------------------------------------------------------------------------- */
2059
2060 /**
2061  * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer
2062  * @{
2063  */
2064
2065 /** GPIO - Register Layout Typedef */
2066 typedef struct {
2067   __IO uint32_t PDOR;                              /**< Port Data Output Register, offset: 0x0 */
2068   __O  uint32_t PSOR;                              /**< Port Set Output Register, offset: 0x4 */
2069   __O  uint32_t PCOR;                              /**< Port Clear Output Register, offset: 0x8 */
2070   __O  uint32_t PTOR;                              /**< Port Toggle Output Register, offset: 0xC */
2071   __I  uint32_t PDIR;                              /**< Port Data Input Register, offset: 0x10 */
2072   __IO uint32_t PDDR;                              /**< Port Data Direction Register, offset: 0x14 */
2073 } GPIO_Type;
2074
2075 /* ----------------------------------------------------------------------------
2076    -- GPIO Register Masks
2077    ---------------------------------------------------------------------------- */
2078
2079 /**
2080  * @addtogroup GPIO_Register_Masks GPIO Register Masks
2081  * @{
2082  */
2083
2084 /* PDOR Bit Fields */
2085 #define GPIO_PDOR_PDO_MASK                       0xFFFFFFFFu
2086 #define GPIO_PDOR_PDO_SHIFT                      0
2087 #define GPIO_PDOR_PDO(x)                         (((uint32_t)(((uint32_t)(x))<<GPIO_PDOR_PDO_SHIFT))&GPIO_PDOR_PDO_MASK)
2088 /* PSOR Bit Fields */
2089 #define GPIO_PSOR_PTSO_MASK                      0xFFFFFFFFu
2090 #define GPIO_PSOR_PTSO_SHIFT                     0
2091 #define GPIO_PSOR_PTSO(x)                        (((uint32_t)(((uint32_t)(x))<<GPIO_PSOR_PTSO_SHIFT))&GPIO_PSOR_PTSO_MASK)
2092 /* PCOR Bit Fields */
2093 #define GPIO_PCOR_PTCO_MASK                      0xFFFFFFFFu
2094 #define GPIO_PCOR_PTCO_SHIFT                     0
2095 #define GPIO_PCOR_PTCO(x)                        (((uint32_t)(((uint32_t)(x))<<GPIO_PCOR_PTCO_SHIFT))&GPIO_PCOR_PTCO_MASK)
2096 /* PTOR Bit Fields */
2097 #define GPIO_PTOR_PTTO_MASK                      0xFFFFFFFFu
2098 #define GPIO_PTOR_PTTO_SHIFT                     0
2099 #define GPIO_PTOR_PTTO(x)                        (((uint32_t)(((uint32_t)(x))<<GPIO_PTOR_PTTO_SHIFT))&GPIO_PTOR_PTTO_MASK)
2100 /* PDIR Bit Fields */
2101 #define GPIO_PDIR_PDI_MASK                       0xFFFFFFFFu
2102 #define GPIO_PDIR_PDI_SHIFT                      0
2103 #define GPIO_PDIR_PDI(x)                         (((uint32_t)(((uint32_t)(x))<<GPIO_PDIR_PDI_SHIFT))&GPIO_PDIR_PDI_MASK)
2104 /* PDDR Bit Fields */
2105 #define GPIO_PDDR_PDD_MASK                       0xFFFFFFFFu
2106 #define GPIO_PDDR_PDD_SHIFT                      0
2107 #define GPIO_PDDR_PDD(x)                         (((uint32_t)(((uint32_t)(x))<<GPIO_PDDR_PDD_SHIFT))&GPIO_PDDR_PDD_MASK)
2108
2109 /**
2110  * @}
2111  */ /* end of group GPIO_Register_Masks */
2112
2113
2114 /* GPIO - Peripheral instance base addresses */
2115 /** Peripheral PTA base address */
2116 #define PTA_BASE                                 (0x400FF000u)
2117 /** Peripheral PTA base pointer */
2118 #define PTA                                      ((GPIO_Type *)PTA_BASE)
2119 /** Peripheral PTB base address */
2120 #define PTB_BASE                                 (0x400FF040u)
2121 /** Peripheral PTB base pointer */
2122 #define PTB                                      ((GPIO_Type *)PTB_BASE)
2123 /** Peripheral PTC base address */
2124 #define PTC_BASE                                 (0x400FF080u)
2125 /** Peripheral PTC base pointer */
2126 #define PTC                                      ((GPIO_Type *)PTC_BASE)
2127 /** Peripheral PTD base address */
2128 #define PTD_BASE                                 (0x400FF0C0u)
2129 /** Peripheral PTD base pointer */
2130 #define PTD                                      ((GPIO_Type *)PTD_BASE)
2131 /** Peripheral PTE base address */
2132 #define PTE_BASE                                 (0x400FF100u)
2133 /** Peripheral PTE base pointer */
2134 #define PTE                                      ((GPIO_Type *)PTE_BASE)
2135
2136 /**
2137  * @}
2138  */ /* end of group GPIO_Peripheral_Access_Layer */
2139
2140
2141 /* ----------------------------------------------------------------------------
2142    -- I2C Peripheral Access Layer
2143    ---------------------------------------------------------------------------- */
2144
2145 /**
2146  * @addtogroup I2C_Peripheral_Access_Layer I2C Peripheral Access Layer
2147  * @{
2148  */
2149
2150 /** I2C - Register Layout Typedef */
2151 typedef struct {
2152   __IO uint8_t A1;                                 /**< I2C Address Register 1, offset: 0x0 */
2153   __IO uint8_t F;                                  /**< I2C Frequency Divider register, offset: 0x1 */
2154   __IO uint8_t C1;                                 /**< I2C Control Register 1, offset: 0x2 */
2155   __IO uint8_t S;                                  /**< I2C Status Register, offset: 0x3 */
2156   __IO uint8_t D;                                  /**< I2C Data I/O register, offset: 0x4 */
2157   __IO uint8_t C2;                                 /**< I2C Control Register 2, offset: 0x5 */
2158   __IO uint8_t FLT;                                /**< I2C Programmable Input Glitch Filter register, offset: 0x6 */
2159   __IO uint8_t RA;                                 /**< I2C Range Address register, offset: 0x7 */
2160   __IO uint8_t SMB;                                /**< I2C SMBus Control and Status register, offset: 0x8 */
2161   __IO uint8_t A2;                                 /**< I2C Address Register 2, offset: 0x9 */
2162   __IO uint8_t SLTH;                               /**< I2C SCL Low Timeout Register High, offset: 0xA */
2163   __IO uint8_t SLTL;                               /**< I2C SCL Low Timeout Register Low, offset: 0xB */
2164 } I2C_Type;
2165
2166 /* ----------------------------------------------------------------------------
2167    -- I2C Register Masks
2168    ---------------------------------------------------------------------------- */
2169
2170 /**
2171  * @addtogroup I2C_Register_Masks I2C Register Masks
2172  * @{
2173  */
2174
2175 /* A1 Bit Fields */
2176 #define I2C_A1_AD_MASK                           0xFEu
2177 #define I2C_A1_AD_SHIFT                          1
2178 #define I2C_A1_AD(x)                             (((uint8_t)(((uint8_t)(x))<<I2C_A1_AD_SHIFT))&I2C_A1_AD_MASK)
2179 /* F Bit Fields */
2180 #define I2C_F_ICR_MASK                           0x3Fu
2181 #define I2C_F_ICR_SHIFT                          0
2182 #define I2C_F_ICR(x)                             (((uint8_t)(((uint8_t)(x))<<I2C_F_ICR_SHIFT))&I2C_F_ICR_MASK)
2183 #define I2C_F_MULT_MASK                          0xC0u
2184 #define I2C_F_MULT_SHIFT                         6
2185 #define I2C_F_MULT(x)                            (((uint8_t)(((uint8_t)(x))<<I2C_F_MULT_SHIFT))&I2C_F_MULT_MASK)
2186 /* C1 Bit Fields */
2187 #define I2C_C1_DMAEN_MASK                        0x1u
2188 #define I2C_C1_DMAEN_SHIFT                       0
2189 #define I2C_C1_WUEN_MASK                         0x2u
2190 #define I2C_C1_WUEN_SHIFT                        1
2191 #define I2C_C1_RSTA_MASK                         0x4u
2192 #define I2C_C1_RSTA_SHIFT                        2
2193 #define I2C_C1_TXAK_MASK                         0x8u
2194 #define I2C_C1_TXAK_SHIFT                        3
2195 #define I2C_C1_TX_MASK                           0x10u
2196 #define I2C_C1_TX_SHIFT                          4
2197 #define I2C_C1_MST_MASK                          0x20u
2198 #define I2C_C1_MST_SHIFT                         5
2199 #define I2C_C1_IICIE_MASK                        0x40u
2200 #define I2C_C1_IICIE_SHIFT                       6
2201 #define I2C_C1_IICEN_MASK                        0x80u
2202 #define I2C_C1_IICEN_SHIFT                       7
2203 /* S Bit Fields */
2204 #define I2C_S_RXAK_MASK                          0x1u
2205 #define I2C_S_RXAK_SHIFT                         0
2206 #define I2C_S_IICIF_MASK                         0x2u
2207 #define I2C_S_IICIF_SHIFT                        1
2208 #define I2C_S_SRW_MASK                           0x4u
2209 #define I2C_S_SRW_SHIFT                          2
2210 #define I2C_S_RAM_MASK                           0x8u
2211 #define I2C_S_RAM_SHIFT                          3
2212 #define I2C_S_ARBL_MASK                          0x10u
2213 #define I2C_S_ARBL_SHIFT                         4
2214 #define I2C_S_BUSY_MASK                          0x20u
2215 #define I2C_S_BUSY_SHIFT                         5
2216 #define I2C_S_IAAS_MASK                          0x40u
2217 #define I2C_S_IAAS_SHIFT                         6
2218 #define I2C_S_TCF_MASK                           0x80u
2219 #define I2C_S_TCF_SHIFT                          7
2220 /* D Bit Fields */
2221 #define I2C_D_DATA_MASK                          0xFFu
2222 #define I2C_D_DATA_SHIFT                         0
2223 #define I2C_D_DATA(x)                            (((uint8_t)(((uint8_t)(x))<<I2C_D_DATA_SHIFT))&I2C_D_DATA_MASK)
2224 /* C2 Bit Fields */
2225 #define I2C_C2_AD_MASK                           0x7u
2226 #define I2C_C2_AD_SHIFT                          0
2227 #define I2C_C2_AD(x)                             (((uint8_t)(((uint8_t)(x))<<I2C_C2_AD_SHIFT))&I2C_C2_AD_MASK)
2228 #define I2C_C2_RMEN_MASK                         0x8u
2229 #define I2C_C2_RMEN_SHIFT                        3
2230 #define I2C_C2_SBRC_MASK                         0x10u
2231 #define I2C_C2_SBRC_SHIFT                        4
2232 #define I2C_C2_HDRS_MASK                         0x20u
2233 #define I2C_C2_HDRS_SHIFT                        5
2234 #define I2C_C2_ADEXT_MASK                        0x40u
2235 #define I2C_C2_ADEXT_SHIFT                       6
2236 #define I2C_C2_GCAEN_MASK                        0x80u
2237 #define I2C_C2_GCAEN_SHIFT                       7
2238 /* FLT Bit Fields */
2239 #define I2C_FLT_FLT_MASK                         0x1Fu
2240 #define I2C_FLT_FLT_SHIFT                        0
2241 #define I2C_FLT_FLT(x)                           (((uint8_t)(((uint8_t)(x))<<I2C_FLT_FLT_SHIFT))&I2C_FLT_FLT_MASK)
2242 /* RA Bit Fields */
2243 #define I2C_RA_RAD_MASK                          0xFEu
2244 #define I2C_RA_RAD_SHIFT                         1
2245 #define I2C_RA_RAD(x)                            (((uint8_t)(((uint8_t)(x))<<I2C_RA_RAD_SHIFT))&I2C_RA_RAD_MASK)
2246 /* SMB Bit Fields */
2247 #define I2C_SMB_SHTF2IE_MASK                     0x1u
2248 #define I2C_SMB_SHTF2IE_SHIFT                    0
2249 #define I2C_SMB_SHTF2_MASK                       0x2u
2250 #define I2C_SMB_SHTF2_SHIFT                      1
2251 #define I2C_SMB_SHTF1_MASK                       0x4u
2252 #define I2C_SMB_SHTF1_SHIFT                      2
2253 #define I2C_SMB_SLTF_MASK                        0x8u
2254 #define I2C_SMB_SLTF_SHIFT                       3
2255 #define I2C_SMB_TCKSEL_MASK                      0x10u
2256 #define I2C_SMB_TCKSEL_SHIFT                     4
2257 #define I2C_SMB_SIICAEN_MASK                     0x20u
2258 #define I2C_SMB_SIICAEN_SHIFT                    5
2259 #define I2C_SMB_ALERTEN_MASK                     0x40u
2260 #define I2C_SMB_ALERTEN_SHIFT                    6
2261 #define I2C_SMB_FACK_MASK                        0x80u
2262 #define I2C_SMB_FACK_SHIFT                       7
2263 /* A2 Bit Fields */
2264 #define I2C_A2_SAD_MASK                          0xFEu
2265 #define I2C_A2_SAD_SHIFT                         1
2266 #define I2C_A2_SAD(x)                            (((uint8_t)(((uint8_t)(x))<<I2C_A2_SAD_SHIFT))&I2C_A2_SAD_MASK)
2267 /* SLTH Bit Fields */
2268 #define I2C_SLTH_SSLT_MASK                       0xFFu
2269 #define I2C_SLTH_SSLT_SHIFT                      0
2270 #define I2C_SLTH_SSLT(x)                         (((uint8_t)(((uint8_t)(x))<<I2C_SLTH_SSLT_SHIFT))&I2C_SLTH_SSLT_MASK)
2271 /* SLTL Bit Fields */
2272 #define I2C_SLTL_SSLT_MASK                       0xFFu
2273 #define I2C_SLTL_SSLT_SHIFT                      0
2274 #define I2C_SLTL_SSLT(x)                         (((uint8_t)(((uint8_t)(x))<<I2C_SLTL_SSLT_SHIFT))&I2C_SLTL_SSLT_MASK)
2275
2276 /**
2277  * @}
2278  */ /* end of group I2C_Register_Masks */
2279
2280
2281 /* I2C - Peripheral instance base addresses */
2282 /** Peripheral I2C0 base address */
2283 #define I2C0_BASE                                (0x40066000u)
2284 /** Peripheral I2C0 base pointer */
2285 #define I2C0                                     ((I2C_Type *)I2C0_BASE)
2286
2287 /**
2288  * @}
2289  */ /* end of group I2C_Peripheral_Access_Layer */
2290
2291
2292 /* ----------------------------------------------------------------------------
2293    -- I2S Peripheral Access Layer
2294    ---------------------------------------------------------------------------- */
2295
2296 /**
2297  * @addtogroup I2S_Peripheral_Access_Layer I2S Peripheral Access Layer
2298  * @{
2299  */
2300
2301 /** I2S - Register Layout Typedef */
2302 typedef struct {
2303   __IO uint32_t TCSR;                              /**< SAI Transmit Control Register, offset: 0x0 */
2304   __IO uint32_t TCR1;                              /**< SAI Transmit Configuration 1 Register, offset: 0x4 */
2305   __IO uint32_t TCR2;                              /**< SAI Transmit Configuration 2 Register, offset: 0x8 */
2306   __IO uint32_t TCR3;                              /**< SAI Transmit Configuration 3 Register, offset: 0xC */
2307   __IO uint32_t TCR4;                              /**< SAI Transmit Configuration 4 Register, offset: 0x10 */
2308   __IO uint32_t TCR5;                              /**< SAI Transmit Configuration 5 Register, offset: 0x14 */
2309        uint8_t RESERVED_0[8];
2310   __O  uint32_t TDR[2];                            /**< SAI Transmit Data Register, array offset: 0x20, array step: 0x4 */
2311        uint8_t RESERVED_1[24];
2312   __I  uint32_t TFR[2];                            /**< SAI Transmit FIFO Register, array offset: 0x40, array step: 0x4 */
2313        uint8_t RESERVED_2[24];
2314   __IO uint32_t TMR;                               /**< SAI Transmit Mask Register, offset: 0x60 */
2315        uint8_t RESERVED_3[28];
2316   __IO uint32_t RCSR;                              /**< SAI Receive Control Register, offset: 0x80 */
2317   __IO uint32_t RCR1;                              /**< SAI Receive Configuration 1 Register, offset: 0x84 */
2318   __IO uint32_t RCR2;                              /**< SAI Receive Configuration 2 Register, offset: 0x88 */
2319   __IO uint32_t RCR3;                              /**< SAI Receive Configuration 3 Register, offset: 0x8C */
2320   __IO uint32_t RCR4;                              /**< SAI Receive Configuration 4 Register, offset: 0x90 */
2321   __IO uint32_t RCR5;                              /**< SAI Receive Configuration 5 Register, offset: 0x94 */
2322        uint8_t RESERVED_4[8];
2323   __I  uint32_t RDR[2];                            /**< SAI Receive Data Register, array offset: 0xA0, array step: 0x4 */
2324        uint8_t RESERVED_5[24];
2325   __I  uint32_t RFR[2];                            /**< SAI Receive FIFO Register, array offset: 0xC0, array step: 0x4 */
2326        uint8_t RESERVED_6[24];
2327   __IO uint32_t RMR;                               /**< SAI Receive Mask Register, offset: 0xE0 */
2328        uint8_t RESERVED_7[28];
2329   __IO uint32_t MCR;                               /**< SAI MCLK Control Register, offset: 0x100 */
2330   __IO uint32_t MDR;                               /**< MCLK Divide Register, offset: 0x104 */
2331 } I2S_Type;
2332
2333 /* ----------------------------------------------------------------------------
2334    -- I2S Register Masks
2335    ---------------------------------------------------------------------------- */
2336
2337 /**
2338  * @addtogroup I2S_Register_Masks I2S Register Masks
2339  * @{
2340  */
2341
2342 /* TCSR Bit Fields */
2343 #define I2S_TCSR_FRDE_MASK                       0x1u
2344 #define I2S_TCSR_FRDE_SHIFT                      0
2345 #define I2S_TCSR_FWDE_MASK                       0x2u
2346 #define I2S_TCSR_FWDE_SHIFT                      1
2347 #define I2S_TCSR_FRIE_MASK                       0x100u
2348 #define I2S_TCSR_FRIE_SHIFT                      8
2349 #define I2S_TCSR_FWIE_MASK                       0x200u
2350 #define I2S_TCSR_FWIE_SHIFT                      9
2351 #define I2S_TCSR_FEIE_MASK                       0x400u
2352 #define I2S_TCSR_FEIE_SHIFT                      10
2353 #define I2S_TCSR_SEIE_MASK                       0x800u
2354 #define I2S_TCSR_SEIE_SHIFT                      11
2355 #define I2S_TCSR_WSIE_MASK                       0x1000u
2356 #define I2S_TCSR_WSIE_SHIFT                      12
2357 #define I2S_TCSR_FRF_MASK                        0x10000u
2358 #define I2S_TCSR_FRF_SHIFT                       16
2359 #define I2S_TCSR_FWF_MASK                        0x20000u
2360 #define I2S_TCSR_FWF_SHIFT                       17
2361 #define I2S_TCSR_FEF_MASK                        0x40000u
2362 #define I2S_TCSR_FEF_SHIFT                       18
2363 #define I2S_TCSR_SEF_MASK                        0x80000u
2364 #define I2S_TCSR_SEF_SHIFT                       19
2365 #define I2S_TCSR_WSF_MASK                        0x100000u
2366 #define I2S_TCSR_WSF_SHIFT                       20
2367 #define I2S_TCSR_SR_MASK                         0x1000000u
2368 #define I2S_TCSR_SR_SHIFT                        24
2369 #define I2S_TCSR_FR_MASK                         0x2000000u
2370 #define I2S_TCSR_FR_SHIFT                        25
2371 #define I2S_TCSR_BCE_MASK                        0x10000000u
2372 #define I2S_TCSR_BCE_SHIFT                       28
2373 #define I2S_TCSR_DBGE_MASK                       0x20000000u
2374 #define I2S_TCSR_DBGE_SHIFT                      29
2375 #define I2S_TCSR_STOPE_MASK                      0x40000000u
2376 #define I2S_TCSR_STOPE_SHIFT                     30
2377 #define I2S_TCSR_TE_MASK                         0x80000000u
2378 #define I2S_TCSR_TE_SHIFT                        31
2379 /* TCR1 Bit Fields */
2380 #define I2S_TCR1_TFW_MASK                        0x7u
2381 #define I2S_TCR1_TFW_SHIFT                       0
2382 #define I2S_TCR1_TFW(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_TCR1_TFW_SHIFT))&I2S_TCR1_TFW_MASK)
2383 /* TCR2 Bit Fields */
2384 #define I2S_TCR2_DIV_MASK                        0xFFu
2385 #define I2S_TCR2_DIV_SHIFT                       0
2386 #define I2S_TCR2_DIV(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_TCR2_DIV_SHIFT))&I2S_TCR2_DIV_MASK)
2387 #define I2S_TCR2_BCD_MASK                        0x1000000u
2388 #define I2S_TCR2_BCD_SHIFT                       24
2389 #define I2S_TCR2_BCP_MASK                        0x2000000u
2390 #define I2S_TCR2_BCP_SHIFT                       25
2391 #define I2S_TCR2_MSEL_MASK                       0xC000000u
2392 #define I2S_TCR2_MSEL_SHIFT                      26
2393 #define I2S_TCR2_MSEL(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_TCR2_MSEL_SHIFT))&I2S_TCR2_MSEL_MASK)
2394 #define I2S_TCR2_BCI_MASK                        0x10000000u
2395 #define I2S_TCR2_BCI_SHIFT                       28
2396 #define I2S_TCR2_BCS_MASK                        0x20000000u
2397 #define I2S_TCR2_BCS_SHIFT                       29
2398 #define I2S_TCR2_SYNC_MASK                       0xC0000000u
2399 #define I2S_TCR2_SYNC_SHIFT                      30
2400 #define I2S_TCR2_SYNC(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_TCR2_SYNC_SHIFT))&I2S_TCR2_SYNC_MASK)
2401 /* TCR3 Bit Fields */
2402 #define I2S_TCR3_WDFL_MASK                       0x1Fu
2403 #define I2S_TCR3_WDFL_SHIFT                      0
2404 #define I2S_TCR3_WDFL(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_TCR3_WDFL_SHIFT))&I2S_TCR3_WDFL_MASK)
2405 #define I2S_TCR3_TCE_MASK                        0x30000u
2406 #define I2S_TCR3_TCE_SHIFT                       16
2407 #define I2S_TCR3_TCE(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_TCR3_TCE_SHIFT))&I2S_TCR3_TCE_MASK)
2408 /* TCR4 Bit Fields */
2409 #define I2S_TCR4_FSD_MASK                        0x1u
2410 #define I2S_TCR4_FSD_SHIFT                       0
2411 #define I2S_TCR4_FSP_MASK                        0x2u
2412 #define I2S_TCR4_FSP_SHIFT                       1
2413 #define I2S_TCR4_FSE_MASK                        0x8u
2414 #define I2S_TCR4_FSE_SHIFT                       3
2415 #define I2S_TCR4_MF_MASK                         0x10u
2416 #define I2S_TCR4_MF_SHIFT                        4
2417 #define I2S_TCR4_SYWD_MASK                       0x1F00u
2418 #define I2S_TCR4_SYWD_SHIFT                      8
2419 #define I2S_TCR4_SYWD(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_TCR4_SYWD_SHIFT))&I2S_TCR4_SYWD_MASK)
2420 #define I2S_TCR4_FRSZ_MASK                       0x1F0000u
2421 #define I2S_TCR4_FRSZ_SHIFT                      16
2422 #define I2S_TCR4_FRSZ(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_TCR4_FRSZ_SHIFT))&I2S_TCR4_FRSZ_MASK)
2423 /* TCR5 Bit Fields */
2424 #define I2S_TCR5_FBT_MASK                        0x1F00u
2425 #define I2S_TCR5_FBT_SHIFT                       8
2426 #define I2S_TCR5_FBT(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_TCR5_FBT_SHIFT))&I2S_TCR5_FBT_MASK)
2427 #define I2S_TCR5_W0W_MASK                        0x1F0000u
2428 #define I2S_TCR5_W0W_SHIFT                       16
2429 #define I2S_TCR5_W0W(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_TCR5_W0W_SHIFT))&I2S_TCR5_W0W_MASK)
2430 #define I2S_TCR5_WNW_MASK                        0x1F000000u
2431 #define I2S_TCR5_WNW_SHIFT                       24
2432 #define I2S_TCR5_WNW(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_TCR5_WNW_SHIFT))&I2S_TCR5_WNW_MASK)
2433 /* TDR Bit Fields */
2434 #define I2S_TDR_TDR_MASK                         0xFFFFFFFFu
2435 #define I2S_TDR_TDR_SHIFT                        0
2436 #define I2S_TDR_TDR(x)                           (((uint32_t)(((uint32_t)(x))<<I2S_TDR_TDR_SHIFT))&I2S_TDR_TDR_MASK)
2437 /* TFR Bit Fields */
2438 #define I2S_TFR_RFP_MASK                         0xFu
2439 #define I2S_TFR_RFP_SHIFT                        0
2440 #define I2S_TFR_RFP(x)                           (((uint32_t)(((uint32_t)(x))<<I2S_TFR_RFP_SHIFT))&I2S_TFR_RFP_MASK)
2441 #define I2S_TFR_WFP_MASK                         0xF0000u
2442 #define I2S_TFR_WFP_SHIFT                        16
2443 #define I2S_TFR_WFP(x)                           (((uint32_t)(((uint32_t)(x))<<I2S_TFR_WFP_SHIFT))&I2S_TFR_WFP_MASK)
2444 /* TMR Bit Fields */
2445 #define I2S_TMR_TWM_MASK                         0xFFFFFFFFu
2446 #define I2S_TMR_TWM_SHIFT                        0
2447 #define I2S_TMR_TWM(x)                           (((uint32_t)(((uint32_t)(x))<<I2S_TMR_TWM_SHIFT))&I2S_TMR_TWM_MASK)
2448 /* RCSR Bit Fields */
2449 #define I2S_RCSR_FRDE_MASK                       0x1u
2450 #define I2S_RCSR_FRDE_SHIFT                      0
2451 #define I2S_RCSR_FWDE_MASK                       0x2u
2452 #define I2S_RCSR_FWDE_SHIFT                      1
2453 #define I2S_RCSR_FRIE_MASK                       0x100u
2454 #define I2S_RCSR_FRIE_SHIFT                      8
2455 #define I2S_RCSR_FWIE_MASK                       0x200u
2456 #define I2S_RCSR_FWIE_SHIFT                      9
2457 #define I2S_RCSR_FEIE_MASK                       0x400u
2458 #define I2S_RCSR_FEIE_SHIFT                      10
2459 #define I2S_RCSR_SEIE_MASK                       0x800u
2460 #define I2S_RCSR_SEIE_SHIFT                      11
2461 #define I2S_RCSR_WSIE_MASK                       0x1000u
2462 #define I2S_RCSR_WSIE_SHIFT                      12
2463 #define I2S_RCSR_FRF_MASK                        0x10000u
2464 #define I2S_RCSR_FRF_SHIFT                       16
2465 #define I2S_RCSR_FWF_MASK                        0x20000u
2466 #define I2S_RCSR_FWF_SHIFT                       17
2467 #define I2S_RCSR_FEF_MASK                        0x40000u
2468 #define I2S_RCSR_FEF_SHIFT                       18
2469 #define I2S_RCSR_SEF_MASK                        0x80000u
2470 #define I2S_RCSR_SEF_SHIFT                       19
2471 #define I2S_RCSR_WSF_MASK                        0x100000u
2472 #define I2S_RCSR_WSF_SHIFT                       20
2473 #define I2S_RCSR_SR_MASK                         0x1000000u
2474 #define I2S_RCSR_SR_SHIFT                        24
2475 #define I2S_RCSR_FR_MASK                         0x2000000u
2476 #define I2S_RCSR_FR_SHIFT                        25
2477 #define I2S_RCSR_BCE_MASK                        0x10000000u
2478 #define I2S_RCSR_BCE_SHIFT                       28
2479 #define I2S_RCSR_DBGE_MASK                       0x20000000u
2480 #define I2S_RCSR_DBGE_SHIFT                      29
2481 #define I2S_RCSR_STOPE_MASK                      0x40000000u
2482 #define I2S_RCSR_STOPE_SHIFT                     30
2483 #define I2S_RCSR_RE_MASK                         0x80000000u
2484 #define I2S_RCSR_RE_SHIFT                        31
2485 /* RCR1 Bit Fields */
2486 #define I2S_RCR1_RFW_MASK                        0x7u
2487 #define I2S_RCR1_RFW_SHIFT                       0
2488 #define I2S_RCR1_RFW(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_RCR1_RFW_SHIFT))&I2S_RCR1_RFW_MASK)
2489 /* RCR2 Bit Fields */
2490 #define I2S_RCR2_DIV_MASK                        0xFFu
2491 #define I2S_RCR2_DIV_SHIFT                       0
2492 #define I2S_RCR2_DIV(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_RCR2_DIV_SHIFT))&I2S_RCR2_DIV_MASK)
2493 #define I2S_RCR2_BCD_MASK                        0x1000000u
2494 #define I2S_RCR2_BCD_SHIFT                       24
2495 #define I2S_RCR2_BCP_MASK                        0x2000000u
2496 #define I2S_RCR2_BCP_SHIFT                       25
2497 #define I2S_RCR2_MSEL_MASK                       0xC000000u
2498 #define I2S_RCR2_MSEL_SHIFT                      26
2499 #define I2S_RCR2_MSEL(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_RCR2_MSEL_SHIFT))&I2S_RCR2_MSEL_MASK)
2500 #define I2S_RCR2_BCI_MASK                        0x10000000u
2501 #define I2S_RCR2_BCI_SHIFT                       28
2502 #define I2S_RCR2_BCS_MASK                        0x20000000u
2503 #define I2S_RCR2_BCS_SHIFT                       29
2504 #define I2S_RCR2_SYNC_MASK                       0xC0000000u
2505 #define I2S_RCR2_SYNC_SHIFT                      30
2506 #define I2S_RCR2_SYNC(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_RCR2_SYNC_SHIFT))&I2S_RCR2_SYNC_MASK)
2507 /* RCR3 Bit Fields */
2508 #define I2S_RCR3_WDFL_MASK                       0x1Fu
2509 #define I2S_RCR3_WDFL_SHIFT                      0
2510 #define I2S_RCR3_WDFL(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_RCR3_WDFL_SHIFT))&I2S_RCR3_WDFL_MASK)
2511 #define I2S_RCR3_RCE_MASK                        0x30000u
2512 #define I2S_RCR3_RCE_SHIFT                       16
2513 #define I2S_RCR3_RCE(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_RCR3_RCE_SHIFT))&I2S_RCR3_RCE_MASK)
2514 /* RCR4 Bit Fields */
2515 #define I2S_RCR4_FSD_MASK                        0x1u
2516 #define I2S_RCR4_FSD_SHIFT                       0
2517 #define I2S_RCR4_FSP_MASK                        0x2u
2518 #define I2S_RCR4_FSP_SHIFT                       1
2519 #define I2S_RCR4_FSE_MASK                        0x8u
2520 #define I2S_RCR4_FSE_SHIFT                       3
2521 #define I2S_RCR4_MF_MASK                         0x10u
2522 #define I2S_RCR4_MF_SHIFT                        4
2523 #define I2S_RCR4_SYWD_MASK                       0x1F00u
2524 #define I2S_RCR4_SYWD_SHIFT                      8
2525 #define I2S_RCR4_SYWD(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_RCR4_SYWD_SHIFT))&I2S_RCR4_SYWD_MASK)
2526 #define I2S_RCR4_FRSZ_MASK                       0x1F0000u
2527 #define I2S_RCR4_FRSZ_SHIFT                      16
2528 #define I2S_RCR4_FRSZ(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_RCR4_FRSZ_SHIFT))&I2S_RCR4_FRSZ_MASK)
2529 /* RCR5 Bit Fields */
2530 #define I2S_RCR5_FBT_MASK                        0x1F00u
2531 #define I2S_RCR5_FBT_SHIFT                       8
2532 #define I2S_RCR5_FBT(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_RCR5_FBT_SHIFT))&I2S_RCR5_FBT_MASK)
2533 #define I2S_RCR5_W0W_MASK                        0x1F0000u
2534 #define I2S_RCR5_W0W_SHIFT                       16
2535 #define I2S_RCR5_W0W(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_RCR5_W0W_SHIFT))&I2S_RCR5_W0W_MASK)
2536 #define I2S_RCR5_WNW_MASK                        0x1F000000u
2537 #define I2S_RCR5_WNW_SHIFT                       24
2538 #define I2S_RCR5_WNW(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_RCR5_WNW_SHIFT))&I2S_RCR5_WNW_MASK)
2539 /* RDR Bit Fields */
2540 #define I2S_RDR_RDR_MASK                         0xFFFFFFFFu
2541 #define I2S_RDR_RDR_SHIFT                        0
2542 #define I2S_RDR_RDR(x)                           (((uint32_t)(((uint32_t)(x))<<I2S_RDR_RDR_SHIFT))&I2S_RDR_RDR_MASK)
2543 /* RFR Bit Fields */
2544 #define I2S_RFR_RFP_MASK                         0xFu
2545 #define I2S_RFR_RFP_SHIFT                        0
2546 #define I2S_RFR_RFP(x)                           (((uint32_t)(((uint32_t)(x))<<I2S_RFR_RFP_SHIFT))&I2S_RFR_RFP_MASK)
2547 #define I2S_RFR_WFP_MASK                         0xF0000u
2548 #define I2S_RFR_WFP_SHIFT                        16
2549 #define I2S_RFR_WFP(x)                           (((uint32_t)(((uint32_t)(x))<<I2S_RFR_WFP_SHIFT))&I2S_RFR_WFP_MASK)
2550 /* RMR Bit Fields */
2551 #define I2S_RMR_RWM_MASK                         0xFFFFFFFFu
2552 #define I2S_RMR_RWM_SHIFT                        0
2553 #define I2S_RMR_RWM(x)                           (((uint32_t)(((uint32_t)(x))<<I2S_RMR_RWM_SHIFT))&I2S_RMR_RWM_MASK)
2554 /* MCR Bit Fields */
2555 #define I2S_MCR_MICS_MASK                        0x3000000u
2556 #define I2S_MCR_MICS_SHIFT                       24
2557 #define I2S_MCR_MICS(x)                          (((uint32_t)(((uint32_t)(x))<<I2S_MCR_MICS_SHIFT))&I2S_MCR_MICS_MASK)
2558 #define I2S_MCR_MOE_MASK                         0x40000000u
2559 #define I2S_MCR_MOE_SHIFT                        30
2560 #define I2S_MCR_DUF_MASK                         0x80000000u
2561 #define I2S_MCR_DUF_SHIFT                        31
2562 /* MDR Bit Fields */
2563 #define I2S_MDR_DIVIDE_MASK                      0xFFFu
2564 #define I2S_MDR_DIVIDE_SHIFT                     0
2565 #define I2S_MDR_DIVIDE(x)                        (((uint32_t)(((uint32_t)(x))<<I2S_MDR_DIVIDE_SHIFT))&I2S_MDR_DIVIDE_MASK)
2566 #define I2S_MDR_FRACT_MASK                       0xFF000u
2567 #define I2S_MDR_FRACT_SHIFT                      12
2568 #define I2S_MDR_FRACT(x)                         (((uint32_t)(((uint32_t)(x))<<I2S_MDR_FRACT_SHIFT))&I2S_MDR_FRACT_MASK)
2569
2570 /**
2571  * @}
2572  */ /* end of group I2S_Register_Masks */
2573
2574
2575 /* I2S - Peripheral instance base addresses */
2576 /** Peripheral I2S0 base address */
2577 #define I2S0_BASE                                (0x4002F000u)
2578 /** Peripheral I2S0 base pointer */
2579 #define I2S0                                     ((I2S_Type *)I2S0_BASE)
2580
2581 /**
2582  * @}
2583  */ /* end of group I2S_Peripheral_Access_Layer */
2584
2585
2586 /* ----------------------------------------------------------------------------
2587    -- LLWU Peripheral Access Layer
2588    ---------------------------------------------------------------------------- */
2589
2590 /**
2591  * @addtogroup LLWU_Peripheral_Access_Layer LLWU Peripheral Access Layer
2592  * @{
2593  */
2594
2595 /** LLWU - Register Layout Typedef */
2596 typedef struct {
2597   __IO uint8_t PE1;                                /**< LLWU Pin Enable 1 Register, offset: 0x0 */
2598   __IO uint8_t PE2;                                /**< LLWU Pin Enable 2 Register, offset: 0x1 */
2599   __IO uint8_t PE3;                                /**< LLWU Pin Enable 3 Register, offset: 0x2 */
2600   __IO uint8_t PE4;                                /**< LLWU Pin Enable 4 Register, offset: 0x3 */
2601   __IO uint8_t ME;                                 /**< LLWU Module Enable Register, offset: 0x4 */
2602   __IO uint8_t F1;                                 /**< LLWU Flag 1 Register, offset: 0x5 */
2603   __IO uint8_t F2;                                 /**< LLWU Flag 2 Register, offset: 0x6 */
2604   __I  uint8_t F3;                                 /**< LLWU Flag 3 Register, offset: 0x7 */
2605   __IO uint8_t FILT1;                              /**< LLWU Pin Filter 1 Register, offset: 0x8 */
2606   __IO uint8_t FILT2;                              /**< LLWU Pin Filter 2 Register, offset: 0x9 */
2607   __IO uint8_t RST;                                /**< LLWU Reset Enable Register, offset: 0xA */
2608 } LLWU_Type;
2609
2610 /* ----------------------------------------------------------------------------
2611    -- LLWU Register Masks
2612    ---------------------------------------------------------------------------- */
2613
2614 /**
2615  * @addtogroup LLWU_Register_Masks LLWU Register Masks
2616  * @{
2617  */
2618
2619 /* PE1 Bit Fields */
2620 #define LLWU_PE1_WUPE0_MASK                      0x3u
2621 #define LLWU_PE1_WUPE0_SHIFT                     0
2622 #define LLWU_PE1_WUPE0(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE1_WUPE0_SHIFT))&LLWU_PE1_WUPE0_MASK)
2623 #define LLWU_PE1_WUPE1_MASK                      0xCu
2624 #define LLWU_PE1_WUPE1_SHIFT                     2
2625 #define LLWU_PE1_WUPE1(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE1_WUPE1_SHIFT))&LLWU_PE1_WUPE1_MASK)
2626 #define LLWU_PE1_WUPE2_MASK                      0x30u
2627 #define LLWU_PE1_WUPE2_SHIFT                     4
2628 #define LLWU_PE1_WUPE2(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE1_WUPE2_SHIFT))&LLWU_PE1_WUPE2_MASK)
2629 #define LLWU_PE1_WUPE3_MASK                      0xC0u
2630 #define LLWU_PE1_WUPE3_SHIFT                     6
2631 #define LLWU_PE1_WUPE3(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE1_WUPE3_SHIFT))&LLWU_PE1_WUPE3_MASK)
2632 /* PE2 Bit Fields */
2633 #define LLWU_PE2_WUPE4_MASK                      0x3u
2634 #define LLWU_PE2_WUPE4_SHIFT                     0
2635 #define LLWU_PE2_WUPE4(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE2_WUPE4_SHIFT))&LLWU_PE2_WUPE4_MASK)
2636 #define LLWU_PE2_WUPE5_MASK                      0xCu
2637 #define LLWU_PE2_WUPE5_SHIFT                     2
2638 #define LLWU_PE2_WUPE5(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE2_WUPE5_SHIFT))&LLWU_PE2_WUPE5_MASK)
2639 #define LLWU_PE2_WUPE6_MASK                      0x30u
2640 #define LLWU_PE2_WUPE6_SHIFT                     4
2641 #define LLWU_PE2_WUPE6(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE2_WUPE6_SHIFT))&LLWU_PE2_WUPE6_MASK)
2642 #define LLWU_PE2_WUPE7_MASK                      0xC0u
2643 #define LLWU_PE2_WUPE7_SHIFT                     6
2644 #define LLWU_PE2_WUPE7(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE2_WUPE7_SHIFT))&LLWU_PE2_WUPE7_MASK)
2645 /* PE3 Bit Fields */
2646 #define LLWU_PE3_WUPE8_MASK                      0x3u
2647 #define LLWU_PE3_WUPE8_SHIFT                     0
2648 #define LLWU_PE3_WUPE8(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE3_WUPE8_SHIFT))&LLWU_PE3_WUPE8_MASK)
2649 #define LLWU_PE3_WUPE9_MASK                      0xCu
2650 #define LLWU_PE3_WUPE9_SHIFT                     2
2651 #define LLWU_PE3_WUPE9(x)                        (((uint8_t)(((uint8_t)(x))<<LLWU_PE3_WUPE9_SHIFT))&LLWU_PE3_WUPE9_MASK)
2652 #define LLWU_PE3_WUPE10_MASK                     0x30u
2653 #define LLWU_PE3_WUPE10_SHIFT                    4
2654 #define LLWU_PE3_WUPE10(x)                       (((uint8_t)(((uint8_t)(x))<<LLWU_PE3_WUPE10_SHIFT))&LLWU_PE3_WUPE10_MASK)
2655 #define LLWU_PE3_WUPE11_MASK                     0xC0u
2656 #define LLWU_PE3_WUPE11_SHIFT                    6
2657 #define LLWU_PE3_WUPE11(x)                       (((uint8_t)(((uint8_t)(x))<<LLWU_PE3_WUPE11_SHIFT))&LLWU_PE3_WUPE11_MASK)
2658 /* PE4 Bit Fields */
2659 #define LLWU_PE4_WUPE12_MASK                     0x3u
2660 #define LLWU_PE4_WUPE12_SHIFT                    0
2661 #define LLWU_PE4_WUPE12(x)                       (((uint8_t)(((uint8_t)(x))<<LLWU_PE4_WUPE12_SHIFT))&LLWU_PE4_WUPE12_MASK)
2662 #define LLWU_PE4_WUPE13_MASK                     0xCu
2663 #define LLWU_PE4_WUPE13_SHIFT                    2
2664 #define LLWU_PE4_WUPE13(x)                       (((uint8_t)(((uint8_t)(x))<<LLWU_PE4_WUPE13_SHIFT))&LLWU_PE4_WUPE13_MASK)
2665 #define LLWU_PE4_WUPE14_MASK                     0x30u
2666 #define LLWU_PE4_WUPE14_SHIFT                    4
2667 #define LLWU_PE4_WUPE14(x)                       (((uint8_t)(((uint8_t)(x))<<LLWU_PE4_WUPE14_SHIFT))&LLWU_PE4_WUPE14_MASK)
2668 #define LLWU_PE4_WUPE15_MASK                     0xC0u
2669 #define LLWU_PE4_WUPE15_SHIFT                    6
2670 #define LLWU_PE4_WUPE15(x)                       (((uint8_t)(((uint8_t)(x))<<LLWU_PE4_WUPE15_SHIFT))&LLWU_PE4_WUPE15_MASK)
2671 /* ME Bit Fields */
2672 #define LLWU_ME_WUME0_MASK                       0x1u
2673 #define LLWU_ME_WUME0_SHIFT                      0
2674 #define LLWU_ME_WUME1_MASK                       0x2u
2675 #define LLWU_ME_WUME1_SHIFT                      1
2676 #define LLWU_ME_WUME2_MASK                       0x4u
2677 #define LLWU_ME_WUME2_SHIFT                      2
2678 #define LLWU_ME_WUME3_MASK                       0x8u
2679 #define LLWU_ME_WUME3_SHIFT                      3
2680 #define LLWU_ME_WUME4_MASK                       0x10u
2681 #define LLWU_ME_WUME4_SHIFT                      4
2682 #define LLWU_ME_WUME5_MASK                       0x20u
2683 #define LLWU_ME_WUME5_SHIFT                      5
2684 #define LLWU_ME_WUME6_MASK                       0x40u
2685 #define LLWU_ME_WUME6_SHIFT                      6
2686 #define LLWU_ME_WUME7_MASK                       0x80u
2687 #define LLWU_ME_WUME7_SHIFT                      7
2688 /* F1 Bit Fields */
2689 #define LLWU_F1_WUF0_MASK                        0x1u
2690 #define LLWU_F1_WUF0_SHIFT                       0
2691 #define LLWU_F1_WUF1_MASK                        0x2u
2692 #define LLWU_F1_WUF1_SHIFT                       1
2693 #define LLWU_F1_WUF2_MASK                        0x4u
2694 #define LLWU_F1_WUF2_SHIFT                       2
2695 #define LLWU_F1_WUF3_MASK                        0x8u
2696 #define LLWU_F1_WUF3_SHIFT                       3
2697 #define LLWU_F1_WUF4_MASK                        0x10u
2698 #define LLWU_F1_WUF4_SHIFT                       4
2699 #define LLWU_F1_WUF5_MASK                        0x20u
2700 #define LLWU_F1_WUF5_SHIFT                       5
2701 #define LLWU_F1_WUF6_MASK                        0x40u
2702 #define LLWU_F1_WUF6_SHIFT                       6
2703 #define LLWU_F1_WUF7_MASK                        0x80u
2704 #define LLWU_F1_WUF7_SHIFT                       7
2705 /* F2 Bit Fields */
2706 #define LLWU_F2_WUF8_MASK                        0x1u
2707 #define LLWU_F2_WUF8_SHIFT                       0
2708 #define LLWU_F2_WUF9_MASK                        0x2u
2709 #define LLWU_F2_WUF9_SHIFT                       1
2710 #define LLWU_F2_WUF10_MASK                       0x4u
2711 #define LLWU_F2_WUF10_SHIFT                      2
2712 #define LLWU_F2_WUF11_MASK                       0x8u
2713 #define LLWU_F2_WUF11_SHIFT                      3
2714 #define LLWU_F2_WUF12_MASK                       0x10u
2715 #define LLWU_F2_WUF12_SHIFT                      4
2716 #define LLWU_F2_WUF13_MASK                       0x20u
2717 #define LLWU_F2_WUF13_SHIFT                      5
2718 #define LLWU_F2_WUF14_MASK                       0x40u
2719 #define LLWU_F2_WUF14_SHIFT                      6
2720 #define LLWU_F2_WUF15_MASK                       0x80u
2721 #define LLWU_F2_WUF15_SHIFT                      7
2722 /* F3 Bit Fields */
2723 #define LLWU_F3_MWUF0_MASK                       0x1u
2724 #define LLWU_F3_MWUF0_SHIFT                      0
2725 #define LLWU_F3_MWUF1_MASK                       0x2u
2726 #define LLWU_F3_MWUF1_SHIFT                      1
2727 #define LLWU_F3_MWUF2_MASK                       0x4u
2728 #define LLWU_F3_MWUF2_SHIFT                      2
2729 #define LLWU_F3_MWUF3_MASK                       0x8u
2730 #define LLWU_F3_MWUF3_SHIFT                      3
2731 #define LLWU_F3_MWUF4_MASK                       0x10u
2732 #define LLWU_F3_MWUF4_SHIFT                      4
2733 #define LLWU_F3_MWUF5_MASK                       0x20u
2734 #define LLWU_F3_MWUF5_SHIFT                      5
2735 #define LLWU_F3_MWUF6_MASK                       0x40u
2736 #define LLWU_F3_MWUF6_SHIFT                      6
2737 #define LLWU_F3_MWUF7_MASK                       0x80u
2738 #define LLWU_F3_MWUF7_SHIFT                      7
2739 /* FILT1 Bit Fields */
2740 #define LLWU_FILT1_FILTSEL_MASK                  0xFu
2741 #define LLWU_FILT1_FILTSEL_SHIFT                 0
2742 #define LLWU_FILT1_FILTSEL(x)                    (((uint8_t)(((uint8_t)(x))<<LLWU_FILT1_FILTSEL_SHIFT))&LLWU_FILT1_FILTSEL_MASK)
2743 #define LLWU_FILT1_FILTE_MASK                    0x60u
2744 #define LLWU_FILT1_FILTE_SHIFT                   5
2745 #define LLWU_FILT1_FILTE(x)                      (((uint8_t)(((uint8_t)(x))<<LLWU_FILT1_FILTE_SHIFT))&LLWU_FILT1_FILTE_MASK)
2746 #define LLWU_FILT1_FILTF_MASK                    0x80u
2747 #define LLWU_FILT1_FILTF_SHIFT                   7
2748 /* FILT2 Bit Fields */
2749 #define LLWU_FILT2_FILTSEL_MASK                  0xFu
2750 #define LLWU_FILT2_FILTSEL_SHIFT                 0
2751 #define LLWU_FILT2_FILTSEL(x)                    (((uint8_t)(((uint8_t)(x))<<LLWU_FILT2_FILTSEL_SHIFT))&LLWU_FILT2_FILTSEL_MASK)
2752 #define LLWU_FILT2_FILTE_MASK                    0x60u
2753 #define LLWU_FILT2_FILTE_SHIFT                   5
2754 #define LLWU_FILT2_FILTE(x)                      (((uint8_t)(((uint8_t)(x))<<LLWU_FILT2_FILTE_SHIFT))&LLWU_FILT2_FILTE_MASK)
2755 #define LLWU_FILT2_FILTF_MASK                    0x80u
2756 #define LLWU_FILT2_FILTF_SHIFT                   7
2757 /* RST Bit Fields */
2758 #define LLWU_RST_RSTFILT_MASK                    0x1u
2759 #define LLWU_RST_RSTFILT_SHIFT                   0
2760 #define LLWU_RST_LLRSTE_MASK                     0x2u
2761 #define LLWU_RST_LLRSTE_SHIFT                    1
2762
2763 /**
2764  * @}
2765  */ /* end of group LLWU_Register_Masks */
2766
2767
2768 /* LLWU - Peripheral instance base addresses */
2769 /** Peripheral LLWU base address */
2770 #define LLWU_BASE                                (0x4007C000u)
2771 /** Peripheral LLWU base pointer */
2772 #define LLWU                                     ((LLWU_Type *)LLWU_BASE)
2773
2774 /**
2775  * @}
2776  */ /* end of group LLWU_Peripheral_Access_Layer */
2777
2778
2779 /* ----------------------------------------------------------------------------
2780    -- LPTMR Peripheral Access Layer
2781    ---------------------------------------------------------------------------- */
2782
2783 /**
2784  * @addtogroup LPTMR_Peripheral_Access_Layer LPTMR Peripheral Access Layer
2785  * @{
2786  */
2787
2788 /** LPTMR - Register Layout Typedef */
2789 typedef struct {
2790   __IO uint32_t CSR;                               /**< Low Power Timer Control Status Register, offset: 0x0 */
2791   __IO uint32_t PSR;                               /**< Low Power Timer Prescale Register, offset: 0x4 */
2792   __IO uint32_t CMR;                               /**< Low Power Timer Compare Register, offset: 0x8 */
2793   __I  uint32_t CNR;                               /**< Low Power Timer Counter Register, offset: 0xC */
2794 } LPTMR_Type;
2795
2796 /* ----------------------------------------------------------------------------
2797    -- LPTMR Register Masks
2798    ---------------------------------------------------------------------------- */
2799
2800 /**
2801  * @addtogroup LPTMR_Register_Masks LPTMR Register Masks
2802  * @{
2803  */
2804
2805 /* CSR Bit Fields */
2806 #define LPTMR_CSR_TEN_MASK                       0x1u
2807 #define LPTMR_CSR_TEN_SHIFT                      0
2808 #define LPTMR_CSR_TMS_MASK                       0x2u
2809 #define LPTMR_CSR_TMS_SHIFT                      1
2810 #define LPTMR_CSR_TFC_MASK                       0x4u
2811 #define LPTMR_CSR_TFC_SHIFT                      2
2812 #define LPTMR_CSR_TPP_MASK                       0x8u
2813 #define LPTMR_CSR_TPP_SHIFT                      3
2814 #define LPTMR_CSR_TPS_MASK                       0x30u
2815 #define LPTMR_CSR_TPS_SHIFT                      4
2816 #define LPTMR_CSR_TPS(x)                         (((uint32_t)(((uint32_t)(x))<<LPTMR_CSR_TPS_SHIFT))&LPTMR_CSR_TPS_MASK)
2817 #define LPTMR_CSR_TIE_MASK                       0x40u
2818 #define LPTMR_CSR_TIE_SHIFT                      6
2819 #define LPTMR_CSR_TCF_MASK                       0x80u
2820 #define LPTMR_CSR_TCF_SHIFT                      7
2821 /* PSR Bit Fields */
2822 #define LPTMR_PSR_PCS_MASK                       0x3u
2823 #define LPTMR_PSR_PCS_SHIFT                      0
2824 #define LPTMR_PSR_PCS(x)                         (((uint32_t)(((uint32_t)(x))<<LPTMR_PSR_PCS_SHIFT))&LPTMR_PSR_PCS_MASK)
2825 #define LPTMR_PSR_PBYP_MASK                      0x4u
2826 #define LPTMR_PSR_PBYP_SHIFT                     2
2827 #define LPTMR_PSR_PRESCALE_MASK                  0x78u
2828 #define LPTMR_PSR_PRESCALE_SHIFT                 3
2829 #define LPTMR_PSR_PRESCALE(x)                    (((uint32_t)(((uint32_t)(x))<<LPTMR_PSR_PRESCALE_SHIFT))&LPTMR_PSR_PRESCALE_MASK)
2830 /* CMR Bit Fields */
2831 #define LPTMR_CMR_COMPARE_MASK                   0xFFFFu
2832 #define LPTMR_CMR_COMPARE_SHIFT                  0
2833 #define LPTMR_CMR_COMPARE(x)                     (((uint32_t)(((uint32_t)(x))<<LPTMR_CMR_COMPARE_SHIFT))&LPTMR_CMR_COMPARE_MASK)
2834 /* CNR Bit Fields */
2835 #define LPTMR_CNR_COUNTER_MASK                   0xFFFFu
2836 #define LPTMR_CNR_COUNTER_SHIFT                  0
2837 #define LPTMR_CNR_COUNTER(x)                     (((uint32_t)(((uint32_t)(x))<<LPTMR_CNR_COUNTER_SHIFT))&LPTMR_CNR_COUNTER_MASK)
2838
2839 /**
2840  * @}
2841  */ /* end of group LPTMR_Register_Masks */
2842
2843
2844 /* LPTMR - Peripheral instance base addresses */
2845 /** Peripheral LPTMR0 base address */
2846 #define LPTMR0_BASE                              (0x40040000u)
2847 /** Peripheral LPTMR0 base pointer */
2848 #define LPTMR0                                   ((LPTMR_Type *)LPTMR0_BASE)
2849
2850 /**
2851  * @}
2852  */ /* end of group LPTMR_Peripheral_Access_Layer */
2853
2854
2855 /* ----------------------------------------------------------------------------
2856    -- MCG Peripheral Access Layer
2857    ---------------------------------------------------------------------------- */
2858
2859 /**
2860  * @addtogroup MCG_Peripheral_Access_Layer MCG Peripheral Access Layer
2861  * @{
2862  */
2863
2864 /** MCG - Register Layout Typedef */
2865 typedef struct {
2866   __IO uint8_t C1;                                 /**< MCG Control 1 Register, offset: 0x0 */
2867   __IO uint8_t C2;                                 /**< MCG Control 2 Register, offset: 0x1 */
2868   __IO uint8_t C3;                                 /**< MCG Control 3 Register, offset: 0x2 */
2869   __IO uint8_t C4;                                 /**< MCG Control 4 Register, offset: 0x3 */
2870   __IO uint8_t C5;                                 /**< MCG Control 5 Register, offset: 0x4 */
2871   __IO uint8_t C6;                                 /**< MCG Control 6 Register, offset: 0x5 */
2872   __I  uint8_t S;                                  /**< MCG Status Register, offset: 0x6 */
2873        uint8_t RESERVED_0[1];
2874   __IO uint8_t SC;                                 /**< MCG Status and Control Register, offset: 0x8 */
2875        uint8_t RESERVED_1[1];
2876   __IO uint8_t ATCVH;                              /**< MCG Auto Trim Compare Value High Register, offset: 0xA */
2877   __IO uint8_t ATCVL;                              /**< MCG Auto Trim Compare Value Low Register, offset: 0xB */
2878   __IO uint8_t C7;                                 /**< MCG Control 7 Register, offset: 0xC */
2879   __IO uint8_t C8;                                 /**< MCG Control 8 Register, offset: 0xD */
2880 } MCG_Type;
2881
2882 /* ----------------------------------------------------------------------------
2883    -- MCG Register Masks
2884    ---------------------------------------------------------------------------- */
2885
2886 /**
2887  * @addtogroup MCG_Register_Masks MCG Register Masks
2888  * @{
2889  */
2890
2891 /* C1 Bit Fields */
2892 #define MCG_C1_IREFSTEN_MASK                     0x1u
2893 #define MCG_C1_IREFSTEN_SHIFT                    0
2894 #define MCG_C1_IRCLKEN_MASK                      0x2u
2895 #define MCG_C1_IRCLKEN_SHIFT                     1
2896 #define MCG_C1_IREFS_MASK                        0x4u
2897 #define MCG_C1_IREFS_SHIFT                       2
2898 #define MCG_C1_FRDIV_MASK                        0x38u
2899 #define MCG_C1_FRDIV_SHIFT                       3
2900 #define MCG_C1_FRDIV(x)                          (((uint8_t)(((uint8_t)(x))<<MCG_C1_FRDIV_SHIFT))&MCG_C1_FRDIV_MASK)
2901 #define MCG_C1_CLKS_MASK                         0xC0u
2902 #define MCG_C1_CLKS_SHIFT                        6
2903 #define MCG_C1_CLKS(x)                           (((uint8_t)(((uint8_t)(x))<<MCG_C1_CLKS_SHIFT))&MCG_C1_CLKS_MASK)
2904 /* C2 Bit Fields */
2905 #define MCG_C2_IRCS_MASK                         0x1u
2906 #define MCG_C2_IRCS_SHIFT                        0
2907 #define MCG_C2_LP_MASK                           0x2u
2908 #define MCG_C2_LP_SHIFT                          1
2909 #define MCG_C2_EREFS0_MASK                       0x4u
2910 #define MCG_C2_EREFS0_SHIFT                      2
2911 #define MCG_C2_HGO0_MASK                         0x8u
2912 #define MCG_C2_HGO0_SHIFT                        3
2913 #define MCG_C2_RANGE0_MASK                       0x30u
2914 #define MCG_C2_RANGE0_SHIFT                      4
2915 #define MCG_C2_RANGE0(x)                         (((uint8_t)(((uint8_t)(x))<<MCG_C2_RANGE0_SHIFT))&MCG_C2_RANGE0_MASK)
2916 #define MCG_C2_LOCRE0_MASK                       0x80u
2917 #define MCG_C2_LOCRE0_SHIFT                      7
2918 /* C3 Bit Fields */
2919 #define MCG_C3_SCTRIM_MASK                       0xFFu
2920 #define MCG_C3_SCTRIM_SHIFT                      0
2921 #define MCG_C3_SCTRIM(x)                         (((uint8_t)(((uint8_t)(x))<<MCG_C3_SCTRIM_SHIFT))&MCG_C3_SCTRIM_MASK)
2922 /* C4 Bit Fields */
2923 #define MCG_C4_SCFTRIM_MASK                      0x1u
2924 #define MCG_C4_SCFTRIM_SHIFT                     0
2925 #define MCG_C4_FCTRIM_MASK                       0x1Eu
2926 #define MCG_C4_FCTRIM_SHIFT                      1
2927 #define MCG_C4_FCTRIM(x)                         (((uint8_t)(((uint8_t)(x))<<MCG_C4_FCTRIM_SHIFT))&MCG_C4_FCTRIM_MASK)
2928 #define MCG_C4_DRST_DRS_MASK                     0x60u
2929 #define MCG_C4_DRST_DRS_SHIFT                    5
2930 #define MCG_C4_DRST_DRS(x)                       (((uint8_t)(((uint8_t)(x))<<MCG_C4_DRST_DRS_SHIFT))&MCG_C4_DRST_DRS_MASK)
2931 #define MCG_C4_DMX32_MASK                        0x80u
2932 #define MCG_C4_DMX32_SHIFT                       7
2933 /* C5 Bit Fields */
2934 #define MCG_C5_PRDIV0_MASK                       0x1Fu
2935 #define MCG_C5_PRDIV0_SHIFT                      0
2936 #define MCG_C5_PRDIV0(x)                         (((uint8_t)(((uint8_t)(x))<<MCG_C5_PRDIV0_SHIFT))&MCG_C5_PRDIV0_MASK)
2937 #define MCG_C5_PLLSTEN0_MASK                     0x20u
2938 #define MCG_C5_PLLSTEN0_SHIFT                    5
2939 #define MCG_C5_PLLCLKEN0_MASK                    0x40u
2940 #define MCG_C5_PLLCLKEN0_SHIFT                   6
2941 /* C6 Bit Fields */
2942 #define MCG_C6_VDIV0_MASK                        0x1Fu
2943 #define MCG_C6_VDIV0_SHIFT                       0
2944 #define MCG_C6_VDIV0(x)                          (((uint8_t)(((uint8_t)(x))<<MCG_C6_VDIV0_SHIFT))&MCG_C6_VDIV0_MASK)
2945 #define MCG_C6_CME0_MASK                         0x20u
2946 #define MCG_C6_CME0_SHIFT                        5
2947 #define MCG_C6_PLLS_MASK                         0x40u
2948 #define MCG_C6_PLLS_SHIFT                        6
2949 #define MCG_C6_LOLIE0_MASK                       0x80u
2950 #define MCG_C6_LOLIE0_SHIFT                      7
2951 /* S Bit Fields */
2952 #define MCG_S_IRCST_MASK                         0x1u
2953 #define MCG_S_IRCST_SHIFT                        0
2954 #define MCG_S_OSCINIT0_MASK                      0x2u
2955 #define MCG_S_OSCINIT0_SHIFT                     1
2956 #define MCG_S_CLKST_MASK                         0xCu
2957 #define MCG_S_CLKST_SHIFT                        2
2958 #define MCG_S_CLKST(x)                           (((uint8_t)(((uint8_t)(x))<<MCG_S_CLKST_SHIFT))&MCG_S_CLKST_MASK)
2959 #define MCG_S_IREFST_MASK                        0x10u
2960 #define MCG_S_IREFST_SHIFT                       4
2961 #define MCG_S_PLLST_MASK                         0x20u
2962 #define MCG_S_PLLST_SHIFT                        5
2963 #define MCG_S_LOCK0_MASK                         0x40u
2964 #define MCG_S_LOCK0_SHIFT                        6
2965 #define MCG_S_LOLS0_MASK                         0x80u
2966 #define MCG_S_LOLS0_SHIFT                        7
2967 /* SC Bit Fields */
2968 #define MCG_SC_LOCS0_MASK                        0x1u
2969 #define MCG_SC_LOCS0_SHIFT                       0
2970 #define MCG_SC_FCRDIV_MASK                       0xEu
2971 #define MCG_SC_FCRDIV_SHIFT                      1
2972 #define MCG_SC_FCRDIV(x)                         (((uint8_t)(((uint8_t)(x))<<MCG_SC_FCRDIV_SHIFT))&MCG_SC_FCRDIV_MASK)
2973 #define MCG_SC_FLTPRSRV_MASK                     0x10u
2974 #define MCG_SC_FLTPRSRV_SHIFT                    4
2975 #define MCG_SC_ATMF_MASK                         0x20u
2976 #define MCG_SC_ATMF_SHIFT                        5
2977 #define MCG_SC_ATMS_MASK                         0x40u
2978 #define MCG_SC_ATMS_SHIFT                        6
2979 #define MCG_SC_ATME_MASK                         0x80u
2980 #define MCG_SC_ATME_SHIFT                        7
2981 /* ATCVH Bit Fields */
2982 #define MCG_ATCVH_ATCVH_MASK                     0xFFu
2983 #define MCG_ATCVH_ATCVH_SHIFT                    0
2984 #define MCG_ATCVH_ATCVH(x)                       (((uint8_t)(((uint8_t)(x))<<MCG_ATCVH_ATCVH_SHIFT))&MCG_ATCVH_ATCVH_MASK)
2985 /* ATCVL Bit Fields */
2986 #define MCG_ATCVL_ATCVL_MASK                     0xFFu
2987 #define MCG_ATCVL_ATCVL_SHIFT                    0
2988 #define MCG_ATCVL_ATCVL(x)                       (((uint8_t)(((uint8_t)(x))<<MCG_ATCVL_ATCVL_SHIFT))&MCG_ATCVL_ATCVL_MASK)
2989 /* C7 Bit Fields */
2990 #define MCG_C7_OSCSEL_MASK                       0x1u
2991 #define MCG_C7_OSCSEL_SHIFT                      0
2992 /* C8 Bit Fields */
2993 #define MCG_C8_LOCS1_MASK                        0x1u
2994 #define MCG_C8_LOCS1_SHIFT                       0
2995 #define MCG_C8_CME1_MASK                         0x20u
2996 #define MCG_C8_CME1_SHIFT                        5
2997 #define MCG_C8_LOLRE_MASK                        0x40u
2998 #define MCG_C8_LOLRE_SHIFT                       6
2999 #define MCG_C8_LOCRE1_MASK                       0x80u
3000 #define MCG_C8_LOCRE1_SHIFT                      7
3001
3002 /**
3003  * @}
3004  */ /* end of group MCG_Register_Masks */
3005
3006
3007 /* MCG - Peripheral instance base addresses */
3008 /** Peripheral MCG base address */
3009 #define MCG_BASE                                 (0x40064000u)
3010 /** Peripheral MCG base pointer */
3011 #define MCG                                      ((MCG_Type *)MCG_BASE)
3012
3013 /**
3014  * @}
3015  */ /* end of group MCG_Peripheral_Access_Layer */
3016
3017
3018 /* ----------------------------------------------------------------------------
3019    -- NV Peripheral Access Layer
3020    ---------------------------------------------------------------------------- */
3021
3022 /**
3023  * @addtogroup NV_Peripheral_Access_Layer NV Peripheral Access Layer
3024  * @{
3025  */
3026
3027 /** NV - Register Layout Typedef */
3028 typedef struct {
3029   __I  uint8_t BACKKEY3;                           /**< Backdoor Comparison Key 3., offset: 0x0 */
3030   __I  uint8_t BACKKEY2;                           /**< Backdoor Comparison Key 2., offset: 0x1 */
3031   __I  uint8_t BACKKEY1;                           /**< Backdoor Comparison Key 1., offset: 0x2 */
3032   __I  uint8_t BACKKEY0;                           /**< Backdoor Comparison Key 0., offset: 0x3 */
3033   __I  uint8_t BACKKEY7;                           /**< Backdoor Comparison Key 7., offset: 0x4 */
3034   __I  uint8_t BACKKEY6;                           /**< Backdoor Comparison Key 6., offset: 0x5 */
3035   __I  uint8_t BACKKEY5;                           /**< Backdoor Comparison Key 5., offset: 0x6 */
3036   __I  uint8_t BACKKEY4;                           /**< Backdoor Comparison Key 4., offset: 0x7 */
3037   __I  uint8_t FPROT3;                             /**< Non-volatile P-Flash Protection 1 - Low Register, offset: 0x8 */
3038   __I  uint8_t FPROT2;                             /**< Non-volatile P-Flash Protection 1 - High Register, offset: 0x9 */
3039   __I  uint8_t FPROT1;                             /**< Non-volatile P-Flash Protection 0 - Low Register, offset: 0xA */
3040   __I  uint8_t FPROT0;                             /**< Non-volatile P-Flash Protection 0 - High Register, offset: 0xB */
3041   __I  uint8_t FSEC;                               /**< Non-volatile Flash Security Register, offset: 0xC */
3042   __I  uint8_t FOPT;                               /**< Non-volatile Flash Option Register, offset: 0xD */
3043   __I  uint8_t FEPROT;                             /**< Non-volatile EERAM Protection Register, offset: 0xE */
3044   __I  uint8_t FDPROT;                             /**< Non-volatile D-Flash Protection Register, offset: 0xF */
3045 } NV_Type;
3046
3047 /* ----------------------------------------------------------------------------
3048    -- NV Register Masks
3049    ---------------------------------------------------------------------------- */
3050
3051 /**
3052  * @addtogroup NV_Register_Masks NV Register Masks
3053  * @{
3054  */
3055
3056 /* BACKKEY3 Bit Fields */
3057 #define NV_BACKKEY3_KEY_MASK                     0xFFu
3058 #define NV_BACKKEY3_KEY_SHIFT                    0
3059 #define NV_BACKKEY3_KEY(x)                       (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY3_KEY_SHIFT))&NV_BACKKEY3_KEY_MASK)
3060 /* BACKKEY2 Bit Fields */
3061 #define NV_BACKKEY2_KEY_MASK                     0xFFu
3062 #define NV_BACKKEY2_KEY_SHIFT                    0
3063 #define NV_BACKKEY2_KEY(x)                       (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY2_KEY_SHIFT))&NV_BACKKEY2_KEY_MASK)
3064 /* BACKKEY1 Bit Fields */
3065 #define NV_BACKKEY1_KEY_MASK                     0xFFu
3066 #define NV_BACKKEY1_KEY_SHIFT                    0
3067 #define NV_BACKKEY1_KEY(x)                       (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY1_KEY_SHIFT))&NV_BACKKEY1_KEY_MASK)
3068 /* BACKKEY0 Bit Fields */
3069 #define NV_BACKKEY0_KEY_MASK                     0xFFu
3070 #define NV_BACKKEY0_KEY_SHIFT                    0
3071 #define NV_BACKKEY0_KEY(x)                       (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY0_KEY_SHIFT))&NV_BACKKEY0_KEY_MASK)
3072 /* BACKKEY7 Bit Fields */
3073 #define NV_BACKKEY7_KEY_MASK                     0xFFu
3074 #define NV_BACKKEY7_KEY_SHIFT                    0
3075 #define NV_BACKKEY7_KEY(x)                       (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY7_KEY_SHIFT))&NV_BACKKEY7_KEY_MASK)
3076 /* BACKKEY6 Bit Fields */
3077 #define NV_BACKKEY6_KEY_MASK                     0xFFu
3078 #define NV_BACKKEY6_KEY_SHIFT                    0
3079 #define NV_BACKKEY6_KEY(x)                       (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY6_KEY_SHIFT))&NV_BACKKEY6_KEY_MASK)
3080 /* BACKKEY5 Bit Fields */
3081 #define NV_BACKKEY5_KEY_MASK                     0xFFu
3082 #define NV_BACKKEY5_KEY_SHIFT                    0
3083 #define NV_BACKKEY5_KEY(x)                       (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY5_KEY_SHIFT))&NV_BACKKEY5_KEY_MASK)
3084 /* BACKKEY4 Bit Fields */
3085 #define NV_BACKKEY4_KEY_MASK                     0xFFu
3086 #define NV_BACKKEY4_KEY_SHIFT                    0
3087 #define NV_BACKKEY4_KEY(x)                       (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY4_KEY_SHIFT))&NV_BACKKEY4_KEY_MASK)
3088 /* FPROT3 Bit Fields */
3089 #define NV_FPROT3_PROT_MASK                      0xFFu
3090 #define NV_FPROT3_PROT_SHIFT                     0
3091 #define NV_FPROT3_PROT(x)                        (((uint8_t)(((uint8_t)(x))<<NV_FPROT3_PROT_SHIFT))&NV_FPROT3_PROT_MASK)
3092 /* FPROT2 Bit Fields */
3093 #define NV_FPROT2_PROT_MASK                      0xFFu
3094 #define NV_FPROT2_PROT_SHIFT                     0
3095 #define NV_FPROT2_PROT(x)                        (((uint8_t)(((uint8_t)(x))<<NV_FPROT2_PROT_SHIFT))&NV_FPROT2_PROT_MASK)
3096 /* FPROT1 Bit Fields */
3097 #define NV_FPROT1_PROT_MASK                      0xFFu
3098 #define NV_FPROT1_PROT_SHIFT                     0
3099 #define NV_FPROT1_PROT(x)                        (((uint8_t)(((uint8_t)(x))<<NV_FPROT1_PROT_SHIFT))&NV_FPROT1_PROT_MASK)
3100 /* FPROT0 Bit Fields */
3101 #define NV_FPROT0_PROT_MASK                      0xFFu
3102 #define NV_FPROT0_PROT_SHIFT                     0
3103 #define NV_FPROT0_PROT(x)                        (((uint8_t)(((uint8_t)(x))<<NV_FPROT0_PROT_SHIFT))&NV_FPROT0_PROT_MASK)
3104 /* FSEC Bit Fields */
3105 #define NV_FSEC_SEC_MASK                         0x3u
3106 #define NV_FSEC_SEC_SHIFT                        0
3107 #define NV_FSEC_SEC(x)                           (((uint8_t)(((uint8_t)(x))<<NV_FSEC_SEC_SHIFT))&NV_FSEC_SEC_MASK)
3108 #define NV_FSEC_FSLACC_MASK                      0xCu
3109 #define NV_FSEC_FSLACC_SHIFT                     2
3110 #define NV_FSEC_FSLACC(x)                        (((uint8_t)(((uint8_t)(x))<<NV_FSEC_FSLACC_SHIFT))&NV_FSEC_FSLACC_MASK)
3111 #define NV_FSEC_MEEN_MASK                        0x30u
3112 #define NV_FSEC_MEEN_SHIFT                       4
3113 #define NV_FSEC_MEEN(x)                          (((uint8_t)(((uint8_t)(x))<<NV_FSEC_MEEN_SHIFT))&NV_FSEC_MEEN_MASK)
3114 #define NV_FSEC_KEYEN_MASK                       0xC0u
3115 #define NV_FSEC_KEYEN_SHIFT                      6
3116 #define NV_FSEC_KEYEN(x)                         (((uint8_t)(((uint8_t)(x))<<NV_FSEC_KEYEN_SHIFT))&NV_FSEC_KEYEN_MASK)
3117 /* FOPT Bit Fields */
3118 #define NV_FOPT_LPBOOT_MASK                      0x1u
3119 #define NV_FOPT_LPBOOT_SHIFT                     0
3120 #define NV_FOPT_EZPORT_DIS_MASK                  0x2u
3121 #define NV_FOPT_EZPORT_DIS_SHIFT                 1
3122 /* FEPROT Bit Fields */
3123 #define NV_FEPROT_EPROT_MASK                     0xFFu
3124 #define NV_FEPROT_EPROT_SHIFT                    0
3125 #define NV_FEPROT_EPROT(x)                       (((uint8_t)(((uint8_t)(x))<<NV_FEPROT_EPROT_SHIFT))&NV_FEPROT_EPROT_MASK)
3126 /* FDPROT Bit Fields */
3127 #define NV_FDPROT_DPROT_MASK                     0xFFu
3128 #define NV_FDPROT_DPROT_SHIFT                    0
3129 #define NV_FDPROT_DPROT(x)                       (((uint8_t)(((uint8_t)(x))<<NV_FDPROT_DPROT_SHIFT))&NV_FDPROT_DPROT_MASK)
3130
3131 /**
3132  * @}
3133  */ /* end of group NV_Register_Masks */
3134
3135
3136 /* NV - Peripheral instance base addresses */
3137 /** Peripheral FTFL_FlashConfig base address */
3138 #define FTFL_FlashConfig_BASE                    (0x400u)
3139 /** Peripheral FTFL_FlashConfig base pointer */
3140 #define FTFL_FlashConfig                         ((NV_Type *)FTFL_FlashConfig_BASE)
3141
3142 /**
3143  * @}
3144  */ /* end of group NV_Peripheral_Access_Layer */
3145
3146
3147 /* ----------------------------------------------------------------------------
3148    -- OSC Peripheral Access Layer
3149    ---------------------------------------------------------------------------- */
3150
3151 /**
3152  * @addtogroup OSC_Peripheral_Access_Layer OSC Peripheral Access Layer
3153  * @{
3154  */
3155
3156 /** OSC - Register Layout Typedef */
3157 typedef struct {
3158   __IO uint8_t CR;                                 /**< OSC Control Register, offset: 0x0 */
3159 } OSC_Type;
3160
3161 /* ----------------------------------------------------------------------------
3162    -- OSC Register Masks
3163    ---------------------------------------------------------------------------- */
3164
3165 /**
3166  * @addtogroup OSC_Register_Masks OSC Register Masks
3167  * @{
3168  */
3169
3170 /* CR Bit Fields */
3171 #define OSC_CR_SC16P_MASK                        0x1u
3172 #define OSC_CR_SC16P_SHIFT                       0
3173 #define OSC_CR_SC8P_MASK                         0x2u
3174 #define OSC_CR_SC8P_SHIFT                        1
3175 #define OSC_CR_SC4P_MASK                         0x4u
3176 #define OSC_CR_SC4P_SHIFT                        2
3177 #define OSC_CR_SC2P_MASK                         0x8u
3178 #define OSC_CR_SC2P_SHIFT                        3
3179 #define OSC_CR_EREFSTEN_MASK                     0x20u
3180 #define OSC_CR_EREFSTEN_SHIFT                    5
3181 #define OSC_CR_ERCLKEN_MASK                      0x80u
3182 #define OSC_CR_ERCLKEN_SHIFT                     7
3183
3184 /**
3185  * @}
3186  */ /* end of group OSC_Register_Masks */
3187
3188
3189 /* OSC - Peripheral instance base addresses */
3190 /** Peripheral OSC0 base address */
3191 #define OSC0_BASE                                (0x40065000u)
3192 /** Peripheral OSC0 base pointer */
3193 #define OSC0                                     ((OSC_Type *)OSC0_BASE)
3194
3195 /**
3196  * @}
3197  */ /* end of group OSC_Peripheral_Access_Layer */
3198
3199
3200 /* ----------------------------------------------------------------------------
3201    -- PDB Peripheral Access Layer
3202    ---------------------------------------------------------------------------- */
3203
3204 /**
3205  * @addtogroup PDB_Peripheral_Access_Layer PDB Peripheral Access Layer
3206  * @{
3207  */
3208
3209 /** PDB - Register Layout Typedef */
3210 typedef struct {
3211   __IO uint32_t SC;                                /**< Status and Control Register, offset: 0x0 */
3212   __IO uint32_t MOD;                               /**< Modulus Register, offset: 0x4 */
3213   __I  uint32_t CNT;                               /**< Counter Register, offset: 0x8 */
3214   __IO uint32_t IDLY;                              /**< Interrupt Delay Register, offset: 0xC */
3215   struct {                                         /* offset: 0x10, array step: 0x10 */
3216     __IO uint32_t C1;                                /**< Channel n Control Register 1, array offset: 0x10, array step: 0x10 */
3217     __IO uint32_t S;                                 /**< Channel n Status Register, array offset: 0x14, array step: 0x10 */
3218     __IO uint32_t DLY[2];                            /**< Channel n Delay 0 Register..Channel n Delay 1 Register, array offset: 0x18, array step: index*0x10, index2*0x4 */
3219   } CH[1];
3220        uint8_t RESERVED_0[368];
3221   __IO uint32_t POEN;                              /**< Pulse-Out n Enable Register, offset: 0x190 */
3222   __IO uint32_t PODLY[2];                          /**< Pulse-Out n Delay Register, array offset: 0x194, array step: 0x4 */
3223 } PDB_Type;
3224
3225 /* ----------------------------------------------------------------------------
3226    -- PDB Register Masks
3227    ---------------------------------------------------------------------------- */
3228
3229 /**
3230  * @addtogroup PDB_Register_Masks PDB Register Masks
3231  * @{
3232  */
3233
3234 /* SC Bit Fields */
3235 #define PDB_SC_LDOK_MASK                         0x1u
3236 #define PDB_SC_LDOK_SHIFT                        0
3237 #define PDB_SC_CONT_MASK                         0x2u
3238 #define PDB_SC_CONT_SHIFT                        1
3239 #define PDB_SC_MULT_MASK                         0xCu
3240 #define PDB_SC_MULT_SHIFT                        2
3241 #define PDB_SC_MULT(x)                           (((uint32_t)(((uint32_t)(x))<<PDB_SC_MULT_SHIFT))&PDB_SC_MULT_MASK)
3242 #define PDB_SC_PDBIE_MASK                        0x20u
3243 #define PDB_SC_PDBIE_SHIFT                       5
3244 #define PDB_SC_PDBIF_MASK                        0x40u
3245 #define PDB_SC_PDBIF_SHIFT                       6
3246 #define PDB_SC_PDBEN_MASK                        0x80u
3247 #define PDB_SC_PDBEN_SHIFT                       7
3248 #define PDB_SC_TRGSEL_MASK                       0xF00u
3249 #define PDB_SC_TRGSEL_SHIFT                      8
3250 #define PDB_SC_TRGSEL(x)                         (((uint32_t)(((uint32_t)(x))<<PDB_SC_TRGSEL_SHIFT))&PDB_SC_TRGSEL_MASK)
3251 #define PDB_SC_PRESCALER_MASK                    0x7000u
3252 #define PDB_SC_PRESCALER_SHIFT                   12
3253 #define PDB_SC_PRESCALER(x)                      (((uint32_t)(((uint32_t)(x))<<PDB_SC_PRESCALER_SHIFT))&PDB_SC_PRESCALER_MASK)
3254 #define PDB_SC_DMAEN_MASK                        0x8000u
3255 #define PDB_SC_DMAEN_SHIFT                       15
3256 #define PDB_SC_SWTRIG_MASK                       0x10000u
3257 #define PDB_SC_SWTRIG_SHIFT                      16
3258 #define PDB_SC_PDBEIE_MASK                       0x20000u
3259 #define PDB_SC_PDBEIE_SHIFT                      17
3260 #define PDB_SC_LDMOD_MASK                        0xC0000u
3261 #define PDB_SC_LDMOD_SHIFT                       18
3262 #define PDB_SC_LDMOD(x)                          (((uint32_t)(((uint32_t)(x))<<PDB_SC_LDMOD_SHIFT))&PDB_SC_LDMOD_MASK)
3263 /* MOD Bit Fields */
3264 #define PDB_MOD_MOD_MASK                         0xFFFFu
3265 #define PDB_MOD_MOD_SHIFT                        0
3266 #define PDB_MOD_MOD(x)                           (((uint32_t)(((uint32_t)(x))<<PDB_MOD_MOD_SHIFT))&PDB_MOD_MOD_MASK)
3267 /* CNT Bit Fields */
3268 #define PDB_CNT_CNT_MASK                         0xFFFFu
3269 #define PDB_CNT_CNT_SHIFT                        0
3270 #define PDB_CNT_CNT(x)                           (((uint32_t)(((uint32_t)(x))<<PDB_CNT_CNT_SHIFT))&PDB_CNT_CNT_MASK)
3271 /* IDLY Bit Fields */
3272 #define PDB_IDLY_IDLY_MASK                       0xFFFFu
3273 #define PDB_IDLY_IDLY_SHIFT                      0
3274 #define PDB_IDLY_IDLY(x)                         (((uint32_t)(((uint32_t)(x))<<PDB_IDLY_IDLY_SHIFT))&PDB_IDLY_IDLY_MASK)
3275 /* C1 Bit Fields */
3276 #define PDB_C1_EN_MASK                           0xFFu
3277 #define PDB_C1_EN_SHIFT                          0
3278 #define PDB_C1_EN(x)                             (((uint32_t)(((uint32_t)(x))<<PDB_C1_EN_SHIFT))&PDB_C1_EN_MASK)
3279 #define PDB_C1_TOS_MASK                          0xFF00u
3280 #define PDB_C1_TOS_SHIFT                         8
3281 #define PDB_C1_TOS(x)                            (((uint32_t)(((uint32_t)(x))<<PDB_C1_TOS_SHIFT))&PDB_C1_TOS_MASK)
3282 #define PDB_C1_BB_MASK                           0xFF0000u
3283 #define PDB_C1_BB_SHIFT                          16
3284 #define PDB_C1_BB(x)                             (((uint32_t)(((uint32_t)(x))<<PDB_C1_BB_SHIFT))&PDB_C1_BB_MASK)
3285 /* S Bit Fields */
3286 #define PDB_S_ERR_MASK                           0xFFu
3287 #define PDB_S_ERR_SHIFT                          0
3288 #define PDB_S_ERR(x)                             (((uint32_t)(((uint32_t)(x))<<PDB_S_ERR_SHIFT))&PDB_S_ERR_MASK)
3289 #define PDB_S_CF_MASK                            0xFF0000u
3290 #define PDB_S_CF_SHIFT                           16
3291 #define PDB_S_CF(x)                              (((uint32_t)(((uint32_t)(x))<<PDB_S_CF_SHIFT))&PDB_S_CF_MASK)
3292 /* DLY Bit Fields */
3293 #define PDB_DLY_DLY_MASK                         0xFFFFu
3294 #define PDB_DLY_DLY_SHIFT                        0
3295 #define PDB_DLY_DLY(x)                           (((uint32_t)(((uint32_t)(x))<<PDB_DLY_DLY_SHIFT))&PDB_DLY_DLY_MASK)
3296 /* POEN Bit Fields */
3297 #define PDB_POEN_POEN_MASK                       0xFFu
3298 #define PDB_POEN_POEN_SHIFT                      0
3299 #define PDB_POEN_POEN(x)                         (((uint32_t)(((uint32_t)(x))<<PDB_POEN_POEN_SHIFT))&PDB_POEN_POEN_MASK)
3300 /* PODLY Bit Fields */
3301 #define PDB_PODLY_DLY2_MASK                      0xFFFFu
3302 #define PDB_PODLY_DLY2_SHIFT                     0
3303 #define PDB_PODLY_DLY2(x)                        (((uint32_t)(((uint32_t)(x))<<PDB_PODLY_DLY2_SHIFT))&PDB_PODLY_DLY2_MASK)
3304 #define PDB_PODLY_DLY1_MASK                      0xFFFF0000u
3305 #define PDB_PODLY_DLY1_SHIFT                     16
3306 #define PDB_PODLY_DLY1(x)                        (((uint32_t)(((uint32_t)(x))<<PDB_PODLY_DLY1_SHIFT))&PDB_PODLY_DLY1_MASK)
3307
3308 /**
3309  * @}
3310  */ /* end of group PDB_Register_Masks */
3311
3312
3313 /* PDB - Peripheral instance base addresses */
3314 /** Peripheral PDB0 base address */
3315 #define PDB0_BASE                                (0x40036000u)
3316 /** Peripheral PDB0 base pointer */
3317 #define PDB0                                     ((PDB_Type *)PDB0_BASE)
3318
3319 /**
3320  * @}
3321  */ /* end of group PDB_Peripheral_Access_Layer */
3322
3323
3324 /* ----------------------------------------------------------------------------
3325    -- PIT Peripheral Access Layer
3326    ---------------------------------------------------------------------------- */
3327
3328 /**
3329  * @addtogroup PIT_Peripheral_Access_Layer PIT Peripheral Access Layer
3330  * @{
3331  */
3332
3333 /** PIT - Register Layout Typedef */
3334 typedef struct {
3335   __IO uint32_t MCR;                               /**< PIT Module Control Register, offset: 0x0 */
3336        uint8_t RESERVED_0[252];
3337   struct {                                         /* offset: 0x100, array step: 0x10 */
3338     __IO uint32_t LDVAL;                             /**< Timer Load Value Register, array offset: 0x100, array step: 0x10 */
3339     __I  uint32_t CVAL;                              /**< Current Timer Value Register, array offset: 0x104, array step: 0x10 */
3340     __IO uint32_t TCTRL;                             /**< Timer Control Register, array offset: 0x108, array step: 0x10 */
3341     __IO uint32_t TFLG;                              /**< Timer Flag Register, array offset: 0x10C, array step: 0x10 */
3342   } CHANNEL[4];
3343 } PIT_Type;
3344
3345 /* ----------------------------------------------------------------------------
3346    -- PIT Register Masks
3347    ---------------------------------------------------------------------------- */
3348
3349 /**
3350  * @addtogroup PIT_Register_Masks PIT Register Masks
3351  * @{
3352  */
3353
3354 /* MCR Bit Fields */
3355 #define PIT_MCR_FRZ_MASK                         0x1u
3356 #define PIT_MCR_FRZ_SHIFT                        0
3357 #define PIT_MCR_MDIS_MASK                        0x2u
3358 #define PIT_MCR_MDIS_SHIFT                       1
3359 /* LDVAL Bit Fields */
3360 #define PIT_LDVAL_TSV_MASK                       0xFFFFFFFFu
3361 #define PIT_LDVAL_TSV_SHIFT                      0
3362 #define PIT_LDVAL_TSV(x)                         (((uint32_t)(((uint32_t)(x))<<PIT_LDVAL_TSV_SHIFT))&PIT_LDVAL_TSV_MASK)
3363 /* CVAL Bit Fields */
3364 #define PIT_CVAL_TVL_MASK                        0xFFFFFFFFu
3365 #define PIT_CVAL_TVL_SHIFT                       0
3366 #define PIT_CVAL_TVL(x)                          (((uint32_t)(((uint32_t)(x))<<PIT_CVAL_TVL_SHIFT))&PIT_CVAL_TVL_MASK)
3367 /* TCTRL Bit Fields */
3368 #define PIT_TCTRL_TEN_MASK                       0x1u
3369 #define PIT_TCTRL_TEN_SHIFT                      0
3370 #define PIT_TCTRL_TIE_MASK                       0x2u
3371 #define PIT_TCTRL_TIE_SHIFT                      1
3372 /* TFLG Bit Fields */
3373 #define PIT_TFLG_TIF_MASK                        0x1u
3374 #define PIT_TFLG_TIF_SHIFT                       0
3375
3376 /**
3377  * @}
3378  */ /* end of group PIT_Register_Masks */
3379
3380
3381 /* PIT - Peripheral instance base addresses */
3382 /** Peripheral PIT base address */
3383 #define PIT_BASE                                 (0x40037000u)
3384 /** Peripheral PIT base pointer */
3385 #define PIT                                      ((PIT_Type *)PIT_BASE)
3386
3387 /**
3388  * @}
3389  */ /* end of group PIT_Peripheral_Access_Layer */
3390
3391
3392 /* ----------------------------------------------------------------------------
3393    -- PMC Peripheral Access Layer
3394    ---------------------------------------------------------------------------- */
3395
3396 /**
3397  * @addtogroup PMC_Peripheral_Access_Layer PMC Peripheral Access Layer
3398  * @{
3399  */
3400
3401 /** PMC - Register Layout Typedef */
3402 typedef struct {
3403   __IO uint8_t LVDSC1;                             /**< Low Voltage Detect Status and Control 1 Register, offset: 0x0 */
3404   __IO uint8_t LVDSC2;                             /**< Low Voltage Detect Status and Control 2 Register, offset: 0x1 */
3405   __IO uint8_t REGSC;                              /**< Regulator Status and Control Register, offset: 0x2 */
3406 } PMC_Type;
3407
3408 /* ----------------------------------------------------------------------------
3409    -- PMC Register Masks
3410    ---------------------------------------------------------------------------- */
3411
3412 /**
3413  * @addtogroup PMC_Register_Masks PMC Register Masks
3414  * @{
3415  */
3416
3417 /* LVDSC1 Bit Fields */
3418 #define PMC_LVDSC1_LVDV_MASK                     0x3u
3419 #define PMC_LVDSC1_LVDV_SHIFT                    0
3420 #define PMC_LVDSC1_LVDV(x)                       (((uint8_t)(((uint8_t)(x))<<PMC_LVDSC1_LVDV_SHIFT))&PMC_LVDSC1_LVDV_MASK)
3421 #define PMC_LVDSC1_LVDRE_MASK                    0x10u
3422 #define PMC_LVDSC1_LVDRE_SHIFT                   4
3423 #define PMC_LVDSC1_LVDIE_MASK                    0x20u
3424 #define PMC_LVDSC1_LVDIE_SHIFT                   5
3425 #define PMC_LVDSC1_LVDACK_MASK                   0x40u
3426 #define PMC_LVDSC1_LVDACK_SHIFT                  6
3427 #define PMC_LVDSC1_LVDF_MASK                     0x80u
3428 #define PMC_LVDSC1_LVDF_SHIFT                    7
3429 /* LVDSC2 Bit Fields */
3430 #define PMC_LVDSC2_LVWV_MASK                     0x3u
3431 #define PMC_LVDSC2_LVWV_SHIFT                    0
3432 #define PMC_LVDSC2_LVWV(x)                       (((uint8_t)(((uint8_t)(x))<<PMC_LVDSC2_LVWV_SHIFT))&PMC_LVDSC2_LVWV_MASK)
3433 #define PMC_LVDSC2_LVWIE_MASK                    0x20u
3434 #define PMC_LVDSC2_LVWIE_SHIFT                   5
3435 #define PMC_LVDSC2_LVWACK_MASK                   0x40u
3436 #define PMC_LVDSC2_LVWACK_SHIFT                  6
3437 #define PMC_LVDSC2_LVWF_MASK                     0x80u
3438 #define PMC_LVDSC2_LVWF_SHIFT                    7
3439 /* REGSC Bit Fields */
3440 #define PMC_REGSC_BGBE_MASK                      0x1u
3441 #define PMC_REGSC_BGBE_SHIFT                     0
3442 #define PMC_REGSC_REGONS_MASK                    0x4u
3443 #define PMC_REGSC_REGONS_SHIFT                   2
3444 #define PMC_REGSC_ACKISO_MASK                    0x8u
3445 #define PMC_REGSC_ACKISO_SHIFT                   3
3446
3447 /**
3448  * @}
3449  */ /* end of group PMC_Register_Masks */
3450
3451
3452 /* PMC - Peripheral instance base addresses */
3453 /** Peripheral PMC base address */
3454 #define PMC_BASE                                 (0x4007D000u)
3455 /** Peripheral PMC base pointer */
3456 #define PMC                                      ((PMC_Type *)PMC_BASE)
3457
3458 /**
3459  * @}
3460  */ /* end of group PMC_Peripheral_Access_Layer */
3461
3462
3463 /* ----------------------------------------------------------------------------
3464    -- PORT Peripheral Access Layer
3465    ---------------------------------------------------------------------------- */
3466
3467 /**
3468  * @addtogroup PORT_Peripheral_Access_Layer PORT Peripheral Access Layer
3469  * @{
3470  */
3471
3472 /** PORT - Register Layout Typedef */
3473 typedef struct {
3474   __IO uint32_t PCR[32];                           /**< Pin Control Register n, array offset: 0x0, array step: 0x4 */
3475   __O  uint32_t GPCLR;                             /**< Global Pin Control Low Register, offset: 0x80 */
3476   __O  uint32_t GPCHR;                             /**< Global Pin Control High Register, offset: 0x84 */
3477        uint8_t RESERVED_0[24];
3478   __IO uint32_t ISFR;                              /**< Interrupt Status Flag Register, offset: 0xA0 */
3479        uint8_t RESERVED_1[28];
3480   __IO uint32_t DFER;                              /**< Digital Filter Enable Register, offset: 0xC0 */
3481   __IO uint32_t DFCR;                              /**< Digital Filter Clock Register, offset: 0xC4 */
3482   __IO uint32_t DFWR;                              /**< Digital Filter Width Register, offset: 0xC8 */
3483 } PORT_Type;
3484
3485 /* ----------------------------------------------------------------------------
3486    -- PORT Register Masks
3487    ---------------------------------------------------------------------------- */
3488
3489 /**
3490  * @addtogroup PORT_Register_Masks PORT Register Masks
3491  * @{
3492  */
3493
3494 /* PCR Bit Fields */
3495 #define PORT_PCR_PS_MASK                         0x1u
3496 #define PORT_PCR_PS_SHIFT                        0
3497 #define PORT_PCR_PE_MASK                         0x2u
3498 #define PORT_PCR_PE_SHIFT                        1
3499 #define PORT_PCR_SRE_MASK                        0x4u
3500 #define PORT_PCR_SRE_SHIFT                       2
3501 #define PORT_PCR_PFE_MASK                        0x10u
3502 #define PORT_PCR_PFE_SHIFT                       4
3503 #define PORT_PCR_ODE_MASK                        0x20u
3504 #define PORT_PCR_ODE_SHIFT                       5
3505 #define PORT_PCR_DSE_MASK                        0x40u
3506 #define PORT_PCR_DSE_SHIFT                       6
3507 #define PORT_PCR_MUX_MASK                        0x700u
3508 #define PORT_PCR_MUX_SHIFT                       8
3509 #define PORT_PCR_MUX(x)                          (((uint32_t)(((uint32_t)(x))<<PORT_PCR_MUX_SHIFT))&PORT_PCR_MUX_MASK)
3510 #define PORT_PCR_LK_MASK                         0x8000u
3511 #define PORT_PCR_LK_SHIFT                        15
3512 #define PORT_PCR_IRQC_MASK                       0xF0000u
3513 #define PORT_PCR_IRQC_SHIFT                      16
3514 #define PORT_PCR_IRQC(x)                         (((uint32_t)(((uint32_t)(x))<<PORT_PCR_IRQC_SHIFT))&PORT_PCR_IRQC_MASK)
3515 #define PORT_PCR_ISF_MASK                        0x1000000u
3516 #define PORT_PCR_ISF_SHIFT                       24
3517 /* GPCLR Bit Fields */
3518 #define PORT_GPCLR_GPWD_MASK                     0xFFFFu
3519 #define PORT_GPCLR_GPWD_SHIFT                    0
3520 #define PORT_GPCLR_GPWD(x)                       (((uint32_t)(((uint32_t)(x))<<PORT_GPCLR_GPWD_SHIFT))&PORT_GPCLR_GPWD_MASK)
3521 #define PORT_GPCLR_GPWE_MASK                     0xFFFF0000u
3522 #define PORT_GPCLR_GPWE_SHIFT                    16
3523 #define PORT_GPCLR_GPWE(x)                       (((uint32_t)(((uint32_t)(x))<<PORT_GPCLR_GPWE_SHIFT))&PORT_GPCLR_GPWE_MASK)
3524 /* GPCHR Bit Fields */
3525 #define PORT_GPCHR_GPWD_MASK                     0xFFFFu
3526 #define PORT_GPCHR_GPWD_SHIFT                    0
3527 #define PORT_GPCHR_GPWD(x)                       (((uint32_t)(((uint32_t)(x))<<PORT_GPCHR_GPWD_SHIFT))&PORT_GPCHR_GPWD_MASK)
3528 #define PORT_GPCHR_GPWE_MASK                     0xFFFF0000u
3529 #define PORT_GPCHR_GPWE_SHIFT                    16
3530 #define PORT_GPCHR_GPWE(x)                       (((uint32_t)(((uint32_t)(x))<<PORT_GPCHR_GPWE_SHIFT))&PORT_GPCHR_GPWE_MASK)
3531 /* ISFR Bit Fields */
3532 #define PORT_ISFR_ISF_MASK                       0xFFFFFFFFu
3533 #define PORT_ISFR_ISF_SHIFT                      0
3534 #define PORT_ISFR_ISF(x)                         (((uint32_t)(((uint32_t)(x))<<PORT_ISFR_ISF_SHIFT))&PORT_ISFR_ISF_MASK)
3535 /* DFER Bit Fields */
3536 #define PORT_DFER_DFE_MASK                       0xFFFFFFFFu
3537 #define PORT_DFER_DFE_SHIFT                      0
3538 #define PORT_DFER_DFE(x)                         (((uint32_t)(((uint32_t)(x))<<PORT_DFER_DFE_SHIFT))&PORT_DFER_DFE_MASK)
3539 /* DFCR Bit Fields */
3540 #define PORT_DFCR_CS_MASK                        0x1u
3541 #define PORT_DFCR_CS_SHIFT                       0
3542 /* DFWR Bit Fields */
3543 #define PORT_DFWR_FILT_MASK                      0x1Fu
3544 #define PORT_DFWR_FILT_SHIFT                     0
3545 #define PORT_DFWR_FILT(x)                        (((uint32_t)(((uint32_t)(x))<<PORT_DFWR_FILT_SHIFT))&PORT_DFWR_FILT_MASK)
3546
3547 /**
3548  * @}
3549  */ /* end of group PORT_Register_Masks */
3550
3551
3552 /* PORT - Peripheral instance base addresses */
3553 /** Peripheral PORTA base address */
3554 #define PORTA_BASE                               (0x40049000u)
3555 /** Peripheral PORTA base pointer */
3556 #define PORTA                                    ((PORT_Type *)PORTA_BASE)
3557 /** Peripheral PORTB base address */
3558 #define PORTB_BASE                               (0x4004A000u)
3559 /** Peripheral PORTB base pointer */
3560 #define PORTB                                    ((PORT_Type *)PORTB_BASE)
3561 /** Peripheral PORTC base address */
3562 #define PORTC_BASE                               (0x4004B000u)
3563 /** Peripheral PORTC base pointer */
3564 #define PORTC                                    ((PORT_Type *)PORTC_BASE)
3565 /** Peripheral PORTD base address */
3566 #define PORTD_BASE                               (0x4004C000u)
3567 /** Peripheral PORTD base pointer */
3568 #define PORTD                                    ((PORT_Type *)PORTD_BASE)
3569 /** Peripheral PORTE base address */
3570 #define PORTE_BASE                               (0x4004D000u)
3571 /** Peripheral PORTE base pointer */
3572 #define PORTE                                    ((PORT_Type *)PORTE_BASE)
3573
3574 /**
3575  * @}
3576  */ /* end of group PORT_Peripheral_Access_Layer */
3577
3578
3579 /* ----------------------------------------------------------------------------
3580    -- RCM Peripheral Access Layer
3581    ---------------------------------------------------------------------------- */
3582
3583 /**
3584  * @addtogroup RCM_Peripheral_Access_Layer RCM Peripheral Access Layer
3585  * @{
3586  */
3587
3588 /** RCM - Register Layout Typedef */
3589 typedef struct {
3590   __I  uint8_t SRS0;                               /**< System Reset Status Register 0, offset: 0x0 */
3591   __I  uint8_t SRS1;                               /**< System Reset Status Register 1, offset: 0x1 */
3592        uint8_t RESERVED_0[2];
3593   __IO uint8_t RPFC;                               /**< Reset Pin Filter Control Register, offset: 0x4 */
3594   __IO uint8_t RPFW;                               /**< Reset Pin Filter Width Register, offset: 0x5 */
3595        uint8_t RESERVED_1[1];
3596   __I  uint8_t MR;                                 /**< Mode Register, offset: 0x7 */
3597 } RCM_Type;
3598
3599 /* ----------------------------------------------------------------------------
3600    -- RCM Register Masks
3601    ---------------------------------------------------------------------------- */
3602
3603 /**
3604  * @addtogroup RCM_Register_Masks RCM Register Masks
3605  * @{
3606  */
3607
3608 /* SRS0 Bit Fields */
3609 #define RCM_SRS0_WAKEUP_MASK                     0x1u
3610 #define RCM_SRS0_WAKEUP_SHIFT                    0
3611 #define RCM_SRS0_LVD_MASK                        0x2u
3612 #define RCM_SRS0_LVD_SHIFT                       1
3613 #define RCM_SRS0_LOC_MASK                        0x4u
3614 #define RCM_SRS0_LOC_SHIFT                       2
3615 #define RCM_SRS0_LOL_MASK                        0x8u
3616 #define RCM_SRS0_LOL_SHIFT                       3
3617 #define RCM_SRS0_WDOG_MASK                       0x20u
3618 #define RCM_SRS0_WDOG_SHIFT                      5
3619 #define RCM_SRS0_PIN_MASK                        0x40u
3620 #define RCM_SRS0_PIN_SHIFT                       6
3621 #define RCM_SRS0_POR_MASK                        0x80u
3622 #define RCM_SRS0_POR_SHIFT                       7
3623 /* SRS1 Bit Fields */
3624 #define RCM_SRS1_JTAG_MASK                       0x1u
3625 #define RCM_SRS1_JTAG_SHIFT                      0
3626 #define RCM_SRS1_LOCKUP_MASK                     0x2u
3627 #define RCM_SRS1_LOCKUP_SHIFT                    1
3628 #define RCM_SRS1_SW_MASK                         0x4u
3629 #define RCM_SRS1_SW_SHIFT                        2
3630 #define RCM_SRS1_MDM_AP_MASK                     0x8u
3631 #define RCM_SRS1_MDM_AP_SHIFT                    3
3632 #define RCM_SRS1_EZPT_MASK                       0x10u
3633 #define RCM_SRS1_EZPT_SHIFT                      4
3634 #define RCM_SRS1_SACKERR_MASK                    0x20u
3635 #define RCM_SRS1_SACKERR_SHIFT                   5
3636 /* RPFC Bit Fields */
3637 #define RCM_RPFC_RSTFLTSRW_MASK                  0x3u
3638 #define RCM_RPFC_RSTFLTSRW_SHIFT                 0
3639 #define RCM_RPFC_RSTFLTSRW(x)                    (((uint8_t)(((uint8_t)(x))<<RCM_RPFC_RSTFLTSRW_SHIFT))&RCM_RPFC_RSTFLTSRW_MASK)
3640 #define RCM_RPFC_RSTFLTSS_MASK                   0x4u
3641 #define RCM_RPFC_RSTFLTSS_SHIFT                  2
3642 /* RPFW Bit Fields */
3643 #define RCM_RPFW_RSTFLTSEL_MASK                  0x1Fu
3644 #define RCM_RPFW_RSTFLTSEL_SHIFT                 0
3645 #define RCM_RPFW_RSTFLTSEL(x)                    (((uint8_t)(((uint8_t)(x))<<RCM_RPFW_RSTFLTSEL_SHIFT))&RCM_RPFW_RSTFLTSEL_MASK)
3646 /* MR Bit Fields */
3647 #define RCM_MR_EZP_MS_MASK                       0x2u
3648 #define RCM_MR_EZP_MS_SHIFT                      1
3649
3650 /**
3651  * @}
3652  */ /* end of group RCM_Register_Masks */
3653
3654
3655 /* RCM - Peripheral instance base addresses */
3656 /** Peripheral RCM base address */
3657 #define RCM_BASE                                 (0x4007F000u)
3658 /** Peripheral RCM base pointer */
3659 #define RCM                                      ((RCM_Type *)RCM_BASE)
3660
3661 /**
3662  * @}
3663  */ /* end of group RCM_Peripheral_Access_Layer */
3664
3665
3666 /* ----------------------------------------------------------------------------
3667    -- RFSYS Peripheral Access Layer
3668    ---------------------------------------------------------------------------- */
3669
3670 /**
3671  * @addtogroup RFSYS_Peripheral_Access_Layer RFSYS Peripheral Access Layer
3672  * @{
3673  */
3674
3675 /** RFSYS - Register Layout Typedef */
3676 typedef struct {
3677   __IO uint32_t REG[8];                            /**< Register file register, array offset: 0x0, array step: 0x4 */
3678 } RFSYS_Type;
3679
3680 /* ----------------------------------------------------------------------------
3681    -- RFSYS Register Masks
3682    ---------------------------------------------------------------------------- */
3683
3684 /**
3685  * @addtogroup RFSYS_Register_Masks RFSYS Register Masks
3686  * @{
3687  */
3688
3689 /* REG Bit Fields */
3690 #define RFSYS_REG_LL_MASK                        0xFFu
3691 #define RFSYS_REG_LL_SHIFT                       0
3692 #define RFSYS_REG_LL(x)                          (((uint32_t)(((uint32_t)(x))<<RFSYS_REG_LL_SHIFT))&RFSYS_REG_LL_MASK)
3693 #define RFSYS_REG_LH_MASK                        0xFF00u
3694 #define RFSYS_REG_LH_SHIFT                       8
3695 #define RFSYS_REG_LH(x)                          (((uint32_t)(((uint32_t)(x))<<RFSYS_REG_LH_SHIFT))&RFSYS_REG_LH_MASK)
3696 #define RFSYS_REG_HL_MASK                        0xFF0000u
3697 #define RFSYS_REG_HL_SHIFT                       16
3698 #define RFSYS_REG_HL(x)                          (((uint32_t)(((uint32_t)(x))<<RFSYS_REG_HL_SHIFT))&RFSYS_REG_HL_MASK)
3699 #define RFSYS_REG_HH_MASK                        0xFF000000u
3700 #define RFSYS_REG_HH_SHIFT                       24
3701 #define RFSYS_REG_HH(x)                          (((uint32_t)(((uint32_t)(x))<<RFSYS_REG_HH_SHIFT))&RFSYS_REG_HH_MASK)
3702
3703 /**
3704  * @}
3705  */ /* end of group RFSYS_Register_Masks */
3706
3707
3708 /* RFSYS - Peripheral instance base addresses */
3709 /** Peripheral RFSYS base address */
3710 #define RFSYS_BASE                               (0x40041000u)
3711 /** Peripheral RFSYS base pointer */
3712 #define RFSYS                                    ((RFSYS_Type *)RFSYS_BASE)
3713
3714 /**
3715  * @}
3716  */ /* end of group RFSYS_Peripheral_Access_Layer */
3717
3718
3719 /* ----------------------------------------------------------------------------
3720    -- RFVBAT Peripheral Access Layer
3721    ---------------------------------------------------------------------------- */
3722
3723 /**
3724  * @addtogroup RFVBAT_Peripheral_Access_Layer RFVBAT Peripheral Access Layer
3725  * @{
3726  */
3727
3728 /** RFVBAT - Register Layout Typedef */
3729 typedef struct {
3730   __IO uint32_t REG[8];                            /**< VBAT register file register, array offset: 0x0, array step: 0x4 */
3731 } RFVBAT_Type;
3732
3733 /* ----------------------------------------------------------------------------
3734    -- RFVBAT Register Masks
3735    ---------------------------------------------------------------------------- */
3736
3737 /**
3738  * @addtogroup RFVBAT_Register_Masks RFVBAT Register Masks
3739  * @{
3740  */
3741
3742 /* REG Bit Fields */
3743 #define RFVBAT_REG_LL_MASK                       0xFFu
3744 #define RFVBAT_REG_LL_SHIFT                      0
3745 #define RFVBAT_REG_LL(x)                         (((uint32_t)(((uint32_t)(x))<<RFVBAT_REG_LL_SHIFT))&RFVBAT_REG_LL_MASK)
3746 #define RFVBAT_REG_LH_MASK                       0xFF00u
3747 #define RFVBAT_REG_LH_SHIFT                      8
3748 #define RFVBAT_REG_LH(x)                         (((uint32_t)(((uint32_t)(x))<<RFVBAT_REG_LH_SHIFT))&RFVBAT_REG_LH_MASK)
3749 #define RFVBAT_REG_HL_MASK                       0xFF0000u
3750 #define RFVBAT_REG_HL_SHIFT                      16
3751 #define RFVBAT_REG_HL(x)                         (((uint32_t)(((uint32_t)(x))<<RFVBAT_REG_HL_SHIFT))&RFVBAT_REG_HL_MASK)
3752 #define RFVBAT_REG_HH_MASK                       0xFF000000u
3753 #define RFVBAT_REG_HH_SHIFT                      24
3754 #define RFVBAT_REG_HH(x)                         (((uint32_t)(((uint32_t)(x))<<RFVBAT_REG_HH_SHIFT))&RFVBAT_REG_HH_MASK)
3755
3756 /**
3757  * @}
3758  */ /* end of group RFVBAT_Register_Masks */
3759
3760
3761 /* RFVBAT - Peripheral instance base addresses */
3762 /** Peripheral RFVBAT base address */
3763 #define RFVBAT_BASE                              (0x4003E000u)
3764 /** Peripheral RFVBAT base pointer */
3765 #define RFVBAT                                   ((RFVBAT_Type *)RFVBAT_BASE)
3766
3767 /**
3768  * @}
3769  */ /* end of group RFVBAT_Peripheral_Access_Layer */
3770
3771
3772 /* ----------------------------------------------------------------------------
3773    -- RTC Peripheral Access Layer
3774    ---------------------------------------------------------------------------- */
3775
3776 /**
3777  * @addtogroup RTC_Peripheral_Access_Layer RTC Peripheral Access Layer
3778  * @{
3779  */
3780
3781 /** RTC - Register Layout Typedef */
3782 typedef struct {
3783   __IO uint32_t TSR;                               /**< RTC Time Seconds Register, offset: 0x0 */
3784   __IO uint32_t TPR;                               /**< RTC Time Prescaler Register, offset: 0x4 */
3785   __IO uint32_t TAR;                               /**< RTC Time Alarm Register, offset: 0x8 */
3786   __IO uint32_t TCR;                               /**< RTC Time Compensation Register, offset: 0xC */
3787   __IO uint32_t CR;                                /**< RTC Control Register, offset: 0x10 */
3788   __IO uint32_t SR;                                /**< RTC Status Register, offset: 0x14 */
3789   __IO uint32_t LR;                                /**< RTC Lock Register, offset: 0x18 */
3790   __IO uint32_t IER;                               /**< RTC Interrupt Enable Register, offset: 0x1C */
3791        uint8_t RESERVED_0[2016];
3792   __IO uint32_t WAR;                               /**< RTC Write Access Register, offset: 0x800 */
3793   __IO uint32_t RAR;                               /**< RTC Read Access Register, offset: 0x804 */
3794 } RTC_Type;
3795
3796 /* ----------------------------------------------------------------------------
3797    -- RTC Register Masks
3798    ---------------------------------------------------------------------------- */
3799
3800 /**
3801  * @addtogroup RTC_Register_Masks RTC Register Masks
3802  * @{
3803  */
3804
3805 /* TSR Bit Fields */
3806 #define RTC_TSR_TSR_MASK                         0xFFFFFFFFu
3807 #define RTC_TSR_TSR_SHIFT                        0
3808 #define RTC_TSR_TSR(x)                           (((uint32_t)(((uint32_t)(x))<<RTC_TSR_TSR_SHIFT))&RTC_TSR_TSR_MASK)
3809 /* TPR Bit Fields */
3810 #define RTC_TPR_TPR_MASK                         0xFFFFu
3811 #define RTC_TPR_TPR_SHIFT                        0
3812 #define RTC_TPR_TPR(x)                           (((uint32_t)(((uint32_t)(x))<<RTC_TPR_TPR_SHIFT))&RTC_TPR_TPR_MASK)
3813 /* TAR Bit Fields */
3814 #define RTC_TAR_TAR_MASK                         0xFFFFFFFFu
3815 #define RTC_TAR_TAR_SHIFT                        0
3816 #define RTC_TAR_TAR(x)                           (((uint32_t)(((uint32_t)(x))<<RTC_TAR_TAR_SHIFT))&RTC_TAR_TAR_MASK)
3817 /* TCR Bit Fields */
3818 #define RTC_TCR_TCR_MASK                         0xFFu
3819 #define RTC_TCR_TCR_SHIFT                        0
3820 #define RTC_TCR_TCR(x)                           (((uint32_t)(((uint32_t)(x))<<RTC_TCR_TCR_SHIFT))&RTC_TCR_TCR_MASK)
3821 #define RTC_TCR_CIR_MASK                         0xFF00u
3822 #define RTC_TCR_CIR_SHIFT                        8
3823 #define RTC_TCR_CIR(x)                           (((uint32_t)(((uint32_t)(x))<<RTC_TCR_CIR_SHIFT))&RTC_TCR_CIR_MASK)
3824 #define RTC_TCR_TCV_MASK                         0xFF0000u
3825 #define RTC_TCR_TCV_SHIFT                        16
3826 #define RTC_TCR_TCV(x)                           (((uint32_t)(((uint32_t)(x))<<RTC_TCR_TCV_SHIFT))&RTC_TCR_TCV_MASK)
3827 #define RTC_TCR_CIC_MASK                         0xFF000000u
3828 #define RTC_TCR_CIC_SHIFT                        24
3829 #define RTC_TCR_CIC(x)                           (((uint32_t)(((uint32_t)(x))<<RTC_TCR_CIC_SHIFT))&RTC_TCR_CIC_MASK)
3830 /* CR Bit Fields */
3831 #define RTC_CR_SWR_MASK                          0x1u
3832 #define RTC_CR_SWR_SHIFT                         0
3833 #define RTC_CR_WPE_MASK                          0x2u
3834 #define RTC_CR_WPE_SHIFT                         1
3835 #define RTC_CR_SUP_MASK                          0x4u
3836 #define RTC_CR_SUP_SHIFT                         2
3837 #define RTC_CR_UM_MASK                           0x8u
3838 #define RTC_CR_UM_SHIFT                          3
3839 #define RTC_CR_OSCE_MASK                         0x100u
3840 #define RTC_CR_OSCE_SHIFT                        8
3841 #define RTC_CR_CLKO_MASK                         0x200u
3842 #define RTC_CR_CLKO_SHIFT                        9
3843 #define RTC_CR_SC16P_MASK                        0x400u
3844 #define RTC_CR_SC16P_SHIFT                       10
3845 #define RTC_CR_SC8P_MASK                         0x800u
3846 #define RTC_CR_SC8P_SHIFT                        11
3847 #define RTC_CR_SC4P_MASK                         0x1000u
3848 #define RTC_CR_SC4P_SHIFT                        12
3849 #define RTC_CR_SC2P_MASK                         0x2000u
3850 #define RTC_CR_SC2P_SHIFT                        13
3851 /* SR Bit Fields */
3852 #define RTC_SR_TIF_MASK                          0x1u
3853 #define RTC_SR_TIF_SHIFT                         0
3854 #define RTC_SR_TOF_MASK                          0x2u
3855 #define RTC_SR_TOF_SHIFT                         1
3856 #define RTC_SR_TAF_MASK                          0x4u
3857 #define RTC_SR_TAF_SHIFT                         2
3858 #define RTC_SR_TCE_MASK                          0x10u
3859 #define RTC_SR_TCE_SHIFT                         4
3860 /* LR Bit Fields */
3861 #define RTC_LR_TCL_MASK                          0x8u
3862 #define RTC_LR_TCL_SHIFT                         3
3863 #define RTC_LR_CRL_MASK                          0x10u
3864 #define RTC_LR_CRL_SHIFT                         4
3865 #define RTC_LR_SRL_MASK                          0x20u
3866 #define RTC_LR_SRL_SHIFT                         5
3867 #define RTC_LR_LRL_MASK                          0x40u
3868 #define RTC_LR_LRL_SHIFT                         6
3869 /* IER Bit Fields */
3870 #define RTC_IER_TIIE_MASK                        0x1u
3871 #define RTC_IER_TIIE_SHIFT                       0
3872 #define RTC_IER_TOIE_MASK                        0x2u
3873 #define RTC_IER_TOIE_SHIFT                       1
3874 #define RTC_IER_TAIE_MASK                        0x4u
3875 #define RTC_IER_TAIE_SHIFT                       2
3876 #define RTC_IER_TSIE_MASK                        0x10u
3877 #define RTC_IER_TSIE_SHIFT                       4
3878 /* WAR Bit Fields */
3879 #define RTC_WAR_TSRW_MASK                        0x1u
3880 #define RTC_WAR_TSRW_SHIFT                       0
3881 #define RTC_WAR_TPRW_MASK                        0x2u
3882 #define RTC_WAR_TPRW_SHIFT                       1
3883 #define RTC_WAR_TARW_MASK                        0x4u
3884 #define RTC_WAR_TARW_SHIFT                       2
3885 #define RTC_WAR_TCRW_MASK                        0x8u
3886 #define RTC_WAR_TCRW_SHIFT                       3
3887 #define RTC_WAR_CRW_MASK                         0x10u
3888 #define RTC_WAR_CRW_SHIFT                        4
3889 #define RTC_WAR_SRW_MASK                         0x20u
3890 #define RTC_WAR_SRW_SHIFT                        5
3891 #define RTC_WAR_LRW_MASK                         0x40u
3892 #define RTC_WAR_LRW_SHIFT                        6
3893 #define RTC_WAR_IERW_MASK                        0x80u
3894 #define RTC_WAR_IERW_SHIFT                       7
3895 /* RAR Bit Fields */
3896 #define RTC_RAR_TSRR_MASK                        0x1u
3897 #define RTC_RAR_TSRR_SHIFT                       0
3898 #define RTC_RAR_TPRR_MASK                        0x2u
3899 #define RTC_RAR_TPRR_SHIFT                       1
3900 #define RTC_RAR_TARR_MASK                        0x4u
3901 #define RTC_RAR_TARR_SHIFT                       2
3902 #define RTC_RAR_TCRR_MASK                        0x8u
3903 #define RTC_RAR_TCRR_SHIFT                       3
3904 #define RTC_RAR_CRR_MASK                         0x10u
3905 #define RTC_RAR_CRR_SHIFT                        4
3906 #define RTC_RAR_SRR_MASK                         0x20u
3907 #define RTC_RAR_SRR_SHIFT                        5
3908 #define RTC_RAR_LRR_MASK                         0x40u
3909 #define RTC_RAR_LRR_SHIFT                        6
3910 #define RTC_RAR_IERR_MASK                        0x80u
3911 #define RTC_RAR_IERR_SHIFT                       7
3912
3913 /**
3914  * @}
3915  */ /* end of group RTC_Register_Masks */
3916
3917
3918 /* RTC - Peripheral instance base addresses */
3919 /** Peripheral RTC base address */
3920 #define RTC_BASE                                 (0x4003D000u)
3921 /** Peripheral RTC base pointer */
3922 #define RTC                                      ((RTC_Type *)RTC_BASE)
3923
3924 /**
3925  * @}
3926  */ /* end of group RTC_Peripheral_Access_Layer */
3927
3928
3929 /* ----------------------------------------------------------------------------
3930    -- SIM Peripheral Access Layer
3931    ---------------------------------------------------------------------------- */
3932
3933 /**
3934  * @addtogroup SIM_Peripheral_Access_Layer SIM Peripheral Access Layer
3935  * @{
3936  */
3937
3938 /** SIM - Register Layout Typedef */
3939 typedef struct {
3940   __IO uint32_t SOPT1;                             /**< System Options Register 1, offset: 0x0 */
3941   __IO uint32_t SOPT1CFG;                          /**< SOPT1 Configuration Register, offset: 0x4 */
3942        uint8_t RESERVED_0[4092];
3943   __IO uint32_t SOPT2;                             /**< System Options Register 2, offset: 0x1004 */
3944        uint8_t RESERVED_1[4];
3945   __IO uint32_t SOPT4;                             /**< System Options Register 4, offset: 0x100C */
3946   __IO uint32_t SOPT5;                             /**< System Options Register 5, offset: 0x1010 */
3947        uint8_t RESERVED_2[4];
3948   __IO uint32_t SOPT7;                             /**< System Options Register 7, offset: 0x1018 */
3949        uint8_t RESERVED_3[8];
3950   __I  uint32_t SDID;                              /**< System Device Identification Register, offset: 0x1024 */
3951        uint8_t RESERVED_4[12];
3952   __IO uint32_t SCGC4;                             /**< System Clock Gating Control Register 4, offset: 0x1034 */
3953   __IO uint32_t SCGC5;                             /**< System Clock Gating Control Register 5, offset: 0x1038 */
3954   __IO uint32_t SCGC6;                             /**< System Clock Gating Control Register 6, offset: 0x103C */
3955   __IO uint32_t SCGC7;                             /**< System Clock Gating Control Register 7, offset: 0x1040 */
3956   __IO uint32_t CLKDIV1;                           /**< System Clock Divider Register 1, offset: 0x1044 */
3957   __IO uint32_t CLKDIV2;                           /**< System Clock Divider Register 2, offset: 0x1048 */
3958   __IO uint32_t FCFG1;                             /**< Flash Configuration Register 1, offset: 0x104C */
3959   __I  uint32_t FCFG2;                             /**< Flash Configuration Register 2, offset: 0x1050 */
3960   __I  uint32_t UIDH;                              /**< Unique Identification Register High, offset: 0x1054 */
3961   __I  uint32_t UIDMH;                             /**< Unique Identification Register Mid-High, offset: 0x1058 */
3962   __I  uint32_t UIDML;                             /**< Unique Identification Register Mid Low, offset: 0x105C */
3963   __I  uint32_t UIDL;                              /**< Unique Identification Register Low, offset: 0x1060 */
3964 } SIM_Type;
3965
3966 /* ----------------------------------------------------------------------------
3967    -- SIM Register Masks
3968    ---------------------------------------------------------------------------- */
3969
3970 /**
3971  * @addtogroup SIM_Register_Masks SIM Register Masks
3972  * @{
3973  */
3974
3975 /* SOPT1 Bit Fields */
3976 #define SIM_SOPT1_RAMSIZE_MASK                   0xF000u
3977 #define SIM_SOPT1_RAMSIZE_SHIFT                  12
3978 #define SIM_SOPT1_RAMSIZE(x)                     (((uint32_t)(((uint32_t)(x))<<SIM_SOPT1_RAMSIZE_SHIFT))&SIM_SOPT1_RAMSIZE_MASK)
3979 #define SIM_SOPT1_OSC32KSEL_MASK                 0xC0000u
3980 #define SIM_SOPT1_OSC32KSEL_SHIFT                18
3981 #define SIM_SOPT1_OSC32KSEL(x)                   (((uint32_t)(((uint32_t)(x))<<SIM_SOPT1_OSC32KSEL_SHIFT))&SIM_SOPT1_OSC32KSEL_MASK)
3982 #define SIM_SOPT1_USBVSTBY_MASK                  0x20000000u
3983 #define SIM_SOPT1_USBVSTBY_SHIFT                 29
3984 #define SIM_SOPT1_USBSSTBY_MASK                  0x40000000u
3985 #define SIM_SOPT1_USBSSTBY_SHIFT                 30
3986 #define SIM_SOPT1_USBREGEN_MASK                  0x80000000u
3987 #define SIM_SOPT1_USBREGEN_SHIFT                 31
3988 /* SOPT1CFG Bit Fields */
3989 #define SIM_SOPT1CFG_URWE_MASK                   0x1000000u
3990 #define SIM_SOPT1CFG_URWE_SHIFT                  24
3991 #define SIM_SOPT1CFG_UVSWE_MASK                  0x2000000u
3992 #define SIM_SOPT1CFG_UVSWE_SHIFT                 25
3993 #define SIM_SOPT1CFG_USSWE_MASK                  0x4000000u
3994 #define SIM_SOPT1CFG_USSWE_SHIFT                 26
3995 /* SOPT2 Bit Fields */
3996 #define SIM_SOPT2_RTCCLKOUTSEL_MASK              0x10u
3997 #define SIM_SOPT2_RTCCLKOUTSEL_SHIFT             4
3998 #define SIM_SOPT2_CLKOUTSEL_MASK                 0xE0u
3999 #define SIM_SOPT2_CLKOUTSEL_SHIFT                5
4000 #define SIM_SOPT2_CLKOUTSEL(x)                   (((uint32_t)(((uint32_t)(x))<<SIM_SOPT2_CLKOUTSEL_SHIFT))&SIM_SOPT2_CLKOUTSEL_MASK)
4001 #define SIM_SOPT2_PTD7PAD_MASK                   0x800u
4002 #define SIM_SOPT2_PTD7PAD_SHIFT                  11
4003 #define SIM_SOPT2_TRACECLKSEL_MASK               0x1000u
4004 #define SIM_SOPT2_TRACECLKSEL_SHIFT              12
4005 #define SIM_SOPT2_PLLFLLSEL_MASK                 0x10000u
4006 #define SIM_SOPT2_PLLFLLSEL_SHIFT                16
4007 #define SIM_SOPT2_USBSRC_MASK                    0x40000u
4008 #define SIM_SOPT2_USBSRC_SHIFT                   18
4009 /* SOPT4 Bit Fields */
4010 #define SIM_SOPT4_FTM0FLT0_MASK                  0x1u
4011 #define SIM_SOPT4_FTM0FLT0_SHIFT                 0
4012 #define SIM_SOPT4_FTM0FLT1_MASK                  0x2u
4013 #define SIM_SOPT4_FTM0FLT1_SHIFT                 1
4014 #define SIM_SOPT4_FTM1FLT0_MASK                  0x10u
4015 #define SIM_SOPT4_FTM1FLT0_SHIFT                 4
4016 #define SIM_SOPT4_FTM1CH0SRC_MASK                0xC0000u
4017 #define SIM_SOPT4_FTM1CH0SRC_SHIFT               18
4018 #define SIM_SOPT4_FTM1CH0SRC(x)                  (((uint32_t)(((uint32_t)(x))<<SIM_SOPT4_FTM1CH0SRC_SHIFT))&SIM_SOPT4_FTM1CH0SRC_MASK)
4019 #define SIM_SOPT4_FTM0CLKSEL_MASK                0x1000000u
4020 #define SIM_SOPT4_FTM0CLKSEL_SHIFT               24
4021 #define SIM_SOPT4_FTM1CLKSEL_MASK                0x2000000u
4022 #define SIM_SOPT4_FTM1CLKSEL_SHIFT               25
4023 #define SIM_SOPT4_FTM0TRG0SRC_MASK               0x10000000u
4024 #define SIM_SOPT4_FTM0TRG0SRC_SHIFT              28
4025 /* SOPT5 Bit Fields */
4026 #define SIM_SOPT5_UART0TXSRC_MASK                0x1u
4027 #define SIM_SOPT5_UART0TXSRC_SHIFT               0
4028 #define SIM_SOPT5_UART0RXSRC_MASK                0xCu
4029 #define SIM_SOPT5_UART0RXSRC_SHIFT               2
4030 #define SIM_SOPT5_UART0RXSRC(x)                  (((uint32_t)(((uint32_t)(x))<<SIM_SOPT5_UART0RXSRC_SHIFT))&SIM_SOPT5_UART0RXSRC_MASK)
4031 #define SIM_SOPT5_UART1TXSRC_MASK                0x10u
4032 #define SIM_SOPT5_UART1TXSRC_SHIFT               4
4033 #define SIM_SOPT5_UART1RXSRC_MASK                0xC0u
4034 #define SIM_SOPT5_UART1RXSRC_SHIFT               6
4035 #define SIM_SOPT5_UART1RXSRC(x)                  (((uint32_t)(((uint32_t)(x))<<SIM_SOPT5_UART1RXSRC_SHIFT))&SIM_SOPT5_UART1RXSRC_MASK)
4036 /* SOPT7 Bit Fields */
4037 #define SIM_SOPT7_ADC0TRGSEL_MASK                0xFu
4038 #define SIM_SOPT7_ADC0TRGSEL_SHIFT               0
4039 #define SIM_SOPT7_ADC0TRGSEL(x)                  (((uint32_t)(((uint32_t)(x))<<SIM_SOPT7_ADC0TRGSEL_SHIFT))&SIM_SOPT7_ADC0TRGSEL_MASK)
4040 #define SIM_SOPT7_ADC0PRETRGSEL_MASK             0x10u
4041 #define SIM_SOPT7_ADC0PRETRGSEL_SHIFT            4
4042 #define SIM_SOPT7_ADC0ALTTRGEN_MASK              0x80u
4043 #define SIM_SOPT7_ADC0ALTTRGEN_SHIFT             7
4044 /* SDID Bit Fields */
4045 #define SIM_SDID_PINID_MASK                      0xFu
4046 #define SIM_SDID_PINID_SHIFT                     0
4047 #define SIM_SDID_PINID(x)                        (((uint32_t)(((uint32_t)(x))<<SIM_SDID_PINID_SHIFT))&SIM_SDID_PINID_MASK)
4048 #define SIM_SDID_FAMID_MASK                      0x70u
4049 #define SIM_SDID_FAMID_SHIFT                     4
4050 #define SIM_SDID_FAMID(x)                        (((uint32_t)(((uint32_t)(x))<<SIM_SDID_FAMID_SHIFT))&SIM_SDID_FAMID_MASK)
4051 #define SIM_SDID_REVID_MASK                      0xF000u
4052 #define SIM_SDID_REVID_SHIFT                     12
4053 #define SIM_SDID_REVID(x)                        (((uint32_t)(((uint32_t)(x))<<SIM_SDID_REVID_SHIFT))&SIM_SDID_REVID_MASK)
4054 /* SCGC4 Bit Fields */
4055 #define SIM_SCGC4_EWM_MASK                       0x2u
4056 #define SIM_SCGC4_EWM_SHIFT                      1
4057 #define SIM_SCGC4_CMT_MASK                       0x4u
4058 #define SIM_SCGC4_CMT_SHIFT                      2
4059 #define SIM_SCGC4_I2C0_MASK                      0x40u
4060 #define SIM_SCGC4_I2C0_SHIFT                     6
4061 #define SIM_SCGC4_UART0_MASK                     0x400u
4062 #define SIM_SCGC4_UART0_SHIFT                    10
4063 #define SIM_SCGC4_UART1_MASK                     0x800u
4064 #define SIM_SCGC4_UART1_SHIFT                    11
4065 #define SIM_SCGC4_UART2_MASK                     0x1000u
4066 #define SIM_SCGC4_UART2_SHIFT                    12
4067 #define SIM_SCGC4_USBOTG_MASK                    0x40000u
4068 #define SIM_SCGC4_USBOTG_SHIFT                   18
4069 #define SIM_SCGC4_CMP_MASK                       0x80000u
4070 #define SIM_SCGC4_CMP_SHIFT                      19
4071 #define SIM_SCGC4_VREF_MASK                      0x100000u
4072 #define SIM_SCGC4_VREF_SHIFT                     20
4073 /* SCGC5 Bit Fields */
4074 #define SIM_SCGC5_LPTIMER_MASK                   0x1u
4075 #define SIM_SCGC5_LPTIMER_SHIFT                  0
4076 #define SIM_SCGC5_TSI_MASK                       0x20u
4077 #define SIM_SCGC5_TSI_SHIFT                      5
4078 #define SIM_SCGC5_PORTA_MASK                     0x200u
4079 #define SIM_SCGC5_PORTA_SHIFT                    9
4080 #define SIM_SCGC5_PORTB_MASK                     0x400u
4081 #define SIM_SCGC5_PORTB_SHIFT                    10
4082 #define SIM_SCGC5_PORTC_MASK                     0x800u
4083 #define SIM_SCGC5_PORTC_SHIFT                    11
4084 #define SIM_SCGC5_PORTD_MASK                     0x1000u
4085 #define SIM_SCGC5_PORTD_SHIFT                    12
4086 #define SIM_SCGC5_PORTE_MASK                     0x2000u
4087 #define SIM_SCGC5_PORTE_SHIFT                    13
4088 /* SCGC6 Bit Fields */
4089 #define SIM_SCGC6_FTFL_MASK                      0x1u
4090 #define SIM_SCGC6_FTFL_SHIFT                     0
4091 #define SIM_SCGC6_DMAMUX_MASK                    0x2u
4092 #define SIM_SCGC6_DMAMUX_SHIFT                   1
4093 #define SIM_SCGC6_SPI0_MASK                      0x1000u
4094 #define SIM_SCGC6_SPI0_SHIFT                     12
4095 #define SIM_SCGC6_I2S_MASK                       0x8000u
4096 #define SIM_SCGC6_I2S_SHIFT                      15
4097 #define SIM_SCGC6_CRC_MASK                       0x40000u
4098 #define SIM_SCGC6_CRC_SHIFT                      18
4099 #define SIM_SCGC6_USBDCD_MASK                    0x200000u
4100 #define SIM_SCGC6_USBDCD_SHIFT                   21
4101 #define SIM_SCGC6_PDB_MASK                       0x400000u
4102 #define SIM_SCGC6_PDB_SHIFT                      22
4103 #define SIM_SCGC6_PIT_MASK                       0x800000u
4104 #define SIM_SCGC6_PIT_SHIFT                      23
4105 #define SIM_SCGC6_FTM0_MASK                      0x1000000u
4106 #define SIM_SCGC6_FTM0_SHIFT                     24
4107 #define SIM_SCGC6_FTM1_MASK                      0x2000000u
4108 #define SIM_SCGC6_FTM1_SHIFT                     25
4109 #define SIM_SCGC6_ADC0_MASK                      0x8000000u
4110 #define SIM_SCGC6_ADC0_SHIFT                     27
4111 #define SIM_SCGC6_RTC_MASK                       0x20000000u
4112 #define SIM_SCGC6_RTC_SHIFT                      29
4113 /* SCGC7 Bit Fields */
4114 #define SIM_SCGC7_DMA_MASK                       0x2u
4115 #define SIM_SCGC7_DMA_SHIFT                      1
4116 /* CLKDIV1 Bit Fields */
4117 #define SIM_CLKDIV1_OUTDIV4_MASK                 0xF0000u
4118 #define SIM_CLKDIV1_OUTDIV4_SHIFT                16
4119 #define SIM_CLKDIV1_OUTDIV4(x)                   (((uint32_t)(((uint32_t)(x))<<SIM_CLKDIV1_OUTDIV4_SHIFT))&SIM_CLKDIV1_OUTDIV4_MASK)
4120 #define SIM_CLKDIV1_OUTDIV2_MASK                 0xF000000u
4121 #define SIM_CLKDIV1_OUTDIV2_SHIFT                24
4122 #define SIM_CLKDIV1_OUTDIV2(x)                   (((uint32_t)(((uint32_t)(x))<<SIM_CLKDIV1_OUTDIV2_SHIFT))&SIM_CLKDIV1_OUTDIV2_MASK)
4123 #define SIM_CLKDIV1_OUTDIV1_MASK                 0xF0000000u
4124 #define SIM_CLKDIV1_OUTDIV1_SHIFT                28
4125 #define SIM_CLKDIV1_OUTDIV1(x)                   (((uint32_t)(((uint32_t)(x))<<SIM_CLKDIV1_OUTDIV1_SHIFT))&SIM_CLKDIV1_OUTDIV1_MASK)
4126 /* CLKDIV2 Bit Fields */
4127 #define SIM_CLKDIV2_USBFRAC_MASK                 0x1u
4128 #define SIM_CLKDIV2_USBFRAC_SHIFT                0
4129 #define SIM_CLKDIV2_USBDIV_MASK                  0xEu
4130 #define SIM_CLKDIV2_USBDIV_SHIFT                 1
4131 #define SIM_CLKDIV2_USBDIV(x)                    (((uint32_t)(((uint32_t)(x))<<SIM_CLKDIV2_USBDIV_SHIFT))&SIM_CLKDIV2_USBDIV_MASK)
4132 /* FCFG1 Bit Fields */
4133 #define SIM_FCFG1_FLASHDIS_MASK                  0x1u
4134 #define SIM_FCFG1_FLASHDIS_SHIFT                 0
4135 #define SIM_FCFG1_FLASHDOZE_MASK                 0x2u
4136 #define SIM_FCFG1_FLASHDOZE_SHIFT                1
4137 #define SIM_FCFG1_DEPART_MASK                    0xF00u
4138 #define SIM_FCFG1_DEPART_SHIFT                   8
4139 #define SIM_FCFG1_DEPART(x)                      (((uint32_t)(((uint32_t)(x))<<SIM_FCFG1_DEPART_SHIFT))&SIM_FCFG1_DEPART_MASK)
4140 #define SIM_FCFG1_EESIZE_MASK                    0xF0000u
4141 #define SIM_FCFG1_EESIZE_SHIFT                   16
4142 #define SIM_FCFG1_EESIZE(x)                      (((uint32_t)(((uint32_t)(x))<<SIM_FCFG1_EESIZE_SHIFT))&SIM_FCFG1_EESIZE_MASK)
4143 #define SIM_FCFG1_PFSIZE_MASK                    0xF000000u
4144 #define SIM_FCFG1_PFSIZE_SHIFT                   24
4145 #define SIM_FCFG1_PFSIZE(x)                      (((uint32_t)(((uint32_t)(x))<<SIM_FCFG1_PFSIZE_SHIFT))&SIM_FCFG1_PFSIZE_MASK)
4146 #define SIM_FCFG1_NVMSIZE_MASK                   0xF0000000u
4147 #define SIM_FCFG1_NVMSIZE_SHIFT                  28
4148 #define SIM_FCFG1_NVMSIZE(x)                     (((uint32_t)(((uint32_t)(x))<<SIM_FCFG1_NVMSIZE_SHIFT))&SIM_FCFG1_NVMSIZE_MASK)
4149 /* FCFG2 Bit Fields */
4150 #define SIM_FCFG2_MAXADDR1_MASK                  0x7F0000u
4151 #define SIM_FCFG2_MAXADDR1_SHIFT                 16
4152 #define SIM_FCFG2_MAXADDR1(x)                    (((uint32_t)(((uint32_t)(x))<<SIM_FCFG2_MAXADDR1_SHIFT))&SIM_FCFG2_MAXADDR1_MASK)
4153 #define SIM_FCFG2_PFLSH_MASK                     0x800000u
4154 #define SIM_FCFG2_PFLSH_SHIFT                    23
4155 #define SIM_FCFG2_MAXADDR0_MASK                  0x7F000000u
4156 #define SIM_FCFG2_MAXADDR0_SHIFT                 24
4157 #define SIM_FCFG2_MAXADDR0(x)                    (((uint32_t)(((uint32_t)(x))<<SIM_FCFG2_MAXADDR0_SHIFT))&SIM_FCFG2_MAXADDR0_MASK)
4158 /* UIDH Bit Fields */
4159 #define SIM_UIDH_UID_MASK                        0xFFFFFFFFu
4160 #define SIM_UIDH_UID_SHIFT                       0
4161 #define SIM_UIDH_UID(x)                          (((uint32_t)(((uint32_t)(x))<<SIM_UIDH_UID_SHIFT))&SIM_UIDH_UID_MASK)
4162 /* UIDMH Bit Fields */
4163 #define SIM_UIDMH_UID_MASK                       0xFFFFFFFFu
4164 #define SIM_UIDMH_UID_SHIFT                      0
4165 #define SIM_UIDMH_UID(x)                         (((uint32_t)(((uint32_t)(x))<<SIM_UIDMH_UID_SHIFT))&SIM_UIDMH_UID_MASK)
4166 /* UIDML Bit Fields */
4167 #define SIM_UIDML_UID_MASK                       0xFFFFFFFFu
4168 #define SIM_UIDML_UID_SHIFT                      0
4169 #define SIM_UIDML_UID(x)                         (((uint32_t)(((uint32_t)(x))<<SIM_UIDML_UID_SHIFT))&SIM_UIDML_UID_MASK)
4170 /* UIDL Bit Fields */
4171 #define SIM_UIDL_UID_MASK                        0xFFFFFFFFu
4172 #define SIM_UIDL_UID_SHIFT                       0
4173 #define SIM_UIDL_UID(x)                          (((uint32_t)(((uint32_t)(x))<<SIM_UIDL_UID_SHIFT))&SIM_UIDL_UID_MASK)
4174
4175 /**
4176  * @}
4177  */ /* end of group SIM_Register_Masks */
4178
4179
4180 /* SIM - Peripheral instance base addresses */
4181 /** Peripheral SIM base address */
4182 #define SIM_BASE                                 (0x40047000u)
4183 /** Peripheral SIM base pointer */
4184 #define SIM                                      ((SIM_Type *)SIM_BASE)
4185
4186 /**
4187  * @}
4188  */ /* end of group SIM_Peripheral_Access_Layer */
4189
4190
4191 /* ----------------------------------------------------------------------------
4192    -- SMC Peripheral Access Layer
4193    ---------------------------------------------------------------------------- */
4194
4195 /**
4196  * @addtogroup SMC_Peripheral_Access_Layer SMC Peripheral Access Layer
4197  * @{
4198  */
4199
4200 /** SMC - Register Layout Typedef */
4201 typedef struct {
4202   __IO uint8_t PMPROT;                             /**< Power Mode Protection Register, offset: 0x0 */
4203   __IO uint8_t PMCTRL;                             /**< Power Mode Control Register, offset: 0x1 */
4204   __IO uint8_t VLLSCTRL;                           /**< VLLS Control Register, offset: 0x2 */
4205   __I  uint8_t PMSTAT;                             /**< Power Mode Status Register, offset: 0x3 */
4206 } SMC_Type;
4207
4208 /* ----------------------------------------------------------------------------
4209    -- SMC Register Masks
4210    ---------------------------------------------------------------------------- */
4211
4212 /**
4213  * @addtogroup SMC_Register_Masks SMC Register Masks
4214  * @{
4215  */
4216
4217 /* PMPROT Bit Fields */
4218 #define SMC_PMPROT_AVLLS_MASK                    0x2u
4219 #define SMC_PMPROT_AVLLS_SHIFT                   1
4220 #define SMC_PMPROT_ALLS_MASK                     0x8u
4221 #define SMC_PMPROT_ALLS_SHIFT                    3
4222 #define SMC_PMPROT_AVLP_MASK                     0x20u
4223 #define SMC_PMPROT_AVLP_SHIFT                    5
4224 /* PMCTRL Bit Fields */
4225 #define SMC_PMCTRL_STOPM_MASK                    0x7u
4226 #define SMC_PMCTRL_STOPM_SHIFT                   0
4227 #define SMC_PMCTRL_STOPM(x)                      (((uint8_t)(((uint8_t)(x))<<SMC_PMCTRL_STOPM_SHIFT))&SMC_PMCTRL_STOPM_MASK)
4228 #define SMC_PMCTRL_STOPA_MASK                    0x8u
4229 #define SMC_PMCTRL_STOPA_SHIFT                   3
4230 #define SMC_PMCTRL_RUNM_MASK                     0x60u
4231 #define SMC_PMCTRL_RUNM_SHIFT                    5
4232 #define SMC_PMCTRL_RUNM(x)                       (((uint8_t)(((uint8_t)(x))<<SMC_PMCTRL_RUNM_SHIFT))&SMC_PMCTRL_RUNM_MASK)
4233 #define SMC_PMCTRL_LPWUI_MASK                    0x80u
4234 #define SMC_PMCTRL_LPWUI_SHIFT                   7
4235 /* VLLSCTRL Bit Fields */
4236 #define SMC_VLLSCTRL_VLLSM_MASK                  0x7u
4237 #define SMC_VLLSCTRL_VLLSM_SHIFT                 0
4238 #define SMC_VLLSCTRL_VLLSM(x)                    (((uint8_t)(((uint8_t)(x))<<SMC_VLLSCTRL_VLLSM_SHIFT))&SMC_VLLSCTRL_VLLSM_MASK)
4239 #define SMC_VLLSCTRL_PORPO_MASK                  0x20u
4240 #define SMC_VLLSCTRL_PORPO_SHIFT                 5
4241 /* PMSTAT Bit Fields */
4242 #define SMC_PMSTAT_PMSTAT_MASK                   0x7Fu
4243 #define SMC_PMSTAT_PMSTAT_SHIFT                  0
4244 #define SMC_PMSTAT_PMSTAT(x)                     (((uint8_t)(((uint8_t)(x))<<SMC_PMSTAT_PMSTAT_SHIFT))&SMC_PMSTAT_PMSTAT_MASK)
4245
4246 /**
4247  * @}
4248  */ /* end of group SMC_Register_Masks */
4249
4250
4251 /* SMC - Peripheral instance base addresses */
4252 /** Peripheral SMC base address */
4253 #define SMC_BASE                                 (0x4007E000u)
4254 /** Peripheral SMC base pointer */
4255 #define SMC                                      ((SMC_Type *)SMC_BASE)
4256
4257 /**
4258  * @}
4259  */ /* end of group SMC_Peripheral_Access_Layer */
4260
4261
4262 /* ----------------------------------------------------------------------------
4263    -- SPI Peripheral Access Layer
4264    ---------------------------------------------------------------------------- */
4265
4266 /**
4267  * @addtogroup SPI_Peripheral_Access_Layer SPI Peripheral Access Layer
4268  * @{
4269  */
4270
4271 /** SPI - Register Layout Typedef */
4272 typedef struct {
4273   __IO uint32_t MCR;                               /**< DSPI Module Configuration Register, offset: 0x0 */
4274        uint8_t RESERVED_0[4];
4275   __IO uint32_t TCR;                               /**< DSPI Transfer Count Register, offset: 0x8 */
4276   union {                                          /* offset: 0xC */
4277     __IO uint32_t CTAR[2];                           /**< DSPI Clock and Transfer Attributes Register (In Master Mode), array offset: 0xC, array step: 0x4 */
4278     __IO uint32_t CTAR_SLAVE[1];                     /**< DSPI Clock and Transfer Attributes Register (In Slave Mode), array offset: 0xC, array step: 0x4 */
4279   };
4280        uint8_t RESERVED_1[24];
4281   __IO uint32_t SR;                                /**< DSPI Status Register, offset: 0x2C */
4282   __IO uint32_t RSER;                              /**< DSPI DMA/Interrupt Request Select and Enable Register, offset: 0x30 */
4283   union {                                          /* offset: 0x34 */
4284     __IO uint32_t PUSHR;                             /**< DSPI PUSH TX FIFO Register In Master Mode, offset: 0x34 */
4285     __IO uint32_t PUSHR_SLAVE;                       /**< DSPI PUSH TX FIFO Register In Slave Mode, offset: 0x34 */
4286   };
4287   __I  uint32_t POPR;                              /**< DSPI POP RX FIFO Register, offset: 0x38 */
4288   __I  uint32_t TXFR0;                             /**< DSPI Transmit FIFO Registers, offset: 0x3C */
4289   __I  uint32_t TXFR1;                             /**< DSPI Transmit FIFO Registers, offset: 0x40 */
4290   __I  uint32_t TXFR2;                             /**< DSPI Transmit FIFO Registers, offset: 0x44 */
4291   __I  uint32_t TXFR3;                             /**< DSPI Transmit FIFO Registers, offset: 0x48 */
4292        uint8_t RESERVED_2[48];
4293   __I  uint32_t RXFR0;                             /**< DSPI Receive FIFO Registers, offset: 0x7C */
4294   __I  uint32_t RXFR1;                             /**< DSPI Receive FIFO Registers, offset: 0x80 */
4295   __I  uint32_t RXFR2;                             /**< DSPI Receive FIFO Registers, offset: 0x84 */
4296   __I  uint32_t RXFR3;                             /**< DSPI Receive FIFO Registers, offset: 0x88 */
4297 } SPI_Type;
4298
4299 /* ----------------------------------------------------------------------------
4300    -- SPI Register Masks
4301    ---------------------------------------------------------------------------- */
4302
4303 /**
4304  * @addtogroup SPI_Register_Masks SPI Register Masks
4305  * @{
4306  */
4307
4308 /* MCR Bit Fields */
4309 #define SPI_MCR_HALT_MASK                        0x1u
4310 #define SPI_MCR_HALT_SHIFT                       0
4311 #define SPI_MCR_SMPL_PT_MASK                     0x300u
4312 #define SPI_MCR_SMPL_PT_SHIFT                    8
4313 #define SPI_MCR_SMPL_PT(x)                       (((uint32_t)(((uint32_t)(x))<<SPI_MCR_SMPL_PT_SHIFT))&SPI_MCR_SMPL_PT_MASK)
4314 #define SPI_MCR_CLR_RXF_MASK                     0x400u
4315 #define SPI_MCR_CLR_RXF_SHIFT                    10
4316 #define SPI_MCR_CLR_TXF_MASK                     0x800u
4317 #define SPI_MCR_CLR_TXF_SHIFT                    11
4318 #define SPI_MCR_DIS_RXF_MASK                     0x1000u
4319 #define SPI_MCR_DIS_RXF_SHIFT                    12
4320 #define SPI_MCR_DIS_TXF_MASK                     0x2000u
4321 #define SPI_MCR_DIS_TXF_SHIFT                    13
4322 #define SPI_MCR_MDIS_MASK                        0x4000u
4323 #define SPI_MCR_MDIS_SHIFT                       14
4324 #define SPI_MCR_DOZE_MASK                        0x8000u
4325 #define SPI_MCR_DOZE_SHIFT                       15
4326 #define SPI_MCR_PCSIS_MASK                       0x3F0000u
4327 #define SPI_MCR_PCSIS_SHIFT                      16
4328 #define SPI_MCR_PCSIS(x)                         (((uint32_t)(((uint32_t)(x))<<SPI_MCR_PCSIS_SHIFT))&SPI_MCR_PCSIS_MASK)
4329 #define SPI_MCR_ROOE_MASK                        0x1000000u
4330 #define SPI_MCR_ROOE_SHIFT                       24
4331 #define SPI_MCR_PCSSE_MASK                       0x2000000u
4332 #define SPI_MCR_PCSSE_SHIFT                      25
4333 #define SPI_MCR_MTFE_MASK                        0x4000000u
4334 #define SPI_MCR_MTFE_SHIFT                       26
4335 #define SPI_MCR_FRZ_MASK                         0x8000000u
4336 #define SPI_MCR_FRZ_SHIFT                        27
4337 #define SPI_MCR_DCONF_MASK                       0x30000000u
4338 #define SPI_MCR_DCONF_SHIFT                      28
4339 #define SPI_MCR_DCONF(x)                         (((uint32_t)(((uint32_t)(x))<<SPI_MCR_DCONF_SHIFT))&SPI_MCR_DCONF_MASK)
4340 #define SPI_MCR_CONT_SCKE_MASK                   0x40000000u
4341 #define SPI_MCR_CONT_SCKE_SHIFT                  30
4342 #define SPI_MCR_MSTR_MASK                        0x80000000u
4343 #define SPI_MCR_MSTR_SHIFT                       31
4344 /* TCR Bit Fields */
4345 #define SPI_TCR_SPI_TCNT_MASK                    0xFFFF0000u
4346 #define SPI_TCR_SPI_TCNT_SHIFT                   16
4347 #define SPI_TCR_SPI_TCNT(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_TCR_SPI_TCNT_SHIFT))&SPI_TCR_SPI_TCNT_MASK)
4348 /* CTAR Bit Fields */
4349 #define SPI_CTAR_BR_MASK                         0xFu
4350 #define SPI_CTAR_BR_SHIFT                        0
4351 #define SPI_CTAR_BR(x)                           (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_BR_SHIFT))&SPI_CTAR_BR_MASK)
4352 #define SPI_CTAR_DT_MASK                         0xF0u
4353 #define SPI_CTAR_DT_SHIFT                        4
4354 #define SPI_CTAR_DT(x)                           (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_DT_SHIFT))&SPI_CTAR_DT_MASK)
4355 #define SPI_CTAR_ASC_MASK                        0xF00u
4356 #define SPI_CTAR_ASC_SHIFT                       8
4357 #define SPI_CTAR_ASC(x)                          (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_ASC_SHIFT))&SPI_CTAR_ASC_MASK)
4358 #define SPI_CTAR_CSSCK_MASK                      0xF000u
4359 #define SPI_CTAR_CSSCK_SHIFT                     12
4360 #define SPI_CTAR_CSSCK(x)                        (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_CSSCK_SHIFT))&SPI_CTAR_CSSCK_MASK)
4361 #define SPI_CTAR_PBR_MASK                        0x30000u
4362 #define SPI_CTAR_PBR_SHIFT                       16
4363 #define SPI_CTAR_PBR(x)                          (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_PBR_SHIFT))&SPI_CTAR_PBR_MASK)
4364 #define SPI_CTAR_PDT_MASK                        0xC0000u
4365 #define SPI_CTAR_PDT_SHIFT                       18
4366 #define SPI_CTAR_PDT(x)                          (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_PDT_SHIFT))&SPI_CTAR_PDT_MASK)
4367 #define SPI_CTAR_PASC_MASK                       0x300000u
4368 #define SPI_CTAR_PASC_SHIFT                      20
4369 #define SPI_CTAR_PASC(x)                         (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_PASC_SHIFT))&SPI_CTAR_PASC_MASK)
4370 #define SPI_CTAR_PCSSCK_MASK                     0xC00000u
4371 #define SPI_CTAR_PCSSCK_SHIFT                    22
4372 #define SPI_CTAR_PCSSCK(x)                       (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_PCSSCK_SHIFT))&SPI_CTAR_PCSSCK_MASK)
4373 #define SPI_CTAR_LSBFE_MASK                      0x1000000u
4374 #define SPI_CTAR_LSBFE_SHIFT                     24
4375 #define SPI_CTAR_CPHA_MASK                       0x2000000u
4376 #define SPI_CTAR_CPHA_SHIFT                      25
4377 #define SPI_CTAR_CPOL_MASK                       0x4000000u
4378 #define SPI_CTAR_CPOL_SHIFT                      26
4379 #define SPI_CTAR_FMSZ_MASK                       0x78000000u
4380 #define SPI_CTAR_FMSZ_SHIFT                      27
4381 #define SPI_CTAR_FMSZ(x)                         (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_FMSZ_SHIFT))&SPI_CTAR_FMSZ_MASK)
4382 #define SPI_CTAR_DBR_MASK                        0x80000000u
4383 #define SPI_CTAR_DBR_SHIFT                       31
4384 /* CTAR_SLAVE Bit Fields */
4385 #define SPI_CTAR_SLAVE_CPHA_MASK                 0x2000000u
4386 #define SPI_CTAR_SLAVE_CPHA_SHIFT                25
4387 #define SPI_CTAR_SLAVE_CPOL_MASK                 0x4000000u
4388 #define SPI_CTAR_SLAVE_CPOL_SHIFT                26
4389 #define SPI_CTAR_SLAVE_FMSZ_MASK                 0xF8000000u
4390 #define SPI_CTAR_SLAVE_FMSZ_SHIFT                27
4391 #define SPI_CTAR_SLAVE_FMSZ(x)                   (((uint32_t)(((uint32_t)(x))<<SPI_CTAR_SLAVE_FMSZ_SHIFT))&SPI_CTAR_SLAVE_FMSZ_MASK)
4392 /* SR Bit Fields */
4393 #define SPI_SR_POPNXTPTR_MASK                    0xFu
4394 #define SPI_SR_POPNXTPTR_SHIFT                   0
4395 #define SPI_SR_POPNXTPTR(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_SR_POPNXTPTR_SHIFT))&SPI_SR_POPNXTPTR_MASK)
4396 #define SPI_SR_RXCTR_MASK                        0xF0u
4397 #define SPI_SR_RXCTR_SHIFT                       4
4398 #define SPI_SR_RXCTR(x)                          (((uint32_t)(((uint32_t)(x))<<SPI_SR_RXCTR_SHIFT))&SPI_SR_RXCTR_MASK)
4399 #define SPI_SR_TXNXTPTR_MASK                     0xF00u
4400 #define SPI_SR_TXNXTPTR_SHIFT                    8
4401 #define SPI_SR_TXNXTPTR(x)                       (((uint32_t)(((uint32_t)(x))<<SPI_SR_TXNXTPTR_SHIFT))&SPI_SR_TXNXTPTR_MASK)
4402 #define SPI_SR_TXCTR_MASK                        0xF000u
4403 #define SPI_SR_TXCTR_SHIFT                       12
4404 #define SPI_SR_TXCTR(x)                          (((uint32_t)(((uint32_t)(x))<<SPI_SR_TXCTR_SHIFT))&SPI_SR_TXCTR_MASK)
4405 #define SPI_SR_RFDF_MASK                         0x20000u
4406 #define SPI_SR_RFDF_SHIFT                        17
4407 #define SPI_SR_RFOF_MASK                         0x80000u
4408 #define SPI_SR_RFOF_SHIFT                        19
4409 #define SPI_SR_TFFF_MASK                         0x2000000u
4410 #define SPI_SR_TFFF_SHIFT                        25
4411 #define SPI_SR_TFUF_MASK                         0x8000000u
4412 #define SPI_SR_TFUF_SHIFT                        27
4413 #define SPI_SR_EOQF_MASK                         0x10000000u
4414 #define SPI_SR_EOQF_SHIFT                        28
4415 #define SPI_SR_TXRXS_MASK                        0x40000000u
4416 #define SPI_SR_TXRXS_SHIFT                       30
4417 #define SPI_SR_TCF_MASK                          0x80000000u
4418 #define SPI_SR_TCF_SHIFT                         31
4419 /* RSER Bit Fields */
4420 #define SPI_RSER_RFDF_DIRS_MASK                  0x10000u
4421 #define SPI_RSER_RFDF_DIRS_SHIFT                 16
4422 #define SPI_RSER_RFDF_RE_MASK                    0x20000u
4423 #define SPI_RSER_RFDF_RE_SHIFT                   17
4424 #define SPI_RSER_RFOF_RE_MASK                    0x80000u
4425 #define SPI_RSER_RFOF_RE_SHIFT                   19
4426 #define SPI_RSER_TFFF_DIRS_MASK                  0x1000000u
4427 #define SPI_RSER_TFFF_DIRS_SHIFT                 24
4428 #define SPI_RSER_TFFF_RE_MASK                    0x2000000u
4429 #define SPI_RSER_TFFF_RE_SHIFT                   25
4430 #define SPI_RSER_TFUF_RE_MASK                    0x8000000u
4431 #define SPI_RSER_TFUF_RE_SHIFT                   27
4432 #define SPI_RSER_EOQF_RE_MASK                    0x10000000u
4433 #define SPI_RSER_EOQF_RE_SHIFT                   28
4434 #define SPI_RSER_TCF_RE_MASK                     0x80000000u
4435 #define SPI_RSER_TCF_RE_SHIFT                    31
4436 /* PUSHR Bit Fields */
4437 #define SPI_PUSHR_TXDATA_MASK                    0xFFFFu
4438 #define SPI_PUSHR_TXDATA_SHIFT                   0
4439 #define SPI_PUSHR_TXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_PUSHR_TXDATA_SHIFT))&SPI_PUSHR_TXDATA_MASK)
4440 #define SPI_PUSHR_PCS_MASK                       0x3F0000u
4441 #define SPI_PUSHR_PCS_SHIFT                      16
4442 #define SPI_PUSHR_PCS(x)                         (((uint32_t)(((uint32_t)(x))<<SPI_PUSHR_PCS_SHIFT))&SPI_PUSHR_PCS_MASK)
4443 #define SPI_PUSHR_CTCNT_MASK                     0x4000000u
4444 #define SPI_PUSHR_CTCNT_SHIFT                    26
4445 #define SPI_PUSHR_EOQ_MASK                       0x8000000u
4446 #define SPI_PUSHR_EOQ_SHIFT                      27
4447 #define SPI_PUSHR_CTAS_MASK                      0x70000000u
4448 #define SPI_PUSHR_CTAS_SHIFT                     28
4449 #define SPI_PUSHR_CTAS(x)                        (((uint32_t)(((uint32_t)(x))<<SPI_PUSHR_CTAS_SHIFT))&SPI_PUSHR_CTAS_MASK)
4450 #define SPI_PUSHR_CONT_MASK                      0x80000000u
4451 #define SPI_PUSHR_CONT_SHIFT                     31
4452 /* PUSHR_SLAVE Bit Fields */
4453 #define SPI_PUSHR_SLAVE_TXDATA_MASK              0xFFFFFFFFu
4454 #define SPI_PUSHR_SLAVE_TXDATA_SHIFT             0
4455 #define SPI_PUSHR_SLAVE_TXDATA(x)                (((uint32_t)(((uint32_t)(x))<<SPI_PUSHR_SLAVE_TXDATA_SHIFT))&SPI_PUSHR_SLAVE_TXDATA_MASK)
4456 /* POPR Bit Fields */
4457 #define SPI_POPR_RXDATA_MASK                     0xFFFFFFFFu
4458 #define SPI_POPR_RXDATA_SHIFT                    0
4459 #define SPI_POPR_RXDATA(x)                       (((uint32_t)(((uint32_t)(x))<<SPI_POPR_RXDATA_SHIFT))&SPI_POPR_RXDATA_MASK)
4460 /* TXFR0 Bit Fields */
4461 #define SPI_TXFR0_TXDATA_MASK                    0xFFFFu
4462 #define SPI_TXFR0_TXDATA_SHIFT                   0
4463 #define SPI_TXFR0_TXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_TXFR0_TXDATA_SHIFT))&SPI_TXFR0_TXDATA_MASK)
4464 #define SPI_TXFR0_TXCMD_TXDATA_MASK              0xFFFF0000u
4465 #define SPI_TXFR0_TXCMD_TXDATA_SHIFT             16
4466 #define SPI_TXFR0_TXCMD_TXDATA(x)                (((uint32_t)(((uint32_t)(x))<<SPI_TXFR0_TXCMD_TXDATA_SHIFT))&SPI_TXFR0_TXCMD_TXDATA_MASK)
4467 /* TXFR1 Bit Fields */
4468 #define SPI_TXFR1_TXDATA_MASK                    0xFFFFu
4469 #define SPI_TXFR1_TXDATA_SHIFT                   0
4470 #define SPI_TXFR1_TXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_TXFR1_TXDATA_SHIFT))&SPI_TXFR1_TXDATA_MASK)
4471 #define SPI_TXFR1_TXCMD_TXDATA_MASK              0xFFFF0000u
4472 #define SPI_TXFR1_TXCMD_TXDATA_SHIFT             16
4473 #define SPI_TXFR1_TXCMD_TXDATA(x)                (((uint32_t)(((uint32_t)(x))<<SPI_TXFR1_TXCMD_TXDATA_SHIFT))&SPI_TXFR1_TXCMD_TXDATA_MASK)
4474 /* TXFR2 Bit Fields */
4475 #define SPI_TXFR2_TXDATA_MASK                    0xFFFFu
4476 #define SPI_TXFR2_TXDATA_SHIFT                   0
4477 #define SPI_TXFR2_TXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_TXFR2_TXDATA_SHIFT))&SPI_TXFR2_TXDATA_MASK)
4478 #define SPI_TXFR2_TXCMD_TXDATA_MASK              0xFFFF0000u
4479 #define SPI_TXFR2_TXCMD_TXDATA_SHIFT             16
4480 #define SPI_TXFR2_TXCMD_TXDATA(x)                (((uint32_t)(((uint32_t)(x))<<SPI_TXFR2_TXCMD_TXDATA_SHIFT))&SPI_TXFR2_TXCMD_TXDATA_MASK)
4481 /* TXFR3 Bit Fields */
4482 #define SPI_TXFR3_TXDATA_MASK                    0xFFFFu
4483 #define SPI_TXFR3_TXDATA_SHIFT                   0
4484 #define SPI_TXFR3_TXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_TXFR3_TXDATA_SHIFT))&SPI_TXFR3_TXDATA_MASK)
4485 #define SPI_TXFR3_TXCMD_TXDATA_MASK              0xFFFF0000u
4486 #define SPI_TXFR3_TXCMD_TXDATA_SHIFT             16
4487 #define SPI_TXFR3_TXCMD_TXDATA(x)                (((uint32_t)(((uint32_t)(x))<<SPI_TXFR3_TXCMD_TXDATA_SHIFT))&SPI_TXFR3_TXCMD_TXDATA_MASK)
4488 /* RXFR0 Bit Fields */
4489 #define SPI_RXFR0_RXDATA_MASK                    0xFFFFFFFFu
4490 #define SPI_RXFR0_RXDATA_SHIFT                   0
4491 #define SPI_RXFR0_RXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_RXFR0_RXDATA_SHIFT))&SPI_RXFR0_RXDATA_MASK)
4492 /* RXFR1 Bit Fields */
4493 #define SPI_RXFR1_RXDATA_MASK                    0xFFFFFFFFu
4494 #define SPI_RXFR1_RXDATA_SHIFT                   0
4495 #define SPI_RXFR1_RXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_RXFR1_RXDATA_SHIFT))&SPI_RXFR1_RXDATA_MASK)
4496 /* RXFR2 Bit Fields */
4497 #define SPI_RXFR2_RXDATA_MASK                    0xFFFFFFFFu
4498 #define SPI_RXFR2_RXDATA_SHIFT                   0
4499 #define SPI_RXFR2_RXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_RXFR2_RXDATA_SHIFT))&SPI_RXFR2_RXDATA_MASK)
4500 /* RXFR3 Bit Fields */
4501 #define SPI_RXFR3_RXDATA_MASK                    0xFFFFFFFFu
4502 #define SPI_RXFR3_RXDATA_SHIFT                   0
4503 #define SPI_RXFR3_RXDATA(x)                      (((uint32_t)(((uint32_t)(x))<<SPI_RXFR3_RXDATA_SHIFT))&SPI_RXFR3_RXDATA_MASK)
4504
4505 /**
4506  * @}
4507  */ /* end of group SPI_Register_Masks */
4508
4509
4510 /* SPI - Peripheral instance base addresses */
4511 /** Peripheral SPI0 base address */
4512 #define SPI0_BASE                                (0x4002C000u)
4513 /** Peripheral SPI0 base pointer */
4514 #define SPI0                                     ((SPI_Type *)SPI0_BASE)
4515
4516 /**
4517  * @}
4518  */ /* end of group SPI_Peripheral_Access_Layer */
4519
4520
4521 /* ----------------------------------------------------------------------------
4522    -- TSI Peripheral Access Layer
4523    ---------------------------------------------------------------------------- */
4524
4525 /**
4526  * @addtogroup TSI_Peripheral_Access_Layer TSI Peripheral Access Layer
4527  * @{
4528  */
4529
4530 /** TSI - Register Layout Typedef */
4531 typedef struct {
4532   __IO uint32_t GENCS;                             /**< General Control and Status Register, offset: 0x0 */
4533   __IO uint32_t SCANC;                             /**< SCAN Control Register, offset: 0x4 */
4534   __IO uint32_t PEN;                               /**< Pin Enable Register, offset: 0x8 */
4535   __I  uint32_t WUCNTR;                            /**< Wake-Up Channel Counter Register, offset: 0xC */
4536        uint8_t RESERVED_0[240];
4537   __I  uint32_t CNTR1;                             /**< Counter Register, offset: 0x100 */
4538   __I  uint32_t CNTR3;                             /**< Counter Register, offset: 0x104 */
4539   __I  uint32_t CNTR5;                             /**< Counter Register, offset: 0x108 */
4540   __I  uint32_t CNTR7;                             /**< Counter Register, offset: 0x10C */
4541   __I  uint32_t CNTR9;                             /**< Counter Register, offset: 0x110 */
4542   __I  uint32_t CNTR11;                            /**< Counter Register, offset: 0x114 */
4543   __I  uint32_t CNTR13;                            /**< Counter Register, offset: 0x118 */
4544   __I  uint32_t CNTR15;                            /**< Counter Register, offset: 0x11C */
4545   __IO uint32_t THRESHOLD;                         /**< Low Power Channel Threshold Register, offset: 0x120 */
4546 } TSI_Type;
4547
4548 /* ----------------------------------------------------------------------------
4549    -- TSI Register Masks
4550    ---------------------------------------------------------------------------- */
4551
4552 /**
4553  * @addtogroup TSI_Register_Masks TSI Register Masks
4554  * @{
4555  */
4556
4557 /* GENCS Bit Fields */
4558 #define TSI_GENCS_STPE_MASK                      0x1u
4559 #define TSI_GENCS_STPE_SHIFT                     0
4560 #define TSI_GENCS_STM_MASK                       0x2u
4561 #define TSI_GENCS_STM_SHIFT                      1
4562 #define TSI_GENCS_ESOR_MASK                      0x10u
4563 #define TSI_GENCS_ESOR_SHIFT                     4
4564 #define TSI_GENCS_ERIE_MASK                      0x20u
4565 #define TSI_GENCS_ERIE_SHIFT                     5
4566 #define TSI_GENCS_TSIIE_MASK                     0x40u
4567 #define TSI_GENCS_TSIIE_SHIFT                    6
4568 #define TSI_GENCS_TSIEN_MASK                     0x80u
4569 #define TSI_GENCS_TSIEN_SHIFT                    7
4570 #define TSI_GENCS_SWTS_MASK                      0x100u
4571 #define TSI_GENCS_SWTS_SHIFT                     8
4572 #define TSI_GENCS_SCNIP_MASK                     0x200u
4573 #define TSI_GENCS_SCNIP_SHIFT                    9
4574 #define TSI_GENCS_OVRF_MASK                      0x1000u
4575 #define TSI_GENCS_OVRF_SHIFT                     12
4576 #define TSI_GENCS_EXTERF_MASK                    0x2000u
4577 #define TSI_GENCS_EXTERF_SHIFT                   13
4578 #define TSI_GENCS_OUTRGF_MASK                    0x4000u
4579 #define TSI_GENCS_OUTRGF_SHIFT                   14
4580 #define TSI_GENCS_EOSF_MASK                      0x8000u
4581 #define TSI_GENCS_EOSF_SHIFT                     15
4582 #define TSI_GENCS_PS_MASK                        0x70000u
4583 #define TSI_GENCS_PS_SHIFT                       16
4584 #define TSI_GENCS_PS(x)                          (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_PS_SHIFT))&TSI_GENCS_PS_MASK)
4585 #define TSI_GENCS_NSCN_MASK                      0xF80000u
4586 #define TSI_GENCS_NSCN_SHIFT                     19
4587 #define TSI_GENCS_NSCN(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_NSCN_SHIFT))&TSI_GENCS_NSCN_MASK)
4588 #define TSI_GENCS_LPSCNITV_MASK                  0xF000000u
4589 #define TSI_GENCS_LPSCNITV_SHIFT                 24
4590 #define TSI_GENCS_LPSCNITV(x)                    (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_LPSCNITV_SHIFT))&TSI_GENCS_LPSCNITV_MASK)
4591 #define TSI_GENCS_LPCLKS_MASK                    0x10000000u
4592 #define TSI_GENCS_LPCLKS_SHIFT                   28
4593 /* SCANC Bit Fields */
4594 #define TSI_SCANC_AMPSC_MASK                     0x7u
4595 #define TSI_SCANC_AMPSC_SHIFT                    0
4596 #define TSI_SCANC_AMPSC(x)                       (((uint32_t)(((uint32_t)(x))<<TSI_SCANC_AMPSC_SHIFT))&TSI_SCANC_AMPSC_MASK)
4597 #define TSI_SCANC_AMCLKS_MASK                    0x18u
4598 #define TSI_SCANC_AMCLKS_SHIFT                   3
4599 #define TSI_SCANC_AMCLKS(x)                      (((uint32_t)(((uint32_t)(x))<<TSI_SCANC_AMCLKS_SHIFT))&TSI_SCANC_AMCLKS_MASK)
4600 #define TSI_SCANC_SMOD_MASK                      0xFF00u
4601 #define TSI_SCANC_SMOD_SHIFT                     8
4602 #define TSI_SCANC_SMOD(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_SCANC_SMOD_SHIFT))&TSI_SCANC_SMOD_MASK)
4603 #define TSI_SCANC_EXTCHRG_MASK                   0xF0000u
4604 #define TSI_SCANC_EXTCHRG_SHIFT                  16
4605 #define TSI_SCANC_EXTCHRG(x)                     (((uint32_t)(((uint32_t)(x))<<TSI_SCANC_EXTCHRG_SHIFT))&TSI_SCANC_EXTCHRG_MASK)
4606 #define TSI_SCANC_REFCHRG_MASK                   0xF000000u
4607 #define TSI_SCANC_REFCHRG_SHIFT                  24
4608 #define TSI_SCANC_REFCHRG(x)                     (((uint32_t)(((uint32_t)(x))<<TSI_SCANC_REFCHRG_SHIFT))&TSI_SCANC_REFCHRG_MASK)
4609 /* PEN Bit Fields */
4610 #define TSI_PEN_PEN0_MASK                        0x1u
4611 #define TSI_PEN_PEN0_SHIFT                       0
4612 #define TSI_PEN_PEN1_MASK                        0x2u
4613 #define TSI_PEN_PEN1_SHIFT                       1
4614 #define TSI_PEN_PEN2_MASK                        0x4u
4615 #define TSI_PEN_PEN2_SHIFT                       2
4616 #define TSI_PEN_PEN3_MASK                        0x8u
4617 #define TSI_PEN_PEN3_SHIFT                       3
4618 #define TSI_PEN_PEN4_MASK                        0x10u
4619 #define TSI_PEN_PEN4_SHIFT                       4
4620 #define TSI_PEN_PEN5_MASK                        0x20u
4621 #define TSI_PEN_PEN5_SHIFT                       5
4622 #define TSI_PEN_PEN6_MASK                        0x40u
4623 #define TSI_PEN_PEN6_SHIFT                       6
4624 #define TSI_PEN_PEN7_MASK                        0x80u
4625 #define TSI_PEN_PEN7_SHIFT                       7
4626 #define TSI_PEN_PEN8_MASK                        0x100u
4627 #define TSI_PEN_PEN8_SHIFT                       8
4628 #define TSI_PEN_PEN9_MASK                        0x200u
4629 #define TSI_PEN_PEN9_SHIFT                       9
4630 #define TSI_PEN_PEN10_MASK                       0x400u
4631 #define TSI_PEN_PEN10_SHIFT                      10
4632 #define TSI_PEN_PEN11_MASK                       0x800u
4633 #define TSI_PEN_PEN11_SHIFT                      11
4634 #define TSI_PEN_PEN12_MASK                       0x1000u
4635 #define TSI_PEN_PEN12_SHIFT                      12
4636 #define TSI_PEN_PEN13_MASK                       0x2000u
4637 #define TSI_PEN_PEN13_SHIFT                      13
4638 #define TSI_PEN_PEN14_MASK                       0x4000u
4639 #define TSI_PEN_PEN14_SHIFT                      14
4640 #define TSI_PEN_PEN15_MASK                       0x8000u
4641 #define TSI_PEN_PEN15_SHIFT                      15
4642 #define TSI_PEN_LPSP_MASK                        0xF0000u
4643 #define TSI_PEN_LPSP_SHIFT                       16
4644 #define TSI_PEN_LPSP(x)                          (((uint32_t)(((uint32_t)(x))<<TSI_PEN_LPSP_SHIFT))&TSI_PEN_LPSP_MASK)
4645 /* WUCNTR Bit Fields */
4646 #define TSI_WUCNTR_WUCNT_MASK                    0xFFFFu
4647 #define TSI_WUCNTR_WUCNT_SHIFT                   0
4648 #define TSI_WUCNTR_WUCNT(x)                      (((uint32_t)(((uint32_t)(x))<<TSI_WUCNTR_WUCNT_SHIFT))&TSI_WUCNTR_WUCNT_MASK)
4649 /* CNTR1 Bit Fields */
4650 #define TSI_CNTR1_CTN1_MASK                      0xFFFFu
4651 #define TSI_CNTR1_CTN1_SHIFT                     0
4652 #define TSI_CNTR1_CTN1(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_CNTR1_CTN1_SHIFT))&TSI_CNTR1_CTN1_MASK)
4653 #define TSI_CNTR1_CTN_MASK                       0xFFFF0000u
4654 #define TSI_CNTR1_CTN_SHIFT                      16
4655 #define TSI_CNTR1_CTN(x)                         (((uint32_t)(((uint32_t)(x))<<TSI_CNTR1_CTN_SHIFT))&TSI_CNTR1_CTN_MASK)
4656 /* CNTR3 Bit Fields */
4657 #define TSI_CNTR3_CTN1_MASK                      0xFFFFu
4658 #define TSI_CNTR3_CTN1_SHIFT                     0
4659 #define TSI_CNTR3_CTN1(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_CNTR3_CTN1_SHIFT))&TSI_CNTR3_CTN1_MASK)
4660 #define TSI_CNTR3_CTN_MASK                       0xFFFF0000u
4661 #define TSI_CNTR3_CTN_SHIFT                      16
4662 #define TSI_CNTR3_CTN(x)                         (((uint32_t)(((uint32_t)(x))<<TSI_CNTR3_CTN_SHIFT))&TSI_CNTR3_CTN_MASK)
4663 /* CNTR5 Bit Fields */
4664 #define TSI_CNTR5_CTN1_MASK                      0xFFFFu
4665 #define TSI_CNTR5_CTN1_SHIFT                     0
4666 #define TSI_CNTR5_CTN1(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_CNTR5_CTN1_SHIFT))&TSI_CNTR5_CTN1_MASK)
4667 #define TSI_CNTR5_CTN_MASK                       0xFFFF0000u
4668 #define TSI_CNTR5_CTN_SHIFT                      16
4669 #define TSI_CNTR5_CTN(x)                         (((uint32_t)(((uint32_t)(x))<<TSI_CNTR5_CTN_SHIFT))&TSI_CNTR5_CTN_MASK)
4670 /* CNTR7 Bit Fields */
4671 #define TSI_CNTR7_CTN1_MASK                      0xFFFFu
4672 #define TSI_CNTR7_CTN1_SHIFT                     0
4673 #define TSI_CNTR7_CTN1(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_CNTR7_CTN1_SHIFT))&TSI_CNTR7_CTN1_MASK)
4674 #define TSI_CNTR7_CTN_MASK                       0xFFFF0000u
4675 #define TSI_CNTR7_CTN_SHIFT                      16
4676 #define TSI_CNTR7_CTN(x)                         (((uint32_t)(((uint32_t)(x))<<TSI_CNTR7_CTN_SHIFT))&TSI_CNTR7_CTN_MASK)
4677 /* CNTR9 Bit Fields */
4678 #define TSI_CNTR9_CTN1_MASK                      0xFFFFu
4679 #define TSI_CNTR9_CTN1_SHIFT                     0
4680 #define TSI_CNTR9_CTN1(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_CNTR9_CTN1_SHIFT))&TSI_CNTR9_CTN1_MASK)
4681 #define TSI_CNTR9_CTN_MASK                       0xFFFF0000u
4682 #define TSI_CNTR9_CTN_SHIFT                      16
4683 #define TSI_CNTR9_CTN(x)                         (((uint32_t)(((uint32_t)(x))<<TSI_CNTR9_CTN_SHIFT))&TSI_CNTR9_CTN_MASK)
4684 /* CNTR11 Bit Fields */
4685 #define TSI_CNTR11_CTN1_MASK                     0xFFFFu
4686 #define TSI_CNTR11_CTN1_SHIFT                    0
4687 #define TSI_CNTR11_CTN1(x)                       (((uint32_t)(((uint32_t)(x))<<TSI_CNTR11_CTN1_SHIFT))&TSI_CNTR11_CTN1_MASK)
4688 #define TSI_CNTR11_CTN_MASK                      0xFFFF0000u
4689 #define TSI_CNTR11_CTN_SHIFT                     16
4690 #define TSI_CNTR11_CTN(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_CNTR11_CTN_SHIFT))&TSI_CNTR11_CTN_MASK)
4691 /* CNTR13 Bit Fields */
4692 #define TSI_CNTR13_CTN1_MASK                     0xFFFFu
4693 #define TSI_CNTR13_CTN1_SHIFT                    0
4694 #define TSI_CNTR13_CTN1(x)                       (((uint32_t)(((uint32_t)(x))<<TSI_CNTR13_CTN1_SHIFT))&TSI_CNTR13_CTN1_MASK)
4695 #define TSI_CNTR13_CTN_MASK                      0xFFFF0000u
4696 #define TSI_CNTR13_CTN_SHIFT                     16
4697 #define TSI_CNTR13_CTN(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_CNTR13_CTN_SHIFT))&TSI_CNTR13_CTN_MASK)
4698 /* CNTR15 Bit Fields */
4699 #define TSI_CNTR15_CTN1_MASK                     0xFFFFu
4700 #define TSI_CNTR15_CTN1_SHIFT                    0
4701 #define TSI_CNTR15_CTN1(x)                       (((uint32_t)(((uint32_t)(x))<<TSI_CNTR15_CTN1_SHIFT))&TSI_CNTR15_CTN1_MASK)
4702 #define TSI_CNTR15_CTN_MASK                      0xFFFF0000u
4703 #define TSI_CNTR15_CTN_SHIFT                     16
4704 #define TSI_CNTR15_CTN(x)                        (((uint32_t)(((uint32_t)(x))<<TSI_CNTR15_CTN_SHIFT))&TSI_CNTR15_CTN_MASK)
4705 /* THRESHOLD Bit Fields */
4706 #define TSI_THRESHOLD_HTHH_MASK                  0xFFFFu
4707 #define TSI_THRESHOLD_HTHH_SHIFT                 0
4708 #define TSI_THRESHOLD_HTHH(x)                    (((uint32_t)(((uint32_t)(x))<<TSI_THRESHOLD_HTHH_SHIFT))&TSI_THRESHOLD_HTHH_MASK)
4709 #define TSI_THRESHOLD_LTHH_MASK                  0xFFFF0000u
4710 #define TSI_THRESHOLD_LTHH_SHIFT                 16
4711 #define TSI_THRESHOLD_LTHH(x)                    (((uint32_t)(((uint32_t)(x))<<TSI_THRESHOLD_LTHH_SHIFT))&TSI_THRESHOLD_LTHH_MASK)
4712
4713 /**
4714  * @}
4715  */ /* end of group TSI_Register_Masks */
4716
4717
4718 /* TSI - Peripheral instance base addresses */
4719 /** Peripheral TSI0 base address */
4720 #define TSI0_BASE                                (0x40045000u)
4721 /** Peripheral TSI0 base pointer */
4722 #define TSI0                                     ((TSI_Type *)TSI0_BASE)
4723
4724 /**
4725  * @}
4726  */ /* end of group TSI_Peripheral_Access_Layer */
4727
4728
4729 /* ----------------------------------------------------------------------------
4730    -- UART Peripheral Access Layer
4731    ---------------------------------------------------------------------------- */
4732
4733 /**
4734  * @addtogroup UART_Peripheral_Access_Layer UART Peripheral Access Layer
4735  * @{
4736  */
4737
4738 /** UART - Register Layout Typedef */
4739 typedef struct {
4740   __IO uint8_t BDH;                                /**< UART Baud Rate Registers:High, offset: 0x0 */
4741   __IO uint8_t BDL;                                /**< UART Baud Rate Registers: Low, offset: 0x1 */
4742   __IO uint8_t C1;                                 /**< UART Control Register 1, offset: 0x2 */
4743   __IO uint8_t C2;                                 /**< UART Control Register 2, offset: 0x3 */
4744   __I  uint8_t S1;                                 /**< UART Status Register 1, offset: 0x4 */
4745   __IO uint8_t S2;                                 /**< UART Status Register 2, offset: 0x5 */
4746   __IO uint8_t C3;                                 /**< UART Control Register 3, offset: 0x6 */
4747   __IO uint8_t D;                                  /**< UART Data Register, offset: 0x7 */
4748   __IO uint8_t MA1;                                /**< UART Match Address Registers 1, offset: 0x8 */
4749   __IO uint8_t MA2;                                /**< UART Match Address Registers 2, offset: 0x9 */
4750   __IO uint8_t C4;                                 /**< UART Control Register 4, offset: 0xA */
4751   __IO uint8_t C5;                                 /**< UART Control Register 5, offset: 0xB */
4752   __I  uint8_t ED;                                 /**< UART Extended Data Register, offset: 0xC */
4753   __IO uint8_t MODEM;                              /**< UART Modem Register, offset: 0xD */
4754   __IO uint8_t IR;                                 /**< UART Infrared Register, offset: 0xE */
4755        uint8_t RESERVED_0[1];
4756   __IO uint8_t PFIFO;                              /**< UART FIFO Parameters, offset: 0x10 */
4757   __IO uint8_t CFIFO;                              /**< UART FIFO Control Register, offset: 0x11 */
4758   __IO uint8_t SFIFO;                              /**< UART FIFO Status Register, offset: 0x12 */
4759   __IO uint8_t TWFIFO;                             /**< UART FIFO Transmit Watermark, offset: 0x13 */
4760   __I  uint8_t TCFIFO;                             /**< UART FIFO Transmit Count, offset: 0x14 */
4761   __IO uint8_t RWFIFO;                             /**< UART FIFO Receive Watermark, offset: 0x15 */
4762   __I  uint8_t RCFIFO;                             /**< UART FIFO Receive Count, offset: 0x16 */
4763        uint8_t RESERVED_1[1];
4764   __IO uint8_t C7816;                              /**< UART 7816 Control Register, offset: 0x18 */
4765   __IO uint8_t IE7816;                             /**< UART 7816 Interrupt Enable Register, offset: 0x19 */
4766   __IO uint8_t IS7816;                             /**< UART 7816 Interrupt Status Register, offset: 0x1A */
4767   union {                                          /* offset: 0x1B */
4768     __IO uint8_t WP7816_T_TYPE0;                     /**< UART 7816 Wait Parameter Register, offset: 0x1B */
4769     __IO uint8_t WP7816_T_TYPE1;                     /**< UART 7816 Wait Parameter Register, offset: 0x1B */
4770   };
4771   __IO uint8_t WN7816;                             /**< UART 7816 Wait N Register, offset: 0x1C */
4772   __IO uint8_t WF7816;                             /**< UART 7816 Wait FD Register, offset: 0x1D */
4773   __IO uint8_t ET7816;                             /**< UART 7816 Error Threshold Register, offset: 0x1E */
4774   __IO uint8_t TL7816;                             /**< UART 7816 Transmit Length Register, offset: 0x1F */
4775        uint8_t RESERVED_2[1];
4776   __IO uint8_t C6;                                 /**< UART CEA709.1-B Control Register 6, offset: 0x21 */
4777   __IO uint8_t PCTH;                               /**< UART CEA709.1-B Packet Cycle Time Counter High, offset: 0x22 */
4778   __IO uint8_t PCTL;                               /**< UART CEA709.1-B Packet Cycle Time Counter Low, offset: 0x23 */
4779   __IO uint8_t B1T;                                /**< UART CEA709.1-B Beta1 Timer, offset: 0x24 */
4780   __IO uint8_t SDTH;                               /**< UART CEA709.1-B Secondary Delay Timer High, offset: 0x25 */
4781   __IO uint8_t SDTL;                               /**< UART CEA709.1-B Secondary Delay Timer Low, offset: 0x26 */
4782   __IO uint8_t PRE;                                /**< UART CEA709.1-B Preamble, offset: 0x27 */
4783   __IO uint8_t TPL;                                /**< UART CEA709.1-B Transmit Packet Length, offset: 0x28 */
4784   __IO uint8_t IE;                                 /**< UART CEA709.1-B Interrupt Enable Register, offset: 0x29 */
4785   __IO uint8_t WB;                                 /**< UART CEA709.1-B WBASE, offset: 0x2A */
4786   __IO uint8_t S3;                                 /**< UART CEA709.1-B Status Register, offset: 0x2B */
4787   __IO uint8_t S4;                                 /**< UART CEA709.1-B Status Register, offset: 0x2C */
4788   __I  uint8_t RPL;                                /**< UART CEA709.1-B Received Packet Length, offset: 0x2D */
4789   __I  uint8_t RPREL;                              /**< UART CEA709.1-B Received Preamble Length, offset: 0x2E */
4790   __IO uint8_t CPW;                                /**< UART CEA709.1-B Collision Pulse Width, offset: 0x2F */
4791   __IO uint8_t RIDT;                               /**< UART CEA709.1-B Receive Indeterminate Time, offset: 0x30 */
4792   __IO uint8_t TIDT;                               /**< UART CEA709.1-B Transmit Indeterminate Time, offset: 0x31 */
4793 } UART_Type;
4794
4795 /* ----------------------------------------------------------------------------
4796    -- UART Register Masks
4797    ---------------------------------------------------------------------------- */
4798
4799 /**
4800  * @addtogroup UART_Register_Masks UART Register Masks
4801  * @{
4802  */
4803
4804 /* BDH Bit Fields */
4805 #define UART_BDH_SBR_MASK                        0x1Fu
4806 #define UART_BDH_SBR_SHIFT                       0
4807 #define UART_BDH_SBR(x)                          (((uint8_t)(((uint8_t)(x))<<UART_BDH_SBR_SHIFT))&UART_BDH_SBR_MASK)
4808 #define UART_BDH_RXEDGIE_MASK                    0x40u
4809 #define UART_BDH_RXEDGIE_SHIFT                   6
4810 #define UART_BDH_LBKDIE_MASK                     0x80u
4811 #define UART_BDH_LBKDIE_SHIFT                    7
4812 /* BDL Bit Fields */
4813 #define UART_BDL_SBR_MASK                        0xFFu
4814 #define UART_BDL_SBR_SHIFT                       0
4815 #define UART_BDL_SBR(x)                          (((uint8_t)(((uint8_t)(x))<<UART_BDL_SBR_SHIFT))&UART_BDL_SBR_MASK)
4816 /* C1 Bit Fields */
4817 #define UART_C1_PT_MASK                          0x1u
4818 #define UART_C1_PT_SHIFT                         0
4819 #define UART_C1_PE_MASK                          0x2u
4820 #define UART_C1_PE_SHIFT                         1
4821 #define UART_C1_ILT_MASK                         0x4u
4822 #define UART_C1_ILT_SHIFT                        2
4823 #define UART_C1_WAKE_MASK                        0x8u
4824 #define UART_C1_WAKE_SHIFT                       3
4825 #define UART_C1_M_MASK                           0x10u
4826 #define UART_C1_M_SHIFT                          4
4827 #define UART_C1_RSRC_MASK                        0x20u
4828 #define UART_C1_RSRC_SHIFT                       5
4829 #define UART_C1_UARTSWAI_MASK                    0x40u
4830 #define UART_C1_UARTSWAI_SHIFT                   6
4831 #define UART_C1_LOOPS_MASK                       0x80u
4832 #define UART_C1_LOOPS_SHIFT                      7
4833 /* C2 Bit Fields */
4834 #define UART_C2_SBK_MASK                         0x1u
4835 #define UART_C2_SBK_SHIFT                        0
4836 #define UART_C2_RWU_MASK                         0x2u
4837 #define UART_C2_RWU_SHIFT                        1
4838 #define UART_C2_RE_MASK                          0x4u
4839 #define UART_C2_RE_SHIFT                         2
4840 #define UART_C2_TE_MASK                          0x8u
4841 #define UART_C2_TE_SHIFT                         3
4842 #define UART_C2_ILIE_MASK                        0x10u
4843 #define UART_C2_ILIE_SHIFT                       4
4844 #define UART_C2_RIE_MASK                         0x20u
4845 #define UART_C2_RIE_SHIFT                        5
4846 #define UART_C2_TCIE_MASK                        0x40u
4847 #define UART_C2_TCIE_SHIFT                       6
4848 #define UART_C2_TIE_MASK                         0x80u
4849 #define UART_C2_TIE_SHIFT                        7
4850 /* S1 Bit Fields */
4851 #define UART_S1_PF_MASK                          0x1u
4852 #define UART_S1_PF_SHIFT                         0
4853 #define UART_S1_FE_MASK                          0x2u
4854 #define UART_S1_FE_SHIFT                         1
4855 #define UART_S1_NF_MASK                          0x4u
4856 #define UART_S1_NF_SHIFT                         2
4857 #define UART_S1_OR_MASK                          0x8u
4858 #define UART_S1_OR_SHIFT                         3
4859 #define UART_S1_IDLE_MASK                        0x10u
4860 #define UART_S1_IDLE_SHIFT                       4
4861 #define UART_S1_RDRF_MASK                        0x20u
4862 #define UART_S1_RDRF_SHIFT                       5
4863 #define UART_S1_TC_MASK                          0x40u
4864 #define UART_S1_TC_SHIFT                         6
4865 #define UART_S1_TDRE_MASK                        0x80u
4866 #define UART_S1_TDRE_SHIFT                       7
4867 /* S2 Bit Fields */
4868 #define UART_S2_RAF_MASK                         0x1u
4869 #define UART_S2_RAF_SHIFT                        0
4870 #define UART_S2_LBKDE_MASK                       0x2u
4871 #define UART_S2_LBKDE_SHIFT                      1
4872 #define UART_S2_BRK13_MASK                       0x4u
4873 #define UART_S2_BRK13_SHIFT                      2
4874 #define UART_S2_RWUID_MASK                       0x8u
4875 #define UART_S2_RWUID_SHIFT                      3
4876 #define UART_S2_RXINV_MASK                       0x10u
4877 #define UART_S2_RXINV_SHIFT                      4
4878 #define UART_S2_MSBF_MASK                        0x20u
4879 #define UART_S2_MSBF_SHIFT                       5
4880 #define UART_S2_RXEDGIF_MASK                     0x40u
4881 #define UART_S2_RXEDGIF_SHIFT                    6
4882 #define UART_S2_LBKDIF_MASK                      0x80u
4883 #define UART_S2_LBKDIF_SHIFT                     7
4884 /* C3 Bit Fields */
4885 #define UART_C3_PEIE_MASK                        0x1u
4886 #define UART_C3_PEIE_SHIFT                       0
4887 #define UART_C3_FEIE_MASK                        0x2u
4888 #define UART_C3_FEIE_SHIFT                       1
4889 #define UART_C3_NEIE_MASK                        0x4u
4890 #define UART_C3_NEIE_SHIFT                       2
4891 #define UART_C3_ORIE_MASK                        0x8u
4892 #define UART_C3_ORIE_SHIFT                       3
4893 #define UART_C3_TXINV_MASK                       0x10u
4894 #define UART_C3_TXINV_SHIFT                      4
4895 #define UART_C3_TXDIR_MASK                       0x20u
4896 #define UART_C3_TXDIR_SHIFT                      5
4897 #define UART_C3_T8_MASK                          0x40u
4898 #define UART_C3_T8_SHIFT                         6
4899 #define UART_C3_R8_MASK                          0x80u
4900 #define UART_C3_R8_SHIFT                         7
4901 /* D Bit Fields */
4902 #define UART_D_RT_MASK                           0xFFu
4903 #define UART_D_RT_SHIFT                          0
4904 #define UART_D_RT(x)                             (((uint8_t)(((uint8_t)(x))<<UART_D_RT_SHIFT))&UART_D_RT_MASK)
4905 /* MA1 Bit Fields */
4906 #define UART_MA1_MA_MASK                         0xFFu
4907 #define UART_MA1_MA_SHIFT                        0
4908 #define UART_MA1_MA(x)                           (((uint8_t)(((uint8_t)(x))<<UART_MA1_MA_SHIFT))&UART_MA1_MA_MASK)
4909 /* MA2 Bit Fields */
4910 #define UART_MA2_MA_MASK                         0xFFu
4911 #define UART_MA2_MA_SHIFT                        0
4912 #define UART_MA2_MA(x)                           (((uint8_t)(((uint8_t)(x))<<UART_MA2_MA_SHIFT))&UART_MA2_MA_MASK)
4913 /* C4 Bit Fields */
4914 #define UART_C4_BRFA_MASK                        0x1Fu
4915 #define UART_C4_BRFA_SHIFT                       0
4916 #define UART_C4_BRFA(x)                          (((uint8_t)(((uint8_t)(x))<<UART_C4_BRFA_SHIFT))&UART_C4_BRFA_MASK)
4917 #define UART_C4_M10_MASK                         0x20u
4918 #define UART_C4_M10_SHIFT                        5
4919 #define UART_C4_MAEN2_MASK                       0x40u
4920 #define UART_C4_MAEN2_SHIFT                      6
4921 #define UART_C4_MAEN1_MASK                       0x80u
4922 #define UART_C4_MAEN1_SHIFT                      7
4923 /* C5 Bit Fields */
4924 #define UART_C5_RDMAS_MASK                       0x20u
4925 #define UART_C5_RDMAS_SHIFT                      5
4926 #define UART_C5_TDMAS_MASK                       0x80u
4927 #define UART_C5_TDMAS_SHIFT                      7
4928 /* ED Bit Fields */
4929 #define UART_ED_PARITYE_MASK                     0x40u
4930 #define UART_ED_PARITYE_SHIFT                    6
4931 #define UART_ED_NOISY_MASK                       0x80u
4932 #define UART_ED_NOISY_SHIFT                      7
4933 /* MODEM Bit Fields */
4934 #define UART_MODEM_TXCTSE_MASK                   0x1u
4935 #define UART_MODEM_TXCTSE_SHIFT                  0
4936 #define UART_MODEM_TXRTSE_MASK                   0x2u
4937 #define UART_MODEM_TXRTSE_SHIFT                  1
4938 #define UART_MODEM_TXRTSPOL_MASK                 0x4u
4939 #define UART_MODEM_TXRTSPOL_SHIFT                2
4940 #define UART_MODEM_RXRTSE_MASK                   0x8u
4941 #define UART_MODEM_RXRTSE_SHIFT                  3
4942 /* IR Bit Fields */
4943 #define UART_IR_TNP_MASK                         0x3u
4944 #define UART_IR_TNP_SHIFT                        0
4945 #define UART_IR_TNP(x)                           (((uint8_t)(((uint8_t)(x))<<UART_IR_TNP_SHIFT))&UART_IR_TNP_MASK)
4946 #define UART_IR_IREN_MASK                        0x4u
4947 #define UART_IR_IREN_SHIFT                       2
4948 /* PFIFO Bit Fields */
4949 #define UART_PFIFO_RXFIFOSIZE_MASK               0x7u
4950 #define UART_PFIFO_RXFIFOSIZE_SHIFT              0
4951 #define UART_PFIFO_RXFIFOSIZE(x)                 (((uint8_t)(((uint8_t)(x))<<UART_PFIFO_RXFIFOSIZE_SHIFT))&UART_PFIFO_RXFIFOSIZE_MASK)
4952 #define UART_PFIFO_RXFE_MASK                     0x8u
4953 #define UART_PFIFO_RXFE_SHIFT                    3
4954 #define UART_PFIFO_TXFIFOSIZE_MASK               0x70u
4955 #define UART_PFIFO_TXFIFOSIZE_SHIFT              4
4956 #define UART_PFIFO_TXFIFOSIZE(x)                 (((uint8_t)(((uint8_t)(x))<<UART_PFIFO_TXFIFOSIZE_SHIFT))&UART_PFIFO_TXFIFOSIZE_MASK)
4957 #define UART_PFIFO_TXFE_MASK                     0x80u
4958 #define UART_PFIFO_TXFE_SHIFT                    7
4959 /* CFIFO Bit Fields */
4960 #define UART_CFIFO_RXUFE_MASK                    0x1u
4961 #define UART_CFIFO_RXUFE_SHIFT                   0
4962 #define UART_CFIFO_TXOFE_MASK                    0x2u
4963 #define UART_CFIFO_TXOFE_SHIFT                   1
4964 #define UART_CFIFO_RXFLUSH_MASK                  0x40u
4965 #define UART_CFIFO_RXFLUSH_SHIFT                 6
4966 #define UART_CFIFO_TXFLUSH_MASK                  0x80u
4967 #define UART_CFIFO_TXFLUSH_SHIFT                 7
4968 /* SFIFO Bit Fields */
4969 #define UART_SFIFO_RXUF_MASK                     0x1u
4970 #define UART_SFIFO_RXUF_SHIFT                    0
4971 #define UART_SFIFO_TXOF_MASK                     0x2u
4972 #define UART_SFIFO_TXOF_SHIFT                    1
4973 #define UART_SFIFO_RXEMPT_MASK                   0x40u
4974 #define UART_SFIFO_RXEMPT_SHIFT                  6
4975 #define UART_SFIFO_TXEMPT_MASK                   0x80u
4976 #define UART_SFIFO_TXEMPT_SHIFT                  7
4977 /* TWFIFO Bit Fields */
4978 #define UART_TWFIFO_TXWATER_MASK                 0xFFu
4979 #define UART_TWFIFO_TXWATER_SHIFT                0
4980 #define UART_TWFIFO_TXWATER(x)                   (((uint8_t)(((uint8_t)(x))<<UART_TWFIFO_TXWATER_SHIFT))&UART_TWFIFO_TXWATER_MASK)
4981 /* TCFIFO Bit Fields */
4982 #define UART_TCFIFO_TXCOUNT_MASK                 0xFFu
4983 #define UART_TCFIFO_TXCOUNT_SHIFT                0
4984 #define UART_TCFIFO_TXCOUNT(x)                   (((uint8_t)(((uint8_t)(x))<<UART_TCFIFO_TXCOUNT_SHIFT))&UART_TCFIFO_TXCOUNT_MASK)
4985 /* RWFIFO Bit Fields */
4986 #define UART_RWFIFO_RXWATER_MASK                 0xFFu
4987 #define UART_RWFIFO_RXWATER_SHIFT                0
4988 #define UART_RWFIFO_RXWATER(x)                   (((uint8_t)(((uint8_t)(x))<<UART_RWFIFO_RXWATER_SHIFT))&UART_RWFIFO_RXWATER_MASK)
4989 /* RCFIFO Bit Fields */
4990 #define UART_RCFIFO_RXCOUNT_MASK                 0xFFu
4991 #define UART_RCFIFO_RXCOUNT_SHIFT                0
4992 #define UART_RCFIFO_RXCOUNT(x)                   (((uint8_t)(((uint8_t)(x))<<UART_RCFIFO_RXCOUNT_SHIFT))&UART_RCFIFO_RXCOUNT_MASK)
4993 /* C7816 Bit Fields */
4994 #define UART_C7816_ISO_7816E_MASK                0x1u
4995 #define UART_C7816_ISO_7816E_SHIFT               0
4996 #define UART_C7816_TTYPE_MASK                    0x2u
4997 #define UART_C7816_TTYPE_SHIFT                   1
4998 #define UART_C7816_INIT_MASK                     0x4u
4999 #define UART_C7816_INIT_SHIFT                    2
5000 #define UART_C7816_ANACK_MASK                    0x8u
5001 #define UART_C7816_ANACK_SHIFT                   3
5002 #define UART_C7816_ONACK_MASK                    0x10u
5003 #define UART_C7816_ONACK_SHIFT                   4
5004 /* IE7816 Bit Fields */
5005 #define UART_IE7816_RXTE_MASK                    0x1u
5006 #define UART_IE7816_RXTE_SHIFT                   0
5007 #define UART_IE7816_TXTE_MASK                    0x2u
5008 #define UART_IE7816_TXTE_SHIFT                   1
5009 #define UART_IE7816_GTVE_MASK                    0x4u
5010 #define UART_IE7816_GTVE_SHIFT                   2
5011 #define UART_IE7816_INITDE_MASK                  0x10u
5012 #define UART_IE7816_INITDE_SHIFT                 4
5013 #define UART_IE7816_BWTE_MASK                    0x20u
5014 #define UART_IE7816_BWTE_SHIFT                   5
5015 #define UART_IE7816_CWTE_MASK                    0x40u
5016 #define UART_IE7816_CWTE_SHIFT                   6
5017 #define UART_IE7816_WTE_MASK                     0x80u
5018 #define UART_IE7816_WTE_SHIFT                    7
5019 /* IS7816 Bit Fields */
5020 #define UART_IS7816_RXT_MASK                     0x1u
5021 #define UART_IS7816_RXT_SHIFT                    0
5022 #define UART_IS7816_TXT_MASK                     0x2u
5023 #define UART_IS7816_TXT_SHIFT                    1
5024 #define UART_IS7816_GTV_MASK                     0x4u
5025 #define UART_IS7816_GTV_SHIFT                    2
5026 #define UART_IS7816_INITD_MASK                   0x10u
5027 #define UART_IS7816_INITD_SHIFT                  4
5028 #define UART_IS7816_BWT_MASK                     0x20u
5029 #define UART_IS7816_BWT_SHIFT                    5
5030 #define UART_IS7816_CWT_MASK                     0x40u
5031 #define UART_IS7816_CWT_SHIFT                    6
5032 #define UART_IS7816_WT_MASK                      0x80u
5033 #define UART_IS7816_WT_SHIFT                     7
5034 /* WP7816_T_TYPE0 Bit Fields */
5035 #define UART_WP7816_T_TYPE0_WI_MASK              0xFFu
5036 #define UART_WP7816_T_TYPE0_WI_SHIFT             0
5037 #define UART_WP7816_T_TYPE0_WI(x)                (((uint8_t)(((uint8_t)(x))<<UART_WP7816_T_TYPE0_WI_SHIFT))&UART_WP7816_T_TYPE0_WI_MASK)
5038 /* WP7816_T_TYPE1 Bit Fields */
5039 #define UART_WP7816_T_TYPE1_BWI_MASK             0xFu
5040 #define UART_WP7816_T_TYPE1_BWI_SHIFT            0
5041 #define UART_WP7816_T_TYPE1_BWI(x)               (((uint8_t)(((uint8_t)(x))<<UART_WP7816_T_TYPE1_BWI_SHIFT))&UART_WP7816_T_TYPE1_BWI_MASK)
5042 #define UART_WP7816_T_TYPE1_CWI_MASK             0xF0u
5043 #define UART_WP7816_T_TYPE1_CWI_SHIFT            4
5044 #define UART_WP7816_T_TYPE1_CWI(x)               (((uint8_t)(((uint8_t)(x))<<UART_WP7816_T_TYPE1_CWI_SHIFT))&UART_WP7816_T_TYPE1_CWI_MASK)
5045 /* WN7816 Bit Fields */
5046 #define UART_WN7816_GTN_MASK                     0xFFu
5047 #define UART_WN7816_GTN_SHIFT                    0
5048 #define UART_WN7816_GTN(x)                       (((uint8_t)(((uint8_t)(x))<<UART_WN7816_GTN_SHIFT))&UART_WN7816_GTN_MASK)
5049 /* WF7816 Bit Fields */
5050 #define UART_WF7816_GTFD_MASK                    0xFFu
5051 #define UART_WF7816_GTFD_SHIFT                   0
5052 #define UART_WF7816_GTFD(x)                      (((uint8_t)(((uint8_t)(x))<<UART_WF7816_GTFD_SHIFT))&UART_WF7816_GTFD_MASK)
5053 /* ET7816 Bit Fields */
5054 #define UART_ET7816_RXTHRESHOLD_MASK             0xFu
5055 #define UART_ET7816_RXTHRESHOLD_SHIFT            0
5056 #define UART_ET7816_RXTHRESHOLD(x)               (((uint8_t)(((uint8_t)(x))<<UART_ET7816_RXTHRESHOLD_SHIFT))&UART_ET7816_RXTHRESHOLD_MASK)
5057 #define UART_ET7816_TXTHRESHOLD_MASK             0xF0u
5058 #define UART_ET7816_TXTHRESHOLD_SHIFT            4
5059 #define UART_ET7816_TXTHRESHOLD(x)               (((uint8_t)(((uint8_t)(x))<<UART_ET7816_TXTHRESHOLD_SHIFT))&UART_ET7816_TXTHRESHOLD_MASK)
5060 /* TL7816 Bit Fields */
5061 #define UART_TL7816_TLEN_MASK                    0xFFu
5062 #define UART_TL7816_TLEN_SHIFT                   0
5063 #define UART_TL7816_TLEN(x)                      (((uint8_t)(((uint8_t)(x))<<UART_TL7816_TLEN_SHIFT))&UART_TL7816_TLEN_MASK)
5064 /* C6 Bit Fields */
5065 #define UART_C6_CP_MASK                          0x10u
5066 #define UART_C6_CP_SHIFT                         4
5067 #define UART_C6_CE_MASK                          0x20u
5068 #define UART_C6_CE_SHIFT                         5
5069 #define UART_C6_TX709_MASK                       0x40u
5070 #define UART_C6_TX709_SHIFT                      6
5071 #define UART_C6_EN709_MASK                       0x80u
5072 #define UART_C6_EN709_SHIFT                      7
5073 /* PCTH Bit Fields */
5074 #define UART_PCTH_PCTH_MASK                      0xFFu
5075 #define UART_PCTH_PCTH_SHIFT                     0
5076 #define UART_PCTH_PCTH(x)                        (((uint8_t)(((uint8_t)(x))<<UART_PCTH_PCTH_SHIFT))&UART_PCTH_PCTH_MASK)
5077 /* PCTL Bit Fields */
5078 #define UART_PCTL_PCTL_MASK                      0xFFu
5079 #define UART_PCTL_PCTL_SHIFT                     0
5080 #define UART_PCTL_PCTL(x)                        (((uint8_t)(((uint8_t)(x))<<UART_PCTL_PCTL_SHIFT))&UART_PCTL_PCTL_MASK)
5081 /* B1T Bit Fields */
5082 #define UART_B1T_B1T_MASK                        0xFFu
5083 #define UART_B1T_B1T_SHIFT                       0
5084 #define UART_B1T_B1T(x)                          (((uint8_t)(((uint8_t)(x))<<UART_B1T_B1T_SHIFT))&UART_B1T_B1T_MASK)
5085 /* SDTH Bit Fields */
5086 #define UART_SDTH_SDTH_MASK                      0xFFu
5087 #define UART_SDTH_SDTH_SHIFT                     0
5088 #define UART_SDTH_SDTH(x)                        (((uint8_t)(((uint8_t)(x))<<UART_SDTH_SDTH_SHIFT))&UART_SDTH_SDTH_MASK)
5089 /* SDTL Bit Fields */
5090 #define UART_SDTL_SDTL_MASK                      0xFFu
5091 #define UART_SDTL_SDTL_SHIFT                     0
5092 #define UART_SDTL_SDTL(x)                        (((uint8_t)(((uint8_t)(x))<<UART_SDTL_SDTL_SHIFT))&UART_SDTL_SDTL_MASK)
5093 /* PRE Bit Fields */
5094 #define UART_PRE_PREAMBLE_MASK                   0xFFu
5095 #define UART_PRE_PREAMBLE_SHIFT                  0
5096 #define UART_PRE_PREAMBLE(x)                     (((uint8_t)(((uint8_t)(x))<<UART_PRE_PREAMBLE_SHIFT))&UART_PRE_PREAMBLE_MASK)
5097 /* TPL Bit Fields */
5098 #define UART_TPL_TPL_MASK                        0xFFu
5099 #define UART_TPL_TPL_SHIFT                       0
5100 #define UART_TPL_TPL(x)                          (((uint8_t)(((uint8_t)(x))<<UART_TPL_TPL_SHIFT))&UART_TPL_TPL_MASK)
5101 /* IE Bit Fields */
5102 #define UART_IE_TXFIE_MASK                       0x1u
5103 #define UART_IE_TXFIE_SHIFT                      0
5104 #define UART_IE_PSIE_MASK                        0x2u
5105 #define UART_IE_PSIE_SHIFT                       1
5106 #define UART_IE_PCTEIE_MASK                      0x4u
5107 #define UART_IE_PCTEIE_SHIFT                     2
5108 #define UART_IE_PTXIE_MASK                       0x8u
5109 #define UART_IE_PTXIE_SHIFT                      3
5110 #define UART_IE_PRXIE_MASK                       0x10u
5111 #define UART_IE_PRXIE_SHIFT                      4
5112 #define UART_IE_ISDIE_MASK                       0x20u
5113 #define UART_IE_ISDIE_SHIFT                      5
5114 #define UART_IE_WBEIE_MASK                       0x40u
5115 #define UART_IE_WBEIE_SHIFT                      6
5116 /* WB Bit Fields */
5117 #define UART_WB_WBASE_MASK                       0xFFu
5118 #define UART_WB_WBASE_SHIFT                      0
5119 #define UART_WB_WBASE(x)                         (((uint8_t)(((uint8_t)(x))<<UART_WB_WBASE_SHIFT))&UART_WB_WBASE_MASK)
5120 /* S3 Bit Fields */
5121 #define UART_S3_TXFF_MASK                        0x1u
5122 #define UART_S3_TXFF_SHIFT                       0
5123 #define UART_S3_PSF_MASK                         0x2u
5124 #define UART_S3_PSF_SHIFT                        1
5125 #define UART_S3_PCTEF_MASK                       0x4u
5126 #define UART_S3_PCTEF_SHIFT                      2
5127 #define UART_S3_PTXF_MASK                        0x8u
5128 #define UART_S3_PTXF_SHIFT                       3
5129 #define UART_S3_PRXF_MASK                        0x10u
5130 #define UART_S3_PRXF_SHIFT                       4
5131 #define UART_S3_ISD_MASK                         0x20u
5132 #define UART_S3_ISD_SHIFT                        5
5133 #define UART_S3_WBEF_MASK                        0x40u
5134 #define UART_S3_WBEF_SHIFT                       6
5135 #define UART_S3_PEF_MASK                         0x80u
5136 #define UART_S3_PEF_SHIFT                        7
5137 /* S4 Bit Fields */
5138 #define UART_S4_FE_MASK                          0x1u
5139 #define UART_S4_FE_SHIFT                         0
5140 #define UART_S4_ILCV_MASK                        0x2u
5141 #define UART_S4_ILCV_SHIFT                       1
5142 #define UART_S4_CDET_MASK                        0xCu
5143 #define UART_S4_CDET_SHIFT                       2
5144 #define UART_S4_CDET(x)                          (((uint8_t)(((uint8_t)(x))<<UART_S4_CDET_SHIFT))&UART_S4_CDET_MASK)
5145 #define UART_S4_INITF_MASK                       0x10u
5146 #define UART_S4_INITF_SHIFT                      4
5147 /* RPL Bit Fields */
5148 #define UART_RPL_RPL_MASK                        0xFFu
5149 #define UART_RPL_RPL_SHIFT                       0
5150 #define UART_RPL_RPL(x)                          (((uint8_t)(((uint8_t)(x))<<UART_RPL_RPL_SHIFT))&UART_RPL_RPL_MASK)
5151 /* RPREL Bit Fields */
5152 #define UART_RPREL_RPREL_MASK                    0xFFu
5153 #define UART_RPREL_RPREL_SHIFT                   0
5154 #define UART_RPREL_RPREL(x)                      (((uint8_t)(((uint8_t)(x))<<UART_RPREL_RPREL_SHIFT))&UART_RPREL_RPREL_MASK)
5155 /* CPW Bit Fields */
5156 #define UART_CPW_CPW_MASK                        0xFFu
5157 #define UART_CPW_CPW_SHIFT                       0
5158 #define UART_CPW_CPW(x)                          (((uint8_t)(((uint8_t)(x))<<UART_CPW_CPW_SHIFT))&UART_CPW_CPW_MASK)
5159 /* RIDT Bit Fields */
5160 #define UART_RIDT_RIDT_MASK                      0xFFu
5161 #define UART_RIDT_RIDT_SHIFT                     0
5162 #define UART_RIDT_RIDT(x)                        (((uint8_t)(((uint8_t)(x))<<UART_RIDT_RIDT_SHIFT))&UART_RIDT_RIDT_MASK)
5163 /* TIDT Bit Fields */
5164 #define UART_TIDT_TIDT_MASK                      0xFFu
5165 #define UART_TIDT_TIDT_SHIFT                     0
5166 #define UART_TIDT_TIDT(x)                        (((uint8_t)(((uint8_t)(x))<<UART_TIDT_TIDT_SHIFT))&UART_TIDT_TIDT_MASK)
5167
5168 /**
5169  * @}
5170  */ /* end of group UART_Register_Masks */
5171
5172
5173 /* UART - Peripheral instance base addresses */
5174 /** Peripheral UART0 base address */
5175 #define UART0_BASE                               (0x4006A000u)
5176 /** Peripheral UART0 base pointer */
5177 #define UART0                                    ((UART_Type *)UART0_BASE)
5178 /** Peripheral UART1 base address */
5179 #define UART1_BASE                               (0x4006B000u)
5180 /** Peripheral UART1 base pointer */
5181 #define UART1                                    ((UART_Type *)UART1_BASE)
5182 /** Peripheral UART2 base address */
5183 #define UART2_BASE                               (0x4006C000u)
5184 /** Peripheral UART2 base pointer */
5185 #define UART2                                    ((UART_Type *)UART2_BASE)
5186
5187 /**
5188  * @}
5189  */ /* end of group UART_Peripheral_Access_Layer */
5190
5191
5192 /* ----------------------------------------------------------------------------
5193    -- USB Peripheral Access Layer
5194    ---------------------------------------------------------------------------- */
5195
5196 /**
5197  * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer
5198  * @{
5199  */
5200
5201 /** USB - Register Layout Typedef */
5202 typedef struct {
5203   __I  uint8_t PERID;                              /**< Peripheral ID Register, offset: 0x0 */
5204        uint8_t RESERVED_0[3];
5205   __I  uint8_t IDCOMP;                             /**< Peripheral ID Complement Register, offset: 0x4 */
5206        uint8_t RESERVED_1[3];
5207   __I  uint8_t REV;                                /**< Peripheral Revision Register, offset: 0x8 */
5208        uint8_t RESERVED_2[3];
5209   __I  uint8_t ADDINFO;                            /**< Peripheral Additional Info Register, offset: 0xC */
5210        uint8_t RESERVED_3[3];
5211   __IO uint8_t OTGISTAT;                           /**< OTG Interrupt Status Register, offset: 0x10 */
5212        uint8_t RESERVED_4[3];
5213   __IO uint8_t OTGICR;                             /**< OTG Interrupt Control Register, offset: 0x14 */
5214        uint8_t RESERVED_5[3];
5215   __IO uint8_t OTGSTAT;                            /**< OTG Status Register, offset: 0x18 */
5216        uint8_t RESERVED_6[3];
5217   __IO uint8_t OTGCTL;                             /**< OTG Control Register, offset: 0x1C */
5218        uint8_t RESERVED_7[99];
5219   __IO uint8_t ISTAT;                              /**< Interrupt Status Register, offset: 0x80 */
5220        uint8_t RESERVED_8[3];
5221   __IO uint8_t INTEN;                              /**< Interrupt Enable Register, offset: 0x84 */
5222        uint8_t RESERVED_9[3];
5223   __IO uint8_t ERRSTAT;                            /**< Error Interrupt Status Register, offset: 0x88 */
5224        uint8_t RESERVED_10[3];
5225   __IO uint8_t ERREN;                              /**< Error Interrupt Enable Register, offset: 0x8C */
5226        uint8_t RESERVED_11[3];
5227   __I  uint8_t STAT;                               /**< Status Register, offset: 0x90 */
5228        uint8_t RESERVED_12[3];
5229   __IO uint8_t CTL;                                /**< Control Register, offset: 0x94 */
5230        uint8_t RESERVED_13[3];
5231   __IO uint8_t ADDR;                               /**< Address Register, offset: 0x98 */
5232        uint8_t RESERVED_14[3];
5233   __IO uint8_t BDTPAGE1;                           /**< BDT Page Register 1, offset: 0x9C */
5234        uint8_t RESERVED_15[3];
5235   __IO uint8_t FRMNUML;                            /**< Frame Number Register Low, offset: 0xA0 */
5236        uint8_t RESERVED_16[3];
5237   __IO uint8_t FRMNUMH;                            /**< Frame Number Register High, offset: 0xA4 */
5238        uint8_t RESERVED_17[3];
5239   __IO uint8_t TOKEN;                              /**< Token Register, offset: 0xA8 */
5240        uint8_t RESERVED_18[3];
5241   __IO uint8_t SOFTHLD;                            /**< SOF Threshold Register, offset: 0xAC */
5242        uint8_t RESERVED_19[3];
5243   __IO uint8_t BDTPAGE2;                           /**< BDT Page Register 2, offset: 0xB0 */
5244        uint8_t RESERVED_20[3];
5245   __IO uint8_t BDTPAGE3;                           /**< BDT Page Register 3, offset: 0xB4 */
5246        uint8_t RESERVED_21[11];
5247   struct {                                         /* offset: 0xC0, array step: 0x4 */
5248     __IO uint8_t ENDPT;                              /**< Endpoint Control Register, array offset: 0xC0, array step: 0x4 */
5249          uint8_t RESERVED_0[3];
5250   } ENDPOINT[16];
5251   __IO uint8_t USBCTRL;                            /**< USB Control Register, offset: 0x100 */
5252        uint8_t RESERVED_22[3];
5253   __I  uint8_t OBSERVE;                            /**< USB OTG Observe Register, offset: 0x104 */
5254        uint8_t RESERVED_23[3];
5255   __IO uint8_t CONTROL;                            /**< USB OTG Control Register, offset: 0x108 */
5256        uint8_t RESERVED_24[3];
5257   __IO uint8_t USBTRC0;                            /**< USB Transceiver Control Register 0, offset: 0x10C */
5258        uint8_t RESERVED_25[7];
5259   __IO uint8_t USBFRMADJUST;                       /**< Frame Adjust Register, offset: 0x114 */
5260 } USB_Type;
5261
5262 /* ----------------------------------------------------------------------------
5263    -- USB Register Masks
5264    ---------------------------------------------------------------------------- */
5265
5266 /**
5267  * @addtogroup USB_Register_Masks USB Register Masks
5268  * @{
5269  */
5270
5271 /* PERID Bit Fields */
5272 #define USB_PERID_ID_MASK                        0x3Fu
5273 #define USB_PERID_ID_SHIFT                       0
5274 #define USB_PERID_ID(x)                          (((uint8_t)(((uint8_t)(x))<<USB_PERID_ID_SHIFT))&USB_PERID_ID_MASK)
5275 /* IDCOMP Bit Fields */
5276 #define USB_IDCOMP_NID_MASK                      0x3Fu
5277 #define USB_IDCOMP_NID_SHIFT                     0
5278 #define USB_IDCOMP_NID(x)                        (((uint8_t)(((uint8_t)(x))<<USB_IDCOMP_NID_SHIFT))&USB_IDCOMP_NID_MASK)
5279 /* REV Bit Fields */
5280 #define USB_REV_REV_MASK                         0xFFu
5281 #define USB_REV_REV_SHIFT                        0
5282 #define USB_REV_REV(x)                           (((uint8_t)(((uint8_t)(x))<<USB_REV_REV_SHIFT))&USB_REV_REV_MASK)
5283 /* ADDINFO Bit Fields */
5284 #define USB_ADDINFO_IEHOST_MASK                  0x1u
5285 #define USB_ADDINFO_IEHOST_SHIFT                 0
5286 #define USB_ADDINFO_IRQNUM_MASK                  0xF8u
5287 #define USB_ADDINFO_IRQNUM_SHIFT                 3
5288 #define USB_ADDINFO_IRQNUM(x)                    (((uint8_t)(((uint8_t)(x))<<USB_ADDINFO_IRQNUM_SHIFT))&USB_ADDINFO_IRQNUM_MASK)
5289 /* OTGISTAT Bit Fields */
5290 #define USB_OTGISTAT_AVBUSCHG_MASK               0x1u
5291 #define USB_OTGISTAT_AVBUSCHG_SHIFT              0
5292 #define USB_OTGISTAT_B_SESS_CHG_MASK             0x4u
5293 #define USB_OTGISTAT_B_SESS_CHG_SHIFT            2
5294 #define USB_OTGISTAT_SESSVLDCHG_MASK             0x8u
5295 #define USB_OTGISTAT_SESSVLDCHG_SHIFT            3
5296 #define USB_OTGISTAT_LINE_STATE_CHG_MASK         0x20u
5297 #define USB_OTGISTAT_LINE_STATE_CHG_SHIFT        5
5298 #define USB_OTGISTAT_ONEMSEC_MASK                0x40u
5299 #define USB_OTGISTAT_ONEMSEC_SHIFT               6
5300 #define USB_OTGISTAT_IDCHG_MASK                  0x80u
5301 #define USB_OTGISTAT_IDCHG_SHIFT                 7
5302 /* OTGICR Bit Fields */
5303 #define USB_OTGICR_AVBUSEN_MASK                  0x1u
5304 #define USB_OTGICR_AVBUSEN_SHIFT                 0
5305 #define USB_OTGICR_BSESSEN_MASK                  0x4u
5306 #define USB_OTGICR_BSESSEN_SHIFT                 2
5307 #define USB_OTGICR_SESSVLDEN_MASK                0x8u
5308 #define USB_OTGICR_SESSVLDEN_SHIFT               3
5309 #define USB_OTGICR_LINESTATEEN_MASK              0x20u
5310 #define USB_OTGICR_LINESTATEEN_SHIFT             5
5311 #define USB_OTGICR_ONEMSECEN_MASK                0x40u
5312 #define USB_OTGICR_ONEMSECEN_SHIFT               6
5313 #define USB_OTGICR_IDEN_MASK                     0x80u
5314 #define USB_OTGICR_IDEN_SHIFT                    7
5315 /* OTGSTAT Bit Fields */
5316 #define USB_OTGSTAT_AVBUSVLD_MASK                0x1u
5317 #define USB_OTGSTAT_AVBUSVLD_SHIFT               0
5318 #define USB_OTGSTAT_BSESSEND_MASK                0x4u
5319 #define USB_OTGSTAT_BSESSEND_SHIFT               2
5320 #define USB_OTGSTAT_SESS_VLD_MASK                0x8u
5321 #define USB_OTGSTAT_SESS_VLD_SHIFT               3
5322 #define USB_OTGSTAT_LINESTATESTABLE_MASK         0x20u
5323 #define USB_OTGSTAT_LINESTATESTABLE_SHIFT        5
5324 #define USB_OTGSTAT_ONEMSECEN_MASK               0x40u
5325 #define USB_OTGSTAT_ONEMSECEN_SHIFT              6
5326 #define USB_OTGSTAT_ID_MASK                      0x80u
5327 #define USB_OTGSTAT_ID_SHIFT                     7
5328 /* OTGCTL Bit Fields */
5329 #define USB_OTGCTL_OTGEN_MASK                    0x4u
5330 #define USB_OTGCTL_OTGEN_SHIFT                   2
5331 #define USB_OTGCTL_DMLOW_MASK                    0x10u
5332 #define USB_OTGCTL_DMLOW_SHIFT                   4
5333 #define USB_OTGCTL_DPLOW_MASK                    0x20u
5334 #define USB_OTGCTL_DPLOW_SHIFT                   5
5335 #define USB_OTGCTL_DPHIGH_MASK                   0x80u
5336 #define USB_OTGCTL_DPHIGH_SHIFT                  7
5337 /* ISTAT Bit Fields */
5338 #define USB_ISTAT_USBRST_MASK                    0x1u
5339 #define USB_ISTAT_USBRST_SHIFT                   0
5340 #define USB_ISTAT_ERROR_MASK                     0x2u
5341 #define USB_ISTAT_ERROR_SHIFT                    1
5342 #define USB_ISTAT_SOFTOK_MASK                    0x4u
5343 #define USB_ISTAT_SOFTOK_SHIFT                   2
5344 #define USB_ISTAT_TOKDNE_MASK                    0x8u
5345 #define USB_ISTAT_TOKDNE_SHIFT                   3
5346 #define USB_ISTAT_SLEEP_MASK                     0x10u
5347 #define USB_ISTAT_SLEEP_SHIFT                    4
5348 #define USB_ISTAT_RESUME_MASK                    0x20u
5349 #define USB_ISTAT_RESUME_SHIFT                   5
5350 #define USB_ISTAT_ATTACH_MASK                    0x40u
5351 #define USB_ISTAT_ATTACH_SHIFT                   6
5352 #define USB_ISTAT_STALL_MASK                     0x80u
5353 #define USB_ISTAT_STALL_SHIFT                    7
5354 /* INTEN Bit Fields */
5355 #define USB_INTEN_USBRSTEN_MASK                  0x1u
5356 #define USB_INTEN_USBRSTEN_SHIFT                 0
5357 #define USB_INTEN_ERROREN_MASK                   0x2u
5358 #define USB_INTEN_ERROREN_SHIFT                  1
5359 #define USB_INTEN_SOFTOKEN_MASK                  0x4u
5360 #define USB_INTEN_SOFTOKEN_SHIFT                 2
5361 #define USB_INTEN_TOKDNEEN_MASK                  0x8u
5362 #define USB_INTEN_TOKDNEEN_SHIFT                 3
5363 #define USB_INTEN_SLEEPEN_MASK                   0x10u
5364 #define USB_INTEN_SLEEPEN_SHIFT                  4
5365 #define USB_INTEN_RESUMEEN_MASK                  0x20u
5366 #define USB_INTEN_RESUMEEN_SHIFT                 5
5367 #define USB_INTEN_ATTACHEN_MASK                  0x40u
5368 #define USB_INTEN_ATTACHEN_SHIFT                 6
5369 #define USB_INTEN_STALLEN_MASK                   0x80u
5370 #define USB_INTEN_STALLEN_SHIFT                  7
5371 /* ERRSTAT Bit Fields */
5372 #define USB_ERRSTAT_PIDERR_MASK                  0x1u
5373 #define USB_ERRSTAT_PIDERR_SHIFT                 0
5374 #define USB_ERRSTAT_CRC5EOF_MASK                 0x2u
5375 #define USB_ERRSTAT_CRC5EOF_SHIFT                1
5376 #define USB_ERRSTAT_CRC16_MASK                   0x4u
5377 #define USB_ERRSTAT_CRC16_SHIFT                  2
5378 #define USB_ERRSTAT_DFN8_MASK                    0x8u
5379 #define USB_ERRSTAT_DFN8_SHIFT                   3
5380 #define USB_ERRSTAT_BTOERR_MASK                  0x10u
5381 #define USB_ERRSTAT_BTOERR_SHIFT                 4
5382 #define USB_ERRSTAT_DMAERR_MASK                  0x20u
5383 #define USB_ERRSTAT_DMAERR_SHIFT                 5
5384 #define USB_ERRSTAT_BTSERR_MASK                  0x80u
5385 #define USB_ERRSTAT_BTSERR_SHIFT                 7
5386 /* ERREN Bit Fields */
5387 #define USB_ERREN_PIDERREN_MASK                  0x1u
5388 #define USB_ERREN_PIDERREN_SHIFT                 0
5389 #define USB_ERREN_CRC5EOFEN_MASK                 0x2u
5390 #define USB_ERREN_CRC5EOFEN_SHIFT                1
5391 #define USB_ERREN_CRC16EN_MASK                   0x4u
5392 #define USB_ERREN_CRC16EN_SHIFT                  2
5393 #define USB_ERREN_DFN8EN_MASK                    0x8u
5394 #define USB_ERREN_DFN8EN_SHIFT                   3
5395 #define USB_ERREN_BTOERREN_MASK                  0x10u
5396 #define USB_ERREN_BTOERREN_SHIFT                 4
5397 #define USB_ERREN_DMAERREN_MASK                  0x20u
5398 #define USB_ERREN_DMAERREN_SHIFT                 5
5399 #define USB_ERREN_BTSERREN_MASK                  0x80u
5400 #define USB_ERREN_BTSERREN_SHIFT                 7
5401 /* STAT Bit Fields */
5402 #define USB_STAT_ODD_MASK                        0x4u
5403 #define USB_STAT_ODD_SHIFT                       2
5404 #define USB_STAT_TX_MASK                         0x8u
5405 #define USB_STAT_TX_SHIFT                        3
5406 #define USB_STAT_ENDP_MASK                       0xF0u
5407 #define USB_STAT_ENDP_SHIFT                      4
5408 #define USB_STAT_ENDP(x)                         (((uint8_t)(((uint8_t)(x))<<USB_STAT_ENDP_SHIFT))&USB_STAT_ENDP_MASK)
5409 /* CTL Bit Fields */
5410 #define USB_CTL_USBENSOFEN_MASK                  0x1u
5411 #define USB_CTL_USBENSOFEN_SHIFT                 0
5412 #define USB_CTL_ODDRST_MASK                      0x2u
5413 #define USB_CTL_ODDRST_SHIFT                     1
5414 #define USB_CTL_RESUME_MASK                      0x4u
5415 #define USB_CTL_RESUME_SHIFT                     2
5416 #define USB_CTL_HOSTMODEEN_MASK                  0x8u
5417 #define USB_CTL_HOSTMODEEN_SHIFT                 3
5418 #define USB_CTL_RESET_MASK                       0x10u
5419 #define USB_CTL_RESET_SHIFT                      4
5420 #define USB_CTL_TXSUSPENDTOKENBUSY_MASK          0x20u
5421 #define USB_CTL_TXSUSPENDTOKENBUSY_SHIFT         5
5422 #define USB_CTL_SE0_MASK                         0x40u
5423 #define USB_CTL_SE0_SHIFT                        6
5424 #define USB_CTL_JSTATE_MASK                      0x80u
5425 #define USB_CTL_JSTATE_SHIFT                     7
5426 /* ADDR Bit Fields */
5427 #define USB_ADDR_ADDR_MASK                       0x7Fu
5428 #define USB_ADDR_ADDR_SHIFT                      0
5429 #define USB_ADDR_ADDR(x)                         (((uint8_t)(((uint8_t)(x))<<USB_ADDR_ADDR_SHIFT))&USB_ADDR_ADDR_MASK)
5430 #define USB_ADDR_LSEN_MASK                       0x80u
5431 #define USB_ADDR_LSEN_SHIFT                      7
5432 /* BDTPAGE1 Bit Fields */
5433 #define USB_BDTPAGE1_BDTBA_MASK                  0xFEu
5434 #define USB_BDTPAGE1_BDTBA_SHIFT                 1
5435 #define USB_BDTPAGE1_BDTBA(x)                    (((uint8_t)(((uint8_t)(x))<<USB_BDTPAGE1_BDTBA_SHIFT))&USB_BDTPAGE1_BDTBA_MASK)
5436 /* FRMNUML Bit Fields */
5437 #define USB_FRMNUML_FRM_MASK                     0xFFu
5438 #define USB_FRMNUML_FRM_SHIFT                    0
5439 #define USB_FRMNUML_FRM(x)                       (((uint8_t)(((uint8_t)(x))<<USB_FRMNUML_FRM_SHIFT))&USB_FRMNUML_FRM_MASK)
5440 /* FRMNUMH Bit Fields */
5441 #define USB_FRMNUMH_FRM_MASK                     0x7u
5442 #define USB_FRMNUMH_FRM_SHIFT                    0
5443 #define USB_FRMNUMH_FRM(x)                       (((uint8_t)(((uint8_t)(x))<<USB_FRMNUMH_FRM_SHIFT))&USB_FRMNUMH_FRM_MASK)
5444 /* TOKEN Bit Fields */
5445 #define USB_TOKEN_TOKENENDPT_MASK                0xFu
5446 #define USB_TOKEN_TOKENENDPT_SHIFT               0
5447 #define USB_TOKEN_TOKENENDPT(x)                  (((uint8_t)(((uint8_t)(x))<<USB_TOKEN_TOKENENDPT_SHIFT))&USB_TOKEN_TOKENENDPT_MASK)
5448 #define USB_TOKEN_TOKENPID_MASK                  0xF0u
5449 #define USB_TOKEN_TOKENPID_SHIFT                 4
5450 #define USB_TOKEN_TOKENPID(x)                    (((uint8_t)(((uint8_t)(x))<<USB_TOKEN_TOKENPID_SHIFT))&USB_TOKEN_TOKENPID_MASK)
5451 /* SOFTHLD Bit Fields */
5452 #define USB_SOFTHLD_CNT_MASK                     0xFFu
5453 #define USB_SOFTHLD_CNT_SHIFT                    0
5454 #define USB_SOFTHLD_CNT(x)                       (((uint8_t)(((uint8_t)(x))<<USB_SOFTHLD_CNT_SHIFT))&USB_SOFTHLD_CNT_MASK)
5455 /* BDTPAGE2 Bit Fields */
5456 #define USB_BDTPAGE2_BDTBA_MASK                  0xFFu
5457 #define USB_BDTPAGE2_BDTBA_SHIFT                 0
5458 #define USB_BDTPAGE2_BDTBA(x)                    (((uint8_t)(((uint8_t)(x))<<USB_BDTPAGE2_BDTBA_SHIFT))&USB_BDTPAGE2_BDTBA_MASK)
5459 /* BDTPAGE3 Bit Fields */
5460 #define USB_BDTPAGE3_BDTBA_MASK                  0xFFu
5461 #define USB_BDTPAGE3_BDTBA_SHIFT                 0
5462 #define USB_BDTPAGE3_BDTBA(x)                    (((uint8_t)(((uint8_t)(x))<<USB_BDTPAGE3_BDTBA_SHIFT))&USB_BDTPAGE3_BDTBA_MASK)
5463 /* ENDPT Bit Fields */
5464 #define USB_ENDPT_EPHSHK_MASK                    0x1u
5465 #define USB_ENDPT_EPHSHK_SHIFT                   0
5466 #define USB_ENDPT_EPSTALL_MASK                   0x2u
5467 #define USB_ENDPT_EPSTALL_SHIFT                  1
5468 #define USB_ENDPT_EPTXEN_MASK                    0x4u
5469 #define USB_ENDPT_EPTXEN_SHIFT                   2
5470 #define USB_ENDPT_EPRXEN_MASK                    0x8u
5471 #define USB_ENDPT_EPRXEN_SHIFT                   3
5472 #define USB_ENDPT_EPCTLDIS_MASK                  0x10u
5473 #define USB_ENDPT_EPCTLDIS_SHIFT                 4
5474 #define USB_ENDPT_RETRYDIS_MASK                  0x40u
5475 #define USB_ENDPT_RETRYDIS_SHIFT                 6
5476 #define USB_ENDPT_HOSTWOHUB_MASK                 0x80u
5477 #define USB_ENDPT_HOSTWOHUB_SHIFT                7
5478 /* USBCTRL Bit Fields */
5479 #define USB_USBCTRL_PDE_MASK                     0x40u
5480 #define USB_USBCTRL_PDE_SHIFT                    6
5481 #define USB_USBCTRL_SUSP_MASK                    0x80u
5482 #define USB_USBCTRL_SUSP_SHIFT                   7
5483 /* OBSERVE Bit Fields */
5484 #define USB_OBSERVE_DMPD_MASK                    0x10u
5485 #define USB_OBSERVE_DMPD_SHIFT                   4
5486 #define USB_OBSERVE_DPPD_MASK                    0x40u
5487 #define USB_OBSERVE_DPPD_SHIFT                   6
5488 #define USB_OBSERVE_DPPU_MASK                    0x80u
5489 #define USB_OBSERVE_DPPU_SHIFT                   7
5490 /* CONTROL Bit Fields */
5491 #define USB_CONTROL_DPPULLUPNONOTG_MASK          0x10u
5492 #define USB_CONTROL_DPPULLUPNONOTG_SHIFT         4
5493 /* USBTRC0 Bit Fields */
5494 #define USB_USBTRC0_USB_RESUME_INT_MASK          0x1u
5495 #define USB_USBTRC0_USB_RESUME_INT_SHIFT         0
5496 #define USB_USBTRC0_SYNC_DET_MASK                0x2u
5497 #define USB_USBTRC0_SYNC_DET_SHIFT               1
5498 #define USB_USBTRC0_USBRESMEN_MASK               0x20u
5499 #define USB_USBTRC0_USBRESMEN_SHIFT              5
5500 #define USB_USBTRC0_USBRESET_MASK                0x80u
5501 #define USB_USBTRC0_USBRESET_SHIFT               7
5502 /* USBFRMADJUST Bit Fields */
5503 #define USB_USBFRMADJUST_ADJ_MASK                0xFFu
5504 #define USB_USBFRMADJUST_ADJ_SHIFT               0
5505 #define USB_USBFRMADJUST_ADJ(x)                  (((uint8_t)(((uint8_t)(x))<<USB_USBFRMADJUST_ADJ_SHIFT))&USB_USBFRMADJUST_ADJ_MASK)
5506
5507 /**
5508  * @}
5509  */ /* end of group USB_Register_Masks */
5510
5511
5512 /* USB - Peripheral instance base addresses */
5513 /** Peripheral USB0 base address */
5514 #define USB0_BASE                                (0x40072000u)
5515 /** Peripheral USB0 base pointer */
5516 #define USB0                                     ((USB_Type *)USB0_BASE)
5517
5518 /**
5519  * @}
5520  */ /* end of group USB_Peripheral_Access_Layer */
5521
5522
5523 /* ----------------------------------------------------------------------------
5524    -- USBDCD Peripheral Access Layer
5525    ---------------------------------------------------------------------------- */
5526
5527 /**
5528  * @addtogroup USBDCD_Peripheral_Access_Layer USBDCD Peripheral Access Layer
5529  * @{
5530  */
5531
5532 /** USBDCD - Register Layout Typedef */
5533 typedef struct {
5534   __IO uint32_t CONTROL;                           /**< Control Register, offset: 0x0 */
5535   __IO uint32_t CLOCK;                             /**< Clock Register, offset: 0x4 */
5536   __I  uint32_t STATUS;                            /**< Status Register, offset: 0x8 */
5537        uint8_t RESERVED_0[4];
5538   __IO uint32_t TIMER0;                            /**< TIMER0 Register, offset: 0x10 */
5539   __IO uint32_t TIMER1;                            /**< , offset: 0x14 */
5540   __IO uint32_t TIMER2;                            /**< , offset: 0x18 */
5541 } USBDCD_Type;
5542
5543 /* ----------------------------------------------------------------------------
5544    -- USBDCD Register Masks
5545    ---------------------------------------------------------------------------- */
5546
5547 /**
5548  * @addtogroup USBDCD_Register_Masks USBDCD Register Masks
5549  * @{
5550  */
5551
5552 /* CONTROL Bit Fields */
5553 #define USBDCD_CONTROL_IACK_MASK                 0x1u
5554 #define USBDCD_CONTROL_IACK_SHIFT                0
5555 #define USBDCD_CONTROL_IF_MASK                   0x100u
5556 #define USBDCD_CONTROL_IF_SHIFT                  8
5557 #define USBDCD_CONTROL_IE_MASK                   0x10000u
5558 #define USBDCD_CONTROL_IE_SHIFT                  16
5559 #define USBDCD_CONTROL_START_MASK                0x1000000u
5560 #define USBDCD_CONTROL_START_SHIFT               24
5561 #define USBDCD_CONTROL_SR_MASK                   0x2000000u
5562 #define USBDCD_CONTROL_SR_SHIFT                  25
5563 /* CLOCK Bit Fields */
5564 #define USBDCD_CLOCK_CLOCK_UNIT_MASK             0x1u
5565 #define USBDCD_CLOCK_CLOCK_UNIT_SHIFT            0
5566 #define USBDCD_CLOCK_CLOCK_SPEED_MASK            0xFFCu
5567 #define USBDCD_CLOCK_CLOCK_SPEED_SHIFT           2
5568 #define USBDCD_CLOCK_CLOCK_SPEED(x)              (((uint32_t)(((uint32_t)(x))<<USBDCD_CLOCK_CLOCK_SPEED_SHIFT))&USBDCD_CLOCK_CLOCK_SPEED_MASK)
5569 /* STATUS Bit Fields */
5570 #define USBDCD_STATUS_SEQ_RES_MASK               0x30000u
5571 #define USBDCD_STATUS_SEQ_RES_SHIFT              16
5572 #define USBDCD_STATUS_SEQ_RES(x)                 (((uint32_t)(((uint32_t)(x))<<USBDCD_STATUS_SEQ_RES_SHIFT))&USBDCD_STATUS_SEQ_RES_MASK)
5573 #define USBDCD_STATUS_SEQ_STAT_MASK              0xC0000u
5574 #define USBDCD_STATUS_SEQ_STAT_SHIFT             18
5575 #define USBDCD_STATUS_SEQ_STAT(x)                (((uint32_t)(((uint32_t)(x))<<USBDCD_STATUS_SEQ_STAT_SHIFT))&USBDCD_STATUS_SEQ_STAT_MASK)
5576 #define USBDCD_STATUS_ERR_MASK                   0x100000u
5577 #define USBDCD_STATUS_ERR_SHIFT                  20
5578 #define USBDCD_STATUS_TO_MASK                    0x200000u
5579 #define USBDCD_STATUS_TO_SHIFT                   21
5580 #define USBDCD_STATUS_ACTIVE_MASK                0x400000u
5581 #define USBDCD_STATUS_ACTIVE_SHIFT               22
5582 /* TIMER0 Bit Fields */
5583 #define USBDCD_TIMER0_TUNITCON_MASK              0xFFFu
5584 #define USBDCD_TIMER0_TUNITCON_SHIFT             0
5585 #define USBDCD_TIMER0_TUNITCON(x)                (((uint32_t)(((uint32_t)(x))<<USBDCD_TIMER0_TUNITCON_SHIFT))&USBDCD_TIMER0_TUNITCON_MASK)
5586 #define USBDCD_TIMER0_TSEQ_INIT_MASK             0x3FF0000u
5587 #define USBDCD_TIMER0_TSEQ_INIT_SHIFT            16
5588 #define USBDCD_TIMER0_TSEQ_INIT(x)               (((uint32_t)(((uint32_t)(x))<<USBDCD_TIMER0_TSEQ_INIT_SHIFT))&USBDCD_TIMER0_TSEQ_INIT_MASK)
5589 /* TIMER1 Bit Fields */
5590 #define USBDCD_TIMER1_TVDPSRC_ON_MASK            0x3FFu
5591 #define USBDCD_TIMER1_TVDPSRC_ON_SHIFT           0
5592 #define USBDCD_TIMER1_TVDPSRC_ON(x)              (((uint32_t)(((uint32_t)(x))<<USBDCD_TIMER1_TVDPSRC_ON_SHIFT))&USBDCD_TIMER1_TVDPSRC_ON_MASK)
5593 #define USBDCD_TIMER1_TDCD_DBNC_MASK             0x3FF0000u
5594 #define USBDCD_TIMER1_TDCD_DBNC_SHIFT            16
5595 #define USBDCD_TIMER1_TDCD_DBNC(x)               (((uint32_t)(((uint32_t)(x))<<USBDCD_TIMER1_TDCD_DBNC_SHIFT))&USBDCD_TIMER1_TDCD_DBNC_MASK)
5596 /* TIMER2 Bit Fields */
5597 #define USBDCD_TIMER2_CHECK_DM_MASK              0xFu
5598 #define USBDCD_TIMER2_CHECK_DM_SHIFT             0
5599 #define USBDCD_TIMER2_CHECK_DM(x)                (((uint32_t)(((uint32_t)(x))<<USBDCD_TIMER2_CHECK_DM_SHIFT))&USBDCD_TIMER2_CHECK_DM_MASK)
5600 #define USBDCD_TIMER2_TVDPSRC_CON_MASK           0x3FF0000u
5601 #define USBDCD_TIMER2_TVDPSRC_CON_SHIFT          16
5602 #define USBDCD_TIMER2_TVDPSRC_CON(x)             (((uint32_t)(((uint32_t)(x))<<USBDCD_TIMER2_TVDPSRC_CON_SHIFT))&USBDCD_TIMER2_TVDPSRC_CON_MASK)
5603
5604 /**
5605  * @}
5606  */ /* end of group USBDCD_Register_Masks */
5607
5608
5609 /* USBDCD - Peripheral instance base addresses */
5610 /** Peripheral USBDCD base address */
5611 #define USBDCD_BASE                              (0x40035000u)
5612 /** Peripheral USBDCD base pointer */
5613 #define USBDCD                                   ((USBDCD_Type *)USBDCD_BASE)
5614
5615 /**
5616  * @}
5617  */ /* end of group USBDCD_Peripheral_Access_Layer */
5618
5619
5620 /* ----------------------------------------------------------------------------
5621    -- VREF Peripheral Access Layer
5622    ---------------------------------------------------------------------------- */
5623
5624 /**
5625  * @addtogroup VREF_Peripheral_Access_Layer VREF Peripheral Access Layer
5626  * @{
5627  */
5628
5629 /** VREF - Register Layout Typedef */
5630 typedef struct {
5631   __IO uint8_t TRM;                                /**< VREF Trim Register, offset: 0x0 */
5632   __IO uint8_t SC;                                 /**< VREF Status and Control Register, offset: 0x1 */
5633 } VREF_Type;
5634
5635 /* ----------------------------------------------------------------------------
5636    -- VREF Register Masks
5637    ---------------------------------------------------------------------------- */
5638
5639 /**
5640  * @addtogroup VREF_Register_Masks VREF Register Masks
5641  * @{
5642  */
5643
5644 /* TRM Bit Fields */
5645 #define VREF_TRM_TRIM_MASK                       0x3Fu
5646 #define VREF_TRM_TRIM_SHIFT                      0
5647 #define VREF_TRM_TRIM(x)                         (((uint8_t)(((uint8_t)(x))<<VREF_TRM_TRIM_SHIFT))&VREF_TRM_TRIM_MASK)
5648 #define VREF_TRM_CHOPEN_MASK                     0x40u
5649 #define VREF_TRM_CHOPEN_SHIFT                    6
5650 /* SC Bit Fields */
5651 #define VREF_SC_MODE_LV_MASK                     0x3u
5652 #define VREF_SC_MODE_LV_SHIFT                    0
5653 #define VREF_SC_MODE_LV(x)                       (((uint8_t)(((uint8_t)(x))<<VREF_SC_MODE_LV_SHIFT))&VREF_SC_MODE_LV_MASK)
5654 #define VREF_SC_VREFST_MASK                      0x4u
5655 #define VREF_SC_VREFST_SHIFT                     2
5656 #define VREF_SC_REGEN_MASK                       0x40u
5657 #define VREF_SC_REGEN_SHIFT                      6
5658 #define VREF_SC_VREFEN_MASK                      0x80u
5659 #define VREF_SC_VREFEN_SHIFT                     7
5660
5661 /**
5662  * @}
5663  */ /* end of group VREF_Register_Masks */
5664
5665
5666 /* VREF - Peripheral instance base addresses */
5667 /** Peripheral VREF base address */
5668 #define VREF_BASE                                (0x40074000u)
5669 /** Peripheral VREF base pointer */
5670 #define VREF                                     ((VREF_Type *)VREF_BASE)
5671
5672 /**
5673  * @}
5674  */ /* end of group VREF_Peripheral_Access_Layer */
5675
5676
5677 /* ----------------------------------------------------------------------------
5678    -- WDOG Peripheral Access Layer
5679    ---------------------------------------------------------------------------- */
5680
5681 /**
5682  * @addtogroup WDOG_Peripheral_Access_Layer WDOG Peripheral Access Layer
5683  * @{
5684  */
5685
5686 /** WDOG - Register Layout Typedef */
5687 typedef struct {
5688   __IO uint16_t STCTRLH;                           /**< Watchdog Status and Control Register High, offset: 0x0 */
5689   __IO uint16_t STCTRLL;                           /**< Watchdog Status and Control Register Low, offset: 0x2 */
5690   __IO uint16_t TOVALH;                            /**< Watchdog Time-out Value Register High, offset: 0x4 */
5691   __IO uint16_t TOVALL;                            /**< Watchdog Time-out Value Register Low, offset: 0x6 */
5692   __IO uint16_t WINH;                              /**< Watchdog Window Register High, offset: 0x8 */
5693   __IO uint16_t WINL;                              /**< Watchdog Window Register Low, offset: 0xA */
5694   __IO uint16_t REFRESH;                           /**< Watchdog Refresh Register, offset: 0xC */
5695   __IO uint16_t UNLOCK;                            /**< Watchdog Unlock Register, offset: 0xE */
5696   __IO uint16_t TMROUTH;                           /**< Watchdog Timer Output Register High, offset: 0x10 */
5697   __IO uint16_t TMROUTL;                           /**< Watchdog Timer Output Register Low, offset: 0x12 */
5698   __IO uint16_t RSTCNT;                            /**< Watchdog Reset Count Register, offset: 0x14 */
5699   __IO uint16_t PRESC;                             /**< Watchdog Prescaler Register, offset: 0x16 */
5700 } WDOG_Type;
5701
5702 /* ----------------------------------------------------------------------------
5703    -- WDOG Register Masks
5704    ---------------------------------------------------------------------------- */
5705
5706 /**
5707  * @addtogroup WDOG_Register_Masks WDOG Register Masks
5708  * @{
5709  */
5710
5711 /* STCTRLH Bit Fields */
5712 #define WDOG_STCTRLH_WDOGEN_MASK                 0x1u
5713 #define WDOG_STCTRLH_WDOGEN_SHIFT                0
5714 #define WDOG_STCTRLH_CLKSRC_MASK                 0x2u
5715 #define WDOG_STCTRLH_CLKSRC_SHIFT                1
5716 #define WDOG_STCTRLH_IRQRSTEN_MASK               0x4u
5717 #define WDOG_STCTRLH_IRQRSTEN_SHIFT              2
5718 #define WDOG_STCTRLH_WINEN_MASK                  0x8u
5719 #define WDOG_STCTRLH_WINEN_SHIFT                 3
5720 #define WDOG_STCTRLH_ALLOWUPDATE_MASK            0x10u
5721 #define WDOG_STCTRLH_ALLOWUPDATE_SHIFT           4
5722 #define WDOG_STCTRLH_DBGEN_MASK                  0x20u
5723 #define WDOG_STCTRLH_DBGEN_SHIFT                 5
5724 #define WDOG_STCTRLH_STOPEN_MASK                 0x40u
5725 #define WDOG_STCTRLH_STOPEN_SHIFT                6
5726 #define WDOG_STCTRLH_WAITEN_MASK                 0x80u
5727 #define WDOG_STCTRLH_WAITEN_SHIFT                7
5728 #define WDOG_STCTRLH_TESTWDOG_MASK               0x400u
5729 #define WDOG_STCTRLH_TESTWDOG_SHIFT              10
5730 #define WDOG_STCTRLH_TESTSEL_MASK                0x800u
5731 #define WDOG_STCTRLH_TESTSEL_SHIFT               11
5732 #define WDOG_STCTRLH_BYTESEL_MASK                0x3000u
5733 #define WDOG_STCTRLH_BYTESEL_SHIFT               12
5734 #define WDOG_STCTRLH_BYTESEL(x)                  (((uint16_t)(((uint16_t)(x))<<WDOG_STCTRLH_BYTESEL_SHIFT))&WDOG_STCTRLH_BYTESEL_MASK)
5735 #define WDOG_STCTRLH_DISTESTWDOG_MASK            0x4000u
5736 #define WDOG_STCTRLH_DISTESTWDOG_SHIFT           14
5737 /* STCTRLL Bit Fields */
5738 #define WDOG_STCTRLL_INTFLG_MASK                 0x8000u
5739 #define WDOG_STCTRLL_INTFLG_SHIFT                15
5740 /* TOVALH Bit Fields */
5741 #define WDOG_TOVALH_TOVALHIGH_MASK               0xFFFFu
5742 #define WDOG_TOVALH_TOVALHIGH_SHIFT              0
5743 #define WDOG_TOVALH_TOVALHIGH(x)                 (((uint16_t)(((uint16_t)(x))<<WDOG_TOVALH_TOVALHIGH_SHIFT))&WDOG_TOVALH_TOVALHIGH_MASK)
5744 /* TOVALL Bit Fields */
5745 #define WDOG_TOVALL_TOVALLOW_MASK                0xFFFFu
5746 #define WDOG_TOVALL_TOVALLOW_SHIFT               0
5747 #define WDOG_TOVALL_TOVALLOW(x)                  (((uint16_t)(((uint16_t)(x))<<WDOG_TOVALL_TOVALLOW_SHIFT))&WDOG_TOVALL_TOVALLOW_MASK)
5748 /* WINH Bit Fields */
5749 #define WDOG_WINH_WINHIGH_MASK                   0xFFFFu
5750 #define WDOG_WINH_WINHIGH_SHIFT                  0
5751 #define WDOG_WINH_WINHIGH(x)                     (((uint16_t)(((uint16_t)(x))<<WDOG_WINH_WINHIGH_SHIFT))&WDOG_WINH_WINHIGH_MASK)
5752 /* WINL Bit Fields */
5753 #define WDOG_WINL_WINLOW_MASK                    0xFFFFu
5754 #define WDOG_WINL_WINLOW_SHIFT                   0
5755 #define WDOG_WINL_WINLOW(x)                      (((uint16_t)(((uint16_t)(x))<<WDOG_WINL_WINLOW_SHIFT))&WDOG_WINL_WINLOW_MASK)
5756 /* REFRESH Bit Fields */
5757 #define WDOG_REFRESH_WDOGREFRESH_MASK            0xFFFFu
5758 #define WDOG_REFRESH_WDOGREFRESH_SHIFT           0
5759 #define WDOG_REFRESH_WDOGREFRESH(x)              (((uint16_t)(((uint16_t)(x))<<WDOG_REFRESH_WDOGREFRESH_SHIFT))&WDOG_REFRESH_WDOGREFRESH_MASK)
5760 /* UNLOCK Bit Fields */
5761 #define WDOG_UNLOCK_WDOGUNLOCK_MASK              0xFFFFu
5762 #define WDOG_UNLOCK_WDOGUNLOCK_SHIFT             0
5763 #define WDOG_UNLOCK_WDOGUNLOCK(x)                (((uint16_t)(((uint16_t)(x))<<WDOG_UNLOCK_WDOGUNLOCK_SHIFT))&WDOG_UNLOCK_WDOGUNLOCK_MASK)
5764 /* TMROUTH Bit Fields */
5765 #define WDOG_TMROUTH_TIMEROUTHIGH_MASK           0xFFFFu
5766 #define WDOG_TMROUTH_TIMEROUTHIGH_SHIFT          0
5767 #define WDOG_TMROUTH_TIMEROUTHIGH(x)             (((uint16_t)(((uint16_t)(x))<<WDOG_TMROUTH_TIMEROUTHIGH_SHIFT))&WDOG_TMROUTH_TIMEROUTHIGH_MASK)
5768 /* TMROUTL Bit Fields */
5769 #define WDOG_TMROUTL_TIMEROUTLOW_MASK            0xFFFFu
5770 #define WDOG_TMROUTL_TIMEROUTLOW_SHIFT           0
5771 #define WDOG_TMROUTL_TIMEROUTLOW(x)              (((uint16_t)(((uint16_t)(x))<<WDOG_TMROUTL_TIMEROUTLOW_SHIFT))&WDOG_TMROUTL_TIMEROUTLOW_MASK)
5772 /* RSTCNT Bit Fields */
5773 #define WDOG_RSTCNT_RSTCNT_MASK                  0xFFFFu
5774 #define WDOG_RSTCNT_RSTCNT_SHIFT                 0
5775 #define WDOG_RSTCNT_RSTCNT(x)                    (((uint16_t)(((uint16_t)(x))<<WDOG_RSTCNT_RSTCNT_SHIFT))&WDOG_RSTCNT_RSTCNT_MASK)
5776 /* PRESC Bit Fields */
5777 #define WDOG_PRESC_PRESCVAL_MASK                 0x700u
5778 #define WDOG_PRESC_PRESCVAL_SHIFT                8
5779 #define WDOG_PRESC_PRESCVAL(x)                   (((uint16_t)(((uint16_t)(x))<<WDOG_PRESC_PRESCVAL_SHIFT))&WDOG_PRESC_PRESCVAL_MASK)
5780
5781 /**
5782  * @}
5783  */ /* end of group WDOG_Register_Masks */
5784
5785
5786 /* WDOG - Peripheral instance base addresses */
5787 /** Peripheral WDOG base address */
5788 #define WDOG_BASE                                (0x40052000u)
5789 /** Peripheral WDOG base pointer */
5790 #define WDOG                                     ((WDOG_Type *)WDOG_BASE)
5791
5792 /**
5793  * @}
5794  */ /* end of group WDOG_Peripheral_Access_Layer */
5795
5796
5797 /*
5798 ** End of section using anonymous unions
5799 */
5800
5801 #if defined(__ARMCC_VERSION)
5802   #pragma pop
5803 #elif defined(__CWCC__)
5804   #pragma pop
5805 #elif defined(__GNUC__)
5806   /* leave anonymous unions enabled */
5807 #elif defined(__IAR_SYSTEMS_ICC__)
5808   #pragma language=default
5809 #else
5810   #error Not supported compiler type
5811 #endif
5812
5813 /**
5814  * @}
5815  */ /* end of group Peripheral_access_layer */
5816
5817
5818 /* ----------------------------------------------------------------------------
5819    -- Backward Compatibility
5820    ---------------------------------------------------------------------------- */
5821
5822 /**
5823  * @addtogroup Backward_Compatibility_Symbols Backward Compatibility
5824  * @{
5825  */
5826
5827 /* No backward compatibility issues. */
5828
5829 /**
5830  * @}
5831  */ /* end of group Backward_Compatibility_Symbols */
5832
5833
5834 #endif  /* #if !defined(MK20D5_H_) */
5835
5836 /* MK20D5.h, eof. */