1 /* 2 * Copyright 1997-2016 Freescale Semiconductor, Inc. 3 * Copyright 2016-2022 NXP 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 /*! 9 * @file S32K142W_FLEXIO.h 10 * @version 1.2 11 * @date 2022-02-10 12 * @brief Peripheral Access Layer for S32K142W_FLEXIO 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(S32K142W_FLEXIO_H_) /* Check if memory map has not been already included */ 58 #define S32K142W_FLEXIO_H_ 59 60 #include "S32K142W_COMMON.h" 61 62 /* ---------------------------------------------------------------------------- 63 -- FLEXIO Peripheral Access Layer 64 ---------------------------------------------------------------------------- */ 65 66 /*! 67 * @addtogroup FLEXIO_Peripheral_Access_Layer FLEXIO Peripheral Access Layer 68 * @{ 69 */ 70 71 /** FLEXIO - Size of Registers Arrays */ 72 #define FLEXIO_SHIFTCTL_COUNT 4u 73 #define FLEXIO_SHIFTCFG_COUNT 4u 74 #define FLEXIO_SHIFTBUF_COUNT 4u 75 #define FLEXIO_SHIFTBUFBIS_COUNT 4u 76 #define FLEXIO_SHIFTBUFBYS_COUNT 4u 77 #define FLEXIO_SHIFTBUFBBS_COUNT 4u 78 #define FLEXIO_TIMCTL_COUNT 4u 79 #define FLEXIO_TIMCFG_COUNT 4u 80 #define FLEXIO_TIMCMP_COUNT 4u 81 82 /** FLEXIO - Register Layout Typedef */ 83 typedef struct { 84 __I uint32_t VERID; /**< Version ID Register, offset: 0x0 */ 85 __I uint32_t PARAM; /**< Parameter Register, offset: 0x4 */ 86 __IO uint32_t CTRL; /**< FlexIO Control Register, offset: 0x8 */ 87 __I uint32_t PIN; /**< Pin State Register, offset: 0xC */ 88 __IO uint32_t SHIFTSTAT; /**< Shifter Status Register, offset: 0x10 */ 89 __IO uint32_t SHIFTERR; /**< Shifter Error Register, offset: 0x14 */ 90 __IO uint32_t TIMSTAT; /**< Timer Status Register, offset: 0x18 */ 91 uint8_t RESERVED_0[4]; 92 __IO uint32_t SHIFTSIEN; /**< Shifter Status Interrupt Enable, offset: 0x20 */ 93 __IO uint32_t SHIFTEIEN; /**< Shifter Error Interrupt Enable, offset: 0x24 */ 94 __IO uint32_t TIMIEN; /**< Timer Interrupt Enable Register, offset: 0x28 */ 95 uint8_t RESERVED_1[4]; 96 __IO uint32_t SHIFTSDEN; /**< Shifter Status DMA Enable, offset: 0x30 */ 97 uint8_t RESERVED_2[76]; 98 __IO uint32_t SHIFTCTL[FLEXIO_SHIFTCTL_COUNT]; /**< Shifter Control N Register, array offset: 0x80, array step: 0x4 */ 99 uint8_t RESERVED_3[112]; 100 __IO uint32_t SHIFTCFG[FLEXIO_SHIFTCFG_COUNT]; /**< Shifter Configuration N Register, array offset: 0x100, array step: 0x4 */ 101 uint8_t RESERVED_4[240]; 102 __IO uint32_t SHIFTBUF[FLEXIO_SHIFTBUF_COUNT]; /**< Shifter Buffer N Register, array offset: 0x200, array step: 0x4 */ 103 uint8_t RESERVED_5[112]; 104 __IO uint32_t SHIFTBUFBIS[FLEXIO_SHIFTBUFBIS_COUNT]; /**< Shifter Buffer N Bit Swapped Register, array offset: 0x280, array step: 0x4 */ 105 uint8_t RESERVED_6[112]; 106 __IO uint32_t SHIFTBUFBYS[FLEXIO_SHIFTBUFBYS_COUNT]; /**< Shifter Buffer N Byte Swapped Register, array offset: 0x300, array step: 0x4 */ 107 uint8_t RESERVED_7[112]; 108 __IO uint32_t SHIFTBUFBBS[FLEXIO_SHIFTBUFBBS_COUNT]; /**< Shifter Buffer N Bit Byte Swapped Register, array offset: 0x380, array step: 0x4 */ 109 uint8_t RESERVED_8[112]; 110 __IO uint32_t TIMCTL[FLEXIO_TIMCTL_COUNT]; /**< Timer Control N Register, array offset: 0x400, array step: 0x4 */ 111 uint8_t RESERVED_9[112]; 112 __IO uint32_t TIMCFG[FLEXIO_TIMCFG_COUNT]; /**< Timer Configuration N Register, array offset: 0x480, array step: 0x4 */ 113 uint8_t RESERVED_10[112]; 114 __IO uint32_t TIMCMP[FLEXIO_TIMCMP_COUNT]; /**< Timer Compare N Register, array offset: 0x500, array step: 0x4 */ 115 } FLEXIO_Type, *FLEXIO_MemMapPtr; 116 117 /** Number of instances of the FLEXIO module. */ 118 #define FLEXIO_INSTANCE_COUNT (1u) 119 120 /* FLEXIO - Peripheral instance base addresses */ 121 /** Peripheral FLEXIO base address */ 122 #define IP_FLEXIO_BASE (0x4005A000u) 123 /** Peripheral FLEXIO base pointer */ 124 #define IP_FLEXIO ((FLEXIO_Type *)IP_FLEXIO_BASE) 125 /** Array initializer of FLEXIO peripheral base addresses */ 126 #define IP_FLEXIO_BASE_ADDRS { IP_FLEXIO_BASE } 127 /** Array initializer of FLEXIO peripheral base pointers */ 128 #define IP_FLEXIO_BASE_PTRS { IP_FLEXIO } 129 130 /* ---------------------------------------------------------------------------- 131 -- FLEXIO Register Masks 132 ---------------------------------------------------------------------------- */ 133 134 /*! 135 * @addtogroup FLEXIO_Register_Masks FLEXIO Register Masks 136 * @{ 137 */ 138 139 /*! @name VERID - Version ID Register */ 140 /*! @{ */ 141 142 #define FLEXIO_VERID_FEATURE_MASK (0xFFFFU) 143 #define FLEXIO_VERID_FEATURE_SHIFT (0U) 144 #define FLEXIO_VERID_FEATURE_WIDTH (16U) 145 #define FLEXIO_VERID_FEATURE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_FEATURE_SHIFT)) & FLEXIO_VERID_FEATURE_MASK) 146 147 #define FLEXIO_VERID_MINOR_MASK (0xFF0000U) 148 #define FLEXIO_VERID_MINOR_SHIFT (16U) 149 #define FLEXIO_VERID_MINOR_WIDTH (8U) 150 #define FLEXIO_VERID_MINOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MINOR_SHIFT)) & FLEXIO_VERID_MINOR_MASK) 151 152 #define FLEXIO_VERID_MAJOR_MASK (0xFF000000U) 153 #define FLEXIO_VERID_MAJOR_SHIFT (24U) 154 #define FLEXIO_VERID_MAJOR_WIDTH (8U) 155 #define FLEXIO_VERID_MAJOR(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_VERID_MAJOR_SHIFT)) & FLEXIO_VERID_MAJOR_MASK) 156 /*! @} */ 157 158 /*! @name PARAM - Parameter Register */ 159 /*! @{ */ 160 161 #define FLEXIO_PARAM_SHIFTER_MASK (0xFFU) 162 #define FLEXIO_PARAM_SHIFTER_SHIFT (0U) 163 #define FLEXIO_PARAM_SHIFTER_WIDTH (8U) 164 #define FLEXIO_PARAM_SHIFTER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_SHIFTER_SHIFT)) & FLEXIO_PARAM_SHIFTER_MASK) 165 166 #define FLEXIO_PARAM_TIMER_MASK (0xFF00U) 167 #define FLEXIO_PARAM_TIMER_SHIFT (8U) 168 #define FLEXIO_PARAM_TIMER_WIDTH (8U) 169 #define FLEXIO_PARAM_TIMER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TIMER_SHIFT)) & FLEXIO_PARAM_TIMER_MASK) 170 171 #define FLEXIO_PARAM_PIN_MASK (0xFF0000U) 172 #define FLEXIO_PARAM_PIN_SHIFT (16U) 173 #define FLEXIO_PARAM_PIN_WIDTH (8U) 174 #define FLEXIO_PARAM_PIN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_PIN_SHIFT)) & FLEXIO_PARAM_PIN_MASK) 175 176 #define FLEXIO_PARAM_TRIGGER_MASK (0xFF000000U) 177 #define FLEXIO_PARAM_TRIGGER_SHIFT (24U) 178 #define FLEXIO_PARAM_TRIGGER_WIDTH (8U) 179 #define FLEXIO_PARAM_TRIGGER(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PARAM_TRIGGER_SHIFT)) & FLEXIO_PARAM_TRIGGER_MASK) 180 /*! @} */ 181 182 /*! @name CTRL - FlexIO Control Register */ 183 /*! @{ */ 184 185 #define FLEXIO_CTRL_FLEXEN_MASK (0x1U) 186 #define FLEXIO_CTRL_FLEXEN_SHIFT (0U) 187 #define FLEXIO_CTRL_FLEXEN_WIDTH (1U) 188 #define FLEXIO_CTRL_FLEXEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FLEXEN_SHIFT)) & FLEXIO_CTRL_FLEXEN_MASK) 189 190 #define FLEXIO_CTRL_SWRST_MASK (0x2U) 191 #define FLEXIO_CTRL_SWRST_SHIFT (1U) 192 #define FLEXIO_CTRL_SWRST_WIDTH (1U) 193 #define FLEXIO_CTRL_SWRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_SWRST_SHIFT)) & FLEXIO_CTRL_SWRST_MASK) 194 195 #define FLEXIO_CTRL_FASTACC_MASK (0x4U) 196 #define FLEXIO_CTRL_FASTACC_SHIFT (2U) 197 #define FLEXIO_CTRL_FASTACC_WIDTH (1U) 198 #define FLEXIO_CTRL_FASTACC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_FASTACC_SHIFT)) & FLEXIO_CTRL_FASTACC_MASK) 199 200 #define FLEXIO_CTRL_DBGE_MASK (0x40000000U) 201 #define FLEXIO_CTRL_DBGE_SHIFT (30U) 202 #define FLEXIO_CTRL_DBGE_WIDTH (1U) 203 #define FLEXIO_CTRL_DBGE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DBGE_SHIFT)) & FLEXIO_CTRL_DBGE_MASK) 204 205 #define FLEXIO_CTRL_DOZEN_MASK (0x80000000U) 206 #define FLEXIO_CTRL_DOZEN_SHIFT (31U) 207 #define FLEXIO_CTRL_DOZEN_WIDTH (1U) 208 #define FLEXIO_CTRL_DOZEN(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_CTRL_DOZEN_SHIFT)) & FLEXIO_CTRL_DOZEN_MASK) 209 /*! @} */ 210 211 /*! @name PIN - Pin State Register */ 212 /*! @{ */ 213 214 #define FLEXIO_PIN_PDI_MASK (0xFFU) 215 #define FLEXIO_PIN_PDI_SHIFT (0U) 216 #define FLEXIO_PIN_PDI_WIDTH (8U) 217 #define FLEXIO_PIN_PDI(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_PIN_PDI_SHIFT)) & FLEXIO_PIN_PDI_MASK) 218 /*! @} */ 219 220 /*! @name SHIFTSTAT - Shifter Status Register */ 221 /*! @{ */ 222 223 #define FLEXIO_SHIFTSTAT_SSF_MASK (0xFU) 224 #define FLEXIO_SHIFTSTAT_SSF_SHIFT (0U) 225 #define FLEXIO_SHIFTSTAT_SSF_WIDTH (4U) 226 #define FLEXIO_SHIFTSTAT_SSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSTAT_SSF_SHIFT)) & FLEXIO_SHIFTSTAT_SSF_MASK) 227 /*! @} */ 228 229 /*! @name SHIFTERR - Shifter Error Register */ 230 /*! @{ */ 231 232 #define FLEXIO_SHIFTERR_SEF_MASK (0xFU) 233 #define FLEXIO_SHIFTERR_SEF_SHIFT (0U) 234 #define FLEXIO_SHIFTERR_SEF_WIDTH (4U) 235 #define FLEXIO_SHIFTERR_SEF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTERR_SEF_SHIFT)) & FLEXIO_SHIFTERR_SEF_MASK) 236 /*! @} */ 237 238 /*! @name TIMSTAT - Timer Status Register */ 239 /*! @{ */ 240 241 #define FLEXIO_TIMSTAT_TSF_MASK (0xFU) 242 #define FLEXIO_TIMSTAT_TSF_SHIFT (0U) 243 #define FLEXIO_TIMSTAT_TSF_WIDTH (4U) 244 #define FLEXIO_TIMSTAT_TSF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMSTAT_TSF_SHIFT)) & FLEXIO_TIMSTAT_TSF_MASK) 245 /*! @} */ 246 247 /*! @name SHIFTSIEN - Shifter Status Interrupt Enable */ 248 /*! @{ */ 249 250 #define FLEXIO_SHIFTSIEN_SSIE_MASK (0xFU) 251 #define FLEXIO_SHIFTSIEN_SSIE_SHIFT (0U) 252 #define FLEXIO_SHIFTSIEN_SSIE_WIDTH (4U) 253 #define FLEXIO_SHIFTSIEN_SSIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSIEN_SSIE_SHIFT)) & FLEXIO_SHIFTSIEN_SSIE_MASK) 254 /*! @} */ 255 256 /*! @name SHIFTEIEN - Shifter Error Interrupt Enable */ 257 /*! @{ */ 258 259 #define FLEXIO_SHIFTEIEN_SEIE_MASK (0xFU) 260 #define FLEXIO_SHIFTEIEN_SEIE_SHIFT (0U) 261 #define FLEXIO_SHIFTEIEN_SEIE_WIDTH (4U) 262 #define FLEXIO_SHIFTEIEN_SEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTEIEN_SEIE_SHIFT)) & FLEXIO_SHIFTEIEN_SEIE_MASK) 263 /*! @} */ 264 265 /*! @name TIMIEN - Timer Interrupt Enable Register */ 266 /*! @{ */ 267 268 #define FLEXIO_TIMIEN_TEIE_MASK (0xFU) 269 #define FLEXIO_TIMIEN_TEIE_SHIFT (0U) 270 #define FLEXIO_TIMIEN_TEIE_WIDTH (4U) 271 #define FLEXIO_TIMIEN_TEIE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMIEN_TEIE_SHIFT)) & FLEXIO_TIMIEN_TEIE_MASK) 272 /*! @} */ 273 274 /*! @name SHIFTSDEN - Shifter Status DMA Enable */ 275 /*! @{ */ 276 277 #define FLEXIO_SHIFTSDEN_SSDE_MASK (0xFU) 278 #define FLEXIO_SHIFTSDEN_SSDE_SHIFT (0U) 279 #define FLEXIO_SHIFTSDEN_SSDE_WIDTH (4U) 280 #define FLEXIO_SHIFTSDEN_SSDE(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTSDEN_SSDE_SHIFT)) & FLEXIO_SHIFTSDEN_SSDE_MASK) 281 /*! @} */ 282 283 /*! @name SHIFTCTL - Shifter Control N Register */ 284 /*! @{ */ 285 286 #define FLEXIO_SHIFTCTL_SMOD_MASK (0x7U) 287 #define FLEXIO_SHIFTCTL_SMOD_SHIFT (0U) 288 #define FLEXIO_SHIFTCTL_SMOD_WIDTH (3U) 289 #define FLEXIO_SHIFTCTL_SMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_SMOD_SHIFT)) & FLEXIO_SHIFTCTL_SMOD_MASK) 290 291 #define FLEXIO_SHIFTCTL_PINPOL_MASK (0x80U) 292 #define FLEXIO_SHIFTCTL_PINPOL_SHIFT (7U) 293 #define FLEXIO_SHIFTCTL_PINPOL_WIDTH (1U) 294 #define FLEXIO_SHIFTCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINPOL_SHIFT)) & FLEXIO_SHIFTCTL_PINPOL_MASK) 295 296 #define FLEXIO_SHIFTCTL_PINSEL_MASK (0x700U) 297 #define FLEXIO_SHIFTCTL_PINSEL_SHIFT (8U) 298 #define FLEXIO_SHIFTCTL_PINSEL_WIDTH (3U) 299 #define FLEXIO_SHIFTCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINSEL_SHIFT)) & FLEXIO_SHIFTCTL_PINSEL_MASK) 300 301 #define FLEXIO_SHIFTCTL_PINCFG_MASK (0x30000U) 302 #define FLEXIO_SHIFTCTL_PINCFG_SHIFT (16U) 303 #define FLEXIO_SHIFTCTL_PINCFG_WIDTH (2U) 304 #define FLEXIO_SHIFTCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_PINCFG_SHIFT)) & FLEXIO_SHIFTCTL_PINCFG_MASK) 305 306 #define FLEXIO_SHIFTCTL_TIMPOL_MASK (0x800000U) 307 #define FLEXIO_SHIFTCTL_TIMPOL_SHIFT (23U) 308 #define FLEXIO_SHIFTCTL_TIMPOL_WIDTH (1U) 309 #define FLEXIO_SHIFTCTL_TIMPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMPOL_SHIFT)) & FLEXIO_SHIFTCTL_TIMPOL_MASK) 310 311 #define FLEXIO_SHIFTCTL_TIMSEL_MASK (0x3000000U) 312 #define FLEXIO_SHIFTCTL_TIMSEL_SHIFT (24U) 313 #define FLEXIO_SHIFTCTL_TIMSEL_WIDTH (2U) 314 #define FLEXIO_SHIFTCTL_TIMSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCTL_TIMSEL_SHIFT)) & FLEXIO_SHIFTCTL_TIMSEL_MASK) 315 /*! @} */ 316 317 /*! @name SHIFTCFG - Shifter Configuration N Register */ 318 /*! @{ */ 319 320 #define FLEXIO_SHIFTCFG_SSTART_MASK (0x3U) 321 #define FLEXIO_SHIFTCFG_SSTART_SHIFT (0U) 322 #define FLEXIO_SHIFTCFG_SSTART_WIDTH (2U) 323 #define FLEXIO_SHIFTCFG_SSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTART_SHIFT)) & FLEXIO_SHIFTCFG_SSTART_MASK) 324 325 #define FLEXIO_SHIFTCFG_SSTOP_MASK (0x30U) 326 #define FLEXIO_SHIFTCFG_SSTOP_SHIFT (4U) 327 #define FLEXIO_SHIFTCFG_SSTOP_WIDTH (2U) 328 #define FLEXIO_SHIFTCFG_SSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_SSTOP_SHIFT)) & FLEXIO_SHIFTCFG_SSTOP_MASK) 329 330 #define FLEXIO_SHIFTCFG_INSRC_MASK (0x100U) 331 #define FLEXIO_SHIFTCFG_INSRC_SHIFT (8U) 332 #define FLEXIO_SHIFTCFG_INSRC_WIDTH (1U) 333 #define FLEXIO_SHIFTCFG_INSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTCFG_INSRC_SHIFT)) & FLEXIO_SHIFTCFG_INSRC_MASK) 334 /*! @} */ 335 336 /*! @name SHIFTBUF - Shifter Buffer N Register */ 337 /*! @{ */ 338 339 #define FLEXIO_SHIFTBUF_SHIFTBUF_MASK (0xFFFFFFFFU) 340 #define FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT (0U) 341 #define FLEXIO_SHIFTBUF_SHIFTBUF_WIDTH (32U) 342 #define FLEXIO_SHIFTBUF_SHIFTBUF(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUF_SHIFTBUF_SHIFT)) & FLEXIO_SHIFTBUF_SHIFTBUF_MASK) 343 /*! @} */ 344 345 /*! @name SHIFTBUFBIS - Shifter Buffer N Bit Swapped Register */ 346 /*! @{ */ 347 348 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK (0xFFFFFFFFU) 349 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT (0U) 350 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_WIDTH (32U) 351 #define FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_SHIFT)) & FLEXIO_SHIFTBUFBIS_SHIFTBUFBIS_MASK) 352 /*! @} */ 353 354 /*! @name SHIFTBUFBYS - Shifter Buffer N Byte Swapped Register */ 355 /*! @{ */ 356 357 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK (0xFFFFFFFFU) 358 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT (0U) 359 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_WIDTH (32U) 360 #define FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_SHIFT)) & FLEXIO_SHIFTBUFBYS_SHIFTBUFBYS_MASK) 361 /*! @} */ 362 363 /*! @name SHIFTBUFBBS - Shifter Buffer N Bit Byte Swapped Register */ 364 /*! @{ */ 365 366 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK (0xFFFFFFFFU) 367 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT (0U) 368 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_WIDTH (32U) 369 #define FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_SHIFT)) & FLEXIO_SHIFTBUFBBS_SHIFTBUFBBS_MASK) 370 /*! @} */ 371 372 /*! @name TIMCTL - Timer Control N Register */ 373 /*! @{ */ 374 375 #define FLEXIO_TIMCTL_TIMOD_MASK (0x3U) 376 #define FLEXIO_TIMCTL_TIMOD_SHIFT (0U) 377 #define FLEXIO_TIMCTL_TIMOD_WIDTH (2U) 378 #define FLEXIO_TIMCTL_TIMOD(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TIMOD_SHIFT)) & FLEXIO_TIMCTL_TIMOD_MASK) 379 380 #define FLEXIO_TIMCTL_PINPOL_MASK (0x80U) 381 #define FLEXIO_TIMCTL_PINPOL_SHIFT (7U) 382 #define FLEXIO_TIMCTL_PINPOL_WIDTH (1U) 383 #define FLEXIO_TIMCTL_PINPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINPOL_SHIFT)) & FLEXIO_TIMCTL_PINPOL_MASK) 384 385 #define FLEXIO_TIMCTL_PINSEL_MASK (0x700U) 386 #define FLEXIO_TIMCTL_PINSEL_SHIFT (8U) 387 #define FLEXIO_TIMCTL_PINSEL_WIDTH (3U) 388 #define FLEXIO_TIMCTL_PINSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINSEL_SHIFT)) & FLEXIO_TIMCTL_PINSEL_MASK) 389 390 #define FLEXIO_TIMCTL_PINCFG_MASK (0x30000U) 391 #define FLEXIO_TIMCTL_PINCFG_SHIFT (16U) 392 #define FLEXIO_TIMCTL_PINCFG_WIDTH (2U) 393 #define FLEXIO_TIMCTL_PINCFG(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_PINCFG_SHIFT)) & FLEXIO_TIMCTL_PINCFG_MASK) 394 395 #define FLEXIO_TIMCTL_TRGSRC_MASK (0x400000U) 396 #define FLEXIO_TIMCTL_TRGSRC_SHIFT (22U) 397 #define FLEXIO_TIMCTL_TRGSRC_WIDTH (1U) 398 #define FLEXIO_TIMCTL_TRGSRC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSRC_SHIFT)) & FLEXIO_TIMCTL_TRGSRC_MASK) 399 400 #define FLEXIO_TIMCTL_TRGPOL_MASK (0x800000U) 401 #define FLEXIO_TIMCTL_TRGPOL_SHIFT (23U) 402 #define FLEXIO_TIMCTL_TRGPOL_WIDTH (1U) 403 #define FLEXIO_TIMCTL_TRGPOL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGPOL_SHIFT)) & FLEXIO_TIMCTL_TRGPOL_MASK) 404 405 #define FLEXIO_TIMCTL_TRGSEL_MASK (0xF000000U) 406 #define FLEXIO_TIMCTL_TRGSEL_SHIFT (24U) 407 #define FLEXIO_TIMCTL_TRGSEL_WIDTH (4U) 408 #define FLEXIO_TIMCTL_TRGSEL(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCTL_TRGSEL_SHIFT)) & FLEXIO_TIMCTL_TRGSEL_MASK) 409 /*! @} */ 410 411 /*! @name TIMCFG - Timer Configuration N Register */ 412 /*! @{ */ 413 414 #define FLEXIO_TIMCFG_TSTART_MASK (0x2U) 415 #define FLEXIO_TIMCFG_TSTART_SHIFT (1U) 416 #define FLEXIO_TIMCFG_TSTART_WIDTH (1U) 417 #define FLEXIO_TIMCFG_TSTART(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTART_SHIFT)) & FLEXIO_TIMCFG_TSTART_MASK) 418 419 #define FLEXIO_TIMCFG_TSTOP_MASK (0x30U) 420 #define FLEXIO_TIMCFG_TSTOP_SHIFT (4U) 421 #define FLEXIO_TIMCFG_TSTOP_WIDTH (2U) 422 #define FLEXIO_TIMCFG_TSTOP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TSTOP_SHIFT)) & FLEXIO_TIMCFG_TSTOP_MASK) 423 424 #define FLEXIO_TIMCFG_TIMENA_MASK (0x700U) 425 #define FLEXIO_TIMCFG_TIMENA_SHIFT (8U) 426 #define FLEXIO_TIMCFG_TIMENA_WIDTH (3U) 427 #define FLEXIO_TIMCFG_TIMENA(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMENA_SHIFT)) & FLEXIO_TIMCFG_TIMENA_MASK) 428 429 #define FLEXIO_TIMCFG_TIMDIS_MASK (0x7000U) 430 #define FLEXIO_TIMCFG_TIMDIS_SHIFT (12U) 431 #define FLEXIO_TIMCFG_TIMDIS_WIDTH (3U) 432 #define FLEXIO_TIMCFG_TIMDIS(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDIS_SHIFT)) & FLEXIO_TIMCFG_TIMDIS_MASK) 433 434 #define FLEXIO_TIMCFG_TIMRST_MASK (0x70000U) 435 #define FLEXIO_TIMCFG_TIMRST_SHIFT (16U) 436 #define FLEXIO_TIMCFG_TIMRST_WIDTH (3U) 437 #define FLEXIO_TIMCFG_TIMRST(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMRST_SHIFT)) & FLEXIO_TIMCFG_TIMRST_MASK) 438 439 #define FLEXIO_TIMCFG_TIMDEC_MASK (0x300000U) 440 #define FLEXIO_TIMCFG_TIMDEC_SHIFT (20U) 441 #define FLEXIO_TIMCFG_TIMDEC_WIDTH (2U) 442 #define FLEXIO_TIMCFG_TIMDEC(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMDEC_SHIFT)) & FLEXIO_TIMCFG_TIMDEC_MASK) 443 444 #define FLEXIO_TIMCFG_TIMOUT_MASK (0x3000000U) 445 #define FLEXIO_TIMCFG_TIMOUT_SHIFT (24U) 446 #define FLEXIO_TIMCFG_TIMOUT_WIDTH (2U) 447 #define FLEXIO_TIMCFG_TIMOUT(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCFG_TIMOUT_SHIFT)) & FLEXIO_TIMCFG_TIMOUT_MASK) 448 /*! @} */ 449 450 /*! @name TIMCMP - Timer Compare N Register */ 451 /*! @{ */ 452 453 #define FLEXIO_TIMCMP_CMP_MASK (0xFFFFU) 454 #define FLEXIO_TIMCMP_CMP_SHIFT (0U) 455 #define FLEXIO_TIMCMP_CMP_WIDTH (16U) 456 #define FLEXIO_TIMCMP_CMP(x) (((uint32_t)(((uint32_t)(x)) << FLEXIO_TIMCMP_CMP_SHIFT)) & FLEXIO_TIMCMP_CMP_MASK) 457 /*! @} */ 458 459 /*! 460 * @} 461 */ /* end of group FLEXIO_Register_Masks */ 462 463 /*! 464 * @} 465 */ /* end of group FLEXIO_Peripheral_Access_Layer */ 466 467 #endif /* #if !defined(S32K142W_FLEXIO_H_) */ 468