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 S32K144_FTM.h 10 * @version 1.1 11 * @date 2022-02-07 12 * @brief Peripheral Access Layer for S32K144_FTM 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(S32K144_FTM_H_) /* Check if memory map has not been already included */ 58 #define S32K144_FTM_H_ 59 60 #include "S32K144_COMMON.h" 61 62 /* ---------------------------------------------------------------------------- 63 -- FTM Peripheral Access Layer 64 ---------------------------------------------------------------------------- */ 65 66 /*! 67 * @addtogroup FTM_Peripheral_Access_Layer FTM Peripheral Access Layer 68 * @{ 69 */ 70 71 /** FTM - Size of Registers Arrays */ 72 #define FTM_CnSC_COUNT 8u 73 74 /** FTM - Register Layout Typedef */ 75 typedef struct { 76 __IO uint32_t SC; /**< Status And Control, offset: 0x0 */ 77 __IO uint32_t CNT; /**< Counter, offset: 0x4 */ 78 __IO uint32_t MOD; /**< Modulo, offset: 0x8 */ 79 struct { /* offset: 0xC, array step: 0x8 */ 80 __IO uint32_t CnSC; /**< Channel (n) Status And Control, array offset: 0xC, array step: 0x8 */ 81 __IO uint32_t CnV; /**< Channel (n) Value, array offset: 0x10, array step: 0x8 */ 82 } CONTROLS[FTM_CnSC_COUNT]; 83 __IO uint32_t CNTIN; /**< Counter Initial Value, offset: 0x4C */ 84 __IO uint32_t STATUS; /**< Capture And Compare Status, offset: 0x50 */ 85 __IO uint32_t MODE; /**< Features Mode Selection, offset: 0x54 */ 86 __IO uint32_t SYNC; /**< Synchronization, offset: 0x58 */ 87 __IO uint32_t OUTINIT; /**< Initial State For Channels Output, offset: 0x5C */ 88 __IO uint32_t OUTMASK; /**< Output Mask, offset: 0x60 */ 89 __IO uint32_t COMBINE; /**< Function For Linked Channels, offset: 0x64 */ 90 __IO uint32_t DEADTIME; /**< Deadtime Configuration, offset: 0x68 */ 91 __IO uint32_t EXTTRIG; /**< FTM External Trigger, offset: 0x6C */ 92 __IO uint32_t POL; /**< Channels Polarity, offset: 0x70 */ 93 __IO uint32_t FMS; /**< Fault Mode Status, offset: 0x74 */ 94 __IO uint32_t FILTER; /**< Input Capture Filter Control, offset: 0x78 */ 95 __IO uint32_t FLTCTRL; /**< Fault Control, offset: 0x7C */ 96 __IO uint32_t QDCTRL; /**< Quadrature Decoder Control And Status, offset: 0x80 */ 97 __IO uint32_t CONF; /**< Configuration, offset: 0x84 */ 98 __IO uint32_t FLTPOL; /**< FTM Fault Input Polarity, offset: 0x88 */ 99 __IO uint32_t SYNCONF; /**< Synchronization Configuration, offset: 0x8C */ 100 __IO uint32_t INVCTRL; /**< FTM Inverting Control, offset: 0x90 */ 101 __IO uint32_t SWOCTRL; /**< FTM Software Output Control, offset: 0x94 */ 102 __IO uint32_t PWMLOAD; /**< FTM PWM Load, offset: 0x98 */ 103 __IO uint32_t HCR; /**< Half Cycle Register, offset: 0x9C */ 104 __IO uint32_t PAIR0DEADTIME; /**< Pair 0 Deadtime Configuration, offset: 0xA0 */ 105 uint8_t RESERVED_0[4]; 106 __IO uint32_t PAIR1DEADTIME; /**< Pair 1 Deadtime Configuration, offset: 0xA8 */ 107 uint8_t RESERVED_1[4]; 108 __IO uint32_t PAIR2DEADTIME; /**< Pair 2 Deadtime Configuration, offset: 0xB0 */ 109 uint8_t RESERVED_2[4]; 110 __IO uint32_t PAIR3DEADTIME; /**< Pair 3 Deadtime Configuration, offset: 0xB8 */ 111 } FTM_Type, *FTM_MemMapPtr; 112 113 /** Number of instances of the FTM module. */ 114 #define FTM_INSTANCE_COUNT (4u) 115 116 /* FTM - Peripheral instance base addresses */ 117 /** Peripheral FTM0 base address */ 118 #define IP_FTM0_BASE (0x40038000u) 119 /** Peripheral FTM0 base pointer */ 120 #define IP_FTM0 ((FTM_Type *)IP_FTM0_BASE) 121 /** Peripheral FTM1 base address */ 122 #define IP_FTM1_BASE (0x40039000u) 123 /** Peripheral FTM1 base pointer */ 124 #define IP_FTM1 ((FTM_Type *)IP_FTM1_BASE) 125 /** Peripheral FTM2 base address */ 126 #define IP_FTM2_BASE (0x4003A000u) 127 /** Peripheral FTM2 base pointer */ 128 #define IP_FTM2 ((FTM_Type *)IP_FTM2_BASE) 129 /** Peripheral FTM3 base address */ 130 #define IP_FTM3_BASE (0x40026000u) 131 /** Peripheral FTM3 base pointer */ 132 #define IP_FTM3 ((FTM_Type *)IP_FTM3_BASE) 133 /** Array initializer of FTM peripheral base addresses */ 134 #define IP_FTM_BASE_ADDRS { IP_FTM0_BASE, IP_FTM1_BASE, IP_FTM2_BASE, IP_FTM3_BASE } 135 /** Array initializer of FTM peripheral base pointers */ 136 #define IP_FTM_BASE_PTRS { IP_FTM0, IP_FTM1, IP_FTM2, IP_FTM3 } 137 138 /* ---------------------------------------------------------------------------- 139 -- FTM Register Masks 140 ---------------------------------------------------------------------------- */ 141 142 /*! 143 * @addtogroup FTM_Register_Masks FTM Register Masks 144 * @{ 145 */ 146 147 /*! @name SC - Status And Control */ 148 /*! @{ */ 149 150 #define FTM_SC_PS_MASK (0x7U) 151 #define FTM_SC_PS_SHIFT (0U) 152 #define FTM_SC_PS_WIDTH (3U) 153 #define FTM_SC_PS(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PS_SHIFT)) & FTM_SC_PS_MASK) 154 155 #define FTM_SC_CLKS_MASK (0x18U) 156 #define FTM_SC_CLKS_SHIFT (3U) 157 #define FTM_SC_CLKS_WIDTH (2U) 158 #define FTM_SC_CLKS(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_CLKS_SHIFT)) & FTM_SC_CLKS_MASK) 159 160 #define FTM_SC_CPWMS_MASK (0x20U) 161 #define FTM_SC_CPWMS_SHIFT (5U) 162 #define FTM_SC_CPWMS_WIDTH (1U) 163 #define FTM_SC_CPWMS(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_CPWMS_SHIFT)) & FTM_SC_CPWMS_MASK) 164 165 #define FTM_SC_RIE_MASK (0x40U) 166 #define FTM_SC_RIE_SHIFT (6U) 167 #define FTM_SC_RIE_WIDTH (1U) 168 #define FTM_SC_RIE(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_RIE_SHIFT)) & FTM_SC_RIE_MASK) 169 170 #define FTM_SC_RF_MASK (0x80U) 171 #define FTM_SC_RF_SHIFT (7U) 172 #define FTM_SC_RF_WIDTH (1U) 173 #define FTM_SC_RF(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_RF_SHIFT)) & FTM_SC_RF_MASK) 174 175 #define FTM_SC_TOIE_MASK (0x100U) 176 #define FTM_SC_TOIE_SHIFT (8U) 177 #define FTM_SC_TOIE_WIDTH (1U) 178 #define FTM_SC_TOIE(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_TOIE_SHIFT)) & FTM_SC_TOIE_MASK) 179 180 #define FTM_SC_TOF_MASK (0x200U) 181 #define FTM_SC_TOF_SHIFT (9U) 182 #define FTM_SC_TOF_WIDTH (1U) 183 #define FTM_SC_TOF(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_TOF_SHIFT)) & FTM_SC_TOF_MASK) 184 185 #define FTM_SC_PWMEN0_MASK (0x10000U) 186 #define FTM_SC_PWMEN0_SHIFT (16U) 187 #define FTM_SC_PWMEN0_WIDTH (1U) 188 #define FTM_SC_PWMEN0(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PWMEN0_SHIFT)) & FTM_SC_PWMEN0_MASK) 189 190 #define FTM_SC_PWMEN1_MASK (0x20000U) 191 #define FTM_SC_PWMEN1_SHIFT (17U) 192 #define FTM_SC_PWMEN1_WIDTH (1U) 193 #define FTM_SC_PWMEN1(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PWMEN1_SHIFT)) & FTM_SC_PWMEN1_MASK) 194 195 #define FTM_SC_PWMEN2_MASK (0x40000U) 196 #define FTM_SC_PWMEN2_SHIFT (18U) 197 #define FTM_SC_PWMEN2_WIDTH (1U) 198 #define FTM_SC_PWMEN2(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PWMEN2_SHIFT)) & FTM_SC_PWMEN2_MASK) 199 200 #define FTM_SC_PWMEN3_MASK (0x80000U) 201 #define FTM_SC_PWMEN3_SHIFT (19U) 202 #define FTM_SC_PWMEN3_WIDTH (1U) 203 #define FTM_SC_PWMEN3(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PWMEN3_SHIFT)) & FTM_SC_PWMEN3_MASK) 204 205 #define FTM_SC_PWMEN4_MASK (0x100000U) 206 #define FTM_SC_PWMEN4_SHIFT (20U) 207 #define FTM_SC_PWMEN4_WIDTH (1U) 208 #define FTM_SC_PWMEN4(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PWMEN4_SHIFT)) & FTM_SC_PWMEN4_MASK) 209 210 #define FTM_SC_PWMEN5_MASK (0x200000U) 211 #define FTM_SC_PWMEN5_SHIFT (21U) 212 #define FTM_SC_PWMEN5_WIDTH (1U) 213 #define FTM_SC_PWMEN5(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PWMEN5_SHIFT)) & FTM_SC_PWMEN5_MASK) 214 215 #define FTM_SC_PWMEN6_MASK (0x400000U) 216 #define FTM_SC_PWMEN6_SHIFT (22U) 217 #define FTM_SC_PWMEN6_WIDTH (1U) 218 #define FTM_SC_PWMEN6(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PWMEN6_SHIFT)) & FTM_SC_PWMEN6_MASK) 219 220 #define FTM_SC_PWMEN7_MASK (0x800000U) 221 #define FTM_SC_PWMEN7_SHIFT (23U) 222 #define FTM_SC_PWMEN7_WIDTH (1U) 223 #define FTM_SC_PWMEN7(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_PWMEN7_SHIFT)) & FTM_SC_PWMEN7_MASK) 224 225 #define FTM_SC_FLTPS_MASK (0xF000000U) 226 #define FTM_SC_FLTPS_SHIFT (24U) 227 #define FTM_SC_FLTPS_WIDTH (4U) 228 #define FTM_SC_FLTPS(x) (((uint32_t)(((uint32_t)(x)) << FTM_SC_FLTPS_SHIFT)) & FTM_SC_FLTPS_MASK) 229 /*! @} */ 230 231 /*! @name CNT - Counter */ 232 /*! @{ */ 233 234 #define FTM_CNT_COUNT_MASK (0xFFFFU) 235 #define FTM_CNT_COUNT_SHIFT (0U) 236 #define FTM_CNT_COUNT_WIDTH (16U) 237 #define FTM_CNT_COUNT(x) (((uint32_t)(((uint32_t)(x)) << FTM_CNT_COUNT_SHIFT)) & FTM_CNT_COUNT_MASK) 238 /*! @} */ 239 240 /*! @name MOD - Modulo */ 241 /*! @{ */ 242 243 #define FTM_MOD_MOD_MASK (0xFFFFU) 244 #define FTM_MOD_MOD_SHIFT (0U) 245 #define FTM_MOD_MOD_WIDTH (16U) 246 #define FTM_MOD_MOD(x) (((uint32_t)(((uint32_t)(x)) << FTM_MOD_MOD_SHIFT)) & FTM_MOD_MOD_MASK) 247 /*! @} */ 248 249 /*! @name CnSC - Channel (n) Status And Control */ 250 /*! @{ */ 251 252 #define FTM_CnSC_DMA_MASK (0x1U) 253 #define FTM_CnSC_DMA_SHIFT (0U) 254 #define FTM_CnSC_DMA_WIDTH (1U) 255 #define FTM_CnSC_DMA(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_DMA_SHIFT)) & FTM_CnSC_DMA_MASK) 256 257 #define FTM_CnSC_ICRST_MASK (0x2U) 258 #define FTM_CnSC_ICRST_SHIFT (1U) 259 #define FTM_CnSC_ICRST_WIDTH (1U) 260 #define FTM_CnSC_ICRST(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_ICRST_SHIFT)) & FTM_CnSC_ICRST_MASK) 261 262 #define FTM_CnSC_ELSA_MASK (0x4U) 263 #define FTM_CnSC_ELSA_SHIFT (2U) 264 #define FTM_CnSC_ELSA_WIDTH (1U) 265 #define FTM_CnSC_ELSA(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_ELSA_SHIFT)) & FTM_CnSC_ELSA_MASK) 266 267 #define FTM_CnSC_ELSB_MASK (0x8U) 268 #define FTM_CnSC_ELSB_SHIFT (3U) 269 #define FTM_CnSC_ELSB_WIDTH (1U) 270 #define FTM_CnSC_ELSB(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_ELSB_SHIFT)) & FTM_CnSC_ELSB_MASK) 271 272 #define FTM_CnSC_MSA_MASK (0x10U) 273 #define FTM_CnSC_MSA_SHIFT (4U) 274 #define FTM_CnSC_MSA_WIDTH (1U) 275 #define FTM_CnSC_MSA(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_MSA_SHIFT)) & FTM_CnSC_MSA_MASK) 276 277 #define FTM_CnSC_MSB_MASK (0x20U) 278 #define FTM_CnSC_MSB_SHIFT (5U) 279 #define FTM_CnSC_MSB_WIDTH (1U) 280 #define FTM_CnSC_MSB(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_MSB_SHIFT)) & FTM_CnSC_MSB_MASK) 281 282 #define FTM_CnSC_CHIE_MASK (0x40U) 283 #define FTM_CnSC_CHIE_SHIFT (6U) 284 #define FTM_CnSC_CHIE_WIDTH (1U) 285 #define FTM_CnSC_CHIE(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_CHIE_SHIFT)) & FTM_CnSC_CHIE_MASK) 286 287 #define FTM_CnSC_CHF_MASK (0x80U) 288 #define FTM_CnSC_CHF_SHIFT (7U) 289 #define FTM_CnSC_CHF_WIDTH (1U) 290 #define FTM_CnSC_CHF(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_CHF_SHIFT)) & FTM_CnSC_CHF_MASK) 291 292 #define FTM_CnSC_TRIGMODE_MASK (0x100U) 293 #define FTM_CnSC_TRIGMODE_SHIFT (8U) 294 #define FTM_CnSC_TRIGMODE_WIDTH (1U) 295 #define FTM_CnSC_TRIGMODE(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_TRIGMODE_SHIFT)) & FTM_CnSC_TRIGMODE_MASK) 296 297 #define FTM_CnSC_CHIS_MASK (0x200U) 298 #define FTM_CnSC_CHIS_SHIFT (9U) 299 #define FTM_CnSC_CHIS_WIDTH (1U) 300 #define FTM_CnSC_CHIS(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_CHIS_SHIFT)) & FTM_CnSC_CHIS_MASK) 301 302 #define FTM_CnSC_CHOV_MASK (0x400U) 303 #define FTM_CnSC_CHOV_SHIFT (10U) 304 #define FTM_CnSC_CHOV_WIDTH (1U) 305 #define FTM_CnSC_CHOV(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnSC_CHOV_SHIFT)) & FTM_CnSC_CHOV_MASK) 306 /*! @} */ 307 308 /*! @name CnV - Channel (n) Value */ 309 /*! @{ */ 310 311 #define FTM_CnV_VAL_MASK (0xFFFFU) 312 #define FTM_CnV_VAL_SHIFT (0U) 313 #define FTM_CnV_VAL_WIDTH (16U) 314 #define FTM_CnV_VAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_CnV_VAL_SHIFT)) & FTM_CnV_VAL_MASK) 315 /*! @} */ 316 317 /*! @name CNTIN - Counter Initial Value */ 318 /*! @{ */ 319 320 #define FTM_CNTIN_INIT_MASK (0xFFFFU) 321 #define FTM_CNTIN_INIT_SHIFT (0U) 322 #define FTM_CNTIN_INIT_WIDTH (16U) 323 #define FTM_CNTIN_INIT(x) (((uint32_t)(((uint32_t)(x)) << FTM_CNTIN_INIT_SHIFT)) & FTM_CNTIN_INIT_MASK) 324 /*! @} */ 325 326 /*! @name STATUS - Capture And Compare Status */ 327 /*! @{ */ 328 329 #define FTM_STATUS_CH0F_MASK (0x1U) 330 #define FTM_STATUS_CH0F_SHIFT (0U) 331 #define FTM_STATUS_CH0F_WIDTH (1U) 332 #define FTM_STATUS_CH0F(x) (((uint32_t)(((uint32_t)(x)) << FTM_STATUS_CH0F_SHIFT)) & FTM_STATUS_CH0F_MASK) 333 334 #define FTM_STATUS_CH1F_MASK (0x2U) 335 #define FTM_STATUS_CH1F_SHIFT (1U) 336 #define FTM_STATUS_CH1F_WIDTH (1U) 337 #define FTM_STATUS_CH1F(x) (((uint32_t)(((uint32_t)(x)) << FTM_STATUS_CH1F_SHIFT)) & FTM_STATUS_CH1F_MASK) 338 339 #define FTM_STATUS_CH2F_MASK (0x4U) 340 #define FTM_STATUS_CH2F_SHIFT (2U) 341 #define FTM_STATUS_CH2F_WIDTH (1U) 342 #define FTM_STATUS_CH2F(x) (((uint32_t)(((uint32_t)(x)) << FTM_STATUS_CH2F_SHIFT)) & FTM_STATUS_CH2F_MASK) 343 344 #define FTM_STATUS_CH3F_MASK (0x8U) 345 #define FTM_STATUS_CH3F_SHIFT (3U) 346 #define FTM_STATUS_CH3F_WIDTH (1U) 347 #define FTM_STATUS_CH3F(x) (((uint32_t)(((uint32_t)(x)) << FTM_STATUS_CH3F_SHIFT)) & FTM_STATUS_CH3F_MASK) 348 349 #define FTM_STATUS_CH4F_MASK (0x10U) 350 #define FTM_STATUS_CH4F_SHIFT (4U) 351 #define FTM_STATUS_CH4F_WIDTH (1U) 352 #define FTM_STATUS_CH4F(x) (((uint32_t)(((uint32_t)(x)) << FTM_STATUS_CH4F_SHIFT)) & FTM_STATUS_CH4F_MASK) 353 354 #define FTM_STATUS_CH5F_MASK (0x20U) 355 #define FTM_STATUS_CH5F_SHIFT (5U) 356 #define FTM_STATUS_CH5F_WIDTH (1U) 357 #define FTM_STATUS_CH5F(x) (((uint32_t)(((uint32_t)(x)) << FTM_STATUS_CH5F_SHIFT)) & FTM_STATUS_CH5F_MASK) 358 359 #define FTM_STATUS_CH6F_MASK (0x40U) 360 #define FTM_STATUS_CH6F_SHIFT (6U) 361 #define FTM_STATUS_CH6F_WIDTH (1U) 362 #define FTM_STATUS_CH6F(x) (((uint32_t)(((uint32_t)(x)) << FTM_STATUS_CH6F_SHIFT)) & FTM_STATUS_CH6F_MASK) 363 364 #define FTM_STATUS_CH7F_MASK (0x80U) 365 #define FTM_STATUS_CH7F_SHIFT (7U) 366 #define FTM_STATUS_CH7F_WIDTH (1U) 367 #define FTM_STATUS_CH7F(x) (((uint32_t)(((uint32_t)(x)) << FTM_STATUS_CH7F_SHIFT)) & FTM_STATUS_CH7F_MASK) 368 /*! @} */ 369 370 /*! @name MODE - Features Mode Selection */ 371 /*! @{ */ 372 373 #define FTM_MODE_FTMEN_MASK (0x1U) 374 #define FTM_MODE_FTMEN_SHIFT (0U) 375 #define FTM_MODE_FTMEN_WIDTH (1U) 376 #define FTM_MODE_FTMEN(x) (((uint32_t)(((uint32_t)(x)) << FTM_MODE_FTMEN_SHIFT)) & FTM_MODE_FTMEN_MASK) 377 378 #define FTM_MODE_INIT_MASK (0x2U) 379 #define FTM_MODE_INIT_SHIFT (1U) 380 #define FTM_MODE_INIT_WIDTH (1U) 381 #define FTM_MODE_INIT(x) (((uint32_t)(((uint32_t)(x)) << FTM_MODE_INIT_SHIFT)) & FTM_MODE_INIT_MASK) 382 383 #define FTM_MODE_WPDIS_MASK (0x4U) 384 #define FTM_MODE_WPDIS_SHIFT (2U) 385 #define FTM_MODE_WPDIS_WIDTH (1U) 386 #define FTM_MODE_WPDIS(x) (((uint32_t)(((uint32_t)(x)) << FTM_MODE_WPDIS_SHIFT)) & FTM_MODE_WPDIS_MASK) 387 388 #define FTM_MODE_PWMSYNC_MASK (0x8U) 389 #define FTM_MODE_PWMSYNC_SHIFT (3U) 390 #define FTM_MODE_PWMSYNC_WIDTH (1U) 391 #define FTM_MODE_PWMSYNC(x) (((uint32_t)(((uint32_t)(x)) << FTM_MODE_PWMSYNC_SHIFT)) & FTM_MODE_PWMSYNC_MASK) 392 393 #define FTM_MODE_CAPTEST_MASK (0x10U) 394 #define FTM_MODE_CAPTEST_SHIFT (4U) 395 #define FTM_MODE_CAPTEST_WIDTH (1U) 396 #define FTM_MODE_CAPTEST(x) (((uint32_t)(((uint32_t)(x)) << FTM_MODE_CAPTEST_SHIFT)) & FTM_MODE_CAPTEST_MASK) 397 398 #define FTM_MODE_FAULTM_MASK (0x60U) 399 #define FTM_MODE_FAULTM_SHIFT (5U) 400 #define FTM_MODE_FAULTM_WIDTH (2U) 401 #define FTM_MODE_FAULTM(x) (((uint32_t)(((uint32_t)(x)) << FTM_MODE_FAULTM_SHIFT)) & FTM_MODE_FAULTM_MASK) 402 403 #define FTM_MODE_FAULTIE_MASK (0x80U) 404 #define FTM_MODE_FAULTIE_SHIFT (7U) 405 #define FTM_MODE_FAULTIE_WIDTH (1U) 406 #define FTM_MODE_FAULTIE(x) (((uint32_t)(((uint32_t)(x)) << FTM_MODE_FAULTIE_SHIFT)) & FTM_MODE_FAULTIE_MASK) 407 /*! @} */ 408 409 /*! @name SYNC - Synchronization */ 410 /*! @{ */ 411 412 #define FTM_SYNC_CNTMIN_MASK (0x1U) 413 #define FTM_SYNC_CNTMIN_SHIFT (0U) 414 #define FTM_SYNC_CNTMIN_WIDTH (1U) 415 #define FTM_SYNC_CNTMIN(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNC_CNTMIN_SHIFT)) & FTM_SYNC_CNTMIN_MASK) 416 417 #define FTM_SYNC_CNTMAX_MASK (0x2U) 418 #define FTM_SYNC_CNTMAX_SHIFT (1U) 419 #define FTM_SYNC_CNTMAX_WIDTH (1U) 420 #define FTM_SYNC_CNTMAX(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNC_CNTMAX_SHIFT)) & FTM_SYNC_CNTMAX_MASK) 421 422 #define FTM_SYNC_REINIT_MASK (0x4U) 423 #define FTM_SYNC_REINIT_SHIFT (2U) 424 #define FTM_SYNC_REINIT_WIDTH (1U) 425 #define FTM_SYNC_REINIT(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNC_REINIT_SHIFT)) & FTM_SYNC_REINIT_MASK) 426 427 #define FTM_SYNC_SYNCHOM_MASK (0x8U) 428 #define FTM_SYNC_SYNCHOM_SHIFT (3U) 429 #define FTM_SYNC_SYNCHOM_WIDTH (1U) 430 #define FTM_SYNC_SYNCHOM(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNC_SYNCHOM_SHIFT)) & FTM_SYNC_SYNCHOM_MASK) 431 432 #define FTM_SYNC_TRIG0_MASK (0x10U) 433 #define FTM_SYNC_TRIG0_SHIFT (4U) 434 #define FTM_SYNC_TRIG0_WIDTH (1U) 435 #define FTM_SYNC_TRIG0(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNC_TRIG0_SHIFT)) & FTM_SYNC_TRIG0_MASK) 436 437 #define FTM_SYNC_TRIG1_MASK (0x20U) 438 #define FTM_SYNC_TRIG1_SHIFT (5U) 439 #define FTM_SYNC_TRIG1_WIDTH (1U) 440 #define FTM_SYNC_TRIG1(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNC_TRIG1_SHIFT)) & FTM_SYNC_TRIG1_MASK) 441 442 #define FTM_SYNC_TRIG2_MASK (0x40U) 443 #define FTM_SYNC_TRIG2_SHIFT (6U) 444 #define FTM_SYNC_TRIG2_WIDTH (1U) 445 #define FTM_SYNC_TRIG2(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNC_TRIG2_SHIFT)) & FTM_SYNC_TRIG2_MASK) 446 447 #define FTM_SYNC_SWSYNC_MASK (0x80U) 448 #define FTM_SYNC_SWSYNC_SHIFT (7U) 449 #define FTM_SYNC_SWSYNC_WIDTH (1U) 450 #define FTM_SYNC_SWSYNC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNC_SWSYNC_SHIFT)) & FTM_SYNC_SWSYNC_MASK) 451 /*! @} */ 452 453 /*! @name OUTINIT - Initial State For Channels Output */ 454 /*! @{ */ 455 456 #define FTM_OUTINIT_CH0OI_MASK (0x1U) 457 #define FTM_OUTINIT_CH0OI_SHIFT (0U) 458 #define FTM_OUTINIT_CH0OI_WIDTH (1U) 459 #define FTM_OUTINIT_CH0OI(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTINIT_CH0OI_SHIFT)) & FTM_OUTINIT_CH0OI_MASK) 460 461 #define FTM_OUTINIT_CH1OI_MASK (0x2U) 462 #define FTM_OUTINIT_CH1OI_SHIFT (1U) 463 #define FTM_OUTINIT_CH1OI_WIDTH (1U) 464 #define FTM_OUTINIT_CH1OI(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTINIT_CH1OI_SHIFT)) & FTM_OUTINIT_CH1OI_MASK) 465 466 #define FTM_OUTINIT_CH2OI_MASK (0x4U) 467 #define FTM_OUTINIT_CH2OI_SHIFT (2U) 468 #define FTM_OUTINIT_CH2OI_WIDTH (1U) 469 #define FTM_OUTINIT_CH2OI(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTINIT_CH2OI_SHIFT)) & FTM_OUTINIT_CH2OI_MASK) 470 471 #define FTM_OUTINIT_CH3OI_MASK (0x8U) 472 #define FTM_OUTINIT_CH3OI_SHIFT (3U) 473 #define FTM_OUTINIT_CH3OI_WIDTH (1U) 474 #define FTM_OUTINIT_CH3OI(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTINIT_CH3OI_SHIFT)) & FTM_OUTINIT_CH3OI_MASK) 475 476 #define FTM_OUTINIT_CH4OI_MASK (0x10U) 477 #define FTM_OUTINIT_CH4OI_SHIFT (4U) 478 #define FTM_OUTINIT_CH4OI_WIDTH (1U) 479 #define FTM_OUTINIT_CH4OI(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTINIT_CH4OI_SHIFT)) & FTM_OUTINIT_CH4OI_MASK) 480 481 #define FTM_OUTINIT_CH5OI_MASK (0x20U) 482 #define FTM_OUTINIT_CH5OI_SHIFT (5U) 483 #define FTM_OUTINIT_CH5OI_WIDTH (1U) 484 #define FTM_OUTINIT_CH5OI(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTINIT_CH5OI_SHIFT)) & FTM_OUTINIT_CH5OI_MASK) 485 486 #define FTM_OUTINIT_CH6OI_MASK (0x40U) 487 #define FTM_OUTINIT_CH6OI_SHIFT (6U) 488 #define FTM_OUTINIT_CH6OI_WIDTH (1U) 489 #define FTM_OUTINIT_CH6OI(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTINIT_CH6OI_SHIFT)) & FTM_OUTINIT_CH6OI_MASK) 490 491 #define FTM_OUTINIT_CH7OI_MASK (0x80U) 492 #define FTM_OUTINIT_CH7OI_SHIFT (7U) 493 #define FTM_OUTINIT_CH7OI_WIDTH (1U) 494 #define FTM_OUTINIT_CH7OI(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTINIT_CH7OI_SHIFT)) & FTM_OUTINIT_CH7OI_MASK) 495 /*! @} */ 496 497 /*! @name OUTMASK - Output Mask */ 498 /*! @{ */ 499 500 #define FTM_OUTMASK_CH0OM_MASK (0x1U) 501 #define FTM_OUTMASK_CH0OM_SHIFT (0U) 502 #define FTM_OUTMASK_CH0OM_WIDTH (1U) 503 #define FTM_OUTMASK_CH0OM(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTMASK_CH0OM_SHIFT)) & FTM_OUTMASK_CH0OM_MASK) 504 505 #define FTM_OUTMASK_CH1OM_MASK (0x2U) 506 #define FTM_OUTMASK_CH1OM_SHIFT (1U) 507 #define FTM_OUTMASK_CH1OM_WIDTH (1U) 508 #define FTM_OUTMASK_CH1OM(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTMASK_CH1OM_SHIFT)) & FTM_OUTMASK_CH1OM_MASK) 509 510 #define FTM_OUTMASK_CH2OM_MASK (0x4U) 511 #define FTM_OUTMASK_CH2OM_SHIFT (2U) 512 #define FTM_OUTMASK_CH2OM_WIDTH (1U) 513 #define FTM_OUTMASK_CH2OM(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTMASK_CH2OM_SHIFT)) & FTM_OUTMASK_CH2OM_MASK) 514 515 #define FTM_OUTMASK_CH3OM_MASK (0x8U) 516 #define FTM_OUTMASK_CH3OM_SHIFT (3U) 517 #define FTM_OUTMASK_CH3OM_WIDTH (1U) 518 #define FTM_OUTMASK_CH3OM(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTMASK_CH3OM_SHIFT)) & FTM_OUTMASK_CH3OM_MASK) 519 520 #define FTM_OUTMASK_CH4OM_MASK (0x10U) 521 #define FTM_OUTMASK_CH4OM_SHIFT (4U) 522 #define FTM_OUTMASK_CH4OM_WIDTH (1U) 523 #define FTM_OUTMASK_CH4OM(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTMASK_CH4OM_SHIFT)) & FTM_OUTMASK_CH4OM_MASK) 524 525 #define FTM_OUTMASK_CH5OM_MASK (0x20U) 526 #define FTM_OUTMASK_CH5OM_SHIFT (5U) 527 #define FTM_OUTMASK_CH5OM_WIDTH (1U) 528 #define FTM_OUTMASK_CH5OM(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTMASK_CH5OM_SHIFT)) & FTM_OUTMASK_CH5OM_MASK) 529 530 #define FTM_OUTMASK_CH6OM_MASK (0x40U) 531 #define FTM_OUTMASK_CH6OM_SHIFT (6U) 532 #define FTM_OUTMASK_CH6OM_WIDTH (1U) 533 #define FTM_OUTMASK_CH6OM(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTMASK_CH6OM_SHIFT)) & FTM_OUTMASK_CH6OM_MASK) 534 535 #define FTM_OUTMASK_CH7OM_MASK (0x80U) 536 #define FTM_OUTMASK_CH7OM_SHIFT (7U) 537 #define FTM_OUTMASK_CH7OM_WIDTH (1U) 538 #define FTM_OUTMASK_CH7OM(x) (((uint32_t)(((uint32_t)(x)) << FTM_OUTMASK_CH7OM_SHIFT)) & FTM_OUTMASK_CH7OM_MASK) 539 /*! @} */ 540 541 /*! @name COMBINE - Function For Linked Channels */ 542 /*! @{ */ 543 544 #define FTM_COMBINE_COMBINE0_MASK (0x1U) 545 #define FTM_COMBINE_COMBINE0_SHIFT (0U) 546 #define FTM_COMBINE_COMBINE0_WIDTH (1U) 547 #define FTM_COMBINE_COMBINE0(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_COMBINE0_SHIFT)) & FTM_COMBINE_COMBINE0_MASK) 548 549 #define FTM_COMBINE_COMP0_MASK (0x2U) 550 #define FTM_COMBINE_COMP0_SHIFT (1U) 551 #define FTM_COMBINE_COMP0_WIDTH (1U) 552 #define FTM_COMBINE_COMP0(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_COMP0_SHIFT)) & FTM_COMBINE_COMP0_MASK) 553 554 #define FTM_COMBINE_DECAPEN0_MASK (0x4U) 555 #define FTM_COMBINE_DECAPEN0_SHIFT (2U) 556 #define FTM_COMBINE_DECAPEN0_WIDTH (1U) 557 #define FTM_COMBINE_DECAPEN0(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DECAPEN0_SHIFT)) & FTM_COMBINE_DECAPEN0_MASK) 558 559 #define FTM_COMBINE_DECAP0_MASK (0x8U) 560 #define FTM_COMBINE_DECAP0_SHIFT (3U) 561 #define FTM_COMBINE_DECAP0_WIDTH (1U) 562 #define FTM_COMBINE_DECAP0(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DECAP0_SHIFT)) & FTM_COMBINE_DECAP0_MASK) 563 564 #define FTM_COMBINE_DTEN0_MASK (0x10U) 565 #define FTM_COMBINE_DTEN0_SHIFT (4U) 566 #define FTM_COMBINE_DTEN0_WIDTH (1U) 567 #define FTM_COMBINE_DTEN0(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DTEN0_SHIFT)) & FTM_COMBINE_DTEN0_MASK) 568 569 #define FTM_COMBINE_SYNCEN0_MASK (0x20U) 570 #define FTM_COMBINE_SYNCEN0_SHIFT (5U) 571 #define FTM_COMBINE_SYNCEN0_WIDTH (1U) 572 #define FTM_COMBINE_SYNCEN0(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_SYNCEN0_SHIFT)) & FTM_COMBINE_SYNCEN0_MASK) 573 574 #define FTM_COMBINE_FAULTEN0_MASK (0x40U) 575 #define FTM_COMBINE_FAULTEN0_SHIFT (6U) 576 #define FTM_COMBINE_FAULTEN0_WIDTH (1U) 577 #define FTM_COMBINE_FAULTEN0(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_FAULTEN0_SHIFT)) & FTM_COMBINE_FAULTEN0_MASK) 578 579 #define FTM_COMBINE_MCOMBINE0_MASK (0x80U) 580 #define FTM_COMBINE_MCOMBINE0_SHIFT (7U) 581 #define FTM_COMBINE_MCOMBINE0_WIDTH (1U) 582 #define FTM_COMBINE_MCOMBINE0(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_MCOMBINE0_SHIFT)) & FTM_COMBINE_MCOMBINE0_MASK) 583 584 #define FTM_COMBINE_COMBINE1_MASK (0x100U) 585 #define FTM_COMBINE_COMBINE1_SHIFT (8U) 586 #define FTM_COMBINE_COMBINE1_WIDTH (1U) 587 #define FTM_COMBINE_COMBINE1(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_COMBINE1_SHIFT)) & FTM_COMBINE_COMBINE1_MASK) 588 589 #define FTM_COMBINE_COMP1_MASK (0x200U) 590 #define FTM_COMBINE_COMP1_SHIFT (9U) 591 #define FTM_COMBINE_COMP1_WIDTH (1U) 592 #define FTM_COMBINE_COMP1(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_COMP1_SHIFT)) & FTM_COMBINE_COMP1_MASK) 593 594 #define FTM_COMBINE_DECAPEN1_MASK (0x400U) 595 #define FTM_COMBINE_DECAPEN1_SHIFT (10U) 596 #define FTM_COMBINE_DECAPEN1_WIDTH (1U) 597 #define FTM_COMBINE_DECAPEN1(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DECAPEN1_SHIFT)) & FTM_COMBINE_DECAPEN1_MASK) 598 599 #define FTM_COMBINE_DECAP1_MASK (0x800U) 600 #define FTM_COMBINE_DECAP1_SHIFT (11U) 601 #define FTM_COMBINE_DECAP1_WIDTH (1U) 602 #define FTM_COMBINE_DECAP1(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DECAP1_SHIFT)) & FTM_COMBINE_DECAP1_MASK) 603 604 #define FTM_COMBINE_DTEN1_MASK (0x1000U) 605 #define FTM_COMBINE_DTEN1_SHIFT (12U) 606 #define FTM_COMBINE_DTEN1_WIDTH (1U) 607 #define FTM_COMBINE_DTEN1(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DTEN1_SHIFT)) & FTM_COMBINE_DTEN1_MASK) 608 609 #define FTM_COMBINE_SYNCEN1_MASK (0x2000U) 610 #define FTM_COMBINE_SYNCEN1_SHIFT (13U) 611 #define FTM_COMBINE_SYNCEN1_WIDTH (1U) 612 #define FTM_COMBINE_SYNCEN1(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_SYNCEN1_SHIFT)) & FTM_COMBINE_SYNCEN1_MASK) 613 614 #define FTM_COMBINE_FAULTEN1_MASK (0x4000U) 615 #define FTM_COMBINE_FAULTEN1_SHIFT (14U) 616 #define FTM_COMBINE_FAULTEN1_WIDTH (1U) 617 #define FTM_COMBINE_FAULTEN1(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_FAULTEN1_SHIFT)) & FTM_COMBINE_FAULTEN1_MASK) 618 619 #define FTM_COMBINE_MCOMBINE1_MASK (0x8000U) 620 #define FTM_COMBINE_MCOMBINE1_SHIFT (15U) 621 #define FTM_COMBINE_MCOMBINE1_WIDTH (1U) 622 #define FTM_COMBINE_MCOMBINE1(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_MCOMBINE1_SHIFT)) & FTM_COMBINE_MCOMBINE1_MASK) 623 624 #define FTM_COMBINE_COMBINE2_MASK (0x10000U) 625 #define FTM_COMBINE_COMBINE2_SHIFT (16U) 626 #define FTM_COMBINE_COMBINE2_WIDTH (1U) 627 #define FTM_COMBINE_COMBINE2(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_COMBINE2_SHIFT)) & FTM_COMBINE_COMBINE2_MASK) 628 629 #define FTM_COMBINE_COMP2_MASK (0x20000U) 630 #define FTM_COMBINE_COMP2_SHIFT (17U) 631 #define FTM_COMBINE_COMP2_WIDTH (1U) 632 #define FTM_COMBINE_COMP2(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_COMP2_SHIFT)) & FTM_COMBINE_COMP2_MASK) 633 634 #define FTM_COMBINE_DECAPEN2_MASK (0x40000U) 635 #define FTM_COMBINE_DECAPEN2_SHIFT (18U) 636 #define FTM_COMBINE_DECAPEN2_WIDTH (1U) 637 #define FTM_COMBINE_DECAPEN2(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DECAPEN2_SHIFT)) & FTM_COMBINE_DECAPEN2_MASK) 638 639 #define FTM_COMBINE_DECAP2_MASK (0x80000U) 640 #define FTM_COMBINE_DECAP2_SHIFT (19U) 641 #define FTM_COMBINE_DECAP2_WIDTH (1U) 642 #define FTM_COMBINE_DECAP2(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DECAP2_SHIFT)) & FTM_COMBINE_DECAP2_MASK) 643 644 #define FTM_COMBINE_DTEN2_MASK (0x100000U) 645 #define FTM_COMBINE_DTEN2_SHIFT (20U) 646 #define FTM_COMBINE_DTEN2_WIDTH (1U) 647 #define FTM_COMBINE_DTEN2(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DTEN2_SHIFT)) & FTM_COMBINE_DTEN2_MASK) 648 649 #define FTM_COMBINE_SYNCEN2_MASK (0x200000U) 650 #define FTM_COMBINE_SYNCEN2_SHIFT (21U) 651 #define FTM_COMBINE_SYNCEN2_WIDTH (1U) 652 #define FTM_COMBINE_SYNCEN2(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_SYNCEN2_SHIFT)) & FTM_COMBINE_SYNCEN2_MASK) 653 654 #define FTM_COMBINE_FAULTEN2_MASK (0x400000U) 655 #define FTM_COMBINE_FAULTEN2_SHIFT (22U) 656 #define FTM_COMBINE_FAULTEN2_WIDTH (1U) 657 #define FTM_COMBINE_FAULTEN2(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_FAULTEN2_SHIFT)) & FTM_COMBINE_FAULTEN2_MASK) 658 659 #define FTM_COMBINE_MCOMBINE2_MASK (0x800000U) 660 #define FTM_COMBINE_MCOMBINE2_SHIFT (23U) 661 #define FTM_COMBINE_MCOMBINE2_WIDTH (1U) 662 #define FTM_COMBINE_MCOMBINE2(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_MCOMBINE2_SHIFT)) & FTM_COMBINE_MCOMBINE2_MASK) 663 664 #define FTM_COMBINE_COMBINE3_MASK (0x1000000U) 665 #define FTM_COMBINE_COMBINE3_SHIFT (24U) 666 #define FTM_COMBINE_COMBINE3_WIDTH (1U) 667 #define FTM_COMBINE_COMBINE3(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_COMBINE3_SHIFT)) & FTM_COMBINE_COMBINE3_MASK) 668 669 #define FTM_COMBINE_COMP3_MASK (0x2000000U) 670 #define FTM_COMBINE_COMP3_SHIFT (25U) 671 #define FTM_COMBINE_COMP3_WIDTH (1U) 672 #define FTM_COMBINE_COMP3(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_COMP3_SHIFT)) & FTM_COMBINE_COMP3_MASK) 673 674 #define FTM_COMBINE_DECAPEN3_MASK (0x4000000U) 675 #define FTM_COMBINE_DECAPEN3_SHIFT (26U) 676 #define FTM_COMBINE_DECAPEN3_WIDTH (1U) 677 #define FTM_COMBINE_DECAPEN3(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DECAPEN3_SHIFT)) & FTM_COMBINE_DECAPEN3_MASK) 678 679 #define FTM_COMBINE_DECAP3_MASK (0x8000000U) 680 #define FTM_COMBINE_DECAP3_SHIFT (27U) 681 #define FTM_COMBINE_DECAP3_WIDTH (1U) 682 #define FTM_COMBINE_DECAP3(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DECAP3_SHIFT)) & FTM_COMBINE_DECAP3_MASK) 683 684 #define FTM_COMBINE_DTEN3_MASK (0x10000000U) 685 #define FTM_COMBINE_DTEN3_SHIFT (28U) 686 #define FTM_COMBINE_DTEN3_WIDTH (1U) 687 #define FTM_COMBINE_DTEN3(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_DTEN3_SHIFT)) & FTM_COMBINE_DTEN3_MASK) 688 689 #define FTM_COMBINE_SYNCEN3_MASK (0x20000000U) 690 #define FTM_COMBINE_SYNCEN3_SHIFT (29U) 691 #define FTM_COMBINE_SYNCEN3_WIDTH (1U) 692 #define FTM_COMBINE_SYNCEN3(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_SYNCEN3_SHIFT)) & FTM_COMBINE_SYNCEN3_MASK) 693 694 #define FTM_COMBINE_FAULTEN3_MASK (0x40000000U) 695 #define FTM_COMBINE_FAULTEN3_SHIFT (30U) 696 #define FTM_COMBINE_FAULTEN3_WIDTH (1U) 697 #define FTM_COMBINE_FAULTEN3(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_FAULTEN3_SHIFT)) & FTM_COMBINE_FAULTEN3_MASK) 698 699 #define FTM_COMBINE_MCOMBINE3_MASK (0x80000000U) 700 #define FTM_COMBINE_MCOMBINE3_SHIFT (31U) 701 #define FTM_COMBINE_MCOMBINE3_WIDTH (1U) 702 #define FTM_COMBINE_MCOMBINE3(x) (((uint32_t)(((uint32_t)(x)) << FTM_COMBINE_MCOMBINE3_SHIFT)) & FTM_COMBINE_MCOMBINE3_MASK) 703 /*! @} */ 704 705 /*! @name DEADTIME - Deadtime Configuration */ 706 /*! @{ */ 707 708 #define FTM_DEADTIME_DTVAL_MASK (0x3FU) 709 #define FTM_DEADTIME_DTVAL_SHIFT (0U) 710 #define FTM_DEADTIME_DTVAL_WIDTH (6U) 711 #define FTM_DEADTIME_DTVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_DEADTIME_DTVAL_SHIFT)) & FTM_DEADTIME_DTVAL_MASK) 712 713 #define FTM_DEADTIME_DTPS_MASK (0xC0U) 714 #define FTM_DEADTIME_DTPS_SHIFT (6U) 715 #define FTM_DEADTIME_DTPS_WIDTH (2U) 716 #define FTM_DEADTIME_DTPS(x) (((uint32_t)(((uint32_t)(x)) << FTM_DEADTIME_DTPS_SHIFT)) & FTM_DEADTIME_DTPS_MASK) 717 718 #define FTM_DEADTIME_DTVALEX_MASK (0xF0000U) 719 #define FTM_DEADTIME_DTVALEX_SHIFT (16U) 720 #define FTM_DEADTIME_DTVALEX_WIDTH (4U) 721 #define FTM_DEADTIME_DTVALEX(x) (((uint32_t)(((uint32_t)(x)) << FTM_DEADTIME_DTVALEX_SHIFT)) & FTM_DEADTIME_DTVALEX_MASK) 722 /*! @} */ 723 724 /*! @name EXTTRIG - FTM External Trigger */ 725 /*! @{ */ 726 727 #define FTM_EXTTRIG_CH2TRIG_MASK (0x1U) 728 #define FTM_EXTTRIG_CH2TRIG_SHIFT (0U) 729 #define FTM_EXTTRIG_CH2TRIG_WIDTH (1U) 730 #define FTM_EXTTRIG_CH2TRIG(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_CH2TRIG_SHIFT)) & FTM_EXTTRIG_CH2TRIG_MASK) 731 732 #define FTM_EXTTRIG_CH3TRIG_MASK (0x2U) 733 #define FTM_EXTTRIG_CH3TRIG_SHIFT (1U) 734 #define FTM_EXTTRIG_CH3TRIG_WIDTH (1U) 735 #define FTM_EXTTRIG_CH3TRIG(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_CH3TRIG_SHIFT)) & FTM_EXTTRIG_CH3TRIG_MASK) 736 737 #define FTM_EXTTRIG_CH4TRIG_MASK (0x4U) 738 #define FTM_EXTTRIG_CH4TRIG_SHIFT (2U) 739 #define FTM_EXTTRIG_CH4TRIG_WIDTH (1U) 740 #define FTM_EXTTRIG_CH4TRIG(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_CH4TRIG_SHIFT)) & FTM_EXTTRIG_CH4TRIG_MASK) 741 742 #define FTM_EXTTRIG_CH5TRIG_MASK (0x8U) 743 #define FTM_EXTTRIG_CH5TRIG_SHIFT (3U) 744 #define FTM_EXTTRIG_CH5TRIG_WIDTH (1U) 745 #define FTM_EXTTRIG_CH5TRIG(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_CH5TRIG_SHIFT)) & FTM_EXTTRIG_CH5TRIG_MASK) 746 747 #define FTM_EXTTRIG_CH0TRIG_MASK (0x10U) 748 #define FTM_EXTTRIG_CH0TRIG_SHIFT (4U) 749 #define FTM_EXTTRIG_CH0TRIG_WIDTH (1U) 750 #define FTM_EXTTRIG_CH0TRIG(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_CH0TRIG_SHIFT)) & FTM_EXTTRIG_CH0TRIG_MASK) 751 752 #define FTM_EXTTRIG_CH1TRIG_MASK (0x20U) 753 #define FTM_EXTTRIG_CH1TRIG_SHIFT (5U) 754 #define FTM_EXTTRIG_CH1TRIG_WIDTH (1U) 755 #define FTM_EXTTRIG_CH1TRIG(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_CH1TRIG_SHIFT)) & FTM_EXTTRIG_CH1TRIG_MASK) 756 757 #define FTM_EXTTRIG_INITTRIGEN_MASK (0x40U) 758 #define FTM_EXTTRIG_INITTRIGEN_SHIFT (6U) 759 #define FTM_EXTTRIG_INITTRIGEN_WIDTH (1U) 760 #define FTM_EXTTRIG_INITTRIGEN(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_INITTRIGEN_SHIFT)) & FTM_EXTTRIG_INITTRIGEN_MASK) 761 762 #define FTM_EXTTRIG_TRIGF_MASK (0x80U) 763 #define FTM_EXTTRIG_TRIGF_SHIFT (7U) 764 #define FTM_EXTTRIG_TRIGF_WIDTH (1U) 765 #define FTM_EXTTRIG_TRIGF(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_TRIGF_SHIFT)) & FTM_EXTTRIG_TRIGF_MASK) 766 767 #define FTM_EXTTRIG_CH6TRIG_MASK (0x100U) 768 #define FTM_EXTTRIG_CH6TRIG_SHIFT (8U) 769 #define FTM_EXTTRIG_CH6TRIG_WIDTH (1U) 770 #define FTM_EXTTRIG_CH6TRIG(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_CH6TRIG_SHIFT)) & FTM_EXTTRIG_CH6TRIG_MASK) 771 772 #define FTM_EXTTRIG_CH7TRIG_MASK (0x200U) 773 #define FTM_EXTTRIG_CH7TRIG_SHIFT (9U) 774 #define FTM_EXTTRIG_CH7TRIG_WIDTH (1U) 775 #define FTM_EXTTRIG_CH7TRIG(x) (((uint32_t)(((uint32_t)(x)) << FTM_EXTTRIG_CH7TRIG_SHIFT)) & FTM_EXTTRIG_CH7TRIG_MASK) 776 /*! @} */ 777 778 /*! @name POL - Channels Polarity */ 779 /*! @{ */ 780 781 #define FTM_POL_POL0_MASK (0x1U) 782 #define FTM_POL_POL0_SHIFT (0U) 783 #define FTM_POL_POL0_WIDTH (1U) 784 #define FTM_POL_POL0(x) (((uint32_t)(((uint32_t)(x)) << FTM_POL_POL0_SHIFT)) & FTM_POL_POL0_MASK) 785 786 #define FTM_POL_POL1_MASK (0x2U) 787 #define FTM_POL_POL1_SHIFT (1U) 788 #define FTM_POL_POL1_WIDTH (1U) 789 #define FTM_POL_POL1(x) (((uint32_t)(((uint32_t)(x)) << FTM_POL_POL1_SHIFT)) & FTM_POL_POL1_MASK) 790 791 #define FTM_POL_POL2_MASK (0x4U) 792 #define FTM_POL_POL2_SHIFT (2U) 793 #define FTM_POL_POL2_WIDTH (1U) 794 #define FTM_POL_POL2(x) (((uint32_t)(((uint32_t)(x)) << FTM_POL_POL2_SHIFT)) & FTM_POL_POL2_MASK) 795 796 #define FTM_POL_POL3_MASK (0x8U) 797 #define FTM_POL_POL3_SHIFT (3U) 798 #define FTM_POL_POL3_WIDTH (1U) 799 #define FTM_POL_POL3(x) (((uint32_t)(((uint32_t)(x)) << FTM_POL_POL3_SHIFT)) & FTM_POL_POL3_MASK) 800 801 #define FTM_POL_POL4_MASK (0x10U) 802 #define FTM_POL_POL4_SHIFT (4U) 803 #define FTM_POL_POL4_WIDTH (1U) 804 #define FTM_POL_POL4(x) (((uint32_t)(((uint32_t)(x)) << FTM_POL_POL4_SHIFT)) & FTM_POL_POL4_MASK) 805 806 #define FTM_POL_POL5_MASK (0x20U) 807 #define FTM_POL_POL5_SHIFT (5U) 808 #define FTM_POL_POL5_WIDTH (1U) 809 #define FTM_POL_POL5(x) (((uint32_t)(((uint32_t)(x)) << FTM_POL_POL5_SHIFT)) & FTM_POL_POL5_MASK) 810 811 #define FTM_POL_POL6_MASK (0x40U) 812 #define FTM_POL_POL6_SHIFT (6U) 813 #define FTM_POL_POL6_WIDTH (1U) 814 #define FTM_POL_POL6(x) (((uint32_t)(((uint32_t)(x)) << FTM_POL_POL6_SHIFT)) & FTM_POL_POL6_MASK) 815 816 #define FTM_POL_POL7_MASK (0x80U) 817 #define FTM_POL_POL7_SHIFT (7U) 818 #define FTM_POL_POL7_WIDTH (1U) 819 #define FTM_POL_POL7(x) (((uint32_t)(((uint32_t)(x)) << FTM_POL_POL7_SHIFT)) & FTM_POL_POL7_MASK) 820 /*! @} */ 821 822 /*! @name FMS - Fault Mode Status */ 823 /*! @{ */ 824 825 #define FTM_FMS_FAULTF0_MASK (0x1U) 826 #define FTM_FMS_FAULTF0_SHIFT (0U) 827 #define FTM_FMS_FAULTF0_WIDTH (1U) 828 #define FTM_FMS_FAULTF0(x) (((uint32_t)(((uint32_t)(x)) << FTM_FMS_FAULTF0_SHIFT)) & FTM_FMS_FAULTF0_MASK) 829 830 #define FTM_FMS_FAULTF1_MASK (0x2U) 831 #define FTM_FMS_FAULTF1_SHIFT (1U) 832 #define FTM_FMS_FAULTF1_WIDTH (1U) 833 #define FTM_FMS_FAULTF1(x) (((uint32_t)(((uint32_t)(x)) << FTM_FMS_FAULTF1_SHIFT)) & FTM_FMS_FAULTF1_MASK) 834 835 #define FTM_FMS_FAULTF2_MASK (0x4U) 836 #define FTM_FMS_FAULTF2_SHIFT (2U) 837 #define FTM_FMS_FAULTF2_WIDTH (1U) 838 #define FTM_FMS_FAULTF2(x) (((uint32_t)(((uint32_t)(x)) << FTM_FMS_FAULTF2_SHIFT)) & FTM_FMS_FAULTF2_MASK) 839 840 #define FTM_FMS_FAULTF3_MASK (0x8U) 841 #define FTM_FMS_FAULTF3_SHIFT (3U) 842 #define FTM_FMS_FAULTF3_WIDTH (1U) 843 #define FTM_FMS_FAULTF3(x) (((uint32_t)(((uint32_t)(x)) << FTM_FMS_FAULTF3_SHIFT)) & FTM_FMS_FAULTF3_MASK) 844 845 #define FTM_FMS_FAULTIN_MASK (0x20U) 846 #define FTM_FMS_FAULTIN_SHIFT (5U) 847 #define FTM_FMS_FAULTIN_WIDTH (1U) 848 #define FTM_FMS_FAULTIN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FMS_FAULTIN_SHIFT)) & FTM_FMS_FAULTIN_MASK) 849 850 #define FTM_FMS_WPEN_MASK (0x40U) 851 #define FTM_FMS_WPEN_SHIFT (6U) 852 #define FTM_FMS_WPEN_WIDTH (1U) 853 #define FTM_FMS_WPEN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FMS_WPEN_SHIFT)) & FTM_FMS_WPEN_MASK) 854 855 #define FTM_FMS_FAULTF_MASK (0x80U) 856 #define FTM_FMS_FAULTF_SHIFT (7U) 857 #define FTM_FMS_FAULTF_WIDTH (1U) 858 #define FTM_FMS_FAULTF(x) (((uint32_t)(((uint32_t)(x)) << FTM_FMS_FAULTF_SHIFT)) & FTM_FMS_FAULTF_MASK) 859 /*! @} */ 860 861 /*! @name FILTER - Input Capture Filter Control */ 862 /*! @{ */ 863 864 #define FTM_FILTER_CH0FVAL_MASK (0xFU) 865 #define FTM_FILTER_CH0FVAL_SHIFT (0U) 866 #define FTM_FILTER_CH0FVAL_WIDTH (4U) 867 #define FTM_FILTER_CH0FVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FILTER_CH0FVAL_SHIFT)) & FTM_FILTER_CH0FVAL_MASK) 868 869 #define FTM_FILTER_CH1FVAL_MASK (0xF0U) 870 #define FTM_FILTER_CH1FVAL_SHIFT (4U) 871 #define FTM_FILTER_CH1FVAL_WIDTH (4U) 872 #define FTM_FILTER_CH1FVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FILTER_CH1FVAL_SHIFT)) & FTM_FILTER_CH1FVAL_MASK) 873 874 #define FTM_FILTER_CH2FVAL_MASK (0xF00U) 875 #define FTM_FILTER_CH2FVAL_SHIFT (8U) 876 #define FTM_FILTER_CH2FVAL_WIDTH (4U) 877 #define FTM_FILTER_CH2FVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FILTER_CH2FVAL_SHIFT)) & FTM_FILTER_CH2FVAL_MASK) 878 879 #define FTM_FILTER_CH3FVAL_MASK (0xF000U) 880 #define FTM_FILTER_CH3FVAL_SHIFT (12U) 881 #define FTM_FILTER_CH3FVAL_WIDTH (4U) 882 #define FTM_FILTER_CH3FVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FILTER_CH3FVAL_SHIFT)) & FTM_FILTER_CH3FVAL_MASK) 883 /*! @} */ 884 885 /*! @name FLTCTRL - Fault Control */ 886 /*! @{ */ 887 888 #define FTM_FLTCTRL_FAULT0EN_MASK (0x1U) 889 #define FTM_FLTCTRL_FAULT0EN_SHIFT (0U) 890 #define FTM_FLTCTRL_FAULT0EN_WIDTH (1U) 891 #define FTM_FLTCTRL_FAULT0EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FAULT0EN_SHIFT)) & FTM_FLTCTRL_FAULT0EN_MASK) 892 893 #define FTM_FLTCTRL_FAULT1EN_MASK (0x2U) 894 #define FTM_FLTCTRL_FAULT1EN_SHIFT (1U) 895 #define FTM_FLTCTRL_FAULT1EN_WIDTH (1U) 896 #define FTM_FLTCTRL_FAULT1EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FAULT1EN_SHIFT)) & FTM_FLTCTRL_FAULT1EN_MASK) 897 898 #define FTM_FLTCTRL_FAULT2EN_MASK (0x4U) 899 #define FTM_FLTCTRL_FAULT2EN_SHIFT (2U) 900 #define FTM_FLTCTRL_FAULT2EN_WIDTH (1U) 901 #define FTM_FLTCTRL_FAULT2EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FAULT2EN_SHIFT)) & FTM_FLTCTRL_FAULT2EN_MASK) 902 903 #define FTM_FLTCTRL_FAULT3EN_MASK (0x8U) 904 #define FTM_FLTCTRL_FAULT3EN_SHIFT (3U) 905 #define FTM_FLTCTRL_FAULT3EN_WIDTH (1U) 906 #define FTM_FLTCTRL_FAULT3EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FAULT3EN_SHIFT)) & FTM_FLTCTRL_FAULT3EN_MASK) 907 908 #define FTM_FLTCTRL_FFLTR0EN_MASK (0x10U) 909 #define FTM_FLTCTRL_FFLTR0EN_SHIFT (4U) 910 #define FTM_FLTCTRL_FFLTR0EN_WIDTH (1U) 911 #define FTM_FLTCTRL_FFLTR0EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FFLTR0EN_SHIFT)) & FTM_FLTCTRL_FFLTR0EN_MASK) 912 913 #define FTM_FLTCTRL_FFLTR1EN_MASK (0x20U) 914 #define FTM_FLTCTRL_FFLTR1EN_SHIFT (5U) 915 #define FTM_FLTCTRL_FFLTR1EN_WIDTH (1U) 916 #define FTM_FLTCTRL_FFLTR1EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FFLTR1EN_SHIFT)) & FTM_FLTCTRL_FFLTR1EN_MASK) 917 918 #define FTM_FLTCTRL_FFLTR2EN_MASK (0x40U) 919 #define FTM_FLTCTRL_FFLTR2EN_SHIFT (6U) 920 #define FTM_FLTCTRL_FFLTR2EN_WIDTH (1U) 921 #define FTM_FLTCTRL_FFLTR2EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FFLTR2EN_SHIFT)) & FTM_FLTCTRL_FFLTR2EN_MASK) 922 923 #define FTM_FLTCTRL_FFLTR3EN_MASK (0x80U) 924 #define FTM_FLTCTRL_FFLTR3EN_SHIFT (7U) 925 #define FTM_FLTCTRL_FFLTR3EN_WIDTH (1U) 926 #define FTM_FLTCTRL_FFLTR3EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FFLTR3EN_SHIFT)) & FTM_FLTCTRL_FFLTR3EN_MASK) 927 928 #define FTM_FLTCTRL_FFVAL_MASK (0xF00U) 929 #define FTM_FLTCTRL_FFVAL_SHIFT (8U) 930 #define FTM_FLTCTRL_FFVAL_WIDTH (4U) 931 #define FTM_FLTCTRL_FFVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FFVAL_SHIFT)) & FTM_FLTCTRL_FFVAL_MASK) 932 933 #define FTM_FLTCTRL_FSTATE_MASK (0x8000U) 934 #define FTM_FLTCTRL_FSTATE_SHIFT (15U) 935 #define FTM_FLTCTRL_FSTATE_WIDTH (1U) 936 #define FTM_FLTCTRL_FSTATE(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTCTRL_FSTATE_SHIFT)) & FTM_FLTCTRL_FSTATE_MASK) 937 /*! @} */ 938 939 /*! @name QDCTRL - Quadrature Decoder Control And Status */ 940 /*! @{ */ 941 942 #define FTM_QDCTRL_QUADEN_MASK (0x1U) 943 #define FTM_QDCTRL_QUADEN_SHIFT (0U) 944 #define FTM_QDCTRL_QUADEN_WIDTH (1U) 945 #define FTM_QDCTRL_QUADEN(x) (((uint32_t)(((uint32_t)(x)) << FTM_QDCTRL_QUADEN_SHIFT)) & FTM_QDCTRL_QUADEN_MASK) 946 947 #define FTM_QDCTRL_TOFDIR_MASK (0x2U) 948 #define FTM_QDCTRL_TOFDIR_SHIFT (1U) 949 #define FTM_QDCTRL_TOFDIR_WIDTH (1U) 950 #define FTM_QDCTRL_TOFDIR(x) (((uint32_t)(((uint32_t)(x)) << FTM_QDCTRL_TOFDIR_SHIFT)) & FTM_QDCTRL_TOFDIR_MASK) 951 952 #define FTM_QDCTRL_QUADIR_MASK (0x4U) 953 #define FTM_QDCTRL_QUADIR_SHIFT (2U) 954 #define FTM_QDCTRL_QUADIR_WIDTH (1U) 955 #define FTM_QDCTRL_QUADIR(x) (((uint32_t)(((uint32_t)(x)) << FTM_QDCTRL_QUADIR_SHIFT)) & FTM_QDCTRL_QUADIR_MASK) 956 957 #define FTM_QDCTRL_QUADMODE_MASK (0x8U) 958 #define FTM_QDCTRL_QUADMODE_SHIFT (3U) 959 #define FTM_QDCTRL_QUADMODE_WIDTH (1U) 960 #define FTM_QDCTRL_QUADMODE(x) (((uint32_t)(((uint32_t)(x)) << FTM_QDCTRL_QUADMODE_SHIFT)) & FTM_QDCTRL_QUADMODE_MASK) 961 962 #define FTM_QDCTRL_PHBPOL_MASK (0x10U) 963 #define FTM_QDCTRL_PHBPOL_SHIFT (4U) 964 #define FTM_QDCTRL_PHBPOL_WIDTH (1U) 965 #define FTM_QDCTRL_PHBPOL(x) (((uint32_t)(((uint32_t)(x)) << FTM_QDCTRL_PHBPOL_SHIFT)) & FTM_QDCTRL_PHBPOL_MASK) 966 967 #define FTM_QDCTRL_PHAPOL_MASK (0x20U) 968 #define FTM_QDCTRL_PHAPOL_SHIFT (5U) 969 #define FTM_QDCTRL_PHAPOL_WIDTH (1U) 970 #define FTM_QDCTRL_PHAPOL(x) (((uint32_t)(((uint32_t)(x)) << FTM_QDCTRL_PHAPOL_SHIFT)) & FTM_QDCTRL_PHAPOL_MASK) 971 972 #define FTM_QDCTRL_PHBFLTREN_MASK (0x40U) 973 #define FTM_QDCTRL_PHBFLTREN_SHIFT (6U) 974 #define FTM_QDCTRL_PHBFLTREN_WIDTH (1U) 975 #define FTM_QDCTRL_PHBFLTREN(x) (((uint32_t)(((uint32_t)(x)) << FTM_QDCTRL_PHBFLTREN_SHIFT)) & FTM_QDCTRL_PHBFLTREN_MASK) 976 977 #define FTM_QDCTRL_PHAFLTREN_MASK (0x80U) 978 #define FTM_QDCTRL_PHAFLTREN_SHIFT (7U) 979 #define FTM_QDCTRL_PHAFLTREN_WIDTH (1U) 980 #define FTM_QDCTRL_PHAFLTREN(x) (((uint32_t)(((uint32_t)(x)) << FTM_QDCTRL_PHAFLTREN_SHIFT)) & FTM_QDCTRL_PHAFLTREN_MASK) 981 /*! @} */ 982 983 /*! @name CONF - Configuration */ 984 /*! @{ */ 985 986 #define FTM_CONF_LDFQ_MASK (0x1FU) 987 #define FTM_CONF_LDFQ_SHIFT (0U) 988 #define FTM_CONF_LDFQ_WIDTH (5U) 989 #define FTM_CONF_LDFQ(x) (((uint32_t)(((uint32_t)(x)) << FTM_CONF_LDFQ_SHIFT)) & FTM_CONF_LDFQ_MASK) 990 991 #define FTM_CONF_BDMMODE_MASK (0xC0U) 992 #define FTM_CONF_BDMMODE_SHIFT (6U) 993 #define FTM_CONF_BDMMODE_WIDTH (2U) 994 #define FTM_CONF_BDMMODE(x) (((uint32_t)(((uint32_t)(x)) << FTM_CONF_BDMMODE_SHIFT)) & FTM_CONF_BDMMODE_MASK) 995 996 #define FTM_CONF_GTBEEN_MASK (0x200U) 997 #define FTM_CONF_GTBEEN_SHIFT (9U) 998 #define FTM_CONF_GTBEEN_WIDTH (1U) 999 #define FTM_CONF_GTBEEN(x) (((uint32_t)(((uint32_t)(x)) << FTM_CONF_GTBEEN_SHIFT)) & FTM_CONF_GTBEEN_MASK) 1000 1001 #define FTM_CONF_GTBEOUT_MASK (0x400U) 1002 #define FTM_CONF_GTBEOUT_SHIFT (10U) 1003 #define FTM_CONF_GTBEOUT_WIDTH (1U) 1004 #define FTM_CONF_GTBEOUT(x) (((uint32_t)(((uint32_t)(x)) << FTM_CONF_GTBEOUT_SHIFT)) & FTM_CONF_GTBEOUT_MASK) 1005 1006 #define FTM_CONF_ITRIGR_MASK (0x800U) 1007 #define FTM_CONF_ITRIGR_SHIFT (11U) 1008 #define FTM_CONF_ITRIGR_WIDTH (1U) 1009 #define FTM_CONF_ITRIGR(x) (((uint32_t)(((uint32_t)(x)) << FTM_CONF_ITRIGR_SHIFT)) & FTM_CONF_ITRIGR_MASK) 1010 /*! @} */ 1011 1012 /*! @name FLTPOL - FTM Fault Input Polarity */ 1013 /*! @{ */ 1014 1015 #define FTM_FLTPOL_FLT0POL_MASK (0x1U) 1016 #define FTM_FLTPOL_FLT0POL_SHIFT (0U) 1017 #define FTM_FLTPOL_FLT0POL_WIDTH (1U) 1018 #define FTM_FLTPOL_FLT0POL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTPOL_FLT0POL_SHIFT)) & FTM_FLTPOL_FLT0POL_MASK) 1019 1020 #define FTM_FLTPOL_FLT1POL_MASK (0x2U) 1021 #define FTM_FLTPOL_FLT1POL_SHIFT (1U) 1022 #define FTM_FLTPOL_FLT1POL_WIDTH (1U) 1023 #define FTM_FLTPOL_FLT1POL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTPOL_FLT1POL_SHIFT)) & FTM_FLTPOL_FLT1POL_MASK) 1024 1025 #define FTM_FLTPOL_FLT2POL_MASK (0x4U) 1026 #define FTM_FLTPOL_FLT2POL_SHIFT (2U) 1027 #define FTM_FLTPOL_FLT2POL_WIDTH (1U) 1028 #define FTM_FLTPOL_FLT2POL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTPOL_FLT2POL_SHIFT)) & FTM_FLTPOL_FLT2POL_MASK) 1029 1030 #define FTM_FLTPOL_FLT3POL_MASK (0x8U) 1031 #define FTM_FLTPOL_FLT3POL_SHIFT (3U) 1032 #define FTM_FLTPOL_FLT3POL_WIDTH (1U) 1033 #define FTM_FLTPOL_FLT3POL(x) (((uint32_t)(((uint32_t)(x)) << FTM_FLTPOL_FLT3POL_SHIFT)) & FTM_FLTPOL_FLT3POL_MASK) 1034 /*! @} */ 1035 1036 /*! @name SYNCONF - Synchronization Configuration */ 1037 /*! @{ */ 1038 1039 #define FTM_SYNCONF_HWTRIGMODE_MASK (0x1U) 1040 #define FTM_SYNCONF_HWTRIGMODE_SHIFT (0U) 1041 #define FTM_SYNCONF_HWTRIGMODE_WIDTH (1U) 1042 #define FTM_SYNCONF_HWTRIGMODE(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_HWTRIGMODE_SHIFT)) & FTM_SYNCONF_HWTRIGMODE_MASK) 1043 1044 #define FTM_SYNCONF_CNTINC_MASK (0x4U) 1045 #define FTM_SYNCONF_CNTINC_SHIFT (2U) 1046 #define FTM_SYNCONF_CNTINC_WIDTH (1U) 1047 #define FTM_SYNCONF_CNTINC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_CNTINC_SHIFT)) & FTM_SYNCONF_CNTINC_MASK) 1048 1049 #define FTM_SYNCONF_INVC_MASK (0x10U) 1050 #define FTM_SYNCONF_INVC_SHIFT (4U) 1051 #define FTM_SYNCONF_INVC_WIDTH (1U) 1052 #define FTM_SYNCONF_INVC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_INVC_SHIFT)) & FTM_SYNCONF_INVC_MASK) 1053 1054 #define FTM_SYNCONF_SWOC_MASK (0x20U) 1055 #define FTM_SYNCONF_SWOC_SHIFT (5U) 1056 #define FTM_SYNCONF_SWOC_WIDTH (1U) 1057 #define FTM_SYNCONF_SWOC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_SWOC_SHIFT)) & FTM_SYNCONF_SWOC_MASK) 1058 1059 #define FTM_SYNCONF_SYNCMODE_MASK (0x80U) 1060 #define FTM_SYNCONF_SYNCMODE_SHIFT (7U) 1061 #define FTM_SYNCONF_SYNCMODE_WIDTH (1U) 1062 #define FTM_SYNCONF_SYNCMODE(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_SYNCMODE_SHIFT)) & FTM_SYNCONF_SYNCMODE_MASK) 1063 1064 #define FTM_SYNCONF_SWRSTCNT_MASK (0x100U) 1065 #define FTM_SYNCONF_SWRSTCNT_SHIFT (8U) 1066 #define FTM_SYNCONF_SWRSTCNT_WIDTH (1U) 1067 #define FTM_SYNCONF_SWRSTCNT(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_SWRSTCNT_SHIFT)) & FTM_SYNCONF_SWRSTCNT_MASK) 1068 1069 #define FTM_SYNCONF_SWWRBUF_MASK (0x200U) 1070 #define FTM_SYNCONF_SWWRBUF_SHIFT (9U) 1071 #define FTM_SYNCONF_SWWRBUF_WIDTH (1U) 1072 #define FTM_SYNCONF_SWWRBUF(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_SWWRBUF_SHIFT)) & FTM_SYNCONF_SWWRBUF_MASK) 1073 1074 #define FTM_SYNCONF_SWOM_MASK (0x400U) 1075 #define FTM_SYNCONF_SWOM_SHIFT (10U) 1076 #define FTM_SYNCONF_SWOM_WIDTH (1U) 1077 #define FTM_SYNCONF_SWOM(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_SWOM_SHIFT)) & FTM_SYNCONF_SWOM_MASK) 1078 1079 #define FTM_SYNCONF_SWINVC_MASK (0x800U) 1080 #define FTM_SYNCONF_SWINVC_SHIFT (11U) 1081 #define FTM_SYNCONF_SWINVC_WIDTH (1U) 1082 #define FTM_SYNCONF_SWINVC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_SWINVC_SHIFT)) & FTM_SYNCONF_SWINVC_MASK) 1083 1084 #define FTM_SYNCONF_SWSOC_MASK (0x1000U) 1085 #define FTM_SYNCONF_SWSOC_SHIFT (12U) 1086 #define FTM_SYNCONF_SWSOC_WIDTH (1U) 1087 #define FTM_SYNCONF_SWSOC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_SWSOC_SHIFT)) & FTM_SYNCONF_SWSOC_MASK) 1088 1089 #define FTM_SYNCONF_HWRSTCNT_MASK (0x10000U) 1090 #define FTM_SYNCONF_HWRSTCNT_SHIFT (16U) 1091 #define FTM_SYNCONF_HWRSTCNT_WIDTH (1U) 1092 #define FTM_SYNCONF_HWRSTCNT(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_HWRSTCNT_SHIFT)) & FTM_SYNCONF_HWRSTCNT_MASK) 1093 1094 #define FTM_SYNCONF_HWWRBUF_MASK (0x20000U) 1095 #define FTM_SYNCONF_HWWRBUF_SHIFT (17U) 1096 #define FTM_SYNCONF_HWWRBUF_WIDTH (1U) 1097 #define FTM_SYNCONF_HWWRBUF(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_HWWRBUF_SHIFT)) & FTM_SYNCONF_HWWRBUF_MASK) 1098 1099 #define FTM_SYNCONF_HWOM_MASK (0x40000U) 1100 #define FTM_SYNCONF_HWOM_SHIFT (18U) 1101 #define FTM_SYNCONF_HWOM_WIDTH (1U) 1102 #define FTM_SYNCONF_HWOM(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_HWOM_SHIFT)) & FTM_SYNCONF_HWOM_MASK) 1103 1104 #define FTM_SYNCONF_HWINVC_MASK (0x80000U) 1105 #define FTM_SYNCONF_HWINVC_SHIFT (19U) 1106 #define FTM_SYNCONF_HWINVC_WIDTH (1U) 1107 #define FTM_SYNCONF_HWINVC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_HWINVC_SHIFT)) & FTM_SYNCONF_HWINVC_MASK) 1108 1109 #define FTM_SYNCONF_HWSOC_MASK (0x100000U) 1110 #define FTM_SYNCONF_HWSOC_SHIFT (20U) 1111 #define FTM_SYNCONF_HWSOC_WIDTH (1U) 1112 #define FTM_SYNCONF_HWSOC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SYNCONF_HWSOC_SHIFT)) & FTM_SYNCONF_HWSOC_MASK) 1113 /*! @} */ 1114 1115 /*! @name INVCTRL - FTM Inverting Control */ 1116 /*! @{ */ 1117 1118 #define FTM_INVCTRL_INV0EN_MASK (0x1U) 1119 #define FTM_INVCTRL_INV0EN_SHIFT (0U) 1120 #define FTM_INVCTRL_INV0EN_WIDTH (1U) 1121 #define FTM_INVCTRL_INV0EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_INVCTRL_INV0EN_SHIFT)) & FTM_INVCTRL_INV0EN_MASK) 1122 1123 #define FTM_INVCTRL_INV1EN_MASK (0x2U) 1124 #define FTM_INVCTRL_INV1EN_SHIFT (1U) 1125 #define FTM_INVCTRL_INV1EN_WIDTH (1U) 1126 #define FTM_INVCTRL_INV1EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_INVCTRL_INV1EN_SHIFT)) & FTM_INVCTRL_INV1EN_MASK) 1127 1128 #define FTM_INVCTRL_INV2EN_MASK (0x4U) 1129 #define FTM_INVCTRL_INV2EN_SHIFT (2U) 1130 #define FTM_INVCTRL_INV2EN_WIDTH (1U) 1131 #define FTM_INVCTRL_INV2EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_INVCTRL_INV2EN_SHIFT)) & FTM_INVCTRL_INV2EN_MASK) 1132 1133 #define FTM_INVCTRL_INV3EN_MASK (0x8U) 1134 #define FTM_INVCTRL_INV3EN_SHIFT (3U) 1135 #define FTM_INVCTRL_INV3EN_WIDTH (1U) 1136 #define FTM_INVCTRL_INV3EN(x) (((uint32_t)(((uint32_t)(x)) << FTM_INVCTRL_INV3EN_SHIFT)) & FTM_INVCTRL_INV3EN_MASK) 1137 /*! @} */ 1138 1139 /*! @name SWOCTRL - FTM Software Output Control */ 1140 /*! @{ */ 1141 1142 #define FTM_SWOCTRL_CH0OC_MASK (0x1U) 1143 #define FTM_SWOCTRL_CH0OC_SHIFT (0U) 1144 #define FTM_SWOCTRL_CH0OC_WIDTH (1U) 1145 #define FTM_SWOCTRL_CH0OC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH0OC_SHIFT)) & FTM_SWOCTRL_CH0OC_MASK) 1146 1147 #define FTM_SWOCTRL_CH1OC_MASK (0x2U) 1148 #define FTM_SWOCTRL_CH1OC_SHIFT (1U) 1149 #define FTM_SWOCTRL_CH1OC_WIDTH (1U) 1150 #define FTM_SWOCTRL_CH1OC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH1OC_SHIFT)) & FTM_SWOCTRL_CH1OC_MASK) 1151 1152 #define FTM_SWOCTRL_CH2OC_MASK (0x4U) 1153 #define FTM_SWOCTRL_CH2OC_SHIFT (2U) 1154 #define FTM_SWOCTRL_CH2OC_WIDTH (1U) 1155 #define FTM_SWOCTRL_CH2OC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH2OC_SHIFT)) & FTM_SWOCTRL_CH2OC_MASK) 1156 1157 #define FTM_SWOCTRL_CH3OC_MASK (0x8U) 1158 #define FTM_SWOCTRL_CH3OC_SHIFT (3U) 1159 #define FTM_SWOCTRL_CH3OC_WIDTH (1U) 1160 #define FTM_SWOCTRL_CH3OC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH3OC_SHIFT)) & FTM_SWOCTRL_CH3OC_MASK) 1161 1162 #define FTM_SWOCTRL_CH4OC_MASK (0x10U) 1163 #define FTM_SWOCTRL_CH4OC_SHIFT (4U) 1164 #define FTM_SWOCTRL_CH4OC_WIDTH (1U) 1165 #define FTM_SWOCTRL_CH4OC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH4OC_SHIFT)) & FTM_SWOCTRL_CH4OC_MASK) 1166 1167 #define FTM_SWOCTRL_CH5OC_MASK (0x20U) 1168 #define FTM_SWOCTRL_CH5OC_SHIFT (5U) 1169 #define FTM_SWOCTRL_CH5OC_WIDTH (1U) 1170 #define FTM_SWOCTRL_CH5OC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH5OC_SHIFT)) & FTM_SWOCTRL_CH5OC_MASK) 1171 1172 #define FTM_SWOCTRL_CH6OC_MASK (0x40U) 1173 #define FTM_SWOCTRL_CH6OC_SHIFT (6U) 1174 #define FTM_SWOCTRL_CH6OC_WIDTH (1U) 1175 #define FTM_SWOCTRL_CH6OC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH6OC_SHIFT)) & FTM_SWOCTRL_CH6OC_MASK) 1176 1177 #define FTM_SWOCTRL_CH7OC_MASK (0x80U) 1178 #define FTM_SWOCTRL_CH7OC_SHIFT (7U) 1179 #define FTM_SWOCTRL_CH7OC_WIDTH (1U) 1180 #define FTM_SWOCTRL_CH7OC(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH7OC_SHIFT)) & FTM_SWOCTRL_CH7OC_MASK) 1181 1182 #define FTM_SWOCTRL_CH0OCV_MASK (0x100U) 1183 #define FTM_SWOCTRL_CH0OCV_SHIFT (8U) 1184 #define FTM_SWOCTRL_CH0OCV_WIDTH (1U) 1185 #define FTM_SWOCTRL_CH0OCV(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH0OCV_SHIFT)) & FTM_SWOCTRL_CH0OCV_MASK) 1186 1187 #define FTM_SWOCTRL_CH1OCV_MASK (0x200U) 1188 #define FTM_SWOCTRL_CH1OCV_SHIFT (9U) 1189 #define FTM_SWOCTRL_CH1OCV_WIDTH (1U) 1190 #define FTM_SWOCTRL_CH1OCV(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH1OCV_SHIFT)) & FTM_SWOCTRL_CH1OCV_MASK) 1191 1192 #define FTM_SWOCTRL_CH2OCV_MASK (0x400U) 1193 #define FTM_SWOCTRL_CH2OCV_SHIFT (10U) 1194 #define FTM_SWOCTRL_CH2OCV_WIDTH (1U) 1195 #define FTM_SWOCTRL_CH2OCV(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH2OCV_SHIFT)) & FTM_SWOCTRL_CH2OCV_MASK) 1196 1197 #define FTM_SWOCTRL_CH3OCV_MASK (0x800U) 1198 #define FTM_SWOCTRL_CH3OCV_SHIFT (11U) 1199 #define FTM_SWOCTRL_CH3OCV_WIDTH (1U) 1200 #define FTM_SWOCTRL_CH3OCV(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH3OCV_SHIFT)) & FTM_SWOCTRL_CH3OCV_MASK) 1201 1202 #define FTM_SWOCTRL_CH4OCV_MASK (0x1000U) 1203 #define FTM_SWOCTRL_CH4OCV_SHIFT (12U) 1204 #define FTM_SWOCTRL_CH4OCV_WIDTH (1U) 1205 #define FTM_SWOCTRL_CH4OCV(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH4OCV_SHIFT)) & FTM_SWOCTRL_CH4OCV_MASK) 1206 1207 #define FTM_SWOCTRL_CH5OCV_MASK (0x2000U) 1208 #define FTM_SWOCTRL_CH5OCV_SHIFT (13U) 1209 #define FTM_SWOCTRL_CH5OCV_WIDTH (1U) 1210 #define FTM_SWOCTRL_CH5OCV(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH5OCV_SHIFT)) & FTM_SWOCTRL_CH5OCV_MASK) 1211 1212 #define FTM_SWOCTRL_CH6OCV_MASK (0x4000U) 1213 #define FTM_SWOCTRL_CH6OCV_SHIFT (14U) 1214 #define FTM_SWOCTRL_CH6OCV_WIDTH (1U) 1215 #define FTM_SWOCTRL_CH6OCV(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH6OCV_SHIFT)) & FTM_SWOCTRL_CH6OCV_MASK) 1216 1217 #define FTM_SWOCTRL_CH7OCV_MASK (0x8000U) 1218 #define FTM_SWOCTRL_CH7OCV_SHIFT (15U) 1219 #define FTM_SWOCTRL_CH7OCV_WIDTH (1U) 1220 #define FTM_SWOCTRL_CH7OCV(x) (((uint32_t)(((uint32_t)(x)) << FTM_SWOCTRL_CH7OCV_SHIFT)) & FTM_SWOCTRL_CH7OCV_MASK) 1221 /*! @} */ 1222 1223 /*! @name PWMLOAD - FTM PWM Load */ 1224 /*! @{ */ 1225 1226 #define FTM_PWMLOAD_CH0SEL_MASK (0x1U) 1227 #define FTM_PWMLOAD_CH0SEL_SHIFT (0U) 1228 #define FTM_PWMLOAD_CH0SEL_WIDTH (1U) 1229 #define FTM_PWMLOAD_CH0SEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_CH0SEL_SHIFT)) & FTM_PWMLOAD_CH0SEL_MASK) 1230 1231 #define FTM_PWMLOAD_CH1SEL_MASK (0x2U) 1232 #define FTM_PWMLOAD_CH1SEL_SHIFT (1U) 1233 #define FTM_PWMLOAD_CH1SEL_WIDTH (1U) 1234 #define FTM_PWMLOAD_CH1SEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_CH1SEL_SHIFT)) & FTM_PWMLOAD_CH1SEL_MASK) 1235 1236 #define FTM_PWMLOAD_CH2SEL_MASK (0x4U) 1237 #define FTM_PWMLOAD_CH2SEL_SHIFT (2U) 1238 #define FTM_PWMLOAD_CH2SEL_WIDTH (1U) 1239 #define FTM_PWMLOAD_CH2SEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_CH2SEL_SHIFT)) & FTM_PWMLOAD_CH2SEL_MASK) 1240 1241 #define FTM_PWMLOAD_CH3SEL_MASK (0x8U) 1242 #define FTM_PWMLOAD_CH3SEL_SHIFT (3U) 1243 #define FTM_PWMLOAD_CH3SEL_WIDTH (1U) 1244 #define FTM_PWMLOAD_CH3SEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_CH3SEL_SHIFT)) & FTM_PWMLOAD_CH3SEL_MASK) 1245 1246 #define FTM_PWMLOAD_CH4SEL_MASK (0x10U) 1247 #define FTM_PWMLOAD_CH4SEL_SHIFT (4U) 1248 #define FTM_PWMLOAD_CH4SEL_WIDTH (1U) 1249 #define FTM_PWMLOAD_CH4SEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_CH4SEL_SHIFT)) & FTM_PWMLOAD_CH4SEL_MASK) 1250 1251 #define FTM_PWMLOAD_CH5SEL_MASK (0x20U) 1252 #define FTM_PWMLOAD_CH5SEL_SHIFT (5U) 1253 #define FTM_PWMLOAD_CH5SEL_WIDTH (1U) 1254 #define FTM_PWMLOAD_CH5SEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_CH5SEL_SHIFT)) & FTM_PWMLOAD_CH5SEL_MASK) 1255 1256 #define FTM_PWMLOAD_CH6SEL_MASK (0x40U) 1257 #define FTM_PWMLOAD_CH6SEL_SHIFT (6U) 1258 #define FTM_PWMLOAD_CH6SEL_WIDTH (1U) 1259 #define FTM_PWMLOAD_CH6SEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_CH6SEL_SHIFT)) & FTM_PWMLOAD_CH6SEL_MASK) 1260 1261 #define FTM_PWMLOAD_CH7SEL_MASK (0x80U) 1262 #define FTM_PWMLOAD_CH7SEL_SHIFT (7U) 1263 #define FTM_PWMLOAD_CH7SEL_WIDTH (1U) 1264 #define FTM_PWMLOAD_CH7SEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_CH7SEL_SHIFT)) & FTM_PWMLOAD_CH7SEL_MASK) 1265 1266 #define FTM_PWMLOAD_HCSEL_MASK (0x100U) 1267 #define FTM_PWMLOAD_HCSEL_SHIFT (8U) 1268 #define FTM_PWMLOAD_HCSEL_WIDTH (1U) 1269 #define FTM_PWMLOAD_HCSEL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_HCSEL_SHIFT)) & FTM_PWMLOAD_HCSEL_MASK) 1270 1271 #define FTM_PWMLOAD_LDOK_MASK (0x200U) 1272 #define FTM_PWMLOAD_LDOK_SHIFT (9U) 1273 #define FTM_PWMLOAD_LDOK_WIDTH (1U) 1274 #define FTM_PWMLOAD_LDOK(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_LDOK_SHIFT)) & FTM_PWMLOAD_LDOK_MASK) 1275 1276 #define FTM_PWMLOAD_GLEN_MASK (0x400U) 1277 #define FTM_PWMLOAD_GLEN_SHIFT (10U) 1278 #define FTM_PWMLOAD_GLEN_WIDTH (1U) 1279 #define FTM_PWMLOAD_GLEN(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_GLEN_SHIFT)) & FTM_PWMLOAD_GLEN_MASK) 1280 1281 #define FTM_PWMLOAD_GLDOK_MASK (0x800U) 1282 #define FTM_PWMLOAD_GLDOK_SHIFT (11U) 1283 #define FTM_PWMLOAD_GLDOK_WIDTH (1U) 1284 #define FTM_PWMLOAD_GLDOK(x) (((uint32_t)(((uint32_t)(x)) << FTM_PWMLOAD_GLDOK_SHIFT)) & FTM_PWMLOAD_GLDOK_MASK) 1285 /*! @} */ 1286 1287 /*! @name HCR - Half Cycle Register */ 1288 /*! @{ */ 1289 1290 #define FTM_HCR_HCVAL_MASK (0xFFFFU) 1291 #define FTM_HCR_HCVAL_SHIFT (0U) 1292 #define FTM_HCR_HCVAL_WIDTH (16U) 1293 #define FTM_HCR_HCVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_HCR_HCVAL_SHIFT)) & FTM_HCR_HCVAL_MASK) 1294 /*! @} */ 1295 1296 /*! @name PAIR0DEADTIME - Pair 0 Deadtime Configuration */ 1297 /*! @{ */ 1298 1299 #define FTM_PAIR0DEADTIME_DTVAL_MASK (0x3FU) 1300 #define FTM_PAIR0DEADTIME_DTVAL_SHIFT (0U) 1301 #define FTM_PAIR0DEADTIME_DTVAL_WIDTH (6U) 1302 #define FTM_PAIR0DEADTIME_DTVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR0DEADTIME_DTVAL_SHIFT)) & FTM_PAIR0DEADTIME_DTVAL_MASK) 1303 1304 #define FTM_PAIR0DEADTIME_DTPS_MASK (0xC0U) 1305 #define FTM_PAIR0DEADTIME_DTPS_SHIFT (6U) 1306 #define FTM_PAIR0DEADTIME_DTPS_WIDTH (2U) 1307 #define FTM_PAIR0DEADTIME_DTPS(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR0DEADTIME_DTPS_SHIFT)) & FTM_PAIR0DEADTIME_DTPS_MASK) 1308 1309 #define FTM_PAIR0DEADTIME_DTVALEX_MASK (0xF0000U) 1310 #define FTM_PAIR0DEADTIME_DTVALEX_SHIFT (16U) 1311 #define FTM_PAIR0DEADTIME_DTVALEX_WIDTH (4U) 1312 #define FTM_PAIR0DEADTIME_DTVALEX(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR0DEADTIME_DTVALEX_SHIFT)) & FTM_PAIR0DEADTIME_DTVALEX_MASK) 1313 /*! @} */ 1314 1315 /*! @name PAIR1DEADTIME - Pair 1 Deadtime Configuration */ 1316 /*! @{ */ 1317 1318 #define FTM_PAIR1DEADTIME_DTVAL_MASK (0x3FU) 1319 #define FTM_PAIR1DEADTIME_DTVAL_SHIFT (0U) 1320 #define FTM_PAIR1DEADTIME_DTVAL_WIDTH (6U) 1321 #define FTM_PAIR1DEADTIME_DTVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR1DEADTIME_DTVAL_SHIFT)) & FTM_PAIR1DEADTIME_DTVAL_MASK) 1322 1323 #define FTM_PAIR1DEADTIME_DTPS_MASK (0xC0U) 1324 #define FTM_PAIR1DEADTIME_DTPS_SHIFT (6U) 1325 #define FTM_PAIR1DEADTIME_DTPS_WIDTH (2U) 1326 #define FTM_PAIR1DEADTIME_DTPS(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR1DEADTIME_DTPS_SHIFT)) & FTM_PAIR1DEADTIME_DTPS_MASK) 1327 1328 #define FTM_PAIR1DEADTIME_DTVALEX_MASK (0xF0000U) 1329 #define FTM_PAIR1DEADTIME_DTVALEX_SHIFT (16U) 1330 #define FTM_PAIR1DEADTIME_DTVALEX_WIDTH (4U) 1331 #define FTM_PAIR1DEADTIME_DTVALEX(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR1DEADTIME_DTVALEX_SHIFT)) & FTM_PAIR1DEADTIME_DTVALEX_MASK) 1332 /*! @} */ 1333 1334 /*! @name PAIR2DEADTIME - Pair 2 Deadtime Configuration */ 1335 /*! @{ */ 1336 1337 #define FTM_PAIR2DEADTIME_DTVAL_MASK (0x3FU) 1338 #define FTM_PAIR2DEADTIME_DTVAL_SHIFT (0U) 1339 #define FTM_PAIR2DEADTIME_DTVAL_WIDTH (6U) 1340 #define FTM_PAIR2DEADTIME_DTVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR2DEADTIME_DTVAL_SHIFT)) & FTM_PAIR2DEADTIME_DTVAL_MASK) 1341 1342 #define FTM_PAIR2DEADTIME_DTPS_MASK (0xC0U) 1343 #define FTM_PAIR2DEADTIME_DTPS_SHIFT (6U) 1344 #define FTM_PAIR2DEADTIME_DTPS_WIDTH (2U) 1345 #define FTM_PAIR2DEADTIME_DTPS(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR2DEADTIME_DTPS_SHIFT)) & FTM_PAIR2DEADTIME_DTPS_MASK) 1346 1347 #define FTM_PAIR2DEADTIME_DTVALEX_MASK (0xF0000U) 1348 #define FTM_PAIR2DEADTIME_DTVALEX_SHIFT (16U) 1349 #define FTM_PAIR2DEADTIME_DTVALEX_WIDTH (4U) 1350 #define FTM_PAIR2DEADTIME_DTVALEX(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR2DEADTIME_DTVALEX_SHIFT)) & FTM_PAIR2DEADTIME_DTVALEX_MASK) 1351 /*! @} */ 1352 1353 /*! @name PAIR3DEADTIME - Pair 3 Deadtime Configuration */ 1354 /*! @{ */ 1355 1356 #define FTM_PAIR3DEADTIME_DTVAL_MASK (0x3FU) 1357 #define FTM_PAIR3DEADTIME_DTVAL_SHIFT (0U) 1358 #define FTM_PAIR3DEADTIME_DTVAL_WIDTH (6U) 1359 #define FTM_PAIR3DEADTIME_DTVAL(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR3DEADTIME_DTVAL_SHIFT)) & FTM_PAIR3DEADTIME_DTVAL_MASK) 1360 1361 #define FTM_PAIR3DEADTIME_DTPS_MASK (0xC0U) 1362 #define FTM_PAIR3DEADTIME_DTPS_SHIFT (6U) 1363 #define FTM_PAIR3DEADTIME_DTPS_WIDTH (2U) 1364 #define FTM_PAIR3DEADTIME_DTPS(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR3DEADTIME_DTPS_SHIFT)) & FTM_PAIR3DEADTIME_DTPS_MASK) 1365 1366 #define FTM_PAIR3DEADTIME_DTVALEX_MASK (0xF0000U) 1367 #define FTM_PAIR3DEADTIME_DTVALEX_SHIFT (16U) 1368 #define FTM_PAIR3DEADTIME_DTVALEX_WIDTH (4U) 1369 #define FTM_PAIR3DEADTIME_DTVALEX(x) (((uint32_t)(((uint32_t)(x)) << FTM_PAIR3DEADTIME_DTVALEX_SHIFT)) & FTM_PAIR3DEADTIME_DTVALEX_MASK) 1370 /*! @} */ 1371 1372 /*! 1373 * @} 1374 */ /* end of group FTM_Register_Masks */ 1375 1376 /*! 1377 * @} 1378 */ /* end of group FTM_Peripheral_Access_Layer */ 1379 1380 #endif /* #if !defined(S32K144_FTM_H_) */ 1381