Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of target-mcu-k64f by
MK64F12_llwu.h
00001 /* 00002 ** ################################################################### 00003 ** Compilers: Keil ARM C/C++ Compiler 00004 ** Freescale C/C++ for Embedded ARM 00005 ** GNU C Compiler 00006 ** IAR ANSI C/C++ Compiler for ARM 00007 ** 00008 ** Reference manual: K64P144M120SF5RM, Rev.2, January 2014 00009 ** Version: rev. 2.5, 2014-02-10 00010 ** Build: b140604 00011 ** 00012 ** Abstract: 00013 ** Extension to the CMSIS register access layer header. 00014 ** 00015 ** Copyright (c) 2014 Freescale Semiconductor, Inc. 00016 ** All rights reserved. 00017 ** 00018 ** (C) COPYRIGHT 2015-2015 ARM Limited 00019 ** ALL RIGHTS RESERVED 00020 ** 00021 ** Redistribution and use in source and binary forms, with or without modification, 00022 ** are permitted provided that the following conditions are met: 00023 ** 00024 ** o Redistributions of source code must retain the above copyright notice, this list 00025 ** of conditions and the following disclaimer. 00026 ** 00027 ** o Redistributions in binary form must reproduce the above copyright notice, this 00028 ** list of conditions and the following disclaimer in the documentation and/or 00029 ** other materials provided with the distribution. 00030 ** 00031 ** o Neither the name of Freescale Semiconductor, Inc. nor the names of its 00032 ** contributors may be used to endorse or promote products derived from this 00033 ** software without specific prior written permission. 00034 ** 00035 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 00036 ** ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 00037 ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00038 ** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 00039 ** ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 00040 ** (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 00041 ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 00042 ** ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00043 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 00044 ** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00045 ** 00046 ** http: www.freescale.com 00047 ** mail: support@freescale.com 00048 ** 00049 ** Revisions: 00050 ** - rev. 1.0 (2013-08-12) 00051 ** Initial version. 00052 ** - rev. 2.0 (2013-10-29) 00053 ** Register accessor macros added to the memory map. 00054 ** Symbols for Processor Expert memory map compatibility added to the memory map. 00055 ** Startup file for gcc has been updated according to CMSIS 3.2. 00056 ** System initialization updated. 00057 ** MCG - registers updated. 00058 ** PORTA, PORTB, PORTC, PORTE - registers for digital filter removed. 00059 ** - rev. 2.1 (2013-10-30) 00060 ** Definition of BITBAND macros updated to support peripherals with 32-bit acces disabled. 00061 ** - rev. 2.2 (2013-12-09) 00062 ** DMA - EARS register removed. 00063 ** AIPS0, AIPS1 - MPRA register updated. 00064 ** - rev. 2.3 (2014-01-24) 00065 ** Update according to reference manual rev. 2 00066 ** ENET, MCG, MCM, SIM, USB - registers updated 00067 ** - rev. 2.4 (2014-02-10) 00068 ** The declaration of clock configurations has been moved to separate header file system_MK64F12.h 00069 ** Update of SystemInit() and SystemCoreClockUpdate() functions. 00070 ** - rev. 2.5 (2014-02-10) 00071 ** The declaration of clock configurations has been moved to separate header file system_MK64F12.h 00072 ** Update of SystemInit() and SystemCoreClockUpdate() functions. 00073 ** Module access macro module_BASES replaced by module_BASE_PTRS. 00074 ** - rev. 2.6 (2015-08-03) (ARM) 00075 ** All accesses to memory are replaced by equivalent macros; this allows 00076 ** memory read/write operations to be re-defined if needed (for example, 00077 ** to implement new security features 00078 ** 00079 ** ################################################################### 00080 */ 00081 00082 /* 00083 * WARNING! DO NOT EDIT THIS FILE DIRECTLY! 00084 * 00085 * This file was generated automatically and any changes may be lost. 00086 */ 00087 #ifndef __HW_LLWU_REGISTERS_H__ 00088 #define __HW_LLWU_REGISTERS_H__ 00089 00090 #include "MK64F12.h" 00091 #include "fsl_bitaccess.h" 00092 00093 /* 00094 * MK64F12 LLWU 00095 * 00096 * Low leakage wakeup unit 00097 * 00098 * Registers defined in this header file: 00099 * - HW_LLWU_PE1 - LLWU Pin Enable 1 register 00100 * - HW_LLWU_PE2 - LLWU Pin Enable 2 register 00101 * - HW_LLWU_PE3 - LLWU Pin Enable 3 register 00102 * - HW_LLWU_PE4 - LLWU Pin Enable 4 register 00103 * - HW_LLWU_ME - LLWU Module Enable register 00104 * - HW_LLWU_F1 - LLWU Flag 1 register 00105 * - HW_LLWU_F2 - LLWU Flag 2 register 00106 * - HW_LLWU_F3 - LLWU Flag 3 register 00107 * - HW_LLWU_FILT1 - LLWU Pin Filter 1 register 00108 * - HW_LLWU_FILT2 - LLWU Pin Filter 2 register 00109 * - HW_LLWU_RST - LLWU Reset Enable register 00110 * 00111 * - hw_llwu_t - Struct containing all module registers. 00112 */ 00113 00114 #define HW_LLWU_INSTANCE_COUNT (1U) /*!< Number of instances of the LLWU module. */ 00115 00116 /******************************************************************************* 00117 * HW_LLWU_PE1 - LLWU Pin Enable 1 register 00118 ******************************************************************************/ 00119 00120 /*! 00121 * @brief HW_LLWU_PE1 - LLWU Pin Enable 1 register (RW) 00122 * 00123 * Reset value: 0x00U 00124 * 00125 * LLWU_PE1 contains the field to enable and select the edge detect type for the 00126 * external wakeup input pins LLWU_P3-LLWU_P0. This register is reset on Chip 00127 * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 00128 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 00129 * IntroductionInformation found here describes the registers of the Reset Control Module 00130 * (RCM). The RCM implements many of the reset functions for the chip. See the 00131 * chip's reset chapter for more information. details for more information. 00132 */ 00133 typedef union _hw_llwu_pe1 00134 { 00135 uint8_t U; 00136 struct _hw_llwu_pe1_bitfields 00137 { 00138 uint8_t WUPE0 : 2; /*!< [1:0] Wakeup Pin Enable For LLWU_P0 */ 00139 uint8_t WUPE1 : 2; /*!< [3:2] Wakeup Pin Enable For LLWU_P1 */ 00140 uint8_t WUPE2 : 2; /*!< [5:4] Wakeup Pin Enable For LLWU_P2 */ 00141 uint8_t WUPE3 : 2; /*!< [7:6] Wakeup Pin Enable For LLWU_P3 */ 00142 } B; 00143 } hw_llwu_pe1_t; 00144 00145 /*! 00146 * @name Constants and macros for entire LLWU_PE1 register 00147 */ 00148 /*@{*/ 00149 #define HW_LLWU_PE1_ADDR(x) ((x) + 0x0U) 00150 00151 #define HW_LLWU_PE1(x) (*(__IO hw_llwu_pe1_t *) HW_LLWU_PE1_ADDR(x)) 00152 #define HW_LLWU_PE1_RD(x) (ADDRESS_READ(hw_llwu_pe1_t, HW_LLWU_PE1_ADDR(x))) 00153 #define HW_LLWU_PE1_WR(x, v) (ADDRESS_WRITE(hw_llwu_pe1_t, HW_LLWU_PE1_ADDR(x), v)) 00154 #define HW_LLWU_PE1_SET(x, v) (HW_LLWU_PE1_WR(x, HW_LLWU_PE1_RD(x) | (v))) 00155 #define HW_LLWU_PE1_CLR(x, v) (HW_LLWU_PE1_WR(x, HW_LLWU_PE1_RD(x) & ~(v))) 00156 #define HW_LLWU_PE1_TOG(x, v) (HW_LLWU_PE1_WR(x, HW_LLWU_PE1_RD(x) ^ (v))) 00157 /*@}*/ 00158 00159 /* 00160 * Constants & macros for individual LLWU_PE1 bitfields 00161 */ 00162 00163 /*! 00164 * @name Register LLWU_PE1, field WUPE0[1:0] (RW) 00165 * 00166 * Enables and configures the edge detection for the wakeup pin. 00167 * 00168 * Values: 00169 * - 00 - External input pin disabled as wakeup input 00170 * - 01 - External input pin enabled with rising edge detection 00171 * - 10 - External input pin enabled with falling edge detection 00172 * - 11 - External input pin enabled with any change detection 00173 */ 00174 /*@{*/ 00175 #define BP_LLWU_PE1_WUPE0 (0U) /*!< Bit position for LLWU_PE1_WUPE0. */ 00176 #define BM_LLWU_PE1_WUPE0 (0x03U) /*!< Bit mask for LLWU_PE1_WUPE0. */ 00177 #define BS_LLWU_PE1_WUPE0 (2U) /*!< Bit field size in bits for LLWU_PE1_WUPE0. */ 00178 00179 /*! @brief Read current value of the LLWU_PE1_WUPE0 field. */ 00180 #define BR_LLWU_PE1_WUPE0(x) (UNION_READ(hw_llwu_pe1_t, HW_LLWU_PE1_ADDR(x), U, B.WUPE0)) 00181 00182 /*! @brief Format value for bitfield LLWU_PE1_WUPE0. */ 00183 #define BF_LLWU_PE1_WUPE0(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE1_WUPE0) & BM_LLWU_PE1_WUPE0) 00184 00185 /*! @brief Set the WUPE0 field to a new value. */ 00186 #define BW_LLWU_PE1_WUPE0(x, v) (HW_LLWU_PE1_WR(x, (HW_LLWU_PE1_RD(x) & ~BM_LLWU_PE1_WUPE0) | BF_LLWU_PE1_WUPE0(v))) 00187 /*@}*/ 00188 00189 /*! 00190 * @name Register LLWU_PE1, field WUPE1[3:2] (RW) 00191 * 00192 * Enables and configures the edge detection for the wakeup pin. 00193 * 00194 * Values: 00195 * - 00 - External input pin disabled as wakeup input 00196 * - 01 - External input pin enabled with rising edge detection 00197 * - 10 - External input pin enabled with falling edge detection 00198 * - 11 - External input pin enabled with any change detection 00199 */ 00200 /*@{*/ 00201 #define BP_LLWU_PE1_WUPE1 (2U) /*!< Bit position for LLWU_PE1_WUPE1. */ 00202 #define BM_LLWU_PE1_WUPE1 (0x0CU) /*!< Bit mask for LLWU_PE1_WUPE1. */ 00203 #define BS_LLWU_PE1_WUPE1 (2U) /*!< Bit field size in bits for LLWU_PE1_WUPE1. */ 00204 00205 /*! @brief Read current value of the LLWU_PE1_WUPE1 field. */ 00206 #define BR_LLWU_PE1_WUPE1(x) (UNION_READ(hw_llwu_pe1_t, HW_LLWU_PE1_ADDR(x), U, B.WUPE1)) 00207 00208 /*! @brief Format value for bitfield LLWU_PE1_WUPE1. */ 00209 #define BF_LLWU_PE1_WUPE1(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE1_WUPE1) & BM_LLWU_PE1_WUPE1) 00210 00211 /*! @brief Set the WUPE1 field to a new value. */ 00212 #define BW_LLWU_PE1_WUPE1(x, v) (HW_LLWU_PE1_WR(x, (HW_LLWU_PE1_RD(x) & ~BM_LLWU_PE1_WUPE1) | BF_LLWU_PE1_WUPE1(v))) 00213 /*@}*/ 00214 00215 /*! 00216 * @name Register LLWU_PE1, field WUPE2[5:4] (RW) 00217 * 00218 * Enables and configures the edge detection for the wakeup pin. 00219 * 00220 * Values: 00221 * - 00 - External input pin disabled as wakeup input 00222 * - 01 - External input pin enabled with rising edge detection 00223 * - 10 - External input pin enabled with falling edge detection 00224 * - 11 - External input pin enabled with any change detection 00225 */ 00226 /*@{*/ 00227 #define BP_LLWU_PE1_WUPE2 (4U) /*!< Bit position for LLWU_PE1_WUPE2. */ 00228 #define BM_LLWU_PE1_WUPE2 (0x30U) /*!< Bit mask for LLWU_PE1_WUPE2. */ 00229 #define BS_LLWU_PE1_WUPE2 (2U) /*!< Bit field size in bits for LLWU_PE1_WUPE2. */ 00230 00231 /*! @brief Read current value of the LLWU_PE1_WUPE2 field. */ 00232 #define BR_LLWU_PE1_WUPE2(x) (UNION_READ(hw_llwu_pe1_t, HW_LLWU_PE1_ADDR(x), U, B.WUPE2)) 00233 00234 /*! @brief Format value for bitfield LLWU_PE1_WUPE2. */ 00235 #define BF_LLWU_PE1_WUPE2(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE1_WUPE2) & BM_LLWU_PE1_WUPE2) 00236 00237 /*! @brief Set the WUPE2 field to a new value. */ 00238 #define BW_LLWU_PE1_WUPE2(x, v) (HW_LLWU_PE1_WR(x, (HW_LLWU_PE1_RD(x) & ~BM_LLWU_PE1_WUPE2) | BF_LLWU_PE1_WUPE2(v))) 00239 /*@}*/ 00240 00241 /*! 00242 * @name Register LLWU_PE1, field WUPE3[7:6] (RW) 00243 * 00244 * Enables and configures the edge detection for the wakeup pin. 00245 * 00246 * Values: 00247 * - 00 - External input pin disabled as wakeup input 00248 * - 01 - External input pin enabled with rising edge detection 00249 * - 10 - External input pin enabled with falling edge detection 00250 * - 11 - External input pin enabled with any change detection 00251 */ 00252 /*@{*/ 00253 #define BP_LLWU_PE1_WUPE3 (6U) /*!< Bit position for LLWU_PE1_WUPE3. */ 00254 #define BM_LLWU_PE1_WUPE3 (0xC0U) /*!< Bit mask for LLWU_PE1_WUPE3. */ 00255 #define BS_LLWU_PE1_WUPE3 (2U) /*!< Bit field size in bits for LLWU_PE1_WUPE3. */ 00256 00257 /*! @brief Read current value of the LLWU_PE1_WUPE3 field. */ 00258 #define BR_LLWU_PE1_WUPE3(x) (UNION_READ(hw_llwu_pe1_t, HW_LLWU_PE1_ADDR(x), U, B.WUPE3)) 00259 00260 /*! @brief Format value for bitfield LLWU_PE1_WUPE3. */ 00261 #define BF_LLWU_PE1_WUPE3(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE1_WUPE3) & BM_LLWU_PE1_WUPE3) 00262 00263 /*! @brief Set the WUPE3 field to a new value. */ 00264 #define BW_LLWU_PE1_WUPE3(x, v) (HW_LLWU_PE1_WR(x, (HW_LLWU_PE1_RD(x) & ~BM_LLWU_PE1_WUPE3) | BF_LLWU_PE1_WUPE3(v))) 00265 /*@}*/ 00266 00267 /******************************************************************************* 00268 * HW_LLWU_PE2 - LLWU Pin Enable 2 register 00269 ******************************************************************************/ 00270 00271 /*! 00272 * @brief HW_LLWU_PE2 - LLWU Pin Enable 2 register (RW) 00273 * 00274 * Reset value: 0x00U 00275 * 00276 * LLWU_PE2 contains the field to enable and select the edge detect type for the 00277 * external wakeup input pins LLWU_P7-LLWU_P4. This register is reset on Chip 00278 * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 00279 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 00280 * IntroductionInformation found here describes the registers of the Reset Control Module 00281 * (RCM). The RCM implements many of the reset functions for the chip. See the 00282 * chip's reset chapter for more information. details for more information. 00283 */ 00284 typedef union _hw_llwu_pe2 00285 { 00286 uint8_t U; 00287 struct _hw_llwu_pe2_bitfields 00288 { 00289 uint8_t WUPE4 : 2; /*!< [1:0] Wakeup Pin Enable For LLWU_P4 */ 00290 uint8_t WUPE5 : 2; /*!< [3:2] Wakeup Pin Enable For LLWU_P5 */ 00291 uint8_t WUPE6 : 2; /*!< [5:4] Wakeup Pin Enable For LLWU_P6 */ 00292 uint8_t WUPE7 : 2; /*!< [7:6] Wakeup Pin Enable For LLWU_P7 */ 00293 } B; 00294 } hw_llwu_pe2_t; 00295 00296 /*! 00297 * @name Constants and macros for entire LLWU_PE2 register 00298 */ 00299 /*@{*/ 00300 #define HW_LLWU_PE2_ADDR(x) ((x) + 0x1U) 00301 00302 #define HW_LLWU_PE2(x) (*(__IO hw_llwu_pe2_t *) HW_LLWU_PE2_ADDR(x)) 00303 #define HW_LLWU_PE2_RD(x) (ADDRESS_READ(hw_llwu_pe2_t, HW_LLWU_PE2_ADDR(x))) 00304 #define HW_LLWU_PE2_WR(x, v) (ADDRESS_WRITE(hw_llwu_pe2_t, HW_LLWU_PE2_ADDR(x), v)) 00305 #define HW_LLWU_PE2_SET(x, v) (HW_LLWU_PE2_WR(x, HW_LLWU_PE2_RD(x) | (v))) 00306 #define HW_LLWU_PE2_CLR(x, v) (HW_LLWU_PE2_WR(x, HW_LLWU_PE2_RD(x) & ~(v))) 00307 #define HW_LLWU_PE2_TOG(x, v) (HW_LLWU_PE2_WR(x, HW_LLWU_PE2_RD(x) ^ (v))) 00308 /*@}*/ 00309 00310 /* 00311 * Constants & macros for individual LLWU_PE2 bitfields 00312 */ 00313 00314 /*! 00315 * @name Register LLWU_PE2, field WUPE4[1:0] (RW) 00316 * 00317 * Enables and configures the edge detection for the wakeup pin. 00318 * 00319 * Values: 00320 * - 00 - External input pin disabled as wakeup input 00321 * - 01 - External input pin enabled with rising edge detection 00322 * - 10 - External input pin enabled with falling edge detection 00323 * - 11 - External input pin enabled with any change detection 00324 */ 00325 /*@{*/ 00326 #define BP_LLWU_PE2_WUPE4 (0U) /*!< Bit position for LLWU_PE2_WUPE4. */ 00327 #define BM_LLWU_PE2_WUPE4 (0x03U) /*!< Bit mask for LLWU_PE2_WUPE4. */ 00328 #define BS_LLWU_PE2_WUPE4 (2U) /*!< Bit field size in bits for LLWU_PE2_WUPE4. */ 00329 00330 /*! @brief Read current value of the LLWU_PE2_WUPE4 field. */ 00331 #define BR_LLWU_PE2_WUPE4(x) (UNION_READ(hw_llwu_pe2_t, HW_LLWU_PE2_ADDR(x), U, B.WUPE4)) 00332 00333 /*! @brief Format value for bitfield LLWU_PE2_WUPE4. */ 00334 #define BF_LLWU_PE2_WUPE4(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE2_WUPE4) & BM_LLWU_PE2_WUPE4) 00335 00336 /*! @brief Set the WUPE4 field to a new value. */ 00337 #define BW_LLWU_PE2_WUPE4(x, v) (HW_LLWU_PE2_WR(x, (HW_LLWU_PE2_RD(x) & ~BM_LLWU_PE2_WUPE4) | BF_LLWU_PE2_WUPE4(v))) 00338 /*@}*/ 00339 00340 /*! 00341 * @name Register LLWU_PE2, field WUPE5[3:2] (RW) 00342 * 00343 * Enables and configures the edge detection for the wakeup pin. 00344 * 00345 * Values: 00346 * - 00 - External input pin disabled as wakeup input 00347 * - 01 - External input pin enabled with rising edge detection 00348 * - 10 - External input pin enabled with falling edge detection 00349 * - 11 - External input pin enabled with any change detection 00350 */ 00351 /*@{*/ 00352 #define BP_LLWU_PE2_WUPE5 (2U) /*!< Bit position for LLWU_PE2_WUPE5. */ 00353 #define BM_LLWU_PE2_WUPE5 (0x0CU) /*!< Bit mask for LLWU_PE2_WUPE5. */ 00354 #define BS_LLWU_PE2_WUPE5 (2U) /*!< Bit field size in bits for LLWU_PE2_WUPE5. */ 00355 00356 /*! @brief Read current value of the LLWU_PE2_WUPE5 field. */ 00357 #define BR_LLWU_PE2_WUPE5(x) (UNION_READ(hw_llwu_pe2_t, HW_LLWU_PE2_ADDR(x), U, B.WUPE5)) 00358 00359 /*! @brief Format value for bitfield LLWU_PE2_WUPE5. */ 00360 #define BF_LLWU_PE2_WUPE5(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE2_WUPE5) & BM_LLWU_PE2_WUPE5) 00361 00362 /*! @brief Set the WUPE5 field to a new value. */ 00363 #define BW_LLWU_PE2_WUPE5(x, v) (HW_LLWU_PE2_WR(x, (HW_LLWU_PE2_RD(x) & ~BM_LLWU_PE2_WUPE5) | BF_LLWU_PE2_WUPE5(v))) 00364 /*@}*/ 00365 00366 /*! 00367 * @name Register LLWU_PE2, field WUPE6[5:4] (RW) 00368 * 00369 * Enables and configures the edge detection for the wakeup pin. 00370 * 00371 * Values: 00372 * - 00 - External input pin disabled as wakeup input 00373 * - 01 - External input pin enabled with rising edge detection 00374 * - 10 - External input pin enabled with falling edge detection 00375 * - 11 - External input pin enabled with any change detection 00376 */ 00377 /*@{*/ 00378 #define BP_LLWU_PE2_WUPE6 (4U) /*!< Bit position for LLWU_PE2_WUPE6. */ 00379 #define BM_LLWU_PE2_WUPE6 (0x30U) /*!< Bit mask for LLWU_PE2_WUPE6. */ 00380 #define BS_LLWU_PE2_WUPE6 (2U) /*!< Bit field size in bits for LLWU_PE2_WUPE6. */ 00381 00382 /*! @brief Read current value of the LLWU_PE2_WUPE6 field. */ 00383 #define BR_LLWU_PE2_WUPE6(x) (UNION_READ(hw_llwu_pe2_t, HW_LLWU_PE2_ADDR(x), U, B.WUPE6)) 00384 00385 /*! @brief Format value for bitfield LLWU_PE2_WUPE6. */ 00386 #define BF_LLWU_PE2_WUPE6(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE2_WUPE6) & BM_LLWU_PE2_WUPE6) 00387 00388 /*! @brief Set the WUPE6 field to a new value. */ 00389 #define BW_LLWU_PE2_WUPE6(x, v) (HW_LLWU_PE2_WR(x, (HW_LLWU_PE2_RD(x) & ~BM_LLWU_PE2_WUPE6) | BF_LLWU_PE2_WUPE6(v))) 00390 /*@}*/ 00391 00392 /*! 00393 * @name Register LLWU_PE2, field WUPE7[7:6] (RW) 00394 * 00395 * Enables and configures the edge detection for the wakeup pin. 00396 * 00397 * Values: 00398 * - 00 - External input pin disabled as wakeup input 00399 * - 01 - External input pin enabled with rising edge detection 00400 * - 10 - External input pin enabled with falling edge detection 00401 * - 11 - External input pin enabled with any change detection 00402 */ 00403 /*@{*/ 00404 #define BP_LLWU_PE2_WUPE7 (6U) /*!< Bit position for LLWU_PE2_WUPE7. */ 00405 #define BM_LLWU_PE2_WUPE7 (0xC0U) /*!< Bit mask for LLWU_PE2_WUPE7. */ 00406 #define BS_LLWU_PE2_WUPE7 (2U) /*!< Bit field size in bits for LLWU_PE2_WUPE7. */ 00407 00408 /*! @brief Read current value of the LLWU_PE2_WUPE7 field. */ 00409 #define BR_LLWU_PE2_WUPE7(x) (UNION_READ(hw_llwu_pe2_t, HW_LLWU_PE2_ADDR(x), U, B.WUPE7)) 00410 00411 /*! @brief Format value for bitfield LLWU_PE2_WUPE7. */ 00412 #define BF_LLWU_PE2_WUPE7(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE2_WUPE7) & BM_LLWU_PE2_WUPE7) 00413 00414 /*! @brief Set the WUPE7 field to a new value. */ 00415 #define BW_LLWU_PE2_WUPE7(x, v) (HW_LLWU_PE2_WR(x, (HW_LLWU_PE2_RD(x) & ~BM_LLWU_PE2_WUPE7) | BF_LLWU_PE2_WUPE7(v))) 00416 /*@}*/ 00417 00418 /******************************************************************************* 00419 * HW_LLWU_PE3 - LLWU Pin Enable 3 register 00420 ******************************************************************************/ 00421 00422 /*! 00423 * @brief HW_LLWU_PE3 - LLWU Pin Enable 3 register (RW) 00424 * 00425 * Reset value: 0x00U 00426 * 00427 * LLWU_PE3 contains the field to enable and select the edge detect type for the 00428 * external wakeup input pins LLWU_P11-LLWU_P8. This register is reset on Chip 00429 * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 00430 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 00431 * IntroductionInformation found here describes the registers of the Reset Control Module 00432 * (RCM). The RCM implements many of the reset functions for the chip. See the 00433 * chip's reset chapter for more information. details for more information. 00434 */ 00435 typedef union _hw_llwu_pe3 00436 { 00437 uint8_t U; 00438 struct _hw_llwu_pe3_bitfields 00439 { 00440 uint8_t WUPE8 : 2; /*!< [1:0] Wakeup Pin Enable For LLWU_P8 */ 00441 uint8_t WUPE9 : 2; /*!< [3:2] Wakeup Pin Enable For LLWU_P9 */ 00442 uint8_t WUPE10 : 2; /*!< [5:4] Wakeup Pin Enable For LLWU_P10 */ 00443 uint8_t WUPE11 : 2; /*!< [7:6] Wakeup Pin Enable For LLWU_P11 */ 00444 } B; 00445 } hw_llwu_pe3_t; 00446 00447 /*! 00448 * @name Constants and macros for entire LLWU_PE3 register 00449 */ 00450 /*@{*/ 00451 #define HW_LLWU_PE3_ADDR(x) ((x) + 0x2U) 00452 00453 #define HW_LLWU_PE3(x) (*(__IO hw_llwu_pe3_t *) HW_LLWU_PE3_ADDR(x)) 00454 #define HW_LLWU_PE3_RD(x) (ADDRESS_READ(hw_llwu_pe3_t, HW_LLWU_PE3_ADDR(x))) 00455 #define HW_LLWU_PE3_WR(x, v) (ADDRESS_WRITE(hw_llwu_pe3_t, HW_LLWU_PE3_ADDR(x), v)) 00456 #define HW_LLWU_PE3_SET(x, v) (HW_LLWU_PE3_WR(x, HW_LLWU_PE3_RD(x) | (v))) 00457 #define HW_LLWU_PE3_CLR(x, v) (HW_LLWU_PE3_WR(x, HW_LLWU_PE3_RD(x) & ~(v))) 00458 #define HW_LLWU_PE3_TOG(x, v) (HW_LLWU_PE3_WR(x, HW_LLWU_PE3_RD(x) ^ (v))) 00459 /*@}*/ 00460 00461 /* 00462 * Constants & macros for individual LLWU_PE3 bitfields 00463 */ 00464 00465 /*! 00466 * @name Register LLWU_PE3, field WUPE8[1:0] (RW) 00467 * 00468 * Enables and configures the edge detection for the wakeup pin. 00469 * 00470 * Values: 00471 * - 00 - External input pin disabled as wakeup input 00472 * - 01 - External input pin enabled with rising edge detection 00473 * - 10 - External input pin enabled with falling edge detection 00474 * - 11 - External input pin enabled with any change detection 00475 */ 00476 /*@{*/ 00477 #define BP_LLWU_PE3_WUPE8 (0U) /*!< Bit position for LLWU_PE3_WUPE8. */ 00478 #define BM_LLWU_PE3_WUPE8 (0x03U) /*!< Bit mask for LLWU_PE3_WUPE8. */ 00479 #define BS_LLWU_PE3_WUPE8 (2U) /*!< Bit field size in bits for LLWU_PE3_WUPE8. */ 00480 00481 /*! @brief Read current value of the LLWU_PE3_WUPE8 field. */ 00482 #define BR_LLWU_PE3_WUPE8(x) (UNION_READ(hw_llwu_pe3_t, HW_LLWU_PE3_ADDR(x), U, B.WUPE8)) 00483 00484 /*! @brief Format value for bitfield LLWU_PE3_WUPE8. */ 00485 #define BF_LLWU_PE3_WUPE8(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE3_WUPE8) & BM_LLWU_PE3_WUPE8) 00486 00487 /*! @brief Set the WUPE8 field to a new value. */ 00488 #define BW_LLWU_PE3_WUPE8(x, v) (HW_LLWU_PE3_WR(x, (HW_LLWU_PE3_RD(x) & ~BM_LLWU_PE3_WUPE8) | BF_LLWU_PE3_WUPE8(v))) 00489 /*@}*/ 00490 00491 /*! 00492 * @name Register LLWU_PE3, field WUPE9[3:2] (RW) 00493 * 00494 * Enables and configures the edge detection for the wakeup pin. 00495 * 00496 * Values: 00497 * - 00 - External input pin disabled as wakeup input 00498 * - 01 - External input pin enabled with rising edge detection 00499 * - 10 - External input pin enabled with falling edge detection 00500 * - 11 - External input pin enabled with any change detection 00501 */ 00502 /*@{*/ 00503 #define BP_LLWU_PE3_WUPE9 (2U) /*!< Bit position for LLWU_PE3_WUPE9. */ 00504 #define BM_LLWU_PE3_WUPE9 (0x0CU) /*!< Bit mask for LLWU_PE3_WUPE9. */ 00505 #define BS_LLWU_PE3_WUPE9 (2U) /*!< Bit field size in bits for LLWU_PE3_WUPE9. */ 00506 00507 /*! @brief Read current value of the LLWU_PE3_WUPE9 field. */ 00508 #define BR_LLWU_PE3_WUPE9(x) (UNION_READ(hw_llwu_pe3_t, HW_LLWU_PE3_ADDR(x), U, B.WUPE9)) 00509 00510 /*! @brief Format value for bitfield LLWU_PE3_WUPE9. */ 00511 #define BF_LLWU_PE3_WUPE9(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE3_WUPE9) & BM_LLWU_PE3_WUPE9) 00512 00513 /*! @brief Set the WUPE9 field to a new value. */ 00514 #define BW_LLWU_PE3_WUPE9(x, v) (HW_LLWU_PE3_WR(x, (HW_LLWU_PE3_RD(x) & ~BM_LLWU_PE3_WUPE9) | BF_LLWU_PE3_WUPE9(v))) 00515 /*@}*/ 00516 00517 /*! 00518 * @name Register LLWU_PE3, field WUPE10[5:4] (RW) 00519 * 00520 * Enables and configures the edge detection for the wakeup pin. 00521 * 00522 * Values: 00523 * - 00 - External input pin disabled as wakeup input 00524 * - 01 - External input pin enabled with rising edge detection 00525 * - 10 - External input pin enabled with falling edge detection 00526 * - 11 - External input pin enabled with any change detection 00527 */ 00528 /*@{*/ 00529 #define BP_LLWU_PE3_WUPE10 (4U) /*!< Bit position for LLWU_PE3_WUPE10. */ 00530 #define BM_LLWU_PE3_WUPE10 (0x30U) /*!< Bit mask for LLWU_PE3_WUPE10. */ 00531 #define BS_LLWU_PE3_WUPE10 (2U) /*!< Bit field size in bits for LLWU_PE3_WUPE10. */ 00532 00533 /*! @brief Read current value of the LLWU_PE3_WUPE10 field. */ 00534 #define BR_LLWU_PE3_WUPE10(x) (UNION_READ(hw_llwu_pe3_t, HW_LLWU_PE3_ADDR(x), U, B.WUPE10)) 00535 00536 /*! @brief Format value for bitfield LLWU_PE3_WUPE10. */ 00537 #define BF_LLWU_PE3_WUPE10(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE3_WUPE10) & BM_LLWU_PE3_WUPE10) 00538 00539 /*! @brief Set the WUPE10 field to a new value. */ 00540 #define BW_LLWU_PE3_WUPE10(x, v) (HW_LLWU_PE3_WR(x, (HW_LLWU_PE3_RD(x) & ~BM_LLWU_PE3_WUPE10) | BF_LLWU_PE3_WUPE10(v))) 00541 /*@}*/ 00542 00543 /*! 00544 * @name Register LLWU_PE3, field WUPE11[7:6] (RW) 00545 * 00546 * Enables and configures the edge detection for the wakeup pin. 00547 * 00548 * Values: 00549 * - 00 - External input pin disabled as wakeup input 00550 * - 01 - External input pin enabled with rising edge detection 00551 * - 10 - External input pin enabled with falling edge detection 00552 * - 11 - External input pin enabled with any change detection 00553 */ 00554 /*@{*/ 00555 #define BP_LLWU_PE3_WUPE11 (6U) /*!< Bit position for LLWU_PE3_WUPE11. */ 00556 #define BM_LLWU_PE3_WUPE11 (0xC0U) /*!< Bit mask for LLWU_PE3_WUPE11. */ 00557 #define BS_LLWU_PE3_WUPE11 (2U) /*!< Bit field size in bits for LLWU_PE3_WUPE11. */ 00558 00559 /*! @brief Read current value of the LLWU_PE3_WUPE11 field. */ 00560 #define BR_LLWU_PE3_WUPE11(x) (UNION_READ(hw_llwu_pe3_t, HW_LLWU_PE3_ADDR(x), U, B.WUPE11)) 00561 00562 /*! @brief Format value for bitfield LLWU_PE3_WUPE11. */ 00563 #define BF_LLWU_PE3_WUPE11(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE3_WUPE11) & BM_LLWU_PE3_WUPE11) 00564 00565 /*! @brief Set the WUPE11 field to a new value. */ 00566 #define BW_LLWU_PE3_WUPE11(x, v) (HW_LLWU_PE3_WR(x, (HW_LLWU_PE3_RD(x) & ~BM_LLWU_PE3_WUPE11) | BF_LLWU_PE3_WUPE11(v))) 00567 /*@}*/ 00568 00569 /******************************************************************************* 00570 * HW_LLWU_PE4 - LLWU Pin Enable 4 register 00571 ******************************************************************************/ 00572 00573 /*! 00574 * @brief HW_LLWU_PE4 - LLWU Pin Enable 4 register (RW) 00575 * 00576 * Reset value: 0x00U 00577 * 00578 * LLWU_PE4 contains the field to enable and select the edge detect type for the 00579 * external wakeup input pins LLWU_P15-LLWU_P12. This register is reset on Chip 00580 * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 00581 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 00582 * IntroductionInformation found here describes the registers of the Reset Control 00583 * Module (RCM). The RCM implements many of the reset functions for the chip. See the 00584 * chip's reset chapter for more information. details for more information. 00585 */ 00586 typedef union _hw_llwu_pe4 00587 { 00588 uint8_t U; 00589 struct _hw_llwu_pe4_bitfields 00590 { 00591 uint8_t WUPE12 : 2; /*!< [1:0] Wakeup Pin Enable For LLWU_P12 */ 00592 uint8_t WUPE13 : 2; /*!< [3:2] Wakeup Pin Enable For LLWU_P13 */ 00593 uint8_t WUPE14 : 2; /*!< [5:4] Wakeup Pin Enable For LLWU_P14 */ 00594 uint8_t WUPE15 : 2; /*!< [7:6] Wakeup Pin Enable For LLWU_P15 */ 00595 } B; 00596 } hw_llwu_pe4_t; 00597 00598 /*! 00599 * @name Constants and macros for entire LLWU_PE4 register 00600 */ 00601 /*@{*/ 00602 #define HW_LLWU_PE4_ADDR(x) ((x) + 0x3U) 00603 00604 #define HW_LLWU_PE4(x) (*(__IO hw_llwu_pe4_t *) HW_LLWU_PE4_ADDR(x)) 00605 #define HW_LLWU_PE4_RD(x) (ADDRESS_READ(hw_llwu_pe4_t, HW_LLWU_PE4_ADDR(x))) 00606 #define HW_LLWU_PE4_WR(x, v) (ADDRESS_WRITE(hw_llwu_pe4_t, HW_LLWU_PE4_ADDR(x), v)) 00607 #define HW_LLWU_PE4_SET(x, v) (HW_LLWU_PE4_WR(x, HW_LLWU_PE4_RD(x) | (v))) 00608 #define HW_LLWU_PE4_CLR(x, v) (HW_LLWU_PE4_WR(x, HW_LLWU_PE4_RD(x) & ~(v))) 00609 #define HW_LLWU_PE4_TOG(x, v) (HW_LLWU_PE4_WR(x, HW_LLWU_PE4_RD(x) ^ (v))) 00610 /*@}*/ 00611 00612 /* 00613 * Constants & macros for individual LLWU_PE4 bitfields 00614 */ 00615 00616 /*! 00617 * @name Register LLWU_PE4, field WUPE12[1:0] (RW) 00618 * 00619 * Enables and configures the edge detection for the wakeup pin. 00620 * 00621 * Values: 00622 * - 00 - External input pin disabled as wakeup input 00623 * - 01 - External input pin enabled with rising edge detection 00624 * - 10 - External input pin enabled with falling edge detection 00625 * - 11 - External input pin enabled with any change detection 00626 */ 00627 /*@{*/ 00628 #define BP_LLWU_PE4_WUPE12 (0U) /*!< Bit position for LLWU_PE4_WUPE12. */ 00629 #define BM_LLWU_PE4_WUPE12 (0x03U) /*!< Bit mask for LLWU_PE4_WUPE12. */ 00630 #define BS_LLWU_PE4_WUPE12 (2U) /*!< Bit field size in bits for LLWU_PE4_WUPE12. */ 00631 00632 /*! @brief Read current value of the LLWU_PE4_WUPE12 field. */ 00633 #define BR_LLWU_PE4_WUPE12(x) (UNION_READ(hw_llwu_pe4_t, HW_LLWU_PE4_ADDR(x), U, B.WUPE12)) 00634 00635 /*! @brief Format value for bitfield LLWU_PE4_WUPE12. */ 00636 #define BF_LLWU_PE4_WUPE12(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE4_WUPE12) & BM_LLWU_PE4_WUPE12) 00637 00638 /*! @brief Set the WUPE12 field to a new value. */ 00639 #define BW_LLWU_PE4_WUPE12(x, v) (HW_LLWU_PE4_WR(x, (HW_LLWU_PE4_RD(x) & ~BM_LLWU_PE4_WUPE12) | BF_LLWU_PE4_WUPE12(v))) 00640 /*@}*/ 00641 00642 /*! 00643 * @name Register LLWU_PE4, field WUPE13[3:2] (RW) 00644 * 00645 * Enables and configures the edge detection for the wakeup pin. 00646 * 00647 * Values: 00648 * - 00 - External input pin disabled as wakeup input 00649 * - 01 - External input pin enabled with rising edge detection 00650 * - 10 - External input pin enabled with falling edge detection 00651 * - 11 - External input pin enabled with any change detection 00652 */ 00653 /*@{*/ 00654 #define BP_LLWU_PE4_WUPE13 (2U) /*!< Bit position for LLWU_PE4_WUPE13. */ 00655 #define BM_LLWU_PE4_WUPE13 (0x0CU) /*!< Bit mask for LLWU_PE4_WUPE13. */ 00656 #define BS_LLWU_PE4_WUPE13 (2U) /*!< Bit field size in bits for LLWU_PE4_WUPE13. */ 00657 00658 /*! @brief Read current value of the LLWU_PE4_WUPE13 field. */ 00659 #define BR_LLWU_PE4_WUPE13(x) (UNION_READ(hw_llwu_pe4_t, HW_LLWU_PE4_ADDR(x), U, B.WUPE13)) 00660 00661 /*! @brief Format value for bitfield LLWU_PE4_WUPE13. */ 00662 #define BF_LLWU_PE4_WUPE13(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE4_WUPE13) & BM_LLWU_PE4_WUPE13) 00663 00664 /*! @brief Set the WUPE13 field to a new value. */ 00665 #define BW_LLWU_PE4_WUPE13(x, v) (HW_LLWU_PE4_WR(x, (HW_LLWU_PE4_RD(x) & ~BM_LLWU_PE4_WUPE13) | BF_LLWU_PE4_WUPE13(v))) 00666 /*@}*/ 00667 00668 /*! 00669 * @name Register LLWU_PE4, field WUPE14[5:4] (RW) 00670 * 00671 * Enables and configures the edge detection for the wakeup pin. 00672 * 00673 * Values: 00674 * - 00 - External input pin disabled as wakeup input 00675 * - 01 - External input pin enabled with rising edge detection 00676 * - 10 - External input pin enabled with falling edge detection 00677 * - 11 - External input pin enabled with any change detection 00678 */ 00679 /*@{*/ 00680 #define BP_LLWU_PE4_WUPE14 (4U) /*!< Bit position for LLWU_PE4_WUPE14. */ 00681 #define BM_LLWU_PE4_WUPE14 (0x30U) /*!< Bit mask for LLWU_PE4_WUPE14. */ 00682 #define BS_LLWU_PE4_WUPE14 (2U) /*!< Bit field size in bits for LLWU_PE4_WUPE14. */ 00683 00684 /*! @brief Read current value of the LLWU_PE4_WUPE14 field. */ 00685 #define BR_LLWU_PE4_WUPE14(x) (UNION_READ(hw_llwu_pe4_t, HW_LLWU_PE4_ADDR(x), U, B.WUPE14)) 00686 00687 /*! @brief Format value for bitfield LLWU_PE4_WUPE14. */ 00688 #define BF_LLWU_PE4_WUPE14(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE4_WUPE14) & BM_LLWU_PE4_WUPE14) 00689 00690 /*! @brief Set the WUPE14 field to a new value. */ 00691 #define BW_LLWU_PE4_WUPE14(x, v) (HW_LLWU_PE4_WR(x, (HW_LLWU_PE4_RD(x) & ~BM_LLWU_PE4_WUPE14) | BF_LLWU_PE4_WUPE14(v))) 00692 /*@}*/ 00693 00694 /*! 00695 * @name Register LLWU_PE4, field WUPE15[7:6] (RW) 00696 * 00697 * Enables and configures the edge detection for the wakeup pin. 00698 * 00699 * Values: 00700 * - 00 - External input pin disabled as wakeup input 00701 * - 01 - External input pin enabled with rising edge detection 00702 * - 10 - External input pin enabled with falling edge detection 00703 * - 11 - External input pin enabled with any change detection 00704 */ 00705 /*@{*/ 00706 #define BP_LLWU_PE4_WUPE15 (6U) /*!< Bit position for LLWU_PE4_WUPE15. */ 00707 #define BM_LLWU_PE4_WUPE15 (0xC0U) /*!< Bit mask for LLWU_PE4_WUPE15. */ 00708 #define BS_LLWU_PE4_WUPE15 (2U) /*!< Bit field size in bits for LLWU_PE4_WUPE15. */ 00709 00710 /*! @brief Read current value of the LLWU_PE4_WUPE15 field. */ 00711 #define BR_LLWU_PE4_WUPE15(x) (UNION_READ(hw_llwu_pe4_t, HW_LLWU_PE4_ADDR(x), U, B.WUPE15)) 00712 00713 /*! @brief Format value for bitfield LLWU_PE4_WUPE15. */ 00714 #define BF_LLWU_PE4_WUPE15(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_PE4_WUPE15) & BM_LLWU_PE4_WUPE15) 00715 00716 /*! @brief Set the WUPE15 field to a new value. */ 00717 #define BW_LLWU_PE4_WUPE15(x, v) (HW_LLWU_PE4_WR(x, (HW_LLWU_PE4_RD(x) & ~BM_LLWU_PE4_WUPE15) | BF_LLWU_PE4_WUPE15(v))) 00718 /*@}*/ 00719 00720 /******************************************************************************* 00721 * HW_LLWU_ME - LLWU Module Enable register 00722 ******************************************************************************/ 00723 00724 /*! 00725 * @brief HW_LLWU_ME - LLWU Module Enable register (RW) 00726 * 00727 * Reset value: 0x00U 00728 * 00729 * LLWU_ME contains the bits to enable the internal module flag as a wakeup 00730 * input source for inputs MWUF7-MWUF0. This register is reset on Chip Reset not VLLS 00731 * and by reset types that trigger Chip Reset not VLLS. It is unaffected by 00732 * reset types that do not trigger Chip Reset not VLLS. See the 00733 * IntroductionInformation found here describes the registers of the Reset Control Module (RCM). The 00734 * RCM implements many of the reset functions for the chip. See the chip's reset 00735 * chapter for more information. details for more information. 00736 */ 00737 typedef union _hw_llwu_me 00738 { 00739 uint8_t U; 00740 struct _hw_llwu_me_bitfields 00741 { 00742 uint8_t WUME0 : 1; /*!< [0] Wakeup Module Enable For Module 0 */ 00743 uint8_t WUME1 : 1; /*!< [1] Wakeup Module Enable for Module 1 */ 00744 uint8_t WUME2 : 1; /*!< [2] Wakeup Module Enable For Module 2 */ 00745 uint8_t WUME3 : 1; /*!< [3] Wakeup Module Enable For Module 3 */ 00746 uint8_t WUME4 : 1; /*!< [4] Wakeup Module Enable For Module 4 */ 00747 uint8_t WUME5 : 1; /*!< [5] Wakeup Module Enable For Module 5 */ 00748 uint8_t WUME6 : 1; /*!< [6] Wakeup Module Enable For Module 6 */ 00749 uint8_t WUME7 : 1; /*!< [7] Wakeup Module Enable For Module 7 */ 00750 } B; 00751 } hw_llwu_me_t; 00752 00753 /*! 00754 * @name Constants and macros for entire LLWU_ME register 00755 */ 00756 /*@{*/ 00757 #define HW_LLWU_ME_ADDR(x) ((x) + 0x4U) 00758 00759 #define HW_LLWU_ME(x) (*(__IO hw_llwu_me_t *) HW_LLWU_ME_ADDR(x)) 00760 #define HW_LLWU_ME_RD(x) (ADDRESS_READ(hw_llwu_me_t, HW_LLWU_ME_ADDR(x))) 00761 #define HW_LLWU_ME_WR(x, v) (ADDRESS_WRITE(hw_llwu_me_t, HW_LLWU_ME_ADDR(x), v)) 00762 #define HW_LLWU_ME_SET(x, v) (HW_LLWU_ME_WR(x, HW_LLWU_ME_RD(x) | (v))) 00763 #define HW_LLWU_ME_CLR(x, v) (HW_LLWU_ME_WR(x, HW_LLWU_ME_RD(x) & ~(v))) 00764 #define HW_LLWU_ME_TOG(x, v) (HW_LLWU_ME_WR(x, HW_LLWU_ME_RD(x) ^ (v))) 00765 /*@}*/ 00766 00767 /* 00768 * Constants & macros for individual LLWU_ME bitfields 00769 */ 00770 00771 /*! 00772 * @name Register LLWU_ME, field WUME0[0] (RW) 00773 * 00774 * Enables an internal module as a wakeup source input. 00775 * 00776 * Values: 00777 * - 0 - Internal module flag not used as wakeup source 00778 * - 1 - Internal module flag used as wakeup source 00779 */ 00780 /*@{*/ 00781 #define BP_LLWU_ME_WUME0 (0U) /*!< Bit position for LLWU_ME_WUME0. */ 00782 #define BM_LLWU_ME_WUME0 (0x01U) /*!< Bit mask for LLWU_ME_WUME0. */ 00783 #define BS_LLWU_ME_WUME0 (1U) /*!< Bit field size in bits for LLWU_ME_WUME0. */ 00784 00785 /*! @brief Read current value of the LLWU_ME_WUME0 field. */ 00786 #define BR_LLWU_ME_WUME0(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME0))) 00787 00788 /*! @brief Format value for bitfield LLWU_ME_WUME0. */ 00789 #define BF_LLWU_ME_WUME0(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_ME_WUME0) & BM_LLWU_ME_WUME0) 00790 00791 /*! @brief Set the WUME0 field to a new value. */ 00792 #define BW_LLWU_ME_WUME0(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME0), v)) 00793 /*@}*/ 00794 00795 /*! 00796 * @name Register LLWU_ME, field WUME1[1] (RW) 00797 * 00798 * Enables an internal module as a wakeup source input. 00799 * 00800 * Values: 00801 * - 0 - Internal module flag not used as wakeup source 00802 * - 1 - Internal module flag used as wakeup source 00803 */ 00804 /*@{*/ 00805 #define BP_LLWU_ME_WUME1 (1U) /*!< Bit position for LLWU_ME_WUME1. */ 00806 #define BM_LLWU_ME_WUME1 (0x02U) /*!< Bit mask for LLWU_ME_WUME1. */ 00807 #define BS_LLWU_ME_WUME1 (1U) /*!< Bit field size in bits for LLWU_ME_WUME1. */ 00808 00809 /*! @brief Read current value of the LLWU_ME_WUME1 field. */ 00810 #define BR_LLWU_ME_WUME1(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME1))) 00811 00812 /*! @brief Format value for bitfield LLWU_ME_WUME1. */ 00813 #define BF_LLWU_ME_WUME1(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_ME_WUME1) & BM_LLWU_ME_WUME1) 00814 00815 /*! @brief Set the WUME1 field to a new value. */ 00816 #define BW_LLWU_ME_WUME1(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME1), v)) 00817 /*@}*/ 00818 00819 /*! 00820 * @name Register LLWU_ME, field WUME2[2] (RW) 00821 * 00822 * Enables an internal module as a wakeup source input. 00823 * 00824 * Values: 00825 * - 0 - Internal module flag not used as wakeup source 00826 * - 1 - Internal module flag used as wakeup source 00827 */ 00828 /*@{*/ 00829 #define BP_LLWU_ME_WUME2 (2U) /*!< Bit position for LLWU_ME_WUME2. */ 00830 #define BM_LLWU_ME_WUME2 (0x04U) /*!< Bit mask for LLWU_ME_WUME2. */ 00831 #define BS_LLWU_ME_WUME2 (1U) /*!< Bit field size in bits for LLWU_ME_WUME2. */ 00832 00833 /*! @brief Read current value of the LLWU_ME_WUME2 field. */ 00834 #define BR_LLWU_ME_WUME2(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME2))) 00835 00836 /*! @brief Format value for bitfield LLWU_ME_WUME2. */ 00837 #define BF_LLWU_ME_WUME2(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_ME_WUME2) & BM_LLWU_ME_WUME2) 00838 00839 /*! @brief Set the WUME2 field to a new value. */ 00840 #define BW_LLWU_ME_WUME2(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME2), v)) 00841 /*@}*/ 00842 00843 /*! 00844 * @name Register LLWU_ME, field WUME3[3] (RW) 00845 * 00846 * Enables an internal module as a wakeup source input. 00847 * 00848 * Values: 00849 * - 0 - Internal module flag not used as wakeup source 00850 * - 1 - Internal module flag used as wakeup source 00851 */ 00852 /*@{*/ 00853 #define BP_LLWU_ME_WUME3 (3U) /*!< Bit position for LLWU_ME_WUME3. */ 00854 #define BM_LLWU_ME_WUME3 (0x08U) /*!< Bit mask for LLWU_ME_WUME3. */ 00855 #define BS_LLWU_ME_WUME3 (1U) /*!< Bit field size in bits for LLWU_ME_WUME3. */ 00856 00857 /*! @brief Read current value of the LLWU_ME_WUME3 field. */ 00858 #define BR_LLWU_ME_WUME3(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME3))) 00859 00860 /*! @brief Format value for bitfield LLWU_ME_WUME3. */ 00861 #define BF_LLWU_ME_WUME3(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_ME_WUME3) & BM_LLWU_ME_WUME3) 00862 00863 /*! @brief Set the WUME3 field to a new value. */ 00864 #define BW_LLWU_ME_WUME3(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME3), v)) 00865 /*@}*/ 00866 00867 /*! 00868 * @name Register LLWU_ME, field WUME4[4] (RW) 00869 * 00870 * Enables an internal module as a wakeup source input. 00871 * 00872 * Values: 00873 * - 0 - Internal module flag not used as wakeup source 00874 * - 1 - Internal module flag used as wakeup source 00875 */ 00876 /*@{*/ 00877 #define BP_LLWU_ME_WUME4 (4U) /*!< Bit position for LLWU_ME_WUME4. */ 00878 #define BM_LLWU_ME_WUME4 (0x10U) /*!< Bit mask for LLWU_ME_WUME4. */ 00879 #define BS_LLWU_ME_WUME4 (1U) /*!< Bit field size in bits for LLWU_ME_WUME4. */ 00880 00881 /*! @brief Read current value of the LLWU_ME_WUME4 field. */ 00882 #define BR_LLWU_ME_WUME4(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME4))) 00883 00884 /*! @brief Format value for bitfield LLWU_ME_WUME4. */ 00885 #define BF_LLWU_ME_WUME4(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_ME_WUME4) & BM_LLWU_ME_WUME4) 00886 00887 /*! @brief Set the WUME4 field to a new value. */ 00888 #define BW_LLWU_ME_WUME4(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME4), v)) 00889 /*@}*/ 00890 00891 /*! 00892 * @name Register LLWU_ME, field WUME5[5] (RW) 00893 * 00894 * Enables an internal module as a wakeup source input. 00895 * 00896 * Values: 00897 * - 0 - Internal module flag not used as wakeup source 00898 * - 1 - Internal module flag used as wakeup source 00899 */ 00900 /*@{*/ 00901 #define BP_LLWU_ME_WUME5 (5U) /*!< Bit position for LLWU_ME_WUME5. */ 00902 #define BM_LLWU_ME_WUME5 (0x20U) /*!< Bit mask for LLWU_ME_WUME5. */ 00903 #define BS_LLWU_ME_WUME5 (1U) /*!< Bit field size in bits for LLWU_ME_WUME5. */ 00904 00905 /*! @brief Read current value of the LLWU_ME_WUME5 field. */ 00906 #define BR_LLWU_ME_WUME5(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME5))) 00907 00908 /*! @brief Format value for bitfield LLWU_ME_WUME5. */ 00909 #define BF_LLWU_ME_WUME5(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_ME_WUME5) & BM_LLWU_ME_WUME5) 00910 00911 /*! @brief Set the WUME5 field to a new value. */ 00912 #define BW_LLWU_ME_WUME5(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME5), v)) 00913 /*@}*/ 00914 00915 /*! 00916 * @name Register LLWU_ME, field WUME6[6] (RW) 00917 * 00918 * Enables an internal module as a wakeup source input. 00919 * 00920 * Values: 00921 * - 0 - Internal module flag not used as wakeup source 00922 * - 1 - Internal module flag used as wakeup source 00923 */ 00924 /*@{*/ 00925 #define BP_LLWU_ME_WUME6 (6U) /*!< Bit position for LLWU_ME_WUME6. */ 00926 #define BM_LLWU_ME_WUME6 (0x40U) /*!< Bit mask for LLWU_ME_WUME6. */ 00927 #define BS_LLWU_ME_WUME6 (1U) /*!< Bit field size in bits for LLWU_ME_WUME6. */ 00928 00929 /*! @brief Read current value of the LLWU_ME_WUME6 field. */ 00930 #define BR_LLWU_ME_WUME6(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME6))) 00931 00932 /*! @brief Format value for bitfield LLWU_ME_WUME6. */ 00933 #define BF_LLWU_ME_WUME6(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_ME_WUME6) & BM_LLWU_ME_WUME6) 00934 00935 /*! @brief Set the WUME6 field to a new value. */ 00936 #define BW_LLWU_ME_WUME6(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME6), v)) 00937 /*@}*/ 00938 00939 /*! 00940 * @name Register LLWU_ME, field WUME7[7] (RW) 00941 * 00942 * Enables an internal module as a wakeup source input. 00943 * 00944 * Values: 00945 * - 0 - Internal module flag not used as wakeup source 00946 * - 1 - Internal module flag used as wakeup source 00947 */ 00948 /*@{*/ 00949 #define BP_LLWU_ME_WUME7 (7U) /*!< Bit position for LLWU_ME_WUME7. */ 00950 #define BM_LLWU_ME_WUME7 (0x80U) /*!< Bit mask for LLWU_ME_WUME7. */ 00951 #define BS_LLWU_ME_WUME7 (1U) /*!< Bit field size in bits for LLWU_ME_WUME7. */ 00952 00953 /*! @brief Read current value of the LLWU_ME_WUME7 field. */ 00954 #define BR_LLWU_ME_WUME7(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME7))) 00955 00956 /*! @brief Format value for bitfield LLWU_ME_WUME7. */ 00957 #define BF_LLWU_ME_WUME7(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_ME_WUME7) & BM_LLWU_ME_WUME7) 00958 00959 /*! @brief Set the WUME7 field to a new value. */ 00960 #define BW_LLWU_ME_WUME7(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_ME_ADDR(x), BP_LLWU_ME_WUME7), v)) 00961 /*@}*/ 00962 00963 /******************************************************************************* 00964 * HW_LLWU_F1 - LLWU Flag 1 register 00965 ******************************************************************************/ 00966 00967 /*! 00968 * @brief HW_LLWU_F1 - LLWU Flag 1 register (W1C) 00969 * 00970 * Reset value: 0x00U 00971 * 00972 * LLWU_F1 contains the wakeup flags indicating which wakeup source caused the 00973 * MCU to exit LLS or VLLS mode. For LLS, this is the source causing the CPU 00974 * interrupt flow. For VLLS, this is the source causing the MCU reset flow. The 00975 * external wakeup flags are read-only and clearing a flag is accomplished by a write 00976 * of a 1 to the corresponding WUFx bit. The wakeup flag (WUFx), if set, will 00977 * remain set if the associated WUPEx bit is cleared. This register is reset on Chip 00978 * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 00979 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 00980 * IntroductionInformation found here describes the registers of the Reset Control 00981 * Module (RCM). The RCM implements many of the reset functions for the chip. See the 00982 * chip's reset chapter for more information. details for more information. 00983 */ 00984 typedef union _hw_llwu_f1 00985 { 00986 uint8_t U; 00987 struct _hw_llwu_f1_bitfields 00988 { 00989 uint8_t WUF0 : 1; /*!< [0] Wakeup Flag For LLWU_P0 */ 00990 uint8_t WUF1 : 1; /*!< [1] Wakeup Flag For LLWU_P1 */ 00991 uint8_t WUF2 : 1; /*!< [2] Wakeup Flag For LLWU_P2 */ 00992 uint8_t WUF3 : 1; /*!< [3] Wakeup Flag For LLWU_P3 */ 00993 uint8_t WUF4 : 1; /*!< [4] Wakeup Flag For LLWU_P4 */ 00994 uint8_t WUF5 : 1; /*!< [5] Wakeup Flag For LLWU_P5 */ 00995 uint8_t WUF6 : 1; /*!< [6] Wakeup Flag For LLWU_P6 */ 00996 uint8_t WUF7 : 1; /*!< [7] Wakeup Flag For LLWU_P7 */ 00997 } B; 00998 } hw_llwu_f1_t; 00999 01000 /*! 01001 * @name Constants and macros for entire LLWU_F1 register 01002 */ 01003 /*@{*/ 01004 #define HW_LLWU_F1_ADDR(x) ((x) + 0x5U) 01005 01006 #define HW_LLWU_F1(x) (*(__IO hw_llwu_f1_t *) HW_LLWU_F1_ADDR(x)) 01007 #define HW_LLWU_F1_RD(x) (ADDRESS_READ(hw_llwu_f1_t, HW_LLWU_F1_ADDR(x))) 01008 #define HW_LLWU_F1_WR(x, v) (ADDRESS_WRITE(hw_llwu_f1_t, HW_LLWU_F1_ADDR(x), v)) 01009 #define HW_LLWU_F1_SET(x, v) (HW_LLWU_F1_WR(x, HW_LLWU_F1_RD(x) | (v))) 01010 #define HW_LLWU_F1_CLR(x, v) (HW_LLWU_F1_WR(x, HW_LLWU_F1_RD(x) & ~(v))) 01011 #define HW_LLWU_F1_TOG(x, v) (HW_LLWU_F1_WR(x, HW_LLWU_F1_RD(x) ^ (v))) 01012 /*@}*/ 01013 01014 /* 01015 * Constants & macros for individual LLWU_F1 bitfields 01016 */ 01017 01018 /*! 01019 * @name Register LLWU_F1, field WUF0[0] (W1C) 01020 * 01021 * Indicates that an enabled external wake-up pin was a source of exiting a 01022 * low-leakage power mode. To clear the flag, write a 1 to WUF0. 01023 * 01024 * Values: 01025 * - 0 - LLWU_P0 input was not a wakeup source 01026 * - 1 - LLWU_P0 input was a wakeup source 01027 */ 01028 /*@{*/ 01029 #define BP_LLWU_F1_WUF0 (0U) /*!< Bit position for LLWU_F1_WUF0. */ 01030 #define BM_LLWU_F1_WUF0 (0x01U) /*!< Bit mask for LLWU_F1_WUF0. */ 01031 #define BS_LLWU_F1_WUF0 (1U) /*!< Bit field size in bits for LLWU_F1_WUF0. */ 01032 01033 /*! @brief Read current value of the LLWU_F1_WUF0 field. */ 01034 #define BR_LLWU_F1_WUF0(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF0))) 01035 01036 /*! @brief Format value for bitfield LLWU_F1_WUF0. */ 01037 #define BF_LLWU_F1_WUF0(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F1_WUF0) & BM_LLWU_F1_WUF0) 01038 01039 /*! @brief Set the WUF0 field to a new value. */ 01040 #define BW_LLWU_F1_WUF0(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF0), v)) 01041 /*@}*/ 01042 01043 /*! 01044 * @name Register LLWU_F1, field WUF1[1] (W1C) 01045 * 01046 * Indicates that an enabled external wakeup pin was a source of exiting a 01047 * low-leakage power mode. To clear the flag, write a 1 to WUF1. 01048 * 01049 * Values: 01050 * - 0 - LLWU_P1 input was not a wakeup source 01051 * - 1 - LLWU_P1 input was a wakeup source 01052 */ 01053 /*@{*/ 01054 #define BP_LLWU_F1_WUF1 (1U) /*!< Bit position for LLWU_F1_WUF1. */ 01055 #define BM_LLWU_F1_WUF1 (0x02U) /*!< Bit mask for LLWU_F1_WUF1. */ 01056 #define BS_LLWU_F1_WUF1 (1U) /*!< Bit field size in bits for LLWU_F1_WUF1. */ 01057 01058 /*! @brief Read current value of the LLWU_F1_WUF1 field. */ 01059 #define BR_LLWU_F1_WUF1(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF1))) 01060 01061 /*! @brief Format value for bitfield LLWU_F1_WUF1. */ 01062 #define BF_LLWU_F1_WUF1(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F1_WUF1) & BM_LLWU_F1_WUF1) 01063 01064 /*! @brief Set the WUF1 field to a new value. */ 01065 #define BW_LLWU_F1_WUF1(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF1), v)) 01066 /*@}*/ 01067 01068 /*! 01069 * @name Register LLWU_F1, field WUF2[2] (W1C) 01070 * 01071 * Indicates that an enabled external wakeup pin was a source of exiting a 01072 * low-leakage power mode. To clear the flag, write a 1 to WUF2. 01073 * 01074 * Values: 01075 * - 0 - LLWU_P2 input was not a wakeup source 01076 * - 1 - LLWU_P2 input was a wakeup source 01077 */ 01078 /*@{*/ 01079 #define BP_LLWU_F1_WUF2 (2U) /*!< Bit position for LLWU_F1_WUF2. */ 01080 #define BM_LLWU_F1_WUF2 (0x04U) /*!< Bit mask for LLWU_F1_WUF2. */ 01081 #define BS_LLWU_F1_WUF2 (1U) /*!< Bit field size in bits for LLWU_F1_WUF2. */ 01082 01083 /*! @brief Read current value of the LLWU_F1_WUF2 field. */ 01084 #define BR_LLWU_F1_WUF2(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF2))) 01085 01086 /*! @brief Format value for bitfield LLWU_F1_WUF2. */ 01087 #define BF_LLWU_F1_WUF2(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F1_WUF2) & BM_LLWU_F1_WUF2) 01088 01089 /*! @brief Set the WUF2 field to a new value. */ 01090 #define BW_LLWU_F1_WUF2(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF2), v)) 01091 /*@}*/ 01092 01093 /*! 01094 * @name Register LLWU_F1, field WUF3[3] (W1C) 01095 * 01096 * Indicates that an enabled external wakeup pin was a source of exiting a 01097 * low-leakage power mode. To clear the flag, write a 1 to WUF3. 01098 * 01099 * Values: 01100 * - 0 - LLWU_P3 input was not a wake-up source 01101 * - 1 - LLWU_P3 input was a wake-up source 01102 */ 01103 /*@{*/ 01104 #define BP_LLWU_F1_WUF3 (3U) /*!< Bit position for LLWU_F1_WUF3. */ 01105 #define BM_LLWU_F1_WUF3 (0x08U) /*!< Bit mask for LLWU_F1_WUF3. */ 01106 #define BS_LLWU_F1_WUF3 (1U) /*!< Bit field size in bits for LLWU_F1_WUF3. */ 01107 01108 /*! @brief Read current value of the LLWU_F1_WUF3 field. */ 01109 #define BR_LLWU_F1_WUF3(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF3))) 01110 01111 /*! @brief Format value for bitfield LLWU_F1_WUF3. */ 01112 #define BF_LLWU_F1_WUF3(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F1_WUF3) & BM_LLWU_F1_WUF3) 01113 01114 /*! @brief Set the WUF3 field to a new value. */ 01115 #define BW_LLWU_F1_WUF3(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF3), v)) 01116 /*@}*/ 01117 01118 /*! 01119 * @name Register LLWU_F1, field WUF4[4] (W1C) 01120 * 01121 * Indicates that an enabled external wake-up pin was a source of exiting a 01122 * low-leakage power mode. To clear the flag, write a 1 to WUF4. 01123 * 01124 * Values: 01125 * - 0 - LLWU_P4 input was not a wakeup source 01126 * - 1 - LLWU_P4 input was a wakeup source 01127 */ 01128 /*@{*/ 01129 #define BP_LLWU_F1_WUF4 (4U) /*!< Bit position for LLWU_F1_WUF4. */ 01130 #define BM_LLWU_F1_WUF4 (0x10U) /*!< Bit mask for LLWU_F1_WUF4. */ 01131 #define BS_LLWU_F1_WUF4 (1U) /*!< Bit field size in bits for LLWU_F1_WUF4. */ 01132 01133 /*! @brief Read current value of the LLWU_F1_WUF4 field. */ 01134 #define BR_LLWU_F1_WUF4(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF4))) 01135 01136 /*! @brief Format value for bitfield LLWU_F1_WUF4. */ 01137 #define BF_LLWU_F1_WUF4(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F1_WUF4) & BM_LLWU_F1_WUF4) 01138 01139 /*! @brief Set the WUF4 field to a new value. */ 01140 #define BW_LLWU_F1_WUF4(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF4), v)) 01141 /*@}*/ 01142 01143 /*! 01144 * @name Register LLWU_F1, field WUF5[5] (W1C) 01145 * 01146 * Indicates that an enabled external wakeup pin was a source of exiting a 01147 * low-leakage power mode. To clear the flag, write a 1 to WUF5. 01148 * 01149 * Values: 01150 * - 0 - LLWU_P5 input was not a wakeup source 01151 * - 1 - LLWU_P5 input was a wakeup source 01152 */ 01153 /*@{*/ 01154 #define BP_LLWU_F1_WUF5 (5U) /*!< Bit position for LLWU_F1_WUF5. */ 01155 #define BM_LLWU_F1_WUF5 (0x20U) /*!< Bit mask for LLWU_F1_WUF5. */ 01156 #define BS_LLWU_F1_WUF5 (1U) /*!< Bit field size in bits for LLWU_F1_WUF5. */ 01157 01158 /*! @brief Read current value of the LLWU_F1_WUF5 field. */ 01159 #define BR_LLWU_F1_WUF5(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF5))) 01160 01161 /*! @brief Format value for bitfield LLWU_F1_WUF5. */ 01162 #define BF_LLWU_F1_WUF5(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F1_WUF5) & BM_LLWU_F1_WUF5) 01163 01164 /*! @brief Set the WUF5 field to a new value. */ 01165 #define BW_LLWU_F1_WUF5(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF5), v)) 01166 /*@}*/ 01167 01168 /*! 01169 * @name Register LLWU_F1, field WUF6[6] (W1C) 01170 * 01171 * Indicates that an enabled external wakeup pin was a source of exiting a 01172 * low-leakage power mode. To clear the flag, write a 1 to WUF6. 01173 * 01174 * Values: 01175 * - 0 - LLWU_P6 input was not a wakeup source 01176 * - 1 - LLWU_P6 input was a wakeup source 01177 */ 01178 /*@{*/ 01179 #define BP_LLWU_F1_WUF6 (6U) /*!< Bit position for LLWU_F1_WUF6. */ 01180 #define BM_LLWU_F1_WUF6 (0x40U) /*!< Bit mask for LLWU_F1_WUF6. */ 01181 #define BS_LLWU_F1_WUF6 (1U) /*!< Bit field size in bits for LLWU_F1_WUF6. */ 01182 01183 /*! @brief Read current value of the LLWU_F1_WUF6 field. */ 01184 #define BR_LLWU_F1_WUF6(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF6))) 01185 01186 /*! @brief Format value for bitfield LLWU_F1_WUF6. */ 01187 #define BF_LLWU_F1_WUF6(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F1_WUF6) & BM_LLWU_F1_WUF6) 01188 01189 /*! @brief Set the WUF6 field to a new value. */ 01190 #define BW_LLWU_F1_WUF6(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF6), v)) 01191 /*@}*/ 01192 01193 /*! 01194 * @name Register LLWU_F1, field WUF7[7] (W1C) 01195 * 01196 * Indicates that an enabled external wakeup pin was a source of exiting a 01197 * low-leakage power mode. To clear the flag, write a 1 to WUF7. 01198 * 01199 * Values: 01200 * - 0 - LLWU_P7 input was not a wakeup source 01201 * - 1 - LLWU_P7 input was a wakeup source 01202 */ 01203 /*@{*/ 01204 #define BP_LLWU_F1_WUF7 (7U) /*!< Bit position for LLWU_F1_WUF7. */ 01205 #define BM_LLWU_F1_WUF7 (0x80U) /*!< Bit mask for LLWU_F1_WUF7. */ 01206 #define BS_LLWU_F1_WUF7 (1U) /*!< Bit field size in bits for LLWU_F1_WUF7. */ 01207 01208 /*! @brief Read current value of the LLWU_F1_WUF7 field. */ 01209 #define BR_LLWU_F1_WUF7(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF7))) 01210 01211 /*! @brief Format value for bitfield LLWU_F1_WUF7. */ 01212 #define BF_LLWU_F1_WUF7(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F1_WUF7) & BM_LLWU_F1_WUF7) 01213 01214 /*! @brief Set the WUF7 field to a new value. */ 01215 #define BW_LLWU_F1_WUF7(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F1_ADDR(x), BP_LLWU_F1_WUF7), v)) 01216 /*@}*/ 01217 01218 /******************************************************************************* 01219 * HW_LLWU_F2 - LLWU Flag 2 register 01220 ******************************************************************************/ 01221 01222 /*! 01223 * @brief HW_LLWU_F2 - LLWU Flag 2 register (W1C) 01224 * 01225 * Reset value: 0x00U 01226 * 01227 * LLWU_F2 contains the wakeup flags indicating which wakeup source caused the 01228 * MCU to exit LLS or VLLS mode. For LLS, this is the source causing the CPU 01229 * interrupt flow. For VLLS, this is the source causing the MCU reset flow. The 01230 * external wakeup flags are read-only and clearing a flag is accomplished by a write 01231 * of a 1 to the corresponding WUFx bit. The wakeup flag (WUFx), if set, will 01232 * remain set if the associated WUPEx bit is cleared. This register is reset on Chip 01233 * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 01234 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 01235 * IntroductionInformation found here describes the registers of the Reset Control 01236 * Module (RCM). The RCM implements many of the reset functions for the chip. See the 01237 * chip's reset chapter for more information. details for more information. 01238 */ 01239 typedef union _hw_llwu_f2 01240 { 01241 uint8_t U; 01242 struct _hw_llwu_f2_bitfields 01243 { 01244 uint8_t WUF8 : 1; /*!< [0] Wakeup Flag For LLWU_P8 */ 01245 uint8_t WUF9 : 1; /*!< [1] Wakeup Flag For LLWU_P9 */ 01246 uint8_t WUF10 : 1; /*!< [2] Wakeup Flag For LLWU_P10 */ 01247 uint8_t WUF11 : 1; /*!< [3] Wakeup Flag For LLWU_P11 */ 01248 uint8_t WUF12 : 1; /*!< [4] Wakeup Flag For LLWU_P12 */ 01249 uint8_t WUF13 : 1; /*!< [5] Wakeup Flag For LLWU_P13 */ 01250 uint8_t WUF14 : 1; /*!< [6] Wakeup Flag For LLWU_P14 */ 01251 uint8_t WUF15 : 1; /*!< [7] Wakeup Flag For LLWU_P15 */ 01252 } B; 01253 } hw_llwu_f2_t; 01254 01255 /*! 01256 * @name Constants and macros for entire LLWU_F2 register 01257 */ 01258 /*@{*/ 01259 #define HW_LLWU_F2_ADDR(x) ((x) + 0x6U) 01260 01261 #define HW_LLWU_F2(x) (*(__IO hw_llwu_f2_t *) HW_LLWU_F2_ADDR(x)) 01262 #define HW_LLWU_F2_RD(x) (ADDRESS_READ(hw_llwu_f2_t, HW_LLWU_F2_ADDR(x))) 01263 #define HW_LLWU_F2_WR(x, v) (ADDRESS_WRITE(hw_llwu_f2_t, HW_LLWU_F2_ADDR(x), v)) 01264 #define HW_LLWU_F2_SET(x, v) (HW_LLWU_F2_WR(x, HW_LLWU_F2_RD(x) | (v))) 01265 #define HW_LLWU_F2_CLR(x, v) (HW_LLWU_F2_WR(x, HW_LLWU_F2_RD(x) & ~(v))) 01266 #define HW_LLWU_F2_TOG(x, v) (HW_LLWU_F2_WR(x, HW_LLWU_F2_RD(x) ^ (v))) 01267 /*@}*/ 01268 01269 /* 01270 * Constants & macros for individual LLWU_F2 bitfields 01271 */ 01272 01273 /*! 01274 * @name Register LLWU_F2, field WUF8[0] (W1C) 01275 * 01276 * Indicates that an enabled external wakeup pin was a source of exiting a 01277 * low-leakage power mode. To clear the flag, write a 1 to WUF8. 01278 * 01279 * Values: 01280 * - 0 - LLWU_P8 input was not a wakeup source 01281 * - 1 - LLWU_P8 input was a wakeup source 01282 */ 01283 /*@{*/ 01284 #define BP_LLWU_F2_WUF8 (0U) /*!< Bit position for LLWU_F2_WUF8. */ 01285 #define BM_LLWU_F2_WUF8 (0x01U) /*!< Bit mask for LLWU_F2_WUF8. */ 01286 #define BS_LLWU_F2_WUF8 (1U) /*!< Bit field size in bits for LLWU_F2_WUF8. */ 01287 01288 /*! @brief Read current value of the LLWU_F2_WUF8 field. */ 01289 #define BR_LLWU_F2_WUF8(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF8))) 01290 01291 /*! @brief Format value for bitfield LLWU_F2_WUF8. */ 01292 #define BF_LLWU_F2_WUF8(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F2_WUF8) & BM_LLWU_F2_WUF8) 01293 01294 /*! @brief Set the WUF8 field to a new value. */ 01295 #define BW_LLWU_F2_WUF8(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF8), v)) 01296 /*@}*/ 01297 01298 /*! 01299 * @name Register LLWU_F2, field WUF9[1] (W1C) 01300 * 01301 * Indicates that an enabled external wakeup pin was a source of exiting a 01302 * low-leakage power mode. To clear the flag, write a 1 to WUF9. 01303 * 01304 * Values: 01305 * - 0 - LLWU_P9 input was not a wakeup source 01306 * - 1 - LLWU_P9 input was a wakeup source 01307 */ 01308 /*@{*/ 01309 #define BP_LLWU_F2_WUF9 (1U) /*!< Bit position for LLWU_F2_WUF9. */ 01310 #define BM_LLWU_F2_WUF9 (0x02U) /*!< Bit mask for LLWU_F2_WUF9. */ 01311 #define BS_LLWU_F2_WUF9 (1U) /*!< Bit field size in bits for LLWU_F2_WUF9. */ 01312 01313 /*! @brief Read current value of the LLWU_F2_WUF9 field. */ 01314 #define BR_LLWU_F2_WUF9(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF9))) 01315 01316 /*! @brief Format value for bitfield LLWU_F2_WUF9. */ 01317 #define BF_LLWU_F2_WUF9(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F2_WUF9) & BM_LLWU_F2_WUF9) 01318 01319 /*! @brief Set the WUF9 field to a new value. */ 01320 #define BW_LLWU_F2_WUF9(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF9), v)) 01321 /*@}*/ 01322 01323 /*! 01324 * @name Register LLWU_F2, field WUF10[2] (W1C) 01325 * 01326 * Indicates that an enabled external wakeup pin was a source of exiting a 01327 * low-leakage power mode. To clear the flag, write a 1 to WUF10. 01328 * 01329 * Values: 01330 * - 0 - LLWU_P10 input was not a wakeup source 01331 * - 1 - LLWU_P10 input was a wakeup source 01332 */ 01333 /*@{*/ 01334 #define BP_LLWU_F2_WUF10 (2U) /*!< Bit position for LLWU_F2_WUF10. */ 01335 #define BM_LLWU_F2_WUF10 (0x04U) /*!< Bit mask for LLWU_F2_WUF10. */ 01336 #define BS_LLWU_F2_WUF10 (1U) /*!< Bit field size in bits for LLWU_F2_WUF10. */ 01337 01338 /*! @brief Read current value of the LLWU_F2_WUF10 field. */ 01339 #define BR_LLWU_F2_WUF10(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF10))) 01340 01341 /*! @brief Format value for bitfield LLWU_F2_WUF10. */ 01342 #define BF_LLWU_F2_WUF10(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F2_WUF10) & BM_LLWU_F2_WUF10) 01343 01344 /*! @brief Set the WUF10 field to a new value. */ 01345 #define BW_LLWU_F2_WUF10(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF10), v)) 01346 /*@}*/ 01347 01348 /*! 01349 * @name Register LLWU_F2, field WUF11[3] (W1C) 01350 * 01351 * Indicates that an enabled external wakeup pin was a source of exiting a 01352 * low-leakage power mode. To clear the flag, write a 1 to WUF11. 01353 * 01354 * Values: 01355 * - 0 - LLWU_P11 input was not a wakeup source 01356 * - 1 - LLWU_P11 input was a wakeup source 01357 */ 01358 /*@{*/ 01359 #define BP_LLWU_F2_WUF11 (3U) /*!< Bit position for LLWU_F2_WUF11. */ 01360 #define BM_LLWU_F2_WUF11 (0x08U) /*!< Bit mask for LLWU_F2_WUF11. */ 01361 #define BS_LLWU_F2_WUF11 (1U) /*!< Bit field size in bits for LLWU_F2_WUF11. */ 01362 01363 /*! @brief Read current value of the LLWU_F2_WUF11 field. */ 01364 #define BR_LLWU_F2_WUF11(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF11))) 01365 01366 /*! @brief Format value for bitfield LLWU_F2_WUF11. */ 01367 #define BF_LLWU_F2_WUF11(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F2_WUF11) & BM_LLWU_F2_WUF11) 01368 01369 /*! @brief Set the WUF11 field to a new value. */ 01370 #define BW_LLWU_F2_WUF11(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF11), v)) 01371 /*@}*/ 01372 01373 /*! 01374 * @name Register LLWU_F2, field WUF12[4] (W1C) 01375 * 01376 * Indicates that an enabled external wakeup pin was a source of exiting a 01377 * low-leakage power mode. To clear the flag, write a 1 to WUF12. 01378 * 01379 * Values: 01380 * - 0 - LLWU_P12 input was not a wakeup source 01381 * - 1 - LLWU_P12 input was a wakeup source 01382 */ 01383 /*@{*/ 01384 #define BP_LLWU_F2_WUF12 (4U) /*!< Bit position for LLWU_F2_WUF12. */ 01385 #define BM_LLWU_F2_WUF12 (0x10U) /*!< Bit mask for LLWU_F2_WUF12. */ 01386 #define BS_LLWU_F2_WUF12 (1U) /*!< Bit field size in bits for LLWU_F2_WUF12. */ 01387 01388 /*! @brief Read current value of the LLWU_F2_WUF12 field. */ 01389 #define BR_LLWU_F2_WUF12(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF12))) 01390 01391 /*! @brief Format value for bitfield LLWU_F2_WUF12. */ 01392 #define BF_LLWU_F2_WUF12(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F2_WUF12) & BM_LLWU_F2_WUF12) 01393 01394 /*! @brief Set the WUF12 field to a new value. */ 01395 #define BW_LLWU_F2_WUF12(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF12), v)) 01396 /*@}*/ 01397 01398 /*! 01399 * @name Register LLWU_F2, field WUF13[5] (W1C) 01400 * 01401 * Indicates that an enabled external wakeup pin was a source of exiting a 01402 * low-leakage power mode. To clear the flag, write a 1 to WUF13. 01403 * 01404 * Values: 01405 * - 0 - LLWU_P13 input was not a wakeup source 01406 * - 1 - LLWU_P13 input was a wakeup source 01407 */ 01408 /*@{*/ 01409 #define BP_LLWU_F2_WUF13 (5U) /*!< Bit position for LLWU_F2_WUF13. */ 01410 #define BM_LLWU_F2_WUF13 (0x20U) /*!< Bit mask for LLWU_F2_WUF13. */ 01411 #define BS_LLWU_F2_WUF13 (1U) /*!< Bit field size in bits for LLWU_F2_WUF13. */ 01412 01413 /*! @brief Read current value of the LLWU_F2_WUF13 field. */ 01414 #define BR_LLWU_F2_WUF13(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF13))) 01415 01416 /*! @brief Format value for bitfield LLWU_F2_WUF13. */ 01417 #define BF_LLWU_F2_WUF13(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F2_WUF13) & BM_LLWU_F2_WUF13) 01418 01419 /*! @brief Set the WUF13 field to a new value. */ 01420 #define BW_LLWU_F2_WUF13(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF13), v)) 01421 /*@}*/ 01422 01423 /*! 01424 * @name Register LLWU_F2, field WUF14[6] (W1C) 01425 * 01426 * Indicates that an enabled external wakeup pin was a source of exiting a 01427 * low-leakage power mode. To clear the flag, write a 1 to WUF14. 01428 * 01429 * Values: 01430 * - 0 - LLWU_P14 input was not a wakeup source 01431 * - 1 - LLWU_P14 input was a wakeup source 01432 */ 01433 /*@{*/ 01434 #define BP_LLWU_F2_WUF14 (6U) /*!< Bit position for LLWU_F2_WUF14. */ 01435 #define BM_LLWU_F2_WUF14 (0x40U) /*!< Bit mask for LLWU_F2_WUF14. */ 01436 #define BS_LLWU_F2_WUF14 (1U) /*!< Bit field size in bits for LLWU_F2_WUF14. */ 01437 01438 /*! @brief Read current value of the LLWU_F2_WUF14 field. */ 01439 #define BR_LLWU_F2_WUF14(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF14))) 01440 01441 /*! @brief Format value for bitfield LLWU_F2_WUF14. */ 01442 #define BF_LLWU_F2_WUF14(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F2_WUF14) & BM_LLWU_F2_WUF14) 01443 01444 /*! @brief Set the WUF14 field to a new value. */ 01445 #define BW_LLWU_F2_WUF14(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF14), v)) 01446 /*@}*/ 01447 01448 /*! 01449 * @name Register LLWU_F2, field WUF15[7] (W1C) 01450 * 01451 * Indicates that an enabled external wakeup pin was a source of exiting a 01452 * low-leakage power mode. To clear the flag, write a 1 to WUF15. 01453 * 01454 * Values: 01455 * - 0 - LLWU_P15 input was not a wakeup source 01456 * - 1 - LLWU_P15 input was a wakeup source 01457 */ 01458 /*@{*/ 01459 #define BP_LLWU_F2_WUF15 (7U) /*!< Bit position for LLWU_F2_WUF15. */ 01460 #define BM_LLWU_F2_WUF15 (0x80U) /*!< Bit mask for LLWU_F2_WUF15. */ 01461 #define BS_LLWU_F2_WUF15 (1U) /*!< Bit field size in bits for LLWU_F2_WUF15. */ 01462 01463 /*! @brief Read current value of the LLWU_F2_WUF15 field. */ 01464 #define BR_LLWU_F2_WUF15(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF15))) 01465 01466 /*! @brief Format value for bitfield LLWU_F2_WUF15. */ 01467 #define BF_LLWU_F2_WUF15(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_F2_WUF15) & BM_LLWU_F2_WUF15) 01468 01469 /*! @brief Set the WUF15 field to a new value. */ 01470 #define BW_LLWU_F2_WUF15(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F2_ADDR(x), BP_LLWU_F2_WUF15), v)) 01471 /*@}*/ 01472 01473 /******************************************************************************* 01474 * HW_LLWU_F3 - LLWU Flag 3 register 01475 ******************************************************************************/ 01476 01477 /*! 01478 * @brief HW_LLWU_F3 - LLWU Flag 3 register (RO) 01479 * 01480 * Reset value: 0x00U 01481 * 01482 * LLWU_F3 contains the wakeup flags indicating which internal wakeup source 01483 * caused the MCU to exit LLS or VLLS mode. For LLS, this is the source causing the 01484 * CPU interrupt flow. For VLLS, this is the source causing the MCU reset flow. 01485 * For internal peripherals that are capable of running in a low-leakage power 01486 * mode, such as a real time clock module or CMP module, the flag from the 01487 * associated peripheral is accessible as the MWUFx bit. The flag will need to be cleared 01488 * in the peripheral instead of writing a 1 to the MWUFx bit. This register is 01489 * reset on Chip Reset not VLLS and by reset types that trigger Chip Reset not 01490 * VLLS. It is unaffected by reset types that do not trigger Chip Reset not VLLS. See 01491 * the IntroductionInformation found here describes the registers of the Reset 01492 * Control Module (RCM). The RCM implements many of the reset functions for the 01493 * chip. See the chip's reset chapter for more information. details for more 01494 * information. 01495 */ 01496 typedef union _hw_llwu_f3 01497 { 01498 uint8_t U; 01499 struct _hw_llwu_f3_bitfields 01500 { 01501 uint8_t MWUF0 : 1; /*!< [0] Wakeup flag For module 0 */ 01502 uint8_t MWUF1 : 1; /*!< [1] Wakeup flag For module 1 */ 01503 uint8_t MWUF2 : 1; /*!< [2] Wakeup flag For module 2 */ 01504 uint8_t MWUF3 : 1; /*!< [3] Wakeup flag For module 3 */ 01505 uint8_t MWUF4 : 1; /*!< [4] Wakeup flag For module 4 */ 01506 uint8_t MWUF5 : 1; /*!< [5] Wakeup flag For module 5 */ 01507 uint8_t MWUF6 : 1; /*!< [6] Wakeup flag For module 6 */ 01508 uint8_t MWUF7 : 1; /*!< [7] Wakeup flag For module 7 */ 01509 } B; 01510 } hw_llwu_f3_t; 01511 01512 /*! 01513 * @name Constants and macros for entire LLWU_F3 register 01514 */ 01515 /*@{*/ 01516 #define HW_LLWU_F3_ADDR(x) ((x) + 0x7U) 01517 01518 #define HW_LLWU_F3(x) (*(__I hw_llwu_f3_t *) HW_LLWU_F3_ADDR(x)) 01519 #define HW_LLWU_F3_RD(x) (ADDRESS_READ(hw_llwu_f3_t, HW_LLWU_F3_ADDR(x))) 01520 /*@}*/ 01521 01522 /* 01523 * Constants & macros for individual LLWU_F3 bitfields 01524 */ 01525 01526 /*! 01527 * @name Register LLWU_F3, field MWUF0[0] (RO) 01528 * 01529 * Indicates that an enabled internal peripheral was a source of exiting a 01530 * low-leakage power mode. To clear the flag, follow the internal peripheral flag 01531 * clearing mechanism. 01532 * 01533 * Values: 01534 * - 0 - Module 0 input was not a wakeup source 01535 * - 1 - Module 0 input was a wakeup source 01536 */ 01537 /*@{*/ 01538 #define BP_LLWU_F3_MWUF0 (0U) /*!< Bit position for LLWU_F3_MWUF0. */ 01539 #define BM_LLWU_F3_MWUF0 (0x01U) /*!< Bit mask for LLWU_F3_MWUF0. */ 01540 #define BS_LLWU_F3_MWUF0 (1U) /*!< Bit field size in bits for LLWU_F3_MWUF0. */ 01541 01542 /*! @brief Read current value of the LLWU_F3_MWUF0 field. */ 01543 #define BR_LLWU_F3_MWUF0(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F3_ADDR(x), BP_LLWU_F3_MWUF0))) 01544 /*@}*/ 01545 01546 /*! 01547 * @name Register LLWU_F3, field MWUF1[1] (RO) 01548 * 01549 * Indicates that an enabled internal peripheral was a source of exiting a 01550 * low-leakage power mode. To clear the flag, follow the internal peripheral flag 01551 * clearing mechanism. 01552 * 01553 * Values: 01554 * - 0 - Module 1 input was not a wakeup source 01555 * - 1 - Module 1 input was a wakeup source 01556 */ 01557 /*@{*/ 01558 #define BP_LLWU_F3_MWUF1 (1U) /*!< Bit position for LLWU_F3_MWUF1. */ 01559 #define BM_LLWU_F3_MWUF1 (0x02U) /*!< Bit mask for LLWU_F3_MWUF1. */ 01560 #define BS_LLWU_F3_MWUF1 (1U) /*!< Bit field size in bits for LLWU_F3_MWUF1. */ 01561 01562 /*! @brief Read current value of the LLWU_F3_MWUF1 field. */ 01563 #define BR_LLWU_F3_MWUF1(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F3_ADDR(x), BP_LLWU_F3_MWUF1))) 01564 /*@}*/ 01565 01566 /*! 01567 * @name Register LLWU_F3, field MWUF2[2] (RO) 01568 * 01569 * Indicates that an enabled internal peripheral was a source of exiting a 01570 * low-leakage power mode. To clear the flag, follow the internal peripheral flag 01571 * clearing mechanism. 01572 * 01573 * Values: 01574 * - 0 - Module 2 input was not a wakeup source 01575 * - 1 - Module 2 input was a wakeup source 01576 */ 01577 /*@{*/ 01578 #define BP_LLWU_F3_MWUF2 (2U) /*!< Bit position for LLWU_F3_MWUF2. */ 01579 #define BM_LLWU_F3_MWUF2 (0x04U) /*!< Bit mask for LLWU_F3_MWUF2. */ 01580 #define BS_LLWU_F3_MWUF2 (1U) /*!< Bit field size in bits for LLWU_F3_MWUF2. */ 01581 01582 /*! @brief Read current value of the LLWU_F3_MWUF2 field. */ 01583 #define BR_LLWU_F3_MWUF2(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F3_ADDR(x), BP_LLWU_F3_MWUF2))) 01584 /*@}*/ 01585 01586 /*! 01587 * @name Register LLWU_F3, field MWUF3[3] (RO) 01588 * 01589 * Indicates that an enabled internal peripheral was a source of exiting a 01590 * low-leakage power mode. To clear the flag, follow the internal peripheral flag 01591 * clearing mechanism. 01592 * 01593 * Values: 01594 * - 0 - Module 3 input was not a wakeup source 01595 * - 1 - Module 3 input was a wakeup source 01596 */ 01597 /*@{*/ 01598 #define BP_LLWU_F3_MWUF3 (3U) /*!< Bit position for LLWU_F3_MWUF3. */ 01599 #define BM_LLWU_F3_MWUF3 (0x08U) /*!< Bit mask for LLWU_F3_MWUF3. */ 01600 #define BS_LLWU_F3_MWUF3 (1U) /*!< Bit field size in bits for LLWU_F3_MWUF3. */ 01601 01602 /*! @brief Read current value of the LLWU_F3_MWUF3 field. */ 01603 #define BR_LLWU_F3_MWUF3(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F3_ADDR(x), BP_LLWU_F3_MWUF3))) 01604 /*@}*/ 01605 01606 /*! 01607 * @name Register LLWU_F3, field MWUF4[4] (RO) 01608 * 01609 * Indicates that an enabled internal peripheral was a source of exiting a 01610 * low-leakage power mode. To clear the flag, follow the internal peripheral flag 01611 * clearing mechanism. 01612 * 01613 * Values: 01614 * - 0 - Module 4 input was not a wakeup source 01615 * - 1 - Module 4 input was a wakeup source 01616 */ 01617 /*@{*/ 01618 #define BP_LLWU_F3_MWUF4 (4U) /*!< Bit position for LLWU_F3_MWUF4. */ 01619 #define BM_LLWU_F3_MWUF4 (0x10U) /*!< Bit mask for LLWU_F3_MWUF4. */ 01620 #define BS_LLWU_F3_MWUF4 (1U) /*!< Bit field size in bits for LLWU_F3_MWUF4. */ 01621 01622 /*! @brief Read current value of the LLWU_F3_MWUF4 field. */ 01623 #define BR_LLWU_F3_MWUF4(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F3_ADDR(x), BP_LLWU_F3_MWUF4))) 01624 /*@}*/ 01625 01626 /*! 01627 * @name Register LLWU_F3, field MWUF5[5] (RO) 01628 * 01629 * Indicates that an enabled internal peripheral was a source of exiting a 01630 * low-leakage power mode. To clear the flag, follow the internal peripheral flag 01631 * clearing mechanism. 01632 * 01633 * Values: 01634 * - 0 - Module 5 input was not a wakeup source 01635 * - 1 - Module 5 input was a wakeup source 01636 */ 01637 /*@{*/ 01638 #define BP_LLWU_F3_MWUF5 (5U) /*!< Bit position for LLWU_F3_MWUF5. */ 01639 #define BM_LLWU_F3_MWUF5 (0x20U) /*!< Bit mask for LLWU_F3_MWUF5. */ 01640 #define BS_LLWU_F3_MWUF5 (1U) /*!< Bit field size in bits for LLWU_F3_MWUF5. */ 01641 01642 /*! @brief Read current value of the LLWU_F3_MWUF5 field. */ 01643 #define BR_LLWU_F3_MWUF5(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F3_ADDR(x), BP_LLWU_F3_MWUF5))) 01644 /*@}*/ 01645 01646 /*! 01647 * @name Register LLWU_F3, field MWUF6[6] (RO) 01648 * 01649 * Indicates that an enabled internal peripheral was a source of exiting a 01650 * low-leakage power mode. To clear the flag, follow the internal peripheral flag 01651 * clearing mechanism. 01652 * 01653 * Values: 01654 * - 0 - Module 6 input was not a wakeup source 01655 * - 1 - Module 6 input was a wakeup source 01656 */ 01657 /*@{*/ 01658 #define BP_LLWU_F3_MWUF6 (6U) /*!< Bit position for LLWU_F3_MWUF6. */ 01659 #define BM_LLWU_F3_MWUF6 (0x40U) /*!< Bit mask for LLWU_F3_MWUF6. */ 01660 #define BS_LLWU_F3_MWUF6 (1U) /*!< Bit field size in bits for LLWU_F3_MWUF6. */ 01661 01662 /*! @brief Read current value of the LLWU_F3_MWUF6 field. */ 01663 #define BR_LLWU_F3_MWUF6(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F3_ADDR(x), BP_LLWU_F3_MWUF6))) 01664 /*@}*/ 01665 01666 /*! 01667 * @name Register LLWU_F3, field MWUF7[7] (RO) 01668 * 01669 * Indicates that an enabled internal peripheral was a source of exiting a 01670 * low-leakage power mode. To clear the flag, follow the internal peripheral flag 01671 * clearing mechanism. 01672 * 01673 * Values: 01674 * - 0 - Module 7 input was not a wakeup source 01675 * - 1 - Module 7 input was a wakeup source 01676 */ 01677 /*@{*/ 01678 #define BP_LLWU_F3_MWUF7 (7U) /*!< Bit position for LLWU_F3_MWUF7. */ 01679 #define BM_LLWU_F3_MWUF7 (0x80U) /*!< Bit mask for LLWU_F3_MWUF7. */ 01680 #define BS_LLWU_F3_MWUF7 (1U) /*!< Bit field size in bits for LLWU_F3_MWUF7. */ 01681 01682 /*! @brief Read current value of the LLWU_F3_MWUF7 field. */ 01683 #define BR_LLWU_F3_MWUF7(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_F3_ADDR(x), BP_LLWU_F3_MWUF7))) 01684 /*@}*/ 01685 01686 /******************************************************************************* 01687 * HW_LLWU_FILT1 - LLWU Pin Filter 1 register 01688 ******************************************************************************/ 01689 01690 /*! 01691 * @brief HW_LLWU_FILT1 - LLWU Pin Filter 1 register (RW) 01692 * 01693 * Reset value: 0x00U 01694 * 01695 * LLWU_FILT1 is a control and status register that is used to enable/disable 01696 * the digital filter 1 features for an external pin. This register is reset on 01697 * Chip Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 01698 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 01699 * IntroductionInformation found here describes the registers of the Reset Control 01700 * Module (RCM). The RCM implements many of the reset functions for the chip. See 01701 * the chip's reset chapter for more information. details for more information. 01702 */ 01703 typedef union _hw_llwu_filt1 01704 { 01705 uint8_t U; 01706 struct _hw_llwu_filt1_bitfields 01707 { 01708 uint8_t FILTSEL : 4; /*!< [3:0] Filter Pin Select */ 01709 uint8_t RESERVED0 : 1; /*!< [4] */ 01710 uint8_t FILTE : 2; /*!< [6:5] Digital Filter On External Pin */ 01711 uint8_t FILTF : 1; /*!< [7] Filter Detect Flag */ 01712 } B; 01713 } hw_llwu_filt1_t; 01714 01715 /*! 01716 * @name Constants and macros for entire LLWU_FILT1 register 01717 */ 01718 /*@{*/ 01719 #define HW_LLWU_FILT1_ADDR(x) ((x) + 0x8U) 01720 01721 #define HW_LLWU_FILT1(x) (*(__IO hw_llwu_filt1_t *) HW_LLWU_FILT1_ADDR(x)) 01722 #define HW_LLWU_FILT1_RD(x) (ADDRESS_READ(hw_llwu_filt1_t, HW_LLWU_FILT1_ADDR(x))) 01723 #define HW_LLWU_FILT1_WR(x, v) (ADDRESS_WRITE(hw_llwu_filt1_t, HW_LLWU_FILT1_ADDR(x), v)) 01724 #define HW_LLWU_FILT1_SET(x, v) (HW_LLWU_FILT1_WR(x, HW_LLWU_FILT1_RD(x) | (v))) 01725 #define HW_LLWU_FILT1_CLR(x, v) (HW_LLWU_FILT1_WR(x, HW_LLWU_FILT1_RD(x) & ~(v))) 01726 #define HW_LLWU_FILT1_TOG(x, v) (HW_LLWU_FILT1_WR(x, HW_LLWU_FILT1_RD(x) ^ (v))) 01727 /*@}*/ 01728 01729 /* 01730 * Constants & macros for individual LLWU_FILT1 bitfields 01731 */ 01732 01733 /*! 01734 * @name Register LLWU_FILT1, field FILTSEL[3:0] (RW) 01735 * 01736 * Selects 1 out of the 16 wakeup pins to be muxed into the filter. 01737 * 01738 * Values: 01739 * - 0000 - Select LLWU_P0 for filter 01740 * - 1111 - Select LLWU_P15 for filter 01741 */ 01742 /*@{*/ 01743 #define BP_LLWU_FILT1_FILTSEL (0U) /*!< Bit position for LLWU_FILT1_FILTSEL. */ 01744 #define BM_LLWU_FILT1_FILTSEL (0x0FU) /*!< Bit mask for LLWU_FILT1_FILTSEL. */ 01745 #define BS_LLWU_FILT1_FILTSEL (4U) /*!< Bit field size in bits for LLWU_FILT1_FILTSEL. */ 01746 01747 /*! @brief Read current value of the LLWU_FILT1_FILTSEL field. */ 01748 #define BR_LLWU_FILT1_FILTSEL(x) (UNION_READ(hw_llwu_filt1_t, HW_LLWU_FILT1_ADDR(x), U, B.FILTSEL)) 01749 01750 /*! @brief Format value for bitfield LLWU_FILT1_FILTSEL. */ 01751 #define BF_LLWU_FILT1_FILTSEL(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_FILT1_FILTSEL) & BM_LLWU_FILT1_FILTSEL) 01752 01753 /*! @brief Set the FILTSEL field to a new value. */ 01754 #define BW_LLWU_FILT1_FILTSEL(x, v) (HW_LLWU_FILT1_WR(x, (HW_LLWU_FILT1_RD(x) & ~BM_LLWU_FILT1_FILTSEL) | BF_LLWU_FILT1_FILTSEL(v))) 01755 /*@}*/ 01756 01757 /*! 01758 * @name Register LLWU_FILT1, field FILTE[6:5] (RW) 01759 * 01760 * Controls the digital filter options for the external pin detect. 01761 * 01762 * Values: 01763 * - 00 - Filter disabled 01764 * - 01 - Filter posedge detect enabled 01765 * - 10 - Filter negedge detect enabled 01766 * - 11 - Filter any edge detect enabled 01767 */ 01768 /*@{*/ 01769 #define BP_LLWU_FILT1_FILTE (5U) /*!< Bit position for LLWU_FILT1_FILTE. */ 01770 #define BM_LLWU_FILT1_FILTE (0x60U) /*!< Bit mask for LLWU_FILT1_FILTE. */ 01771 #define BS_LLWU_FILT1_FILTE (2U) /*!< Bit field size in bits for LLWU_FILT1_FILTE. */ 01772 01773 /*! @brief Read current value of the LLWU_FILT1_FILTE field. */ 01774 #define BR_LLWU_FILT1_FILTE(x) (UNION_READ(hw_llwu_filt1_t, HW_LLWU_FILT1_ADDR(x), U, B.FILTE)) 01775 01776 /*! @brief Format value for bitfield LLWU_FILT1_FILTE. */ 01777 #define BF_LLWU_FILT1_FILTE(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_FILT1_FILTE) & BM_LLWU_FILT1_FILTE) 01778 01779 /*! @brief Set the FILTE field to a new value. */ 01780 #define BW_LLWU_FILT1_FILTE(x, v) (HW_LLWU_FILT1_WR(x, (HW_LLWU_FILT1_RD(x) & ~BM_LLWU_FILT1_FILTE) | BF_LLWU_FILT1_FILTE(v))) 01781 /*@}*/ 01782 01783 /*! 01784 * @name Register LLWU_FILT1, field FILTF[7] (W1C) 01785 * 01786 * Indicates that the filtered external wakeup pin, selected by FILTSEL, was a 01787 * source of exiting a low-leakage power mode. To clear the flag write a one to 01788 * FILTF. 01789 * 01790 * Values: 01791 * - 0 - Pin Filter 1 was not a wakeup source 01792 * - 1 - Pin Filter 1 was a wakeup source 01793 */ 01794 /*@{*/ 01795 #define BP_LLWU_FILT1_FILTF (7U) /*!< Bit position for LLWU_FILT1_FILTF. */ 01796 #define BM_LLWU_FILT1_FILTF (0x80U) /*!< Bit mask for LLWU_FILT1_FILTF. */ 01797 #define BS_LLWU_FILT1_FILTF (1U) /*!< Bit field size in bits for LLWU_FILT1_FILTF. */ 01798 01799 /*! @brief Read current value of the LLWU_FILT1_FILTF field. */ 01800 #define BR_LLWU_FILT1_FILTF(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_FILT1_ADDR(x), BP_LLWU_FILT1_FILTF))) 01801 01802 /*! @brief Format value for bitfield LLWU_FILT1_FILTF. */ 01803 #define BF_LLWU_FILT1_FILTF(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_FILT1_FILTF) & BM_LLWU_FILT1_FILTF) 01804 01805 /*! @brief Set the FILTF field to a new value. */ 01806 #define BW_LLWU_FILT1_FILTF(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_FILT1_ADDR(x), BP_LLWU_FILT1_FILTF), v)) 01807 /*@}*/ 01808 01809 /******************************************************************************* 01810 * HW_LLWU_FILT2 - LLWU Pin Filter 2 register 01811 ******************************************************************************/ 01812 01813 /*! 01814 * @brief HW_LLWU_FILT2 - LLWU Pin Filter 2 register (RW) 01815 * 01816 * Reset value: 0x00U 01817 * 01818 * LLWU_FILT2 is a control and status register that is used to enable/disable 01819 * the digital filter 2 features for an external pin. This register is reset on 01820 * Chip Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 01821 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 01822 * IntroductionInformation found here describes the registers of the Reset Control 01823 * Module (RCM). The RCM implements many of the reset functions for the chip. See 01824 * the chip's reset chapter for more information. details for more information. 01825 */ 01826 typedef union _hw_llwu_filt2 01827 { 01828 uint8_t U; 01829 struct _hw_llwu_filt2_bitfields 01830 { 01831 uint8_t FILTSEL : 4; /*!< [3:0] Filter Pin Select */ 01832 uint8_t RESERVED0 : 1; /*!< [4] */ 01833 uint8_t FILTE : 2; /*!< [6:5] Digital Filter On External Pin */ 01834 uint8_t FILTF : 1; /*!< [7] Filter Detect Flag */ 01835 } B; 01836 } hw_llwu_filt2_t; 01837 01838 /*! 01839 * @name Constants and macros for entire LLWU_FILT2 register 01840 */ 01841 /*@{*/ 01842 #define HW_LLWU_FILT2_ADDR(x) ((x) + 0x9U) 01843 01844 #define HW_LLWU_FILT2(x) (*(__IO hw_llwu_filt2_t *) HW_LLWU_FILT2_ADDR(x)) 01845 #define HW_LLWU_FILT2_RD(x) (ADDRESS_READ(hw_llwu_filt2_t, HW_LLWU_FILT2_ADDR(x))) 01846 #define HW_LLWU_FILT2_WR(x, v) (ADDRESS_WRITE(hw_llwu_filt2_t, HW_LLWU_FILT2_ADDR(x), v)) 01847 #define HW_LLWU_FILT2_SET(x, v) (HW_LLWU_FILT2_WR(x, HW_LLWU_FILT2_RD(x) | (v))) 01848 #define HW_LLWU_FILT2_CLR(x, v) (HW_LLWU_FILT2_WR(x, HW_LLWU_FILT2_RD(x) & ~(v))) 01849 #define HW_LLWU_FILT2_TOG(x, v) (HW_LLWU_FILT2_WR(x, HW_LLWU_FILT2_RD(x) ^ (v))) 01850 /*@}*/ 01851 01852 /* 01853 * Constants & macros for individual LLWU_FILT2 bitfields 01854 */ 01855 01856 /*! 01857 * @name Register LLWU_FILT2, field FILTSEL[3:0] (RW) 01858 * 01859 * Selects 1 out of the 16 wakeup pins to be muxed into the filter. 01860 * 01861 * Values: 01862 * - 0000 - Select LLWU_P0 for filter 01863 * - 1111 - Select LLWU_P15 for filter 01864 */ 01865 /*@{*/ 01866 #define BP_LLWU_FILT2_FILTSEL (0U) /*!< Bit position for LLWU_FILT2_FILTSEL. */ 01867 #define BM_LLWU_FILT2_FILTSEL (0x0FU) /*!< Bit mask for LLWU_FILT2_FILTSEL. */ 01868 #define BS_LLWU_FILT2_FILTSEL (4U) /*!< Bit field size in bits for LLWU_FILT2_FILTSEL. */ 01869 01870 /*! @brief Read current value of the LLWU_FILT2_FILTSEL field. */ 01871 #define BR_LLWU_FILT2_FILTSEL(x) (UNION_READ(hw_llwu_filt2_t, HW_LLWU_FILT2_ADDR(x), U, B.FILTSEL)) 01872 01873 /*! @brief Format value for bitfield LLWU_FILT2_FILTSEL. */ 01874 #define BF_LLWU_FILT2_FILTSEL(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_FILT2_FILTSEL) & BM_LLWU_FILT2_FILTSEL) 01875 01876 /*! @brief Set the FILTSEL field to a new value. */ 01877 #define BW_LLWU_FILT2_FILTSEL(x, v) (HW_LLWU_FILT2_WR(x, (HW_LLWU_FILT2_RD(x) & ~BM_LLWU_FILT2_FILTSEL) | BF_LLWU_FILT2_FILTSEL(v))) 01878 /*@}*/ 01879 01880 /*! 01881 * @name Register LLWU_FILT2, field FILTE[6:5] (RW) 01882 * 01883 * Controls the digital filter options for the external pin detect. 01884 * 01885 * Values: 01886 * - 00 - Filter disabled 01887 * - 01 - Filter posedge detect enabled 01888 * - 10 - Filter negedge detect enabled 01889 * - 11 - Filter any edge detect enabled 01890 */ 01891 /*@{*/ 01892 #define BP_LLWU_FILT2_FILTE (5U) /*!< Bit position for LLWU_FILT2_FILTE. */ 01893 #define BM_LLWU_FILT2_FILTE (0x60U) /*!< Bit mask for LLWU_FILT2_FILTE. */ 01894 #define BS_LLWU_FILT2_FILTE (2U) /*!< Bit field size in bits for LLWU_FILT2_FILTE. */ 01895 01896 /*! @brief Read current value of the LLWU_FILT2_FILTE field. */ 01897 #define BR_LLWU_FILT2_FILTE(x) (UNION_READ(hw_llwu_filt2_t, HW_LLWU_FILT2_ADDR(x), U, B.FILTE)) 01898 01899 /*! @brief Format value for bitfield LLWU_FILT2_FILTE. */ 01900 #define BF_LLWU_FILT2_FILTE(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_FILT2_FILTE) & BM_LLWU_FILT2_FILTE) 01901 01902 /*! @brief Set the FILTE field to a new value. */ 01903 #define BW_LLWU_FILT2_FILTE(x, v) (HW_LLWU_FILT2_WR(x, (HW_LLWU_FILT2_RD(x) & ~BM_LLWU_FILT2_FILTE) | BF_LLWU_FILT2_FILTE(v))) 01904 /*@}*/ 01905 01906 /*! 01907 * @name Register LLWU_FILT2, field FILTF[7] (W1C) 01908 * 01909 * Indicates that the filtered external wakeup pin, selected by FILTSEL, was a 01910 * source of exiting a low-leakage power mode. To clear the flag write a one to 01911 * FILTF. 01912 * 01913 * Values: 01914 * - 0 - Pin Filter 2 was not a wakeup source 01915 * - 1 - Pin Filter 2 was a wakeup source 01916 */ 01917 /*@{*/ 01918 #define BP_LLWU_FILT2_FILTF (7U) /*!< Bit position for LLWU_FILT2_FILTF. */ 01919 #define BM_LLWU_FILT2_FILTF (0x80U) /*!< Bit mask for LLWU_FILT2_FILTF. */ 01920 #define BS_LLWU_FILT2_FILTF (1U) /*!< Bit field size in bits for LLWU_FILT2_FILTF. */ 01921 01922 /*! @brief Read current value of the LLWU_FILT2_FILTF field. */ 01923 #define BR_LLWU_FILT2_FILTF(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_FILT2_ADDR(x), BP_LLWU_FILT2_FILTF))) 01924 01925 /*! @brief Format value for bitfield LLWU_FILT2_FILTF. */ 01926 #define BF_LLWU_FILT2_FILTF(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_FILT2_FILTF) & BM_LLWU_FILT2_FILTF) 01927 01928 /*! @brief Set the FILTF field to a new value. */ 01929 #define BW_LLWU_FILT2_FILTF(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_FILT2_ADDR(x), BP_LLWU_FILT2_FILTF), v)) 01930 /*@}*/ 01931 01932 /******************************************************************************* 01933 * HW_LLWU_RST - LLWU Reset Enable register 01934 ******************************************************************************/ 01935 01936 /*! 01937 * @brief HW_LLWU_RST - LLWU Reset Enable register (RW) 01938 * 01939 * Reset value: 0x02U 01940 * 01941 * LLWU_RST is a control register that is used to enable/disable the digital 01942 * filter for the external pin detect and RESET pin. This register is reset on Chip 01943 * Reset not VLLS and by reset types that trigger Chip Reset not VLLS. It is 01944 * unaffected by reset types that do not trigger Chip Reset not VLLS. See the 01945 * IntroductionInformation found here describes the registers of the Reset Control 01946 * Module (RCM). The RCM implements many of the reset functions for the chip. See the 01947 * chip's reset chapter for more information. details for more information. 01948 */ 01949 typedef union _hw_llwu_rst 01950 { 01951 uint8_t U; 01952 struct _hw_llwu_rst_bitfields 01953 { 01954 uint8_t RSTFILT : 1; /*!< [0] Digital Filter On RESET Pin */ 01955 uint8_t LLRSTE : 1; /*!< [1] Low-Leakage Mode RESET Enable */ 01956 uint8_t RESERVED0 : 6; /*!< [7:2] */ 01957 } B; 01958 } hw_llwu_rst_t; 01959 01960 /*! 01961 * @name Constants and macros for entire LLWU_RST register 01962 */ 01963 /*@{*/ 01964 #define HW_LLWU_RST_ADDR(x) ((x) + 0xAU) 01965 01966 #define HW_LLWU_RST(x) (*(__IO hw_llwu_rst_t *) HW_LLWU_RST_ADDR(x)) 01967 #define HW_LLWU_RST_RD(x) (ADDRESS_READ(hw_llwu_rst_t, HW_LLWU_RST_ADDR(x))) 01968 #define HW_LLWU_RST_WR(x, v) (ADDRESS_WRITE(hw_llwu_rst_t, HW_LLWU_RST_ADDR(x), v)) 01969 #define HW_LLWU_RST_SET(x, v) (HW_LLWU_RST_WR(x, HW_LLWU_RST_RD(x) | (v))) 01970 #define HW_LLWU_RST_CLR(x, v) (HW_LLWU_RST_WR(x, HW_LLWU_RST_RD(x) & ~(v))) 01971 #define HW_LLWU_RST_TOG(x, v) (HW_LLWU_RST_WR(x, HW_LLWU_RST_RD(x) ^ (v))) 01972 /*@}*/ 01973 01974 /* 01975 * Constants & macros for individual LLWU_RST bitfields 01976 */ 01977 01978 /*! 01979 * @name Register LLWU_RST, field RSTFILT[0] (RW) 01980 * 01981 * Enables the digital filter for the RESET pin during LLS, VLLS3, VLLS2, or 01982 * VLLS1 modes. 01983 * 01984 * Values: 01985 * - 0 - Filter not enabled 01986 * - 1 - Filter enabled 01987 */ 01988 /*@{*/ 01989 #define BP_LLWU_RST_RSTFILT (0U) /*!< Bit position for LLWU_RST_RSTFILT. */ 01990 #define BM_LLWU_RST_RSTFILT (0x01U) /*!< Bit mask for LLWU_RST_RSTFILT. */ 01991 #define BS_LLWU_RST_RSTFILT (1U) /*!< Bit field size in bits for LLWU_RST_RSTFILT. */ 01992 01993 /*! @brief Read current value of the LLWU_RST_RSTFILT field. */ 01994 #define BR_LLWU_RST_RSTFILT(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_RST_ADDR(x), BP_LLWU_RST_RSTFILT))) 01995 01996 /*! @brief Format value for bitfield LLWU_RST_RSTFILT. */ 01997 #define BF_LLWU_RST_RSTFILT(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_RST_RSTFILT) & BM_LLWU_RST_RSTFILT) 01998 01999 /*! @brief Set the RSTFILT field to a new value. */ 02000 #define BW_LLWU_RST_RSTFILT(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_RST_ADDR(x), BP_LLWU_RST_RSTFILT), v)) 02001 /*@}*/ 02002 02003 /*! 02004 * @name Register LLWU_RST, field LLRSTE[1] (RW) 02005 * 02006 * This bit must be set to allow the device to be reset while in a low-leakage 02007 * power mode. On devices where Reset is not a dedicated pin, the RESET pin must 02008 * also be enabled in the explicit port mux control. 02009 * 02010 * Values: 02011 * - 0 - RESET pin not enabled as a leakage mode exit source 02012 * - 1 - RESET pin enabled as a low leakage mode exit source 02013 */ 02014 /*@{*/ 02015 #define BP_LLWU_RST_LLRSTE (1U) /*!< Bit position for LLWU_RST_LLRSTE. */ 02016 #define BM_LLWU_RST_LLRSTE (0x02U) /*!< Bit mask for LLWU_RST_LLRSTE. */ 02017 #define BS_LLWU_RST_LLRSTE (1U) /*!< Bit field size in bits for LLWU_RST_LLRSTE. */ 02018 02019 /*! @brief Read current value of the LLWU_RST_LLRSTE field. */ 02020 #define BR_LLWU_RST_LLRSTE(x) (ADDRESS_READ(uint8_t, BITBAND_ADDRESS8(HW_LLWU_RST_ADDR(x), BP_LLWU_RST_LLRSTE))) 02021 02022 /*! @brief Format value for bitfield LLWU_RST_LLRSTE. */ 02023 #define BF_LLWU_RST_LLRSTE(v) ((uint8_t)((uint8_t)(v) << BP_LLWU_RST_LLRSTE) & BM_LLWU_RST_LLRSTE) 02024 02025 /*! @brief Set the LLRSTE field to a new value. */ 02026 #define BW_LLWU_RST_LLRSTE(x, v) (ADDRESS_WRITE(uint8_t, BITBAND_ADDRESS8(HW_LLWU_RST_ADDR(x), BP_LLWU_RST_LLRSTE), v)) 02027 /*@}*/ 02028 02029 /******************************************************************************* 02030 * hw_llwu_t - module struct 02031 ******************************************************************************/ 02032 /*! 02033 * @brief All LLWU module registers. 02034 */ 02035 #pragma pack(1) 02036 typedef struct _hw_llwu 02037 { 02038 __IO hw_llwu_pe1_t PE1 ; /*!< [0x0] LLWU Pin Enable 1 register */ 02039 __IO hw_llwu_pe2_t PE2 ; /*!< [0x1] LLWU Pin Enable 2 register */ 02040 __IO hw_llwu_pe3_t PE3 ; /*!< [0x2] LLWU Pin Enable 3 register */ 02041 __IO hw_llwu_pe4_t PE4 ; /*!< [0x3] LLWU Pin Enable 4 register */ 02042 __IO hw_llwu_me_t ME ; /*!< [0x4] LLWU Module Enable register */ 02043 __IO hw_llwu_f1_t F1 ; /*!< [0x5] LLWU Flag 1 register */ 02044 __IO hw_llwu_f2_t F2 ; /*!< [0x6] LLWU Flag 2 register */ 02045 __I hw_llwu_f3_t F3 ; /*!< [0x7] LLWU Flag 3 register */ 02046 __IO hw_llwu_filt1_t FILT1 ; /*!< [0x8] LLWU Pin Filter 1 register */ 02047 __IO hw_llwu_filt2_t FILT2 ; /*!< [0x9] LLWU Pin Filter 2 register */ 02048 __IO hw_llwu_rst_t RST ; /*!< [0xA] LLWU Reset Enable register */ 02049 } hw_llwu_t; 02050 #pragma pack() 02051 02052 /*! @brief Macro to access all LLWU registers. */ 02053 /*! @param x LLWU module instance base address. */ 02054 /*! @return Reference (not a pointer) to the registers struct. To get a pointer to the struct, 02055 * use the '&' operator, like <code>&HW_LLWU(LLWU_BASE)</code>. */ 02056 #define HW_LLWU(x) (*(hw_llwu_t *)(x)) 02057 02058 #endif /* __HW_LLWU_REGISTERS_H__ */ 02059 /* EOF */
Generated on Sat Aug 27 2022 17:09:00 by
