1 /* 2 * Copyright 1997-2016 Freescale Semiconductor, Inc. 3 * Copyright 2016-2023 NXP 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 /*! 9 * @file S32Z2_eMIOS.h 10 * @version 2.1 11 * @date 2023-07-20 12 * @brief Peripheral Access Layer for S32Z2_eMIOS 13 * 14 * This file contains register definitions and macros for easy access to their 15 * bit fields. 16 * 17 * This file assumes LITTLE endian system. 18 */ 19 20 /** 21 * @page misra_violations MISRA-C:2012 violations 22 * 23 * @section [global] 24 * Violates MISRA 2012 Advisory Rule 2.3, local typedef not referenced 25 * The SoC header defines typedef for all modules. 26 * 27 * @section [global] 28 * Violates MISRA 2012 Advisory Rule 2.5, local macro not referenced 29 * The SoC header defines macros for all modules and registers. 30 * 31 * @section [global] 32 * Violates MISRA 2012 Advisory Directive 4.9, Function-like macro 33 * These are generated macros used for accessing the bit-fields from registers. 34 * 35 * @section [global] 36 * Violates MISRA 2012 Required Rule 5.1, identifier clash 37 * The supported compilers use more than 31 significant characters for identifiers. 38 * 39 * @section [global] 40 * Violates MISRA 2012 Required Rule 5.2, identifier clash 41 * The supported compilers use more than 31 significant characters for identifiers. 42 * 43 * @section [global] 44 * Violates MISRA 2012 Required Rule 5.4, identifier clash 45 * The supported compilers use more than 31 significant characters for identifiers. 46 * 47 * @section [global] 48 * Violates MISRA 2012 Required Rule 5.5, identifier clash 49 * The supported compilers use more than 31 significant characters for identifiers. 50 * 51 * @section [global] 52 * Violates MISRA 2012 Required Rule 21.1, defined macro '__I' is reserved to the compiler 53 * This type qualifier is needed to ensure correct I/O access and addressing. 54 */ 55 56 /* Prevention from multiple including the same memory map */ 57 #if !defined(S32Z2_eMIOS_H_) /* Check if memory map has not been already included */ 58 #define S32Z2_eMIOS_H_ 59 60 #include "S32Z2_COMMON.h" 61 62 /* ---------------------------------------------------------------------------- 63 -- eMIOS Peripheral Access Layer 64 ---------------------------------------------------------------------------- */ 65 66 /*! 67 * @addtogroup eMIOS_Peripheral_Access_Layer eMIOS Peripheral Access Layer 68 * @{ 69 */ 70 71 /** eMIOS - Size of Registers Arrays */ 72 #define eMIOS_CH_UC_UC_COUNT 32u 73 #define eMIOS_CH_WSC_WSC_COUNT 8u 74 75 /** eMIOS - Register Layout Typedef */ 76 typedef struct { 77 __IO uint32_t MCR; /**< Module Configuration, offset: 0x0 */ 78 __I uint32_t GFLAG; /**< Global Flag, offset: 0x4 */ 79 __IO uint32_t OUDIS; /**< Output Update Disable, offset: 0x8 */ 80 uint8_t RESERVED_0[20]; 81 union { /* offset: 0x20 */ 82 struct { /* offset: 0x20, array step: 0x20 */ 83 __IO uint32_t A; /**< UC A 0..UC A 31, array offset: 0x20, array step: 0x20, valid indices: [0-7, 16-31] */ 84 __IO uint32_t B; /**< UC B 0..UC B 31, array offset: 0x24, array step: 0x20, valid indices: [0-7, 16-31] */ 85 __IO uint32_t CNT; /**< UC Counter 0..UC Counter 31, array offset: 0x28, array step: 0x20, valid indices: [0-7, 16-31] */ 86 __IO uint32_t C; /**< UC Control 0..UC Control 31, array offset: 0x2C, array step: 0x20, valid indices: [0-7, 16-31] */ 87 __IO uint32_t S; /**< UC Status 0..UC Status 31, array offset: 0x30, array step: 0x20, valid indices: [0-7, 16-31] */ 88 __IO uint32_t ALTA; /**< Alternate Address 0..Alternate Address 31, array offset: 0x34, array step: 0x20, valid indices: [0-7, 16-31] */ 89 __IO uint32_t C2; /**< UC Control 2 0..UC Control 2 31, array offset: 0x38, array step: 0x20, valid indices: [0-7, 16-31] */ 90 uint8_t RESERVED_0[4]; 91 } UC[eMIOS_CH_UC_UC_COUNT]; 92 struct { /* offset: 0x20, array step: 0x40 */ 93 __IO uint32_t WSCAEC; /**< WSC Capture A and Event Counter 8..WSC Capture A and Event Counter 14, array offset: 0x20, array step: 0x40, valid indices: [4-7] */ 94 __I uint32_t WSCAPB; /**< WSC Capture B 8..WSC Capture B 14, array offset: 0x24, array step: 0x40, valid indices: [4-7] */ 95 __IO uint32_t WSC1; /**< WSC Control 1 8..WSC Control 1 14, array offset: 0x28, array step: 0x40, valid indices: [4-7] */ 96 __IO uint32_t WSC2; /**< WSC Control 2 8..WSC Control 2 14, array offset: 0x2C, array step: 0x40, valid indices: [4-7] */ 97 __IO uint32_t WSS; /**< WSC Status 8..WSC Status 14, array offset: 0x30, array step: 0x40, valid indices: [4-7] */ 98 __IO uint32_t WSEV; /**< WSC Event 8..WSC Event 14, array offset: 0x34, array step: 0x40, valid indices: [4-7] */ 99 __I uint32_t WSCEV; /**< WSC Capture Event 8..WSC Capture Event 14, array offset: 0x38, array step: 0x40, valid indices: [4-7] */ 100 __I uint32_t WSPW; /**< WSC Pulse Width 8..WSC Pulse Width 14, array offset: 0x3C, array step: 0x40, valid indices: [4-7] */ 101 __IO uint32_t WSPWCNT; /**< WSC Pulse Width Counter 8..WSC Pulse Width Counter 14, array offset: 0x40, array step: 0x40, valid indices: [4-7] */ 102 __IO uint32_t WSFC; /**< WSC FIFO Control 8..WSC FIFO Control 14, array offset: 0x44, array step: 0x40, valid indices: [4-7] */ 103 __I uint32_t WSFR; /**< WSC FIFO Read 8..WSC FIFO Read 14, array offset: 0x48, array step: 0x40, valid indices: [4-7] */ 104 __I uint32_t WSFCNT; /**< WSC FIFO Counter 8..WSC FIFO Counter 14, array offset: 0x4C, array step: 0x40, valid indices: [4-7] */ 105 __I uint32_t WSFPNT; /**< WSC FIFO Pointer 8..WSC FIFO Pointer 14, array offset: 0x50, array step: 0x40, valid indices: [4-7] */ 106 uint8_t RESERVED_0[12]; 107 } WSC[eMIOS_CH_WSC_WSC_COUNT]; 108 } CH; 109 } eMIOS_Type, *eMIOS_MemMapPtr; 110 111 /** Number of instances of the eMIOS module. */ 112 #define eMIOS_INSTANCE_COUNT (2u) 113 114 /* eMIOS - Peripheral instance base addresses */ 115 /** Peripheral EMIOS_0 base address */ 116 #define IP_EMIOS_0_BASE (0x420B0000u) 117 /** Peripheral EMIOS_0 base pointer */ 118 #define IP_EMIOS_0 ((eMIOS_Type *)IP_EMIOS_0_BASE) 119 /** Peripheral EMIOS_1 base address */ 120 #define IP_EMIOS_1_BASE (0x400B0000u) 121 /** Peripheral EMIOS_1 base pointer */ 122 #define IP_EMIOS_1 ((eMIOS_Type *)IP_EMIOS_1_BASE) 123 /** Array initializer of eMIOS peripheral base addresses */ 124 #define IP_eMIOS_BASE_ADDRS { IP_EMIOS_0_BASE, IP_EMIOS_1_BASE } 125 /** Array initializer of eMIOS peripheral base pointers */ 126 #define IP_eMIOS_BASE_PTRS { IP_EMIOS_0, IP_EMIOS_1 } 127 128 /* ---------------------------------------------------------------------------- 129 -- eMIOS Register Masks 130 ---------------------------------------------------------------------------- */ 131 132 /*! 133 * @addtogroup eMIOS_Register_Masks eMIOS Register Masks 134 * @{ 135 */ 136 137 /*! @name MCR - Module Configuration */ 138 /*! @{ */ 139 140 #define eMIOS_MCR_GPRE_MASK (0xFF00U) 141 #define eMIOS_MCR_GPRE_SHIFT (8U) 142 #define eMIOS_MCR_GPRE_WIDTH (8U) 143 #define eMIOS_MCR_GPRE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_MCR_GPRE_SHIFT)) & eMIOS_MCR_GPRE_MASK) 144 145 #define eMIOS_MCR_GPREN_MASK (0x4000000U) 146 #define eMIOS_MCR_GPREN_SHIFT (26U) 147 #define eMIOS_MCR_GPREN_WIDTH (1U) 148 #define eMIOS_MCR_GPREN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_MCR_GPREN_SHIFT)) & eMIOS_MCR_GPREN_MASK) 149 150 #define eMIOS_MCR_GTBE_MASK (0x10000000U) 151 #define eMIOS_MCR_GTBE_SHIFT (28U) 152 #define eMIOS_MCR_GTBE_WIDTH (1U) 153 #define eMIOS_MCR_GTBE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_MCR_GTBE_SHIFT)) & eMIOS_MCR_GTBE_MASK) 154 155 #define eMIOS_MCR_FRZ_MASK (0x20000000U) 156 #define eMIOS_MCR_FRZ_SHIFT (29U) 157 #define eMIOS_MCR_FRZ_WIDTH (1U) 158 #define eMIOS_MCR_FRZ(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_MCR_FRZ_SHIFT)) & eMIOS_MCR_FRZ_MASK) 159 /*! @} */ 160 161 /*! @name GFLAG - Global Flag */ 162 /*! @{ */ 163 164 #define eMIOS_GFLAG_F0_MASK (0x1U) 165 #define eMIOS_GFLAG_F0_SHIFT (0U) 166 #define eMIOS_GFLAG_F0_WIDTH (1U) 167 #define eMIOS_GFLAG_F0(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F0_SHIFT)) & eMIOS_GFLAG_F0_MASK) 168 169 #define eMIOS_GFLAG_F1_MASK (0x2U) 170 #define eMIOS_GFLAG_F1_SHIFT (1U) 171 #define eMIOS_GFLAG_F1_WIDTH (1U) 172 #define eMIOS_GFLAG_F1(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F1_SHIFT)) & eMIOS_GFLAG_F1_MASK) 173 174 #define eMIOS_GFLAG_F2_MASK (0x4U) 175 #define eMIOS_GFLAG_F2_SHIFT (2U) 176 #define eMIOS_GFLAG_F2_WIDTH (1U) 177 #define eMIOS_GFLAG_F2(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F2_SHIFT)) & eMIOS_GFLAG_F2_MASK) 178 179 #define eMIOS_GFLAG_F3_MASK (0x8U) 180 #define eMIOS_GFLAG_F3_SHIFT (3U) 181 #define eMIOS_GFLAG_F3_WIDTH (1U) 182 #define eMIOS_GFLAG_F3(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F3_SHIFT)) & eMIOS_GFLAG_F3_MASK) 183 184 #define eMIOS_GFLAG_F4_MASK (0x10U) 185 #define eMIOS_GFLAG_F4_SHIFT (4U) 186 #define eMIOS_GFLAG_F4_WIDTH (1U) 187 #define eMIOS_GFLAG_F4(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F4_SHIFT)) & eMIOS_GFLAG_F4_MASK) 188 189 #define eMIOS_GFLAG_F5_MASK (0x20U) 190 #define eMIOS_GFLAG_F5_SHIFT (5U) 191 #define eMIOS_GFLAG_F5_WIDTH (1U) 192 #define eMIOS_GFLAG_F5(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F5_SHIFT)) & eMIOS_GFLAG_F5_MASK) 193 194 #define eMIOS_GFLAG_F6_MASK (0x40U) 195 #define eMIOS_GFLAG_F6_SHIFT (6U) 196 #define eMIOS_GFLAG_F6_WIDTH (1U) 197 #define eMIOS_GFLAG_F6(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F6_SHIFT)) & eMIOS_GFLAG_F6_MASK) 198 199 #define eMIOS_GFLAG_F7_MASK (0x80U) 200 #define eMIOS_GFLAG_F7_SHIFT (7U) 201 #define eMIOS_GFLAG_F7_WIDTH (1U) 202 #define eMIOS_GFLAG_F7(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F7_SHIFT)) & eMIOS_GFLAG_F7_MASK) 203 204 #define eMIOS_GFLAG_F8_MASK (0x100U) 205 #define eMIOS_GFLAG_F8_SHIFT (8U) 206 #define eMIOS_GFLAG_F8_WIDTH (1U) 207 #define eMIOS_GFLAG_F8(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F8_SHIFT)) & eMIOS_GFLAG_F8_MASK) 208 209 #define eMIOS_GFLAG_F9_MASK (0x200U) 210 #define eMIOS_GFLAG_F9_SHIFT (9U) 211 #define eMIOS_GFLAG_F9_WIDTH (1U) 212 #define eMIOS_GFLAG_F9(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F9_SHIFT)) & eMIOS_GFLAG_F9_MASK) 213 214 #define eMIOS_GFLAG_F10_MASK (0x400U) 215 #define eMIOS_GFLAG_F10_SHIFT (10U) 216 #define eMIOS_GFLAG_F10_WIDTH (1U) 217 #define eMIOS_GFLAG_F10(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F10_SHIFT)) & eMIOS_GFLAG_F10_MASK) 218 219 #define eMIOS_GFLAG_F11_MASK (0x800U) 220 #define eMIOS_GFLAG_F11_SHIFT (11U) 221 #define eMIOS_GFLAG_F11_WIDTH (1U) 222 #define eMIOS_GFLAG_F11(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F11_SHIFT)) & eMIOS_GFLAG_F11_MASK) 223 224 #define eMIOS_GFLAG_F12_MASK (0x1000U) 225 #define eMIOS_GFLAG_F12_SHIFT (12U) 226 #define eMIOS_GFLAG_F12_WIDTH (1U) 227 #define eMIOS_GFLAG_F12(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F12_SHIFT)) & eMIOS_GFLAG_F12_MASK) 228 229 #define eMIOS_GFLAG_F13_MASK (0x2000U) 230 #define eMIOS_GFLAG_F13_SHIFT (13U) 231 #define eMIOS_GFLAG_F13_WIDTH (1U) 232 #define eMIOS_GFLAG_F13(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F13_SHIFT)) & eMIOS_GFLAG_F13_MASK) 233 234 #define eMIOS_GFLAG_F14_MASK (0x4000U) 235 #define eMIOS_GFLAG_F14_SHIFT (14U) 236 #define eMIOS_GFLAG_F14_WIDTH (1U) 237 #define eMIOS_GFLAG_F14(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F14_SHIFT)) & eMIOS_GFLAG_F14_MASK) 238 239 #define eMIOS_GFLAG_F15_MASK (0x8000U) 240 #define eMIOS_GFLAG_F15_SHIFT (15U) 241 #define eMIOS_GFLAG_F15_WIDTH (1U) 242 #define eMIOS_GFLAG_F15(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F15_SHIFT)) & eMIOS_GFLAG_F15_MASK) 243 244 #define eMIOS_GFLAG_F16_MASK (0x10000U) 245 #define eMIOS_GFLAG_F16_SHIFT (16U) 246 #define eMIOS_GFLAG_F16_WIDTH (1U) 247 #define eMIOS_GFLAG_F16(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F16_SHIFT)) & eMIOS_GFLAG_F16_MASK) 248 249 #define eMIOS_GFLAG_F17_MASK (0x20000U) 250 #define eMIOS_GFLAG_F17_SHIFT (17U) 251 #define eMIOS_GFLAG_F17_WIDTH (1U) 252 #define eMIOS_GFLAG_F17(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F17_SHIFT)) & eMIOS_GFLAG_F17_MASK) 253 254 #define eMIOS_GFLAG_F18_MASK (0x40000U) 255 #define eMIOS_GFLAG_F18_SHIFT (18U) 256 #define eMIOS_GFLAG_F18_WIDTH (1U) 257 #define eMIOS_GFLAG_F18(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F18_SHIFT)) & eMIOS_GFLAG_F18_MASK) 258 259 #define eMIOS_GFLAG_F19_MASK (0x80000U) 260 #define eMIOS_GFLAG_F19_SHIFT (19U) 261 #define eMIOS_GFLAG_F19_WIDTH (1U) 262 #define eMIOS_GFLAG_F19(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F19_SHIFT)) & eMIOS_GFLAG_F19_MASK) 263 264 #define eMIOS_GFLAG_F20_MASK (0x100000U) 265 #define eMIOS_GFLAG_F20_SHIFT (20U) 266 #define eMIOS_GFLAG_F20_WIDTH (1U) 267 #define eMIOS_GFLAG_F20(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F20_SHIFT)) & eMIOS_GFLAG_F20_MASK) 268 269 #define eMIOS_GFLAG_F21_MASK (0x200000U) 270 #define eMIOS_GFLAG_F21_SHIFT (21U) 271 #define eMIOS_GFLAG_F21_WIDTH (1U) 272 #define eMIOS_GFLAG_F21(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F21_SHIFT)) & eMIOS_GFLAG_F21_MASK) 273 274 #define eMIOS_GFLAG_F22_MASK (0x400000U) 275 #define eMIOS_GFLAG_F22_SHIFT (22U) 276 #define eMIOS_GFLAG_F22_WIDTH (1U) 277 #define eMIOS_GFLAG_F22(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F22_SHIFT)) & eMIOS_GFLAG_F22_MASK) 278 279 #define eMIOS_GFLAG_F23_MASK (0x800000U) 280 #define eMIOS_GFLAG_F23_SHIFT (23U) 281 #define eMIOS_GFLAG_F23_WIDTH (1U) 282 #define eMIOS_GFLAG_F23(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F23_SHIFT)) & eMIOS_GFLAG_F23_MASK) 283 284 #define eMIOS_GFLAG_F24_MASK (0x1000000U) 285 #define eMIOS_GFLAG_F24_SHIFT (24U) 286 #define eMIOS_GFLAG_F24_WIDTH (1U) 287 #define eMIOS_GFLAG_F24(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F24_SHIFT)) & eMIOS_GFLAG_F24_MASK) 288 289 #define eMIOS_GFLAG_F25_MASK (0x2000000U) 290 #define eMIOS_GFLAG_F25_SHIFT (25U) 291 #define eMIOS_GFLAG_F25_WIDTH (1U) 292 #define eMIOS_GFLAG_F25(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F25_SHIFT)) & eMIOS_GFLAG_F25_MASK) 293 294 #define eMIOS_GFLAG_F26_MASK (0x4000000U) 295 #define eMIOS_GFLAG_F26_SHIFT (26U) 296 #define eMIOS_GFLAG_F26_WIDTH (1U) 297 #define eMIOS_GFLAG_F26(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F26_SHIFT)) & eMIOS_GFLAG_F26_MASK) 298 299 #define eMIOS_GFLAG_F27_MASK (0x8000000U) 300 #define eMIOS_GFLAG_F27_SHIFT (27U) 301 #define eMIOS_GFLAG_F27_WIDTH (1U) 302 #define eMIOS_GFLAG_F27(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F27_SHIFT)) & eMIOS_GFLAG_F27_MASK) 303 304 #define eMIOS_GFLAG_F28_MASK (0x10000000U) 305 #define eMIOS_GFLAG_F28_SHIFT (28U) 306 #define eMIOS_GFLAG_F28_WIDTH (1U) 307 #define eMIOS_GFLAG_F28(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F28_SHIFT)) & eMIOS_GFLAG_F28_MASK) 308 309 #define eMIOS_GFLAG_F29_MASK (0x20000000U) 310 #define eMIOS_GFLAG_F29_SHIFT (29U) 311 #define eMIOS_GFLAG_F29_WIDTH (1U) 312 #define eMIOS_GFLAG_F29(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F29_SHIFT)) & eMIOS_GFLAG_F29_MASK) 313 314 #define eMIOS_GFLAG_F30_MASK (0x40000000U) 315 #define eMIOS_GFLAG_F30_SHIFT (30U) 316 #define eMIOS_GFLAG_F30_WIDTH (1U) 317 #define eMIOS_GFLAG_F30(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F30_SHIFT)) & eMIOS_GFLAG_F30_MASK) 318 319 #define eMIOS_GFLAG_F31_MASK (0x80000000U) 320 #define eMIOS_GFLAG_F31_SHIFT (31U) 321 #define eMIOS_GFLAG_F31_WIDTH (1U) 322 #define eMIOS_GFLAG_F31(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_GFLAG_F31_SHIFT)) & eMIOS_GFLAG_F31_MASK) 323 /*! @} */ 324 325 /*! @name OUDIS - Output Update Disable */ 326 /*! @{ */ 327 328 #define eMIOS_OUDIS_OU0_MASK (0x1U) 329 #define eMIOS_OUDIS_OU0_SHIFT (0U) 330 #define eMIOS_OUDIS_OU0_WIDTH (1U) 331 #define eMIOS_OUDIS_OU0(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU0_SHIFT)) & eMIOS_OUDIS_OU0_MASK) 332 333 #define eMIOS_OUDIS_OU1_MASK (0x2U) 334 #define eMIOS_OUDIS_OU1_SHIFT (1U) 335 #define eMIOS_OUDIS_OU1_WIDTH (1U) 336 #define eMIOS_OUDIS_OU1(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU1_SHIFT)) & eMIOS_OUDIS_OU1_MASK) 337 338 #define eMIOS_OUDIS_OU2_MASK (0x4U) 339 #define eMIOS_OUDIS_OU2_SHIFT (2U) 340 #define eMIOS_OUDIS_OU2_WIDTH (1U) 341 #define eMIOS_OUDIS_OU2(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU2_SHIFT)) & eMIOS_OUDIS_OU2_MASK) 342 343 #define eMIOS_OUDIS_OU3_MASK (0x8U) 344 #define eMIOS_OUDIS_OU3_SHIFT (3U) 345 #define eMIOS_OUDIS_OU3_WIDTH (1U) 346 #define eMIOS_OUDIS_OU3(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU3_SHIFT)) & eMIOS_OUDIS_OU3_MASK) 347 348 #define eMIOS_OUDIS_OU4_MASK (0x10U) 349 #define eMIOS_OUDIS_OU4_SHIFT (4U) 350 #define eMIOS_OUDIS_OU4_WIDTH (1U) 351 #define eMIOS_OUDIS_OU4(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU4_SHIFT)) & eMIOS_OUDIS_OU4_MASK) 352 353 #define eMIOS_OUDIS_OU5_MASK (0x20U) 354 #define eMIOS_OUDIS_OU5_SHIFT (5U) 355 #define eMIOS_OUDIS_OU5_WIDTH (1U) 356 #define eMIOS_OUDIS_OU5(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU5_SHIFT)) & eMIOS_OUDIS_OU5_MASK) 357 358 #define eMIOS_OUDIS_OU6_MASK (0x40U) 359 #define eMIOS_OUDIS_OU6_SHIFT (6U) 360 #define eMIOS_OUDIS_OU6_WIDTH (1U) 361 #define eMIOS_OUDIS_OU6(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU6_SHIFT)) & eMIOS_OUDIS_OU6_MASK) 362 363 #define eMIOS_OUDIS_OU7_MASK (0x80U) 364 #define eMIOS_OUDIS_OU7_SHIFT (7U) 365 #define eMIOS_OUDIS_OU7_WIDTH (1U) 366 #define eMIOS_OUDIS_OU7(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU7_SHIFT)) & eMIOS_OUDIS_OU7_MASK) 367 368 #define eMIOS_OUDIS_OU16_MASK (0x10000U) 369 #define eMIOS_OUDIS_OU16_SHIFT (16U) 370 #define eMIOS_OUDIS_OU16_WIDTH (1U) 371 #define eMIOS_OUDIS_OU16(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU16_SHIFT)) & eMIOS_OUDIS_OU16_MASK) 372 373 #define eMIOS_OUDIS_OU17_MASK (0x20000U) 374 #define eMIOS_OUDIS_OU17_SHIFT (17U) 375 #define eMIOS_OUDIS_OU17_WIDTH (1U) 376 #define eMIOS_OUDIS_OU17(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU17_SHIFT)) & eMIOS_OUDIS_OU17_MASK) 377 378 #define eMIOS_OUDIS_OU18_MASK (0x40000U) 379 #define eMIOS_OUDIS_OU18_SHIFT (18U) 380 #define eMIOS_OUDIS_OU18_WIDTH (1U) 381 #define eMIOS_OUDIS_OU18(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU18_SHIFT)) & eMIOS_OUDIS_OU18_MASK) 382 383 #define eMIOS_OUDIS_OU19_MASK (0x80000U) 384 #define eMIOS_OUDIS_OU19_SHIFT (19U) 385 #define eMIOS_OUDIS_OU19_WIDTH (1U) 386 #define eMIOS_OUDIS_OU19(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU19_SHIFT)) & eMIOS_OUDIS_OU19_MASK) 387 388 #define eMIOS_OUDIS_OU20_MASK (0x100000U) 389 #define eMIOS_OUDIS_OU20_SHIFT (20U) 390 #define eMIOS_OUDIS_OU20_WIDTH (1U) 391 #define eMIOS_OUDIS_OU20(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU20_SHIFT)) & eMIOS_OUDIS_OU20_MASK) 392 393 #define eMIOS_OUDIS_OU21_MASK (0x200000U) 394 #define eMIOS_OUDIS_OU21_SHIFT (21U) 395 #define eMIOS_OUDIS_OU21_WIDTH (1U) 396 #define eMIOS_OUDIS_OU21(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU21_SHIFT)) & eMIOS_OUDIS_OU21_MASK) 397 398 #define eMIOS_OUDIS_OU22_MASK (0x400000U) 399 #define eMIOS_OUDIS_OU22_SHIFT (22U) 400 #define eMIOS_OUDIS_OU22_WIDTH (1U) 401 #define eMIOS_OUDIS_OU22(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU22_SHIFT)) & eMIOS_OUDIS_OU22_MASK) 402 403 #define eMIOS_OUDIS_OU23_MASK (0x800000U) 404 #define eMIOS_OUDIS_OU23_SHIFT (23U) 405 #define eMIOS_OUDIS_OU23_WIDTH (1U) 406 #define eMIOS_OUDIS_OU23(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU23_SHIFT)) & eMIOS_OUDIS_OU23_MASK) 407 408 #define eMIOS_OUDIS_OU24_MASK (0x1000000U) 409 #define eMIOS_OUDIS_OU24_SHIFT (24U) 410 #define eMIOS_OUDIS_OU24_WIDTH (1U) 411 #define eMIOS_OUDIS_OU24(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU24_SHIFT)) & eMIOS_OUDIS_OU24_MASK) 412 413 #define eMIOS_OUDIS_OU25_MASK (0x2000000U) 414 #define eMIOS_OUDIS_OU25_SHIFT (25U) 415 #define eMIOS_OUDIS_OU25_WIDTH (1U) 416 #define eMIOS_OUDIS_OU25(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU25_SHIFT)) & eMIOS_OUDIS_OU25_MASK) 417 418 #define eMIOS_OUDIS_OU26_MASK (0x4000000U) 419 #define eMIOS_OUDIS_OU26_SHIFT (26U) 420 #define eMIOS_OUDIS_OU26_WIDTH (1U) 421 #define eMIOS_OUDIS_OU26(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU26_SHIFT)) & eMIOS_OUDIS_OU26_MASK) 422 423 #define eMIOS_OUDIS_OU27_MASK (0x8000000U) 424 #define eMIOS_OUDIS_OU27_SHIFT (27U) 425 #define eMIOS_OUDIS_OU27_WIDTH (1U) 426 #define eMIOS_OUDIS_OU27(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU27_SHIFT)) & eMIOS_OUDIS_OU27_MASK) 427 428 #define eMIOS_OUDIS_OU28_MASK (0x10000000U) 429 #define eMIOS_OUDIS_OU28_SHIFT (28U) 430 #define eMIOS_OUDIS_OU28_WIDTH (1U) 431 #define eMIOS_OUDIS_OU28(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU28_SHIFT)) & eMIOS_OUDIS_OU28_MASK) 432 433 #define eMIOS_OUDIS_OU29_MASK (0x20000000U) 434 #define eMIOS_OUDIS_OU29_SHIFT (29U) 435 #define eMIOS_OUDIS_OU29_WIDTH (1U) 436 #define eMIOS_OUDIS_OU29(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU29_SHIFT)) & eMIOS_OUDIS_OU29_MASK) 437 438 #define eMIOS_OUDIS_OU30_MASK (0x40000000U) 439 #define eMIOS_OUDIS_OU30_SHIFT (30U) 440 #define eMIOS_OUDIS_OU30_WIDTH (1U) 441 #define eMIOS_OUDIS_OU30(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU30_SHIFT)) & eMIOS_OUDIS_OU30_MASK) 442 443 #define eMIOS_OUDIS_OU31_MASK (0x80000000U) 444 #define eMIOS_OUDIS_OU31_SHIFT (31U) 445 #define eMIOS_OUDIS_OU31_WIDTH (1U) 446 #define eMIOS_OUDIS_OU31(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_OUDIS_OU31_SHIFT)) & eMIOS_OUDIS_OU31_MASK) 447 /*! @} */ 448 449 /*! @name A - UC A 0..UC A 31 */ 450 /*! @{ */ 451 452 #define eMIOS_A_A_MASK (0xFFFFFFU) 453 #define eMIOS_A_A_SHIFT (0U) 454 #define eMIOS_A_A_WIDTH (24U) 455 #define eMIOS_A_A(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_A_A_SHIFT)) & eMIOS_A_A_MASK) 456 457 #define eMIOS_A_RISE_FALL_MASK (0x80000000U) 458 #define eMIOS_A_RISE_FALL_SHIFT (31U) 459 #define eMIOS_A_RISE_FALL_WIDTH (1U) 460 #define eMIOS_A_RISE_FALL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_A_RISE_FALL_SHIFT)) & eMIOS_A_RISE_FALL_MASK) 461 /*! @} */ 462 463 /*! @name B - UC B 0..UC B 31 */ 464 /*! @{ */ 465 466 #define eMIOS_B_B_MASK (0xFFFFFFU) 467 #define eMIOS_B_B_SHIFT (0U) 468 #define eMIOS_B_B_WIDTH (24U) 469 #define eMIOS_B_B(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_B_B_SHIFT)) & eMIOS_B_B_MASK) 470 /*! @} */ 471 472 /*! @name CNT - UC Counter 0..UC Counter 31 */ 473 /*! @{ */ 474 475 #define eMIOS_CNT_C_MASK (0xFFFFFFU) 476 #define eMIOS_CNT_C_SHIFT (0U) 477 #define eMIOS_CNT_C_WIDTH (24U) 478 #define eMIOS_CNT_C(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_CNT_C_SHIFT)) & eMIOS_CNT_C_MASK) 479 /*! @} */ 480 481 /*! @name C - UC Control 0..UC Control 31 */ 482 /*! @{ */ 483 484 #define eMIOS_C_MODE_MASK (0x7FU) 485 #define eMIOS_C_MODE_SHIFT (0U) 486 #define eMIOS_C_MODE_WIDTH (7U) 487 #define eMIOS_C_MODE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_MODE_SHIFT)) & eMIOS_C_MODE_MASK) 488 489 #define eMIOS_C_EDPOL_MASK (0x80U) 490 #define eMIOS_C_EDPOL_SHIFT (7U) 491 #define eMIOS_C_EDPOL_WIDTH (1U) 492 #define eMIOS_C_EDPOL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_EDPOL_SHIFT)) & eMIOS_C_EDPOL_MASK) 493 494 #define eMIOS_C_EDSEL_MASK (0x100U) 495 #define eMIOS_C_EDSEL_SHIFT (8U) 496 #define eMIOS_C_EDSEL_WIDTH (1U) 497 #define eMIOS_C_EDSEL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_EDSEL_SHIFT)) & eMIOS_C_EDSEL_MASK) 498 499 #define eMIOS_C_BSL_MASK (0x600U) 500 #define eMIOS_C_BSL_SHIFT (9U) 501 #define eMIOS_C_BSL_WIDTH (2U) 502 #define eMIOS_C_BSL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_BSL_SHIFT)) & eMIOS_C_BSL_MASK) 503 504 #define eMIOS_C_FORCMB_MASK (0x1000U) 505 #define eMIOS_C_FORCMB_SHIFT (12U) 506 #define eMIOS_C_FORCMB_WIDTH (1U) 507 #define eMIOS_C_FORCMB(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_FORCMB_SHIFT)) & eMIOS_C_FORCMB_MASK) 508 509 #define eMIOS_C_FORCMA_MASK (0x2000U) 510 #define eMIOS_C_FORCMA_SHIFT (13U) 511 #define eMIOS_C_FORCMA_WIDTH (1U) 512 #define eMIOS_C_FORCMA(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_FORCMA_SHIFT)) & eMIOS_C_FORCMA_MASK) 513 514 #define eMIOS_C_FEN_MASK (0x20000U) 515 #define eMIOS_C_FEN_SHIFT (17U) 516 #define eMIOS_C_FEN_WIDTH (1U) 517 #define eMIOS_C_FEN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_FEN_SHIFT)) & eMIOS_C_FEN_MASK) 518 519 #define eMIOS_C_FCK_MASK (0x40000U) 520 #define eMIOS_C_FCK_SHIFT (18U) 521 #define eMIOS_C_FCK_WIDTH (1U) 522 #define eMIOS_C_FCK(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_FCK_SHIFT)) & eMIOS_C_FCK_MASK) 523 524 #define eMIOS_C_IF_MASK (0x780000U) 525 #define eMIOS_C_IF_SHIFT (19U) 526 #define eMIOS_C_IF_WIDTH (4U) 527 #define eMIOS_C_IF(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_IF_SHIFT)) & eMIOS_C_IF_MASK) 528 529 #define eMIOS_C_DMA_MASK (0x1000000U) 530 #define eMIOS_C_DMA_SHIFT (24U) 531 #define eMIOS_C_DMA_WIDTH (1U) 532 #define eMIOS_C_DMA(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_DMA_SHIFT)) & eMIOS_C_DMA_MASK) 533 534 #define eMIOS_C_UCPREN_MASK (0x2000000U) 535 #define eMIOS_C_UCPREN_SHIFT (25U) 536 #define eMIOS_C_UCPREN_WIDTH (1U) 537 #define eMIOS_C_UCPREN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_UCPREN_SHIFT)) & eMIOS_C_UCPREN_MASK) 538 539 #define eMIOS_C_UCPRE_MASK (0xC000000U) 540 #define eMIOS_C_UCPRE_SHIFT (26U) 541 #define eMIOS_C_UCPRE_WIDTH (2U) 542 #define eMIOS_C_UCPRE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_UCPRE_SHIFT)) & eMIOS_C_UCPRE_MASK) 543 544 #define eMIOS_C_ODISSL_MASK (0x30000000U) 545 #define eMIOS_C_ODISSL_SHIFT (28U) 546 #define eMIOS_C_ODISSL_WIDTH (2U) 547 #define eMIOS_C_ODISSL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_ODISSL_SHIFT)) & eMIOS_C_ODISSL_MASK) 548 549 #define eMIOS_C_ODIS_MASK (0x40000000U) 550 #define eMIOS_C_ODIS_SHIFT (30U) 551 #define eMIOS_C_ODIS_WIDTH (1U) 552 #define eMIOS_C_ODIS(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_ODIS_SHIFT)) & eMIOS_C_ODIS_MASK) 553 554 #define eMIOS_C_FREN_MASK (0x80000000U) 555 #define eMIOS_C_FREN_SHIFT (31U) 556 #define eMIOS_C_FREN_WIDTH (1U) 557 #define eMIOS_C_FREN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C_FREN_SHIFT)) & eMIOS_C_FREN_MASK) 558 /*! @} */ 559 560 /*! @name S - UC Status 0..UC Status 31 */ 561 /*! @{ */ 562 563 #define eMIOS_S_FLAG_MASK (0x1U) 564 #define eMIOS_S_FLAG_SHIFT (0U) 565 #define eMIOS_S_FLAG_WIDTH (1U) 566 #define eMIOS_S_FLAG(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_S_FLAG_SHIFT)) & eMIOS_S_FLAG_MASK) 567 568 #define eMIOS_S_UCOUT_MASK (0x2U) 569 #define eMIOS_S_UCOUT_SHIFT (1U) 570 #define eMIOS_S_UCOUT_WIDTH (1U) 571 #define eMIOS_S_UCOUT(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_S_UCOUT_SHIFT)) & eMIOS_S_UCOUT_MASK) 572 573 #define eMIOS_S_UCIN_MASK (0x4U) 574 #define eMIOS_S_UCIN_SHIFT (2U) 575 #define eMIOS_S_UCIN_WIDTH (1U) 576 #define eMIOS_S_UCIN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_S_UCIN_SHIFT)) & eMIOS_S_UCIN_MASK) 577 578 #define eMIOS_S_OVFL_MASK (0x8000U) 579 #define eMIOS_S_OVFL_SHIFT (15U) 580 #define eMIOS_S_OVFL_WIDTH (1U) 581 #define eMIOS_S_OVFL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_S_OVFL_SHIFT)) & eMIOS_S_OVFL_MASK) 582 583 #define eMIOS_S_OVR_MASK (0x80000000U) 584 #define eMIOS_S_OVR_SHIFT (31U) 585 #define eMIOS_S_OVR_WIDTH (1U) 586 #define eMIOS_S_OVR(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_S_OVR_SHIFT)) & eMIOS_S_OVR_MASK) 587 /*! @} */ 588 589 /*! @name ALTA - Alternate Address 0..Alternate Address 31 */ 590 /*! @{ */ 591 592 #define eMIOS_ALTA_ALTA_MASK (0xFFFFFFU) 593 #define eMIOS_ALTA_ALTA_SHIFT (0U) 594 #define eMIOS_ALTA_ALTA_WIDTH (24U) 595 #define eMIOS_ALTA_ALTA(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_ALTA_ALTA_SHIFT)) & eMIOS_ALTA_ALTA_MASK) 596 /*! @} */ 597 598 /*! @name C2 - UC Control 2 0..UC Control 2 31 */ 599 /*! @{ */ 600 601 #define eMIOS_C2_UCRELDEL_INT_MASK (0x1FU) 602 #define eMIOS_C2_UCRELDEL_INT_SHIFT (0U) 603 #define eMIOS_C2_UCRELDEL_INT_WIDTH (5U) 604 #define eMIOS_C2_UCRELDEL_INT(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C2_UCRELDEL_INT_SHIFT)) & eMIOS_C2_UCRELDEL_INT_MASK) 605 606 #define eMIOS_C2_UCPRECLK_MASK (0x4000U) 607 #define eMIOS_C2_UCPRECLK_SHIFT (14U) 608 #define eMIOS_C2_UCPRECLK_WIDTH (1U) 609 #define eMIOS_C2_UCPRECLK(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C2_UCPRECLK_SHIFT)) & eMIOS_C2_UCPRECLK_MASK) 610 611 #define eMIOS_C2_UCEXTPRE_MASK (0x3FFF0000U) 612 #define eMIOS_C2_UCEXTPRE_SHIFT (16U) 613 #define eMIOS_C2_UCEXTPRE_WIDTH (14U) 614 #define eMIOS_C2_UCEXTPRE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_C2_UCEXTPRE_SHIFT)) & eMIOS_C2_UCEXTPRE_MASK) 615 /*! @} */ 616 617 /*! @name WSCAEC - WSC Capture A and Event Counter 8..WSC Capture A and Event Counter 14 */ 618 /*! @{ */ 619 620 #define eMIOS_WSCAEC_T24CAPA_MASK (0xFFFFFFU) 621 #define eMIOS_WSCAEC_T24CAPA_SHIFT (0U) 622 #define eMIOS_WSCAEC_T24CAPA_WIDTH (24U) 623 #define eMIOS_WSCAEC_T24CAPA(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSCAEC_T24CAPA_SHIFT)) & eMIOS_WSCAEC_T24CAPA_MASK) 624 625 #define eMIOS_WSCAEC_EVCNT_MASK (0xFF000000U) 626 #define eMIOS_WSCAEC_EVCNT_SHIFT (24U) 627 #define eMIOS_WSCAEC_EVCNT_WIDTH (8U) 628 #define eMIOS_WSCAEC_EVCNT(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSCAEC_EVCNT_SHIFT)) & eMIOS_WSCAEC_EVCNT_MASK) 629 /*! @} */ 630 631 /*! @name WSCAPB - WSC Capture B 8..WSC Capture B 14 */ 632 /*! @{ */ 633 634 #define eMIOS_WSCAPB_T24CAPB_MASK (0xFFFFFFU) 635 #define eMIOS_WSCAPB_T24CAPB_SHIFT (0U) 636 #define eMIOS_WSCAPB_T24CAPB_WIDTH (24U) 637 #define eMIOS_WSCAPB_T24CAPB(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSCAPB_T24CAPB_SHIFT)) & eMIOS_WSCAPB_T24CAPB_MASK) 638 /*! @} */ 639 640 /*! @name WSC1 - WSC Control 1 8..WSC Control 1 14 */ 641 /*! @{ */ 642 643 #define eMIOS_WSC1_MODE_MASK (0x7FU) 644 #define eMIOS_WSC1_MODE_SHIFT (0U) 645 #define eMIOS_WSC1_MODE_WIDTH (7U) 646 #define eMIOS_WSC1_MODE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_MODE_SHIFT)) & eMIOS_WSC1_MODE_MASK) 647 648 #define eMIOS_WSC1_EDPOLCAP_MASK (0x80U) 649 #define eMIOS_WSC1_EDPOLCAP_SHIFT (7U) 650 #define eMIOS_WSC1_EDPOLCAP_WIDTH (1U) 651 #define eMIOS_WSC1_EDPOLCAP(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_EDPOLCAP_SHIFT)) & eMIOS_WSC1_EDPOLCAP_MASK) 652 653 #define eMIOS_WSC1_EDSELCAP_MASK (0x100U) 654 #define eMIOS_WSC1_EDSELCAP_SHIFT (8U) 655 #define eMIOS_WSC1_EDSELCAP_WIDTH (1U) 656 #define eMIOS_WSC1_EDSELCAP(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_EDSELCAP_SHIFT)) & eMIOS_WSC1_EDSELCAP_MASK) 657 658 #define eMIOS_WSC1_BSL_MASK (0x600U) 659 #define eMIOS_WSC1_BSL_SHIFT (9U) 660 #define eMIOS_WSC1_BSL_WIDTH (2U) 661 #define eMIOS_WSC1_BSL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_BSL_SHIFT)) & eMIOS_WSC1_BSL_MASK) 662 663 #define eMIOS_WSC1_FEN_MASK (0x20000U) 664 #define eMIOS_WSC1_FEN_SHIFT (17U) 665 #define eMIOS_WSC1_FEN_WIDTH (1U) 666 #define eMIOS_WSC1_FEN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_FEN_SHIFT)) & eMIOS_WSC1_FEN_MASK) 667 668 #define eMIOS_WSC1_FCK_MASK (0x40000U) 669 #define eMIOS_WSC1_FCK_SHIFT (18U) 670 #define eMIOS_WSC1_FCK_WIDTH (1U) 671 #define eMIOS_WSC1_FCK(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_FCK_SHIFT)) & eMIOS_WSC1_FCK_MASK) 672 673 #define eMIOS_WSC1_IF0_3_MASK (0x780000U) 674 #define eMIOS_WSC1_IF0_3_SHIFT (19U) 675 #define eMIOS_WSC1_IF0_3_WIDTH (4U) 676 #define eMIOS_WSC1_IF0_3(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_IF0_3_SHIFT)) & eMIOS_WSC1_IF0_3_MASK) 677 678 #define eMIOS_WSC1_DMA_MASK (0x1000000U) 679 #define eMIOS_WSC1_DMA_SHIFT (24U) 680 #define eMIOS_WSC1_DMA_WIDTH (1U) 681 #define eMIOS_WSC1_DMA(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_DMA_SHIFT)) & eMIOS_WSC1_DMA_MASK) 682 683 #define eMIOS_WSC1_CPREN_MASK (0x2000000U) 684 #define eMIOS_WSC1_CPREN_SHIFT (25U) 685 #define eMIOS_WSC1_CPREN_WIDTH (1U) 686 #define eMIOS_WSC1_CPREN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_CPREN_SHIFT)) & eMIOS_WSC1_CPREN_MASK) 687 688 #define eMIOS_WSC1_IF4_7_MASK (0x3C000000U) 689 #define eMIOS_WSC1_IF4_7_SHIFT (26U) 690 #define eMIOS_WSC1_IF4_7_WIDTH (4U) 691 #define eMIOS_WSC1_IF4_7(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_IF4_7_SHIFT)) & eMIOS_WSC1_IF4_7_MASK) 692 693 #define eMIOS_WSC1_FREN_MASK (0x80000000U) 694 #define eMIOS_WSC1_FREN_SHIFT (31U) 695 #define eMIOS_WSC1_FREN_WIDTH (1U) 696 #define eMIOS_WSC1_FREN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC1_FREN_SHIFT)) & eMIOS_WSC1_FREN_MASK) 697 /*! @} */ 698 699 /*! @name WSC2 - WSC Control 2 8..WSC Control 2 14 */ 700 /*! @{ */ 701 702 #define eMIOS_WSC2_FLAGSEL_MASK (0x3FU) 703 #define eMIOS_WSC2_FLAGSEL_SHIFT (0U) 704 #define eMIOS_WSC2_FLAGSEL_WIDTH (6U) 705 #define eMIOS_WSC2_FLAGSEL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC2_FLAGSEL_SHIFT)) & eMIOS_WSC2_FLAGSEL_MASK) 706 707 #define eMIOS_WSC2_EDPOLPW_MASK (0x80U) 708 #define eMIOS_WSC2_EDPOLPW_SHIFT (7U) 709 #define eMIOS_WSC2_EDPOLPW_WIDTH (1U) 710 #define eMIOS_WSC2_EDPOLPW(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC2_EDPOLPW_SHIFT)) & eMIOS_WSC2_EDPOLPW_MASK) 711 712 #define eMIOS_WSC2_EDSELPW_MASK (0x100U) 713 #define eMIOS_WSC2_EDSELPW_SHIFT (8U) 714 #define eMIOS_WSC2_EDSELPW_WIDTH (1U) 715 #define eMIOS_WSC2_EDSELPW(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC2_EDSELPW_SHIFT)) & eMIOS_WSC2_EDSELPW_MASK) 716 717 #define eMIOS_WSC2_PWREN_MASK (0x1000U) 718 #define eMIOS_WSC2_PWREN_SHIFT (12U) 719 #define eMIOS_WSC2_PWREN_WIDTH (1U) 720 #define eMIOS_WSC2_PWREN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC2_PWREN_SHIFT)) & eMIOS_WSC2_PWREN_MASK) 721 722 #define eMIOS_WSC2_PWSWR_MASK (0x2000U) 723 #define eMIOS_WSC2_PWSWR_SHIFT (13U) 724 #define eMIOS_WSC2_PWSWR_WIDTH (1U) 725 #define eMIOS_WSC2_PWSWR(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC2_PWSWR_SHIFT)) & eMIOS_WSC2_PWSWR_MASK) 726 727 #define eMIOS_WSC2_WSPREMODE_MASK (0x4000U) 728 #define eMIOS_WSC2_WSPREMODE_SHIFT (14U) 729 #define eMIOS_WSC2_WSPREMODE_WIDTH (1U) 730 #define eMIOS_WSC2_WSPREMODE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC2_WSPREMODE_SHIFT)) & eMIOS_WSC2_WSPREMODE_MASK) 731 732 #define eMIOS_WSC2_WSPRE_MASK (0xFFF0000U) 733 #define eMIOS_WSC2_WSPRE_SHIFT (16U) 734 #define eMIOS_WSC2_WSPRE_WIDTH (12U) 735 #define eMIOS_WSC2_WSPRE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSC2_WSPRE_SHIFT)) & eMIOS_WSC2_WSPRE_MASK) 736 /*! @} */ 737 738 /*! @name WSS - WSC Status 8..WSC Status 14 */ 739 /*! @{ */ 740 741 #define eMIOS_WSS_FLAGCE_MASK (0x1U) 742 #define eMIOS_WSS_FLAGCE_SHIFT (0U) 743 #define eMIOS_WSS_FLAGCE_WIDTH (1U) 744 #define eMIOS_WSS_FLAGCE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGCE_SHIFT)) & eMIOS_WSS_FLAGCE_MASK) 745 746 #define eMIOS_WSS_FLAGECO_MASK (0x2U) 747 #define eMIOS_WSS_FLAGECO_SHIFT (1U) 748 #define eMIOS_WSS_FLAGECO_WIDTH (1U) 749 #define eMIOS_WSS_FLAGECO(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGECO_SHIFT)) & eMIOS_WSS_FLAGECO_MASK) 750 751 #define eMIOS_WSS_FLAGPW_MASK (0x4U) 752 #define eMIOS_WSS_FLAGPW_SHIFT (2U) 753 #define eMIOS_WSS_FLAGPW_WIDTH (1U) 754 #define eMIOS_WSS_FLAGPW(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGPW_SHIFT)) & eMIOS_WSS_FLAGPW_MASK) 755 756 #define eMIOS_WSS_FLAGCAP_MASK (0x8U) 757 #define eMIOS_WSS_FLAGCAP_SHIFT (3U) 758 #define eMIOS_WSS_FLAGCAP_WIDTH (1U) 759 #define eMIOS_WSS_FLAGCAP(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGCAP_SHIFT)) & eMIOS_WSS_FLAGCAP_MASK) 760 761 #define eMIOS_WSS_FLAGPWO_MASK (0x10U) 762 #define eMIOS_WSS_FLAGPWO_SHIFT (4U) 763 #define eMIOS_WSS_FLAGPWO_WIDTH (1U) 764 #define eMIOS_WSS_FLAGPWO(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGPWO_SHIFT)) & eMIOS_WSS_FLAGPWO_MASK) 765 766 #define eMIOS_WSS_FLAGFF_MASK (0x20U) 767 #define eMIOS_WSS_FLAGFF_SHIFT (5U) 768 #define eMIOS_WSS_FLAGFF_WIDTH (1U) 769 #define eMIOS_WSS_FLAGFF(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGFF_SHIFT)) & eMIOS_WSS_FLAGFF_MASK) 770 771 #define eMIOS_WSS_OVRCE_MASK (0x100U) 772 #define eMIOS_WSS_OVRCE_SHIFT (8U) 773 #define eMIOS_WSS_OVRCE_WIDTH (1U) 774 #define eMIOS_WSS_OVRCE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRCE_SHIFT)) & eMIOS_WSS_OVRCE_MASK) 775 776 #define eMIOS_WSS_OVRECO_MASK (0x200U) 777 #define eMIOS_WSS_OVRECO_SHIFT (9U) 778 #define eMIOS_WSS_OVRECO_WIDTH (1U) 779 #define eMIOS_WSS_OVRECO(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRECO_SHIFT)) & eMIOS_WSS_OVRECO_MASK) 780 781 #define eMIOS_WSS_OVRPW_MASK (0x400U) 782 #define eMIOS_WSS_OVRPW_SHIFT (10U) 783 #define eMIOS_WSS_OVRPW_WIDTH (1U) 784 #define eMIOS_WSS_OVRPW(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRPW_SHIFT)) & eMIOS_WSS_OVRPW_MASK) 785 786 #define eMIOS_WSS_OVRCAP_MASK (0x800U) 787 #define eMIOS_WSS_OVRCAP_SHIFT (11U) 788 #define eMIOS_WSS_OVRCAP_WIDTH (1U) 789 #define eMIOS_WSS_OVRCAP(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRCAP_SHIFT)) & eMIOS_WSS_OVRCAP_MASK) 790 791 #define eMIOS_WSS_OVRPWO_MASK (0x1000U) 792 #define eMIOS_WSS_OVRPWO_SHIFT (12U) 793 #define eMIOS_WSS_OVRPWO_WIDTH (1U) 794 #define eMIOS_WSS_OVRPWO(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRPWO_SHIFT)) & eMIOS_WSS_OVRPWO_MASK) 795 796 #define eMIOS_WSS_WSCIN_MASK (0x8000U) 797 #define eMIOS_WSS_WSCIN_SHIFT (15U) 798 #define eMIOS_WSS_WSCIN_WIDTH (1U) 799 #define eMIOS_WSS_WSCIN(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_WSCIN_SHIFT)) & eMIOS_WSS_WSCIN_MASK) 800 801 #define eMIOS_WSS_FLAGCEC_MASK (0x10000U) 802 #define eMIOS_WSS_FLAGCEC_SHIFT (16U) 803 #define eMIOS_WSS_FLAGCEC_WIDTH (1U) 804 #define eMIOS_WSS_FLAGCEC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGCEC_SHIFT)) & eMIOS_WSS_FLAGCEC_MASK) 805 806 #define eMIOS_WSS_FLAGECOC_MASK (0x20000U) 807 #define eMIOS_WSS_FLAGECOC_SHIFT (17U) 808 #define eMIOS_WSS_FLAGECOC_WIDTH (1U) 809 #define eMIOS_WSS_FLAGECOC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGECOC_SHIFT)) & eMIOS_WSS_FLAGECOC_MASK) 810 811 #define eMIOS_WSS_FLAGPWC_MASK (0x40000U) 812 #define eMIOS_WSS_FLAGPWC_SHIFT (18U) 813 #define eMIOS_WSS_FLAGPWC_WIDTH (1U) 814 #define eMIOS_WSS_FLAGPWC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGPWC_SHIFT)) & eMIOS_WSS_FLAGPWC_MASK) 815 816 #define eMIOS_WSS_FLAGCAPC_MASK (0x80000U) 817 #define eMIOS_WSS_FLAGCAPC_SHIFT (19U) 818 #define eMIOS_WSS_FLAGCAPC_WIDTH (1U) 819 #define eMIOS_WSS_FLAGCAPC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGCAPC_SHIFT)) & eMIOS_WSS_FLAGCAPC_MASK) 820 821 #define eMIOS_WSS_FLAGPWOC_MASK (0x100000U) 822 #define eMIOS_WSS_FLAGPWOC_SHIFT (20U) 823 #define eMIOS_WSS_FLAGPWOC_WIDTH (1U) 824 #define eMIOS_WSS_FLAGPWOC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGPWOC_SHIFT)) & eMIOS_WSS_FLAGPWOC_MASK) 825 826 #define eMIOS_WSS_FLAGFFC_MASK (0x200000U) 827 #define eMIOS_WSS_FLAGFFC_SHIFT (21U) 828 #define eMIOS_WSS_FLAGFFC_WIDTH (1U) 829 #define eMIOS_WSS_FLAGFFC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_FLAGFFC_SHIFT)) & eMIOS_WSS_FLAGFFC_MASK) 830 831 #define eMIOS_WSS_OVRCEC_MASK (0x1000000U) 832 #define eMIOS_WSS_OVRCEC_SHIFT (24U) 833 #define eMIOS_WSS_OVRCEC_WIDTH (1U) 834 #define eMIOS_WSS_OVRCEC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRCEC_SHIFT)) & eMIOS_WSS_OVRCEC_MASK) 835 836 #define eMIOS_WSS_OVRECOC_MASK (0x2000000U) 837 #define eMIOS_WSS_OVRECOC_SHIFT (25U) 838 #define eMIOS_WSS_OVRECOC_WIDTH (1U) 839 #define eMIOS_WSS_OVRECOC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRECOC_SHIFT)) & eMIOS_WSS_OVRECOC_MASK) 840 841 #define eMIOS_WSS_OVRPWC_MASK (0x4000000U) 842 #define eMIOS_WSS_OVRPWC_SHIFT (26U) 843 #define eMIOS_WSS_OVRPWC_WIDTH (1U) 844 #define eMIOS_WSS_OVRPWC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRPWC_SHIFT)) & eMIOS_WSS_OVRPWC_MASK) 845 846 #define eMIOS_WSS_OVRCAPC_MASK (0x8000000U) 847 #define eMIOS_WSS_OVRCAPC_SHIFT (27U) 848 #define eMIOS_WSS_OVRCAPC_WIDTH (1U) 849 #define eMIOS_WSS_OVRCAPC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRCAPC_SHIFT)) & eMIOS_WSS_OVRCAPC_MASK) 850 851 #define eMIOS_WSS_OVRPWOC_MASK (0x10000000U) 852 #define eMIOS_WSS_OVRPWOC_SHIFT (28U) 853 #define eMIOS_WSS_OVRPWOC_WIDTH (1U) 854 #define eMIOS_WSS_OVRPWOC(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSS_OVRPWOC_SHIFT)) & eMIOS_WSS_OVRPWOC_MASK) 855 /*! @} */ 856 857 /*! @name WSEV - WSC Event 8..WSC Event 14 */ 858 /*! @{ */ 859 860 #define eMIOS_WSEV_EVENT_MASK (0xFFU) 861 #define eMIOS_WSEV_EVENT_SHIFT (0U) 862 #define eMIOS_WSEV_EVENT_WIDTH (8U) 863 #define eMIOS_WSEV_EVENT(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSEV_EVENT_SHIFT)) & eMIOS_WSEV_EVENT_MASK) 864 /*! @} */ 865 866 /*! @name WSCEV - WSC Capture Event 8..WSC Capture Event 14 */ 867 /*! @{ */ 868 869 #define eMIOS_WSCEV_T24CAPEV_MASK (0xFFFFFFU) 870 #define eMIOS_WSCEV_T24CAPEV_SHIFT (0U) 871 #define eMIOS_WSCEV_T24CAPEV_WIDTH (24U) 872 #define eMIOS_WSCEV_T24CAPEV(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSCEV_T24CAPEV_SHIFT)) & eMIOS_WSCEV_T24CAPEV_MASK) 873 /*! @} */ 874 875 /*! @name WSPW - WSC Pulse Width 8..WSC Pulse Width 14 */ 876 /*! @{ */ 877 878 #define eMIOS_WSPW_T16PWCAP_MASK (0xFFFFU) 879 #define eMIOS_WSPW_T16PWCAP_SHIFT (0U) 880 #define eMIOS_WSPW_T16PWCAP_WIDTH (16U) 881 #define eMIOS_WSPW_T16PWCAP(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSPW_T16PWCAP_SHIFT)) & eMIOS_WSPW_T16PWCAP_MASK) 882 /*! @} */ 883 884 /*! @name WSPWCNT - WSC Pulse Width Counter 8..WSC Pulse Width Counter 14 */ 885 /*! @{ */ 886 887 #define eMIOS_WSPWCNT_T16PWCNT_MASK (0xFFFFU) 888 #define eMIOS_WSPWCNT_T16PWCNT_SHIFT (0U) 889 #define eMIOS_WSPWCNT_T16PWCNT_WIDTH (16U) 890 #define eMIOS_WSPWCNT_T16PWCNT(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSPWCNT_T16PWCNT_SHIFT)) & eMIOS_WSPWCNT_T16PWCNT_MASK) 891 /*! @} */ 892 893 /*! @name WSFC - WSC FIFO Control 8..WSC FIFO Control 14 */ 894 /*! @{ */ 895 896 #define eMIOS_WSFC_CLRF_MASK (0x1U) 897 #define eMIOS_WSFC_CLRF_SHIFT (0U) 898 #define eMIOS_WSFC_CLRF_WIDTH (1U) 899 #define eMIOS_WSFC_CLRF(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSFC_CLRF_SHIFT)) & eMIOS_WSFC_CLRF_MASK) 900 901 #define eMIOS_WSFC_FOOE_MASK (0x2U) 902 #define eMIOS_WSFC_FOOE_SHIFT (1U) 903 #define eMIOS_WSFC_FOOE_WIDTH (1U) 904 #define eMIOS_WSFC_FOOE(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSFC_FOOE_SHIFT)) & eMIOS_WSFC_FOOE_MASK) 905 /*! @} */ 906 907 /*! @name WSFR - WSC FIFO Read 8..WSC FIFO Read 14 */ 908 /*! @{ */ 909 910 #define eMIOS_WSFR_T24CAPA_T16PWD_VAL_MASK (0xFFFFU) 911 #define eMIOS_WSFR_T24CAPA_T16PWD_VAL_SHIFT (0U) 912 #define eMIOS_WSFR_T24CAPA_T16PWD_VAL_WIDTH (16U) 913 #define eMIOS_WSFR_T24CAPA_T16PWD_VAL(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSFR_T24CAPA_T16PWD_VAL_SHIFT)) & eMIOS_WSFR_T24CAPA_T16PWD_VAL_MASK) 914 915 #define eMIOS_WSFR_E_MASK (0x10000U) 916 #define eMIOS_WSFR_E_SHIFT (16U) 917 #define eMIOS_WSFR_E_WIDTH (1U) 918 #define eMIOS_WSFR_E(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSFR_E_SHIFT)) & eMIOS_WSFR_E_MASK) 919 /*! @} */ 920 921 /*! @name WSFCNT - WSC FIFO Counter 8..WSC FIFO Counter 14 */ 922 /*! @{ */ 923 924 #define eMIOS_WSFCNT_FCNTR_MASK (0x1FU) 925 #define eMIOS_WSFCNT_FCNTR_SHIFT (0U) 926 #define eMIOS_WSFCNT_FCNTR_WIDTH (5U) 927 #define eMIOS_WSFCNT_FCNTR(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSFCNT_FCNTR_SHIFT)) & eMIOS_WSFCNT_FCNTR_MASK) 928 /*! @} */ 929 930 /*! @name WSFPNT - WSC FIFO Pointer 8..WSC FIFO Pointer 14 */ 931 /*! @{ */ 932 933 #define eMIOS_WSFPNT_FIFORDPT_MASK (0xFU) 934 #define eMIOS_WSFPNT_FIFORDPT_SHIFT (0U) 935 #define eMIOS_WSFPNT_FIFORDPT_WIDTH (4U) 936 #define eMIOS_WSFPNT_FIFORDPT(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSFPNT_FIFORDPT_SHIFT)) & eMIOS_WSFPNT_FIFORDPT_MASK) 937 938 #define eMIOS_WSFPNT_FIFOWRPT_MASK (0xF0000U) 939 #define eMIOS_WSFPNT_FIFOWRPT_SHIFT (16U) 940 #define eMIOS_WSFPNT_FIFOWRPT_WIDTH (4U) 941 #define eMIOS_WSFPNT_FIFOWRPT(x) (((uint32_t)(((uint32_t)(x)) << eMIOS_WSFPNT_FIFOWRPT_SHIFT)) & eMIOS_WSFPNT_FIFOWRPT_MASK) 942 /*! @} */ 943 944 /*! 945 * @} 946 */ /* end of group eMIOS_Register_Masks */ 947 948 /*! 949 * @} 950 */ /* end of group eMIOS_Peripheral_Access_Layer */ 951 952 #endif /* #if !defined(S32Z2_eMIOS_H_) */ 953