fix for mbed lib issue 3 (i2c problem) see also https://mbed.org/users/mbed_official/code/mbed/issues/3 affected implementations: LPC812, LPC11U24, LPC1768, LPC2368, LPC4088
Fork of mbed-src by
MKL25Z4.h
00001 /* 00002 ** ################################################################### 00003 ** Processor: MKL25Z128VLK4 00004 ** Compilers: ARM Compiler 00005 ** Freescale C/C++ for Embedded ARM 00006 ** GNU C Compiler 00007 ** IAR ANSI C/C++ Compiler for ARM 00008 ** 00009 ** Reference manual: KL25RM, Rev.1, Jun 2012 00010 ** Version: rev. 1.1, 2012-06-21 00011 ** 00012 ** Abstract: 00013 ** CMSIS Peripheral Access Layer for MKL25Z4 00014 ** 00015 ** Copyright: 1997 - 2012 Freescale Semiconductor, Inc. All Rights Reserved. 00016 ** 00017 ** http: www.freescale.com 00018 ** mail: support@freescale.com 00019 ** 00020 ** Revisions: 00021 ** - rev. 1.0 (2012-06-13) 00022 ** Initial version. 00023 ** - rev. 1.1 (2012-06-21) 00024 ** Update according to reference manual rev. 1. 00025 ** 00026 ** ################################################################### 00027 */ 00028 00029 /** 00030 * @file MKL25Z4.h 00031 * @version 1.1 00032 * @date 2012-06-21 00033 * @brief CMSIS Peripheral Access Layer for MKL25Z4 00034 * 00035 * CMSIS Peripheral Access Layer for MKL25Z4 00036 */ 00037 00038 #if !defined(MKL25Z4_H_) 00039 #define MKL25Z4_H_ /**< Symbol preventing repeated inclusion */ 00040 00041 /** Memory map major version (memory maps with equal major version number are 00042 * compatible) */ 00043 #define MCU_MEM_MAP_VERSION 0x0100u 00044 /** Memory map minor version */ 00045 #define MCU_MEM_MAP_VERSION_MINOR 0x0001u 00046 00047 00048 /* ---------------------------------------------------------------------------- 00049 -- Interrupt vector numbers 00050 ---------------------------------------------------------------------------- */ 00051 00052 /** 00053 * @addtogroup Interrupt_vector_numbers Interrupt vector numbers 00054 * @{ 00055 */ 00056 00057 /** Interrupt Number Definitions */ 00058 typedef enum IRQn { 00059 /* Core interrupts */ 00060 NonMaskableInt_IRQn = -14, /**< Non Maskable Interrupt */ 00061 HardFault_IRQn = -13, /**< Cortex-M0 SV Hard Fault Interrupt */ 00062 SVCall_IRQn = -5, /**< Cortex-M0 SV Call Interrupt */ 00063 PendSV_IRQn = -2, /**< Cortex-M0 Pend SV Interrupt */ 00064 SysTick_IRQn = -1, /**< Cortex-M0 System Tick Interrupt */ 00065 00066 /* Device specific interrupts */ 00067 DMA0_IRQn = 0, /**< DMA channel 0 transfer complete interrupt */ 00068 DMA1_IRQn = 1, /**< DMA channel 1 transfer complete interrupt */ 00069 DMA2_IRQn = 2, /**< DMA channel 2 transfer complete interrupt */ 00070 DMA3_IRQn = 3, /**< DMA channel 3 transfer complete interrupt */ 00071 Reserved20_IRQn = 4, /**< Reserved interrupt 20 */ 00072 FTFA_IRQn = 5, /**< FTFA interrupt */ 00073 LVD_LVW_IRQn = 6, /**< Low Voltage Detect, Low Voltage Warning */ 00074 LLW_IRQn = 7, /**< Low Leakage Wakeup */ 00075 I2C0_IRQn = 8, /**< I2C0 interrupt */ 00076 I2C1_IRQn = 9, /**< I2C0 interrupt 25 */ 00077 SPI0_IRQn = 10, /**< SPI0 interrupt */ 00078 SPI1_IRQn = 11, /**< SPI1 interrupt */ 00079 UART0_IRQn = 12, /**< UART0 status/error interrupt */ 00080 UART1_IRQn = 13, /**< UART1 status/error interrupt */ 00081 UART2_IRQn = 14, /**< UART2 status/error interrupt */ 00082 ADC0_IRQn = 15, /**< ADC0 interrupt */ 00083 CMP0_IRQn = 16, /**< CMP0 interrupt */ 00084 TPM0_IRQn = 17, /**< TPM0 fault, overflow and channels interrupt */ 00085 TPM1_IRQn = 18, /**< TPM1 fault, overflow and channels interrupt */ 00086 TPM2_IRQn = 19, /**< TPM2 fault, overflow and channels interrupt */ 00087 RTC_IRQn = 20, /**< RTC interrupt */ 00088 RTC_Seconds_IRQn = 21, /**< RTC seconds interrupt */ 00089 PIT_IRQn = 22, /**< PIT timer interrupt */ 00090 Reserved39_IRQn = 23, /**< Reserved interrupt 39 */ 00091 USB0_IRQn = 24, /**< USB0 interrupt */ 00092 DAC0_IRQn = 25, /**< DAC interrupt */ 00093 TSI0_IRQn = 26, /**< TSI0 interrupt */ 00094 MCG_IRQn = 27, /**< MCG interrupt */ 00095 LPTimer_IRQn = 28, /**< LPTimer interrupt */ 00096 Reserved45_IRQn = 29, /**< Reserved interrupt 45 */ 00097 PORTA_IRQn = 30, /**< Port A interrupt */ 00098 PORTD_IRQn = 31 /**< Port D interrupt */ 00099 } IRQn_Type ; 00100 00101 /** 00102 * @} 00103 */ /* end of group Interrupt_vector_numbers */ 00104 00105 00106 /* ---------------------------------------------------------------------------- 00107 -- Cortex M0 Core Configuration 00108 ---------------------------------------------------------------------------- */ 00109 00110 /** 00111 * @addtogroup Cortex_Core_Configuration Cortex M0 Core Configuration 00112 * @{ 00113 */ 00114 00115 #define __CM0PLUS_REV 0x0000 /**< Core revision r0p0 */ 00116 #define __MPU_PRESENT 0 /**< Defines if an MPU is present or not */ 00117 #define __VTOR_PRESENT 1 /**< Defines if an MPU is present or not */ 00118 #define __NVIC_PRIO_BITS 2 /**< Number of priority bits implemented in the NVIC */ 00119 #define __Vendor_SysTickConfig 0 /**< Vendor specific implementation of SysTickConfig is defined */ 00120 00121 #include "core_cm0plus.h" /* Core Peripheral Access Layer */ 00122 #include "system_MKL25Z4.h" /* Device specific configuration file */ 00123 00124 /** 00125 * @} 00126 */ /* end of group Cortex_Core_Configuration */ 00127 00128 00129 /* ---------------------------------------------------------------------------- 00130 -- Device Peripheral Access Layer 00131 ---------------------------------------------------------------------------- */ 00132 00133 /** 00134 * @addtogroup Peripheral_access_layer Device Peripheral Access Layer 00135 * @{ 00136 */ 00137 00138 00139 /* 00140 ** Start of section using anonymous unions 00141 */ 00142 00143 #if defined(__ARMCC_VERSION) 00144 #pragma push 00145 #pragma anon_unions 00146 #elif defined(__CWCC__) 00147 #pragma push 00148 #pragma cpp_extensions on 00149 #elif defined(__GNUC__) 00150 /* anonymous unions are enabled by default */ 00151 #elif defined(__IAR_SYSTEMS_ICC__) 00152 #pragma language=extended 00153 #else 00154 #error Not supported compiler type 00155 #endif 00156 00157 /* ---------------------------------------------------------------------------- 00158 -- ADC Peripheral Access Layer 00159 ---------------------------------------------------------------------------- */ 00160 00161 /** 00162 * @addtogroup ADC_Peripheral_Access_Layer ADC Peripheral Access Layer 00163 * @{ 00164 */ 00165 00166 /** ADC - Register Layout Typedef */ 00167 typedef struct { 00168 __IO uint32_t SC1[2]; /**< ADC Status and Control Registers 1, array offset: 0x0, array step: 0x4 */ 00169 __IO uint32_t CFG1; /**< ADC Configuration Register 1, offset: 0x8 */ 00170 __IO uint32_t CFG2; /**< ADC Configuration Register 2, offset: 0xC */ 00171 __I uint32_t R[2]; /**< ADC Data Result Register, array offset: 0x10, array step: 0x4 */ 00172 __IO uint32_t CV1; /**< Compare Value Registers, offset: 0x18 */ 00173 __IO uint32_t CV2; /**< Compare Value Registers, offset: 0x1C */ 00174 __IO uint32_t SC2; /**< Status and Control Register 2, offset: 0x20 */ 00175 __IO uint32_t SC3; /**< Status and Control Register 3, offset: 0x24 */ 00176 __IO uint32_t OFS; /**< ADC Offset Correction Register, offset: 0x28 */ 00177 __IO uint32_t PG; /**< ADC Plus-Side Gain Register, offset: 0x2C */ 00178 __IO uint32_t MG; /**< ADC Minus-Side Gain Register, offset: 0x30 */ 00179 __IO uint32_t CLPD; /**< ADC Plus-Side General Calibration Value Register, offset: 0x34 */ 00180 __IO uint32_t CLPS; /**< ADC Plus-Side General Calibration Value Register, offset: 0x38 */ 00181 __IO uint32_t CLP4; /**< ADC Plus-Side General Calibration Value Register, offset: 0x3C */ 00182 __IO uint32_t CLP3; /**< ADC Plus-Side General Calibration Value Register, offset: 0x40 */ 00183 __IO uint32_t CLP2; /**< ADC Plus-Side General Calibration Value Register, offset: 0x44 */ 00184 __IO uint32_t CLP1; /**< ADC Plus-Side General Calibration Value Register, offset: 0x48 */ 00185 __IO uint32_t CLP0; /**< ADC Plus-Side General Calibration Value Register, offset: 0x4C */ 00186 uint8_t RESERVED_0[4]; 00187 __IO uint32_t CLMD; /**< ADC Minus-Side General Calibration Value Register, offset: 0x54 */ 00188 __IO uint32_t CLMS; /**< ADC Minus-Side General Calibration Value Register, offset: 0x58 */ 00189 __IO uint32_t CLM4; /**< ADC Minus-Side General Calibration Value Register, offset: 0x5C */ 00190 __IO uint32_t CLM3; /**< ADC Minus-Side General Calibration Value Register, offset: 0x60 */ 00191 __IO uint32_t CLM2; /**< ADC Minus-Side General Calibration Value Register, offset: 0x64 */ 00192 __IO uint32_t CLM1; /**< ADC Minus-Side General Calibration Value Register, offset: 0x68 */ 00193 __IO uint32_t CLM0; /**< ADC Minus-Side General Calibration Value Register, offset: 0x6C */ 00194 } ADC_Type; 00195 00196 /* ---------------------------------------------------------------------------- 00197 -- ADC Register Masks 00198 ---------------------------------------------------------------------------- */ 00199 00200 /** 00201 * @addtogroup ADC_Register_Masks ADC Register Masks 00202 * @{ 00203 */ 00204 00205 /* SC1 Bit Fields */ 00206 #define ADC_SC1_ADCH_MASK 0x1Fu 00207 #define ADC_SC1_ADCH_SHIFT 0 00208 #define ADC_SC1_ADCH(x) (((uint32_t)(((uint32_t)(x))<<ADC_SC1_ADCH_SHIFT))&ADC_SC1_ADCH_MASK) 00209 #define ADC_SC1_DIFF_MASK 0x20u 00210 #define ADC_SC1_DIFF_SHIFT 5 00211 #define ADC_SC1_AIEN_MASK 0x40u 00212 #define ADC_SC1_AIEN_SHIFT 6 00213 #define ADC_SC1_COCO_MASK 0x80u 00214 #define ADC_SC1_COCO_SHIFT 7 00215 /* CFG1 Bit Fields */ 00216 #define ADC_CFG1_ADICLK_MASK 0x3u 00217 #define ADC_CFG1_ADICLK_SHIFT 0 00218 #define ADC_CFG1_ADICLK(x) (((uint32_t)(((uint32_t)(x))<<ADC_CFG1_ADICLK_SHIFT))&ADC_CFG1_ADICLK_MASK) 00219 #define ADC_CFG1_MODE_MASK 0xCu 00220 #define ADC_CFG1_MODE_SHIFT 2 00221 #define ADC_CFG1_MODE(x) (((uint32_t)(((uint32_t)(x))<<ADC_CFG1_MODE_SHIFT))&ADC_CFG1_MODE_MASK) 00222 #define ADC_CFG1_ADLSMP_MASK 0x10u 00223 #define ADC_CFG1_ADLSMP_SHIFT 4 00224 #define ADC_CFG1_ADIV_MASK 0x60u 00225 #define ADC_CFG1_ADIV_SHIFT 5 00226 #define ADC_CFG1_ADIV(x) (((uint32_t)(((uint32_t)(x))<<ADC_CFG1_ADIV_SHIFT))&ADC_CFG1_ADIV_MASK) 00227 #define ADC_CFG1_ADLPC_MASK 0x80u 00228 #define ADC_CFG1_ADLPC_SHIFT 7 00229 /* CFG2 Bit Fields */ 00230 #define ADC_CFG2_ADLSTS_MASK 0x3u 00231 #define ADC_CFG2_ADLSTS_SHIFT 0 00232 #define ADC_CFG2_ADLSTS(x) (((uint32_t)(((uint32_t)(x))<<ADC_CFG2_ADLSTS_SHIFT))&ADC_CFG2_ADLSTS_MASK) 00233 #define ADC_CFG2_ADHSC_MASK 0x4u 00234 #define ADC_CFG2_ADHSC_SHIFT 2 00235 #define ADC_CFG2_ADACKEN_MASK 0x8u 00236 #define ADC_CFG2_ADACKEN_SHIFT 3 00237 #define ADC_CFG2_MUXSEL_MASK 0x10u 00238 #define ADC_CFG2_MUXSEL_SHIFT 4 00239 /* R Bit Fields */ 00240 #define ADC_R_D_MASK 0xFFFFu 00241 #define ADC_R_D_SHIFT 0 00242 #define ADC_R_D(x) (((uint32_t)(((uint32_t)(x))<<ADC_R_D_SHIFT))&ADC_R_D_MASK) 00243 /* CV1 Bit Fields */ 00244 #define ADC_CV1_CV_MASK 0xFFFFu 00245 #define ADC_CV1_CV_SHIFT 0 00246 #define ADC_CV1_CV(x) (((uint32_t)(((uint32_t)(x))<<ADC_CV1_CV_SHIFT))&ADC_CV1_CV_MASK) 00247 /* CV2 Bit Fields */ 00248 #define ADC_CV2_CV_MASK 0xFFFFu 00249 #define ADC_CV2_CV_SHIFT 0 00250 #define ADC_CV2_CV(x) (((uint32_t)(((uint32_t)(x))<<ADC_CV2_CV_SHIFT))&ADC_CV2_CV_MASK) 00251 /* SC2 Bit Fields */ 00252 #define ADC_SC2_REFSEL_MASK 0x3u 00253 #define ADC_SC2_REFSEL_SHIFT 0 00254 #define ADC_SC2_REFSEL(x) (((uint32_t)(((uint32_t)(x))<<ADC_SC2_REFSEL_SHIFT))&ADC_SC2_REFSEL_MASK) 00255 #define ADC_SC2_DMAEN_MASK 0x4u 00256 #define ADC_SC2_DMAEN_SHIFT 2 00257 #define ADC_SC2_ACREN_MASK 0x8u 00258 #define ADC_SC2_ACREN_SHIFT 3 00259 #define ADC_SC2_ACFGT_MASK 0x10u 00260 #define ADC_SC2_ACFGT_SHIFT 4 00261 #define ADC_SC2_ACFE_MASK 0x20u 00262 #define ADC_SC2_ACFE_SHIFT 5 00263 #define ADC_SC2_ADTRG_MASK 0x40u 00264 #define ADC_SC2_ADTRG_SHIFT 6 00265 #define ADC_SC2_ADACT_MASK 0x80u 00266 #define ADC_SC2_ADACT_SHIFT 7 00267 /* SC3 Bit Fields */ 00268 #define ADC_SC3_AVGS_MASK 0x3u 00269 #define ADC_SC3_AVGS_SHIFT 0 00270 #define ADC_SC3_AVGS(x) (((uint32_t)(((uint32_t)(x))<<ADC_SC3_AVGS_SHIFT))&ADC_SC3_AVGS_MASK) 00271 #define ADC_SC3_AVGE_MASK 0x4u 00272 #define ADC_SC3_AVGE_SHIFT 2 00273 #define ADC_SC3_ADCO_MASK 0x8u 00274 #define ADC_SC3_ADCO_SHIFT 3 00275 #define ADC_SC3_CALF_MASK 0x40u 00276 #define ADC_SC3_CALF_SHIFT 6 00277 #define ADC_SC3_CAL_MASK 0x80u 00278 #define ADC_SC3_CAL_SHIFT 7 00279 /* OFS Bit Fields */ 00280 #define ADC_OFS_OFS_MASK 0xFFFFu 00281 #define ADC_OFS_OFS_SHIFT 0 00282 #define ADC_OFS_OFS(x) (((uint32_t)(((uint32_t)(x))<<ADC_OFS_OFS_SHIFT))&ADC_OFS_OFS_MASK) 00283 /* PG Bit Fields */ 00284 #define ADC_PG_PG_MASK 0xFFFFu 00285 #define ADC_PG_PG_SHIFT 0 00286 #define ADC_PG_PG(x) (((uint32_t)(((uint32_t)(x))<<ADC_PG_PG_SHIFT))&ADC_PG_PG_MASK) 00287 /* MG Bit Fields */ 00288 #define ADC_MG_MG_MASK 0xFFFFu 00289 #define ADC_MG_MG_SHIFT 0 00290 #define ADC_MG_MG(x) (((uint32_t)(((uint32_t)(x))<<ADC_MG_MG_SHIFT))&ADC_MG_MG_MASK) 00291 /* CLPD Bit Fields */ 00292 #define ADC_CLPD_CLPD_MASK 0x3Fu 00293 #define ADC_CLPD_CLPD_SHIFT 0 00294 #define ADC_CLPD_CLPD(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLPD_CLPD_SHIFT))&ADC_CLPD_CLPD_MASK) 00295 /* CLPS Bit Fields */ 00296 #define ADC_CLPS_CLPS_MASK 0x3Fu 00297 #define ADC_CLPS_CLPS_SHIFT 0 00298 #define ADC_CLPS_CLPS(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLPS_CLPS_SHIFT))&ADC_CLPS_CLPS_MASK) 00299 /* CLP4 Bit Fields */ 00300 #define ADC_CLP4_CLP4_MASK 0x3FFu 00301 #define ADC_CLP4_CLP4_SHIFT 0 00302 #define ADC_CLP4_CLP4(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLP4_CLP4_SHIFT))&ADC_CLP4_CLP4_MASK) 00303 /* CLP3 Bit Fields */ 00304 #define ADC_CLP3_CLP3_MASK 0x1FFu 00305 #define ADC_CLP3_CLP3_SHIFT 0 00306 #define ADC_CLP3_CLP3(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLP3_CLP3_SHIFT))&ADC_CLP3_CLP3_MASK) 00307 /* CLP2 Bit Fields */ 00308 #define ADC_CLP2_CLP2_MASK 0xFFu 00309 #define ADC_CLP2_CLP2_SHIFT 0 00310 #define ADC_CLP2_CLP2(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLP2_CLP2_SHIFT))&ADC_CLP2_CLP2_MASK) 00311 /* CLP1 Bit Fields */ 00312 #define ADC_CLP1_CLP1_MASK 0x7Fu 00313 #define ADC_CLP1_CLP1_SHIFT 0 00314 #define ADC_CLP1_CLP1(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLP1_CLP1_SHIFT))&ADC_CLP1_CLP1_MASK) 00315 /* CLP0 Bit Fields */ 00316 #define ADC_CLP0_CLP0_MASK 0x3Fu 00317 #define ADC_CLP0_CLP0_SHIFT 0 00318 #define ADC_CLP0_CLP0(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLP0_CLP0_SHIFT))&ADC_CLP0_CLP0_MASK) 00319 /* CLMD Bit Fields */ 00320 #define ADC_CLMD_CLMD_MASK 0x3Fu 00321 #define ADC_CLMD_CLMD_SHIFT 0 00322 #define ADC_CLMD_CLMD(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLMD_CLMD_SHIFT))&ADC_CLMD_CLMD_MASK) 00323 /* CLMS Bit Fields */ 00324 #define ADC_CLMS_CLMS_MASK 0x3Fu 00325 #define ADC_CLMS_CLMS_SHIFT 0 00326 #define ADC_CLMS_CLMS(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLMS_CLMS_SHIFT))&ADC_CLMS_CLMS_MASK) 00327 /* CLM4 Bit Fields */ 00328 #define ADC_CLM4_CLM4_MASK 0x3FFu 00329 #define ADC_CLM4_CLM4_SHIFT 0 00330 #define ADC_CLM4_CLM4(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLM4_CLM4_SHIFT))&ADC_CLM4_CLM4_MASK) 00331 /* CLM3 Bit Fields */ 00332 #define ADC_CLM3_CLM3_MASK 0x1FFu 00333 #define ADC_CLM3_CLM3_SHIFT 0 00334 #define ADC_CLM3_CLM3(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLM3_CLM3_SHIFT))&ADC_CLM3_CLM3_MASK) 00335 /* CLM2 Bit Fields */ 00336 #define ADC_CLM2_CLM2_MASK 0xFFu 00337 #define ADC_CLM2_CLM2_SHIFT 0 00338 #define ADC_CLM2_CLM2(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLM2_CLM2_SHIFT))&ADC_CLM2_CLM2_MASK) 00339 /* CLM1 Bit Fields */ 00340 #define ADC_CLM1_CLM1_MASK 0x7Fu 00341 #define ADC_CLM1_CLM1_SHIFT 0 00342 #define ADC_CLM1_CLM1(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLM1_CLM1_SHIFT))&ADC_CLM1_CLM1_MASK) 00343 /* CLM0 Bit Fields */ 00344 #define ADC_CLM0_CLM0_MASK 0x3Fu 00345 #define ADC_CLM0_CLM0_SHIFT 0 00346 #define ADC_CLM0_CLM0(x) (((uint32_t)(((uint32_t)(x))<<ADC_CLM0_CLM0_SHIFT))&ADC_CLM0_CLM0_MASK) 00347 00348 /** 00349 * @} 00350 */ /* end of group ADC_Register_Masks */ 00351 00352 00353 /* ADC - Peripheral instance base addresses */ 00354 /** Peripheral ADC0 base address */ 00355 #define ADC0_BASE (0x4003B000u) 00356 /** Peripheral ADC0 base pointer */ 00357 #define ADC0 ((ADC_Type *)ADC0_BASE) 00358 /** Array initializer of ADC peripheral base pointers */ 00359 #define ADC_BASES { ADC0 } 00360 00361 /** 00362 * @} 00363 */ /* end of group ADC_Peripheral_Access_Layer */ 00364 00365 00366 /* ---------------------------------------------------------------------------- 00367 -- CMP Peripheral Access Layer 00368 ---------------------------------------------------------------------------- */ 00369 00370 /** 00371 * @addtogroup CMP_Peripheral_Access_Layer CMP Peripheral Access Layer 00372 * @{ 00373 */ 00374 00375 /** CMP - Register Layout Typedef */ 00376 typedef struct { 00377 __IO uint8_t CR0; /**< CMP Control Register 0, offset: 0x0 */ 00378 __IO uint8_t CR1; /**< CMP Control Register 1, offset: 0x1 */ 00379 __IO uint8_t FPR; /**< CMP Filter Period Register, offset: 0x2 */ 00380 __IO uint8_t SCR; /**< CMP Status and Control Register, offset: 0x3 */ 00381 __IO uint8_t DACCR; /**< DAC Control Register, offset: 0x4 */ 00382 __IO uint8_t MUXCR; /**< MUX Control Register, offset: 0x5 */ 00383 } CMP_Type; 00384 00385 /* ---------------------------------------------------------------------------- 00386 -- CMP Register Masks 00387 ---------------------------------------------------------------------------- */ 00388 00389 /** 00390 * @addtogroup CMP_Register_Masks CMP Register Masks 00391 * @{ 00392 */ 00393 00394 /* CR0 Bit Fields */ 00395 #define CMP_CR0_HYSTCTR_MASK 0x3u 00396 #define CMP_CR0_HYSTCTR_SHIFT 0 00397 #define CMP_CR0_HYSTCTR(x) (((uint8_t)(((uint8_t)(x))<<CMP_CR0_HYSTCTR_SHIFT))&CMP_CR0_HYSTCTR_MASK) 00398 #define CMP_CR0_FILTER_CNT_MASK 0x70u 00399 #define CMP_CR0_FILTER_CNT_SHIFT 4 00400 #define CMP_CR0_FILTER_CNT(x) (((uint8_t)(((uint8_t)(x))<<CMP_CR0_FILTER_CNT_SHIFT))&CMP_CR0_FILTER_CNT_MASK) 00401 /* CR1 Bit Fields */ 00402 #define CMP_CR1_EN_MASK 0x1u 00403 #define CMP_CR1_EN_SHIFT 0 00404 #define CMP_CR1_OPE_MASK 0x2u 00405 #define CMP_CR1_OPE_SHIFT 1 00406 #define CMP_CR1_COS_MASK 0x4u 00407 #define CMP_CR1_COS_SHIFT 2 00408 #define CMP_CR1_INV_MASK 0x8u 00409 #define CMP_CR1_INV_SHIFT 3 00410 #define CMP_CR1_PMODE_MASK 0x10u 00411 #define CMP_CR1_PMODE_SHIFT 4 00412 #define CMP_CR1_TRIGM_MASK 0x20u 00413 #define CMP_CR1_TRIGM_SHIFT 5 00414 #define CMP_CR1_WE_MASK 0x40u 00415 #define CMP_CR1_WE_SHIFT 6 00416 #define CMP_CR1_SE_MASK 0x80u 00417 #define CMP_CR1_SE_SHIFT 7 00418 /* FPR Bit Fields */ 00419 #define CMP_FPR_FILT_PER_MASK 0xFFu 00420 #define CMP_FPR_FILT_PER_SHIFT 0 00421 #define CMP_FPR_FILT_PER(x) (((uint8_t)(((uint8_t)(x))<<CMP_FPR_FILT_PER_SHIFT))&CMP_FPR_FILT_PER_MASK) 00422 /* SCR Bit Fields */ 00423 #define CMP_SCR_COUT_MASK 0x1u 00424 #define CMP_SCR_COUT_SHIFT 0 00425 #define CMP_SCR_CFF_MASK 0x2u 00426 #define CMP_SCR_CFF_SHIFT 1 00427 #define CMP_SCR_CFR_MASK 0x4u 00428 #define CMP_SCR_CFR_SHIFT 2 00429 #define CMP_SCR_IEF_MASK 0x8u 00430 #define CMP_SCR_IEF_SHIFT 3 00431 #define CMP_SCR_IER_MASK 0x10u 00432 #define CMP_SCR_IER_SHIFT 4 00433 #define CMP_SCR_DMAEN_MASK 0x40u 00434 #define CMP_SCR_DMAEN_SHIFT 6 00435 /* DACCR Bit Fields */ 00436 #define CMP_DACCR_VOSEL_MASK 0x3Fu 00437 #define CMP_DACCR_VOSEL_SHIFT 0 00438 #define CMP_DACCR_VOSEL(x) (((uint8_t)(((uint8_t)(x))<<CMP_DACCR_VOSEL_SHIFT))&CMP_DACCR_VOSEL_MASK) 00439 #define CMP_DACCR_VRSEL_MASK 0x40u 00440 #define CMP_DACCR_VRSEL_SHIFT 6 00441 #define CMP_DACCR_DACEN_MASK 0x80u 00442 #define CMP_DACCR_DACEN_SHIFT 7 00443 /* MUXCR Bit Fields */ 00444 #define CMP_MUXCR_MSEL_MASK 0x7u 00445 #define CMP_MUXCR_MSEL_SHIFT 0 00446 #define CMP_MUXCR_MSEL(x) (((uint8_t)(((uint8_t)(x))<<CMP_MUXCR_MSEL_SHIFT))&CMP_MUXCR_MSEL_MASK) 00447 #define CMP_MUXCR_PSEL_MASK 0x38u 00448 #define CMP_MUXCR_PSEL_SHIFT 3 00449 #define CMP_MUXCR_PSEL(x) (((uint8_t)(((uint8_t)(x))<<CMP_MUXCR_PSEL_SHIFT))&CMP_MUXCR_PSEL_MASK) 00450 #define CMP_MUXCR_PSTM_MASK 0x40u 00451 #define CMP_MUXCR_PSTM_SHIFT 6 00452 00453 /** 00454 * @} 00455 */ /* end of group CMP_Register_Masks */ 00456 00457 00458 /* CMP - Peripheral instance base addresses */ 00459 /** Peripheral CMP0 base address */ 00460 #define CMP0_BASE (0x40073000u) 00461 /** Peripheral CMP0 base pointer */ 00462 #define CMP0 ((CMP_Type *)CMP0_BASE) 00463 /** Array initializer of CMP peripheral base pointers */ 00464 #define CMP_BASES { CMP0 } 00465 00466 /** 00467 * @} 00468 */ /* end of group CMP_Peripheral_Access_Layer */ 00469 00470 00471 /* ---------------------------------------------------------------------------- 00472 -- DAC Peripheral Access Layer 00473 ---------------------------------------------------------------------------- */ 00474 00475 /** 00476 * @addtogroup DAC_Peripheral_Access_Layer DAC Peripheral Access Layer 00477 * @{ 00478 */ 00479 00480 /** DAC - Register Layout Typedef */ 00481 typedef struct { 00482 struct { /* offset: 0x0, array step: 0x2 */ 00483 __IO uint8_t DATL; /**< DAC Data Low Register, array offset: 0x0, array step: 0x2 */ 00484 __IO uint8_t DATH; /**< DAC Data High Register, array offset: 0x1, array step: 0x2 */ 00485 } DAT[2]; 00486 uint8_t RESERVED_0[28]; 00487 __IO uint8_t SR; /**< DAC Status Register, offset: 0x20 */ 00488 __IO uint8_t C0; /**< DAC Control Register, offset: 0x21 */ 00489 __IO uint8_t C1; /**< DAC Control Register 1, offset: 0x22 */ 00490 __IO uint8_t C2; /**< DAC Control Register 2, offset: 0x23 */ 00491 } DAC_Type; 00492 00493 /* ---------------------------------------------------------------------------- 00494 -- DAC Register Masks 00495 ---------------------------------------------------------------------------- */ 00496 00497 /** 00498 * @addtogroup DAC_Register_Masks DAC Register Masks 00499 * @{ 00500 */ 00501 00502 /* DATL Bit Fields */ 00503 #define DAC_DATL_DATA0_MASK 0xFFu 00504 #define DAC_DATL_DATA0_SHIFT 0 00505 #define DAC_DATL_DATA0(x) (((uint8_t)(((uint8_t)(x))<<DAC_DATL_DATA0_SHIFT))&DAC_DATL_DATA0_MASK) 00506 /* DATH Bit Fields */ 00507 #define DAC_DATH_DATA1_MASK 0xFu 00508 #define DAC_DATH_DATA1_SHIFT 0 00509 #define DAC_DATH_DATA1(x) (((uint8_t)(((uint8_t)(x))<<DAC_DATH_DATA1_SHIFT))&DAC_DATH_DATA1_MASK) 00510 /* SR Bit Fields */ 00511 #define DAC_SR_DACBFRPBF_MASK 0x1u 00512 #define DAC_SR_DACBFRPBF_SHIFT 0 00513 #define DAC_SR_DACBFRPTF_MASK 0x2u 00514 #define DAC_SR_DACBFRPTF_SHIFT 1 00515 /* C0 Bit Fields */ 00516 #define DAC_C0_DACBBIEN_MASK 0x1u 00517 #define DAC_C0_DACBBIEN_SHIFT 0 00518 #define DAC_C0_DACBTIEN_MASK 0x2u 00519 #define DAC_C0_DACBTIEN_SHIFT 1 00520 #define DAC_C0_LPEN_MASK 0x8u 00521 #define DAC_C0_LPEN_SHIFT 3 00522 #define DAC_C0_DACSWTRG_MASK 0x10u 00523 #define DAC_C0_DACSWTRG_SHIFT 4 00524 #define DAC_C0_DACTRGSEL_MASK 0x20u 00525 #define DAC_C0_DACTRGSEL_SHIFT 5 00526 #define DAC_C0_DACRFS_MASK 0x40u 00527 #define DAC_C0_DACRFS_SHIFT 6 00528 #define DAC_C0_DACEN_MASK 0x80u 00529 #define DAC_C0_DACEN_SHIFT 7 00530 /* C1 Bit Fields */ 00531 #define DAC_C1_DACBFEN_MASK 0x1u 00532 #define DAC_C1_DACBFEN_SHIFT 0 00533 #define DAC_C1_DACBFMD_MASK 0x4u 00534 #define DAC_C1_DACBFMD_SHIFT 2 00535 #define DAC_C1_DMAEN_MASK 0x80u 00536 #define DAC_C1_DMAEN_SHIFT 7 00537 /* C2 Bit Fields */ 00538 #define DAC_C2_DACBFUP_MASK 0x1u 00539 #define DAC_C2_DACBFUP_SHIFT 0 00540 #define DAC_C2_DACBFRP_MASK 0x10u 00541 #define DAC_C2_DACBFRP_SHIFT 4 00542 00543 /** 00544 * @} 00545 */ /* end of group DAC_Register_Masks */ 00546 00547 00548 /* DAC - Peripheral instance base addresses */ 00549 /** Peripheral DAC0 base address */ 00550 #define DAC0_BASE (0x4003F000u) 00551 /** Peripheral DAC0 base pointer */ 00552 #define DAC0 ((DAC_Type *)DAC0_BASE) 00553 /** Array initializer of DAC peripheral base pointers */ 00554 #define DAC_BASES { DAC0 } 00555 00556 /** 00557 * @} 00558 */ /* end of group DAC_Peripheral_Access_Layer */ 00559 00560 00561 /* ---------------------------------------------------------------------------- 00562 -- DMA Peripheral Access Layer 00563 ---------------------------------------------------------------------------- */ 00564 00565 /** 00566 * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer 00567 * @{ 00568 */ 00569 00570 /** DMA - Register Layout Typedef */ 00571 typedef struct { 00572 union { /* offset: 0x0 */ 00573 __IO uint8_t REQC_ARR[4]; /**< DMA_REQC0 register...DMA_REQC3 register., array offset: 0x0, array step: 0x1 */ 00574 }; 00575 uint8_t RESERVED_0[252]; 00576 struct { /* offset: 0x100, array step: 0x10 */ 00577 __IO uint32_t SAR; /**< Source Address Register, array offset: 0x100, array step: 0x10 */ 00578 __IO uint32_t DAR; /**< Destination Address Register, array offset: 0x104, array step: 0x10 */ 00579 union { /* offset: 0x108, array step: 0x10 */ 00580 __IO uint32_t DSR_BCR; /**< DMA Status Register / Byte Count Register, array offset: 0x108, array step: 0x10 */ 00581 struct { /* offset: 0x108, array step: 0x10 */ 00582 uint8_t RESERVED_0[3]; 00583 __IO uint8_t DSR; /**< DMA_DSR0 register...DMA_DSR3 register., array offset: 0x10B, array step: 0x10 */ 00584 } DMA_DSR_ACCESS8BIT; 00585 }; 00586 __IO uint32_t DCR; /**< DMA Control Register, array offset: 0x10C, array step: 0x10 */ 00587 } DMA[4]; 00588 } DMA_Type; 00589 00590 /* ---------------------------------------------------------------------------- 00591 -- DMA Register Masks 00592 ---------------------------------------------------------------------------- */ 00593 00594 /** 00595 * @addtogroup DMA_Register_Masks DMA Register Masks 00596 * @{ 00597 */ 00598 00599 /* REQC_ARR Bit Fields */ 00600 #define DMA_REQC_ARR_DMAC_MASK 0xFu 00601 #define DMA_REQC_ARR_DMAC_SHIFT 0 00602 #define DMA_REQC_ARR_DMAC(x) (((uint8_t)(((uint8_t)(x))<<DMA_REQC_ARR_DMAC_SHIFT))&DMA_REQC_ARR_DMAC_MASK) 00603 #define DMA_REQC_ARR_CFSM_MASK 0x80u 00604 #define DMA_REQC_ARR_CFSM_SHIFT 7 00605 /* SAR Bit Fields */ 00606 #define DMA_SAR_SAR_MASK 0xFFFFFFFFu 00607 #define DMA_SAR_SAR_SHIFT 0 00608 #define DMA_SAR_SAR(x) (((uint32_t)(((uint32_t)(x))<<DMA_SAR_SAR_SHIFT))&DMA_SAR_SAR_MASK) 00609 /* DAR Bit Fields */ 00610 #define DMA_DAR_DAR_MASK 0xFFFFFFFFu 00611 #define DMA_DAR_DAR_SHIFT 0 00612 #define DMA_DAR_DAR(x) (((uint32_t)(((uint32_t)(x))<<DMA_DAR_DAR_SHIFT))&DMA_DAR_DAR_MASK) 00613 /* DSR_BCR Bit Fields */ 00614 #define DMA_DSR_BCR_BCR_MASK 0xFFFFFFu 00615 #define DMA_DSR_BCR_BCR_SHIFT 0 00616 #define DMA_DSR_BCR_BCR(x) (((uint32_t)(((uint32_t)(x))<<DMA_DSR_BCR_BCR_SHIFT))&DMA_DSR_BCR_BCR_MASK) 00617 #define DMA_DSR_BCR_DONE_MASK 0x1000000u 00618 #define DMA_DSR_BCR_DONE_SHIFT 24 00619 #define DMA_DSR_BCR_BSY_MASK 0x2000000u 00620 #define DMA_DSR_BCR_BSY_SHIFT 25 00621 #define DMA_DSR_BCR_REQ_MASK 0x4000000u 00622 #define DMA_DSR_BCR_REQ_SHIFT 26 00623 #define DMA_DSR_BCR_BED_MASK 0x10000000u 00624 #define DMA_DSR_BCR_BED_SHIFT 28 00625 #define DMA_DSR_BCR_BES_MASK 0x20000000u 00626 #define DMA_DSR_BCR_BES_SHIFT 29 00627 #define DMA_DSR_BCR_CE_MASK 0x40000000u 00628 #define DMA_DSR_BCR_CE_SHIFT 30 00629 /* DCR Bit Fields */ 00630 #define DMA_DCR_LCH2_MASK 0x3u 00631 #define DMA_DCR_LCH2_SHIFT 0 00632 #define DMA_DCR_LCH2(x) (((uint32_t)(((uint32_t)(x))<<DMA_DCR_LCH2_SHIFT))&DMA_DCR_LCH2_MASK) 00633 #define DMA_DCR_LCH1_MASK 0xCu 00634 #define DMA_DCR_LCH1_SHIFT 2 00635 #define DMA_DCR_LCH1(x) (((uint32_t)(((uint32_t)(x))<<DMA_DCR_LCH1_SHIFT))&DMA_DCR_LCH1_MASK) 00636 #define DMA_DCR_LINKCC_MASK 0x30u 00637 #define DMA_DCR_LINKCC_SHIFT 4 00638 #define DMA_DCR_LINKCC(x) (((uint32_t)(((uint32_t)(x))<<DMA_DCR_LINKCC_SHIFT))&DMA_DCR_LINKCC_MASK) 00639 #define DMA_DCR_D_REQ_MASK 0x80u 00640 #define DMA_DCR_D_REQ_SHIFT 7 00641 #define DMA_DCR_DMOD_MASK 0xF00u 00642 #define DMA_DCR_DMOD_SHIFT 8 00643 #define DMA_DCR_DMOD(x) (((uint32_t)(((uint32_t)(x))<<DMA_DCR_DMOD_SHIFT))&DMA_DCR_DMOD_MASK) 00644 #define DMA_DCR_SMOD_MASK 0xF000u 00645 #define DMA_DCR_SMOD_SHIFT 12 00646 #define DMA_DCR_SMOD(x) (((uint32_t)(((uint32_t)(x))<<DMA_DCR_SMOD_SHIFT))&DMA_DCR_SMOD_MASK) 00647 #define DMA_DCR_START_MASK 0x10000u 00648 #define DMA_DCR_START_SHIFT 16 00649 #define DMA_DCR_DSIZE_MASK 0x60000u 00650 #define DMA_DCR_DSIZE_SHIFT 17 00651 #define DMA_DCR_DSIZE(x) (((uint32_t)(((uint32_t)(x))<<DMA_DCR_DSIZE_SHIFT))&DMA_DCR_DSIZE_MASK) 00652 #define DMA_DCR_DINC_MASK 0x80000u 00653 #define DMA_DCR_DINC_SHIFT 19 00654 #define DMA_DCR_SSIZE_MASK 0x300000u 00655 #define DMA_DCR_SSIZE_SHIFT 20 00656 #define DMA_DCR_SSIZE(x) (((uint32_t)(((uint32_t)(x))<<DMA_DCR_SSIZE_SHIFT))&DMA_DCR_SSIZE_MASK) 00657 #define DMA_DCR_SINC_MASK 0x400000u 00658 #define DMA_DCR_SINC_SHIFT 22 00659 #define DMA_DCR_EADREQ_MASK 0x800000u 00660 #define DMA_DCR_EADREQ_SHIFT 23 00661 #define DMA_DCR_AA_MASK 0x10000000u 00662 #define DMA_DCR_AA_SHIFT 28 00663 #define DMA_DCR_CS_MASK 0x20000000u 00664 #define DMA_DCR_CS_SHIFT 29 00665 #define DMA_DCR_ERQ_MASK 0x40000000u 00666 #define DMA_DCR_ERQ_SHIFT 30 00667 #define DMA_DCR_EINT_MASK 0x80000000u 00668 #define DMA_DCR_EINT_SHIFT 31 00669 00670 /** 00671 * @} 00672 */ /* end of group DMA_Register_Masks */ 00673 00674 00675 /* DMA - Peripheral instance base addresses */ 00676 /** Peripheral DMA base address */ 00677 #define DMA_BASE (0x40008000u) 00678 /** Peripheral DMA base pointer */ 00679 #define DMA0 ((DMA_Type *)DMA_BASE) 00680 /** Array initializer of DMA peripheral base pointers */ 00681 #define DMA_BASES { DMA0 } 00682 00683 /** 00684 * @} 00685 */ /* end of group DMA_Peripheral_Access_Layer */ 00686 00687 00688 /* ---------------------------------------------------------------------------- 00689 -- DMAMUX Peripheral Access Layer 00690 ---------------------------------------------------------------------------- */ 00691 00692 /** 00693 * @addtogroup DMAMUX_Peripheral_Access_Layer DMAMUX Peripheral Access Layer 00694 * @{ 00695 */ 00696 00697 /** DMAMUX - Register Layout Typedef */ 00698 typedef struct { 00699 __IO uint8_t CHCFG[4]; /**< Channel Configuration register, array offset: 0x0, array step: 0x1 */ 00700 } DMAMUX_Type; 00701 00702 /* ---------------------------------------------------------------------------- 00703 -- DMAMUX Register Masks 00704 ---------------------------------------------------------------------------- */ 00705 00706 /** 00707 * @addtogroup DMAMUX_Register_Masks DMAMUX Register Masks 00708 * @{ 00709 */ 00710 00711 /* CHCFG Bit Fields */ 00712 #define DMAMUX_CHCFG_SOURCE_MASK 0x3Fu 00713 #define DMAMUX_CHCFG_SOURCE_SHIFT 0 00714 #define DMAMUX_CHCFG_SOURCE(x) (((uint8_t)(((uint8_t)(x))<<DMAMUX_CHCFG_SOURCE_SHIFT))&DMAMUX_CHCFG_SOURCE_MASK) 00715 #define DMAMUX_CHCFG_TRIG_MASK 0x40u 00716 #define DMAMUX_CHCFG_TRIG_SHIFT 6 00717 #define DMAMUX_CHCFG_ENBL_MASK 0x80u 00718 #define DMAMUX_CHCFG_ENBL_SHIFT 7 00719 00720 /** 00721 * @} 00722 */ /* end of group DMAMUX_Register_Masks */ 00723 00724 00725 /* DMAMUX - Peripheral instance base addresses */ 00726 /** Peripheral DMAMUX0 base address */ 00727 #define DMAMUX0_BASE (0x40021000u) 00728 /** Peripheral DMAMUX0 base pointer */ 00729 #define DMAMUX0 ((DMAMUX_Type *)DMAMUX0_BASE) 00730 /** Array initializer of DMAMUX peripheral base pointers */ 00731 #define DMAMUX_BASES { DMAMUX0 } 00732 00733 /** 00734 * @} 00735 */ /* end of group DMAMUX_Peripheral_Access_Layer */ 00736 00737 00738 /* ---------------------------------------------------------------------------- 00739 -- FGPIO Peripheral Access Layer 00740 ---------------------------------------------------------------------------- */ 00741 00742 /** 00743 * @addtogroup FGPIO_Peripheral_Access_Layer FGPIO Peripheral Access Layer 00744 * @{ 00745 */ 00746 00747 /** FGPIO - Register Layout Typedef */ 00748 typedef struct { 00749 __IO uint32_t PDOR; /**< Port Data Output Register, offset: 0x0 */ 00750 __O uint32_t PSOR; /**< Port Set Output Register, offset: 0x4 */ 00751 __O uint32_t PCOR; /**< Port Clear Output Register, offset: 0x8 */ 00752 __O uint32_t PTOR; /**< Port Toggle Output Register, offset: 0xC */ 00753 __I uint32_t PDIR; /**< Port Data Input Register, offset: 0x10 */ 00754 __IO uint32_t PDDR; /**< Port Data Direction Register, offset: 0x14 */ 00755 } FGPIO_Type; 00756 00757 /* ---------------------------------------------------------------------------- 00758 -- FGPIO Register Masks 00759 ---------------------------------------------------------------------------- */ 00760 00761 /** 00762 * @addtogroup FGPIO_Register_Masks FGPIO Register Masks 00763 * @{ 00764 */ 00765 00766 /* PDOR Bit Fields */ 00767 #define FGPIO_PDOR_PDO_MASK 0xFFFFFFFFu 00768 #define FGPIO_PDOR_PDO_SHIFT 0 00769 #define FGPIO_PDOR_PDO(x) (((uint32_t)(((uint32_t)(x))<<FGPIO_PDOR_PDO_SHIFT))&FGPIO_PDOR_PDO_MASK) 00770 /* PSOR Bit Fields */ 00771 #define FGPIO_PSOR_PTSO_MASK 0xFFFFFFFFu 00772 #define FGPIO_PSOR_PTSO_SHIFT 0 00773 #define FGPIO_PSOR_PTSO(x) (((uint32_t)(((uint32_t)(x))<<FGPIO_PSOR_PTSO_SHIFT))&FGPIO_PSOR_PTSO_MASK) 00774 /* PCOR Bit Fields */ 00775 #define FGPIO_PCOR_PTCO_MASK 0xFFFFFFFFu 00776 #define FGPIO_PCOR_PTCO_SHIFT 0 00777 #define FGPIO_PCOR_PTCO(x) (((uint32_t)(((uint32_t)(x))<<FGPIO_PCOR_PTCO_SHIFT))&FGPIO_PCOR_PTCO_MASK) 00778 /* PTOR Bit Fields */ 00779 #define FGPIO_PTOR_PTTO_MASK 0xFFFFFFFFu 00780 #define FGPIO_PTOR_PTTO_SHIFT 0 00781 #define FGPIO_PTOR_PTTO(x) (((uint32_t)(((uint32_t)(x))<<FGPIO_PTOR_PTTO_SHIFT))&FGPIO_PTOR_PTTO_MASK) 00782 /* PDIR Bit Fields */ 00783 #define FGPIO_PDIR_PDI_MASK 0xFFFFFFFFu 00784 #define FGPIO_PDIR_PDI_SHIFT 0 00785 #define FGPIO_PDIR_PDI(x) (((uint32_t)(((uint32_t)(x))<<FGPIO_PDIR_PDI_SHIFT))&FGPIO_PDIR_PDI_MASK) 00786 /* PDDR Bit Fields */ 00787 #define FGPIO_PDDR_PDD_MASK 0xFFFFFFFFu 00788 #define FGPIO_PDDR_PDD_SHIFT 0 00789 #define FGPIO_PDDR_PDD(x) (((uint32_t)(((uint32_t)(x))<<FGPIO_PDDR_PDD_SHIFT))&FGPIO_PDDR_PDD_MASK) 00790 00791 /** 00792 * @} 00793 */ /* end of group FGPIO_Register_Masks */ 00794 00795 00796 /* FGPIO - Peripheral instance base addresses */ 00797 /** Peripheral FPTA base address */ 00798 #define FPTA_BASE (0xF80FF000u) 00799 /** Peripheral FPTA base pointer */ 00800 #define FPTA ((FGPIO_Type *)FPTA_BASE) 00801 /** Peripheral FPTB base address */ 00802 #define FPTB_BASE (0xF80FF040u) 00803 /** Peripheral FPTB base pointer */ 00804 #define FPTB ((FGPIO_Type *)FPTB_BASE) 00805 /** Peripheral FPTC base address */ 00806 #define FPTC_BASE (0xF80FF080u) 00807 /** Peripheral FPTC base pointer */ 00808 #define FPTC ((FGPIO_Type *)FPTC_BASE) 00809 /** Peripheral FPTD base address */ 00810 #define FPTD_BASE (0xF80FF0C0u) 00811 /** Peripheral FPTD base pointer */ 00812 #define FPTD ((FGPIO_Type *)FPTD_BASE) 00813 /** Peripheral FPTE base address */ 00814 #define FPTE_BASE (0xF80FF100u) 00815 /** Peripheral FPTE base pointer */ 00816 #define FPTE ((FGPIO_Type *)FPTE_BASE) 00817 /** Array initializer of FGPIO peripheral base pointers */ 00818 #define FGPIO_BASES { FPTA, FPTB, FPTC, FPTD, FPTE } 00819 00820 /** 00821 * @} 00822 */ /* end of group FGPIO_Peripheral_Access_Layer */ 00823 00824 00825 /* ---------------------------------------------------------------------------- 00826 -- FTFA Peripheral Access Layer 00827 ---------------------------------------------------------------------------- */ 00828 00829 /** 00830 * @addtogroup FTFA_Peripheral_Access_Layer FTFA Peripheral Access Layer 00831 * @{ 00832 */ 00833 00834 /** FTFA - Register Layout Typedef */ 00835 typedef struct { 00836 __IO uint8_t FSTAT; /**< Flash Status Register, offset: 0x0 */ 00837 __IO uint8_t FCNFG; /**< Flash Configuration Register, offset: 0x1 */ 00838 __I uint8_t FSEC; /**< Flash Security Register, offset: 0x2 */ 00839 __I uint8_t FOPT; /**< Flash Option Register, offset: 0x3 */ 00840 __IO uint8_t FCCOB3; /**< Flash Common Command Object Registers, offset: 0x4 */ 00841 __IO uint8_t FCCOB2; /**< Flash Common Command Object Registers, offset: 0x5 */ 00842 __IO uint8_t FCCOB1; /**< Flash Common Command Object Registers, offset: 0x6 */ 00843 __IO uint8_t FCCOB0; /**< Flash Common Command Object Registers, offset: 0x7 */ 00844 __IO uint8_t FCCOB7; /**< Flash Common Command Object Registers, offset: 0x8 */ 00845 __IO uint8_t FCCOB6; /**< Flash Common Command Object Registers, offset: 0x9 */ 00846 __IO uint8_t FCCOB5; /**< Flash Common Command Object Registers, offset: 0xA */ 00847 __IO uint8_t FCCOB4; /**< Flash Common Command Object Registers, offset: 0xB */ 00848 __IO uint8_t FCCOBB; /**< Flash Common Command Object Registers, offset: 0xC */ 00849 __IO uint8_t FCCOBA; /**< Flash Common Command Object Registers, offset: 0xD */ 00850 __IO uint8_t FCCOB9; /**< Flash Common Command Object Registers, offset: 0xE */ 00851 __IO uint8_t FCCOB8; /**< Flash Common Command Object Registers, offset: 0xF */ 00852 __IO uint8_t FPROT3; /**< Program Flash Protection Registers, offset: 0x10 */ 00853 __IO uint8_t FPROT2; /**< Program Flash Protection Registers, offset: 0x11 */ 00854 __IO uint8_t FPROT1; /**< Program Flash Protection Registers, offset: 0x12 */ 00855 __IO uint8_t FPROT0; /**< Program Flash Protection Registers, offset: 0x13 */ 00856 } FTFA_Type; 00857 00858 /* ---------------------------------------------------------------------------- 00859 -- FTFA Register Masks 00860 ---------------------------------------------------------------------------- */ 00861 00862 /** 00863 * @addtogroup FTFA_Register_Masks FTFA Register Masks 00864 * @{ 00865 */ 00866 00867 /* FSTAT Bit Fields */ 00868 #define FTFA_FSTAT_MGSTAT0_MASK 0x1u 00869 #define FTFA_FSTAT_MGSTAT0_SHIFT 0 00870 #define FTFA_FSTAT_FPVIOL_MASK 0x10u 00871 #define FTFA_FSTAT_FPVIOL_SHIFT 4 00872 #define FTFA_FSTAT_ACCERR_MASK 0x20u 00873 #define FTFA_FSTAT_ACCERR_SHIFT 5 00874 #define FTFA_FSTAT_RDCOLERR_MASK 0x40u 00875 #define FTFA_FSTAT_RDCOLERR_SHIFT 6 00876 #define FTFA_FSTAT_CCIF_MASK 0x80u 00877 #define FTFA_FSTAT_CCIF_SHIFT 7 00878 /* FCNFG Bit Fields */ 00879 #define FTFA_FCNFG_ERSSUSP_MASK 0x10u 00880 #define FTFA_FCNFG_ERSSUSP_SHIFT 4 00881 #define FTFA_FCNFG_ERSAREQ_MASK 0x20u 00882 #define FTFA_FCNFG_ERSAREQ_SHIFT 5 00883 #define FTFA_FCNFG_RDCOLLIE_MASK 0x40u 00884 #define FTFA_FCNFG_RDCOLLIE_SHIFT 6 00885 #define FTFA_FCNFG_CCIE_MASK 0x80u 00886 #define FTFA_FCNFG_CCIE_SHIFT 7 00887 /* FSEC Bit Fields */ 00888 #define FTFA_FSEC_SEC_MASK 0x3u 00889 #define FTFA_FSEC_SEC_SHIFT 0 00890 #define FTFA_FSEC_SEC(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FSEC_SEC_SHIFT))&FTFA_FSEC_SEC_MASK) 00891 #define FTFA_FSEC_FSLACC_MASK 0xCu 00892 #define FTFA_FSEC_FSLACC_SHIFT 2 00893 #define FTFA_FSEC_FSLACC(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FSEC_FSLACC_SHIFT))&FTFA_FSEC_FSLACC_MASK) 00894 #define FTFA_FSEC_MEEN_MASK 0x30u 00895 #define FTFA_FSEC_MEEN_SHIFT 4 00896 #define FTFA_FSEC_MEEN(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FSEC_MEEN_SHIFT))&FTFA_FSEC_MEEN_MASK) 00897 #define FTFA_FSEC_KEYEN_MASK 0xC0u 00898 #define FTFA_FSEC_KEYEN_SHIFT 6 00899 #define FTFA_FSEC_KEYEN(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FSEC_KEYEN_SHIFT))&FTFA_FSEC_KEYEN_MASK) 00900 /* FOPT Bit Fields */ 00901 #define FTFA_FOPT_OPT_MASK 0xFFu 00902 #define FTFA_FOPT_OPT_SHIFT 0 00903 #define FTFA_FOPT_OPT(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FOPT_OPT_SHIFT))&FTFA_FOPT_OPT_MASK) 00904 /* FCCOB3 Bit Fields */ 00905 #define FTFA_FCCOB3_CCOBn_MASK 0xFFu 00906 #define FTFA_FCCOB3_CCOBn_SHIFT 0 00907 #define FTFA_FCCOB3_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB3_CCOBn_SHIFT))&FTFA_FCCOB3_CCOBn_MASK) 00908 /* FCCOB2 Bit Fields */ 00909 #define FTFA_FCCOB2_CCOBn_MASK 0xFFu 00910 #define FTFA_FCCOB2_CCOBn_SHIFT 0 00911 #define FTFA_FCCOB2_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB2_CCOBn_SHIFT))&FTFA_FCCOB2_CCOBn_MASK) 00912 /* FCCOB1 Bit Fields */ 00913 #define FTFA_FCCOB1_CCOBn_MASK 0xFFu 00914 #define FTFA_FCCOB1_CCOBn_SHIFT 0 00915 #define FTFA_FCCOB1_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB1_CCOBn_SHIFT))&FTFA_FCCOB1_CCOBn_MASK) 00916 /* FCCOB0 Bit Fields */ 00917 #define FTFA_FCCOB0_CCOBn_MASK 0xFFu 00918 #define FTFA_FCCOB0_CCOBn_SHIFT 0 00919 #define FTFA_FCCOB0_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB0_CCOBn_SHIFT))&FTFA_FCCOB0_CCOBn_MASK) 00920 /* FCCOB7 Bit Fields */ 00921 #define FTFA_FCCOB7_CCOBn_MASK 0xFFu 00922 #define FTFA_FCCOB7_CCOBn_SHIFT 0 00923 #define FTFA_FCCOB7_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB7_CCOBn_SHIFT))&FTFA_FCCOB7_CCOBn_MASK) 00924 /* FCCOB6 Bit Fields */ 00925 #define FTFA_FCCOB6_CCOBn_MASK 0xFFu 00926 #define FTFA_FCCOB6_CCOBn_SHIFT 0 00927 #define FTFA_FCCOB6_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB6_CCOBn_SHIFT))&FTFA_FCCOB6_CCOBn_MASK) 00928 /* FCCOB5 Bit Fields */ 00929 #define FTFA_FCCOB5_CCOBn_MASK 0xFFu 00930 #define FTFA_FCCOB5_CCOBn_SHIFT 0 00931 #define FTFA_FCCOB5_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB5_CCOBn_SHIFT))&FTFA_FCCOB5_CCOBn_MASK) 00932 /* FCCOB4 Bit Fields */ 00933 #define FTFA_FCCOB4_CCOBn_MASK 0xFFu 00934 #define FTFA_FCCOB4_CCOBn_SHIFT 0 00935 #define FTFA_FCCOB4_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB4_CCOBn_SHIFT))&FTFA_FCCOB4_CCOBn_MASK) 00936 /* FCCOBB Bit Fields */ 00937 #define FTFA_FCCOBB_CCOBn_MASK 0xFFu 00938 #define FTFA_FCCOBB_CCOBn_SHIFT 0 00939 #define FTFA_FCCOBB_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOBB_CCOBn_SHIFT))&FTFA_FCCOBB_CCOBn_MASK) 00940 /* FCCOBA Bit Fields */ 00941 #define FTFA_FCCOBA_CCOBn_MASK 0xFFu 00942 #define FTFA_FCCOBA_CCOBn_SHIFT 0 00943 #define FTFA_FCCOBA_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOBA_CCOBn_SHIFT))&FTFA_FCCOBA_CCOBn_MASK) 00944 /* FCCOB9 Bit Fields */ 00945 #define FTFA_FCCOB9_CCOBn_MASK 0xFFu 00946 #define FTFA_FCCOB9_CCOBn_SHIFT 0 00947 #define FTFA_FCCOB9_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB9_CCOBn_SHIFT))&FTFA_FCCOB9_CCOBn_MASK) 00948 /* FCCOB8 Bit Fields */ 00949 #define FTFA_FCCOB8_CCOBn_MASK 0xFFu 00950 #define FTFA_FCCOB8_CCOBn_SHIFT 0 00951 #define FTFA_FCCOB8_CCOBn(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FCCOB8_CCOBn_SHIFT))&FTFA_FCCOB8_CCOBn_MASK) 00952 /* FPROT3 Bit Fields */ 00953 #define FTFA_FPROT3_PROT_MASK 0xFFu 00954 #define FTFA_FPROT3_PROT_SHIFT 0 00955 #define FTFA_FPROT3_PROT(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FPROT3_PROT_SHIFT))&FTFA_FPROT3_PROT_MASK) 00956 /* FPROT2 Bit Fields */ 00957 #define FTFA_FPROT2_PROT_MASK 0xFFu 00958 #define FTFA_FPROT2_PROT_SHIFT 0 00959 #define FTFA_FPROT2_PROT(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FPROT2_PROT_SHIFT))&FTFA_FPROT2_PROT_MASK) 00960 /* FPROT1 Bit Fields */ 00961 #define FTFA_FPROT1_PROT_MASK 0xFFu 00962 #define FTFA_FPROT1_PROT_SHIFT 0 00963 #define FTFA_FPROT1_PROT(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FPROT1_PROT_SHIFT))&FTFA_FPROT1_PROT_MASK) 00964 /* FPROT0 Bit Fields */ 00965 #define FTFA_FPROT0_PROT_MASK 0xFFu 00966 #define FTFA_FPROT0_PROT_SHIFT 0 00967 #define FTFA_FPROT0_PROT(x) (((uint8_t)(((uint8_t)(x))<<FTFA_FPROT0_PROT_SHIFT))&FTFA_FPROT0_PROT_MASK) 00968 00969 /** 00970 * @} 00971 */ /* end of group FTFA_Register_Masks */ 00972 00973 00974 /* FTFA - Peripheral instance base addresses */ 00975 /** Peripheral FTFA base address */ 00976 #define FTFA_BASE (0x40020000u) 00977 /** Peripheral FTFA base pointer */ 00978 #define FTFA ((FTFA_Type *)FTFA_BASE) 00979 /** Array initializer of FTFA peripheral base pointers */ 00980 #define FTFA_BASES { FTFA } 00981 00982 /** 00983 * @} 00984 */ /* end of group FTFA_Peripheral_Access_Layer */ 00985 00986 00987 /* ---------------------------------------------------------------------------- 00988 -- GPIO Peripheral Access Layer 00989 ---------------------------------------------------------------------------- */ 00990 00991 /** 00992 * @addtogroup GPIO_Peripheral_Access_Layer GPIO Peripheral Access Layer 00993 * @{ 00994 */ 00995 00996 /** GPIO - Register Layout Typedef */ 00997 typedef struct { 00998 __IO uint32_t PDOR; /**< Port Data Output Register, offset: 0x0 */ 00999 __O uint32_t PSOR; /**< Port Set Output Register, offset: 0x4 */ 01000 __O uint32_t PCOR; /**< Port Clear Output Register, offset: 0x8 */ 01001 __O uint32_t PTOR; /**< Port Toggle Output Register, offset: 0xC */ 01002 __I uint32_t PDIR; /**< Port Data Input Register, offset: 0x10 */ 01003 __IO uint32_t PDDR; /**< Port Data Direction Register, offset: 0x14 */ 01004 } GPIO_Type; 01005 01006 /* ---------------------------------------------------------------------------- 01007 -- GPIO Register Masks 01008 ---------------------------------------------------------------------------- */ 01009 01010 /** 01011 * @addtogroup GPIO_Register_Masks GPIO Register Masks 01012 * @{ 01013 */ 01014 01015 /* PDOR Bit Fields */ 01016 #define GPIO_PDOR_PDO_MASK 0xFFFFFFFFu 01017 #define GPIO_PDOR_PDO_SHIFT 0 01018 #define GPIO_PDOR_PDO(x) (((uint32_t)(((uint32_t)(x))<<GPIO_PDOR_PDO_SHIFT))&GPIO_PDOR_PDO_MASK) 01019 /* PSOR Bit Fields */ 01020 #define GPIO_PSOR_PTSO_MASK 0xFFFFFFFFu 01021 #define GPIO_PSOR_PTSO_SHIFT 0 01022 #define GPIO_PSOR_PTSO(x) (((uint32_t)(((uint32_t)(x))<<GPIO_PSOR_PTSO_SHIFT))&GPIO_PSOR_PTSO_MASK) 01023 /* PCOR Bit Fields */ 01024 #define GPIO_PCOR_PTCO_MASK 0xFFFFFFFFu 01025 #define GPIO_PCOR_PTCO_SHIFT 0 01026 #define GPIO_PCOR_PTCO(x) (((uint32_t)(((uint32_t)(x))<<GPIO_PCOR_PTCO_SHIFT))&GPIO_PCOR_PTCO_MASK) 01027 /* PTOR Bit Fields */ 01028 #define GPIO_PTOR_PTTO_MASK 0xFFFFFFFFu 01029 #define GPIO_PTOR_PTTO_SHIFT 0 01030 #define GPIO_PTOR_PTTO(x) (((uint32_t)(((uint32_t)(x))<<GPIO_PTOR_PTTO_SHIFT))&GPIO_PTOR_PTTO_MASK) 01031 /* PDIR Bit Fields */ 01032 #define GPIO_PDIR_PDI_MASK 0xFFFFFFFFu 01033 #define GPIO_PDIR_PDI_SHIFT 0 01034 #define GPIO_PDIR_PDI(x) (((uint32_t)(((uint32_t)(x))<<GPIO_PDIR_PDI_SHIFT))&GPIO_PDIR_PDI_MASK) 01035 /* PDDR Bit Fields */ 01036 #define GPIO_PDDR_PDD_MASK 0xFFFFFFFFu 01037 #define GPIO_PDDR_PDD_SHIFT 0 01038 #define GPIO_PDDR_PDD(x) (((uint32_t)(((uint32_t)(x))<<GPIO_PDDR_PDD_SHIFT))&GPIO_PDDR_PDD_MASK) 01039 01040 /** 01041 * @} 01042 */ /* end of group GPIO_Register_Masks */ 01043 01044 01045 /* GPIO - Peripheral instance base addresses */ 01046 /** Peripheral PTA base address */ 01047 #define PTA_BASE (0x400FF000u) 01048 /** Peripheral PTA base pointer */ 01049 #define PTA ((GPIO_Type *)PTA_BASE) 01050 /** Peripheral PTB base address */ 01051 #define PTB_BASE (0x400FF040u) 01052 /** Peripheral PTB base pointer */ 01053 #define PTB ((GPIO_Type *)PTB_BASE) 01054 /** Peripheral PTC base address */ 01055 #define PTC_BASE (0x400FF080u) 01056 /** Peripheral PTC base pointer */ 01057 #define PTC ((GPIO_Type *)PTC_BASE) 01058 /** Peripheral PTD base address */ 01059 #define PTD_BASE (0x400FF0C0u) 01060 /** Peripheral PTD base pointer */ 01061 #define PTD ((GPIO_Type *)PTD_BASE) 01062 /** Peripheral PTE base address */ 01063 #define PTE_BASE (0x400FF100u) 01064 /** Peripheral PTE base pointer */ 01065 #define PTE ((GPIO_Type *)PTE_BASE) 01066 /** Array initializer of GPIO peripheral base pointers */ 01067 #define GPIO_BASES { PTA, PTB, PTC, PTD, PTE } 01068 01069 /** 01070 * @} 01071 */ /* end of group GPIO_Peripheral_Access_Layer */ 01072 01073 01074 /* ---------------------------------------------------------------------------- 01075 -- I2C Peripheral Access Layer 01076 ---------------------------------------------------------------------------- */ 01077 01078 /** 01079 * @addtogroup I2C_Peripheral_Access_Layer I2C Peripheral Access Layer 01080 * @{ 01081 */ 01082 01083 /** I2C - Register Layout Typedef */ 01084 typedef struct { 01085 __IO uint8_t A1; /**< I2C Address Register 1, offset: 0x0 */ 01086 __IO uint8_t F; /**< I2C Frequency Divider register, offset: 0x1 */ 01087 __IO uint8_t C1; /**< I2C Control Register 1, offset: 0x2 */ 01088 __IO uint8_t S; /**< I2C Status register, offset: 0x3 */ 01089 __IO uint8_t D; /**< I2C Data I/O register, offset: 0x4 */ 01090 __IO uint8_t C2; /**< I2C Control Register 2, offset: 0x5 */ 01091 __IO uint8_t FLT; /**< I2C Programmable Input Glitch Filter register, offset: 0x6 */ 01092 __IO uint8_t RA; /**< I2C Range Address register, offset: 0x7 */ 01093 __IO uint8_t SMB; /**< I2C SMBus Control and Status register, offset: 0x8 */ 01094 __IO uint8_t A2; /**< I2C Address Register 2, offset: 0x9 */ 01095 __IO uint8_t SLTH; /**< I2C SCL Low Timeout Register High, offset: 0xA */ 01096 __IO uint8_t SLTL; /**< I2C SCL Low Timeout Register Low, offset: 0xB */ 01097 } I2C_Type; 01098 01099 /* ---------------------------------------------------------------------------- 01100 -- I2C Register Masks 01101 ---------------------------------------------------------------------------- */ 01102 01103 /** 01104 * @addtogroup I2C_Register_Masks I2C Register Masks 01105 * @{ 01106 */ 01107 01108 /* A1 Bit Fields */ 01109 #define I2C_A1_AD_MASK 0xFEu 01110 #define I2C_A1_AD_SHIFT 1 01111 #define I2C_A1_AD(x) (((uint8_t)(((uint8_t)(x))<<I2C_A1_AD_SHIFT))&I2C_A1_AD_MASK) 01112 /* F Bit Fields */ 01113 #define I2C_F_ICR_MASK 0x3Fu 01114 #define I2C_F_ICR_SHIFT 0 01115 #define I2C_F_ICR(x) (((uint8_t)(((uint8_t)(x))<<I2C_F_ICR_SHIFT))&I2C_F_ICR_MASK) 01116 #define I2C_F_MULT_MASK 0xC0u 01117 #define I2C_F_MULT_SHIFT 6 01118 #define I2C_F_MULT(x) (((uint8_t)(((uint8_t)(x))<<I2C_F_MULT_SHIFT))&I2C_F_MULT_MASK) 01119 /* C1 Bit Fields */ 01120 #define I2C_C1_DMAEN_MASK 0x1u 01121 #define I2C_C1_DMAEN_SHIFT 0 01122 #define I2C_C1_WUEN_MASK 0x2u 01123 #define I2C_C1_WUEN_SHIFT 1 01124 #define I2C_C1_RSTA_MASK 0x4u 01125 #define I2C_C1_RSTA_SHIFT 2 01126 #define I2C_C1_TXAK_MASK 0x8u 01127 #define I2C_C1_TXAK_SHIFT 3 01128 #define I2C_C1_TX_MASK 0x10u 01129 #define I2C_C1_TX_SHIFT 4 01130 #define I2C_C1_MST_MASK 0x20u 01131 #define I2C_C1_MST_SHIFT 5 01132 #define I2C_C1_IICIE_MASK 0x40u 01133 #define I2C_C1_IICIE_SHIFT 6 01134 #define I2C_C1_IICEN_MASK 0x80u 01135 #define I2C_C1_IICEN_SHIFT 7 01136 /* S Bit Fields */ 01137 #define I2C_S_RXAK_MASK 0x1u 01138 #define I2C_S_RXAK_SHIFT 0 01139 #define I2C_S_IICIF_MASK 0x2u 01140 #define I2C_S_IICIF_SHIFT 1 01141 #define I2C_S_SRW_MASK 0x4u 01142 #define I2C_S_SRW_SHIFT 2 01143 #define I2C_S_RAM_MASK 0x8u 01144 #define I2C_S_RAM_SHIFT 3 01145 #define I2C_S_ARBL_MASK 0x10u 01146 #define I2C_S_ARBL_SHIFT 4 01147 #define I2C_S_BUSY_MASK 0x20u 01148 #define I2C_S_BUSY_SHIFT 5 01149 #define I2C_S_IAAS_MASK 0x40u 01150 #define I2C_S_IAAS_SHIFT 6 01151 #define I2C_S_TCF_MASK 0x80u 01152 #define I2C_S_TCF_SHIFT 7 01153 /* D Bit Fields */ 01154 #define I2C_D_DATA_MASK 0xFFu 01155 #define I2C_D_DATA_SHIFT 0 01156 #define I2C_D_DATA(x) (((uint8_t)(((uint8_t)(x))<<I2C_D_DATA_SHIFT))&I2C_D_DATA_MASK) 01157 /* C2 Bit Fields */ 01158 #define I2C_C2_AD_MASK 0x7u 01159 #define I2C_C2_AD_SHIFT 0 01160 #define I2C_C2_AD(x) (((uint8_t)(((uint8_t)(x))<<I2C_C2_AD_SHIFT))&I2C_C2_AD_MASK) 01161 #define I2C_C2_RMEN_MASK 0x8u 01162 #define I2C_C2_RMEN_SHIFT 3 01163 #define I2C_C2_SBRC_MASK 0x10u 01164 #define I2C_C2_SBRC_SHIFT 4 01165 #define I2C_C2_HDRS_MASK 0x20u 01166 #define I2C_C2_HDRS_SHIFT 5 01167 #define I2C_C2_ADEXT_MASK 0x40u 01168 #define I2C_C2_ADEXT_SHIFT 6 01169 #define I2C_C2_GCAEN_MASK 0x80u 01170 #define I2C_C2_GCAEN_SHIFT 7 01171 /* FLT Bit Fields */ 01172 #define I2C_FLT_FLT_MASK 0x1Fu 01173 #define I2C_FLT_FLT_SHIFT 0 01174 #define I2C_FLT_FLT(x) (((uint8_t)(((uint8_t)(x))<<I2C_FLT_FLT_SHIFT))&I2C_FLT_FLT_MASK) 01175 #define I2C_FLT_STOPIE_MASK 0x20u 01176 #define I2C_FLT_STOPIE_SHIFT 5 01177 #define I2C_FLT_STOPF_MASK 0x40u 01178 #define I2C_FLT_STOPF_SHIFT 6 01179 #define I2C_FLT_SHEN_MASK 0x80u 01180 #define I2C_FLT_SHEN_SHIFT 7 01181 /* RA Bit Fields */ 01182 #define I2C_RA_RAD_MASK 0xFEu 01183 #define I2C_RA_RAD_SHIFT 1 01184 #define I2C_RA_RAD(x) (((uint8_t)(((uint8_t)(x))<<I2C_RA_RAD_SHIFT))&I2C_RA_RAD_MASK) 01185 /* SMB Bit Fields */ 01186 #define I2C_SMB_SHTF2IE_MASK 0x1u 01187 #define I2C_SMB_SHTF2IE_SHIFT 0 01188 #define I2C_SMB_SHTF2_MASK 0x2u 01189 #define I2C_SMB_SHTF2_SHIFT 1 01190 #define I2C_SMB_SHTF1_MASK 0x4u 01191 #define I2C_SMB_SHTF1_SHIFT 2 01192 #define I2C_SMB_SLTF_MASK 0x8u 01193 #define I2C_SMB_SLTF_SHIFT 3 01194 #define I2C_SMB_TCKSEL_MASK 0x10u 01195 #define I2C_SMB_TCKSEL_SHIFT 4 01196 #define I2C_SMB_SIICAEN_MASK 0x20u 01197 #define I2C_SMB_SIICAEN_SHIFT 5 01198 #define I2C_SMB_ALERTEN_MASK 0x40u 01199 #define I2C_SMB_ALERTEN_SHIFT 6 01200 #define I2C_SMB_FACK_MASK 0x80u 01201 #define I2C_SMB_FACK_SHIFT 7 01202 /* A2 Bit Fields */ 01203 #define I2C_A2_SAD_MASK 0xFEu 01204 #define I2C_A2_SAD_SHIFT 1 01205 #define I2C_A2_SAD(x) (((uint8_t)(((uint8_t)(x))<<I2C_A2_SAD_SHIFT))&I2C_A2_SAD_MASK) 01206 /* SLTH Bit Fields */ 01207 #define I2C_SLTH_SSLT_MASK 0xFFu 01208 #define I2C_SLTH_SSLT_SHIFT 0 01209 #define I2C_SLTH_SSLT(x) (((uint8_t)(((uint8_t)(x))<<I2C_SLTH_SSLT_SHIFT))&I2C_SLTH_SSLT_MASK) 01210 /* SLTL Bit Fields */ 01211 #define I2C_SLTL_SSLT_MASK 0xFFu 01212 #define I2C_SLTL_SSLT_SHIFT 0 01213 #define I2C_SLTL_SSLT(x) (((uint8_t)(((uint8_t)(x))<<I2C_SLTL_SSLT_SHIFT))&I2C_SLTL_SSLT_MASK) 01214 01215 /** 01216 * @} 01217 */ /* end of group I2C_Register_Masks */ 01218 01219 01220 /* I2C - Peripheral instance base addresses */ 01221 /** Peripheral I2C0 base address */ 01222 #define I2C0_BASE (0x40066000u) 01223 /** Peripheral I2C0 base pointer */ 01224 #define I2C0 ((I2C_Type *)I2C0_BASE) 01225 /** Peripheral I2C1 base address */ 01226 #define I2C1_BASE (0x40067000u) 01227 /** Peripheral I2C1 base pointer */ 01228 #define I2C1 ((I2C_Type *)I2C1_BASE) 01229 /** Array initializer of I2C peripheral base pointers */ 01230 #define I2C_BASES { I2C0, I2C1 } 01231 01232 /** 01233 * @} 01234 */ /* end of group I2C_Peripheral_Access_Layer */ 01235 01236 01237 /* ---------------------------------------------------------------------------- 01238 -- LLWU Peripheral Access Layer 01239 ---------------------------------------------------------------------------- */ 01240 01241 /** 01242 * @addtogroup LLWU_Peripheral_Access_Layer LLWU Peripheral Access Layer 01243 * @{ 01244 */ 01245 01246 /** LLWU - Register Layout Typedef */ 01247 typedef struct { 01248 __IO uint8_t PE1; /**< LLWU Pin Enable 1 register, offset: 0x0 */ 01249 __IO uint8_t PE2; /**< LLWU Pin Enable 2 register, offset: 0x1 */ 01250 __IO uint8_t PE3; /**< LLWU Pin Enable 3 register, offset: 0x2 */ 01251 __IO uint8_t PE4; /**< LLWU Pin Enable 4 register, offset: 0x3 */ 01252 __IO uint8_t ME; /**< LLWU Module Enable register, offset: 0x4 */ 01253 __IO uint8_t F1; /**< LLWU Flag 1 register, offset: 0x5 */ 01254 __IO uint8_t F2; /**< LLWU Flag 2 register, offset: 0x6 */ 01255 __I uint8_t F3; /**< LLWU Flag 3 register, offset: 0x7 */ 01256 __IO uint8_t FILT1; /**< LLWU Pin Filter 1 register, offset: 0x8 */ 01257 __IO uint8_t FILT2; /**< LLWU Pin Filter 2 register, offset: 0x9 */ 01258 } LLWU_Type; 01259 01260 /* ---------------------------------------------------------------------------- 01261 -- LLWU Register Masks 01262 ---------------------------------------------------------------------------- */ 01263 01264 /** 01265 * @addtogroup LLWU_Register_Masks LLWU Register Masks 01266 * @{ 01267 */ 01268 01269 /* PE1 Bit Fields */ 01270 #define LLWU_PE1_WUPE0_MASK 0x3u 01271 #define LLWU_PE1_WUPE0_SHIFT 0 01272 #define LLWU_PE1_WUPE0(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE1_WUPE0_SHIFT))&LLWU_PE1_WUPE0_MASK) 01273 #define LLWU_PE1_WUPE1_MASK 0xCu 01274 #define LLWU_PE1_WUPE1_SHIFT 2 01275 #define LLWU_PE1_WUPE1(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE1_WUPE1_SHIFT))&LLWU_PE1_WUPE1_MASK) 01276 #define LLWU_PE1_WUPE2_MASK 0x30u 01277 #define LLWU_PE1_WUPE2_SHIFT 4 01278 #define LLWU_PE1_WUPE2(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE1_WUPE2_SHIFT))&LLWU_PE1_WUPE2_MASK) 01279 #define LLWU_PE1_WUPE3_MASK 0xC0u 01280 #define LLWU_PE1_WUPE3_SHIFT 6 01281 #define LLWU_PE1_WUPE3(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE1_WUPE3_SHIFT))&LLWU_PE1_WUPE3_MASK) 01282 /* PE2 Bit Fields */ 01283 #define LLWU_PE2_WUPE4_MASK 0x3u 01284 #define LLWU_PE2_WUPE4_SHIFT 0 01285 #define LLWU_PE2_WUPE4(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE2_WUPE4_SHIFT))&LLWU_PE2_WUPE4_MASK) 01286 #define LLWU_PE2_WUPE5_MASK 0xCu 01287 #define LLWU_PE2_WUPE5_SHIFT 2 01288 #define LLWU_PE2_WUPE5(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE2_WUPE5_SHIFT))&LLWU_PE2_WUPE5_MASK) 01289 #define LLWU_PE2_WUPE6_MASK 0x30u 01290 #define LLWU_PE2_WUPE6_SHIFT 4 01291 #define LLWU_PE2_WUPE6(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE2_WUPE6_SHIFT))&LLWU_PE2_WUPE6_MASK) 01292 #define LLWU_PE2_WUPE7_MASK 0xC0u 01293 #define LLWU_PE2_WUPE7_SHIFT 6 01294 #define LLWU_PE2_WUPE7(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE2_WUPE7_SHIFT))&LLWU_PE2_WUPE7_MASK) 01295 /* PE3 Bit Fields */ 01296 #define LLWU_PE3_WUPE8_MASK 0x3u 01297 #define LLWU_PE3_WUPE8_SHIFT 0 01298 #define LLWU_PE3_WUPE8(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE3_WUPE8_SHIFT))&LLWU_PE3_WUPE8_MASK) 01299 #define LLWU_PE3_WUPE9_MASK 0xCu 01300 #define LLWU_PE3_WUPE9_SHIFT 2 01301 #define LLWU_PE3_WUPE9(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE3_WUPE9_SHIFT))&LLWU_PE3_WUPE9_MASK) 01302 #define LLWU_PE3_WUPE10_MASK 0x30u 01303 #define LLWU_PE3_WUPE10_SHIFT 4 01304 #define LLWU_PE3_WUPE10(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE3_WUPE10_SHIFT))&LLWU_PE3_WUPE10_MASK) 01305 #define LLWU_PE3_WUPE11_MASK 0xC0u 01306 #define LLWU_PE3_WUPE11_SHIFT 6 01307 #define LLWU_PE3_WUPE11(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE3_WUPE11_SHIFT))&LLWU_PE3_WUPE11_MASK) 01308 /* PE4 Bit Fields */ 01309 #define LLWU_PE4_WUPE12_MASK 0x3u 01310 #define LLWU_PE4_WUPE12_SHIFT 0 01311 #define LLWU_PE4_WUPE12(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE4_WUPE12_SHIFT))&LLWU_PE4_WUPE12_MASK) 01312 #define LLWU_PE4_WUPE13_MASK 0xCu 01313 #define LLWU_PE4_WUPE13_SHIFT 2 01314 #define LLWU_PE4_WUPE13(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE4_WUPE13_SHIFT))&LLWU_PE4_WUPE13_MASK) 01315 #define LLWU_PE4_WUPE14_MASK 0x30u 01316 #define LLWU_PE4_WUPE14_SHIFT 4 01317 #define LLWU_PE4_WUPE14(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE4_WUPE14_SHIFT))&LLWU_PE4_WUPE14_MASK) 01318 #define LLWU_PE4_WUPE15_MASK 0xC0u 01319 #define LLWU_PE4_WUPE15_SHIFT 6 01320 #define LLWU_PE4_WUPE15(x) (((uint8_t)(((uint8_t)(x))<<LLWU_PE4_WUPE15_SHIFT))&LLWU_PE4_WUPE15_MASK) 01321 /* ME Bit Fields */ 01322 #define LLWU_ME_WUME0_MASK 0x1u 01323 #define LLWU_ME_WUME0_SHIFT 0 01324 #define LLWU_ME_WUME1_MASK 0x2u 01325 #define LLWU_ME_WUME1_SHIFT 1 01326 #define LLWU_ME_WUME2_MASK 0x4u 01327 #define LLWU_ME_WUME2_SHIFT 2 01328 #define LLWU_ME_WUME3_MASK 0x8u 01329 #define LLWU_ME_WUME3_SHIFT 3 01330 #define LLWU_ME_WUME4_MASK 0x10u 01331 #define LLWU_ME_WUME4_SHIFT 4 01332 #define LLWU_ME_WUME5_MASK 0x20u 01333 #define LLWU_ME_WUME5_SHIFT 5 01334 #define LLWU_ME_WUME6_MASK 0x40u 01335 #define LLWU_ME_WUME6_SHIFT 6 01336 #define LLWU_ME_WUME7_MASK 0x80u 01337 #define LLWU_ME_WUME7_SHIFT 7 01338 /* F1 Bit Fields */ 01339 #define LLWU_F1_WUF0_MASK 0x1u 01340 #define LLWU_F1_WUF0_SHIFT 0 01341 #define LLWU_F1_WUF1_MASK 0x2u 01342 #define LLWU_F1_WUF1_SHIFT 1 01343 #define LLWU_F1_WUF2_MASK 0x4u 01344 #define LLWU_F1_WUF2_SHIFT 2 01345 #define LLWU_F1_WUF3_MASK 0x8u 01346 #define LLWU_F1_WUF3_SHIFT 3 01347 #define LLWU_F1_WUF4_MASK 0x10u 01348 #define LLWU_F1_WUF4_SHIFT 4 01349 #define LLWU_F1_WUF5_MASK 0x20u 01350 #define LLWU_F1_WUF5_SHIFT 5 01351 #define LLWU_F1_WUF6_MASK 0x40u 01352 #define LLWU_F1_WUF6_SHIFT 6 01353 #define LLWU_F1_WUF7_MASK 0x80u 01354 #define LLWU_F1_WUF7_SHIFT 7 01355 /* F2 Bit Fields */ 01356 #define LLWU_F2_WUF8_MASK 0x1u 01357 #define LLWU_F2_WUF8_SHIFT 0 01358 #define LLWU_F2_WUF9_MASK 0x2u 01359 #define LLWU_F2_WUF9_SHIFT 1 01360 #define LLWU_F2_WUF10_MASK 0x4u 01361 #define LLWU_F2_WUF10_SHIFT 2 01362 #define LLWU_F2_WUF11_MASK 0x8u 01363 #define LLWU_F2_WUF11_SHIFT 3 01364 #define LLWU_F2_WUF12_MASK 0x10u 01365 #define LLWU_F2_WUF12_SHIFT 4 01366 #define LLWU_F2_WUF13_MASK 0x20u 01367 #define LLWU_F2_WUF13_SHIFT 5 01368 #define LLWU_F2_WUF14_MASK 0x40u 01369 #define LLWU_F2_WUF14_SHIFT 6 01370 #define LLWU_F2_WUF15_MASK 0x80u 01371 #define LLWU_F2_WUF15_SHIFT 7 01372 /* F3 Bit Fields */ 01373 #define LLWU_F3_MWUF0_MASK 0x1u 01374 #define LLWU_F3_MWUF0_SHIFT 0 01375 #define LLWU_F3_MWUF1_MASK 0x2u 01376 #define LLWU_F3_MWUF1_SHIFT 1 01377 #define LLWU_F3_MWUF2_MASK 0x4u 01378 #define LLWU_F3_MWUF2_SHIFT 2 01379 #define LLWU_F3_MWUF3_MASK 0x8u 01380 #define LLWU_F3_MWUF3_SHIFT 3 01381 #define LLWU_F3_MWUF4_MASK 0x10u 01382 #define LLWU_F3_MWUF4_SHIFT 4 01383 #define LLWU_F3_MWUF5_MASK 0x20u 01384 #define LLWU_F3_MWUF5_SHIFT 5 01385 #define LLWU_F3_MWUF6_MASK 0x40u 01386 #define LLWU_F3_MWUF6_SHIFT 6 01387 #define LLWU_F3_MWUF7_MASK 0x80u 01388 #define LLWU_F3_MWUF7_SHIFT 7 01389 /* FILT1 Bit Fields */ 01390 #define LLWU_FILT1_FILTSEL_MASK 0xFu 01391 #define LLWU_FILT1_FILTSEL_SHIFT 0 01392 #define LLWU_FILT1_FILTSEL(x) (((uint8_t)(((uint8_t)(x))<<LLWU_FILT1_FILTSEL_SHIFT))&LLWU_FILT1_FILTSEL_MASK) 01393 #define LLWU_FILT1_FILTE_MASK 0x60u 01394 #define LLWU_FILT1_FILTE_SHIFT 5 01395 #define LLWU_FILT1_FILTE(x) (((uint8_t)(((uint8_t)(x))<<LLWU_FILT1_FILTE_SHIFT))&LLWU_FILT1_FILTE_MASK) 01396 #define LLWU_FILT1_FILTF_MASK 0x80u 01397 #define LLWU_FILT1_FILTF_SHIFT 7 01398 /* FILT2 Bit Fields */ 01399 #define LLWU_FILT2_FILTSEL_MASK 0xFu 01400 #define LLWU_FILT2_FILTSEL_SHIFT 0 01401 #define LLWU_FILT2_FILTSEL(x) (((uint8_t)(((uint8_t)(x))<<LLWU_FILT2_FILTSEL_SHIFT))&LLWU_FILT2_FILTSEL_MASK) 01402 #define LLWU_FILT2_FILTE_MASK 0x60u 01403 #define LLWU_FILT2_FILTE_SHIFT 5 01404 #define LLWU_FILT2_FILTE(x) (((uint8_t)(((uint8_t)(x))<<LLWU_FILT2_FILTE_SHIFT))&LLWU_FILT2_FILTE_MASK) 01405 #define LLWU_FILT2_FILTF_MASK 0x80u 01406 #define LLWU_FILT2_FILTF_SHIFT 7 01407 01408 /** 01409 * @} 01410 */ /* end of group LLWU_Register_Masks */ 01411 01412 01413 /* LLWU - Peripheral instance base addresses */ 01414 /** Peripheral LLWU base address */ 01415 #define LLWU_BASE (0x4007C000u) 01416 /** Peripheral LLWU base pointer */ 01417 #define LLWU ((LLWU_Type *)LLWU_BASE) 01418 /** Array initializer of LLWU peripheral base pointers */ 01419 #define LLWU_BASES { LLWU } 01420 01421 /** 01422 * @} 01423 */ /* end of group LLWU_Peripheral_Access_Layer */ 01424 01425 01426 /* ---------------------------------------------------------------------------- 01427 -- LPTMR Peripheral Access Layer 01428 ---------------------------------------------------------------------------- */ 01429 01430 /** 01431 * @addtogroup LPTMR_Peripheral_Access_Layer LPTMR Peripheral Access Layer 01432 * @{ 01433 */ 01434 01435 /** LPTMR - Register Layout Typedef */ 01436 typedef struct { 01437 __IO uint32_t CSR; /**< Low Power Timer Control Status Register, offset: 0x0 */ 01438 __IO uint32_t PSR; /**< Low Power Timer Prescale Register, offset: 0x4 */ 01439 __IO uint32_t CMR; /**< Low Power Timer Compare Register, offset: 0x8 */ 01440 __I uint32_t CNR; /**< Low Power Timer Counter Register, offset: 0xC */ 01441 } LPTMR_Type; 01442 01443 /* ---------------------------------------------------------------------------- 01444 -- LPTMR Register Masks 01445 ---------------------------------------------------------------------------- */ 01446 01447 /** 01448 * @addtogroup LPTMR_Register_Masks LPTMR Register Masks 01449 * @{ 01450 */ 01451 01452 /* CSR Bit Fields */ 01453 #define LPTMR_CSR_TEN_MASK 0x1u 01454 #define LPTMR_CSR_TEN_SHIFT 0 01455 #define LPTMR_CSR_TMS_MASK 0x2u 01456 #define LPTMR_CSR_TMS_SHIFT 1 01457 #define LPTMR_CSR_TFC_MASK 0x4u 01458 #define LPTMR_CSR_TFC_SHIFT 2 01459 #define LPTMR_CSR_TPP_MASK 0x8u 01460 #define LPTMR_CSR_TPP_SHIFT 3 01461 #define LPTMR_CSR_TPS_MASK 0x30u 01462 #define LPTMR_CSR_TPS_SHIFT 4 01463 #define LPTMR_CSR_TPS(x) (((uint32_t)(((uint32_t)(x))<<LPTMR_CSR_TPS_SHIFT))&LPTMR_CSR_TPS_MASK) 01464 #define LPTMR_CSR_TIE_MASK 0x40u 01465 #define LPTMR_CSR_TIE_SHIFT 6 01466 #define LPTMR_CSR_TCF_MASK 0x80u 01467 #define LPTMR_CSR_TCF_SHIFT 7 01468 /* PSR Bit Fields */ 01469 #define LPTMR_PSR_PCS_MASK 0x3u 01470 #define LPTMR_PSR_PCS_SHIFT 0 01471 #define LPTMR_PSR_PCS(x) (((uint32_t)(((uint32_t)(x))<<LPTMR_PSR_PCS_SHIFT))&LPTMR_PSR_PCS_MASK) 01472 #define LPTMR_PSR_PBYP_MASK 0x4u 01473 #define LPTMR_PSR_PBYP_SHIFT 2 01474 #define LPTMR_PSR_PRESCALE_MASK 0x78u 01475 #define LPTMR_PSR_PRESCALE_SHIFT 3 01476 #define LPTMR_PSR_PRESCALE(x) (((uint32_t)(((uint32_t)(x))<<LPTMR_PSR_PRESCALE_SHIFT))&LPTMR_PSR_PRESCALE_MASK) 01477 /* CMR Bit Fields */ 01478 #define LPTMR_CMR_COMPARE_MASK 0xFFFFu 01479 #define LPTMR_CMR_COMPARE_SHIFT 0 01480 #define LPTMR_CMR_COMPARE(x) (((uint32_t)(((uint32_t)(x))<<LPTMR_CMR_COMPARE_SHIFT))&LPTMR_CMR_COMPARE_MASK) 01481 /* CNR Bit Fields */ 01482 #define LPTMR_CNR_COUNTER_MASK 0xFFFFu 01483 #define LPTMR_CNR_COUNTER_SHIFT 0 01484 #define LPTMR_CNR_COUNTER(x) (((uint32_t)(((uint32_t)(x))<<LPTMR_CNR_COUNTER_SHIFT))&LPTMR_CNR_COUNTER_MASK) 01485 01486 /** 01487 * @} 01488 */ /* end of group LPTMR_Register_Masks */ 01489 01490 01491 /* LPTMR - Peripheral instance base addresses */ 01492 /** Peripheral LPTMR0 base address */ 01493 #define LPTMR0_BASE (0x40040000u) 01494 /** Peripheral LPTMR0 base pointer */ 01495 #define LPTMR0 ((LPTMR_Type *)LPTMR0_BASE) 01496 /** Array initializer of LPTMR peripheral base pointers */ 01497 #define LPTMR_BASES { LPTMR0 } 01498 01499 /** 01500 * @} 01501 */ /* end of group LPTMR_Peripheral_Access_Layer */ 01502 01503 01504 /* ---------------------------------------------------------------------------- 01505 -- MCG Peripheral Access Layer 01506 ---------------------------------------------------------------------------- */ 01507 01508 /** 01509 * @addtogroup MCG_Peripheral_Access_Layer MCG Peripheral Access Layer 01510 * @{ 01511 */ 01512 01513 /** MCG - Register Layout Typedef */ 01514 typedef struct { 01515 __IO uint8_t C1; /**< MCG Control 1 Register, offset: 0x0 */ 01516 __IO uint8_t C2; /**< MCG Control 2 Register, offset: 0x1 */ 01517 __IO uint8_t C3; /**< MCG Control 3 Register, offset: 0x2 */ 01518 __IO uint8_t C4; /**< MCG Control 4 Register, offset: 0x3 */ 01519 __IO uint8_t C5; /**< MCG Control 5 Register, offset: 0x4 */ 01520 __IO uint8_t C6; /**< MCG Control 6 Register, offset: 0x5 */ 01521 __I uint8_t S; /**< MCG Status Register, offset: 0x6 */ 01522 uint8_t RESERVED_0[1]; 01523 __IO uint8_t SC; /**< MCG Status and Control Register, offset: 0x8 */ 01524 uint8_t RESERVED_1[1]; 01525 __IO uint8_t ATCVH; /**< MCG Auto Trim Compare Value High Register, offset: 0xA */ 01526 __IO uint8_t ATCVL; /**< MCG Auto Trim Compare Value Low Register, offset: 0xB */ 01527 __I uint8_t C7; /**< MCG Control 7 Register, offset: 0xC */ 01528 __IO uint8_t C8; /**< MCG Control 8 Register, offset: 0xD */ 01529 __I uint8_t C9; /**< MCG Control 9 Register, offset: 0xE */ 01530 __I uint8_t C10; /**< MCG Control 10 Register, offset: 0xF */ 01531 } MCG_Type; 01532 01533 /* ---------------------------------------------------------------------------- 01534 -- MCG Register Masks 01535 ---------------------------------------------------------------------------- */ 01536 01537 /** 01538 * @addtogroup MCG_Register_Masks MCG Register Masks 01539 * @{ 01540 */ 01541 01542 /* C1 Bit Fields */ 01543 #define MCG_C1_IREFSTEN_MASK 0x1u 01544 #define MCG_C1_IREFSTEN_SHIFT 0 01545 #define MCG_C1_IRCLKEN_MASK 0x2u 01546 #define MCG_C1_IRCLKEN_SHIFT 1 01547 #define MCG_C1_IREFS_MASK 0x4u 01548 #define MCG_C1_IREFS_SHIFT 2 01549 #define MCG_C1_FRDIV_MASK 0x38u 01550 #define MCG_C1_FRDIV_SHIFT 3 01551 #define MCG_C1_FRDIV(x) (((uint8_t)(((uint8_t)(x))<<MCG_C1_FRDIV_SHIFT))&MCG_C1_FRDIV_MASK) 01552 #define MCG_C1_CLKS_MASK 0xC0u 01553 #define MCG_C1_CLKS_SHIFT 6 01554 #define MCG_C1_CLKS(x) (((uint8_t)(((uint8_t)(x))<<MCG_C1_CLKS_SHIFT))&MCG_C1_CLKS_MASK) 01555 /* C2 Bit Fields */ 01556 #define MCG_C2_IRCS_MASK 0x1u 01557 #define MCG_C2_IRCS_SHIFT 0 01558 #define MCG_C2_LP_MASK 0x2u 01559 #define MCG_C2_LP_SHIFT 1 01560 #define MCG_C2_EREFS0_MASK 0x4u 01561 #define MCG_C2_EREFS0_SHIFT 2 01562 #define MCG_C2_HGO0_MASK 0x8u 01563 #define MCG_C2_HGO0_SHIFT 3 01564 #define MCG_C2_RANGE0_MASK 0x30u 01565 #define MCG_C2_RANGE0_SHIFT 4 01566 #define MCG_C2_RANGE0(x) (((uint8_t)(((uint8_t)(x))<<MCG_C2_RANGE0_SHIFT))&MCG_C2_RANGE0_MASK) 01567 #define MCG_C2_LOCRE0_MASK 0x80u 01568 #define MCG_C2_LOCRE0_SHIFT 7 01569 /* C3 Bit Fields */ 01570 #define MCG_C3_SCTRIM_MASK 0xFFu 01571 #define MCG_C3_SCTRIM_SHIFT 0 01572 #define MCG_C3_SCTRIM(x) (((uint8_t)(((uint8_t)(x))<<MCG_C3_SCTRIM_SHIFT))&MCG_C3_SCTRIM_MASK) 01573 /* C4 Bit Fields */ 01574 #define MCG_C4_SCFTRIM_MASK 0x1u 01575 #define MCG_C4_SCFTRIM_SHIFT 0 01576 #define MCG_C4_FCTRIM_MASK 0x1Eu 01577 #define MCG_C4_FCTRIM_SHIFT 1 01578 #define MCG_C4_FCTRIM(x) (((uint8_t)(((uint8_t)(x))<<MCG_C4_FCTRIM_SHIFT))&MCG_C4_FCTRIM_MASK) 01579 #define MCG_C4_DRST_DRS_MASK 0x60u 01580 #define MCG_C4_DRST_DRS_SHIFT 5 01581 #define MCG_C4_DRST_DRS(x) (((uint8_t)(((uint8_t)(x))<<MCG_C4_DRST_DRS_SHIFT))&MCG_C4_DRST_DRS_MASK) 01582 #define MCG_C4_DMX32_MASK 0x80u 01583 #define MCG_C4_DMX32_SHIFT 7 01584 /* C5 Bit Fields */ 01585 #define MCG_C5_PRDIV0_MASK 0x1Fu 01586 #define MCG_C5_PRDIV0_SHIFT 0 01587 #define MCG_C5_PRDIV0(x) (((uint8_t)(((uint8_t)(x))<<MCG_C5_PRDIV0_SHIFT))&MCG_C5_PRDIV0_MASK) 01588 #define MCG_C5_PLLSTEN0_MASK 0x20u 01589 #define MCG_C5_PLLSTEN0_SHIFT 5 01590 #define MCG_C5_PLLCLKEN0_MASK 0x40u 01591 #define MCG_C5_PLLCLKEN0_SHIFT 6 01592 /* C6 Bit Fields */ 01593 #define MCG_C6_VDIV0_MASK 0x1Fu 01594 #define MCG_C6_VDIV0_SHIFT 0 01595 #define MCG_C6_VDIV0(x) (((uint8_t)(((uint8_t)(x))<<MCG_C6_VDIV0_SHIFT))&MCG_C6_VDIV0_MASK) 01596 #define MCG_C6_CME0_MASK 0x20u 01597 #define MCG_C6_CME0_SHIFT 5 01598 #define MCG_C6_PLLS_MASK 0x40u 01599 #define MCG_C6_PLLS_SHIFT 6 01600 #define MCG_C6_LOLIE0_MASK 0x80u 01601 #define MCG_C6_LOLIE0_SHIFT 7 01602 /* S Bit Fields */ 01603 #define MCG_S_IRCST_MASK 0x1u 01604 #define MCG_S_IRCST_SHIFT 0 01605 #define MCG_S_OSCINIT0_MASK 0x2u 01606 #define MCG_S_OSCINIT0_SHIFT 1 01607 #define MCG_S_CLKST_MASK 0xCu 01608 #define MCG_S_CLKST_SHIFT 2 01609 #define MCG_S_CLKST(x) (((uint8_t)(((uint8_t)(x))<<MCG_S_CLKST_SHIFT))&MCG_S_CLKST_MASK) 01610 #define MCG_S_IREFST_MASK 0x10u 01611 #define MCG_S_IREFST_SHIFT 4 01612 #define MCG_S_PLLST_MASK 0x20u 01613 #define MCG_S_PLLST_SHIFT 5 01614 #define MCG_S_LOCK0_MASK 0x40u 01615 #define MCG_S_LOCK0_SHIFT 6 01616 #define MCG_S_LOLS_MASK 0x80u 01617 #define MCG_S_LOLS_SHIFT 7 01618 /* SC Bit Fields */ 01619 #define MCG_SC_LOCS0_MASK 0x1u 01620 #define MCG_SC_LOCS0_SHIFT 0 01621 #define MCG_SC_FCRDIV_MASK 0xEu 01622 #define MCG_SC_FCRDIV_SHIFT 1 01623 #define MCG_SC_FCRDIV(x) (((uint8_t)(((uint8_t)(x))<<MCG_SC_FCRDIV_SHIFT))&MCG_SC_FCRDIV_MASK) 01624 #define MCG_SC_FLTPRSRV_MASK 0x10u 01625 #define MCG_SC_FLTPRSRV_SHIFT 4 01626 #define MCG_SC_ATMF_MASK 0x20u 01627 #define MCG_SC_ATMF_SHIFT 5 01628 #define MCG_SC_ATMS_MASK 0x40u 01629 #define MCG_SC_ATMS_SHIFT 6 01630 #define MCG_SC_ATME_MASK 0x80u 01631 #define MCG_SC_ATME_SHIFT 7 01632 /* ATCVH Bit Fields */ 01633 #define MCG_ATCVH_ATCVH_MASK 0xFFu 01634 #define MCG_ATCVH_ATCVH_SHIFT 0 01635 #define MCG_ATCVH_ATCVH(x) (((uint8_t)(((uint8_t)(x))<<MCG_ATCVH_ATCVH_SHIFT))&MCG_ATCVH_ATCVH_MASK) 01636 /* ATCVL Bit Fields */ 01637 #define MCG_ATCVL_ATCVL_MASK 0xFFu 01638 #define MCG_ATCVL_ATCVL_SHIFT 0 01639 #define MCG_ATCVL_ATCVL(x) (((uint8_t)(((uint8_t)(x))<<MCG_ATCVL_ATCVL_SHIFT))&MCG_ATCVL_ATCVL_MASK) 01640 /* C8 Bit Fields */ 01641 #define MCG_C8_LOLRE_MASK 0x40u 01642 #define MCG_C8_LOLRE_SHIFT 6 01643 01644 /** 01645 * @} 01646 */ /* end of group MCG_Register_Masks */ 01647 01648 01649 /* MCG - Peripheral instance base addresses */ 01650 /** Peripheral MCG base address */ 01651 #define MCG_BASE (0x40064000u) 01652 /** Peripheral MCG base pointer */ 01653 #define MCG ((MCG_Type *)MCG_BASE) 01654 /** Array initializer of MCG peripheral base pointers */ 01655 #define MCG_BASES { MCG } 01656 01657 /** 01658 * @} 01659 */ /* end of group MCG_Peripheral_Access_Layer */ 01660 01661 01662 /* ---------------------------------------------------------------------------- 01663 -- MCM Peripheral Access Layer 01664 ---------------------------------------------------------------------------- */ 01665 01666 /** 01667 * @addtogroup MCM_Peripheral_Access_Layer MCM Peripheral Access Layer 01668 * @{ 01669 */ 01670 01671 /** MCM - Register Layout Typedef */ 01672 typedef struct { 01673 uint8_t RESERVED_0[8]; 01674 __I uint16_t PLASC; /**< Crossbar Switch (AXBS) Slave Configuration, offset: 0x8 */ 01675 __I uint16_t PLAMC; /**< Crossbar Switch (AXBS) Master Configuration, offset: 0xA */ 01676 __IO uint32_t PLACR; /**< Platform Control Register, offset: 0xC */ 01677 uint8_t RESERVED_1[48]; 01678 __IO uint32_t CPO; /**< Compute Operation Control Register, offset: 0x40 */ 01679 } MCM_Type; 01680 01681 /* ---------------------------------------------------------------------------- 01682 -- MCM Register Masks 01683 ---------------------------------------------------------------------------- */ 01684 01685 /** 01686 * @addtogroup MCM_Register_Masks MCM Register Masks 01687 * @{ 01688 */ 01689 01690 /* PLASC Bit Fields */ 01691 #define MCM_PLASC_ASC_MASK 0xFFu 01692 #define MCM_PLASC_ASC_SHIFT 0 01693 #define MCM_PLASC_ASC(x) (((uint16_t)(((uint16_t)(x))<<MCM_PLASC_ASC_SHIFT))&MCM_PLASC_ASC_MASK) 01694 /* PLAMC Bit Fields */ 01695 #define MCM_PLAMC_AMC_MASK 0xFFu 01696 #define MCM_PLAMC_AMC_SHIFT 0 01697 #define MCM_PLAMC_AMC(x) (((uint16_t)(((uint16_t)(x))<<MCM_PLAMC_AMC_SHIFT))&MCM_PLAMC_AMC_MASK) 01698 /* PLACR Bit Fields */ 01699 #define MCM_PLACR_ARB_MASK 0x200u 01700 #define MCM_PLACR_ARB_SHIFT 9 01701 #define MCM_PLACR_CFCC_MASK 0x400u 01702 #define MCM_PLACR_CFCC_SHIFT 10 01703 #define MCM_PLACR_DFCDA_MASK 0x800u 01704 #define MCM_PLACR_DFCDA_SHIFT 11 01705 #define MCM_PLACR_DFCIC_MASK 0x1000u 01706 #define MCM_PLACR_DFCIC_SHIFT 12 01707 #define MCM_PLACR_DFCC_MASK 0x2000u 01708 #define MCM_PLACR_DFCC_SHIFT 13 01709 #define MCM_PLACR_EFDS_MASK 0x4000u 01710 #define MCM_PLACR_EFDS_SHIFT 14 01711 #define MCM_PLACR_DFCS_MASK 0x8000u 01712 #define MCM_PLACR_DFCS_SHIFT 15 01713 #define MCM_PLACR_ESFC_MASK 0x10000u 01714 #define MCM_PLACR_ESFC_SHIFT 16 01715 /* CPO Bit Fields */ 01716 #define MCM_CPO_CPOREQ_MASK 0x1u 01717 #define MCM_CPO_CPOREQ_SHIFT 0 01718 #define MCM_CPO_CPOACK_MASK 0x2u 01719 #define MCM_CPO_CPOACK_SHIFT 1 01720 #define MCM_CPO_CPOWOI_MASK 0x4u 01721 #define MCM_CPO_CPOWOI_SHIFT 2 01722 01723 /** 01724 * @} 01725 */ /* end of group MCM_Register_Masks */ 01726 01727 01728 /* MCM - Peripheral instance base addresses */ 01729 /** Peripheral MCM base address */ 01730 #define MCM_BASE (0xF0003000u) 01731 /** Peripheral MCM base pointer */ 01732 #define MCM ((MCM_Type *)MCM_BASE) 01733 /** Array initializer of MCM peripheral base pointers */ 01734 #define MCM_BASES { MCM } 01735 01736 /** 01737 * @} 01738 */ /* end of group MCM_Peripheral_Access_Layer */ 01739 01740 01741 /* ---------------------------------------------------------------------------- 01742 -- MTB Peripheral Access Layer 01743 ---------------------------------------------------------------------------- */ 01744 01745 /** 01746 * @addtogroup MTB_Peripheral_Access_Layer MTB Peripheral Access Layer 01747 * @{ 01748 */ 01749 01750 /** MTB - Register Layout Typedef */ 01751 typedef struct { 01752 __IO uint32_t POSITION; /**< MTB Position Register, offset: 0x0 */ 01753 __IO uint32_t MASTER; /**< MTB Master Register, offset: 0x4 */ 01754 __IO uint32_t FLOW; /**< MTB Flow Register, offset: 0x8 */ 01755 __I uint32_t BASE; /**< MTB Base Register, offset: 0xC */ 01756 uint8_t RESERVED_0[3824]; 01757 __I uint32_t MODECTRL; /**< Integration Mode Control Register, offset: 0xF00 */ 01758 uint8_t RESERVED_1[156]; 01759 __I uint32_t TAGSET; /**< Claim TAG Set Register, offset: 0xFA0 */ 01760 __I uint32_t TAGCLEAR; /**< Claim TAG Clear Register, offset: 0xFA4 */ 01761 uint8_t RESERVED_2[8]; 01762 __I uint32_t LOCKACCESS; /**< Lock Access Register, offset: 0xFB0 */ 01763 __I uint32_t LOCKSTAT; /**< Lock Status Register, offset: 0xFB4 */ 01764 __I uint32_t AUTHSTAT; /**< Authentication Status Register, offset: 0xFB8 */ 01765 __I uint32_t DEVICEARCH; /**< Device Architecture Register, offset: 0xFBC */ 01766 uint8_t RESERVED_3[8]; 01767 __I uint32_t DEVICECFG; /**< Device Configuration Register, offset: 0xFC8 */ 01768 __I uint32_t DEVICETYPID; /**< Device Type Identifier Register, offset: 0xFCC */ 01769 __I uint32_t PERIPHID[8]; /**< Peripheral ID Register, array offset: 0xFD0, array step: 0x4 */ 01770 __I uint32_t COMPID[4]; /**< Component ID Register, array offset: 0xFF0, array step: 0x4 */ 01771 } MTB_Type; 01772 01773 /* ---------------------------------------------------------------------------- 01774 -- MTB Register Masks 01775 ---------------------------------------------------------------------------- */ 01776 01777 /** 01778 * @addtogroup MTB_Register_Masks MTB Register Masks 01779 * @{ 01780 */ 01781 01782 /* POSITION Bit Fields */ 01783 #define MTB_POSITION_WRAP_MASK 0x4u 01784 #define MTB_POSITION_WRAP_SHIFT 2 01785 #define MTB_POSITION_POINTER_MASK 0xFFFFFFF8u 01786 #define MTB_POSITION_POINTER_SHIFT 3 01787 #define MTB_POSITION_POINTER(x) (((uint32_t)(((uint32_t)(x))<<MTB_POSITION_POINTER_SHIFT))&MTB_POSITION_POINTER_MASK) 01788 /* MASTER Bit Fields */ 01789 #define MTB_MASTER_MASK_MASK 0x1Fu 01790 #define MTB_MASTER_MASK_SHIFT 0 01791 #define MTB_MASTER_MASK(x) (((uint32_t)(((uint32_t)(x))<<MTB_MASTER_MASK_SHIFT))&MTB_MASTER_MASK_MASK) 01792 #define MTB_MASTER_TSTARTEN_MASK 0x20u 01793 #define MTB_MASTER_TSTARTEN_SHIFT 5 01794 #define MTB_MASTER_TSTOPEN_MASK 0x40u 01795 #define MTB_MASTER_TSTOPEN_SHIFT 6 01796 #define MTB_MASTER_SFRWPRIV_MASK 0x80u 01797 #define MTB_MASTER_SFRWPRIV_SHIFT 7 01798 #define MTB_MASTER_RAMPRIV_MASK 0x100u 01799 #define MTB_MASTER_RAMPRIV_SHIFT 8 01800 #define MTB_MASTER_HALTREQ_MASK 0x200u 01801 #define MTB_MASTER_HALTREQ_SHIFT 9 01802 #define MTB_MASTER_EN_MASK 0x80000000u 01803 #define MTB_MASTER_EN_SHIFT 31 01804 /* FLOW Bit Fields */ 01805 #define MTB_FLOW_AUTOSTOP_MASK 0x1u 01806 #define MTB_FLOW_AUTOSTOP_SHIFT 0 01807 #define MTB_FLOW_AUTOHALT_MASK 0x2u 01808 #define MTB_FLOW_AUTOHALT_SHIFT 1 01809 #define MTB_FLOW_WATERMARK_MASK 0xFFFFFFF8u 01810 #define MTB_FLOW_WATERMARK_SHIFT 3 01811 #define MTB_FLOW_WATERMARK(x) (((uint32_t)(((uint32_t)(x))<<MTB_FLOW_WATERMARK_SHIFT))&MTB_FLOW_WATERMARK_MASK) 01812 /* BASE Bit Fields */ 01813 #define MTB_BASE_BASEADDR_MASK 0xFFFFFFFFu 01814 #define MTB_BASE_BASEADDR_SHIFT 0 01815 #define MTB_BASE_BASEADDR(x) (((uint32_t)(((uint32_t)(x))<<MTB_BASE_BASEADDR_SHIFT))&MTB_BASE_BASEADDR_MASK) 01816 /* MODECTRL Bit Fields */ 01817 #define MTB_MODECTRL_MODECTRL_MASK 0xFFFFFFFFu 01818 #define MTB_MODECTRL_MODECTRL_SHIFT 0 01819 #define MTB_MODECTRL_MODECTRL(x) (((uint32_t)(((uint32_t)(x))<<MTB_MODECTRL_MODECTRL_SHIFT))&MTB_MODECTRL_MODECTRL_MASK) 01820 /* TAGSET Bit Fields */ 01821 #define MTB_TAGSET_TAGSET_MASK 0xFFFFFFFFu 01822 #define MTB_TAGSET_TAGSET_SHIFT 0 01823 #define MTB_TAGSET_TAGSET(x) (((uint32_t)(((uint32_t)(x))<<MTB_TAGSET_TAGSET_SHIFT))&MTB_TAGSET_TAGSET_MASK) 01824 /* TAGCLEAR Bit Fields */ 01825 #define MTB_TAGCLEAR_TAGCLEAR_MASK 0xFFFFFFFFu 01826 #define MTB_TAGCLEAR_TAGCLEAR_SHIFT 0 01827 #define MTB_TAGCLEAR_TAGCLEAR(x) (((uint32_t)(((uint32_t)(x))<<MTB_TAGCLEAR_TAGCLEAR_SHIFT))&MTB_TAGCLEAR_TAGCLEAR_MASK) 01828 /* LOCKACCESS Bit Fields */ 01829 #define MTB_LOCKACCESS_LOCKACCESS_MASK 0xFFFFFFFFu 01830 #define MTB_LOCKACCESS_LOCKACCESS_SHIFT 0 01831 #define MTB_LOCKACCESS_LOCKACCESS(x) (((uint32_t)(((uint32_t)(x))<<MTB_LOCKACCESS_LOCKACCESS_SHIFT))&MTB_LOCKACCESS_LOCKACCESS_MASK) 01832 /* LOCKSTAT Bit Fields */ 01833 #define MTB_LOCKSTAT_LOCKSTAT_MASK 0xFFFFFFFFu 01834 #define MTB_LOCKSTAT_LOCKSTAT_SHIFT 0 01835 #define MTB_LOCKSTAT_LOCKSTAT(x) (((uint32_t)(((uint32_t)(x))<<MTB_LOCKSTAT_LOCKSTAT_SHIFT))&MTB_LOCKSTAT_LOCKSTAT_MASK) 01836 /* AUTHSTAT Bit Fields */ 01837 #define MTB_AUTHSTAT_BIT0_MASK 0x1u 01838 #define MTB_AUTHSTAT_BIT0_SHIFT 0 01839 #define MTB_AUTHSTAT_BIT1_MASK 0x2u 01840 #define MTB_AUTHSTAT_BIT1_SHIFT 1 01841 #define MTB_AUTHSTAT_BIT2_MASK 0x4u 01842 #define MTB_AUTHSTAT_BIT2_SHIFT 2 01843 #define MTB_AUTHSTAT_BIT3_MASK 0x8u 01844 #define MTB_AUTHSTAT_BIT3_SHIFT 3 01845 /* DEVICEARCH Bit Fields */ 01846 #define MTB_DEVICEARCH_DEVICEARCH_MASK 0xFFFFFFFFu 01847 #define MTB_DEVICEARCH_DEVICEARCH_SHIFT 0 01848 #define MTB_DEVICEARCH_DEVICEARCH(x) (((uint32_t)(((uint32_t)(x))<<MTB_DEVICEARCH_DEVICEARCH_SHIFT))&MTB_DEVICEARCH_DEVICEARCH_MASK) 01849 /* DEVICECFG Bit Fields */ 01850 #define MTB_DEVICECFG_DEVICECFG_MASK 0xFFFFFFFFu 01851 #define MTB_DEVICECFG_DEVICECFG_SHIFT 0 01852 #define MTB_DEVICECFG_DEVICECFG(x) (((uint32_t)(((uint32_t)(x))<<MTB_DEVICECFG_DEVICECFG_SHIFT))&MTB_DEVICECFG_DEVICECFG_MASK) 01853 /* DEVICETYPID Bit Fields */ 01854 #define MTB_DEVICETYPID_DEVICETYPID_MASK 0xFFFFFFFFu 01855 #define MTB_DEVICETYPID_DEVICETYPID_SHIFT 0 01856 #define MTB_DEVICETYPID_DEVICETYPID(x) (((uint32_t)(((uint32_t)(x))<<MTB_DEVICETYPID_DEVICETYPID_SHIFT))&MTB_DEVICETYPID_DEVICETYPID_MASK) 01857 /* PERIPHID Bit Fields */ 01858 #define MTB_PERIPHID_PERIPHID_MASK 0xFFFFFFFFu 01859 #define MTB_PERIPHID_PERIPHID_SHIFT 0 01860 #define MTB_PERIPHID_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<MTB_PERIPHID_PERIPHID_SHIFT))&MTB_PERIPHID_PERIPHID_MASK) 01861 /* COMPID Bit Fields */ 01862 #define MTB_COMPID_COMPID_MASK 0xFFFFFFFFu 01863 #define MTB_COMPID_COMPID_SHIFT 0 01864 #define MTB_COMPID_COMPID(x) (((uint32_t)(((uint32_t)(x))<<MTB_COMPID_COMPID_SHIFT))&MTB_COMPID_COMPID_MASK) 01865 01866 /** 01867 * @} 01868 */ /* end of group MTB_Register_Masks */ 01869 01870 01871 /* MTB - Peripheral instance base addresses */ 01872 /** Peripheral MTB base address */ 01873 #define MTB_BASE (0xF0000000u) 01874 /** Peripheral MTB base pointer */ 01875 #define MTB ((MTB_Type *)MTB_BASE) 01876 /** Array initializer of MTB peripheral base pointers */ 01877 #define MTB_BASES { MTB } 01878 01879 /** 01880 * @} 01881 */ /* end of group MTB_Peripheral_Access_Layer */ 01882 01883 01884 /* ---------------------------------------------------------------------------- 01885 -- MTBDWT Peripheral Access Layer 01886 ---------------------------------------------------------------------------- */ 01887 01888 /** 01889 * @addtogroup MTBDWT_Peripheral_Access_Layer MTBDWT Peripheral Access Layer 01890 * @{ 01891 */ 01892 01893 /** MTBDWT - Register Layout Typedef */ 01894 typedef struct { 01895 __I uint32_t CTRL; /**< MTB DWT Control Register, offset: 0x0 */ 01896 uint8_t RESERVED_0[28]; 01897 struct { /* offset: 0x20, array step: 0x10 */ 01898 __IO uint32_t COMP; /**< MTB_DWT Comparator Register, array offset: 0x20, array step: 0x10 */ 01899 __IO uint32_t MASK; /**< MTB_DWT Comparator Mask Register, array offset: 0x24, array step: 0x10 */ 01900 __IO uint32_t FCT; /**< MTB_DWT Comparator Function Register 0..MTB_DWT Comparator Function Register 1, array offset: 0x28, array step: 0x10 */ 01901 uint8_t RESERVED_0[4]; 01902 } COMPARATOR[2]; 01903 uint8_t RESERVED_1[448]; 01904 __IO uint32_t TBCTRL; /**< MTB_DWT Trace Buffer Control Register, offset: 0x200 */ 01905 uint8_t RESERVED_2[3524]; 01906 __I uint32_t DEVICECFG; /**< Device Configuration Register, offset: 0xFC8 */ 01907 __I uint32_t DEVICETYPID; /**< Device Type Identifier Register, offset: 0xFCC */ 01908 __I uint32_t PERIPHID[8]; /**< Peripheral ID Register, array offset: 0xFD0, array step: 0x4 */ 01909 __I uint32_t COMPID[4]; /**< Component ID Register, array offset: 0xFF0, array step: 0x4 */ 01910 } MTBDWT_Type; 01911 01912 /* ---------------------------------------------------------------------------- 01913 -- MTBDWT Register Masks 01914 ---------------------------------------------------------------------------- */ 01915 01916 /** 01917 * @addtogroup MTBDWT_Register_Masks MTBDWT Register Masks 01918 * @{ 01919 */ 01920 01921 /* CTRL Bit Fields */ 01922 #define MTBDWT_CTRL_DWTCFGCTRL_MASK 0xFFFFFFFu 01923 #define MTBDWT_CTRL_DWTCFGCTRL_SHIFT 0 01924 #define MTBDWT_CTRL_DWTCFGCTRL(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_CTRL_DWTCFGCTRL_SHIFT))&MTBDWT_CTRL_DWTCFGCTRL_MASK) 01925 #define MTBDWT_CTRL_NUMCMP_MASK 0xF0000000u 01926 #define MTBDWT_CTRL_NUMCMP_SHIFT 28 01927 #define MTBDWT_CTRL_NUMCMP(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_CTRL_NUMCMP_SHIFT))&MTBDWT_CTRL_NUMCMP_MASK) 01928 /* COMP Bit Fields */ 01929 #define MTBDWT_COMP_COMP_MASK 0xFFFFFFFFu 01930 #define MTBDWT_COMP_COMP_SHIFT 0 01931 #define MTBDWT_COMP_COMP(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_COMP_COMP_SHIFT))&MTBDWT_COMP_COMP_MASK) 01932 /* MASK Bit Fields */ 01933 #define MTBDWT_MASK_MASK_MASK 0x1Fu 01934 #define MTBDWT_MASK_MASK_SHIFT 0 01935 #define MTBDWT_MASK_MASK(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_MASK_MASK_SHIFT))&MTBDWT_MASK_MASK_MASK) 01936 /* FCT Bit Fields */ 01937 #define MTBDWT_FCT_FUNCTION_MASK 0xFu 01938 #define MTBDWT_FCT_FUNCTION_SHIFT 0 01939 #define MTBDWT_FCT_FUNCTION(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_FCT_FUNCTION_SHIFT))&MTBDWT_FCT_FUNCTION_MASK) 01940 #define MTBDWT_FCT_DATAVMATCH_MASK 0x100u 01941 #define MTBDWT_FCT_DATAVMATCH_SHIFT 8 01942 #define MTBDWT_FCT_DATAVSIZE_MASK 0xC00u 01943 #define MTBDWT_FCT_DATAVSIZE_SHIFT 10 01944 #define MTBDWT_FCT_DATAVSIZE(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_FCT_DATAVSIZE_SHIFT))&MTBDWT_FCT_DATAVSIZE_MASK) 01945 #define MTBDWT_FCT_DATAVADDR0_MASK 0xF000u 01946 #define MTBDWT_FCT_DATAVADDR0_SHIFT 12 01947 #define MTBDWT_FCT_DATAVADDR0(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_FCT_DATAVADDR0_SHIFT))&MTBDWT_FCT_DATAVADDR0_MASK) 01948 #define MTBDWT_FCT_MATCHED_MASK 0x1000000u 01949 #define MTBDWT_FCT_MATCHED_SHIFT 24 01950 /* TBCTRL Bit Fields */ 01951 #define MTBDWT_TBCTRL_ACOMP0_MASK 0x1u 01952 #define MTBDWT_TBCTRL_ACOMP0_SHIFT 0 01953 #define MTBDWT_TBCTRL_ACOMP1_MASK 0x2u 01954 #define MTBDWT_TBCTRL_ACOMP1_SHIFT 1 01955 #define MTBDWT_TBCTRL_NUMCOMP_MASK 0xF0000000u 01956 #define MTBDWT_TBCTRL_NUMCOMP_SHIFT 28 01957 #define MTBDWT_TBCTRL_NUMCOMP(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_TBCTRL_NUMCOMP_SHIFT))&MTBDWT_TBCTRL_NUMCOMP_MASK) 01958 /* DEVICECFG Bit Fields */ 01959 #define MTBDWT_DEVICECFG_DEVICECFG_MASK 0xFFFFFFFFu 01960 #define MTBDWT_DEVICECFG_DEVICECFG_SHIFT 0 01961 #define MTBDWT_DEVICECFG_DEVICECFG(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_DEVICECFG_DEVICECFG_SHIFT))&MTBDWT_DEVICECFG_DEVICECFG_MASK) 01962 /* DEVICETYPID Bit Fields */ 01963 #define MTBDWT_DEVICETYPID_DEVICETYPID_MASK 0xFFFFFFFFu 01964 #define MTBDWT_DEVICETYPID_DEVICETYPID_SHIFT 0 01965 #define MTBDWT_DEVICETYPID_DEVICETYPID(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_DEVICETYPID_DEVICETYPID_SHIFT))&MTBDWT_DEVICETYPID_DEVICETYPID_MASK) 01966 /* PERIPHID Bit Fields */ 01967 #define MTBDWT_PERIPHID_PERIPHID_MASK 0xFFFFFFFFu 01968 #define MTBDWT_PERIPHID_PERIPHID_SHIFT 0 01969 #define MTBDWT_PERIPHID_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_PERIPHID_PERIPHID_SHIFT))&MTBDWT_PERIPHID_PERIPHID_MASK) 01970 /* COMPID Bit Fields */ 01971 #define MTBDWT_COMPID_COMPID_MASK 0xFFFFFFFFu 01972 #define MTBDWT_COMPID_COMPID_SHIFT 0 01973 #define MTBDWT_COMPID_COMPID(x) (((uint32_t)(((uint32_t)(x))<<MTBDWT_COMPID_COMPID_SHIFT))&MTBDWT_COMPID_COMPID_MASK) 01974 01975 /** 01976 * @} 01977 */ /* end of group MTBDWT_Register_Masks */ 01978 01979 01980 /* MTBDWT - Peripheral instance base addresses */ 01981 /** Peripheral MTBDWT base address */ 01982 #define MTBDWT_BASE (0xF0001000u) 01983 /** Peripheral MTBDWT base pointer */ 01984 #define MTBDWT ((MTBDWT_Type *)MTBDWT_BASE) 01985 /** Array initializer of MTBDWT peripheral base pointers */ 01986 #define MTBDWT_BASES { MTBDWT } 01987 01988 /** 01989 * @} 01990 */ /* end of group MTBDWT_Peripheral_Access_Layer */ 01991 01992 01993 /* ---------------------------------------------------------------------------- 01994 -- NV Peripheral Access Layer 01995 ---------------------------------------------------------------------------- */ 01996 01997 /** 01998 * @addtogroup NV_Peripheral_Access_Layer NV Peripheral Access Layer 01999 * @{ 02000 */ 02001 02002 /** NV - Register Layout Typedef */ 02003 typedef struct { 02004 __I uint8_t BACKKEY3; /**< Backdoor Comparison Key 3., offset: 0x0 */ 02005 __I uint8_t BACKKEY2; /**< Backdoor Comparison Key 2., offset: 0x1 */ 02006 __I uint8_t BACKKEY1; /**< Backdoor Comparison Key 1., offset: 0x2 */ 02007 __I uint8_t BACKKEY0; /**< Backdoor Comparison Key 0., offset: 0x3 */ 02008 __I uint8_t BACKKEY7; /**< Backdoor Comparison Key 7., offset: 0x4 */ 02009 __I uint8_t BACKKEY6; /**< Backdoor Comparison Key 6., offset: 0x5 */ 02010 __I uint8_t BACKKEY5; /**< Backdoor Comparison Key 5., offset: 0x6 */ 02011 __I uint8_t BACKKEY4; /**< Backdoor Comparison Key 4., offset: 0x7 */ 02012 __I uint8_t FPROT3; /**< Non-volatile P-Flash Protection 1 - Low Register, offset: 0x8 */ 02013 __I uint8_t FPROT2; /**< Non-volatile P-Flash Protection 1 - High Register, offset: 0x9 */ 02014 __I uint8_t FPROT1; /**< Non-volatile P-Flash Protection 0 - Low Register, offset: 0xA */ 02015 __I uint8_t FPROT0; /**< Non-volatile P-Flash Protection 0 - High Register, offset: 0xB */ 02016 __I uint8_t FSEC; /**< Non-volatile Flash Security Register, offset: 0xC */ 02017 __I uint8_t FOPT; /**< Non-volatile Flash Option Register, offset: 0xD */ 02018 } NV_Type; 02019 02020 /* ---------------------------------------------------------------------------- 02021 -- NV Register Masks 02022 ---------------------------------------------------------------------------- */ 02023 02024 /** 02025 * @addtogroup NV_Register_Masks NV Register Masks 02026 * @{ 02027 */ 02028 02029 /* BACKKEY3 Bit Fields */ 02030 #define NV_BACKKEY3_KEY_MASK 0xFFu 02031 #define NV_BACKKEY3_KEY_SHIFT 0 02032 #define NV_BACKKEY3_KEY(x) (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY3_KEY_SHIFT))&NV_BACKKEY3_KEY_MASK) 02033 /* BACKKEY2 Bit Fields */ 02034 #define NV_BACKKEY2_KEY_MASK 0xFFu 02035 #define NV_BACKKEY2_KEY_SHIFT 0 02036 #define NV_BACKKEY2_KEY(x) (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY2_KEY_SHIFT))&NV_BACKKEY2_KEY_MASK) 02037 /* BACKKEY1 Bit Fields */ 02038 #define NV_BACKKEY1_KEY_MASK 0xFFu 02039 #define NV_BACKKEY1_KEY_SHIFT 0 02040 #define NV_BACKKEY1_KEY(x) (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY1_KEY_SHIFT))&NV_BACKKEY1_KEY_MASK) 02041 /* BACKKEY0 Bit Fields */ 02042 #define NV_BACKKEY0_KEY_MASK 0xFFu 02043 #define NV_BACKKEY0_KEY_SHIFT 0 02044 #define NV_BACKKEY0_KEY(x) (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY0_KEY_SHIFT))&NV_BACKKEY0_KEY_MASK) 02045 /* BACKKEY7 Bit Fields */ 02046 #define NV_BACKKEY7_KEY_MASK 0xFFu 02047 #define NV_BACKKEY7_KEY_SHIFT 0 02048 #define NV_BACKKEY7_KEY(x) (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY7_KEY_SHIFT))&NV_BACKKEY7_KEY_MASK) 02049 /* BACKKEY6 Bit Fields */ 02050 #define NV_BACKKEY6_KEY_MASK 0xFFu 02051 #define NV_BACKKEY6_KEY_SHIFT 0 02052 #define NV_BACKKEY6_KEY(x) (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY6_KEY_SHIFT))&NV_BACKKEY6_KEY_MASK) 02053 /* BACKKEY5 Bit Fields */ 02054 #define NV_BACKKEY5_KEY_MASK 0xFFu 02055 #define NV_BACKKEY5_KEY_SHIFT 0 02056 #define NV_BACKKEY5_KEY(x) (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY5_KEY_SHIFT))&NV_BACKKEY5_KEY_MASK) 02057 /* BACKKEY4 Bit Fields */ 02058 #define NV_BACKKEY4_KEY_MASK 0xFFu 02059 #define NV_BACKKEY4_KEY_SHIFT 0 02060 #define NV_BACKKEY4_KEY(x) (((uint8_t)(((uint8_t)(x))<<NV_BACKKEY4_KEY_SHIFT))&NV_BACKKEY4_KEY_MASK) 02061 /* FPROT3 Bit Fields */ 02062 #define NV_FPROT3_PROT_MASK 0xFFu 02063 #define NV_FPROT3_PROT_SHIFT 0 02064 #define NV_FPROT3_PROT(x) (((uint8_t)(((uint8_t)(x))<<NV_FPROT3_PROT_SHIFT))&NV_FPROT3_PROT_MASK) 02065 /* FPROT2 Bit Fields */ 02066 #define NV_FPROT2_PROT_MASK 0xFFu 02067 #define NV_FPROT2_PROT_SHIFT 0 02068 #define NV_FPROT2_PROT(x) (((uint8_t)(((uint8_t)(x))<<NV_FPROT2_PROT_SHIFT))&NV_FPROT2_PROT_MASK) 02069 /* FPROT1 Bit Fields */ 02070 #define NV_FPROT1_PROT_MASK 0xFFu 02071 #define NV_FPROT1_PROT_SHIFT 0 02072 #define NV_FPROT1_PROT(x) (((uint8_t)(((uint8_t)(x))<<NV_FPROT1_PROT_SHIFT))&NV_FPROT1_PROT_MASK) 02073 /* FPROT0 Bit Fields */ 02074 #define NV_FPROT0_PROT_MASK 0xFFu 02075 #define NV_FPROT0_PROT_SHIFT 0 02076 #define NV_FPROT0_PROT(x) (((uint8_t)(((uint8_t)(x))<<NV_FPROT0_PROT_SHIFT))&NV_FPROT0_PROT_MASK) 02077 /* FSEC Bit Fields */ 02078 #define NV_FSEC_SEC_MASK 0x3u 02079 #define NV_FSEC_SEC_SHIFT 0 02080 #define NV_FSEC_SEC(x) (((uint8_t)(((uint8_t)(x))<<NV_FSEC_SEC_SHIFT))&NV_FSEC_SEC_MASK) 02081 #define NV_FSEC_FSLACC_MASK 0xCu 02082 #define NV_FSEC_FSLACC_SHIFT 2 02083 #define NV_FSEC_FSLACC(x) (((uint8_t)(((uint8_t)(x))<<NV_FSEC_FSLACC_SHIFT))&NV_FSEC_FSLACC_MASK) 02084 #define NV_FSEC_MEEN_MASK 0x30u 02085 #define NV_FSEC_MEEN_SHIFT 4 02086 #define NV_FSEC_MEEN(x) (((uint8_t)(((uint8_t)(x))<<NV_FSEC_MEEN_SHIFT))&NV_FSEC_MEEN_MASK) 02087 #define NV_FSEC_KEYEN_MASK 0xC0u 02088 #define NV_FSEC_KEYEN_SHIFT 6 02089 #define NV_FSEC_KEYEN(x) (((uint8_t)(((uint8_t)(x))<<NV_FSEC_KEYEN_SHIFT))&NV_FSEC_KEYEN_MASK) 02090 /* FOPT Bit Fields */ 02091 #define NV_FOPT_LPBOOT0_MASK 0x1u 02092 #define NV_FOPT_LPBOOT0_SHIFT 0 02093 #define NV_FOPT_NMI_DIS_MASK 0x4u 02094 #define NV_FOPT_NMI_DIS_SHIFT 2 02095 #define NV_FOPT_RESET_PIN_CFG_MASK 0x8u 02096 #define NV_FOPT_RESET_PIN_CFG_SHIFT 3 02097 #define NV_FOPT_LPBOOT1_MASK 0x10u 02098 #define NV_FOPT_LPBOOT1_SHIFT 4 02099 #define NV_FOPT_FAST_INIT_MASK 0x20u 02100 #define NV_FOPT_FAST_INIT_SHIFT 5 02101 02102 /** 02103 * @} 02104 */ /* end of group NV_Register_Masks */ 02105 02106 02107 /* NV - Peripheral instance base addresses */ 02108 /** Peripheral FTFA_FlashConfig base address */ 02109 #define FTFA_FlashConfig_BASE (0x400u) 02110 /** Peripheral FTFA_FlashConfig base pointer */ 02111 #define FTFA_FlashConfig ((NV_Type *)FTFA_FlashConfig_BASE) 02112 /** Array initializer of NV peripheral base pointers */ 02113 #define NV_BASES { FTFA_FlashConfig } 02114 02115 /** 02116 * @} 02117 */ /* end of group NV_Peripheral_Access_Layer */ 02118 02119 02120 /* ---------------------------------------------------------------------------- 02121 -- OSC Peripheral Access Layer 02122 ---------------------------------------------------------------------------- */ 02123 02124 /** 02125 * @addtogroup OSC_Peripheral_Access_Layer OSC Peripheral Access Layer 02126 * @{ 02127 */ 02128 02129 /** OSC - Register Layout Typedef */ 02130 typedef struct { 02131 __IO uint8_t CR; /**< OSC Control Register, offset: 0x0 */ 02132 } OSC_Type; 02133 02134 /* ---------------------------------------------------------------------------- 02135 -- OSC Register Masks 02136 ---------------------------------------------------------------------------- */ 02137 02138 /** 02139 * @addtogroup OSC_Register_Masks OSC Register Masks 02140 * @{ 02141 */ 02142 02143 /* CR Bit Fields */ 02144 #define OSC_CR_SC16P_MASK 0x1u 02145 #define OSC_CR_SC16P_SHIFT 0 02146 #define OSC_CR_SC8P_MASK 0x2u 02147 #define OSC_CR_SC8P_SHIFT 1 02148 #define OSC_CR_SC4P_MASK 0x4u 02149 #define OSC_CR_SC4P_SHIFT 2 02150 #define OSC_CR_SC2P_MASK 0x8u 02151 #define OSC_CR_SC2P_SHIFT 3 02152 #define OSC_CR_EREFSTEN_MASK 0x20u 02153 #define OSC_CR_EREFSTEN_SHIFT 5 02154 #define OSC_CR_ERCLKEN_MASK 0x80u 02155 #define OSC_CR_ERCLKEN_SHIFT 7 02156 02157 /** 02158 * @} 02159 */ /* end of group OSC_Register_Masks */ 02160 02161 02162 /* OSC - Peripheral instance base addresses */ 02163 /** Peripheral OSC0 base address */ 02164 #define OSC0_BASE (0x40065000u) 02165 /** Peripheral OSC0 base pointer */ 02166 #define OSC0 ((OSC_Type *)OSC0_BASE) 02167 /** Array initializer of OSC peripheral base pointers */ 02168 #define OSC_BASES { OSC0 } 02169 02170 /** 02171 * @} 02172 */ /* end of group OSC_Peripheral_Access_Layer */ 02173 02174 02175 /* ---------------------------------------------------------------------------- 02176 -- PIT Peripheral Access Layer 02177 ---------------------------------------------------------------------------- */ 02178 02179 /** 02180 * @addtogroup PIT_Peripheral_Access_Layer PIT Peripheral Access Layer 02181 * @{ 02182 */ 02183 02184 /** PIT - Register Layout Typedef */ 02185 typedef struct { 02186 __IO uint32_t MCR; /**< PIT Module Control Register, offset: 0x0 */ 02187 uint8_t RESERVED_0[220]; 02188 __I uint32_t LTMR64H; /**< PIT Upper Lifetime Timer Register, offset: 0xE0 */ 02189 __I uint32_t LTMR64L; /**< PIT Lower Lifetime Timer Register, offset: 0xE4 */ 02190 uint8_t RESERVED_1[24]; 02191 struct { /* offset: 0x100, array step: 0x10 */ 02192 __IO uint32_t LDVAL; /**< Timer Load Value Register, array offset: 0x100, array step: 0x10 */ 02193 __I uint32_t CVAL; /**< Current Timer Value Register, array offset: 0x104, array step: 0x10 */ 02194 __IO uint32_t TCTRL; /**< Timer Control Register, array offset: 0x108, array step: 0x10 */ 02195 __IO uint32_t TFLG; /**< Timer Flag Register, array offset: 0x10C, array step: 0x10 */ 02196 } CHANNEL[2]; 02197 } PIT_Type; 02198 02199 /* ---------------------------------------------------------------------------- 02200 -- PIT Register Masks 02201 ---------------------------------------------------------------------------- */ 02202 02203 /** 02204 * @addtogroup PIT_Register_Masks PIT Register Masks 02205 * @{ 02206 */ 02207 02208 /* MCR Bit Fields */ 02209 #define PIT_MCR_FRZ_MASK 0x1u 02210 #define PIT_MCR_FRZ_SHIFT 0 02211 #define PIT_MCR_MDIS_MASK 0x2u 02212 #define PIT_MCR_MDIS_SHIFT 1 02213 /* LTMR64H Bit Fields */ 02214 #define PIT_LTMR64H_LTH_MASK 0xFFFFFFFFu 02215 #define PIT_LTMR64H_LTH_SHIFT 0 02216 #define PIT_LTMR64H_LTH(x) (((uint32_t)(((uint32_t)(x))<<PIT_LTMR64H_LTH_SHIFT))&PIT_LTMR64H_LTH_MASK) 02217 /* LTMR64L Bit Fields */ 02218 #define PIT_LTMR64L_LTL_MASK 0xFFFFFFFFu 02219 #define PIT_LTMR64L_LTL_SHIFT 0 02220 #define PIT_LTMR64L_LTL(x) (((uint32_t)(((uint32_t)(x))<<PIT_LTMR64L_LTL_SHIFT))&PIT_LTMR64L_LTL_MASK) 02221 /* LDVAL Bit Fields */ 02222 #define PIT_LDVAL_TSV_MASK 0xFFFFFFFFu 02223 #define PIT_LDVAL_TSV_SHIFT 0 02224 #define PIT_LDVAL_TSV(x) (((uint32_t)(((uint32_t)(x))<<PIT_LDVAL_TSV_SHIFT))&PIT_LDVAL_TSV_MASK) 02225 /* CVAL Bit Fields */ 02226 #define PIT_CVAL_TVL_MASK 0xFFFFFFFFu 02227 #define PIT_CVAL_TVL_SHIFT 0 02228 #define PIT_CVAL_TVL(x) (((uint32_t)(((uint32_t)(x))<<PIT_CVAL_TVL_SHIFT))&PIT_CVAL_TVL_MASK) 02229 /* TCTRL Bit Fields */ 02230 #define PIT_TCTRL_TEN_MASK 0x1u 02231 #define PIT_TCTRL_TEN_SHIFT 0 02232 #define PIT_TCTRL_TIE_MASK 0x2u 02233 #define PIT_TCTRL_TIE_SHIFT 1 02234 #define PIT_TCTRL_CHN_MASK 0x4u 02235 #define PIT_TCTRL_CHN_SHIFT 2 02236 /* TFLG Bit Fields */ 02237 #define PIT_TFLG_TIF_MASK 0x1u 02238 #define PIT_TFLG_TIF_SHIFT 0 02239 02240 /** 02241 * @} 02242 */ /* end of group PIT_Register_Masks */ 02243 02244 02245 /* PIT - Peripheral instance base addresses */ 02246 /** Peripheral PIT base address */ 02247 #define PIT_BASE (0x40037000u) 02248 /** Peripheral PIT base pointer */ 02249 #define PIT ((PIT_Type *)PIT_BASE) 02250 /** Array initializer of PIT peripheral base pointers */ 02251 #define PIT_BASES { PIT } 02252 02253 /** 02254 * @} 02255 */ /* end of group PIT_Peripheral_Access_Layer */ 02256 02257 02258 /* ---------------------------------------------------------------------------- 02259 -- PMC Peripheral Access Layer 02260 ---------------------------------------------------------------------------- */ 02261 02262 /** 02263 * @addtogroup PMC_Peripheral_Access_Layer PMC Peripheral Access Layer 02264 * @{ 02265 */ 02266 02267 /** PMC - Register Layout Typedef */ 02268 typedef struct { 02269 __IO uint8_t LVDSC1; /**< Low Voltage Detect Status And Control 1 register, offset: 0x0 */ 02270 __IO uint8_t LVDSC2; /**< Low Voltage Detect Status And Control 2 register, offset: 0x1 */ 02271 __IO uint8_t REGSC; /**< Regulator Status And Control register, offset: 0x2 */ 02272 } PMC_Type; 02273 02274 /* ---------------------------------------------------------------------------- 02275 -- PMC Register Masks 02276 ---------------------------------------------------------------------------- */ 02277 02278 /** 02279 * @addtogroup PMC_Register_Masks PMC Register Masks 02280 * @{ 02281 */ 02282 02283 /* LVDSC1 Bit Fields */ 02284 #define PMC_LVDSC1_LVDV_MASK 0x3u 02285 #define PMC_LVDSC1_LVDV_SHIFT 0 02286 #define PMC_LVDSC1_LVDV(x) (((uint8_t)(((uint8_t)(x))<<PMC_LVDSC1_LVDV_SHIFT))&PMC_LVDSC1_LVDV_MASK) 02287 #define PMC_LVDSC1_LVDRE_MASK 0x10u 02288 #define PMC_LVDSC1_LVDRE_SHIFT 4 02289 #define PMC_LVDSC1_LVDIE_MASK 0x20u 02290 #define PMC_LVDSC1_LVDIE_SHIFT 5 02291 #define PMC_LVDSC1_LVDACK_MASK 0x40u 02292 #define PMC_LVDSC1_LVDACK_SHIFT 6 02293 #define PMC_LVDSC1_LVDF_MASK 0x80u 02294 #define PMC_LVDSC1_LVDF_SHIFT 7 02295 /* LVDSC2 Bit Fields */ 02296 #define PMC_LVDSC2_LVWV_MASK 0x3u 02297 #define PMC_LVDSC2_LVWV_SHIFT 0 02298 #define PMC_LVDSC2_LVWV(x) (((uint8_t)(((uint8_t)(x))<<PMC_LVDSC2_LVWV_SHIFT))&PMC_LVDSC2_LVWV_MASK) 02299 #define PMC_LVDSC2_LVWIE_MASK 0x20u 02300 #define PMC_LVDSC2_LVWIE_SHIFT 5 02301 #define PMC_LVDSC2_LVWACK_MASK 0x40u 02302 #define PMC_LVDSC2_LVWACK_SHIFT 6 02303 #define PMC_LVDSC2_LVWF_MASK 0x80u 02304 #define PMC_LVDSC2_LVWF_SHIFT 7 02305 /* REGSC Bit Fields */ 02306 #define PMC_REGSC_BGBE_MASK 0x1u 02307 #define PMC_REGSC_BGBE_SHIFT 0 02308 #define PMC_REGSC_REGONS_MASK 0x4u 02309 #define PMC_REGSC_REGONS_SHIFT 2 02310 #define PMC_REGSC_ACKISO_MASK 0x8u 02311 #define PMC_REGSC_ACKISO_SHIFT 3 02312 #define PMC_REGSC_BGEN_MASK 0x10u 02313 #define PMC_REGSC_BGEN_SHIFT 4 02314 02315 /** 02316 * @} 02317 */ /* end of group PMC_Register_Masks */ 02318 02319 02320 /* PMC - Peripheral instance base addresses */ 02321 /** Peripheral PMC base address */ 02322 #define PMC_BASE (0x4007D000u) 02323 /** Peripheral PMC base pointer */ 02324 #define PMC ((PMC_Type *)PMC_BASE) 02325 /** Array initializer of PMC peripheral base pointers */ 02326 #define PMC_BASES { PMC } 02327 02328 /** 02329 * @} 02330 */ /* end of group PMC_Peripheral_Access_Layer */ 02331 02332 02333 /* ---------------------------------------------------------------------------- 02334 -- PORT Peripheral Access Layer 02335 ---------------------------------------------------------------------------- */ 02336 02337 /** 02338 * @addtogroup PORT_Peripheral_Access_Layer PORT Peripheral Access Layer 02339 * @{ 02340 */ 02341 02342 /** PORT - Register Layout Typedef */ 02343 typedef struct { 02344 __IO uint32_t PCR[32]; /**< Pin Control Register n, array offset: 0x0, array step: 0x4 */ 02345 __O uint32_t GPCLR; /**< Global Pin Control Low Register, offset: 0x80 */ 02346 __O uint32_t GPCHR; /**< Global Pin Control High Register, offset: 0x84 */ 02347 uint8_t RESERVED_0[24]; 02348 __IO uint32_t ISFR; /**< Interrupt Status Flag Register, offset: 0xA0 */ 02349 } PORT_Type; 02350 02351 /* ---------------------------------------------------------------------------- 02352 -- PORT Register Masks 02353 ---------------------------------------------------------------------------- */ 02354 02355 /** 02356 * @addtogroup PORT_Register_Masks PORT Register Masks 02357 * @{ 02358 */ 02359 02360 /* PCR Bit Fields */ 02361 #define PORT_PCR_PS_MASK 0x1u 02362 #define PORT_PCR_PS_SHIFT 0 02363 #define PORT_PCR_PE_MASK 0x2u 02364 #define PORT_PCR_PE_SHIFT 1 02365 #define PORT_PCR_SRE_MASK 0x4u 02366 #define PORT_PCR_SRE_SHIFT 2 02367 #define PORT_PCR_PFE_MASK 0x10u 02368 #define PORT_PCR_PFE_SHIFT 4 02369 #define PORT_PCR_DSE_MASK 0x40u 02370 #define PORT_PCR_DSE_SHIFT 6 02371 #define PORT_PCR_MUX_MASK 0x700u 02372 #define PORT_PCR_MUX_SHIFT 8 02373 #define PORT_PCR_MUX(x) (((uint32_t)(((uint32_t)(x))<<PORT_PCR_MUX_SHIFT))&PORT_PCR_MUX_MASK) 02374 #define PORT_PCR_IRQC_MASK 0xF0000u 02375 #define PORT_PCR_IRQC_SHIFT 16 02376 #define PORT_PCR_IRQC(x) (((uint32_t)(((uint32_t)(x))<<PORT_PCR_IRQC_SHIFT))&PORT_PCR_IRQC_MASK) 02377 #define PORT_PCR_ISF_MASK 0x1000000u 02378 #define PORT_PCR_ISF_SHIFT 24 02379 /* GPCLR Bit Fields */ 02380 #define PORT_GPCLR_GPWD_MASK 0xFFFFu 02381 #define PORT_GPCLR_GPWD_SHIFT 0 02382 #define PORT_GPCLR_GPWD(x) (((uint32_t)(((uint32_t)(x))<<PORT_GPCLR_GPWD_SHIFT))&PORT_GPCLR_GPWD_MASK) 02383 #define PORT_GPCLR_GPWE_MASK 0xFFFF0000u 02384 #define PORT_GPCLR_GPWE_SHIFT 16 02385 #define PORT_GPCLR_GPWE(x) (((uint32_t)(((uint32_t)(x))<<PORT_GPCLR_GPWE_SHIFT))&PORT_GPCLR_GPWE_MASK) 02386 /* GPCHR Bit Fields */ 02387 #define PORT_GPCHR_GPWD_MASK 0xFFFFu 02388 #define PORT_GPCHR_GPWD_SHIFT 0 02389 #define PORT_GPCHR_GPWD(x) (((uint32_t)(((uint32_t)(x))<<PORT_GPCHR_GPWD_SHIFT))&PORT_GPCHR_GPWD_MASK) 02390 #define PORT_GPCHR_GPWE_MASK 0xFFFF0000u 02391 #define PORT_GPCHR_GPWE_SHIFT 16 02392 #define PORT_GPCHR_GPWE(x) (((uint32_t)(((uint32_t)(x))<<PORT_GPCHR_GPWE_SHIFT))&PORT_GPCHR_GPWE_MASK) 02393 /* ISFR Bit Fields */ 02394 #define PORT_ISFR_ISF_MASK 0xFFFFFFFFu 02395 #define PORT_ISFR_ISF_SHIFT 0 02396 #define PORT_ISFR_ISF(x) (((uint32_t)(((uint32_t)(x))<<PORT_ISFR_ISF_SHIFT))&PORT_ISFR_ISF_MASK) 02397 02398 /** 02399 * @} 02400 */ /* end of group PORT_Register_Masks */ 02401 02402 02403 /* PORT - Peripheral instance base addresses */ 02404 /** Peripheral PORTA base address */ 02405 #define PORTA_BASE (0x40049000u) 02406 /** Peripheral PORTA base pointer */ 02407 #define PORTA ((PORT_Type *)PORTA_BASE) 02408 /** Peripheral PORTB base address */ 02409 #define PORTB_BASE (0x4004A000u) 02410 /** Peripheral PORTB base pointer */ 02411 #define PORTB ((PORT_Type *)PORTB_BASE) 02412 /** Peripheral PORTC base address */ 02413 #define PORTC_BASE (0x4004B000u) 02414 /** Peripheral PORTC base pointer */ 02415 #define PORTC ((PORT_Type *)PORTC_BASE) 02416 /** Peripheral PORTD base address */ 02417 #define PORTD_BASE (0x4004C000u) 02418 /** Peripheral PORTD base pointer */ 02419 #define PORTD ((PORT_Type *)PORTD_BASE) 02420 /** Peripheral PORTE base address */ 02421 #define PORTE_BASE (0x4004D000u) 02422 /** Peripheral PORTE base pointer */ 02423 #define PORTE ((PORT_Type *)PORTE_BASE) 02424 /** Array initializer of PORT peripheral base pointers */ 02425 #define PORT_BASES { PORTA, PORTB, PORTC, PORTD, PORTE } 02426 02427 /** 02428 * @} 02429 */ /* end of group PORT_Peripheral_Access_Layer */ 02430 02431 02432 /* ---------------------------------------------------------------------------- 02433 -- RCM Peripheral Access Layer 02434 ---------------------------------------------------------------------------- */ 02435 02436 /** 02437 * @addtogroup RCM_Peripheral_Access_Layer RCM Peripheral Access Layer 02438 * @{ 02439 */ 02440 02441 /** RCM - Register Layout Typedef */ 02442 typedef struct { 02443 __I uint8_t SRS0; /**< System Reset Status Register 0, offset: 0x0 */ 02444 __I uint8_t SRS1; /**< System Reset Status Register 1, offset: 0x1 */ 02445 uint8_t RESERVED_0[2]; 02446 __IO uint8_t RPFC; /**< Reset Pin Filter Control register, offset: 0x4 */ 02447 __IO uint8_t RPFW; /**< Reset Pin Filter Width register, offset: 0x5 */ 02448 } RCM_Type; 02449 02450 /* ---------------------------------------------------------------------------- 02451 -- RCM Register Masks 02452 ---------------------------------------------------------------------------- */ 02453 02454 /** 02455 * @addtogroup RCM_Register_Masks RCM Register Masks 02456 * @{ 02457 */ 02458 02459 /* SRS0 Bit Fields */ 02460 #define RCM_SRS0_WAKEUP_MASK 0x1u 02461 #define RCM_SRS0_WAKEUP_SHIFT 0 02462 #define RCM_SRS0_LVD_MASK 0x2u 02463 #define RCM_SRS0_LVD_SHIFT 1 02464 #define RCM_SRS0_LOC_MASK 0x4u 02465 #define RCM_SRS0_LOC_SHIFT 2 02466 #define RCM_SRS0_LOL_MASK 0x8u 02467 #define RCM_SRS0_LOL_SHIFT 3 02468 #define RCM_SRS0_WDOG_MASK 0x20u 02469 #define RCM_SRS0_WDOG_SHIFT 5 02470 #define RCM_SRS0_PIN_MASK 0x40u 02471 #define RCM_SRS0_PIN_SHIFT 6 02472 #define RCM_SRS0_POR_MASK 0x80u 02473 #define RCM_SRS0_POR_SHIFT 7 02474 /* SRS1 Bit Fields */ 02475 #define RCM_SRS1_LOCKUP_MASK 0x2u 02476 #define RCM_SRS1_LOCKUP_SHIFT 1 02477 #define RCM_SRS1_SW_MASK 0x4u 02478 #define RCM_SRS1_SW_SHIFT 2 02479 #define RCM_SRS1_MDM_AP_MASK 0x8u 02480 #define RCM_SRS1_MDM_AP_SHIFT 3 02481 #define RCM_SRS1_SACKERR_MASK 0x20u 02482 #define RCM_SRS1_SACKERR_SHIFT 5 02483 /* RPFC Bit Fields */ 02484 #define RCM_RPFC_RSTFLTSRW_MASK 0x3u 02485 #define RCM_RPFC_RSTFLTSRW_SHIFT 0 02486 #define RCM_RPFC_RSTFLTSRW(x) (((uint8_t)(((uint8_t)(x))<<RCM_RPFC_RSTFLTSRW_SHIFT))&RCM_RPFC_RSTFLTSRW_MASK) 02487 #define RCM_RPFC_RSTFLTSS_MASK 0x4u 02488 #define RCM_RPFC_RSTFLTSS_SHIFT 2 02489 /* RPFW Bit Fields */ 02490 #define RCM_RPFW_RSTFLTSEL_MASK 0x1Fu 02491 #define RCM_RPFW_RSTFLTSEL_SHIFT 0 02492 #define RCM_RPFW_RSTFLTSEL(x) (((uint8_t)(((uint8_t)(x))<<RCM_RPFW_RSTFLTSEL_SHIFT))&RCM_RPFW_RSTFLTSEL_MASK) 02493 02494 /** 02495 * @} 02496 */ /* end of group RCM_Register_Masks */ 02497 02498 02499 /* RCM - Peripheral instance base addresses */ 02500 /** Peripheral RCM base address */ 02501 #define RCM_BASE (0x4007F000u) 02502 /** Peripheral RCM base pointer */ 02503 #define RCM ((RCM_Type *)RCM_BASE) 02504 /** Array initializer of RCM peripheral base pointers */ 02505 #define RCM_BASES { RCM } 02506 02507 /** 02508 * @} 02509 */ /* end of group RCM_Peripheral_Access_Layer */ 02510 02511 02512 /* ---------------------------------------------------------------------------- 02513 -- ROM Peripheral Access Layer 02514 ---------------------------------------------------------------------------- */ 02515 02516 /** 02517 * @addtogroup ROM_Peripheral_Access_Layer ROM Peripheral Access Layer 02518 * @{ 02519 */ 02520 02521 /** ROM - Register Layout Typedef */ 02522 typedef struct { 02523 __I uint32_t ENTRY[3]; /**< Entry, array offset: 0x0, array step: 0x4 */ 02524 __I uint32_t TABLEMARK; /**< End of Table Marker Register, offset: 0xC */ 02525 uint8_t RESERVED_0[4028]; 02526 __I uint32_t SYSACCESS; /**< System Access Register, offset: 0xFCC */ 02527 __I uint32_t PERIPHID4; /**< Peripheral ID Register, offset: 0xFD0 */ 02528 __I uint32_t PERIPHID5; /**< Peripheral ID Register, offset: 0xFD4 */ 02529 __I uint32_t PERIPHID6; /**< Peripheral ID Register, offset: 0xFD8 */ 02530 __I uint32_t PERIPHID7; /**< Peripheral ID Register, offset: 0xFDC */ 02531 __I uint32_t PERIPHID0; /**< Peripheral ID Register, offset: 0xFE0 */ 02532 __I uint32_t PERIPHID1; /**< Peripheral ID Register, offset: 0xFE4 */ 02533 __I uint32_t PERIPHID2; /**< Peripheral ID Register, offset: 0xFE8 */ 02534 __I uint32_t PERIPHID3; /**< Peripheral ID Register, offset: 0xFEC */ 02535 __I uint32_t COMPID[4]; /**< Component ID Register, array offset: 0xFF0, array step: 0x4 */ 02536 } ROM_Type; 02537 02538 /* ---------------------------------------------------------------------------- 02539 -- ROM Register Masks 02540 ---------------------------------------------------------------------------- */ 02541 02542 /** 02543 * @addtogroup ROM_Register_Masks ROM Register Masks 02544 * @{ 02545 */ 02546 02547 /* ENTRY Bit Fields */ 02548 #define ROM_ENTRY_ENTRY_MASK 0xFFFFFFFFu 02549 #define ROM_ENTRY_ENTRY_SHIFT 0 02550 #define ROM_ENTRY_ENTRY(x) (((uint32_t)(((uint32_t)(x))<<ROM_ENTRY_ENTRY_SHIFT))&ROM_ENTRY_ENTRY_MASK) 02551 /* TABLEMARK Bit Fields */ 02552 #define ROM_TABLEMARK_MARK_MASK 0xFFFFFFFFu 02553 #define ROM_TABLEMARK_MARK_SHIFT 0 02554 #define ROM_TABLEMARK_MARK(x) (((uint32_t)(((uint32_t)(x))<<ROM_TABLEMARK_MARK_SHIFT))&ROM_TABLEMARK_MARK_MASK) 02555 /* SYSACCESS Bit Fields */ 02556 #define ROM_SYSACCESS_SYSACCESS_MASK 0xFFFFFFFFu 02557 #define ROM_SYSACCESS_SYSACCESS_SHIFT 0 02558 #define ROM_SYSACCESS_SYSACCESS(x) (((uint32_t)(((uint32_t)(x))<<ROM_SYSACCESS_SYSACCESS_SHIFT))&ROM_SYSACCESS_SYSACCESS_MASK) 02559 /* PERIPHID4 Bit Fields */ 02560 #define ROM_PERIPHID4_PERIPHID_MASK 0xFFFFFFFFu 02561 #define ROM_PERIPHID4_PERIPHID_SHIFT 0 02562 #define ROM_PERIPHID4_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<ROM_PERIPHID4_PERIPHID_SHIFT))&ROM_PERIPHID4_PERIPHID_MASK) 02563 /* PERIPHID5 Bit Fields */ 02564 #define ROM_PERIPHID5_PERIPHID_MASK 0xFFFFFFFFu 02565 #define ROM_PERIPHID5_PERIPHID_SHIFT 0 02566 #define ROM_PERIPHID5_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<ROM_PERIPHID5_PERIPHID_SHIFT))&ROM_PERIPHID5_PERIPHID_MASK) 02567 /* PERIPHID6 Bit Fields */ 02568 #define ROM_PERIPHID6_PERIPHID_MASK 0xFFFFFFFFu 02569 #define ROM_PERIPHID6_PERIPHID_SHIFT 0 02570 #define ROM_PERIPHID6_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<ROM_PERIPHID6_PERIPHID_SHIFT))&ROM_PERIPHID6_PERIPHID_MASK) 02571 /* PERIPHID7 Bit Fields */ 02572 #define ROM_PERIPHID7_PERIPHID_MASK 0xFFFFFFFFu 02573 #define ROM_PERIPHID7_PERIPHID_SHIFT 0 02574 #define ROM_PERIPHID7_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<ROM_PERIPHID7_PERIPHID_SHIFT))&ROM_PERIPHID7_PERIPHID_MASK) 02575 /* PERIPHID0 Bit Fields */ 02576 #define ROM_PERIPHID0_PERIPHID_MASK 0xFFFFFFFFu 02577 #define ROM_PERIPHID0_PERIPHID_SHIFT 0 02578 #define ROM_PERIPHID0_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<ROM_PERIPHID0_PERIPHID_SHIFT))&ROM_PERIPHID0_PERIPHID_MASK) 02579 /* PERIPHID1 Bit Fields */ 02580 #define ROM_PERIPHID1_PERIPHID_MASK 0xFFFFFFFFu 02581 #define ROM_PERIPHID1_PERIPHID_SHIFT 0 02582 #define ROM_PERIPHID1_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<ROM_PERIPHID1_PERIPHID_SHIFT))&ROM_PERIPHID1_PERIPHID_MASK) 02583 /* PERIPHID2 Bit Fields */ 02584 #define ROM_PERIPHID2_PERIPHID_MASK 0xFFFFFFFFu 02585 #define ROM_PERIPHID2_PERIPHID_SHIFT 0 02586 #define ROM_PERIPHID2_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<ROM_PERIPHID2_PERIPHID_SHIFT))&ROM_PERIPHID2_PERIPHID_MASK) 02587 /* PERIPHID3 Bit Fields */ 02588 #define ROM_PERIPHID3_PERIPHID_MASK 0xFFFFFFFFu 02589 #define ROM_PERIPHID3_PERIPHID_SHIFT 0 02590 #define ROM_PERIPHID3_PERIPHID(x) (((uint32_t)(((uint32_t)(x))<<ROM_PERIPHID3_PERIPHID_SHIFT))&ROM_PERIPHID3_PERIPHID_MASK) 02591 /* COMPID Bit Fields */ 02592 #define ROM_COMPID_COMPID_MASK 0xFFFFFFFFu 02593 #define ROM_COMPID_COMPID_SHIFT 0 02594 #define ROM_COMPID_COMPID(x) (((uint32_t)(((uint32_t)(x))<<ROM_COMPID_COMPID_SHIFT))&ROM_COMPID_COMPID_MASK) 02595 02596 /** 02597 * @} 02598 */ /* end of group ROM_Register_Masks */ 02599 02600 02601 /* ROM - Peripheral instance base addresses */ 02602 /** Peripheral ROM base address */ 02603 #define ROM_BASE (0xF0002000u) 02604 /** Peripheral ROM base pointer */ 02605 #define ROM ((ROM_Type *)ROM_BASE) 02606 /** Array initializer of ROM peripheral base pointers */ 02607 #define ROM_BASES { ROM } 02608 02609 /** 02610 * @} 02611 */ /* end of group ROM_Peripheral_Access_Layer */ 02612 02613 02614 /* ---------------------------------------------------------------------------- 02615 -- RTC Peripheral Access Layer 02616 ---------------------------------------------------------------------------- */ 02617 02618 /** 02619 * @addtogroup RTC_Peripheral_Access_Layer RTC Peripheral Access Layer 02620 * @{ 02621 */ 02622 02623 /** RTC - Register Layout Typedef */ 02624 typedef struct { 02625 __IO uint32_t TSR; /**< RTC Time Seconds Register, offset: 0x0 */ 02626 __IO uint32_t TPR; /**< RTC Time Prescaler Register, offset: 0x4 */ 02627 __IO uint32_t TAR; /**< RTC Time Alarm Register, offset: 0x8 */ 02628 __IO uint32_t TCR; /**< RTC Time Compensation Register, offset: 0xC */ 02629 __IO uint32_t CR; /**< RTC Control Register, offset: 0x10 */ 02630 __IO uint32_t SR; /**< RTC Status Register, offset: 0x14 */ 02631 __IO uint32_t LR; /**< RTC Lock Register, offset: 0x18 */ 02632 __IO uint32_t IER; /**< RTC Interrupt Enable Register, offset: 0x1C */ 02633 } RTC_Type; 02634 02635 /* ---------------------------------------------------------------------------- 02636 -- RTC Register Masks 02637 ---------------------------------------------------------------------------- */ 02638 02639 /** 02640 * @addtogroup RTC_Register_Masks RTC Register Masks 02641 * @{ 02642 */ 02643 02644 /* TSR Bit Fields */ 02645 #define RTC_TSR_TSR_MASK 0xFFFFFFFFu 02646 #define RTC_TSR_TSR_SHIFT 0 02647 #define RTC_TSR_TSR(x) (((uint32_t)(((uint32_t)(x))<<RTC_TSR_TSR_SHIFT))&RTC_TSR_TSR_MASK) 02648 /* TPR Bit Fields */ 02649 #define RTC_TPR_TPR_MASK 0xFFFFu 02650 #define RTC_TPR_TPR_SHIFT 0 02651 #define RTC_TPR_TPR(x) (((uint32_t)(((uint32_t)(x))<<RTC_TPR_TPR_SHIFT))&RTC_TPR_TPR_MASK) 02652 /* TAR Bit Fields */ 02653 #define RTC_TAR_TAR_MASK 0xFFFFFFFFu 02654 #define RTC_TAR_TAR_SHIFT 0 02655 #define RTC_TAR_TAR(x) (((uint32_t)(((uint32_t)(x))<<RTC_TAR_TAR_SHIFT))&RTC_TAR_TAR_MASK) 02656 /* TCR Bit Fields */ 02657 #define RTC_TCR_TCR_MASK 0xFFu 02658 #define RTC_TCR_TCR_SHIFT 0 02659 #define RTC_TCR_TCR(x) (((uint32_t)(((uint32_t)(x))<<RTC_TCR_TCR_SHIFT))&RTC_TCR_TCR_MASK) 02660 #define RTC_TCR_CIR_MASK 0xFF00u 02661 #define RTC_TCR_CIR_SHIFT 8 02662 #define RTC_TCR_CIR(x) (((uint32_t)(((uint32_t)(x))<<RTC_TCR_CIR_SHIFT))&RTC_TCR_CIR_MASK) 02663 #define RTC_TCR_TCV_MASK 0xFF0000u 02664 #define RTC_TCR_TCV_SHIFT 16 02665 #define RTC_TCR_TCV(x) (((uint32_t)(((uint32_t)(x))<<RTC_TCR_TCV_SHIFT))&RTC_TCR_TCV_MASK) 02666 #define RTC_TCR_CIC_MASK 0xFF000000u 02667 #define RTC_TCR_CIC_SHIFT 24 02668 #define RTC_TCR_CIC(x) (((uint32_t)(((uint32_t)(x))<<RTC_TCR_CIC_SHIFT))&RTC_TCR_CIC_MASK) 02669 /* CR Bit Fields */ 02670 #define RTC_CR_SWR_MASK 0x1u 02671 #define RTC_CR_SWR_SHIFT 0 02672 #define RTC_CR_WPE_MASK 0x2u 02673 #define RTC_CR_WPE_SHIFT 1 02674 #define RTC_CR_SUP_MASK 0x4u 02675 #define RTC_CR_SUP_SHIFT 2 02676 #define RTC_CR_UM_MASK 0x8u 02677 #define RTC_CR_UM_SHIFT 3 02678 #define RTC_CR_OSCE_MASK 0x100u 02679 #define RTC_CR_OSCE_SHIFT 8 02680 #define RTC_CR_CLKO_MASK 0x200u 02681 #define RTC_CR_CLKO_SHIFT 9 02682 #define RTC_CR_SC16P_MASK 0x400u 02683 #define RTC_CR_SC16P_SHIFT 10 02684 #define RTC_CR_SC8P_MASK 0x800u 02685 #define RTC_CR_SC8P_SHIFT 11 02686 #define RTC_CR_SC4P_MASK 0x1000u 02687 #define RTC_CR_SC4P_SHIFT 12 02688 #define RTC_CR_SC2P_MASK 0x2000u 02689 #define RTC_CR_SC2P_SHIFT 13 02690 /* SR Bit Fields */ 02691 #define RTC_SR_TIF_MASK 0x1u 02692 #define RTC_SR_TIF_SHIFT 0 02693 #define RTC_SR_TOF_MASK 0x2u 02694 #define RTC_SR_TOF_SHIFT 1 02695 #define RTC_SR_TAF_MASK 0x4u 02696 #define RTC_SR_TAF_SHIFT 2 02697 #define RTC_SR_TCE_MASK 0x10u 02698 #define RTC_SR_TCE_SHIFT 4 02699 /* LR Bit Fields */ 02700 #define RTC_LR_TCL_MASK 0x8u 02701 #define RTC_LR_TCL_SHIFT 3 02702 #define RTC_LR_CRL_MASK 0x10u 02703 #define RTC_LR_CRL_SHIFT 4 02704 #define RTC_LR_SRL_MASK 0x20u 02705 #define RTC_LR_SRL_SHIFT 5 02706 #define RTC_LR_LRL_MASK 0x40u 02707 #define RTC_LR_LRL_SHIFT 6 02708 /* IER Bit Fields */ 02709 #define RTC_IER_TIIE_MASK 0x1u 02710 #define RTC_IER_TIIE_SHIFT 0 02711 #define RTC_IER_TOIE_MASK 0x2u 02712 #define RTC_IER_TOIE_SHIFT 1 02713 #define RTC_IER_TAIE_MASK 0x4u 02714 #define RTC_IER_TAIE_SHIFT 2 02715 #define RTC_IER_TSIE_MASK 0x10u 02716 #define RTC_IER_TSIE_SHIFT 4 02717 #define RTC_IER_WPON_MASK 0x80u 02718 #define RTC_IER_WPON_SHIFT 7 02719 02720 /** 02721 * @} 02722 */ /* end of group RTC_Register_Masks */ 02723 02724 02725 /* RTC - Peripheral instance base addresses */ 02726 /** Peripheral RTC base address */ 02727 #define RTC_BASE (0x4003D000u) 02728 /** Peripheral RTC base pointer */ 02729 #define RTC ((RTC_Type *)RTC_BASE) 02730 /** Array initializer of RTC peripheral base pointers */ 02731 #define RTC_BASES { RTC } 02732 02733 /** 02734 * @} 02735 */ /* end of group RTC_Peripheral_Access_Layer */ 02736 02737 02738 /* ---------------------------------------------------------------------------- 02739 -- SIM Peripheral Access Layer 02740 ---------------------------------------------------------------------------- */ 02741 02742 /** 02743 * @addtogroup SIM_Peripheral_Access_Layer SIM Peripheral Access Layer 02744 * @{ 02745 */ 02746 02747 /** SIM - Register Layout Typedef */ 02748 typedef struct { 02749 __IO uint32_t SOPT1; /**< System Options Register 1, offset: 0x0 */ 02750 __IO uint32_t SOPT1CFG; /**< SOPT1 Configuration Register, offset: 0x4 */ 02751 uint8_t RESERVED_0[4092]; 02752 __IO uint32_t SOPT2; /**< System Options Register 2, offset: 0x1004 */ 02753 uint8_t RESERVED_1[4]; 02754 __IO uint32_t SOPT4; /**< System Options Register 4, offset: 0x100C */ 02755 __IO uint32_t SOPT5; /**< System Options Register 5, offset: 0x1010 */ 02756 uint8_t RESERVED_2[4]; 02757 __IO uint32_t SOPT7; /**< System Options Register 7, offset: 0x1018 */ 02758 uint8_t RESERVED_3[8]; 02759 __I uint32_t SDID; /**< System Device Identification Register, offset: 0x1024 */ 02760 uint8_t RESERVED_4[12]; 02761 __IO uint32_t SCGC4; /**< System Clock Gating Control Register 4, offset: 0x1034 */ 02762 __IO uint32_t SCGC5; /**< System Clock Gating Control Register 5, offset: 0x1038 */ 02763 __IO uint32_t SCGC6; /**< System Clock Gating Control Register 6, offset: 0x103C */ 02764 __IO uint32_t SCGC7; /**< System Clock Gating Control Register 7, offset: 0x1040 */ 02765 __IO uint32_t CLKDIV1; /**< System Clock Divider Register 1, offset: 0x1044 */ 02766 uint8_t RESERVED_5[4]; 02767 __IO uint32_t FCFG1; /**< Flash Configuration Register 1, offset: 0x104C */ 02768 __I uint32_t FCFG2; /**< Flash Configuration Register 2, offset: 0x1050 */ 02769 uint8_t RESERVED_6[4]; 02770 __I uint32_t UIDMH; /**< Unique Identification Register Mid-High, offset: 0x1058 */ 02771 __I uint32_t UIDML; /**< Unique Identification Register Mid Low, offset: 0x105C */ 02772 __I uint32_t UIDL; /**< Unique Identification Register Low, offset: 0x1060 */ 02773 uint8_t RESERVED_7[156]; 02774 __IO uint32_t COPC; /**< COP Control Register, offset: 0x1100 */ 02775 __O uint32_t SRVCOP; /**< Service COP Register, offset: 0x1104 */ 02776 } SIM_Type; 02777 02778 /* ---------------------------------------------------------------------------- 02779 -- SIM Register Masks 02780 ---------------------------------------------------------------------------- */ 02781 02782 /** 02783 * @addtogroup SIM_Register_Masks SIM Register Masks 02784 * @{ 02785 */ 02786 02787 /* SOPT1 Bit Fields */ 02788 #define SIM_SOPT1_OSC32KSEL_MASK 0xC0000u 02789 #define SIM_SOPT1_OSC32KSEL_SHIFT 18 02790 #define SIM_SOPT1_OSC32KSEL(x) (((uint32_t)(((uint32_t)(x))<<SIM_SOPT1_OSC32KSEL_SHIFT))&SIM_SOPT1_OSC32KSEL_MASK) 02791 #define SIM_SOPT1_USBVSTBY_MASK 0x20000000u 02792 #define SIM_SOPT1_USBVSTBY_SHIFT 29 02793 #define SIM_SOPT1_USBSSTBY_MASK 0x40000000u 02794 #define SIM_SOPT1_USBSSTBY_SHIFT 30 02795 #define SIM_SOPT1_USBREGEN_MASK 0x80000000u 02796 #define SIM_SOPT1_USBREGEN_SHIFT 31 02797 /* SOPT1CFG Bit Fields */ 02798 #define SIM_SOPT1CFG_URWE_MASK 0x1000000u 02799 #define SIM_SOPT1CFG_URWE_SHIFT 24 02800 #define SIM_SOPT1CFG_UVSWE_MASK 0x2000000u 02801 #define SIM_SOPT1CFG_UVSWE_SHIFT 25 02802 #define SIM_SOPT1CFG_USSWE_MASK 0x4000000u 02803 #define SIM_SOPT1CFG_USSWE_SHIFT 26 02804 /* SOPT2 Bit Fields */ 02805 #define SIM_SOPT2_RTCCLKOUTSEL_MASK 0x10u 02806 #define SIM_SOPT2_RTCCLKOUTSEL_SHIFT 4 02807 #define SIM_SOPT2_CLKOUTSEL_MASK 0xE0u 02808 #define SIM_SOPT2_CLKOUTSEL_SHIFT 5 02809 #define SIM_SOPT2_CLKOUTSEL(x) (((uint32_t)(((uint32_t)(x))<<SIM_SOPT2_CLKOUTSEL_SHIFT))&SIM_SOPT2_CLKOUTSEL_MASK) 02810 #define SIM_SOPT2_PLLFLLSEL_MASK 0x10000u 02811 #define SIM_SOPT2_PLLFLLSEL_SHIFT 16 02812 #define SIM_SOPT2_USBSRC_MASK 0x40000u 02813 #define SIM_SOPT2_USBSRC_SHIFT 18 02814 #define SIM_SOPT2_TPMSRC_MASK 0x3000000u 02815 #define SIM_SOPT2_TPMSRC_SHIFT 24 02816 #define SIM_SOPT2_TPMSRC(x) (((uint32_t)(((uint32_t)(x))<<SIM_SOPT2_TPMSRC_SHIFT))&SIM_SOPT2_TPMSRC_MASK) 02817 #define SIM_SOPT2_UART0SRC_MASK 0xC000000u 02818 #define SIM_SOPT2_UART0SRC_SHIFT 26 02819 #define SIM_SOPT2_UART0SRC(x) (((uint32_t)(((uint32_t)(x))<<SIM_SOPT2_UART0SRC_SHIFT))&SIM_SOPT2_UART0SRC_MASK) 02820 /* SOPT4 Bit Fields */ 02821 #define SIM_SOPT4_TPM1CH0SRC_MASK 0x40000u 02822 #define SIM_SOPT4_TPM1CH0SRC_SHIFT 18 02823 #define SIM_SOPT4_TPM2CH0SRC_MASK 0x100000u 02824 #define SIM_SOPT4_TPM2CH0SRC_SHIFT 20 02825 #define SIM_SOPT4_TPM0CLKSEL_MASK 0x1000000u 02826 #define SIM_SOPT4_TPM0CLKSEL_SHIFT 24 02827 #define SIM_SOPT4_TPM1CLKSEL_MASK 0x2000000u 02828 #define SIM_SOPT4_TPM1CLKSEL_SHIFT 25 02829 #define SIM_SOPT4_TPM2CLKSEL_MASK 0x4000000u 02830 #define SIM_SOPT4_TPM2CLKSEL_SHIFT 26 02831 /* SOPT5 Bit Fields */ 02832 #define SIM_SOPT5_UART0TXSRC_MASK 0x3u 02833 #define SIM_SOPT5_UART0TXSRC_SHIFT 0 02834 #define SIM_SOPT5_UART0TXSRC(x) (((uint32_t)(((uint32_t)(x))<<SIM_SOPT5_UART0TXSRC_SHIFT))&SIM_SOPT5_UART0TXSRC_MASK) 02835 #define SIM_SOPT5_UART0RXSRC_MASK 0x4u 02836 #define SIM_SOPT5_UART0RXSRC_SHIFT 2 02837 #define SIM_SOPT5_UART1TXSRC_MASK 0x30u 02838 #define SIM_SOPT5_UART1TXSRC_SHIFT 4 02839 #define SIM_SOPT5_UART1TXSRC(x) (((uint32_t)(((uint32_t)(x))<<SIM_SOPT5_UART1TXSRC_SHIFT))&SIM_SOPT5_UART1TXSRC_MASK) 02840 #define SIM_SOPT5_UART1RXSRC_MASK 0x40u 02841 #define SIM_SOPT5_UART1RXSRC_SHIFT 6 02842 #define SIM_SOPT5_UART0ODE_MASK 0x10000u 02843 #define SIM_SOPT5_UART0ODE_SHIFT 16 02844 #define SIM_SOPT5_UART1ODE_MASK 0x20000u 02845 #define SIM_SOPT5_UART1ODE_SHIFT 17 02846 #define SIM_SOPT5_UART2ODE_MASK 0x40000u 02847 #define SIM_SOPT5_UART2ODE_SHIFT 18 02848 /* SOPT7 Bit Fields */ 02849 #define SIM_SOPT7_ADC0TRGSEL_MASK 0xFu 02850 #define SIM_SOPT7_ADC0TRGSEL_SHIFT 0 02851 #define SIM_SOPT7_ADC0TRGSEL(x) (((uint32_t)(((uint32_t)(x))<<SIM_SOPT7_ADC0TRGSEL_SHIFT))&SIM_SOPT7_ADC0TRGSEL_MASK) 02852 #define SIM_SOPT7_ADC0PRETRGSEL_MASK 0x10u 02853 #define SIM_SOPT7_ADC0PRETRGSEL_SHIFT 4 02854 #define SIM_SOPT7_ADC0ALTTRGEN_MASK 0x80u 02855 #define SIM_SOPT7_ADC0ALTTRGEN_SHIFT 7 02856 /* SDID Bit Fields */ 02857 #define SIM_SDID_PINID_MASK 0xFu 02858 #define SIM_SDID_PINID_SHIFT 0 02859 #define SIM_SDID_PINID(x) (((uint32_t)(((uint32_t)(x))<<SIM_SDID_PINID_SHIFT))&SIM_SDID_PINID_MASK) 02860 #define SIM_SDID_DIEID_MASK 0xF80u 02861 #define SIM_SDID_DIEID_SHIFT 7 02862 #define SIM_SDID_DIEID(x) (((uint32_t)(((uint32_t)(x))<<SIM_SDID_DIEID_SHIFT))&SIM_SDID_DIEID_MASK) 02863 #define SIM_SDID_REVID_MASK 0xF000u 02864 #define SIM_SDID_REVID_SHIFT 12 02865 #define SIM_SDID_REVID(x) (((uint32_t)(((uint32_t)(x))<<SIM_SDID_REVID_SHIFT))&SIM_SDID_REVID_MASK) 02866 #define SIM_SDID_SRAMSIZE_MASK 0xF0000u 02867 #define SIM_SDID_SRAMSIZE_SHIFT 16 02868 #define SIM_SDID_SRAMSIZE(x) (((uint32_t)(((uint32_t)(x))<<SIM_SDID_SRAMSIZE_SHIFT))&SIM_SDID_SRAMSIZE_MASK) 02869 #define SIM_SDID_SERIESID_MASK 0xF00000u 02870 #define SIM_SDID_SERIESID_SHIFT 20 02871 #define SIM_SDID_SERIESID(x) (((uint32_t)(((uint32_t)(x))<<SIM_SDID_SERIESID_SHIFT))&SIM_SDID_SERIESID_MASK) 02872 #define SIM_SDID_SUBFAMID_MASK 0xF000000u 02873 #define SIM_SDID_SUBFAMID_SHIFT 24 02874 #define SIM_SDID_SUBFAMID(x) (((uint32_t)(((uint32_t)(x))<<SIM_SDID_SUBFAMID_SHIFT))&SIM_SDID_SUBFAMID_MASK) 02875 #define SIM_SDID_FAMID_MASK 0xF0000000u 02876 #define SIM_SDID_FAMID_SHIFT 28 02877 #define SIM_SDID_FAMID(x) (((uint32_t)(((uint32_t)(x))<<SIM_SDID_FAMID_SHIFT))&SIM_SDID_FAMID_MASK) 02878 /* SCGC4 Bit Fields */ 02879 #define SIM_SCGC4_I2C0_MASK 0x40u 02880 #define SIM_SCGC4_I2C0_SHIFT 6 02881 #define SIM_SCGC4_I2C1_MASK 0x80u 02882 #define SIM_SCGC4_I2C1_SHIFT 7 02883 #define SIM_SCGC4_UART0_MASK 0x400u 02884 #define SIM_SCGC4_UART0_SHIFT 10 02885 #define SIM_SCGC4_UART1_MASK 0x800u 02886 #define SIM_SCGC4_UART1_SHIFT 11 02887 #define SIM_SCGC4_UART2_MASK 0x1000u 02888 #define SIM_SCGC4_UART2_SHIFT 12 02889 #define SIM_SCGC4_USBOTG_MASK 0x40000u 02890 #define SIM_SCGC4_USBOTG_SHIFT 18 02891 #define SIM_SCGC4_CMP_MASK 0x80000u 02892 #define SIM_SCGC4_CMP_SHIFT 19 02893 #define SIM_SCGC4_SPI0_MASK 0x400000u 02894 #define SIM_SCGC4_SPI0_SHIFT 22 02895 #define SIM_SCGC4_SPI1_MASK 0x800000u 02896 #define SIM_SCGC4_SPI1_SHIFT 23 02897 /* SCGC5 Bit Fields */ 02898 #define SIM_SCGC5_LPTMR_MASK 0x1u 02899 #define SIM_SCGC5_LPTMR_SHIFT 0 02900 #define SIM_SCGC5_TSI_MASK 0x20u 02901 #define SIM_SCGC5_TSI_SHIFT 5 02902 #define SIM_SCGC5_PORTA_MASK 0x200u 02903 #define SIM_SCGC5_PORTA_SHIFT 9 02904 #define SIM_SCGC5_PORTB_MASK 0x400u 02905 #define SIM_SCGC5_PORTB_SHIFT 10 02906 #define SIM_SCGC5_PORTC_MASK 0x800u 02907 #define SIM_SCGC5_PORTC_SHIFT 11 02908 #define SIM_SCGC5_PORTD_MASK 0x1000u 02909 #define SIM_SCGC5_PORTD_SHIFT 12 02910 #define SIM_SCGC5_PORTE_MASK 0x2000u 02911 #define SIM_SCGC5_PORTE_SHIFT 13 02912 /* SCGC6 Bit Fields */ 02913 #define SIM_SCGC6_FTF_MASK 0x1u 02914 #define SIM_SCGC6_FTF_SHIFT 0 02915 #define SIM_SCGC6_DMAMUX_MASK 0x2u 02916 #define SIM_SCGC6_DMAMUX_SHIFT 1 02917 #define SIM_SCGC6_PIT_MASK 0x800000u 02918 #define SIM_SCGC6_PIT_SHIFT 23 02919 #define SIM_SCGC6_TPM0_MASK 0x1000000u 02920 #define SIM_SCGC6_TPM0_SHIFT 24 02921 #define SIM_SCGC6_TPM1_MASK 0x2000000u 02922 #define SIM_SCGC6_TPM1_SHIFT 25 02923 #define SIM_SCGC6_TPM2_MASK 0x4000000u 02924 #define SIM_SCGC6_TPM2_SHIFT 26 02925 #define SIM_SCGC6_ADC0_MASK 0x8000000u 02926 #define SIM_SCGC6_ADC0_SHIFT 27 02927 #define SIM_SCGC6_RTC_MASK 0x20000000u 02928 #define SIM_SCGC6_RTC_SHIFT 29 02929 #define SIM_SCGC6_DAC0_MASK 0x80000000u 02930 #define SIM_SCGC6_DAC0_SHIFT 31 02931 /* SCGC7 Bit Fields */ 02932 #define SIM_SCGC7_DMA_MASK 0x100u 02933 #define SIM_SCGC7_DMA_SHIFT 8 02934 /* CLKDIV1 Bit Fields */ 02935 #define SIM_CLKDIV1_OUTDIV4_MASK 0x70000u 02936 #define SIM_CLKDIV1_OUTDIV4_SHIFT 16 02937 #define SIM_CLKDIV1_OUTDIV4(x) (((uint32_t)(((uint32_t)(x))<<SIM_CLKDIV1_OUTDIV4_SHIFT))&SIM_CLKDIV1_OUTDIV4_MASK) 02938 #define SIM_CLKDIV1_OUTDIV1_MASK 0xF0000000u 02939 #define SIM_CLKDIV1_OUTDIV1_SHIFT 28 02940 #define SIM_CLKDIV1_OUTDIV1(x) (((uint32_t)(((uint32_t)(x))<<SIM_CLKDIV1_OUTDIV1_SHIFT))&SIM_CLKDIV1_OUTDIV1_MASK) 02941 /* FCFG1 Bit Fields */ 02942 #define SIM_FCFG1_FLASHDIS_MASK 0x1u 02943 #define SIM_FCFG1_FLASHDIS_SHIFT 0 02944 #define SIM_FCFG1_FLASHDOZE_MASK 0x2u 02945 #define SIM_FCFG1_FLASHDOZE_SHIFT 1 02946 #define SIM_FCFG1_PFSIZE_MASK 0xF000000u 02947 #define SIM_FCFG1_PFSIZE_SHIFT 24 02948 #define SIM_FCFG1_PFSIZE(x) (((uint32_t)(((uint32_t)(x))<<SIM_FCFG1_PFSIZE_SHIFT))&SIM_FCFG1_PFSIZE_MASK) 02949 /* FCFG2 Bit Fields */ 02950 #define SIM_FCFG2_MAXADDR_MASK 0x7F000000u 02951 #define SIM_FCFG2_MAXADDR_SHIFT 24 02952 #define SIM_FCFG2_MAXADDR(x) (((uint32_t)(((uint32_t)(x))<<SIM_FCFG2_MAXADDR_SHIFT))&SIM_FCFG2_MAXADDR_MASK) 02953 /* UIDMH Bit Fields */ 02954 #define SIM_UIDMH_UID_MASK 0xFFFFu 02955 #define SIM_UIDMH_UID_SHIFT 0 02956 #define SIM_UIDMH_UID(x) (((uint32_t)(((uint32_t)(x))<<SIM_UIDMH_UID_SHIFT))&SIM_UIDMH_UID_MASK) 02957 /* UIDML Bit Fields */ 02958 #define SIM_UIDML_UID_MASK 0xFFFFFFFFu 02959 #define SIM_UIDML_UID_SHIFT 0 02960 #define SIM_UIDML_UID(x) (((uint32_t)(((uint32_t)(x))<<SIM_UIDML_UID_SHIFT))&SIM_UIDML_UID_MASK) 02961 /* UIDL Bit Fields */ 02962 #define SIM_UIDL_UID_MASK 0xFFFFFFFFu 02963 #define SIM_UIDL_UID_SHIFT 0 02964 #define SIM_UIDL_UID(x) (((uint32_t)(((uint32_t)(x))<<SIM_UIDL_UID_SHIFT))&SIM_UIDL_UID_MASK) 02965 /* COPC Bit Fields */ 02966 #define SIM_COPC_COPW_MASK 0x1u 02967 #define SIM_COPC_COPW_SHIFT 0 02968 #define SIM_COPC_COPCLKS_MASK 0x2u 02969 #define SIM_COPC_COPCLKS_SHIFT 1 02970 #define SIM_COPC_COPT_MASK 0xCu 02971 #define SIM_COPC_COPT_SHIFT 2 02972 #define SIM_COPC_COPT(x) (((uint32_t)(((uint32_t)(x))<<SIM_COPC_COPT_SHIFT))&SIM_COPC_COPT_MASK) 02973 /* SRVCOP Bit Fields */ 02974 #define SIM_SRVCOP_SRVCOP_MASK 0xFFu 02975 #define SIM_SRVCOP_SRVCOP_SHIFT 0 02976 #define SIM_SRVCOP_SRVCOP(x) (((uint32_t)(((uint32_t)(x))<<SIM_SRVCOP_SRVCOP_SHIFT))&SIM_SRVCOP_SRVCOP_MASK) 02977 02978 /** 02979 * @} 02980 */ /* end of group SIM_Register_Masks */ 02981 02982 02983 /* SIM - Peripheral instance base addresses */ 02984 /** Peripheral SIM base address */ 02985 #define SIM_BASE (0x40047000u) 02986 /** Peripheral SIM base pointer */ 02987 #define SIM ((SIM_Type *)SIM_BASE) 02988 /** Array initializer of SIM peripheral base pointers */ 02989 #define SIM_BASES { SIM } 02990 02991 /** 02992 * @} 02993 */ /* end of group SIM_Peripheral_Access_Layer */ 02994 02995 02996 /* ---------------------------------------------------------------------------- 02997 -- SMC Peripheral Access Layer 02998 ---------------------------------------------------------------------------- */ 02999 03000 /** 03001 * @addtogroup SMC_Peripheral_Access_Layer SMC Peripheral Access Layer 03002 * @{ 03003 */ 03004 03005 /** SMC - Register Layout Typedef */ 03006 typedef struct { 03007 __IO uint8_t PMPROT; /**< Power Mode Protection register, offset: 0x0 */ 03008 __IO uint8_t PMCTRL; /**< Power Mode Control register, offset: 0x1 */ 03009 __IO uint8_t STOPCTRL; /**< Stop Control Register, offset: 0x2 */ 03010 __I uint8_t PMSTAT; /**< Power Mode Status register, offset: 0x3 */ 03011 } SMC_Type; 03012 03013 /* ---------------------------------------------------------------------------- 03014 -- SMC Register Masks 03015 ---------------------------------------------------------------------------- */ 03016 03017 /** 03018 * @addtogroup SMC_Register_Masks SMC Register Masks 03019 * @{ 03020 */ 03021 03022 /* PMPROT Bit Fields */ 03023 #define SMC_PMPROT_AVLLS_MASK 0x2u 03024 #define SMC_PMPROT_AVLLS_SHIFT 1 03025 #define SMC_PMPROT_ALLS_MASK 0x8u 03026 #define SMC_PMPROT_ALLS_SHIFT 3 03027 #define SMC_PMPROT_AVLP_MASK 0x20u 03028 #define SMC_PMPROT_AVLP_SHIFT 5 03029 /* PMCTRL Bit Fields */ 03030 #define SMC_PMCTRL_STOPM_MASK 0x7u 03031 #define SMC_PMCTRL_STOPM_SHIFT 0 03032 #define SMC_PMCTRL_STOPM(x) (((uint8_t)(((uint8_t)(x))<<SMC_PMCTRL_STOPM_SHIFT))&SMC_PMCTRL_STOPM_MASK) 03033 #define SMC_PMCTRL_STOPA_MASK 0x8u 03034 #define SMC_PMCTRL_STOPA_SHIFT 3 03035 #define SMC_PMCTRL_RUNM_MASK 0x60u 03036 #define SMC_PMCTRL_RUNM_SHIFT 5 03037 #define SMC_PMCTRL_RUNM(x) (((uint8_t)(((uint8_t)(x))<<SMC_PMCTRL_RUNM_SHIFT))&SMC_PMCTRL_RUNM_MASK) 03038 /* STOPCTRL Bit Fields */ 03039 #define SMC_STOPCTRL_VLLSM_MASK 0x7u 03040 #define SMC_STOPCTRL_VLLSM_SHIFT 0 03041 #define SMC_STOPCTRL_VLLSM(x) (((uint8_t)(((uint8_t)(x))<<SMC_STOPCTRL_VLLSM_SHIFT))&SMC_STOPCTRL_VLLSM_MASK) 03042 #define SMC_STOPCTRL_PORPO_MASK 0x20u 03043 #define SMC_STOPCTRL_PORPO_SHIFT 5 03044 #define SMC_STOPCTRL_PSTOPO_MASK 0xC0u 03045 #define SMC_STOPCTRL_PSTOPO_SHIFT 6 03046 #define SMC_STOPCTRL_PSTOPO(x) (((uint8_t)(((uint8_t)(x))<<SMC_STOPCTRL_PSTOPO_SHIFT))&SMC_STOPCTRL_PSTOPO_MASK) 03047 /* PMSTAT Bit Fields */ 03048 #define SMC_PMSTAT_PMSTAT_MASK 0x7Fu 03049 #define SMC_PMSTAT_PMSTAT_SHIFT 0 03050 #define SMC_PMSTAT_PMSTAT(x) (((uint8_t)(((uint8_t)(x))<<SMC_PMSTAT_PMSTAT_SHIFT))&SMC_PMSTAT_PMSTAT_MASK) 03051 03052 /** 03053 * @} 03054 */ /* end of group SMC_Register_Masks */ 03055 03056 03057 /* SMC - Peripheral instance base addresses */ 03058 /** Peripheral SMC base address */ 03059 #define SMC_BASE (0x4007E000u) 03060 /** Peripheral SMC base pointer */ 03061 #define SMC ((SMC_Type *)SMC_BASE) 03062 /** Array initializer of SMC peripheral base pointers */ 03063 #define SMC_BASES { SMC } 03064 03065 /** 03066 * @} 03067 */ /* end of group SMC_Peripheral_Access_Layer */ 03068 03069 03070 /* ---------------------------------------------------------------------------- 03071 -- SPI Peripheral Access Layer 03072 ---------------------------------------------------------------------------- */ 03073 03074 /** 03075 * @addtogroup SPI_Peripheral_Access_Layer SPI Peripheral Access Layer 03076 * @{ 03077 */ 03078 03079 /** SPI - Register Layout Typedef */ 03080 typedef struct { 03081 __IO uint8_t C1; /**< SPI control register 1, offset: 0x0 */ 03082 __IO uint8_t C2; /**< SPI control register 2, offset: 0x1 */ 03083 __IO uint8_t BR; /**< SPI baud rate register, offset: 0x2 */ 03084 __I uint8_t S; /**< SPI status register, offset: 0x3 */ 03085 uint8_t RESERVED_0[1]; 03086 __IO uint8_t D; /**< SPI data register, offset: 0x5 */ 03087 uint8_t RESERVED_1[1]; 03088 __IO uint8_t M; /**< SPI match register, offset: 0x7 */ 03089 } SPI_Type; 03090 03091 /* ---------------------------------------------------------------------------- 03092 -- SPI Register Masks 03093 ---------------------------------------------------------------------------- */ 03094 03095 /** 03096 * @addtogroup SPI_Register_Masks SPI Register Masks 03097 * @{ 03098 */ 03099 03100 /* C1 Bit Fields */ 03101 #define SPI_C1_LSBFE_MASK 0x1u 03102 #define SPI_C1_LSBFE_SHIFT 0 03103 #define SPI_C1_SSOE_MASK 0x2u 03104 #define SPI_C1_SSOE_SHIFT 1 03105 #define SPI_C1_CPHA_MASK 0x4u 03106 #define SPI_C1_CPHA_SHIFT 2 03107 #define SPI_C1_CPOL_MASK 0x8u 03108 #define SPI_C1_CPOL_SHIFT 3 03109 #define SPI_C1_MSTR_MASK 0x10u 03110 #define SPI_C1_MSTR_SHIFT 4 03111 #define SPI_C1_SPTIE_MASK 0x20u 03112 #define SPI_C1_SPTIE_SHIFT 5 03113 #define SPI_C1_SPE_MASK 0x40u 03114 #define SPI_C1_SPE_SHIFT 6 03115 #define SPI_C1_SPIE_MASK 0x80u 03116 #define SPI_C1_SPIE_SHIFT 7 03117 /* C2 Bit Fields */ 03118 #define SPI_C2_SPC0_MASK 0x1u 03119 #define SPI_C2_SPC0_SHIFT 0 03120 #define SPI_C2_SPISWAI_MASK 0x2u 03121 #define SPI_C2_SPISWAI_SHIFT 1 03122 #define SPI_C2_RXDMAE_MASK 0x4u 03123 #define SPI_C2_RXDMAE_SHIFT 2 03124 #define SPI_C2_BIDIROE_MASK 0x8u 03125 #define SPI_C2_BIDIROE_SHIFT 3 03126 #define SPI_C2_MODFEN_MASK 0x10u 03127 #define SPI_C2_MODFEN_SHIFT 4 03128 #define SPI_C2_TXDMAE_MASK 0x20u 03129 #define SPI_C2_TXDMAE_SHIFT 5 03130 #define SPI_C2_SPLPIE_MASK 0x40u 03131 #define SPI_C2_SPLPIE_SHIFT 6 03132 #define SPI_C2_SPMIE_MASK 0x80u 03133 #define SPI_C2_SPMIE_SHIFT 7 03134 /* BR Bit Fields */ 03135 #define SPI_BR_SPR_MASK 0xFu 03136 #define SPI_BR_SPR_SHIFT 0 03137 #define SPI_BR_SPR(x) (((uint8_t)(((uint8_t)(x))<<SPI_BR_SPR_SHIFT))&SPI_BR_SPR_MASK) 03138 #define SPI_BR_SPPR_MASK 0x70u 03139 #define SPI_BR_SPPR_SHIFT 4 03140 #define SPI_BR_SPPR(x) (((uint8_t)(((uint8_t)(x))<<SPI_BR_SPPR_SHIFT))&SPI_BR_SPPR_MASK) 03141 /* S Bit Fields */ 03142 #define SPI_S_MODF_MASK 0x10u 03143 #define SPI_S_MODF_SHIFT 4 03144 #define SPI_S_SPTEF_MASK 0x20u 03145 #define SPI_S_SPTEF_SHIFT 5 03146 #define SPI_S_SPMF_MASK 0x40u 03147 #define SPI_S_SPMF_SHIFT 6 03148 #define SPI_S_SPRF_MASK 0x80u 03149 #define SPI_S_SPRF_SHIFT 7 03150 /* D Bit Fields */ 03151 #define SPI_D_Bits_MASK 0xFFu 03152 #define SPI_D_Bits_SHIFT 0 03153 #define SPI_D_Bits(x) (((uint8_t)(((uint8_t)(x))<<SPI_D_Bits_SHIFT))&SPI_D_Bits_MASK) 03154 /* M Bit Fields */ 03155 #define SPI_M_Bits_MASK 0xFFu 03156 #define SPI_M_Bits_SHIFT 0 03157 #define SPI_M_Bits(x) (((uint8_t)(((uint8_t)(x))<<SPI_M_Bits_SHIFT))&SPI_M_Bits_MASK) 03158 03159 /** 03160 * @} 03161 */ /* end of group SPI_Register_Masks */ 03162 03163 03164 /* SPI - Peripheral instance base addresses */ 03165 /** Peripheral SPI0 base address */ 03166 #define SPI0_BASE (0x40076000u) 03167 /** Peripheral SPI0 base pointer */ 03168 #define SPI0 ((SPI_Type *)SPI0_BASE) 03169 /** Peripheral SPI1 base address */ 03170 #define SPI1_BASE (0x40077000u) 03171 /** Peripheral SPI1 base pointer */ 03172 #define SPI1 ((SPI_Type *)SPI1_BASE) 03173 /** Array initializer of SPI peripheral base pointers */ 03174 #define SPI_BASES { SPI0, SPI1 } 03175 03176 /** 03177 * @} 03178 */ /* end of group SPI_Peripheral_Access_Layer */ 03179 03180 03181 /* ---------------------------------------------------------------------------- 03182 -- TPM Peripheral Access Layer 03183 ---------------------------------------------------------------------------- */ 03184 03185 /** 03186 * @addtogroup TPM_Peripheral_Access_Layer TPM Peripheral Access Layer 03187 * @{ 03188 */ 03189 03190 /** TPM - Register Layout Typedef */ 03191 typedef struct { 03192 __IO uint32_t SC; /**< Status and Control, offset: 0x0 */ 03193 __IO uint32_t CNT; /**< Counter, offset: 0x4 */ 03194 __IO uint32_t MOD; /**< Modulo, offset: 0x8 */ 03195 struct { /* offset: 0xC, array step: 0x8 */ 03196 __IO uint32_t CnSC; /**< Channel (n) Status and Control, array offset: 0xC, array step: 0x8 */ 03197 __IO uint32_t CnV; /**< Channel (n) Value, array offset: 0x10, array step: 0x8 */ 03198 } CONTROLS[6]; 03199 uint8_t RESERVED_0[20]; 03200 __IO uint32_t STATUS; /**< Capture and Compare Status, offset: 0x50 */ 03201 uint8_t RESERVED_1[48]; 03202 __IO uint32_t CONF; /**< Configuration, offset: 0x84 */ 03203 } TPM_Type; 03204 03205 /* ---------------------------------------------------------------------------- 03206 -- TPM Register Masks 03207 ---------------------------------------------------------------------------- */ 03208 03209 /** 03210 * @addtogroup TPM_Register_Masks TPM Register Masks 03211 * @{ 03212 */ 03213 03214 /* SC Bit Fields */ 03215 #define TPM_SC_PS_MASK 0x7u 03216 #define TPM_SC_PS_SHIFT 0 03217 #define TPM_SC_PS(x) (((uint32_t)(((uint32_t)(x))<<TPM_SC_PS_SHIFT))&TPM_SC_PS_MASK) 03218 #define TPM_SC_CMOD_MASK 0x18u 03219 #define TPM_SC_CMOD_SHIFT 3 03220 #define TPM_SC_CMOD(x) (((uint32_t)(((uint32_t)(x))<<TPM_SC_CMOD_SHIFT))&TPM_SC_CMOD_MASK) 03221 #define TPM_SC_CPWMS_MASK 0x20u 03222 #define TPM_SC_CPWMS_SHIFT 5 03223 #define TPM_SC_TOIE_MASK 0x40u 03224 #define TPM_SC_TOIE_SHIFT 6 03225 #define TPM_SC_TOF_MASK 0x80u 03226 #define TPM_SC_TOF_SHIFT 7 03227 #define TPM_SC_DMA_MASK 0x100u 03228 #define TPM_SC_DMA_SHIFT 8 03229 /* CNT Bit Fields */ 03230 #define TPM_CNT_COUNT_MASK 0xFFFFu 03231 #define TPM_CNT_COUNT_SHIFT 0 03232 #define TPM_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x))<<TPM_CNT_COUNT_SHIFT))&TPM_CNT_COUNT_MASK) 03233 /* MOD Bit Fields */ 03234 #define TPM_MOD_MOD_MASK 0xFFFFu 03235 #define TPM_MOD_MOD_SHIFT 0 03236 #define TPM_MOD_MOD(x) (((uint32_t)(((uint32_t)(x))<<TPM_MOD_MOD_SHIFT))&TPM_MOD_MOD_MASK) 03237 /* CnSC Bit Fields */ 03238 #define TPM_CnSC_DMA_MASK 0x1u 03239 #define TPM_CnSC_DMA_SHIFT 0 03240 #define TPM_CnSC_ELSA_MASK 0x4u 03241 #define TPM_CnSC_ELSA_SHIFT 2 03242 #define TPM_CnSC_ELSB_MASK 0x8u 03243 #define TPM_CnSC_ELSB_SHIFT 3 03244 #define TPM_CnSC_MSA_MASK 0x10u 03245 #define TPM_CnSC_MSA_SHIFT 4 03246 #define TPM_CnSC_MSB_MASK 0x20u 03247 #define TPM_CnSC_MSB_SHIFT 5 03248 #define TPM_CnSC_CHIE_MASK 0x40u 03249 #define TPM_CnSC_CHIE_SHIFT 6 03250 #define TPM_CnSC_CHF_MASK 0x80u 03251 #define TPM_CnSC_CHF_SHIFT 7 03252 /* CnV Bit Fields */ 03253 #define TPM_CnV_VAL_MASK 0xFFFFu 03254 #define TPM_CnV_VAL_SHIFT 0 03255 #define TPM_CnV_VAL(x) (((uint32_t)(((uint32_t)(x))<<TPM_CnV_VAL_SHIFT))&TPM_CnV_VAL_MASK) 03256 /* STATUS Bit Fields */ 03257 #define TPM_STATUS_CH0F_MASK 0x1u 03258 #define TPM_STATUS_CH0F_SHIFT 0 03259 #define TPM_STATUS_CH1F_MASK 0x2u 03260 #define TPM_STATUS_CH1F_SHIFT 1 03261 #define TPM_STATUS_CH2F_MASK 0x4u 03262 #define TPM_STATUS_CH2F_SHIFT 2 03263 #define TPM_STATUS_CH3F_MASK 0x8u 03264 #define TPM_STATUS_CH3F_SHIFT 3 03265 #define TPM_STATUS_CH4F_MASK 0x10u 03266 #define TPM_STATUS_CH4F_SHIFT 4 03267 #define TPM_STATUS_CH5F_MASK 0x20u 03268 #define TPM_STATUS_CH5F_SHIFT 5 03269 #define TPM_STATUS_TOF_MASK 0x100u 03270 #define TPM_STATUS_TOF_SHIFT 8 03271 /* CONF Bit Fields */ 03272 #define TPM_CONF_DOZEEN_MASK 0x20u 03273 #define TPM_CONF_DOZEEN_SHIFT 5 03274 #define TPM_CONF_DBGMODE_MASK 0xC0u 03275 #define TPM_CONF_DBGMODE_SHIFT 6 03276 #define TPM_CONF_DBGMODE(x) (((uint32_t)(((uint32_t)(x))<<TPM_CONF_DBGMODE_SHIFT))&TPM_CONF_DBGMODE_MASK) 03277 #define TPM_CONF_GTBEEN_MASK 0x200u 03278 #define TPM_CONF_GTBEEN_SHIFT 9 03279 #define TPM_CONF_CSOT_MASK 0x10000u 03280 #define TPM_CONF_CSOT_SHIFT 16 03281 #define TPM_CONF_CSOO_MASK 0x20000u 03282 #define TPM_CONF_CSOO_SHIFT 17 03283 #define TPM_CONF_CROT_MASK 0x40000u 03284 #define TPM_CONF_CROT_SHIFT 18 03285 #define TPM_CONF_TRGSEL_MASK 0xF000000u 03286 #define TPM_CONF_TRGSEL_SHIFT 24 03287 #define TPM_CONF_TRGSEL(x) (((uint32_t)(((uint32_t)(x))<<TPM_CONF_TRGSEL_SHIFT))&TPM_CONF_TRGSEL_MASK) 03288 03289 /** 03290 * @} 03291 */ /* end of group TPM_Register_Masks */ 03292 03293 03294 /* TPM - Peripheral instance base addresses */ 03295 /** Peripheral TPM0 base address */ 03296 #define TPM0_BASE (0x40038000u) 03297 /** Peripheral TPM0 base pointer */ 03298 #define TPM0 ((TPM_Type *)TPM0_BASE) 03299 /** Peripheral TPM1 base address */ 03300 #define TPM1_BASE (0x40039000u) 03301 /** Peripheral TPM1 base pointer */ 03302 #define TPM1 ((TPM_Type *)TPM1_BASE) 03303 /** Peripheral TPM2 base address */ 03304 #define TPM2_BASE (0x4003A000u) 03305 /** Peripheral TPM2 base pointer */ 03306 #define TPM2 ((TPM_Type *)TPM2_BASE) 03307 /** Array initializer of TPM peripheral base pointers */ 03308 #define TPM_BASES { TPM0, TPM1, TPM2 } 03309 03310 /** 03311 * @} 03312 */ /* end of group TPM_Peripheral_Access_Layer */ 03313 03314 03315 /* ---------------------------------------------------------------------------- 03316 -- TSI Peripheral Access Layer 03317 ---------------------------------------------------------------------------- */ 03318 03319 /** 03320 * @addtogroup TSI_Peripheral_Access_Layer TSI Peripheral Access Layer 03321 * @{ 03322 */ 03323 03324 /** TSI - Register Layout Typedef */ 03325 typedef struct { 03326 __IO uint32_t GENCS; /**< TSI General Control and Status Register, offset: 0x0 */ 03327 __IO uint32_t DATA; /**< TSI DATA Register, offset: 0x4 */ 03328 __IO uint32_t TSHD; /**< TSI Threshold Register, offset: 0x8 */ 03329 } TSI_Type; 03330 03331 /* ---------------------------------------------------------------------------- 03332 -- TSI Register Masks 03333 ---------------------------------------------------------------------------- */ 03334 03335 /** 03336 * @addtogroup TSI_Register_Masks TSI Register Masks 03337 * @{ 03338 */ 03339 03340 /* GENCS Bit Fields */ 03341 #define TSI_GENCS_CURSW_MASK 0x2u 03342 #define TSI_GENCS_CURSW_SHIFT 1 03343 #define TSI_GENCS_EOSF_MASK 0x4u 03344 #define TSI_GENCS_EOSF_SHIFT 2 03345 #define TSI_GENCS_SCNIP_MASK 0x8u 03346 #define TSI_GENCS_SCNIP_SHIFT 3 03347 #define TSI_GENCS_STM_MASK 0x10u 03348 #define TSI_GENCS_STM_SHIFT 4 03349 #define TSI_GENCS_STPE_MASK 0x20u 03350 #define TSI_GENCS_STPE_SHIFT 5 03351 #define TSI_GENCS_TSIIEN_MASK 0x40u 03352 #define TSI_GENCS_TSIIEN_SHIFT 6 03353 #define TSI_GENCS_TSIEN_MASK 0x80u 03354 #define TSI_GENCS_TSIEN_SHIFT 7 03355 #define TSI_GENCS_NSCN_MASK 0x1F00u 03356 #define TSI_GENCS_NSCN_SHIFT 8 03357 #define TSI_GENCS_NSCN(x) (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_NSCN_SHIFT))&TSI_GENCS_NSCN_MASK) 03358 #define TSI_GENCS_PS_MASK 0xE000u 03359 #define TSI_GENCS_PS_SHIFT 13 03360 #define TSI_GENCS_PS(x) (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_PS_SHIFT))&TSI_GENCS_PS_MASK) 03361 #define TSI_GENCS_EXTCHRG_MASK 0x70000u 03362 #define TSI_GENCS_EXTCHRG_SHIFT 16 03363 #define TSI_GENCS_EXTCHRG(x) (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_EXTCHRG_SHIFT))&TSI_GENCS_EXTCHRG_MASK) 03364 #define TSI_GENCS_DVOLT_MASK 0x180000u 03365 #define TSI_GENCS_DVOLT_SHIFT 19 03366 #define TSI_GENCS_DVOLT(x) (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_DVOLT_SHIFT))&TSI_GENCS_DVOLT_MASK) 03367 #define TSI_GENCS_REFCHRG_MASK 0xE00000u 03368 #define TSI_GENCS_REFCHRG_SHIFT 21 03369 #define TSI_GENCS_REFCHRG(x) (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_REFCHRG_SHIFT))&TSI_GENCS_REFCHRG_MASK) 03370 #define TSI_GENCS_MODE_MASK 0xF000000u 03371 #define TSI_GENCS_MODE_SHIFT 24 03372 #define TSI_GENCS_MODE(x) (((uint32_t)(((uint32_t)(x))<<TSI_GENCS_MODE_SHIFT))&TSI_GENCS_MODE_MASK) 03373 #define TSI_GENCS_ESOR_MASK 0x10000000u 03374 #define TSI_GENCS_ESOR_SHIFT 28 03375 #define TSI_GENCS_OUTRGF_MASK 0x80000000u 03376 #define TSI_GENCS_OUTRGF_SHIFT 31 03377 /* DATA Bit Fields */ 03378 #define TSI_DATA_TSICNT_MASK 0xFFFFu 03379 #define TSI_DATA_TSICNT_SHIFT 0 03380 #define TSI_DATA_TSICNT(x) (((uint32_t)(((uint32_t)(x))<<TSI_DATA_TSICNT_SHIFT))&TSI_DATA_TSICNT_MASK) 03381 #define TSI_DATA_SWTS_MASK 0x400000u 03382 #define TSI_DATA_SWTS_SHIFT 22 03383 #define TSI_DATA_DMAEN_MASK 0x800000u 03384 #define TSI_DATA_DMAEN_SHIFT 23 03385 #define TSI_DATA_TSICH_MASK 0xF0000000u 03386 #define TSI_DATA_TSICH_SHIFT 28 03387 #define TSI_DATA_TSICH(x) (((uint32_t)(((uint32_t)(x))<<TSI_DATA_TSICH_SHIFT))&TSI_DATA_TSICH_MASK) 03388 /* TSHD Bit Fields */ 03389 #define TSI_TSHD_THRESL_MASK 0xFFFFu 03390 #define TSI_TSHD_THRESL_SHIFT 0 03391 #define TSI_TSHD_THRESL(x) (((uint32_t)(((uint32_t)(x))<<TSI_TSHD_THRESL_SHIFT))&TSI_TSHD_THRESL_MASK) 03392 #define TSI_TSHD_THRESH_MASK 0xFFFF0000u 03393 #define TSI_TSHD_THRESH_SHIFT 16 03394 #define TSI_TSHD_THRESH(x) (((uint32_t)(((uint32_t)(x))<<TSI_TSHD_THRESH_SHIFT))&TSI_TSHD_THRESH_MASK) 03395 03396 /** 03397 * @} 03398 */ /* end of group TSI_Register_Masks */ 03399 03400 03401 /* TSI - Peripheral instance base addresses */ 03402 /** Peripheral TSI0 base address */ 03403 #define TSI0_BASE (0x40045000u) 03404 /** Peripheral TSI0 base pointer */ 03405 #define TSI0 ((TSI_Type *)TSI0_BASE) 03406 /** Array initializer of TSI peripheral base pointers */ 03407 #define TSI_BASES { TSI0 } 03408 03409 /** 03410 * @} 03411 */ /* end of group TSI_Peripheral_Access_Layer */ 03412 03413 03414 /* ---------------------------------------------------------------------------- 03415 -- UART Peripheral Access Layer 03416 ---------------------------------------------------------------------------- */ 03417 03418 /** 03419 * @addtogroup UART_Peripheral_Access_Layer UART Peripheral Access Layer 03420 * @{ 03421 */ 03422 03423 /** UART - Register Layout Typedef */ 03424 typedef struct { 03425 __IO uint8_t BDH; /**< UART Baud Rate Register: High, offset: 0x0 */ 03426 __IO uint8_t BDL; /**< UART Baud Rate Register: Low, offset: 0x1 */ 03427 __IO uint8_t C1; /**< UART Control Register 1, offset: 0x2 */ 03428 __IO uint8_t C2; /**< UART Control Register 2, offset: 0x3 */ 03429 __I uint8_t S1; /**< UART Status Register 1, offset: 0x4 */ 03430 __IO uint8_t S2; /**< UART Status Register 2, offset: 0x5 */ 03431 __IO uint8_t C3; /**< UART Control Register 3, offset: 0x6 */ 03432 __IO uint8_t D; /**< UART Data Register, offset: 0x7 */ 03433 __IO uint8_t C4; /**< UART Control Register 4, offset: 0x8 */ 03434 } UART_Type; 03435 03436 /* ---------------------------------------------------------------------------- 03437 -- UART Register Masks 03438 ---------------------------------------------------------------------------- */ 03439 03440 /** 03441 * @addtogroup UART_Register_Masks UART Register Masks 03442 * @{ 03443 */ 03444 03445 /* BDH Bit Fields */ 03446 #define UART_BDH_SBR_MASK 0x1Fu 03447 #define UART_BDH_SBR_SHIFT 0 03448 #define UART_BDH_SBR(x) (((uint8_t)(((uint8_t)(x))<<UART_BDH_SBR_SHIFT))&UART_BDH_SBR_MASK) 03449 #define UART_BDH_SBNS_MASK 0x20u 03450 #define UART_BDH_SBNS_SHIFT 5 03451 #define UART_BDH_RXEDGIE_MASK 0x40u 03452 #define UART_BDH_RXEDGIE_SHIFT 6 03453 #define UART_BDH_LBKDIE_MASK 0x80u 03454 #define UART_BDH_LBKDIE_SHIFT 7 03455 /* BDL Bit Fields */ 03456 #define UART_BDL_SBR_MASK 0xFFu 03457 #define UART_BDL_SBR_SHIFT 0 03458 #define UART_BDL_SBR(x) (((uint8_t)(((uint8_t)(x))<<UART_BDL_SBR_SHIFT))&UART_BDL_SBR_MASK) 03459 /* C1 Bit Fields */ 03460 #define UART_C1_PT_MASK 0x1u 03461 #define UART_C1_PT_SHIFT 0 03462 #define UART_C1_PE_MASK 0x2u 03463 #define UART_C1_PE_SHIFT 1 03464 #define UART_C1_ILT_MASK 0x4u 03465 #define UART_C1_ILT_SHIFT 2 03466 #define UART_C1_WAKE_MASK 0x8u 03467 #define UART_C1_WAKE_SHIFT 3 03468 #define UART_C1_M_MASK 0x10u 03469 #define UART_C1_M_SHIFT 4 03470 #define UART_C1_RSRC_MASK 0x20u 03471 #define UART_C1_RSRC_SHIFT 5 03472 #define UART_C1_UARTSWAI_MASK 0x40u 03473 #define UART_C1_UARTSWAI_SHIFT 6 03474 #define UART_C1_LOOPS_MASK 0x80u 03475 #define UART_C1_LOOPS_SHIFT 7 03476 /* C2 Bit Fields */ 03477 #define UART_C2_SBK_MASK 0x1u 03478 #define UART_C2_SBK_SHIFT 0 03479 #define UART_C2_RWU_MASK 0x2u 03480 #define UART_C2_RWU_SHIFT 1 03481 #define UART_C2_RE_MASK 0x4u 03482 #define UART_C2_RE_SHIFT 2 03483 #define UART_C2_TE_MASK 0x8u 03484 #define UART_C2_TE_SHIFT 3 03485 #define UART_C2_ILIE_MASK 0x10u 03486 #define UART_C2_ILIE_SHIFT 4 03487 #define UART_C2_RIE_MASK 0x20u 03488 #define UART_C2_RIE_SHIFT 5 03489 #define UART_C2_TCIE_MASK 0x40u 03490 #define UART_C2_TCIE_SHIFT 6 03491 #define UART_C2_TIE_MASK 0x80u 03492 #define UART_C2_TIE_SHIFT 7 03493 /* S1 Bit Fields */ 03494 #define UART_S1_PF_MASK 0x1u 03495 #define UART_S1_PF_SHIFT 0 03496 #define UART_S1_FE_MASK 0x2u 03497 #define UART_S1_FE_SHIFT 1 03498 #define UART_S1_NF_MASK 0x4u 03499 #define UART_S1_NF_SHIFT 2 03500 #define UART_S1_OR_MASK 0x8u 03501 #define UART_S1_OR_SHIFT 3 03502 #define UART_S1_IDLE_MASK 0x10u 03503 #define UART_S1_IDLE_SHIFT 4 03504 #define UART_S1_RDRF_MASK 0x20u 03505 #define UART_S1_RDRF_SHIFT 5 03506 #define UART_S1_TC_MASK 0x40u 03507 #define UART_S1_TC_SHIFT 6 03508 #define UART_S1_TDRE_MASK 0x80u 03509 #define UART_S1_TDRE_SHIFT 7 03510 /* S2 Bit Fields */ 03511 #define UART_S2_RAF_MASK 0x1u 03512 #define UART_S2_RAF_SHIFT 0 03513 #define UART_S2_LBKDE_MASK 0x2u 03514 #define UART_S2_LBKDE_SHIFT 1 03515 #define UART_S2_BRK13_MASK 0x4u 03516 #define UART_S2_BRK13_SHIFT 2 03517 #define UART_S2_RWUID_MASK 0x8u 03518 #define UART_S2_RWUID_SHIFT 3 03519 #define UART_S2_RXINV_MASK 0x10u 03520 #define UART_S2_RXINV_SHIFT 4 03521 #define UART_S2_RXEDGIF_MASK 0x40u 03522 #define UART_S2_RXEDGIF_SHIFT 6 03523 #define UART_S2_LBKDIF_MASK 0x80u 03524 #define UART_S2_LBKDIF_SHIFT 7 03525 /* C3 Bit Fields */ 03526 #define UART_C3_PEIE_MASK 0x1u 03527 #define UART_C3_PEIE_SHIFT 0 03528 #define UART_C3_FEIE_MASK 0x2u 03529 #define UART_C3_FEIE_SHIFT 1 03530 #define UART_C3_NEIE_MASK 0x4u 03531 #define UART_C3_NEIE_SHIFT 2 03532 #define UART_C3_ORIE_MASK 0x8u 03533 #define UART_C3_ORIE_SHIFT 3 03534 #define UART_C3_TXINV_MASK 0x10u 03535 #define UART_C3_TXINV_SHIFT 4 03536 #define UART_C3_TXDIR_MASK 0x20u 03537 #define UART_C3_TXDIR_SHIFT 5 03538 #define UART_C3_T8_MASK 0x40u 03539 #define UART_C3_T8_SHIFT 6 03540 #define UART_C3_R8_MASK 0x80u 03541 #define UART_C3_R8_SHIFT 7 03542 /* D Bit Fields */ 03543 #define UART_D_R0T0_MASK 0x1u 03544 #define UART_D_R0T0_SHIFT 0 03545 #define UART_D_R1T1_MASK 0x2u 03546 #define UART_D_R1T1_SHIFT 1 03547 #define UART_D_R2T2_MASK 0x4u 03548 #define UART_D_R2T2_SHIFT 2 03549 #define UART_D_R3T3_MASK 0x8u 03550 #define UART_D_R3T3_SHIFT 3 03551 #define UART_D_R4T4_MASK 0x10u 03552 #define UART_D_R4T4_SHIFT 4 03553 #define UART_D_R5T5_MASK 0x20u 03554 #define UART_D_R5T5_SHIFT 5 03555 #define UART_D_R6T6_MASK 0x40u 03556 #define UART_D_R6T6_SHIFT 6 03557 #define UART_D_R7T7_MASK 0x80u 03558 #define UART_D_R7T7_SHIFT 7 03559 /* C4 Bit Fields */ 03560 #define UART_C4_LBKDDMAS_MASK 0x8u 03561 #define UART_C4_LBKDDMAS_SHIFT 3 03562 #define UART_C4_ILDMAS_MASK 0x10u 03563 #define UART_C4_ILDMAS_SHIFT 4 03564 #define UART_C4_RDMAS_MASK 0x20u 03565 #define UART_C4_RDMAS_SHIFT 5 03566 #define UART_C4_TCDMAS_MASK 0x40u 03567 #define UART_C4_TCDMAS_SHIFT 6 03568 #define UART_C4_TDMAS_MASK 0x80u 03569 #define UART_C4_TDMAS_SHIFT 7 03570 03571 /** 03572 * @} 03573 */ /* end of group UART_Register_Masks */ 03574 03575 03576 /* UART - Peripheral instance base addresses */ 03577 /** Peripheral UART1 base address */ 03578 #define UART1_BASE (0x4006B000u) 03579 /** Peripheral UART1 base pointer */ 03580 #define UART1 ((UART_Type *)UART1_BASE) 03581 /** Peripheral UART2 base address */ 03582 #define UART2_BASE (0x4006C000u) 03583 /** Peripheral UART2 base pointer */ 03584 #define UART2 ((UART_Type *)UART2_BASE) 03585 /** Array initializer of UART peripheral base pointers */ 03586 #define UART_BASES { UART1, UART2 } 03587 03588 /** 03589 * @} 03590 */ /* end of group UART_Peripheral_Access_Layer */ 03591 03592 03593 /* ---------------------------------------------------------------------------- 03594 -- UARTLP Peripheral Access Layer 03595 ---------------------------------------------------------------------------- */ 03596 03597 /** 03598 * @addtogroup UARTLP_Peripheral_Access_Layer UARTLP Peripheral Access Layer 03599 * @{ 03600 */ 03601 03602 /** UARTLP - Register Layout Typedef */ 03603 typedef struct { 03604 __IO uint8_t BDH; /**< UART Baud Rate Register High, offset: 0x0 */ 03605 __IO uint8_t BDL; /**< UART Baud Rate Register Low, offset: 0x1 */ 03606 __IO uint8_t C1; /**< UART Control Register 1, offset: 0x2 */ 03607 __IO uint8_t C2; /**< UART Control Register 2, offset: 0x3 */ 03608 __IO uint8_t S1; /**< UART Status Register 1, offset: 0x4 */ 03609 __IO uint8_t S2; /**< UART Status Register 2, offset: 0x5 */ 03610 __IO uint8_t C3; /**< UART Control Register 3, offset: 0x6 */ 03611 __IO uint8_t D; /**< UART Data Register, offset: 0x7 */ 03612 __IO uint8_t MA1; /**< UART Match Address Registers 1, offset: 0x8 */ 03613 __IO uint8_t MA2; /**< UART Match Address Registers 2, offset: 0x9 */ 03614 __IO uint8_t C4; /**< UART Control Register 4, offset: 0xA */ 03615 __IO uint8_t C5; /**< UART Control Register 5, offset: 0xB */ 03616 } UARTLP_Type; 03617 03618 /* ---------------------------------------------------------------------------- 03619 -- UARTLP Register Masks 03620 ---------------------------------------------------------------------------- */ 03621 03622 /** 03623 * @addtogroup UARTLP_Register_Masks UARTLP Register Masks 03624 * @{ 03625 */ 03626 03627 /* BDH Bit Fields */ 03628 #define UARTLP_BDH_SBR_MASK 0x1Fu 03629 #define UARTLP_BDH_SBR_SHIFT 0 03630 #define UARTLP_BDH_SBR(x) (((uint8_t)(((uint8_t)(x))<<UARTLP_BDH_SBR_SHIFT))&UARTLP_BDH_SBR_MASK) 03631 #define UARTLP_BDH_SBNS_MASK 0x20u 03632 #define UARTLP_BDH_SBNS_SHIFT 5 03633 #define UARTLP_BDH_RXEDGIE_MASK 0x40u 03634 #define UARTLP_BDH_RXEDGIE_SHIFT 6 03635 #define UARTLP_BDH_LBKDIE_MASK 0x80u 03636 #define UARTLP_BDH_LBKDIE_SHIFT 7 03637 /* BDL Bit Fields */ 03638 #define UARTLP_BDL_SBR_MASK 0xFFu 03639 #define UARTLP_BDL_SBR_SHIFT 0 03640 #define UARTLP_BDL_SBR(x) (((uint8_t)(((uint8_t)(x))<<UARTLP_BDL_SBR_SHIFT))&UARTLP_BDL_SBR_MASK) 03641 /* C1 Bit Fields */ 03642 #define UARTLP_C1_PT_MASK 0x1u 03643 #define UARTLP_C1_PT_SHIFT 0 03644 #define UARTLP_C1_PE_MASK 0x2u 03645 #define UARTLP_C1_PE_SHIFT 1 03646 #define UARTLP_C1_ILT_MASK 0x4u 03647 #define UARTLP_C1_ILT_SHIFT 2 03648 #define UARTLP_C1_WAKE_MASK 0x8u 03649 #define UARTLP_C1_WAKE_SHIFT 3 03650 #define UARTLP_C1_M_MASK 0x10u 03651 #define UARTLP_C1_M_SHIFT 4 03652 #define UARTLP_C1_RSRC_MASK 0x20u 03653 #define UARTLP_C1_RSRC_SHIFT 5 03654 #define UARTLP_C1_DOZEEN_MASK 0x40u 03655 #define UARTLP_C1_DOZEEN_SHIFT 6 03656 #define UARTLP_C1_LOOPS_MASK 0x80u 03657 #define UARTLP_C1_LOOPS_SHIFT 7 03658 /* C2 Bit Fields */ 03659 #define UARTLP_C2_SBK_MASK 0x1u 03660 #define UARTLP_C2_SBK_SHIFT 0 03661 #define UARTLP_C2_RWU_MASK 0x2u 03662 #define UARTLP_C2_RWU_SHIFT 1 03663 #define UARTLP_C2_RE_MASK 0x4u 03664 #define UARTLP_C2_RE_SHIFT 2 03665 #define UARTLP_C2_TE_MASK 0x8u 03666 #define UARTLP_C2_TE_SHIFT 3 03667 #define UARTLP_C2_ILIE_MASK 0x10u 03668 #define UARTLP_C2_ILIE_SHIFT 4 03669 #define UARTLP_C2_RIE_MASK 0x20u 03670 #define UARTLP_C2_RIE_SHIFT 5 03671 #define UARTLP_C2_TCIE_MASK 0x40u 03672 #define UARTLP_C2_TCIE_SHIFT 6 03673 #define UARTLP_C2_TIE_MASK 0x80u 03674 #define UARTLP_C2_TIE_SHIFT 7 03675 /* S1 Bit Fields */ 03676 #define UARTLP_S1_PF_MASK 0x1u 03677 #define UARTLP_S1_PF_SHIFT 0 03678 #define UARTLP_S1_FE_MASK 0x2u 03679 #define UARTLP_S1_FE_SHIFT 1 03680 #define UARTLP_S1_NF_MASK 0x4u 03681 #define UARTLP_S1_NF_SHIFT 2 03682 #define UARTLP_S1_OR_MASK 0x8u 03683 #define UARTLP_S1_OR_SHIFT 3 03684 #define UARTLP_S1_IDLE_MASK 0x10u 03685 #define UARTLP_S1_IDLE_SHIFT 4 03686 #define UARTLP_S1_RDRF_MASK 0x20u 03687 #define UARTLP_S1_RDRF_SHIFT 5 03688 #define UARTLP_S1_TC_MASK 0x40u 03689 #define UARTLP_S1_TC_SHIFT 6 03690 #define UARTLP_S1_TDRE_MASK 0x80u 03691 #define UARTLP_S1_TDRE_SHIFT 7 03692 /* S2 Bit Fields */ 03693 #define UARTLP_S2_RAF_MASK 0x1u 03694 #define UARTLP_S2_RAF_SHIFT 0 03695 #define UARTLP_S2_LBKDE_MASK 0x2u 03696 #define UARTLP_S2_LBKDE_SHIFT 1 03697 #define UARTLP_S2_BRK13_MASK 0x4u 03698 #define UARTLP_S2_BRK13_SHIFT 2 03699 #define UARTLP_S2_RWUID_MASK 0x8u 03700 #define UARTLP_S2_RWUID_SHIFT 3 03701 #define UARTLP_S2_RXINV_MASK 0x10u 03702 #define UARTLP_S2_RXINV_SHIFT 4 03703 #define UARTLP_S2_MSBF_MASK 0x20u 03704 #define UARTLP_S2_MSBF_SHIFT 5 03705 #define UARTLP_S2_RXEDGIF_MASK 0x40u 03706 #define UARTLP_S2_RXEDGIF_SHIFT 6 03707 #define UARTLP_S2_LBKDIF_MASK 0x80u 03708 #define UARTLP_S2_LBKDIF_SHIFT 7 03709 /* C3 Bit Fields */ 03710 #define UARTLP_C3_PEIE_MASK 0x1u 03711 #define UARTLP_C3_PEIE_SHIFT 0 03712 #define UARTLP_C3_FEIE_MASK 0x2u 03713 #define UARTLP_C3_FEIE_SHIFT 1 03714 #define UARTLP_C3_NEIE_MASK 0x4u 03715 #define UARTLP_C3_NEIE_SHIFT 2 03716 #define UARTLP_C3_ORIE_MASK 0x8u 03717 #define UARTLP_C3_ORIE_SHIFT 3 03718 #define UARTLP_C3_TXINV_MASK 0x10u 03719 #define UARTLP_C3_TXINV_SHIFT 4 03720 #define UARTLP_C3_TXDIR_MASK 0x20u 03721 #define UARTLP_C3_TXDIR_SHIFT 5 03722 #define UARTLP_C3_R9T8_MASK 0x40u 03723 #define UARTLP_C3_R9T8_SHIFT 6 03724 #define UARTLP_C3_R8T9_MASK 0x80u 03725 #define UARTLP_C3_R8T9_SHIFT 7 03726 /* D Bit Fields */ 03727 #define UARTLP_D_R0T0_MASK 0x1u 03728 #define UARTLP_D_R0T0_SHIFT 0 03729 #define UARTLP_D_R1T1_MASK 0x2u 03730 #define UARTLP_D_R1T1_SHIFT 1 03731 #define UARTLP_D_R2T2_MASK 0x4u 03732 #define UARTLP_D_R2T2_SHIFT 2 03733 #define UARTLP_D_R3T3_MASK 0x8u 03734 #define UARTLP_D_R3T3_SHIFT 3 03735 #define UARTLP_D_R4T4_MASK 0x10u 03736 #define UARTLP_D_R4T4_SHIFT 4 03737 #define UARTLP_D_R5T5_MASK 0x20u 03738 #define UARTLP_D_R5T5_SHIFT 5 03739 #define UARTLP_D_R6T6_MASK 0x40u 03740 #define UARTLP_D_R6T6_SHIFT 6 03741 #define UARTLP_D_R7T7_MASK 0x80u 03742 #define UARTLP_D_R7T7_SHIFT 7 03743 /* MA1 Bit Fields */ 03744 #define UARTLP_MA1_MA_MASK 0xFFu 03745 #define UARTLP_MA1_MA_SHIFT 0 03746 #define UARTLP_MA1_MA(x) (((uint8_t)(((uint8_t)(x))<<UARTLP_MA1_MA_SHIFT))&UARTLP_MA1_MA_MASK) 03747 /* MA2 Bit Fields */ 03748 #define UARTLP_MA2_MA_MASK 0xFFu 03749 #define UARTLP_MA2_MA_SHIFT 0 03750 #define UARTLP_MA2_MA(x) (((uint8_t)(((uint8_t)(x))<<UARTLP_MA2_MA_SHIFT))&UARTLP_MA2_MA_MASK) 03751 /* C4 Bit Fields */ 03752 #define UARTLP_C4_OSR_MASK 0x1Fu 03753 #define UARTLP_C4_OSR_SHIFT 0 03754 #define UARTLP_C4_OSR(x) (((uint8_t)(((uint8_t)(x))<<UARTLP_C4_OSR_SHIFT))&UARTLP_C4_OSR_MASK) 03755 #define UARTLP_C4_M10_MASK 0x20u 03756 #define UARTLP_C4_M10_SHIFT 5 03757 #define UARTLP_C4_MAEN2_MASK 0x40u 03758 #define UARTLP_C4_MAEN2_SHIFT 6 03759 #define UARTLP_C4_MAEN1_MASK 0x80u 03760 #define UARTLP_C4_MAEN1_SHIFT 7 03761 /* C5 Bit Fields */ 03762 #define UARTLP_C5_RESYNCDIS_MASK 0x1u 03763 #define UARTLP_C5_RESYNCDIS_SHIFT 0 03764 #define UARTLP_C5_BOTHEDGE_MASK 0x2u 03765 #define UARTLP_C5_BOTHEDGE_SHIFT 1 03766 #define UARTLP_C5_RDMAE_MASK 0x20u 03767 #define UARTLP_C5_RDMAE_SHIFT 5 03768 #define UARTLP_C5_TDMAE_MASK 0x80u 03769 #define UARTLP_C5_TDMAE_SHIFT 7 03770 03771 /** 03772 * @} 03773 */ /* end of group UARTLP_Register_Masks */ 03774 03775 03776 /* UARTLP - Peripheral instance base addresses */ 03777 /** Peripheral UART0 base address */ 03778 #define UART0_BASE (0x4006A000u) 03779 /** Peripheral UART0 base pointer */ 03780 #define UART0 ((UARTLP_Type *)UART0_BASE) 03781 /** Array initializer of UARTLP peripheral base pointers */ 03782 #define UARTLP_BASES { UART0 } 03783 03784 /** 03785 * @} 03786 */ /* end of group UARTLP_Peripheral_Access_Layer */ 03787 03788 03789 /* ---------------------------------------------------------------------------- 03790 -- USB Peripheral Access Layer 03791 ---------------------------------------------------------------------------- */ 03792 03793 /** 03794 * @addtogroup USB_Peripheral_Access_Layer USB Peripheral Access Layer 03795 * @{ 03796 */ 03797 03798 /** USB - Register Layout Typedef */ 03799 typedef struct { 03800 __I uint8_t PERID; /**< Peripheral ID register, offset: 0x0 */ 03801 uint8_t RESERVED_0[3]; 03802 __I uint8_t IDCOMP; /**< Peripheral ID Complement register, offset: 0x4 */ 03803 uint8_t RESERVED_1[3]; 03804 __I uint8_t REV; /**< Peripheral Revision register, offset: 0x8 */ 03805 uint8_t RESERVED_2[3]; 03806 __I uint8_t ADDINFO; /**< Peripheral Additional Info register, offset: 0xC */ 03807 uint8_t RESERVED_3[3]; 03808 __IO uint8_t OTGISTAT; /**< OTG Interrupt Status register, offset: 0x10 */ 03809 uint8_t RESERVED_4[3]; 03810 __IO uint8_t OTGICR; /**< OTG Interrupt Control Register, offset: 0x14 */ 03811 uint8_t RESERVED_5[3]; 03812 __IO uint8_t OTGSTAT; /**< OTG Status register, offset: 0x18 */ 03813 uint8_t RESERVED_6[3]; 03814 __IO uint8_t OTGCTL; /**< OTG Control register, offset: 0x1C */ 03815 uint8_t RESERVED_7[99]; 03816 __IO uint8_t ISTAT; /**< Interrupt Status register, offset: 0x80 */ 03817 uint8_t RESERVED_8[3]; 03818 __IO uint8_t INTEN; /**< Interrupt Enable register, offset: 0x84 */ 03819 uint8_t RESERVED_9[3]; 03820 __IO uint8_t ERRSTAT; /**< Error Interrupt Status register, offset: 0x88 */ 03821 uint8_t RESERVED_10[3]; 03822 __IO uint8_t ERREN; /**< Error Interrupt Enable register, offset: 0x8C */ 03823 uint8_t RESERVED_11[3]; 03824 __I uint8_t STAT; /**< Status register, offset: 0x90 */ 03825 uint8_t RESERVED_12[3]; 03826 __IO uint8_t CTL; /**< Control register, offset: 0x94 */ 03827 uint8_t RESERVED_13[3]; 03828 __IO uint8_t ADDR; /**< Address register, offset: 0x98 */ 03829 uint8_t RESERVED_14[3]; 03830 __IO uint8_t BDTPAGE1; /**< BDT Page Register 1, offset: 0x9C */ 03831 uint8_t RESERVED_15[3]; 03832 __IO uint8_t FRMNUML; /**< Frame Number Register Low, offset: 0xA0 */ 03833 uint8_t RESERVED_16[3]; 03834 __IO uint8_t FRMNUMH; /**< Frame Number Register High, offset: 0xA4 */ 03835 uint8_t RESERVED_17[3]; 03836 __IO uint8_t TOKEN; /**< Token register, offset: 0xA8 */ 03837 uint8_t RESERVED_18[3]; 03838 __IO uint8_t SOFTHLD; /**< SOF Threshold Register, offset: 0xAC */ 03839 uint8_t RESERVED_19[3]; 03840 __IO uint8_t BDTPAGE2; /**< BDT Page Register 2, offset: 0xB0 */ 03841 uint8_t RESERVED_20[3]; 03842 __IO uint8_t BDTPAGE3; /**< BDT Page Register 3, offset: 0xB4 */ 03843 uint8_t RESERVED_21[11]; 03844 struct { /* offset: 0xC0, array step: 0x4 */ 03845 __IO uint8_t ENDPT; /**< Endpoint Control register, array offset: 0xC0, array step: 0x4 */ 03846 uint8_t RESERVED_0[3]; 03847 } ENDPOINT[16]; 03848 __IO uint8_t USBCTRL; /**< USB Control register, offset: 0x100 */ 03849 uint8_t RESERVED_22[3]; 03850 __I uint8_t OBSERVE; /**< USB OTG Observe register, offset: 0x104 */ 03851 uint8_t RESERVED_23[3]; 03852 __IO uint8_t CONTROL; /**< USB OTG Control register, offset: 0x108 */ 03853 uint8_t RESERVED_24[3]; 03854 __IO uint8_t USBTRC0; /**< USB Transceiver Control Register 0, offset: 0x10C */ 03855 } USB_Type; 03856 03857 /* ---------------------------------------------------------------------------- 03858 -- USB Register Masks 03859 ---------------------------------------------------------------------------- */ 03860 03861 /** 03862 * @addtogroup USB_Register_Masks USB Register Masks 03863 * @{ 03864 */ 03865 03866 /* PERID Bit Fields */ 03867 #define USB_PERID_ID_MASK 0x3Fu 03868 #define USB_PERID_ID_SHIFT 0 03869 #define USB_PERID_ID(x) (((uint8_t)(((uint8_t)(x))<<USB_PERID_ID_SHIFT))&USB_PERID_ID_MASK) 03870 /* IDCOMP Bit Fields */ 03871 #define USB_IDCOMP_NID_MASK 0x3Fu 03872 #define USB_IDCOMP_NID_SHIFT 0 03873 #define USB_IDCOMP_NID(x) (((uint8_t)(((uint8_t)(x))<<USB_IDCOMP_NID_SHIFT))&USB_IDCOMP_NID_MASK) 03874 /* REV Bit Fields */ 03875 #define USB_REV_REV_MASK 0xFFu 03876 #define USB_REV_REV_SHIFT 0 03877 #define USB_REV_REV(x) (((uint8_t)(((uint8_t)(x))<<USB_REV_REV_SHIFT))&USB_REV_REV_MASK) 03878 /* ADDINFO Bit Fields */ 03879 #define USB_ADDINFO_IEHOST_MASK 0x1u 03880 #define USB_ADDINFO_IEHOST_SHIFT 0 03881 #define USB_ADDINFO_IRQNUM_MASK 0xF8u 03882 #define USB_ADDINFO_IRQNUM_SHIFT 3 03883 #define USB_ADDINFO_IRQNUM(x) (((uint8_t)(((uint8_t)(x))<<USB_ADDINFO_IRQNUM_SHIFT))&USB_ADDINFO_IRQNUM_MASK) 03884 /* OTGISTAT Bit Fields */ 03885 #define USB_OTGISTAT_AVBUSCHG_MASK 0x1u 03886 #define USB_OTGISTAT_AVBUSCHG_SHIFT 0 03887 #define USB_OTGISTAT_B_SESS_CHG_MASK 0x4u 03888 #define USB_OTGISTAT_B_SESS_CHG_SHIFT 2 03889 #define USB_OTGISTAT_SESSVLDCHG_MASK 0x8u 03890 #define USB_OTGISTAT_SESSVLDCHG_SHIFT 3 03891 #define USB_OTGISTAT_LINE_STATE_CHG_MASK 0x20u 03892 #define USB_OTGISTAT_LINE_STATE_CHG_SHIFT 5 03893 #define USB_OTGISTAT_ONEMSEC_MASK 0x40u 03894 #define USB_OTGISTAT_ONEMSEC_SHIFT 6 03895 #define USB_OTGISTAT_IDCHG_MASK 0x80u 03896 #define USB_OTGISTAT_IDCHG_SHIFT 7 03897 /* OTGICR Bit Fields */ 03898 #define USB_OTGICR_AVBUSEN_MASK 0x1u 03899 #define USB_OTGICR_AVBUSEN_SHIFT 0 03900 #define USB_OTGICR_BSESSEN_MASK 0x4u 03901 #define USB_OTGICR_BSESSEN_SHIFT 2 03902 #define USB_OTGICR_SESSVLDEN_MASK 0x8u 03903 #define USB_OTGICR_SESSVLDEN_SHIFT 3 03904 #define USB_OTGICR_LINESTATEEN_MASK 0x20u 03905 #define USB_OTGICR_LINESTATEEN_SHIFT 5 03906 #define USB_OTGICR_ONEMSECEN_MASK 0x40u 03907 #define USB_OTGICR_ONEMSECEN_SHIFT 6 03908 #define USB_OTGICR_IDEN_MASK 0x80u 03909 #define USB_OTGICR_IDEN_SHIFT 7 03910 /* OTGSTAT Bit Fields */ 03911 #define USB_OTGSTAT_AVBUSVLD_MASK 0x1u 03912 #define USB_OTGSTAT_AVBUSVLD_SHIFT 0 03913 #define USB_OTGSTAT_BSESSEND_MASK 0x4u 03914 #define USB_OTGSTAT_BSESSEND_SHIFT 2 03915 #define USB_OTGSTAT_SESS_VLD_MASK 0x8u 03916 #define USB_OTGSTAT_SESS_VLD_SHIFT 3 03917 #define USB_OTGSTAT_LINESTATESTABLE_MASK 0x20u 03918 #define USB_OTGSTAT_LINESTATESTABLE_SHIFT 5 03919 #define USB_OTGSTAT_ONEMSECEN_MASK 0x40u 03920 #define USB_OTGSTAT_ONEMSECEN_SHIFT 6 03921 #define USB_OTGSTAT_ID_MASK 0x80u 03922 #define USB_OTGSTAT_ID_SHIFT 7 03923 /* OTGCTL Bit Fields */ 03924 #define USB_OTGCTL_OTGEN_MASK 0x4u 03925 #define USB_OTGCTL_OTGEN_SHIFT 2 03926 #define USB_OTGCTL_DMLOW_MASK 0x10u 03927 #define USB_OTGCTL_DMLOW_SHIFT 4 03928 #define USB_OTGCTL_DPLOW_MASK 0x20u 03929 #define USB_OTGCTL_DPLOW_SHIFT 5 03930 #define USB_OTGCTL_DPHIGH_MASK 0x80u 03931 #define USB_OTGCTL_DPHIGH_SHIFT 7 03932 /* ISTAT Bit Fields */ 03933 #define USB_ISTAT_USBRST_MASK 0x1u 03934 #define USB_ISTAT_USBRST_SHIFT 0 03935 #define USB_ISTAT_ERROR_MASK 0x2u 03936 #define USB_ISTAT_ERROR_SHIFT 1 03937 #define USB_ISTAT_SOFTOK_MASK 0x4u 03938 #define USB_ISTAT_SOFTOK_SHIFT 2 03939 #define USB_ISTAT_TOKDNE_MASK 0x8u 03940 #define USB_ISTAT_TOKDNE_SHIFT 3 03941 #define USB_ISTAT_SLEEP_MASK 0x10u 03942 #define USB_ISTAT_SLEEP_SHIFT 4 03943 #define USB_ISTAT_RESUME_MASK 0x20u 03944 #define USB_ISTAT_RESUME_SHIFT 5 03945 #define USB_ISTAT_ATTACH_MASK 0x40u 03946 #define USB_ISTAT_ATTACH_SHIFT 6 03947 #define USB_ISTAT_STALL_MASK 0x80u 03948 #define USB_ISTAT_STALL_SHIFT 7 03949 /* INTEN Bit Fields */ 03950 #define USB_INTEN_USBRSTEN_MASK 0x1u 03951 #define USB_INTEN_USBRSTEN_SHIFT 0 03952 #define USB_INTEN_ERROREN_MASK 0x2u 03953 #define USB_INTEN_ERROREN_SHIFT 1 03954 #define USB_INTEN_SOFTOKEN_MASK 0x4u 03955 #define USB_INTEN_SOFTOKEN_SHIFT 2 03956 #define USB_INTEN_TOKDNEEN_MASK 0x8u 03957 #define USB_INTEN_TOKDNEEN_SHIFT 3 03958 #define USB_INTEN_SLEEPEN_MASK 0x10u 03959 #define USB_INTEN_SLEEPEN_SHIFT 4 03960 #define USB_INTEN_RESUMEEN_MASK 0x20u 03961 #define USB_INTEN_RESUMEEN_SHIFT 5 03962 #define USB_INTEN_ATTACHEN_MASK 0x40u 03963 #define USB_INTEN_ATTACHEN_SHIFT 6 03964 #define USB_INTEN_STALLEN_MASK 0x80u 03965 #define USB_INTEN_STALLEN_SHIFT 7 03966 /* ERRSTAT Bit Fields */ 03967 #define USB_ERRSTAT_PIDERR_MASK 0x1u 03968 #define USB_ERRSTAT_PIDERR_SHIFT 0 03969 #define USB_ERRSTAT_CRC5EOF_MASK 0x2u 03970 #define USB_ERRSTAT_CRC5EOF_SHIFT 1 03971 #define USB_ERRSTAT_CRC16_MASK 0x4u 03972 #define USB_ERRSTAT_CRC16_SHIFT 2 03973 #define USB_ERRSTAT_DFN8_MASK 0x8u 03974 #define USB_ERRSTAT_DFN8_SHIFT 3 03975 #define USB_ERRSTAT_BTOERR_MASK 0x10u 03976 #define USB_ERRSTAT_BTOERR_SHIFT 4 03977 #define USB_ERRSTAT_DMAERR_MASK 0x20u 03978 #define USB_ERRSTAT_DMAERR_SHIFT 5 03979 #define USB_ERRSTAT_BTSERR_MASK 0x80u 03980 #define USB_ERRSTAT_BTSERR_SHIFT 7 03981 /* ERREN Bit Fields */ 03982 #define USB_ERREN_PIDERREN_MASK 0x1u 03983 #define USB_ERREN_PIDERREN_SHIFT 0 03984 #define USB_ERREN_CRC5EOFEN_MASK 0x2u 03985 #define USB_ERREN_CRC5EOFEN_SHIFT 1 03986 #define USB_ERREN_CRC16EN_MASK 0x4u 03987 #define USB_ERREN_CRC16EN_SHIFT 2 03988 #define USB_ERREN_DFN8EN_MASK 0x8u 03989 #define USB_ERREN_DFN8EN_SHIFT 3 03990 #define USB_ERREN_BTOERREN_MASK 0x10u 03991 #define USB_ERREN_BTOERREN_SHIFT 4 03992 #define USB_ERREN_DMAERREN_MASK 0x20u 03993 #define USB_ERREN_DMAERREN_SHIFT 5 03994 #define USB_ERREN_BTSERREN_MASK 0x80u 03995 #define USB_ERREN_BTSERREN_SHIFT 7 03996 /* STAT Bit Fields */ 03997 #define USB_STAT_ODD_MASK 0x4u 03998 #define USB_STAT_ODD_SHIFT 2 03999 #define USB_STAT_TX_MASK 0x8u 04000 #define USB_STAT_TX_SHIFT 3 04001 #define USB_STAT_ENDP_MASK 0xF0u 04002 #define USB_STAT_ENDP_SHIFT 4 04003 #define USB_STAT_ENDP(x) (((uint8_t)(((uint8_t)(x))<<USB_STAT_ENDP_SHIFT))&USB_STAT_ENDP_MASK) 04004 /* CTL Bit Fields */ 04005 #define USB_CTL_USBENSOFEN_MASK 0x1u 04006 #define USB_CTL_USBENSOFEN_SHIFT 0 04007 #define USB_CTL_ODDRST_MASK 0x2u 04008 #define USB_CTL_ODDRST_SHIFT 1 04009 #define USB_CTL_RESUME_MASK 0x4u 04010 #define USB_CTL_RESUME_SHIFT 2 04011 #define USB_CTL_HOSTMODEEN_MASK 0x8u 04012 #define USB_CTL_HOSTMODEEN_SHIFT 3 04013 #define USB_CTL_RESET_MASK 0x10u 04014 #define USB_CTL_RESET_SHIFT 4 04015 #define USB_CTL_TXSUSPENDTOKENBUSY_MASK 0x20u 04016 #define USB_CTL_TXSUSPENDTOKENBUSY_SHIFT 5 04017 #define USB_CTL_SE0_MASK 0x40u 04018 #define USB_CTL_SE0_SHIFT 6 04019 #define USB_CTL_JSTATE_MASK 0x80u 04020 #define USB_CTL_JSTATE_SHIFT 7 04021 /* ADDR Bit Fields */ 04022 #define USB_ADDR_ADDR_MASK 0x7Fu 04023 #define USB_ADDR_ADDR_SHIFT 0 04024 #define USB_ADDR_ADDR(x) (((uint8_t)(((uint8_t)(x))<<USB_ADDR_ADDR_SHIFT))&USB_ADDR_ADDR_MASK) 04025 #define USB_ADDR_LSEN_MASK 0x80u 04026 #define USB_ADDR_LSEN_SHIFT 7 04027 /* BDTPAGE1 Bit Fields */ 04028 #define USB_BDTPAGE1_BDTBA_MASK 0xFEu 04029 #define USB_BDTPAGE1_BDTBA_SHIFT 1 04030 #define USB_BDTPAGE1_BDTBA(x) (((uint8_t)(((uint8_t)(x))<<USB_BDTPAGE1_BDTBA_SHIFT))&USB_BDTPAGE1_BDTBA_MASK) 04031 /* FRMNUML Bit Fields */ 04032 #define USB_FRMNUML_FRM_MASK 0xFFu 04033 #define USB_FRMNUML_FRM_SHIFT 0 04034 #define USB_FRMNUML_FRM(x) (((uint8_t)(((uint8_t)(x))<<USB_FRMNUML_FRM_SHIFT))&USB_FRMNUML_FRM_MASK) 04035 /* FRMNUMH Bit Fields */ 04036 #define USB_FRMNUMH_FRM_MASK 0x7u 04037 #define USB_FRMNUMH_FRM_SHIFT 0 04038 #define USB_FRMNUMH_FRM(x) (((uint8_t)(((uint8_t)(x))<<USB_FRMNUMH_FRM_SHIFT))&USB_FRMNUMH_FRM_MASK) 04039 /* TOKEN Bit Fields */ 04040 #define USB_TOKEN_TOKENENDPT_MASK 0xFu 04041 #define USB_TOKEN_TOKENENDPT_SHIFT 0 04042 #define USB_TOKEN_TOKENENDPT(x) (((uint8_t)(((uint8_t)(x))<<USB_TOKEN_TOKENENDPT_SHIFT))&USB_TOKEN_TOKENENDPT_MASK) 04043 #define USB_TOKEN_TOKENPID_MASK 0xF0u 04044 #define USB_TOKEN_TOKENPID_SHIFT 4 04045 #define USB_TOKEN_TOKENPID(x) (((uint8_t)(((uint8_t)(x))<<USB_TOKEN_TOKENPID_SHIFT))&USB_TOKEN_TOKENPID_MASK) 04046 /* SOFTHLD Bit Fields */ 04047 #define USB_SOFTHLD_CNT_MASK 0xFFu 04048 #define USB_SOFTHLD_CNT_SHIFT 0 04049 #define USB_SOFTHLD_CNT(x) (((uint8_t)(((uint8_t)(x))<<USB_SOFTHLD_CNT_SHIFT))&USB_SOFTHLD_CNT_MASK) 04050 /* BDTPAGE2 Bit Fields */ 04051 #define USB_BDTPAGE2_BDTBA_MASK 0xFFu 04052 #define USB_BDTPAGE2_BDTBA_SHIFT 0 04053 #define USB_BDTPAGE2_BDTBA(x) (((uint8_t)(((uint8_t)(x))<<USB_BDTPAGE2_BDTBA_SHIFT))&USB_BDTPAGE2_BDTBA_MASK) 04054 /* BDTPAGE3 Bit Fields */ 04055 #define USB_BDTPAGE3_BDTBA_MASK 0xFFu 04056 #define USB_BDTPAGE3_BDTBA_SHIFT 0 04057 #define USB_BDTPAGE3_BDTBA(x) (((uint8_t)(((uint8_t)(x))<<USB_BDTPAGE3_BDTBA_SHIFT))&USB_BDTPAGE3_BDTBA_MASK) 04058 /* ENDPT Bit Fields */ 04059 #define USB_ENDPT_EPHSHK_MASK 0x1u 04060 #define USB_ENDPT_EPHSHK_SHIFT 0 04061 #define USB_ENDPT_EPSTALL_MASK 0x2u 04062 #define USB_ENDPT_EPSTALL_SHIFT 1 04063 #define USB_ENDPT_EPTXEN_MASK 0x4u 04064 #define USB_ENDPT_EPTXEN_SHIFT 2 04065 #define USB_ENDPT_EPRXEN_MASK 0x8u 04066 #define USB_ENDPT_EPRXEN_SHIFT 3 04067 #define USB_ENDPT_EPCTLDIS_MASK 0x10u 04068 #define USB_ENDPT_EPCTLDIS_SHIFT 4 04069 #define USB_ENDPT_RETRYDIS_MASK 0x40u 04070 #define USB_ENDPT_RETRYDIS_SHIFT 6 04071 #define USB_ENDPT_HOSTWOHUB_MASK 0x80u 04072 #define USB_ENDPT_HOSTWOHUB_SHIFT 7 04073 /* USBCTRL Bit Fields */ 04074 #define USB_USBCTRL_PDE_MASK 0x40u 04075 #define USB_USBCTRL_PDE_SHIFT 6 04076 #define USB_USBCTRL_SUSP_MASK 0x80u 04077 #define USB_USBCTRL_SUSP_SHIFT 7 04078 /* OBSERVE Bit Fields */ 04079 #define USB_OBSERVE_DMPD_MASK 0x10u 04080 #define USB_OBSERVE_DMPD_SHIFT 4 04081 #define USB_OBSERVE_DPPD_MASK 0x40u 04082 #define USB_OBSERVE_DPPD_SHIFT 6 04083 #define USB_OBSERVE_DPPU_MASK 0x80u 04084 #define USB_OBSERVE_DPPU_SHIFT 7 04085 /* CONTROL Bit Fields */ 04086 #define USB_CONTROL_DPPULLUPNONOTG_MASK 0x10u 04087 #define USB_CONTROL_DPPULLUPNONOTG_SHIFT 4 04088 /* USBTRC0 Bit Fields */ 04089 #define USB_USBTRC0_USB_RESUME_INT_MASK 0x1u 04090 #define USB_USBTRC0_USB_RESUME_INT_SHIFT 0 04091 #define USB_USBTRC0_SYNC_DET_MASK 0x2u 04092 #define USB_USBTRC0_SYNC_DET_SHIFT 1 04093 #define USB_USBTRC0_USBRESMEN_MASK 0x20u 04094 #define USB_USBTRC0_USBRESMEN_SHIFT 5 04095 #define USB_USBTRC0_USBRESET_MASK 0x80u 04096 #define USB_USBTRC0_USBRESET_SHIFT 7 04097 04098 /** 04099 * @} 04100 */ /* end of group USB_Register_Masks */ 04101 04102 04103 /* USB - Peripheral instance base addresses */ 04104 /** Peripheral USB0 base address */ 04105 #define USB0_BASE (0x40072000u) 04106 /** Peripheral USB0 base pointer */ 04107 #define USB0 ((USB_Type *)USB0_BASE) 04108 /** Array initializer of USB peripheral base pointers */ 04109 #define USB_BASES { USB0 } 04110 04111 /** 04112 * @} 04113 */ /* end of group USB_Peripheral_Access_Layer */ 04114 04115 04116 /* 04117 ** End of section using anonymous unions 04118 */ 04119 04120 #if defined(__ARMCC_VERSION) 04121 #pragma pop 04122 #elif defined(__CWCC__) 04123 #pragma pop 04124 #elif defined(__GNUC__) 04125 /* leave anonymous unions enabled */ 04126 #elif defined(__IAR_SYSTEMS_ICC__) 04127 #pragma language=default 04128 #else 04129 #error Not supported compiler type 04130 #endif 04131 04132 /** 04133 * @} 04134 */ /* end of group Peripheral_access_layer */ 04135 04136 04137 /* ---------------------------------------------------------------------------- 04138 -- Backward Compatibility 04139 ---------------------------------------------------------------------------- */ 04140 04141 /** 04142 * @addtogroup Backward_Compatibility_Symbols Backward Compatibility 04143 * @{ 04144 */ 04145 04146 /* No backward compatibility issues. */ 04147 04148 /** 04149 * @} 04150 */ /* end of group Backward_Compatibility_Symbols */ 04151 04152 04153 #endif /* #if !defined(MKL25Z4_H_) */ 04154 04155 /* MKL25Z4.h, eof. */
Generated on Tue Jul 12 2022 13:47:01 by 1.7.2