1 /**************************************************************************//** 2 * @file pdma_reg.h 3 * @version V1.00 4 * @brief PDMA register definition header file 5 * 6 * SPDX-License-Identifier: Apache-2.0 7 * @copyright (C) 2023 Nuvoton Technology Corp. All rights reserved. 8 *****************************************************************************/ 9 #ifndef __PDMA_REG_H__ 10 #define __PDMA_REG_H__ 11 12 #if defined ( __CC_ARM ) 13 #pragma anon_unions 14 #endif 15 16 /** @addtogroup REGISTER Control Register 17 18 @{ 19 20 */ 21 22 23 /*---------------------- Peripheral Direct Memory Access Controller -------------------------*/ 24 /** 25 @addtogroup PDMA Peripheral Direct Memory Access Controller(PDMA) 26 Memory Mapped Structure for PDMA Controller 27 @{ */ 28 29 typedef struct 30 { 31 32 33 /** 34 * @var DSCT_T::CTL 35 * Offset: 0x00 Descriptor Table Control Register of PDMA Channel n 36 * --------------------------------------------------------------------------------------------------- 37 * |Bits |Field |Descriptions 38 * | :----: | :----: | :---- | 39 * |[1:0] |OPMODE |PDMA Operation Mode Selection 40 * | | |00 = Idle state: Channel is stopped or this table is complete, when PDMA finish channel table task, OPMODE will be cleared to idle state automatically. 41 * | | |01 = Basic mode: The descriptor table only has one task 42 * | | |When this task is finished, PDMA_INTSTS[1] will be asserted. 43 * | | |10 = Scatter-gather mode: When operating in this mode, user must give the next descriptor table address in PDMA_DSCTn_NEXT register; PDMA controller will ignore this task, then load the next task to execute. 44 * | | |11 = Reserved. 45 * | | |Note: Before filling new transfer task in the Descriptor Table, user must check PDMA_INTSTS[1] to make sure the current task is complete. 46 * |[2] |TXTYPE |Transfer Type 47 * | | |0 = Burst transfer type. 48 * | | |1 = Single transfer type. 49 * |[6:4] |BURSIZE |Burst Size 50 * | | |This field is used for peripheral to determine the burst size or used for determine the re-arbitration size. 51 * | | |000 = 128 Transfers. 52 * | | |001 = 64 Transfers. 53 * | | |010 = 32 Transfers. 54 * | | |011 = 16 Transfers. 55 * | | |100 = 8 Transfers. 56 * | | |101 = 4 Transfers. 57 * | | |110 = 2 Transfers. 58 * | | |111 = 1 Transfers. 59 * | | |Note: This field is only useful in burst transfer type. 60 * |[7] |TBINTDIS |Table Interrupt Disable Bit 61 * | | |This field can be used to decide whether to enable table interrupt or not 62 * | | |If the TBINTDIS bit is 1 it will not generates TDIFn(PDMA_TDSTS[15:0]) when PDMA controller finishes transfer task. 63 * | | |0 = Table interrupt Enabled. 64 * | | |1 = Table interrupt Disabled. 65 * | | |Note: This function only for Scatter-gather mode. 66 * |[9:8] |SAINC |Source Address Increment 67 * | | |This field is used to set the source address increment size. 68 * | | |11 = No increment (fixed address). 69 * | | |Others = Increment and size is depended on TXWIDTH selection. 70 * | | |Note: The fixed address function does not support in memory to memory transfer type. 71 * |[11:10] |DAINC |Destination Address Increment 72 * | | |This field is used to set the destination address increment size. 73 * | | |11 = No increment (fixed address). 74 * | | |Others = Increment and size is depended on TXWIDTH selection. 75 * | | |Note: The fixed address function does not support in memory to memory transfer type. 76 * |[13:12] |TXWIDTH |Transfer Width Selection 77 * | | |This field is used for transfer width. 78 * | | |00 = One byte (8 bit) is transferred for every operation. 79 * | | |01= One half-word (16 bit) is transferred for every operation. 80 * | | |10 = One word (32-bit) is transferred for every operation. 81 * | | |11 = Reserved. 82 * | | |Note: PDMA transfer source address (PDMA_DSCTn_SA) and PDMA transfer destination address (PDMA_DSCTn_DA) should be alignment under the TXWIDTH selection 83 * |[31:16] |TXCNT |Transfer Count 84 * | | |The TXCNT represents the required number of PDMA transfer, the real transfer count is (TXCNT + 1); The maximum transfer count is 65536, every transfer may be byte, half-word or word that is dependent on TXWIDTH field. 85 * | | |Note: When PDMA finishes each transfer data, this field will be decreased immediately. 86 * @var DSCT_T::SA 87 * Offset: 0x04 Source Address Register of PDMA Channel n 88 * --------------------------------------------------------------------------------------------------- 89 * |Bits |Field |Descriptions 90 * | :----: | :----: | :---- | 91 * |[31:0] |SA |PDMA Transfer Source Address 92 * | | |This field indicates a 32-bit source address of PDMA controller. 93 * @var DSCT_T::DA 94 * Offset: 0x08 Destination Address Register of PDMA Channel n 95 * --------------------------------------------------------------------------------------------------- 96 * |Bits |Field |Descriptions 97 * | :----: | :----: | :---- | 98 * |[31:0] |DA |PDMA Transfer Destination Address 99 * | | |This field indicates a 32-bit destination address of PDMA controller. 100 * @var DSCT_T::NEXT 101 * Offset: 0x0C Next Scatter-gather Descriptor Table Offset Address of PDMA Channel n 102 * --------------------------------------------------------------------------------------------------- 103 * |Bits |Field |Descriptions 104 * | :----: | :----: | :---- | 105 * |[15:0] |NEXT |PDMA Next Descriptor Table Offset 106 * | | |This field indicates the offset of the next descriptor table address in system memory. 107 * | | |Write Operation: 108 * | | |If the system memory based address is 0x2000_0000 (PDMA_SCATBA), and the next descriptor table is start from 0x2000_0100, then this field must fill in 0x0100. 109 * | | |Read Operation: 110 * | | |When operating in Scatter-gather mode, the last two bits NEXT[1:0] will become reserved, and indicate the first next address of system memory. 111 * | | |Note 1: The descriptor table address must be word boundary. 112 * | | |Note 2: Before filling transfer task in the descriptor table, user must check if the descriptor table is complete. 113 * |[31:16] |EXENEXT |PDMA Execution Next Descriptor Table Offset 114 * | | |This field indicates the offset of next descriptor table address of current execution descriptor table in system memory. 115 * | | |Note: Write operation is useless in this field. 116 */ 117 __IO uint32_t CTL; /*!< [0x0000] Descriptor Table Control Register of PDMA Channel n */ 118 __IO uint32_t SA; /*!< [0x0004] Source Address Register of PDMA Channel n */ 119 __IO uint32_t DA; /*!< [0x0008] Destination Address Register of PDMA Channel n */ 120 __IO uint32_t NEXT; /*!< [0x000c] Next Scatter-gather Descriptor Table Offset Address of PDMA Channel n */ 121 122 } DSCT_T; 123 124 typedef struct 125 { 126 127 128 /** 129 * @var PDMA_T::CURSCAT 130 * Offset: 0x100 Current Scatter-gather Descriptor Table Address of PDMA Channel n 131 * --------------------------------------------------------------------------------------------------- 132 * |Bits |Field |Descriptions 133 * | :----: | :----: | :---- | 134 * |[31:0] |CURADDR |PDMA Current Description Address (Read Only) 135 * | | |This field indicates a 32-bit current external description address of PDMA controller. 136 * | | |Note: This field is read only and used for Scatter-gather mode only to indicate the current external description address. 137 * @var PDMA_T::CHCTL 138 * Offset: 0x400 PDMA Channel Control Register 139 * --------------------------------------------------------------------------------------------------- 140 * |Bits |Field |Descriptions 141 * | :----: | :----: | :---- | 142 * |[15:0] |CHENn |PDMA Channel Enable Bits 143 * | | |Set this bit to 1 to enable PDMAn operation. Channel cannot be active if it is not set as enabled. 144 * | | |0 = PDMA channel [n] Disabled. 145 * | | |1 = PDMA channel [n] Enabled. 146 * | | |Note: Setting the corresponding bit of PDMA_PAUSE or PDMA_CHRST register will also clear this bit. 147 * @var PDMA_T::PAUSE 148 * Offset: 0x404 PDMA Transfer Pause Control Register 149 * --------------------------------------------------------------------------------------------------- 150 * |Bits |Field |Descriptions 151 * | :----: | :----: | :---- | 152 * |[15:0] |PAUSEn |PDMA Channel n Transfer Pause Control (Write Only) 153 * | | |User can set PAUSEn bit field to pause PDMA transfer 154 * | | |When user sets PAUSEn bit, PDMA will pause the on-going transfer, then clear channel enable bit CHENn(PDMA_CHCTL [n], n=0,1..15) and clear request active flag(PDMA_TRGSTS[n:0], n=0,1..15) 155 * | | |If the paused channel is re-enabled again, the remaining transfers will be processed. 156 * | | |0 = No effect. 157 * | | |1 = Pause PDMA channel n transfer. 158 * @var PDMA_T::SWREQ 159 * Offset: 0x408 PDMA Software Request Register 160 * --------------------------------------------------------------------------------------------------- 161 * |Bits |Field |Descriptions 162 * | :----: | :----: | :---- | 163 * |[15:0] |SWREQn |PDMA Software Request (Write Only) 164 * | | |Set this bit to 1 to generate a software request to PDMA [n]. 165 * | | |0 = No effect. 166 * | | |1 = Generate a software request. 167 * | | |Note 1: User can read PDMA_TRGSTS register to know which channel is on active 168 * | | |Active flag may be triggered by software request or peripheral request. 169 * | | |Note 2: If user does not enable corresponding PDMA channel, the software request will be ignored. 170 * @var PDMA_T::TRGSTS 171 * Offset: 0x40C PDMA Channel Request Status Register 172 * --------------------------------------------------------------------------------------------------- 173 * |Bits |Field |Descriptions 174 * | :----: | :----: | :---- | 175 * |[15:0] |REQSTSn |PDMA Channel Request Status (Read Only) 176 * | | |This flag indicates whether channel[n] have a request or not, no matter request from software or peripheral 177 * | | |When PDMA controller finishes channel transfer, this bit will be cleared automatically. 178 * | | |0 = PDMA Channel n has no request. 179 * | | |1 = PDMA Channel n has a request. 180 * | | |Note: If user pauses or resets each PDMA transfer by setting PDMA_PAUSE or PDMA_CHRST register respectively, this bit will be cleared automatically after finishing the current transfer. 181 * @var PDMA_T::PRISET 182 * Offset: 0x410 PDMA Fixed Priority Setting Register 183 * --------------------------------------------------------------------------------------------------- 184 * |Bits |Field |Descriptions 185 * | :----: | :----: | :---- | 186 * |[15:0] |FPRISETn |PDMA Fixed Priority Setting 187 * | | |Set this bit to 1 to enable fixed priority level. 188 * | | |Write Operation: 189 * | | |0 = No effect. 190 * | | |1 = Set PDMA channel [n] to fixed priority channel. 191 * | | |Read Operation: 192 * | | |0 = Corresponding PDMA channel is round-robin priority. 193 * | | |1 = Corresponding PDMA channel is fixed priority. 194 * | | |Note: This field is only set to fixed priority. To clear fixed priority, use PDMA_PRICLR register. 195 * @var PDMA_T::PRICLR 196 * Offset: 0x414 PDMA Fixed Priority Clear Register 197 * --------------------------------------------------------------------------------------------------- 198 * |Bits |Field |Descriptions 199 * | :----: | :----: | :---- | 200 * |[15:0] |FPRICLRn |PDMA Fixed Priority Clear Bits (Write Only) 201 * | | |Set this bit to 1 to clear fixed priority level. 202 * | | |0 = No effect. 203 * | | |1 = Clear PDMA channel [n] fixed priority setting. 204 * | | |Note: User can read PDMA_PRISET register to know the channel priority. 205 * @var PDMA_T::INTEN 206 * Offset: 0x418 PDMA Interrupt Enable Register 207 * --------------------------------------------------------------------------------------------------- 208 * |Bits |Field |Descriptions 209 * | :----: | :----: | :---- | 210 * |[15:0] |INTENn |PDMA Interrupt Enable Bits 211 * | | |This field is used to enable PDMA channel[n] interrupt. 212 * | | |0 = PDMA channel n interrupt Disabled. 213 * | | |1 = PDMA channel n interrupt Enabled. 214 * | | |Note: The interrupt flag is time-out, abort, transfer done and align. 215 * @var PDMA_T::INTSTS 216 * Offset: 0x41C PDMA Interrupt Status Register 217 * --------------------------------------------------------------------------------------------------- 218 * |Bits |Field |Descriptions 219 * | :----: | :----: | :---- | 220 * |[0] |ABTIF |PDMA Read/Write Target Abort Interrupt Flag (Read Only) 221 * | | |This bit indicates that PDMA has target abort error; Software can read PDMA_ABTSTS register to find which channel has target abort error. 222 * | | |0 = No AHB bus ERROR response received. 223 * | | |1 = AHB bus ERROR response received. 224 * |[1] |TDIF |Transfer Done Interrupt Flag (Read Only) 225 * | | |This bit indicates that PDMA controller has finished transmission; User can read PDMA_TDSTS register to indicate which channel finished transfer. 226 * | | |0 = Not finished yet. 227 * | | |1 = PDMA channel has finished transmission. 228 * |[2] |ALIGNF |Transfer Alignment Interrupt Flag (Read Only) 229 * | | |0 = PDMA channel source address and destination address both follow transfer width setting. 230 * | | |1 = PDMA channel source address or destination address is not follow transfer width setting. 231 * |[8] |REQTOF0 |Request Time-out Flag for Channel 0 232 * | | |This flag indicates that PDMA controller has waited peripheral request for a period defined by TOC0(PDMA_TOC0_1[15:0]. 233 * | | |0 = No request time-out. 234 * | | |1 = Peripheral request time-out. 235 * | | |Note 1: Please disable time-out function before clearing this bit. 236 * | | |Note 2: User can write 1 to clear this bit. 237 * |[9] |REQTOF1 |Request Time-out Flag for Channel 1 238 * | | |This flag indicates that PDMA controller has waited peripheral request for a period defined by TOC1(PDMA_TOC0_1[31:16]). 239 * | | |0 = No request time-out. 240 * | | |1 = Peripheral request time-out. 241 * | | |Note 1: Please disable time-out function before clearing this bit. 242 * | | |Note 2: User can write 1 to clear this bit. 243 * @var PDMA_T::ABTSTS 244 * Offset: 0x420 PDMA Channel Read/Write Target Abort Flag Register 245 * --------------------------------------------------------------------------------------------------- 246 * |Bits |Field |Descriptions 247 * | :----: | :----: | :---- | 248 * |[15:0] |ABTIFn |PDMA Read/Write Target Abort Interrupt Status Flag 249 * | | |This bit indicates which PDMA controller has target abort error. 250 * | | |0 = No AHB bus ERROR response received when channel n transfer. 251 * | | |1 = AHB bus ERROR response received when channel n transfer. 252 * | | |Note 1: If channel n target abort, REQSRCn should set0 to disable peripheral request. 253 * | | |Note 2: User can write 1 to clear this bit. 254 * @var PDMA_T::TDSTS 255 * Offset: 0x424 PDMA Channel Transfer Done Flag Register 256 * --------------------------------------------------------------------------------------------------- 257 * |Bits |Field |Descriptions 258 * | :----: | :----: | :---- | 259 * |[15:0] |TDIFn |Transfer Done Flag 260 * | | |This bit indicates whether PDMA controller channel transfer has been finished or not. 261 * | | |0 = PDMA channel transfer has not finished. 262 * | | |1 = PDMA channel has finished transmission. 263 * | | |Note: User can write 1 to clear these bits. 264 * @var PDMA_T::ALIGN 265 * Offset: 0x428 PDMA Transfer Alignment Status Register 266 * --------------------------------------------------------------------------------------------------- 267 * |Bits |Field |Descriptions 268 * | :----: | :----: | :---- | 269 * |[15:0] |ALIGNn |Transfer Alignment Flag 270 * | | |This bit indicates whether source and destination address both follow transfer width setting. 271 * | | |0 = PDMA channel source address and destination address both follow transfer width setting. 272 * | | |1 = PDMA channel source address or destination address is not follow transfer width setting. 273 * | | |Note: User can write 1 to clear these bits. 274 * @var PDMA_T::TACTSTS 275 * Offset: 0x42C PDMA Transfer Active Flag Register 276 * --------------------------------------------------------------------------------------------------- 277 * |Bits |Field |Descriptions 278 * | :----: | :----: | :---- | 279 * |[15:0] |TXACTFn |Transfer on Active Flag (Read Only) 280 * | | |This bit indicates which PDMA channel is in active. 281 * | | |0 = PDMA channel is finished. 282 * | | |1 = PDMA channel is active. 283 * @var PDMA_T::TOUTPSC 284 * Offset: 0x430 PDMA Time-out Prescaler Register(CH0 to CH1) 285 * --------------------------------------------------------------------------------------------------- 286 * |Bits |Field |Descriptions 287 * | :----: | :----: | :---- | 288 * |[2:0] |TOUTPSC0 |PDMA Channel 0 Time-out Clock Source Prescaler Bits 289 * | | |000 = PDMA channel 0 time-out clock source is HCLK/2^8. 290 * | | |001 = PDMA channel 0 time-out clock source is HCLK/2^9. 291 * | | |010 = PDMA channel 0 time-out clock source is HCLK/2^10. 292 * | | |011 = PDMA channel 0 time-out clock source is HCLK/2^11. 293 * | | |100 = PDMA channel 0 time-out clock source is HCLK/2^12. 294 * | | |101 = PDMA channel 0 time-out clock source is HCLK/2^13. 295 * | | |110 = PDMA channel 0 time-out clock source is HCLK/2^14. 296 * | | |111 = PDMA channel 0 time-out clock source is HCLK/2^15. 297 * |[6:4] |TOUTPSC1 |PDMA Channel 1 Time-out Clock Source Prescaler Bits 298 * | | |000 = PDMA channel 1 time-out clock source is HCLK/2^8. 299 * | | |001 = PDMA channel 1 time-out clock source is HCLK/2^9. 300 * | | |010 = PDMA channel 1 time-out clock source is HCLK/2^10. 301 * | | |011 = PDMA channel 1 time-out clock source is HCLK/2^11. 302 * | | |100 = PDMA channel 1 time-out clock source is HCLK/2^12. 303 * | | |101 = PDMA channel 1 time-out clock source is HCLK/2^13. 304 * | | |110 = PDMA channel 1 time-out clock source is HCLK/2^14. 305 * | | |111 = PDMA channel 1 time-out clock source is HCLK/2^15. 306 * @var PDMA_T::TOUTEN 307 * Offset: 0x434 PDMA Time-out Enable Register 308 * --------------------------------------------------------------------------------------------------- 309 * |Bits |Field |Descriptions 310 * | :----: | :----: | :---- | 311 * |[1:0] |TOUTENn |PDMA Time-out Enable Bits 312 * | | |0 = PDMA Channel n time-out function Disabled. 313 * | | |1 = PDMA Channel n time-out function Enabled. 314 * @var PDMA_T::TOUTIEN 315 * Offset: 0x438 PDMA Time-out Interrupt Enable Register 316 * --------------------------------------------------------------------------------------------------- 317 * |Bits |Field |Descriptions 318 * | :----: | :----: | :---- | 319 * |[1:0] |TOUTIENn |PDMA Time-out Interrupt Enable Bits 320 * | | |0 = PDMA Channel n time-out interrupt Disabled. 321 * | | |1 = PDMA Channel n time-out interrupt Enabled. 322 * @var PDMA_T::SCATBA 323 * Offset: 0x43C PDMA Scatter-gather Descriptor Table Base Address Register 324 * --------------------------------------------------------------------------------------------------- 325 * |Bits |Field |Descriptions 326 * | :----: | :----: | :---- | 327 * |[31:16] |SCATBA |PDMA Scatter-gather Descriptor Table Address 328 * | | |In Scatter-gather mode, this is the base address for calculating the next link - list address 329 * | | |The next link address equation is 330 * | | |Next Link Address = PDMA_SCATBA + PDMA_DSCTn_NEXT. 331 * | | |Note: Only useful in Scatter-gather mode. 332 * @var PDMA_T::TOC 333 * Offset: 0x440 PDMA Time-out Counter Ch0 and Ch1 Register 334 * --------------------------------------------------------------------------------------------------- 335 * |Bits |Field |Descriptions 336 * | :----: | :----: | :---- | 337 * |[15:0] |TOC0 |Time-out Counter for Channel 0 338 * | | |This controls the period of time-out function for channel 0 339 * | | |The calculation unit is based on TOUTPSC0 (PDMA_TOUTPSC[2:0]) clock. 340 * | | |Time-out period = (Period of time-out clock) * (16-bit TOCn),n=0,1. 341 * |[31:16] |TOC1 |Time-out Counter for Channel 1 342 * | | |This controls the period of time-out function for channel 1 343 * | | |The calculation unit is based on TOUTPSC1 (PDMA_TOUTPSC[6:4]) clock 344 * | | |The example of time-out period can refer TOC0 bit description. 345 * @var PDMA_T::CHRST 346 * Offset: 0x460 PDMA Channel Reset Register 347 * --------------------------------------------------------------------------------------------------- 348 * |Bits |Field |Descriptions 349 * | :----: | :----: | :---- | 350 * |[15:0] |CHnRST |Channel n Reset 351 * | | |0 = Corresponding channel n is not reset. 352 * | | |1 = Corresponding channel n is reset. 353 * @var PDMA_T::REQSEL0_3 354 * Offset: 0x480 PDMA Request Source Select Register 0 355 * --------------------------------------------------------------------------------------------------- 356 * |Bits |Field |Descriptions 357 * | :----: | :----: | :---- | 358 * |[6:0] |REQSRC0 |Channel 0 Request Source Selection 359 * | | |This filed defines which peripheral is connected to PDMA channel 0 360 * | | |User can configure the peripheral by setting REQSRC0. 361 * | | |0 = Disable PDMA peripheral request. 362 * | | |1 = Reserved. 363 * | | |2 = Channel connects to USB_TX. 364 * | | |3 = Channel connects to USB_RX. 365 * | | |4 = Channel connects to UART0_TX. 366 * | | |5 = Channel connects to UART0_RX. 367 * | | |6 = Channel connects to UART1_TX. 368 * | | |7 = Channel connects to UART1_RX. 369 * | | |8 = Channel connects to UART2_TX. 370 * | | |9 = Channel connects to UART2_RX. 371 * | | |10 = Channel connects to UART3_TX. 372 * | | |11 = Channel connects to UART3_RX. 373 * | | |12 = Channel connects to UART4_TX. 374 * | | |13 = Channel connects to UART4_RX. 375 * | | |14 = Channel connects to UART5_TX. 376 * | | |15 = Channel connects to UART5_RX. 377 * | | |16 = Channel connects to USCI0_TX. 378 * | | |17 = Channel connects to USCI0_RX. 379 * | | |18 = Channel connects to USCI1_TX. 380 * | | |19 = Channel connects to USCI1_RX . 381 * | | |20 = Channel connects to QSPI0_TX. 382 * | | |21 = Channel connects to QSPI0_RX. 383 * | | |22 = Channel connects to SPI0_TX. 384 * | | |23 = Channel connects to SPI0_RX. 385 * | | |24 = Channel connects to SPI1_TX. 386 * | | |25 = Channel connects to SPI1_RX. 387 * | | |26 = Channel connects to SPI2_TX. 388 * | | |27 = Channel connects to SPI2_RX. 389 * | | |28 = Channel connects to SPI3_TX. 390 * | | |29 = Channel connects to SPI3_RX. 391 * | | |30 = Channel connects to ACMP0. 392 * | | |31 = Channel connects to ACMP1. 393 * | | |32 = Channel connects to EPWM0_P1_RX. 394 * | | |33 = Channel connects to EPWM0_P2_RX. 395 * | | |34 = Channel connects to EPWM0_P3_RX. 396 * | | |35 = Channel connects to EPWM1_P1_RX. 397 * | | |36 = Channel connects to EPWM1_P2_RX. 398 * | | |37 = Channel connects to EPWM1_P3_RX. 399 * | | |38 = Channel connects to I2C0_TX. 400 * | | |39 = Channel connects to I2C0_RX. 401 * | | |40 = Channel connects to I2C1_TX. 402 * | | |41 = Channel connects to I2C1_RX. 403 * | | |42 = Channel connects to I2C2_TX. 404 * | | |43 = Channel connects to I2C2_RX. 405 * | | |44 = Channel connects to I2C3_TX. 406 * | | |45 = Channel connects to I2C3_RX. 407 * | | |46 = Channel connects to TMR0. 408 * | | |47 = Channel connects to TMR1. 409 * | | |48 = Channel connects to TMR2. 410 * | | |49 = Channel connects to TMR3. 411 * | | |50 = Channel connects to DAC0_TX. 412 * | | |51 = Channel connects to DAC1_TX. 413 * | | |52 = Channel connects to EPWM0_CH0_TX. 414 * | | |53 = Channel connects to EPWM0_CH1_TX. 415 * | | |54 = Channel connects to EPWM0_CH2_TX. 416 * | | |55 = Channel connects to EPWM0_CH3_TX. 417 * | | |56 = Channel connects to EPWM0_CH4_TX. 418 * | | |57 = Channel connects to EPWM0_CH5_TX. 419 * | | |58 = Channel connects to EPWM1_CH0_TX. 420 * | | |59 = Channel connects to EPWM1_CH1_TX. 421 * | | |60 = Channel connects to EPWM1_CH2_TX. 422 * | | |61 = Channel connects to EPWM1_CH3_TX. 423 * | | |62 = Channel connects to EPWM1_CH4_TX. 424 * | | |63 = Channel connects to EPWM1_CH5_TX. 425 * | | |64 = Channel connects to EADC0_RX. 426 * | | |65 = Channel connects to EADC1_RX. 427 * | | |66 = Channel connects to UART6_TX. 428 * | | |67 = Channel connects to UART6_RX. 429 * | | |68 = Channel connects to UART7_TX. 430 * | | |69 = Channel connects to UART7_RX. 431 * | | |70 = Channel connects to PWM0_P1_RX. 432 * | | |71 = Channel connects to PWM0_P2_RX. 433 * | | |72 = Channel connects to PWM0_P3_RX. 434 * | | |73 = Channel connects to PWM1_P1_RX. 435 * | | |74 = Channel connects to PWM1_P2_RX. 436 * | | |75 = Channel connects to PWM1_P3_RX. 437 * | | |76 = Channel connects to PWM0_CH0_TX. 438 * | | |77 = Channel connects to PWM0_CH2_TX. 439 * | | |78 = Channel connects to PWM0_CH4_TX. 440 * | | |79 = Channel connects to PWM1_CH0_TX. 441 * | | |80 = Channel connects to PWM1_CH2_TX. 442 * | | |81 = Channel connects to PWM1_CH4_TX. 443 * | | |82 = Channel connects to EINT0. 444 * | | |83 = Channel connects to EINT1. 445 * | | |84 = Channel connects to EINT2. 446 * | | |85 = Channel connects to EINT3. 447 * | | |86 = Channel connects to EINT4. 448 * | | |87 = Channel connects to EINT5. 449 * | | |88 = Channel connects to EINT6. 450 * | | |89 = Channel connects to EINT7. 451 * | | |90 = Channel connects to ACMP2. 452 * | | |Others = Reserved. 453 * | | |Note 1: A peripheral cannot be assigned to two channels at the same time. 454 * | | |Note 2: This field is useless when transfer between memory and memory. 455 * |[14:8] |REQSRC1 |Channel 1 Request Source Selection 456 * | | |This filed defines which peripheral is connected to PDMA channel 1 457 * | | |User can configure the peripheral setting by REQSRC1. 458 * | | |Note: The channel configuration is the same as REQSRC0 field 459 * | | |Please refer to the explanation of REQSRC0. 460 * |[22:16] |REQSRC2 |Channel 2 Request Source Selection 461 * | | |This filed defines which peripheral is connected to PDMA channel 2 462 * | | |User can configure the peripheral setting by REQSRC2. 463 * | | |Note: The channel configuration is the same as REQSRC0 field 464 * | | |Please refer to the explanation of REQSRC0. 465 * |[30:24] |REQSRC3 |Channel 3 Request Source Selection 466 * | | |This filed defines which peripheral is connected to PDMA channel 3 467 * | | |User can configure the peripheral setting by REQSRC3. 468 * | | |Note: The channel configuration is the same as REQSRC0 field 469 * | | |Please refer to the explanation of REQSRC0. 470 * @var PDMA_T::REQSEL4_7 471 * Offset: 0x484 PDMA Request Source Select Register 1 472 * --------------------------------------------------------------------------------------------------- 473 * |Bits |Field |Descriptions 474 * | :----: | :----: | :---- | 475 * |[6:0] |REQSRC4 |Channel 4 Request Source Selection 476 * | | |This filed defines which peripheral is connected to PDMA channel 4 477 * | | |User can configure the peripheral setting by REQSRC4. 478 * | | |Note: The channel configuration is the same as REQSRC0 field 479 * | | |Please refer to the explanation of REQSRC0. 480 * |[14:8] |REQSRC5 |Channel 5 Request Source Selection 481 * | | |This filed defines which peripheral is connected to PDMA channel 5 482 * | | |User can configure the peripheral setting by REQSRC5. 483 * | | |Note: The channel configuration is the same as REQSRC0 field 484 * | | |Please refer to the explanation of REQSRC0. 485 * |[22:16] |REQSRC6 |Channel 6 Request Source Selection 486 * | | |This filed defines which peripheral is connected to PDMA channel 6 487 * | | |User can configure the peripheral setting by REQSRC6. 488 * | | |Note: The channel configuration is the same as REQSRC0 field 489 * | | |Please refer to the explanation of REQSRC0. 490 * |[30:24] |REQSRC7 |Channel 7 Request Source Selection 491 * | | |This filed defines which peripheral is connected to PDMA channel 7 492 * | | |User can configure the peripheral setting by REQSRC7. 493 * | | |Note: The channel configuration is the same as REQSRC0 field 494 * | | |Please refer to the explanation of REQSRC0. 495 * @var PDMA_T::REQSEL8_11 496 * Offset: 0x488 PDMA Request Source Select Register 2 497 * --------------------------------------------------------------------------------------------------- 498 * |Bits |Field |Descriptions 499 * | :----: | :----: | :---- | 500 * |[6:0] |REQSRC8 |Channel 8 Request Source Selection 501 * | | |This filed defines which peripheral is connected to PDMA channel 8 502 * | | |User can configure the peripheral setting by REQSRC8. 503 * | | |Note: The channel configuration is the same as REQSRC0 field 504 * | | |Please refer to the explanation of REQSRC0. 505 * |[14:8] |REQSRC9 |Channel 9 Request Source Selection 506 * | | |This filed defines which peripheral is connected to PDMA channel 9 507 * | | |User can configure the peripheral setting by REQSRC9. 508 * | | |Note: The channel configuration is the same as REQSRC0 field 509 * | | |Please refer to the explanation of REQSRC0. 510 * |[22:16] |REQSRC10 |Channel 10 Request Source Selection 511 * | | |This filed defines which peripheral is connected to PDMA channel 10 512 * | | |User can configure the peripheral setting by REQSRC10. 513 * | | |Note: The channel configuration is the same as REQSRC0 field 514 * | | |Please refer to the explanation of REQSRC0. 515 * |[30:24] |REQSRC11 |Channel 11 Request Source Selection 516 * | | |This filed defines which peripheral is connected to PDMA channel 11 517 * | | |User can configure the peripheral setting by REQSRC11. 518 * | | |Note: The channel configuration is the same as REQSRC0 field 519 * | | |Please refer to the explanation of REQSRC0. 520 * @var PDMA_T::REQSEL12_15 521 * Offset: 0x48C PDMA Request Source Select Register 3 522 * --------------------------------------------------------------------------------------------------- 523 * |Bits |Field |Descriptions 524 * | :----: | :----: | :---- | 525 * |[6:0] |REQSRC12 |Channel 12 Request Source Selection 526 * | | |This filed defines which peripheral is connected to PDMA channel 12 527 * | | |User can configure the peripheral setting by REQSRC12. 528 * | | |Note: The channel configuration is the same as REQSRC0 field 529 * | | |Please refer to the explanation of REQSRC0. 530 * |[14:8] |REQSRC13 |Channel 13 Request Source Selection 531 * | | |This filed defines which peripheral is connected to PDMA channel 13 532 * | | |User can configure the peripheral setting by REQSRC13. 533 * | | |Note: The channel configuration is the same as REQSRC0 field 534 * | | |Please refer to the explanation of REQSRC0. 535 * |[22:16] |REQSRC14 |Channel 14 Request Source Selection 536 * | | |This filed defines which peripheral is connected to PDMA channel 14 537 * | | |User can configure the peripheral setting by REQSRC14. 538 * | | |Note: The channel configuration is the same as REQSRC0 field 539 * | | |Please refer to the explanation of REQSRC0. 540 * |[30:24] |REQSRC15 |Channel 15 Request Source Selection 541 * | | |This filed defines which peripheral is connected to PDMA channel 15 542 * | | |User can configure the peripheral setting by REQSRC15. 543 * | | |Note: The channel configuration is the same as REQSRC0 field 544 * | | |Please refer to the explanation of REQSRC0. 545 */ 546 DSCT_T DSCT[16]; /*!< [0x0000 ~ 0x015C] Control Register of PDMA Channel 0 ~ 15 */ 547 __I uint32_t CURSCAT[16]; /*!< [0x0100] Current Scatter-gather Descriptor Table Address of PDMA Channel n */ 548 __I uint32_t RESERVE0[176]; 549 __IO uint32_t CHCTL; /*!< [0x0400] PDMA Channel Control Register */ 550 __O uint32_t PAUSE; /*!< [0x0404] PDMA Transfer Pause Control Register */ 551 __O uint32_t SWREQ; /*!< [0x0408] PDMA Software Request Register */ 552 __I uint32_t TRGSTS; /*!< [0x040c] PDMA Channel Request Status Register */ 553 __IO uint32_t PRISET; /*!< [0x0410] PDMA Fixed Priority Setting Register */ 554 __O uint32_t PRICLR; /*!< [0x0414] PDMA Fixed Priority Clear Register */ 555 __IO uint32_t INTEN; /*!< [0x0418] PDMA Interrupt Enable Register */ 556 __IO uint32_t INTSTS; /*!< [0x041c] PDMA Interrupt Status Register */ 557 __IO uint32_t ABTSTS; /*!< [0x0420] PDMA Channel Read/Write Target Abort Flag Register */ 558 __IO uint32_t TDSTS; /*!< [0x0424] PDMA Channel Transfer Done Flag Register */ 559 __IO uint32_t ALIGN; /*!< [0x0428] PDMA Transfer Alignment Status Register */ 560 __I uint32_t TACTSTS; /*!< [0x042c] PDMA Transfer Active Flag Register */ 561 __IO uint32_t TOUTPSC; /*!< [0x0430] PDMA Time-out Prescaler Register(CH0 to CH1) */ 562 __IO uint32_t TOUTEN; /*!< [0x0434] PDMA Time-out Enable Register */ 563 __IO uint32_t TOUTIEN; /*!< [0x0438] PDMA Time-out Interrupt Enable Register */ 564 __IO uint32_t SCATBA; /*!< [0x043c] PDMA Scatter-gather Descriptor Table Base Address Register */ 565 __IO uint32_t TOC; /*!< [0x0440] PDMA Time-out Counter Ch0 and Ch1 Register */ 566 __I uint32_t RESERVE1[7]; 567 __IO uint32_t CHRST; /*!< [0x0460] PDMA Channel Reset Register */ 568 __I uint32_t RESERVE2[7]; 569 __IO uint32_t REQSEL0_3; /*!< [0x0480] PDMA Request Source Select Register 0 */ 570 __IO uint32_t REQSEL4_7; /*!< [0x0484] PDMA Request Source Select Register 1 */ 571 __IO uint32_t REQSEL8_11; /*!< [0x0488] PDMA Request Source Select Register 2 */ 572 __IO uint32_t REQSEL12_15; /*!< [0x048c] PDMA Request Source Select Register 3 */ 573 574 } PDMA_T; 575 576 /** 577 @addtogroup PDMA_CONST PDMA Bit Field Definition 578 Constant Definitions for PDMA Controller 579 @{ */ 580 581 #define PDMA_DSCT_CTL_OPMODE_Pos (0) /*!< DSCT_T::CTL: OPMODE Position */ 582 #define PDMA_DSCT_CTL_OPMODE_Msk (0x3ul << PDMA_DSCT_CTL_OPMODE_Pos) /*!< DSCT_T::CTL: OPMODE Mask */ 583 584 #define PDMA_DSCT_CTL_TXTYPE_Pos (2) /*!< DSCT_T::CTL: TXTYPE Position */ 585 #define PDMA_DSCT_CTL_TXTYPE_Msk (0x1ul << PDMA_DSCT_CTL_TXTYPE_Pos) /*!< DSCT_T::CTL: TXTYPE Mask */ 586 587 #define PDMA_DSCT_CTL_BURSIZE_Pos (4) /*!< DSCT_T::CTL: BURSIZE Position */ 588 #define PDMA_DSCT_CTL_BURSIZE_Msk (0x7ul << PDMA_DSCT_CTL_BURSIZE_Pos) /*!< DSCT_T::CTL: BURSIZE Mask */ 589 590 #define PDMA_DSCT_CTL_TBINTDIS_Pos (7) /*!< DSCT_T::CTL: TBINTDIS Position */ 591 #define PDMA_DSCT_CTL_TBINTDIS_Msk (0x1ul << PDMA_DSCT_CTL_TBINTDIS_Pos) /*!< DSCT_T::CTL: TBINTDIS Mask */ 592 593 #define PDMA_DSCT_CTL_SAINC_Pos (8) /*!< DSCT_T::CTL: SAINC Position */ 594 #define PDMA_DSCT_CTL_SAINC_Msk (0x3ul << PDMA_DSCT_CTL_SAINC_Pos) /*!< DSCT_T::CTL: SAINC Mask */ 595 596 #define PDMA_DSCT_CTL_DAINC_Pos (10) /*!< DSCT_T::CTL: DAINC Position */ 597 #define PDMA_DSCT_CTL_DAINC_Msk (0x3ul << PDMA_DSCT_CTL_DAINC_Pos) /*!< DSCT_T::CTL: DAINC Mask */ 598 599 #define PDMA_DSCT_CTL_TXWIDTH_Pos (12) /*!< DSCT_T::CTL: TXWIDTH Position */ 600 #define PDMA_DSCT_CTL_TXWIDTH_Msk (0x3ul << PDMA_DSCT_CTL_TXWIDTH_Pos) /*!< DSCT_T::CTL: TXWIDTH Mask */ 601 602 #define PDMA_DSCT_CTL_TXCNT_Pos (16) /*!< DSCT_T::CTL: TXCNT Position */ 603 #define PDMA_DSCT_CTL_TXCNT_Msk (0xfffful << PDMA_DSCT_CTL_TXCNT_Pos) /*!< DSCT_T::CTL: TXCNT Mask */ 604 605 #define PDMA_DSCT_SA_SA_Pos (0) /*!< DSCT_T::SA: SA Position */ 606 #define PDMA_DSCT_SA_SA_Msk (0xfffffffful << PDMA_DSCT_SA_SA_Pos) /*!< DSCT_T::SA: SA Mask */ 607 608 #define PDMA_DSCT_DA_DA_Pos (0) /*!< DSCT_T::DA: DA Position */ 609 #define PDMA_DSCT_DA_DA_Msk (0xfffffffful << PDMA_DSCT_DA_DA_Pos) /*!< DSCT_T::DA: DA Mask */ 610 611 #define PDMA_DSCT_NEXT_NEXT_Pos (0) /*!< DSCT_T::NEXT: NEXT Position */ 612 #define PDMA_DSCT_NEXT_NEXT_Msk (0xfffful << PDMA_DSCT_NEXT_NEXT_Pos) /*!< DSCT_T::NEXT: NEXT Mask */ 613 614 #define PDMA_DSCT_NEXT_EXENEXT_Pos (16) /*!< DSCT_T::NEXT: EXENEXT Position */ 615 #define PDMA_DSCT_NEXT_EXENEXT_Msk (0xfffful << PDMA_DSCT_NEXT_EXENEXT_Pos) /*!< DSCT_T::NEXT: EXENEXT Mask */ 616 617 #define PDMA_CURSCAT_CURADDR_Pos (0) /*!< PDMA_T::CURSCAT: CURADDR Position */ 618 #define PDMA_CURSCAT_CURADDR_Msk (0xfffffffful << PDMA_CURSCAT_CURADDR_Pos) /*!< PDMA_T::CURSCAT: CURADDR Mask */ 619 620 #define PDMA_CHCTL_CHENn_Pos (0) /*!< PDMA_T::CHCTL: CHENn Position */ 621 #define PDMA_CHCTL_CHENn_Msk (0xfffful << PDMA_CHCTL_CHENn_Pos) /*!< PDMA_T::CHCTL: CHENn Mask */ 622 623 #define PDMA_PAUSE_PAUSEn_Pos (0) /*!< PDMA_T::PAUSE: PAUSEn Position */ 624 #define PDMA_PAUSE_PAUSEn_Msk (0xfffful << PDMA_PAUSE_PAUSEn_Pos) /*!< PDMA_T::PAUSE: PAUSEn Mask */ 625 626 #define PDMA_SWREQ_SWREQn_Pos (0) /*!< PDMA_T::SWREQ: SWREQn Position */ 627 #define PDMA_SWREQ_SWREQn_Msk (0xfffful << PDMA_SWREQ_SWREQn_Pos) /*!< PDMA_T::SWREQ: SWREQn Mask */ 628 629 #define PDMA_TRGSTS_REQSTSn_Pos (0) /*!< PDMA_T::TRGSTS: REQSTSn Position */ 630 #define PDMA_TRGSTS_REQSTSn_Msk (0xfffful << PDMA_TRGSTS_REQSTSn_Pos) /*!< PDMA_T::TRGSTS: REQSTSn Mask */ 631 632 #define PDMA_PRISET_FPRISETn_Pos (0) /*!< PDMA_T::PRISET: FPRISETn Position */ 633 #define PDMA_PRISET_FPRISETn_Msk (0xfffful << PDMA_PRISET_FPRISETn_Pos) /*!< PDMA_T::PRISET: FPRISETn Mask */ 634 635 #define PDMA_PRICLR_FPRICLRn_Pos (0) /*!< PDMA_T::PRICLR: FPRICLRn Position */ 636 #define PDMA_PRICLR_FPRICLRn_Msk (0xfffful << PDMA_PRICLR_FPRICLRn_Pos) /*!< PDMA_T::PRICLR: FPRICLRn Mask */ 637 638 #define PDMA_INTEN_INTENn_Pos (0) /*!< PDMA_T::INTEN: INTENn Position */ 639 #define PDMA_INTEN_INTENn_Msk (0xfffful << PDMA_INTEN_INTENn_Pos) /*!< PDMA_T::INTEN: INTENn Mask */ 640 641 #define PDMA_INTSTS_ABTIF_Pos (0) /*!< PDMA_T::INTSTS: ABTIF Position */ 642 #define PDMA_INTSTS_ABTIF_Msk (0x1ul << PDMA_INTSTS_ABTIF_Pos) /*!< PDMA_T::INTSTS: ABTIF Mask */ 643 644 #define PDMA_INTSTS_TDIF_Pos (1) /*!< PDMA_T::INTSTS: TDIF Position */ 645 #define PDMA_INTSTS_TDIF_Msk (0x1ul << PDMA_INTSTS_TDIF_Pos) /*!< PDMA_T::INTSTS: TDIF Mask */ 646 647 #define PDMA_INTSTS_ALIGNF_Pos (2) /*!< PDMA_T::INTSTS: ALIGNF Position */ 648 #define PDMA_INTSTS_ALIGNF_Msk (0x1ul << PDMA_INTSTS_ALIGNF_Pos) /*!< PDMA_T::INTSTS: ALIGNF Mask */ 649 650 #define PDMA_INTSTS_REQTOF0_Pos (8) /*!< PDMA_T::INTSTS: REQTOF0 Position */ 651 #define PDMA_INTSTS_REQTOF0_Msk (0x1ul << PDMA_INTSTS_REQTOF0_Pos) /*!< PDMA_T::INTSTS: REQTOF0 Mask */ 652 653 #define PDMA_INTSTS_REQTOF1_Pos (9) /*!< PDMA_T::INTSTS: REQTOF1 Position */ 654 #define PDMA_INTSTS_REQTOF1_Msk (0x1ul << PDMA_INTSTS_REQTOF1_Pos) /*!< PDMA_T::INTSTS: REQTOF1 Mask */ 655 656 #define PDMA_ABTSTS_ABTIF0_Pos (0) /*!< PDMA_T::ABTSTS: ABTIF0 Position */ 657 #define PDMA_ABTSTS_ABTIF0_Msk (0x1ul << PDMA_ABTSTS_ABTIF0_Pos) /*!< PDMA_T::ABTSTS: ABTIF0 Mask */ 658 659 #define PDMA_ABTSTS_ABTIF1_Pos (1) /*!< PDMA_T::ABTSTS: ABTIF1 Position */ 660 #define PDMA_ABTSTS_ABTIF1_Msk (0x1ul << PDMA_ABTSTS_ABTIF1_Pos) /*!< PDMA_T::ABTSTS: ABTIF1 Mask */ 661 662 #define PDMA_ABTSTS_ABTIF2_Pos (2) /*!< PDMA_T::ABTSTS: ABTIF2 Position */ 663 #define PDMA_ABTSTS_ABTIF2_Msk (0x1ul << PDMA_ABTSTS_ABTIF2_Pos) /*!< PDMA_T::ABTSTS: ABTIF2 Mask */ 664 665 #define PDMA_ABTSTS_ABTIF3_Pos (3) /*!< PDMA_T::ABTSTS: ABTIF3 Position */ 666 #define PDMA_ABTSTS_ABTIF3_Msk (0x1ul << PDMA_ABTSTS_ABTIF3_Pos) /*!< PDMA_T::ABTSTS: ABTIF3 Mask */ 667 668 #define PDMA_ABTSTS_ABTIF4_Pos (4) /*!< PDMA_T::ABTSTS: ABTIF4 Position */ 669 #define PDMA_ABTSTS_ABTIF4_Msk (0x1ul << PDMA_ABTSTS_ABTIF4_Pos) /*!< PDMA_T::ABTSTS: ABTIF4 Mask */ 670 671 #define PDMA_ABTSTS_ABTIF5_Pos (5) /*!< PDMA_T::ABTSTS: ABTIF5 Position */ 672 #define PDMA_ABTSTS_ABTIF5_Msk (0x1ul << PDMA_ABTSTS_ABTIF5_Pos) /*!< PDMA_T::ABTSTS: ABTIF5 Mask */ 673 674 #define PDMA_ABTSTS_ABTIF6_Pos (6) /*!< PDMA_T::ABTSTS: ABTIF6 Position */ 675 #define PDMA_ABTSTS_ABTIF6_Msk (0x1ul << PDMA_ABTSTS_ABTIF6_Pos) /*!< PDMA_T::ABTSTS: ABTIF6 Mask */ 676 677 #define PDMA_ABTSTS_ABTIF7_Pos (7) /*!< PDMA_T::ABTSTS: ABTIF7 Position */ 678 #define PDMA_ABTSTS_ABTIF7_Msk (0x1ul << PDMA_ABTSTS_ABTIF7_Pos) /*!< PDMA_T::ABTSTS: ABTIF7 Mask */ 679 680 #define PDMA_ABTSTS_ABTIF8_Pos (8) /*!< PDMA_T::ABTSTS: ABTIF8 Position */ 681 #define PDMA_ABTSTS_ABTIF8_Msk (0x1ul << PDMA_ABTSTS_ABTIF8_Pos) /*!< PDMA_T::ABTSTS: ABTIF8 Mask */ 682 683 #define PDMA_ABTSTS_ABTIF9_Pos (9) /*!< PDMA_T::ABTSTS: ABTIF9 Position */ 684 #define PDMA_ABTSTS_ABTIF9_Msk (0x1ul << PDMA_ABTSTS_ABTIF9_Pos) /*!< PDMA_T::ABTSTS: ABTIF9 Mask */ 685 686 #define PDMA_ABTSTS_ABTIF10_Pos (10) /*!< PDMA_T::ABTSTS: ABTIF10 Position */ 687 #define PDMA_ABTSTS_ABTIF10_Msk (0x1ul << PDMA_ABTSTS_ABTIF10_Pos) /*!< PDMA_T::ABTSTS: ABTIF10 Mask */ 688 689 #define PDMA_ABTSTS_ABTIF11_Pos (11) /*!< PDMA_T::ABTSTS: ABTIF11 Position */ 690 #define PDMA_ABTSTS_ABTIF11_Msk (0x1ul << PDMA_ABTSTS_ABTIF11_Pos) /*!< PDMA_T::ABTSTS: ABTIF11 Mask */ 691 692 #define PDMA_ABTSTS_ABTIF12_Pos (12) /*!< PDMA_T::ABTSTS: ABTIF12 Position */ 693 #define PDMA_ABTSTS_ABTIF12_Msk (0x1ul << PDMA_ABTSTS_ABTIF12_Pos) /*!< PDMA_T::ABTSTS: ABTIF12 Mask */ 694 695 #define PDMA_ABTSTS_ABTIF13_Pos (13) /*!< PDMA_T::ABTSTS: ABTIF13 Position */ 696 #define PDMA_ABTSTS_ABTIF13_Msk (0x1ul << PDMA_ABTSTS_ABTIF13_Pos) /*!< PDMA_T::ABTSTS: ABTIF13 Mask */ 697 698 #define PDMA_ABTSTS_ABTIF14_Pos (14) /*!< PDMA_T::ABTSTS: ABTIF14 Position */ 699 #define PDMA_ABTSTS_ABTIF14_Msk (0x1ul << PDMA_ABTSTS_ABTIF14_Pos) /*!< PDMA_T::ABTSTS: ABTIF14 Mask */ 700 701 #define PDMA_ABTSTS_ABTIF15_Pos (15) /*!< PDMA_T::ABTSTS: ABTIF15 Position */ 702 #define PDMA_ABTSTS_ABTIF15_Msk (0x1ul << PDMA_ABTSTS_ABTIF15_Pos) /*!< PDMA_T::ABTSTS: ABTIF15 Mask */ 703 704 #define PDMA_TDSTS_TDIF0_Pos (0) /*!< PDMA_T::TDSTS: TDIF0 Position */ 705 #define PDMA_TDSTS_TDIF0_Msk (0x1ul << PDMA_TDSTS_TDIF0_Pos) /*!< PDMA_T::TDSTS: TDIF0 Mask */ 706 707 #define PDMA_TDSTS_TDIF1_Pos (1) /*!< PDMA_T::TDSTS: TDIF1 Position */ 708 #define PDMA_TDSTS_TDIF1_Msk (0x1ul << PDMA_TDSTS_TDIF1_Pos) /*!< PDMA_T::TDSTS: TDIF1 Mask */ 709 710 #define PDMA_TDSTS_TDIF2_Pos (2) /*!< PDMA_T::TDSTS: TDIF2 Position */ 711 #define PDMA_TDSTS_TDIF2_Msk (0x1ul << PDMA_TDSTS_TDIF2_Pos) /*!< PDMA_T::TDSTS: TDIF2 Mask */ 712 713 #define PDMA_TDSTS_TDIF3_Pos (3) /*!< PDMA_T::TDSTS: TDIF3 Position */ 714 #define PDMA_TDSTS_TDIF3_Msk (0x1ul << PDMA_TDSTS_TDIF3_Pos) /*!< PDMA_T::TDSTS: TDIF3 Mask */ 715 716 #define PDMA_TDSTS_TDIF4_Pos (4) /*!< PDMA_T::TDSTS: TDIF4 Position */ 717 #define PDMA_TDSTS_TDIF4_Msk (0x1ul << PDMA_TDSTS_TDIF4_Pos) /*!< PDMA_T::TDSTS: TDIF4 Mask */ 718 719 #define PDMA_TDSTS_TDIF5_Pos (5) /*!< PDMA_T::TDSTS: TDIF5 Position */ 720 #define PDMA_TDSTS_TDIF5_Msk (0x1ul << PDMA_TDSTS_TDIF5_Pos) /*!< PDMA_T::TDSTS: TDIF5 Mask */ 721 722 #define PDMA_TDSTS_TDIF6_Pos (6) /*!< PDMA_T::TDSTS: TDIF6 Position */ 723 #define PDMA_TDSTS_TDIF6_Msk (0x1ul << PDMA_TDSTS_TDIF6_Pos) /*!< PDMA_T::TDSTS: TDIF6 Mask */ 724 725 #define PDMA_TDSTS_TDIF7_Pos (7) /*!< PDMA_T::TDSTS: TDIF7 Position */ 726 #define PDMA_TDSTS_TDIF7_Msk (0x1ul << PDMA_TDSTS_TDIF7_Pos) /*!< PDMA_T::TDSTS: TDIF7 Mask */ 727 728 #define PDMA_TDSTS_TDIF8_Pos (8) /*!< PDMA_T::TDSTS: TDIF8 Position */ 729 #define PDMA_TDSTS_TDIF8_Msk (0x1ul << PDMA_TDSTS_TDIF8_Pos) /*!< PDMA_T::TDSTS: TDIF8 Mask */ 730 731 #define PDMA_TDSTS_TDIF9_Pos (9) /*!< PDMA_T::TDSTS: TDIF9 Position */ 732 #define PDMA_TDSTS_TDIF9_Msk (0x1ul << PDMA_TDSTS_TDIF9_Pos) /*!< PDMA_T::TDSTS: TDIF9 Mask */ 733 734 #define PDMA_TDSTS_TDIF10_Pos (10) /*!< PDMA_T::TDSTS: TDIF10 Position */ 735 #define PDMA_TDSTS_TDIF10_Msk (0x1ul << PDMA_TDSTS_TDIF10_Pos) /*!< PDMA_T::TDSTS: TDIF10 Mask */ 736 737 #define PDMA_TDSTS_TDIF11_Pos (11) /*!< PDMA_T::TDSTS: TDIF11 Position */ 738 #define PDMA_TDSTS_TDIF11_Msk (0x1ul << PDMA_TDSTS_TDIF11_Pos) /*!< PDMA_T::TDSTS: TDIF11 Mask */ 739 740 #define PDMA_TDSTS_TDIF12_Pos (12) /*!< PDMA_T::TDSTS: TDIF12 Position */ 741 #define PDMA_TDSTS_TDIF12_Msk (0x1ul << PDMA_TDSTS_TDIF12_Pos) /*!< PDMA_T::TDSTS: TDIF12 Mask */ 742 743 #define PDMA_TDSTS_TDIF13_Pos (13) /*!< PDMA_T::TDSTS: TDIF13 Position */ 744 #define PDMA_TDSTS_TDIF13_Msk (0x1ul << PDMA_TDSTS_TDIF13_Pos) /*!< PDMA_T::TDSTS: TDIF13 Mask */ 745 746 #define PDMA_TDSTS_TDIF14_Pos (14) /*!< PDMA_T::TDSTS: TDIF14 Position */ 747 #define PDMA_TDSTS_TDIF14_Msk (0x1ul << PDMA_TDSTS_TDIF14_Pos) /*!< PDMA_T::TDSTS: TDIF14 Mask */ 748 749 #define PDMA_TDSTS_TDIF15_Pos (15) /*!< PDMA_T::TDSTS: TDIF15 Position */ 750 #define PDMA_TDSTS_TDIF15_Msk (0x1ul << PDMA_TDSTS_TDIF15_Pos) /*!< PDMA_T::TDSTS: TDIF15 Mask */ 751 752 #define PDMA_ALIGN_ALIGNn_Pos (0) /*!< PDMA_T::ALIGN: ALIGNn Position */ 753 #define PDMA_ALIGN_ALIGNn_Msk (0xfffful << PDMA_ALIGN_ALIGNn_Pos) /*!< PDMA_T::ALIGN: ALIGNn Mask */ 754 755 #define PDMA_TACTSTS_TXACTFn_Pos (0) /*!< PDMA_T::TACTSTS: TXACTFn Position */ 756 #define PDMA_TACTSTS_TXACTFn_Msk (0xfffful << PDMA_TACTSTS_TXACTFn_Pos) /*!< PDMA_T::TACTSTS: TXACTFn Mask */ 757 758 #define PDMA_TOUTPSC_TOUTPSC0_Pos (0) /*!< PDMA_T::TOUTPSC: TOUTPSC0 Position */ 759 #define PDMA_TOUTPSC_TOUTPSC0_Msk (0x7ul << PDMA_TOUTPSC_TOUTPSC0_Pos) /*!< PDMA_T::TOUTPSC: TOUTPSC0 Mask */ 760 761 #define PDMA_TOUTPSC_TOUTPSC1_Pos (4) /*!< PDMA_T::TOUTPSC: TOUTPSC1 Position */ 762 #define PDMA_TOUTPSC_TOUTPSC1_Msk (0x7ul << PDMA_TOUTPSC_TOUTPSC1_Pos) /*!< PDMA_T::TOUTPSC: TOUTPSC1 Mask */ 763 764 #define PDMA_TOUTEN_TOUTENn_Pos (0) /*!< PDMA_T::TOUTEN: TOUTENn Position */ 765 #define PDMA_TOUTEN_TOUTENn_Msk (0x3ul << PDMA_TOUTEN_TOUTENn_Pos) /*!< PDMA_T::TOUTEN: TOUTENn Mask */ 766 767 #define PDMA_TOUTIEN_TOUTIENn_Pos (0) /*!< PDMA_T::TOUTIEN: TOUTIENn Position */ 768 #define PDMA_TOUTIEN_TOUTIENn_Msk (0x3ul << PDMA_TOUTIEN_TOUTIENn_Pos) /*!< PDMA_T::TOUTIEN: TOUTIENn Mask */ 769 770 #define PDMA_SCATBA_SCATBA_Pos (16) /*!< PDMA_T::SCATBA: SCATBA Position */ 771 #define PDMA_SCATBA_SCATBA_Msk (0xfffful << PDMA_SCATBA_SCATBA_Pos) /*!< PDMA_T::SCATBA: SCATBA Mask */ 772 773 #define PDMA_TOC_TOC0_Pos (0) /*!< PDMA_T::TOC: TOC0 Position */ 774 #define PDMA_TOC_TOC0_Msk (0xfffful << PDMA_TOC_TOC0_Pos) /*!< PDMA_T::TOC: TOC0 Mask */ 775 776 #define PDMA_TOC_TOC1_Pos (16) /*!< PDMA_T::TOC: TOC1 Position */ 777 #define PDMA_TOC_TOC1_Msk (0xfffful << PDMA_TOC_TOC1_Pos) /*!< PDMA_T::TOC: TOC1 Mask */ 778 779 #define PDMA_CHRST_CHnRST_Pos (0) /*!< PDMA_T::CHRST: CHnRST Position */ 780 #define PDMA_CHRST_CHnRST_Msk (0xfffful << PDMA_CHRST_CHnRST_Pos) /*!< PDMA_T::CHRST: CHnRST Mask */ 781 782 #define PDMA_REQSEL0_3_REQSRC0_Pos (0) /*!< PDMA_T::REQSEL0_3: REQSRC0 Position */ 783 #define PDMA_REQSEL0_3_REQSRC0_Msk (0x7ful << PDMA_REQSEL0_3_REQSRC0_Pos) /*!< PDMA_T::REQSEL0_3: REQSRC0 Mask */ 784 785 #define PDMA_REQSEL0_3_REQSRC1_Pos (8) /*!< PDMA_T::REQSEL0_3: REQSRC1 Position */ 786 #define PDMA_REQSEL0_3_REQSRC1_Msk (0x7ful << PDMA_REQSEL0_3_REQSRC1_Pos) /*!< PDMA_T::REQSEL0_3: REQSRC1 Mask */ 787 788 #define PDMA_REQSEL0_3_REQSRC2_Pos (16) /*!< PDMA_T::REQSEL0_3: REQSRC2 Position */ 789 #define PDMA_REQSEL0_3_REQSRC2_Msk (0x7ful << PDMA_REQSEL0_3_REQSRC2_Pos) /*!< PDMA_T::REQSEL0_3: REQSRC2 Mask */ 790 791 #define PDMA_REQSEL0_3_REQSRC3_Pos (24) /*!< PDMA_T::REQSEL0_3: REQSRC3 Position */ 792 #define PDMA_REQSEL0_3_REQSRC3_Msk (0x7ful << PDMA_REQSEL0_3_REQSRC3_Pos) /*!< PDMA_T::REQSEL0_3: REQSRC3 Mask */ 793 794 #define PDMA_REQSEL4_7_REQSRC4_Pos (0) /*!< PDMA_T::REQSEL4_7: REQSRC4 Position */ 795 #define PDMA_REQSEL4_7_REQSRC4_Msk (0x7ful << PDMA_REQSEL4_7_REQSRC4_Pos) /*!< PDMA_T::REQSEL4_7: REQSRC4 Mask */ 796 797 #define PDMA_REQSEL4_7_REQSRC5_Pos (8) /*!< PDMA_T::REQSEL4_7: REQSRC5 Position */ 798 #define PDMA_REQSEL4_7_REQSRC5_Msk (0x7ful << PDMA_REQSEL4_7_REQSRC5_Pos) /*!< PDMA_T::REQSEL4_7: REQSRC5 Mask */ 799 800 #define PDMA_REQSEL4_7_REQSRC6_Pos (16) /*!< PDMA_T::REQSEL4_7: REQSRC6 Position */ 801 #define PDMA_REQSEL4_7_REQSRC6_Msk (0x7ful << PDMA_REQSEL4_7_REQSRC6_Pos) /*!< PDMA_T::REQSEL4_7: REQSRC6 Mask */ 802 803 #define PDMA_REQSEL4_7_REQSRC7_Pos (24) /*!< PDMA_T::REQSEL4_7: REQSRC7 Position */ 804 #define PDMA_REQSEL4_7_REQSRC7_Msk (0x7ful << PDMA_REQSEL4_7_REQSRC7_Pos) /*!< PDMA_T::REQSEL4_7: REQSRC7 Mask */ 805 806 #define PDMA_REQSEL8_11_REQSRC8_Pos (0) /*!< PDMA_T::REQSEL8_11: REQSRC8 Position */ 807 #define PDMA_REQSEL8_11_REQSRC8_Msk (0x7ful << PDMA_REQSEL8_11_REQSRC8_Pos) /*!< PDMA_T::REQSEL8_11: REQSRC8 Mask */ 808 809 #define PDMA_REQSEL8_11_REQSRC9_Pos (8) /*!< PDMA_T::REQSEL8_11: REQSRC9 Position */ 810 #define PDMA_REQSEL8_11_REQSRC9_Msk (0x7ful << PDMA_REQSEL8_11_REQSRC9_Pos) /*!< PDMA_T::REQSEL8_11: REQSRC9 Mask */ 811 812 #define PDMA_REQSEL8_11_REQSRC10_Pos (16) /*!< PDMA_T::REQSEL8_11: REQSRC10 Position */ 813 #define PDMA_REQSEL8_11_REQSRC10_Msk (0x7ful << PDMA_REQSEL8_11_REQSRC10_Pos) /*!< PDMA_T::REQSEL8_11: REQSRC10 Mask */ 814 815 #define PDMA_REQSEL8_11_REQSRC11_Pos (24) /*!< PDMA_T::REQSEL8_11: REQSRC11 Position */ 816 #define PDMA_REQSEL8_11_REQSRC11_Msk (0x7ful << PDMA_REQSEL8_11_REQSRC11_Pos) /*!< PDMA_T::REQSEL8_11: REQSRC11 Mask */ 817 818 #define PDMA_REQSEL12_15_REQSRC12_Pos (0) /*!< PDMA_T::REQSEL12_15: REQSRC12 Position */ 819 #define PDMA_REQSEL12_15_REQSRC12_Msk (0x7ful << PDMA_REQSEL12_15_REQSRC12_Pos) /*!< PDMA_T::REQSEL12_15: REQSRC12 Mask */ 820 821 #define PDMA_REQSEL12_15_REQSRC13_Pos (8) /*!< PDMA_T::REQSEL12_15: REQSRC13 Position */ 822 #define PDMA_REQSEL12_15_REQSRC13_Msk (0x7ful << PDMA_REQSEL12_15_REQSRC13_Pos) /*!< PDMA_T::REQSEL12_15: REQSRC13 Mask */ 823 824 #define PDMA_REQSEL12_15_REQSRC14_Pos (16) /*!< PDMA_T::REQSEL12_15: REQSRC14 Position */ 825 #define PDMA_REQSEL12_15_REQSRC14_Msk (0x7ful << PDMA_REQSEL12_15_REQSRC14_Pos) /*!< PDMA_T::REQSEL12_15: REQSRC14 Mask */ 826 827 #define PDMA_REQSEL12_15_REQSRC15_Pos (24) /*!< PDMA_T::REQSEL12_15: REQSRC15 Position */ 828 #define PDMA_REQSEL12_15_REQSRC15_Msk (0x7ful << PDMA_REQSEL12_15_REQSRC15_Pos) /*!< PDMA_T::REQSEL12_15: REQSRC15 Mask */ 829 830 /**@}*/ /* PDMA_CONST */ 831 /**@}*/ /* end of PDMA register group */ 832 /**@}*/ /* end of REGISTER group */ 833 834 #if defined ( __CC_ARM ) 835 #pragma no_anon_unions 836 #endif 837 838 #endif /* __PDMA_REG_H__ */