1 /* 2 * Copyright 1997-2016 Freescale Semiconductor, Inc. 3 * Copyright 2016-2024 NXP 4 * 5 * SPDX-License-Identifier: BSD-3-Clause 6 */ 7 8 /*! 9 * @file S32Z2_EDMA4_TCD.h 10 * @version 2.3 11 * @date 2024-05-03 12 * @brief Peripheral Access Layer for S32Z2_EDMA4_TCD 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_EDMA4_TCD_H_) /* Check if memory map has not been already included */ 58 #define S32Z2_EDMA4_TCD_H_ 59 60 #include "S32Z2_COMMON.h" 61 62 /* ---------------------------------------------------------------------------- 63 -- EDMA4_TCD Peripheral Access Layer 64 ---------------------------------------------------------------------------- */ 65 66 /*! 67 * @addtogroup EDMA4_TCD_Peripheral_Access_Layer EDMA4_TCD Peripheral Access Layer 68 * @{ 69 */ 70 71 /** EDMA4_TCD - Size of Registers Arrays */ 72 #define EDMA4_TCD_TCD_COUNT 32u 73 74 /** EDMA4_TCD - Register Layout Typedef */ 75 typedef struct { 76 struct EDMA4_TCD_TCD { /* offset: 0x0, array step: 0x10000 */ 77 __IO uint32_t CH_CSR; /**< Channel Control and Status Register, array offset: 0x0, array step: 0x10000 */ 78 __IO uint32_t CH_ES; /**< Channel Error Status Register, array offset: 0x4, array step: 0x10000 */ 79 __IO uint32_t CH_INT; /**< Channel Interrupt Status Register, array offset: 0x8, array step: 0x10000 */ 80 __IO uint32_t CH_SBR; /**< Channel System Bus Register, array offset: 0xC, array step: 0x10000 */ 81 __IO uint32_t CH_PRI; /**< Channel Priority Register, array offset: 0x10, array step: 0x10000 */ 82 uint8_t RESERVED_0[4]; 83 __IO uint16_t CH_MATTR; /**< Memory Attributes Register, array offset: 0x18, array step: 0x10000 */ 84 uint8_t RESERVED_1[6]; 85 __IO uint32_t SADDR; /**< TCD Source Address Register, array offset: 0x20, array step: 0x10000 */ 86 __IO uint16_t SOFF; /**< TCD Signed Source Address Offset Register, array offset: 0x24, array step: 0x10000 */ 87 __IO uint16_t ATTR; /**< TCD Transfer Attributes Register, array offset: 0x26, array step: 0x10000 */ 88 union { /* offset: 0x28, array step: 0x10000 */ 89 __IO uint32_t NBYTES_MLOFFNO; /**< TCD Transfer Size without Minor Loop Offsets Register, array offset: 0x28, array step: 0x10000 */ 90 __IO uint32_t NBYTES_MLOFFYES; /**< TCD Transfer Size with Minor Loop Offsets Register, array offset: 0x28, array step: 0x10000 */ 91 } NBYTES; 92 __IO uint32_t SLAST_SDA; /**< TCD Last Source Address Adjustment / Store DADDR Address Register, array offset: 0x2C, array step: 0x10000 */ 93 __IO uint32_t DADDR; /**< TCD Destination Address Register, array offset: 0x30, array step: 0x10000 */ 94 __IO uint16_t DOFF; /**< TCD Signed Destination Address Offset Register, array offset: 0x34, array step: 0x10000 */ 95 union { /* offset: 0x36, array step: 0x10000 */ 96 __IO uint16_t CITER_ELINKNO; /**< TCD Current Major Loop Count (Minor Loop Channel Linking Disabled) Register, array offset: 0x36, array step: 0x10000 */ 97 __IO uint16_t CITER_ELINKYES; /**< TCD Current Major Loop Count (Minor Loop Channel Linking Enabled) Register, array offset: 0x36, array step: 0x10000 */ 98 } CITER; 99 __IO uint32_t DLAST_SGA; /**< TCD Last Destination Address Adjustment / Scatter Gather Address Register, array offset: 0x38, array step: 0x10000 */ 100 __IO uint16_t CSR; /**< TCD Control and Status Register, array offset: 0x3C, array step: 0x10000 */ 101 union { /* offset: 0x3E, array step: 0x10000 */ 102 __IO uint16_t BITER_ELINKNO; /**< TCD Beginning Major Loop Count (Minor Loop Channel Linking Disabled) Register, array offset: 0x3E, array step: 0x10000 */ 103 __IO uint16_t BITER_ELINKYES; /**< TCD Beginning Major Loop Count (Minor Loop Channel Linking Enabled) Register, array offset: 0x3E, array step: 0x10000 */ 104 } BITER; 105 uint8_t RESERVED_2[65472]; 106 } TCD[EDMA4_TCD_TCD_COUNT]; 107 } EDMA4_TCD_Type, *EDMA4_TCD_MemMapPtr; 108 109 /** Number of instances of the EDMA4_TCD module. */ 110 #define EDMA4_TCD_INSTANCE_COUNT (1u) 111 112 /* EDMA4_TCD - Peripheral instance base addresses */ 113 /** Peripheral EDMA_3_TCD base address */ 114 #define IP_EDMA_3_TCD_BASE (0x41E00000u) 115 /** Peripheral EDMA_3_TCD base pointer */ 116 #define IP_EDMA_3_TCD ((EDMA4_TCD_Type *)IP_EDMA_3_TCD_BASE) 117 /** Array initializer of EDMA4_TCD peripheral base addresses */ 118 #define IP_EDMA4_TCD_BASE_ADDRS { IP_EDMA_3_TCD_BASE } 119 /** Array initializer of EDMA4_TCD peripheral base pointers */ 120 #define IP_EDMA4_TCD_BASE_PTRS { IP_EDMA_3_TCD } 121 122 /* ---------------------------------------------------------------------------- 123 -- EDMA4_TCD Register Masks 124 ---------------------------------------------------------------------------- */ 125 126 /*! 127 * @addtogroup EDMA4_TCD_Register_Masks EDMA4_TCD Register Masks 128 * @{ 129 */ 130 131 /*! @name CH_CSR - Channel Control and Status Register */ 132 /*! @{ */ 133 134 #define EDMA4_TCD_CH_CSR_ERQ_MASK (0x1U) 135 #define EDMA4_TCD_CH_CSR_ERQ_SHIFT (0U) 136 #define EDMA4_TCD_CH_CSR_ERQ_WIDTH (1U) 137 #define EDMA4_TCD_CH_CSR_ERQ(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_CSR_ERQ_SHIFT)) & EDMA4_TCD_CH_CSR_ERQ_MASK) 138 139 #define EDMA4_TCD_CH_CSR_EARQ_MASK (0x2U) 140 #define EDMA4_TCD_CH_CSR_EARQ_SHIFT (1U) 141 #define EDMA4_TCD_CH_CSR_EARQ_WIDTH (1U) 142 #define EDMA4_TCD_CH_CSR_EARQ(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_CSR_EARQ_SHIFT)) & EDMA4_TCD_CH_CSR_EARQ_MASK) 143 144 #define EDMA4_TCD_CH_CSR_EEI_MASK (0x4U) 145 #define EDMA4_TCD_CH_CSR_EEI_SHIFT (2U) 146 #define EDMA4_TCD_CH_CSR_EEI_WIDTH (1U) 147 #define EDMA4_TCD_CH_CSR_EEI(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_CSR_EEI_SHIFT)) & EDMA4_TCD_CH_CSR_EEI_MASK) 148 149 #define EDMA4_TCD_CH_CSR_SWAP_MASK (0xF000U) 150 #define EDMA4_TCD_CH_CSR_SWAP_SHIFT (12U) 151 #define EDMA4_TCD_CH_CSR_SWAP_WIDTH (4U) 152 #define EDMA4_TCD_CH_CSR_SWAP(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_CSR_SWAP_SHIFT)) & EDMA4_TCD_CH_CSR_SWAP_MASK) 153 154 #define EDMA4_TCD_CH_CSR_SIGNEXT_MASK (0x3F0000U) 155 #define EDMA4_TCD_CH_CSR_SIGNEXT_SHIFT (16U) 156 #define EDMA4_TCD_CH_CSR_SIGNEXT_WIDTH (6U) 157 #define EDMA4_TCD_CH_CSR_SIGNEXT(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_CSR_SIGNEXT_SHIFT)) & EDMA4_TCD_CH_CSR_SIGNEXT_MASK) 158 159 #define EDMA4_TCD_CH_CSR_DONE_MASK (0x40000000U) 160 #define EDMA4_TCD_CH_CSR_DONE_SHIFT (30U) 161 #define EDMA4_TCD_CH_CSR_DONE_WIDTH (1U) 162 #define EDMA4_TCD_CH_CSR_DONE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_CSR_DONE_SHIFT)) & EDMA4_TCD_CH_CSR_DONE_MASK) 163 164 #define EDMA4_TCD_CH_CSR_ACTIVE_MASK (0x80000000U) 165 #define EDMA4_TCD_CH_CSR_ACTIVE_SHIFT (31U) 166 #define EDMA4_TCD_CH_CSR_ACTIVE_WIDTH (1U) 167 #define EDMA4_TCD_CH_CSR_ACTIVE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_CSR_ACTIVE_SHIFT)) & EDMA4_TCD_CH_CSR_ACTIVE_MASK) 168 /*! @} */ 169 170 /*! @name CH_ES - Channel Error Status Register */ 171 /*! @{ */ 172 173 #define EDMA4_TCD_CH_ES_DBE_MASK (0x1U) 174 #define EDMA4_TCD_CH_ES_DBE_SHIFT (0U) 175 #define EDMA4_TCD_CH_ES_DBE_WIDTH (1U) 176 #define EDMA4_TCD_CH_ES_DBE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_DBE_SHIFT)) & EDMA4_TCD_CH_ES_DBE_MASK) 177 178 #define EDMA4_TCD_CH_ES_SBE_MASK (0x2U) 179 #define EDMA4_TCD_CH_ES_SBE_SHIFT (1U) 180 #define EDMA4_TCD_CH_ES_SBE_WIDTH (1U) 181 #define EDMA4_TCD_CH_ES_SBE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_SBE_SHIFT)) & EDMA4_TCD_CH_ES_SBE_MASK) 182 183 #define EDMA4_TCD_CH_ES_SGE_MASK (0x4U) 184 #define EDMA4_TCD_CH_ES_SGE_SHIFT (2U) 185 #define EDMA4_TCD_CH_ES_SGE_WIDTH (1U) 186 #define EDMA4_TCD_CH_ES_SGE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_SGE_SHIFT)) & EDMA4_TCD_CH_ES_SGE_MASK) 187 188 #define EDMA4_TCD_CH_ES_NCE_MASK (0x8U) 189 #define EDMA4_TCD_CH_ES_NCE_SHIFT (3U) 190 #define EDMA4_TCD_CH_ES_NCE_WIDTH (1U) 191 #define EDMA4_TCD_CH_ES_NCE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_NCE_SHIFT)) & EDMA4_TCD_CH_ES_NCE_MASK) 192 193 #define EDMA4_TCD_CH_ES_DOE_MASK (0x10U) 194 #define EDMA4_TCD_CH_ES_DOE_SHIFT (4U) 195 #define EDMA4_TCD_CH_ES_DOE_WIDTH (1U) 196 #define EDMA4_TCD_CH_ES_DOE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_DOE_SHIFT)) & EDMA4_TCD_CH_ES_DOE_MASK) 197 198 #define EDMA4_TCD_CH_ES_DAE_MASK (0x20U) 199 #define EDMA4_TCD_CH_ES_DAE_SHIFT (5U) 200 #define EDMA4_TCD_CH_ES_DAE_WIDTH (1U) 201 #define EDMA4_TCD_CH_ES_DAE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_DAE_SHIFT)) & EDMA4_TCD_CH_ES_DAE_MASK) 202 203 #define EDMA4_TCD_CH_ES_SOE_MASK (0x40U) 204 #define EDMA4_TCD_CH_ES_SOE_SHIFT (6U) 205 #define EDMA4_TCD_CH_ES_SOE_WIDTH (1U) 206 #define EDMA4_TCD_CH_ES_SOE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_SOE_SHIFT)) & EDMA4_TCD_CH_ES_SOE_MASK) 207 208 #define EDMA4_TCD_CH_ES_SAE_MASK (0x80U) 209 #define EDMA4_TCD_CH_ES_SAE_SHIFT (7U) 210 #define EDMA4_TCD_CH_ES_SAE_WIDTH (1U) 211 #define EDMA4_TCD_CH_ES_SAE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_SAE_SHIFT)) & EDMA4_TCD_CH_ES_SAE_MASK) 212 213 #define EDMA4_TCD_CH_ES_ERR_MASK (0x80000000U) 214 #define EDMA4_TCD_CH_ES_ERR_SHIFT (31U) 215 #define EDMA4_TCD_CH_ES_ERR_WIDTH (1U) 216 #define EDMA4_TCD_CH_ES_ERR(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_ES_ERR_SHIFT)) & EDMA4_TCD_CH_ES_ERR_MASK) 217 /*! @} */ 218 219 /*! @name CH_INT - Channel Interrupt Status Register */ 220 /*! @{ */ 221 222 #define EDMA4_TCD_CH_INT_INT_MASK (0x1U) 223 #define EDMA4_TCD_CH_INT_INT_SHIFT (0U) 224 #define EDMA4_TCD_CH_INT_INT_WIDTH (1U) 225 #define EDMA4_TCD_CH_INT_INT(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_INT_INT_SHIFT)) & EDMA4_TCD_CH_INT_INT_MASK) 226 /*! @} */ 227 228 /*! @name CH_SBR - Channel System Bus Register */ 229 /*! @{ */ 230 231 #define EDMA4_TCD_CH_SBR_MID_MASK (0x3FU) 232 #define EDMA4_TCD_CH_SBR_MID_SHIFT (0U) 233 #define EDMA4_TCD_CH_SBR_MID_WIDTH (6U) 234 #define EDMA4_TCD_CH_SBR_MID(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_SBR_MID_SHIFT)) & EDMA4_TCD_CH_SBR_MID_MASK) 235 236 #define EDMA4_TCD_CH_SBR_INSTR_MASK (0x2000U) 237 #define EDMA4_TCD_CH_SBR_INSTR_SHIFT (13U) 238 #define EDMA4_TCD_CH_SBR_INSTR_WIDTH (1U) 239 #define EDMA4_TCD_CH_SBR_INSTR(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_SBR_INSTR_SHIFT)) & EDMA4_TCD_CH_SBR_INSTR_MASK) 240 241 #define EDMA4_TCD_CH_SBR_SEC_MASK (0x4000U) 242 #define EDMA4_TCD_CH_SBR_SEC_SHIFT (14U) 243 #define EDMA4_TCD_CH_SBR_SEC_WIDTH (1U) 244 #define EDMA4_TCD_CH_SBR_SEC(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_SBR_SEC_SHIFT)) & EDMA4_TCD_CH_SBR_SEC_MASK) 245 246 #define EDMA4_TCD_CH_SBR_PAL_MASK (0x8000U) 247 #define EDMA4_TCD_CH_SBR_PAL_SHIFT (15U) 248 #define EDMA4_TCD_CH_SBR_PAL_WIDTH (1U) 249 #define EDMA4_TCD_CH_SBR_PAL(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_SBR_PAL_SHIFT)) & EDMA4_TCD_CH_SBR_PAL_MASK) 250 251 #define EDMA4_TCD_CH_SBR_EMI_MASK (0x10000U) 252 #define EDMA4_TCD_CH_SBR_EMI_SHIFT (16U) 253 #define EDMA4_TCD_CH_SBR_EMI_WIDTH (1U) 254 #define EDMA4_TCD_CH_SBR_EMI(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_SBR_EMI_SHIFT)) & EDMA4_TCD_CH_SBR_EMI_MASK) 255 256 #define EDMA4_TCD_CH_SBR_ATTR_MASK (0x7E0000U) 257 #define EDMA4_TCD_CH_SBR_ATTR_SHIFT (17U) 258 #define EDMA4_TCD_CH_SBR_ATTR_WIDTH (6U) 259 #define EDMA4_TCD_CH_SBR_ATTR(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_SBR_ATTR_SHIFT)) & EDMA4_TCD_CH_SBR_ATTR_MASK) 260 /*! @} */ 261 262 /*! @name CH_PRI - Channel Priority Register */ 263 /*! @{ */ 264 265 #define EDMA4_TCD_CH_PRI_APL_MASK (0x7U) 266 #define EDMA4_TCD_CH_PRI_APL_SHIFT (0U) 267 #define EDMA4_TCD_CH_PRI_APL_WIDTH (3U) 268 #define EDMA4_TCD_CH_PRI_APL(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_PRI_APL_SHIFT)) & EDMA4_TCD_CH_PRI_APL_MASK) 269 270 #define EDMA4_TCD_CH_PRI_DPA_MASK (0x40000000U) 271 #define EDMA4_TCD_CH_PRI_DPA_SHIFT (30U) 272 #define EDMA4_TCD_CH_PRI_DPA_WIDTH (1U) 273 #define EDMA4_TCD_CH_PRI_DPA(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_PRI_DPA_SHIFT)) & EDMA4_TCD_CH_PRI_DPA_MASK) 274 275 #define EDMA4_TCD_CH_PRI_ECP_MASK (0x80000000U) 276 #define EDMA4_TCD_CH_PRI_ECP_SHIFT (31U) 277 #define EDMA4_TCD_CH_PRI_ECP_WIDTH (1U) 278 #define EDMA4_TCD_CH_PRI_ECP(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_CH_PRI_ECP_SHIFT)) & EDMA4_TCD_CH_PRI_ECP_MASK) 279 /*! @} */ 280 281 /*! @name CH_MATTR - Memory Attributes Register */ 282 /*! @{ */ 283 284 #define EDMA4_TCD_CH_MATTR_RCACHE_MASK (0xFU) 285 #define EDMA4_TCD_CH_MATTR_RCACHE_SHIFT (0U) 286 #define EDMA4_TCD_CH_MATTR_RCACHE_WIDTH (4U) 287 #define EDMA4_TCD_CH_MATTR_RCACHE(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CH_MATTR_RCACHE_SHIFT)) & EDMA4_TCD_CH_MATTR_RCACHE_MASK) 288 289 #define EDMA4_TCD_CH_MATTR_WCACHE_MASK (0xF0U) 290 #define EDMA4_TCD_CH_MATTR_WCACHE_SHIFT (4U) 291 #define EDMA4_TCD_CH_MATTR_WCACHE_WIDTH (4U) 292 #define EDMA4_TCD_CH_MATTR_WCACHE(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CH_MATTR_WCACHE_SHIFT)) & EDMA4_TCD_CH_MATTR_WCACHE_MASK) 293 /*! @} */ 294 295 /*! @name SADDR - TCD Source Address Register */ 296 /*! @{ */ 297 298 #define EDMA4_TCD_SADDR_SADDR_MASK (0xFFFFFFFFU) 299 #define EDMA4_TCD_SADDR_SADDR_SHIFT (0U) 300 #define EDMA4_TCD_SADDR_SADDR_WIDTH (32U) 301 #define EDMA4_TCD_SADDR_SADDR(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_SADDR_SADDR_SHIFT)) & EDMA4_TCD_SADDR_SADDR_MASK) 302 /*! @} */ 303 304 /*! @name SOFF - TCD Signed Source Address Offset Register */ 305 /*! @{ */ 306 307 #define EDMA4_TCD_SOFF_SOFF_MASK (0xFFFFU) 308 #define EDMA4_TCD_SOFF_SOFF_SHIFT (0U) 309 #define EDMA4_TCD_SOFF_SOFF_WIDTH (16U) 310 #define EDMA4_TCD_SOFF_SOFF(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_SOFF_SOFF_SHIFT)) & EDMA4_TCD_SOFF_SOFF_MASK) 311 /*! @} */ 312 313 /*! @name ATTR - TCD Transfer Attributes Register */ 314 /*! @{ */ 315 316 #define EDMA4_TCD_ATTR_DSIZE_MASK (0x7U) 317 #define EDMA4_TCD_ATTR_DSIZE_SHIFT (0U) 318 #define EDMA4_TCD_ATTR_DSIZE_WIDTH (3U) 319 #define EDMA4_TCD_ATTR_DSIZE(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_ATTR_DSIZE_SHIFT)) & EDMA4_TCD_ATTR_DSIZE_MASK) 320 321 #define EDMA4_TCD_ATTR_DMOD_MASK (0xF8U) 322 #define EDMA4_TCD_ATTR_DMOD_SHIFT (3U) 323 #define EDMA4_TCD_ATTR_DMOD_WIDTH (5U) 324 #define EDMA4_TCD_ATTR_DMOD(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_ATTR_DMOD_SHIFT)) & EDMA4_TCD_ATTR_DMOD_MASK) 325 326 #define EDMA4_TCD_ATTR_SSIZE_MASK (0x700U) 327 #define EDMA4_TCD_ATTR_SSIZE_SHIFT (8U) 328 #define EDMA4_TCD_ATTR_SSIZE_WIDTH (3U) 329 #define EDMA4_TCD_ATTR_SSIZE(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_ATTR_SSIZE_SHIFT)) & EDMA4_TCD_ATTR_SSIZE_MASK) 330 331 #define EDMA4_TCD_ATTR_SMOD_MASK (0xF800U) 332 #define EDMA4_TCD_ATTR_SMOD_SHIFT (11U) 333 #define EDMA4_TCD_ATTR_SMOD_WIDTH (5U) 334 #define EDMA4_TCD_ATTR_SMOD(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_ATTR_SMOD_SHIFT)) & EDMA4_TCD_ATTR_SMOD_MASK) 335 /*! @} */ 336 337 /*! @name NBYTES_MLOFFNO - TCD Transfer Size without Minor Loop Offsets Register */ 338 /*! @{ */ 339 340 #define EDMA4_TCD_NBYTES_MLOFFNO_NBYTES_MASK (0x3FFFFFFFU) 341 #define EDMA4_TCD_NBYTES_MLOFFNO_NBYTES_SHIFT (0U) 342 #define EDMA4_TCD_NBYTES_MLOFFNO_NBYTES_WIDTH (30U) 343 #define EDMA4_TCD_NBYTES_MLOFFNO_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_NBYTES_MLOFFNO_NBYTES_SHIFT)) & EDMA4_TCD_NBYTES_MLOFFNO_NBYTES_MASK) 344 345 #define EDMA4_TCD_NBYTES_MLOFFNO_DMLOE_MASK (0x40000000U) 346 #define EDMA4_TCD_NBYTES_MLOFFNO_DMLOE_SHIFT (30U) 347 #define EDMA4_TCD_NBYTES_MLOFFNO_DMLOE_WIDTH (1U) 348 #define EDMA4_TCD_NBYTES_MLOFFNO_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_NBYTES_MLOFFNO_DMLOE_SHIFT)) & EDMA4_TCD_NBYTES_MLOFFNO_DMLOE_MASK) 349 350 #define EDMA4_TCD_NBYTES_MLOFFNO_SMLOE_MASK (0x80000000U) 351 #define EDMA4_TCD_NBYTES_MLOFFNO_SMLOE_SHIFT (31U) 352 #define EDMA4_TCD_NBYTES_MLOFFNO_SMLOE_WIDTH (1U) 353 #define EDMA4_TCD_NBYTES_MLOFFNO_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_NBYTES_MLOFFNO_SMLOE_SHIFT)) & EDMA4_TCD_NBYTES_MLOFFNO_SMLOE_MASK) 354 /*! @} */ 355 356 /*! @name NBYTES_MLOFFYES - TCD Transfer Size with Minor Loop Offsets Register */ 357 /*! @{ */ 358 359 #define EDMA4_TCD_NBYTES_MLOFFYES_NBYTES_MASK (0x3FFU) 360 #define EDMA4_TCD_NBYTES_MLOFFYES_NBYTES_SHIFT (0U) 361 #define EDMA4_TCD_NBYTES_MLOFFYES_NBYTES_WIDTH (10U) 362 #define EDMA4_TCD_NBYTES_MLOFFYES_NBYTES(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_NBYTES_MLOFFYES_NBYTES_SHIFT)) & EDMA4_TCD_NBYTES_MLOFFYES_NBYTES_MASK) 363 364 #define EDMA4_TCD_NBYTES_MLOFFYES_MLOFF_MASK (0x3FFFFC00U) 365 #define EDMA4_TCD_NBYTES_MLOFFYES_MLOFF_SHIFT (10U) 366 #define EDMA4_TCD_NBYTES_MLOFFYES_MLOFF_WIDTH (20U) 367 #define EDMA4_TCD_NBYTES_MLOFFYES_MLOFF(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_NBYTES_MLOFFYES_MLOFF_SHIFT)) & EDMA4_TCD_NBYTES_MLOFFYES_MLOFF_MASK) 368 369 #define EDMA4_TCD_NBYTES_MLOFFYES_DMLOE_MASK (0x40000000U) 370 #define EDMA4_TCD_NBYTES_MLOFFYES_DMLOE_SHIFT (30U) 371 #define EDMA4_TCD_NBYTES_MLOFFYES_DMLOE_WIDTH (1U) 372 #define EDMA4_TCD_NBYTES_MLOFFYES_DMLOE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_NBYTES_MLOFFYES_DMLOE_SHIFT)) & EDMA4_TCD_NBYTES_MLOFFYES_DMLOE_MASK) 373 374 #define EDMA4_TCD_NBYTES_MLOFFYES_SMLOE_MASK (0x80000000U) 375 #define EDMA4_TCD_NBYTES_MLOFFYES_SMLOE_SHIFT (31U) 376 #define EDMA4_TCD_NBYTES_MLOFFYES_SMLOE_WIDTH (1U) 377 #define EDMA4_TCD_NBYTES_MLOFFYES_SMLOE(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_NBYTES_MLOFFYES_SMLOE_SHIFT)) & EDMA4_TCD_NBYTES_MLOFFYES_SMLOE_MASK) 378 /*! @} */ 379 380 /*! @name SLAST_SDA - TCD Last Source Address Adjustment / Store DADDR Address Register */ 381 /*! @{ */ 382 383 #define EDMA4_TCD_SLAST_SDA_SLAST_SDA_MASK (0xFFFFFFFFU) 384 #define EDMA4_TCD_SLAST_SDA_SLAST_SDA_SHIFT (0U) 385 #define EDMA4_TCD_SLAST_SDA_SLAST_SDA_WIDTH (32U) 386 #define EDMA4_TCD_SLAST_SDA_SLAST_SDA(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_SLAST_SDA_SLAST_SDA_SHIFT)) & EDMA4_TCD_SLAST_SDA_SLAST_SDA_MASK) 387 /*! @} */ 388 389 /*! @name DADDR - TCD Destination Address Register */ 390 /*! @{ */ 391 392 #define EDMA4_TCD_DADDR_DADDR_MASK (0xFFFFFFFFU) 393 #define EDMA4_TCD_DADDR_DADDR_SHIFT (0U) 394 #define EDMA4_TCD_DADDR_DADDR_WIDTH (32U) 395 #define EDMA4_TCD_DADDR_DADDR(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_DADDR_DADDR_SHIFT)) & EDMA4_TCD_DADDR_DADDR_MASK) 396 /*! @} */ 397 398 /*! @name DOFF - TCD Signed Destination Address Offset Register */ 399 /*! @{ */ 400 401 #define EDMA4_TCD_DOFF_DOFF_MASK (0xFFFFU) 402 #define EDMA4_TCD_DOFF_DOFF_SHIFT (0U) 403 #define EDMA4_TCD_DOFF_DOFF_WIDTH (16U) 404 #define EDMA4_TCD_DOFF_DOFF(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_DOFF_DOFF_SHIFT)) & EDMA4_TCD_DOFF_DOFF_MASK) 405 /*! @} */ 406 407 /*! @name CITER_ELINKNO - TCD Current Major Loop Count (Minor Loop Channel Linking Disabled) Register */ 408 /*! @{ */ 409 410 #define EDMA4_TCD_CITER_ELINKNO_CITER_MASK (0x7FFFU) 411 #define EDMA4_TCD_CITER_ELINKNO_CITER_SHIFT (0U) 412 #define EDMA4_TCD_CITER_ELINKNO_CITER_WIDTH (15U) 413 #define EDMA4_TCD_CITER_ELINKNO_CITER(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CITER_ELINKNO_CITER_SHIFT)) & EDMA4_TCD_CITER_ELINKNO_CITER_MASK) 414 415 #define EDMA4_TCD_CITER_ELINKNO_ELINK_MASK (0x8000U) 416 #define EDMA4_TCD_CITER_ELINKNO_ELINK_SHIFT (15U) 417 #define EDMA4_TCD_CITER_ELINKNO_ELINK_WIDTH (1U) 418 #define EDMA4_TCD_CITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CITER_ELINKNO_ELINK_SHIFT)) & EDMA4_TCD_CITER_ELINKNO_ELINK_MASK) 419 /*! @} */ 420 421 /*! @name CITER_ELINKYES - TCD Current Major Loop Count (Minor Loop Channel Linking Enabled) Register */ 422 /*! @{ */ 423 424 #define EDMA4_TCD_CITER_ELINKYES_CITER_MASK (0x1FFU) 425 #define EDMA4_TCD_CITER_ELINKYES_CITER_SHIFT (0U) 426 #define EDMA4_TCD_CITER_ELINKYES_CITER_WIDTH (9U) 427 #define EDMA4_TCD_CITER_ELINKYES_CITER(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CITER_ELINKYES_CITER_SHIFT)) & EDMA4_TCD_CITER_ELINKYES_CITER_MASK) 428 429 #define EDMA4_TCD_CITER_ELINKYES_LINKCH_MASK (0x3E00U) 430 #define EDMA4_TCD_CITER_ELINKYES_LINKCH_SHIFT (9U) 431 #define EDMA4_TCD_CITER_ELINKYES_LINKCH_WIDTH (5U) 432 #define EDMA4_TCD_CITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CITER_ELINKYES_LINKCH_SHIFT)) & EDMA4_TCD_CITER_ELINKYES_LINKCH_MASK) 433 434 #define EDMA4_TCD_CITER_ELINKYES_ELINK_MASK (0x8000U) 435 #define EDMA4_TCD_CITER_ELINKYES_ELINK_SHIFT (15U) 436 #define EDMA4_TCD_CITER_ELINKYES_ELINK_WIDTH (1U) 437 #define EDMA4_TCD_CITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CITER_ELINKYES_ELINK_SHIFT)) & EDMA4_TCD_CITER_ELINKYES_ELINK_MASK) 438 /*! @} */ 439 440 /*! @name DLAST_SGA - TCD Last Destination Address Adjustment / Scatter Gather Address Register */ 441 /*! @{ */ 442 443 #define EDMA4_TCD_DLAST_SGA_DLAST_SGA_MASK (0xFFFFFFFFU) 444 #define EDMA4_TCD_DLAST_SGA_DLAST_SGA_SHIFT (0U) 445 #define EDMA4_TCD_DLAST_SGA_DLAST_SGA_WIDTH (32U) 446 #define EDMA4_TCD_DLAST_SGA_DLAST_SGA(x) (((uint32_t)(((uint32_t)(x)) << EDMA4_TCD_DLAST_SGA_DLAST_SGA_SHIFT)) & EDMA4_TCD_DLAST_SGA_DLAST_SGA_MASK) 447 /*! @} */ 448 449 /*! @name CSR - TCD Control and Status Register */ 450 /*! @{ */ 451 452 #define EDMA4_TCD_CSR_START_MASK (0x1U) 453 #define EDMA4_TCD_CSR_START_SHIFT (0U) 454 #define EDMA4_TCD_CSR_START_WIDTH (1U) 455 #define EDMA4_TCD_CSR_START(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_START_SHIFT)) & EDMA4_TCD_CSR_START_MASK) 456 457 #define EDMA4_TCD_CSR_INTMAJOR_MASK (0x2U) 458 #define EDMA4_TCD_CSR_INTMAJOR_SHIFT (1U) 459 #define EDMA4_TCD_CSR_INTMAJOR_WIDTH (1U) 460 #define EDMA4_TCD_CSR_INTMAJOR(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_INTMAJOR_SHIFT)) & EDMA4_TCD_CSR_INTMAJOR_MASK) 461 462 #define EDMA4_TCD_CSR_INTHALF_MASK (0x4U) 463 #define EDMA4_TCD_CSR_INTHALF_SHIFT (2U) 464 #define EDMA4_TCD_CSR_INTHALF_WIDTH (1U) 465 #define EDMA4_TCD_CSR_INTHALF(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_INTHALF_SHIFT)) & EDMA4_TCD_CSR_INTHALF_MASK) 466 467 #define EDMA4_TCD_CSR_DREQ_MASK (0x8U) 468 #define EDMA4_TCD_CSR_DREQ_SHIFT (3U) 469 #define EDMA4_TCD_CSR_DREQ_WIDTH (1U) 470 #define EDMA4_TCD_CSR_DREQ(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_DREQ_SHIFT)) & EDMA4_TCD_CSR_DREQ_MASK) 471 472 #define EDMA4_TCD_CSR_ESG_MASK (0x10U) 473 #define EDMA4_TCD_CSR_ESG_SHIFT (4U) 474 #define EDMA4_TCD_CSR_ESG_WIDTH (1U) 475 #define EDMA4_TCD_CSR_ESG(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_ESG_SHIFT)) & EDMA4_TCD_CSR_ESG_MASK) 476 477 #define EDMA4_TCD_CSR_MAJORELINK_MASK (0x20U) 478 #define EDMA4_TCD_CSR_MAJORELINK_SHIFT (5U) 479 #define EDMA4_TCD_CSR_MAJORELINK_WIDTH (1U) 480 #define EDMA4_TCD_CSR_MAJORELINK(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_MAJORELINK_SHIFT)) & EDMA4_TCD_CSR_MAJORELINK_MASK) 481 482 #define EDMA4_TCD_CSR_ESDA_MASK (0x80U) 483 #define EDMA4_TCD_CSR_ESDA_SHIFT (7U) 484 #define EDMA4_TCD_CSR_ESDA_WIDTH (1U) 485 #define EDMA4_TCD_CSR_ESDA(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_ESDA_SHIFT)) & EDMA4_TCD_CSR_ESDA_MASK) 486 487 #define EDMA4_TCD_CSR_MAJORLINKCH_MASK (0x1F00U) 488 #define EDMA4_TCD_CSR_MAJORLINKCH_SHIFT (8U) 489 #define EDMA4_TCD_CSR_MAJORLINKCH_WIDTH (5U) 490 #define EDMA4_TCD_CSR_MAJORLINKCH(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_MAJORLINKCH_SHIFT)) & EDMA4_TCD_CSR_MAJORLINKCH_MASK) 491 492 #define EDMA4_TCD_CSR_TMC_MASK (0xC000U) 493 #define EDMA4_TCD_CSR_TMC_SHIFT (14U) 494 #define EDMA4_TCD_CSR_TMC_WIDTH (2U) 495 #define EDMA4_TCD_CSR_TMC(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_CSR_TMC_SHIFT)) & EDMA4_TCD_CSR_TMC_MASK) 496 /*! @} */ 497 498 /*! @name BITER_ELINKNO - TCD Beginning Major Loop Count (Minor Loop Channel Linking Disabled) Register */ 499 /*! @{ */ 500 501 #define EDMA4_TCD_BITER_ELINKNO_BITER_MASK (0x7FFFU) 502 #define EDMA4_TCD_BITER_ELINKNO_BITER_SHIFT (0U) 503 #define EDMA4_TCD_BITER_ELINKNO_BITER_WIDTH (15U) 504 #define EDMA4_TCD_BITER_ELINKNO_BITER(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_BITER_ELINKNO_BITER_SHIFT)) & EDMA4_TCD_BITER_ELINKNO_BITER_MASK) 505 506 #define EDMA4_TCD_BITER_ELINKNO_ELINK_MASK (0x8000U) 507 #define EDMA4_TCD_BITER_ELINKNO_ELINK_SHIFT (15U) 508 #define EDMA4_TCD_BITER_ELINKNO_ELINK_WIDTH (1U) 509 #define EDMA4_TCD_BITER_ELINKNO_ELINK(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_BITER_ELINKNO_ELINK_SHIFT)) & EDMA4_TCD_BITER_ELINKNO_ELINK_MASK) 510 /*! @} */ 511 512 /*! @name BITER_ELINKYES - TCD Beginning Major Loop Count (Minor Loop Channel Linking Enabled) Register */ 513 /*! @{ */ 514 515 #define EDMA4_TCD_BITER_ELINKYES_BITER_MASK (0x1FFU) 516 #define EDMA4_TCD_BITER_ELINKYES_BITER_SHIFT (0U) 517 #define EDMA4_TCD_BITER_ELINKYES_BITER_WIDTH (9U) 518 #define EDMA4_TCD_BITER_ELINKYES_BITER(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_BITER_ELINKYES_BITER_SHIFT)) & EDMA4_TCD_BITER_ELINKYES_BITER_MASK) 519 520 #define EDMA4_TCD_BITER_ELINKYES_LINKCH_MASK (0x3E00U) 521 #define EDMA4_TCD_BITER_ELINKYES_LINKCH_SHIFT (9U) 522 #define EDMA4_TCD_BITER_ELINKYES_LINKCH_WIDTH (5U) 523 #define EDMA4_TCD_BITER_ELINKYES_LINKCH(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_BITER_ELINKYES_LINKCH_SHIFT)) & EDMA4_TCD_BITER_ELINKYES_LINKCH_MASK) 524 525 #define EDMA4_TCD_BITER_ELINKYES_ELINK_MASK (0x8000U) 526 #define EDMA4_TCD_BITER_ELINKYES_ELINK_SHIFT (15U) 527 #define EDMA4_TCD_BITER_ELINKYES_ELINK_WIDTH (1U) 528 #define EDMA4_TCD_BITER_ELINKYES_ELINK(x) (((uint16_t)(((uint16_t)(x)) << EDMA4_TCD_BITER_ELINKYES_ELINK_SHIFT)) & EDMA4_TCD_BITER_ELINKYES_ELINK_MASK) 529 /*! @} */ 530 531 /*! 532 * @} 533 */ /* end of group EDMA4_TCD_Register_Masks */ 534 535 /*! 536 * @} 537 */ /* end of group EDMA4_TCD_Peripheral_Access_Layer */ 538 539 #endif /* #if !defined(S32Z2_EDMA4_TCD_H_) */ 540