1 /**************************************************************************//** 2 * @file lppdma_reg.h 3 * @version V1.00 4 * @brief LPPDMA 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 __LPPDMA_REG_H__ 10 #define __LPPDMA_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 /*---------------------- Low Power Peripheral Direct Memory Access Controller -------------------------*/ 24 /** 25 @addtogroup LPPDMA Low Power Peripheral Direct Memory Access Controller (LPPDMA) 26 Memory Mapped Structure for LPPDMA Controller 27 @{ */ 28 29 typedef struct 30 { 31 32 33 /** 34 * @var LPDSCT_T::CTL 35 * Offset: 0x00 Descriptor Table Control Register of LPPDMA Channel n 36 * --------------------------------------------------------------------------------------------------- 37 * |Bits |Field |Descriptions 38 * | :----: | :----: | :---- | 39 * |[1:0] |OPMODE |LPPDMA Operation Mode Selection 40 * | | |00 = Idle state: Channel is stopped or this table is complete, when LPPDMA 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, LPPDMA_INTSTS[1] will be asserted. 43 * | | |10 = Scatter-gather mode: When operating in this mode, user must give the next descriptor table address in LPPDMA_DSCTn_NEXT register; LPPDMA 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 LPPDMA_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(LPPDMA_TDSTS[3:0]) when LPPDMA 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: LPPDMA transfer source address (LPPDMA_DSCTn_SA) and LPPDMA transfer destination address (LPPDMA_DSCTn_DA) should be alignment under the TXWIDTH selection 83 * |[31:16] |TXCNT |Transfer Count 84 * | | |The TXCNT represents the required number of LPPDMA 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 LPPDMA finishes each transfer data, this field will be decreased immediately. 86 * @var LPDSCT_T::SA 87 * Offset: 0x04 Source Address Register of LPPDMA Channel n 88 * --------------------------------------------------------------------------------------------------- 89 * |Bits |Field |Descriptions 90 * | :----: | :----: | :---- | 91 * |[31:0] |SA |LPPDMA Transfer Source Address 92 * | | |This field indicates a 32-bit source address of LPPDMA. 93 * @var LPDSCT_T::DA 94 * Offset: 0x08 Destination Address Register of LPPDMA Channel n 95 * --------------------------------------------------------------------------------------------------- 96 * |Bits |Field |Descriptions 97 * | :----: | :----: | :---- | 98 * |[31:0] |DA |LPPDMA Transfer Destination Address 99 * | | |This field indicates a 32-bit destination address of LPPDMA. 100 * @var LPDSCT_T::NEXT 101 * Offset: 0x0C Next Scatter-gather Descriptor Table Offset Address of LPPDMA Channel n 102 * --------------------------------------------------------------------------------------------------- 103 * |Bits |Field |Descriptions 104 * | :----: | :----: | :---- | 105 * |[15:0] |NEXT |LPPDMA 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 0x2800_0000 (LPPDMA_SCATBA), and the next descriptor table is start from 0x2800_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 |LPPDMA 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 LPPDMA Channel n */ 118 __IO uint32_t SA; /*!< [0x0004] Source Address Register of LPPDMA Channel n */ 119 __IO uint32_t DA; /*!< [0x0008] Destination Address Register of LPPDMA Channel n */ 120 __IO uint32_t NEXT; /*!< [0x000c] Next Scatter-gather Descriptor Table Offset Address of LPPDMA Channel n */ 121 } LPDSCT_T; 122 123 typedef struct 124 { 125 126 127 /** 128 * @var LPPDMA_T::CURSCAT 129 * Offset: 0x40 Current Scatter-gather Descriptor Table Address of LPPDMA Channel n 130 * --------------------------------------------------------------------------------------------------- 131 * |Bits |Field |Descriptions 132 * | :----: | :----: | :---- | 133 * |[31:0] |CURADDR |LPPDMA Current Description Address (Read Only) 134 * | | |This field indicates a 32-bit current external description address of LPPDMA. 135 * | | |Note: This field is read only and used for Scatter-gather mode only to indicate the current external description address. 136 * @var LPPDMA_T::CHCTL 137 * Offset: 0x400 LPPDMA Channel Control Register 138 * --------------------------------------------------------------------------------------------------- 139 * |Bits |Field |Descriptions 140 * | :----: | :----: | :---- | 141 * |[3:0] |CHENn |LPPDMA Channel Enable Bits 142 * | | |Set this bit to 1 to enable LPPDMAn operation. Channel cannot be active if it is not set as enabled. 143 * | | |0 = LPPDMA channel [n] Disabled. 144 * | | |1 = LPPDMA channel [n] Enabled. 145 * | | |Note: Setting the corresponding bit of LPPDMA_PAUSE or LPPDMA_CHRST register will also clear this bit. 146 * @var LPPDMA_T::PAUSE 147 * Offset: 0x404 LPPDMA Transfer Pause Control Register 148 * --------------------------------------------------------------------------------------------------- 149 * |Bits |Field |Descriptions 150 * | :----: | :----: | :---- | 151 * |[3:0] |PAUSEn |LPPDMA Channel n Transfer Pause Control (Write Only) 152 * | | |User can set PAUSEn bit field to pause LPPDMA transfer 153 * | | |When user sets PAUSEn bit, LPPDMA will pause the on-going transfer, then clear the channel enable bit CHENn(LPPDMA_CHCTL [n], n=0,1..3) and clear request active flag(LPPDMA_TRGSTS[n:0], n=0,1..3) 154 * | | |If the paused channel is re-enabled again, the remaining transfers will be processed. 155 * | | |0 = No effect. 156 * | | |1 = Pause LPPDMA channel n transfer. 157 * @var LPPDMA_T::SWREQ 158 * Offset: 0x408 LPPDMA Software Request Register 159 * --------------------------------------------------------------------------------------------------- 160 * |Bits |Field |Descriptions 161 * | :----: | :----: | :---- | 162 * |[3:0] |SWREQn |LPPDMA Software Request (Write Only) 163 * | | |Set this bit to 1 to generate a software request to LPPDMA [n]. 164 * | | |0 = No effect. 165 * | | |1 = Generate a software request. 166 * | | |Note 1: User can read LPPDMA_TRGSTS register to know which channel is on active 167 * | | |Active flag may be triggered by software request or peripheral request. 168 * | | |Note 2: If user does not enable corresponding LPPDMA channel, the software request will be ignored. 169 * @var LPPDMA_T::TRGSTS 170 * Offset: 0x40C LPPDMA Channel Request Status Register 171 * --------------------------------------------------------------------------------------------------- 172 * |Bits |Field |Descriptions 173 * | :----: | :----: | :---- | 174 * |[3:0] |REQSTSn |LPPDMA Channel Request Status (Read Only) 175 * | | |This flag indicates whether channel[n] have a request or not, no matter request from software or peripheral 176 * | | |When LPPDMA finishes channel transfer, this bit will be cleared automatically. 177 * | | |0 = LPPDMA Channel n has no request. 178 * | | |1 = LPPDMA Channel n has a request. 179 * | | |Note: If user pauses or resets each LPPDMA transfer by setting LPPDMA_PAUSE or LPPDMA_CHRST register respectively, this bit will be cleared automatically after finishing the current transfer. 180 * @var LPPDMA_T::PRISET 181 * Offset: 0x410 LPPDMA Fixed Priority Setting Register 182 * --------------------------------------------------------------------------------------------------- 183 * |Bits |Field |Descriptions 184 * | :----: | :----: | :---- | 185 * |[3:0] |FPRISETn |LPPDMA Fixed Priority Setting 186 * | | |Set this bit to 1 to enable fixed priority level. 187 * | | |Write Operation: 188 * | | |0 = No effect. 189 * | | |1 = Set LPPDMA channel [n] to fixed priority channel. 190 * | | |Read Operation: 191 * | | |0 = Corresponding LPPDMA channel is round-robin priority. 192 * | | |1 = Corresponding LPPDMA channel is fixed priority. 193 * | | |Note: This field is only set to fixed priority. To clear fixed priority, use LPPDMA_PRICLR register. 194 * @var LPPDMA_T::PRICLR 195 * Offset: 0x414 LPPDMA Fixed Priority Clear Register 196 * --------------------------------------------------------------------------------------------------- 197 * |Bits |Field |Descriptions 198 * | :----: | :----: | :---- | 199 * |[3:0] |FPRICLRn |LPPDMA Fixed Priority Clear Bits (Write Only) 200 * | | |Set this bit to 1 to clear fixed priority level. 201 * | | |0 = No effect. 202 * | | |1 = Clear LPPDMA channel [n] fixed priority setting. 203 * | | |Note: User can read LPPDMA_PRISET register to know the channel priority. 204 * @var LPPDMA_T::INTEN 205 * Offset: 0x418 LPPDMA Interrupt Enable Register 206 * --------------------------------------------------------------------------------------------------- 207 * |Bits |Field |Descriptions 208 * | :----: | :----: | :---- | 209 * |[3:0] |INTENn |LPPDMA Interrupt Enable Bits 210 * | | |This field is used to enable LPPDMA channel[n] interrupt. 211 * | | |0 = LPPDMA channel n interrupt Disabled. 212 * | | |1 = LPPDMA channel n interrupt Enabled. 213 * | | |Note: The interrupt flag is abort, transfer done and align. 214 * @var LPPDMA_T::INTSTS 215 * Offset: 0x41C LPPDMA Interrupt Status Register 216 * --------------------------------------------------------------------------------------------------- 217 * |Bits |Field |Descriptions 218 * | :----: | :----: | :---- | 219 * |[0] |ABTIF |LPPDMA Read/Write Target Abort Interrupt Flag (Read Only) 220 * | | |This bit indicates that LPPDMA has target abort error; Software can read LPPDMA_ABTSTS register to find which channel has target abort error. 221 * | | |0 = No AHB bus ERROR response received. 222 * | | |1 = AHB bus ERROR response received. 223 * |[1] |TDIF |Transfer Done Interrupt Flag (Read Only) 224 * | | |This bit indicates that LPPDMA controller has finished transmission; User can read LPPDMA_TDSTS register to indicate which channel finished transfer. 225 * | | |0 = Not finished yet. 226 * | | |1 = LPPDMA channel has finished transmission. 227 * |[2] |ALIGNF |Transfer Alignment Interrupt Flag (Read Only) 228 * | | |0 = LPPDMA channel source address and destination address both follow transfer width setting. 229 * | | |1 = LPPDMA channel source address or destination address is not follow transfer width setting. 230 * |[3] |WKF |Wake Up Flag 231 * | | |0 = LPPDMA no wake up event. 232 * | | |1 = LPPDMA wake up event happened. 233 * @var LPPDMA_T::ABTSTS 234 * Offset: 0x420 LPPDMA Channel Read/Write Target Abort Flag Register 235 * --------------------------------------------------------------------------------------------------- 236 * |Bits |Field |Descriptions 237 * | :----: | :----: | :---- | 238 * |[3:0] |ABTIFn |LPPDMA Read/Write Target Abort Interrupt Status Flag 239 * | | |This bit indicates which LPPDMA controller has target abort error. 240 * | | |0 = No AHB bus ERROR response received when channel n transfer. 241 * | | |1 = AHB bus ERROR response received when channel n transfer. 242 * | | |Note 1: If channel n target abort, REQSRCn should set0 to disable peripheral request. 243 * | | |Note 2: User can write 1 to clear this bit. 244 * @var LPPDMA_T::TDSTS 245 * Offset: 0x424 LPPDMA Channel Transfer Done Flag Register 246 * --------------------------------------------------------------------------------------------------- 247 * |Bits |Field |Descriptions 248 * | :----: | :----: | :---- | 249 * |[3:0] |TDIFn |Transfer Done Flag 250 * | | |This bit indicates whether LPPDMA controller channel transfer has been finished or not. 251 * | | |0 = LPPDMA channel transfer has not finished. 252 * | | |1 = LPPDMA channel has finished transmission. 253 * | | |Note: User can write 1 to clear these bits. 254 * @var LPPDMA_T::ALIGN 255 * Offset: 0x428 LPPDMA Transfer Alignment Status Register 256 * --------------------------------------------------------------------------------------------------- 257 * |Bits |Field |Descriptions 258 * | :----: | :----: | :---- | 259 * |[3:0] |ALIGNn |Transfer Alignment Flag 260 * | | |This bit indicates whether source and destination address both follow transfer width setting. 261 * | | |0 = LPPDMA channel source address and destination address both follow transfer width setting. 262 * | | |1 = LPPDMA channel source address or destination address is not follow transfer width setting. 263 * | | |Note: User can write 1 to clear these bits. 264 * @var LPPDMA_T::TACTSTS 265 * Offset: 0x42C LPPDMA Transfer Active Flag Register 266 * --------------------------------------------------------------------------------------------------- 267 * |Bits |Field |Descriptions 268 * | :----: | :----: | :---- | 269 * |[3:0] |TXACTFn |Transfer on Active Flag (Read Only) 270 * | | |This bit indicates which LPPDMA channel is in active. 271 * | | |0 = LPPDMA channel is finished. 272 * | | |1 = LPPDMA channel is active. 273 * @var LPPDMA_T::SCATBA 274 * Offset: 0x43C LPPDMA Scatter-gather Descriptor Table Base Address Register 275 * --------------------------------------------------------------------------------------------------- 276 * |Bits |Field |Descriptions 277 * | :----: | :----: | :---- | 278 * |[31:16] |SCATBA |LPPDMA Scatter-gather Descriptor Table Address 279 * | | |In Scatter-gather mode, this is the base address for calculating the next link - list address 280 * | | |The next link address equation is 281 * | | |Next Link Address = LPPDMA_SCATBA + LPPDMA_DSCTn_NEXT. 282 * | | |Note: Only useful in Scatter-gather mode. 283 * @var LPPDMA_T::CHRST 284 * Offset: 0x460 LPPDMA Channel Reset Register 285 * --------------------------------------------------------------------------------------------------- 286 * |Bits |Field |Descriptions 287 * | :----: | :----: | :---- | 288 * |[3:0] |CHnRST |Channel n Reset 289 * | | |0 = Corresponding channel n is not reset. 290 * | | |1 = Corresponding channel n is reset. 291 * @var LPPDMA_T::REQSEL0_3 292 * Offset: 0x480 LPPDMA Request Source Select Register 0 293 * --------------------------------------------------------------------------------------------------- 294 * |Bits |Field |Descriptions 295 * | :----: | :----: | :---- | 296 * |[6:0] |REQSRC0 |Channel 0 Request Source Selection 297 * | | |This filed defines which peripheral is connected to LPPDMA channel 0 298 * | | |User can configure the peripheral by setting REQSRC0. 299 * | | |0 = Disable LPPDMA peripheral request. 300 * | | |1 = Channel connects to LPUART0_TX. 301 * | | |2 = Channel connects to LPUART0_RX . 302 * | | |3 = Channel connects to LPSPI0_TX. 303 * | | |4 = Channel connects to LPSPI0_RX. 304 * | | |5 = Channel connects to LPI2C0_TX. 305 * | | |6 = Channel connects to LPI2C0_RX. 306 * | | |7 = Channel connects to LPTIMER0. 307 * | | |8 = Channel connects to LPTIMER1. 308 * | | |9 = Channel connects to TTIMER0. 309 * | | |10=Channel connects to TTIMER1. 310 * | | |11 = Channel connects to LPADC0_RX. 311 * | | |12 = Reserved. 312 * | | |13 = Reserved . 313 * | | |14 = Channel connects to ACMP0. 314 * | | |15 = Channel connects to ACMP1. 315 * | | |16 = Channel connects to ACMP2. 316 * | | |Others = Reserved. 317 * | | |Note 1: A peripheral cannot be assigned to two channels at the same time. 318 * | | |Note 2: This field is useless when transfer between memory and memory. 319 * |[14:8] |REQSRC1 |Channel 1 Request Source Selection 320 * | | |This filed defines which peripheral is connected to LPPDMA channel 1 321 * | | |User can configure the peripheral setting by REQSRC1. 322 * | | |Note: The channel configuration is the same as REQSRC0 field 323 * | | |Please refer to the explanation of REQSRC0. 324 * |[22:16] |REQSRC2 |Channel 2 Request Source Selection 325 * | | |This filed defines which peripheral is connected to LPPDMA channel 2 326 * | | |User can configure the peripheral setting by REQSRC2. 327 * | | |Note: The channel configuration is the same as REQSRC0 field 328 * | | |Please refer to the explanation of REQSRC0. 329 * |[30:24] |REQSRC3 |Channel 3 Request Source Selection 330 * | | |This filed defines which peripheral is connected to LPPDMA channel 3 331 * | | |User can configure the peripheral setting by REQSRC3. 332 * | | |Note: The channel configuration is the same as REQSRC0 field 333 * | | |Please refer to the explanation of REQSRC0. 334 */ 335 LPDSCT_T LPDSCT[4]; /*!< [0x0000 ~ 0x003C] Control Register of LPPDMA Channel 0 ~ 3 */ 336 __I uint32_t CURSCAT[4]; /*!< [0x0040 ~ 0x004C] Current Scatter-gather Descriptor Table Address of LPPDMA Channel n */ 337 __I uint32_t RESERVE0[236]; 338 __IO uint32_t CHCTL; /*!< [0x0400] LPPDMA Channel Control Register */ 339 __O uint32_t PAUSE; /*!< [0x0404] LPPDMA Transfer Pause Control Register */ 340 __O uint32_t SWREQ; /*!< [0x0408] LPPDMA Software Request Register */ 341 __I uint32_t TRGSTS; /*!< [0x040c] LPPDMA Channel Request Status Register */ 342 __IO uint32_t PRISET; /*!< [0x0410] LPPDMA Fixed Priority Setting Register */ 343 __O uint32_t PRICLR; /*!< [0x0414] LPPDMA Fixed Priority Clear Register */ 344 __IO uint32_t INTEN; /*!< [0x0418] LPPDMA Interrupt Enable Register */ 345 __IO uint32_t INTSTS; /*!< [0x041c] LPPDMA Interrupt Status Register */ 346 __IO uint32_t ABTSTS; /*!< [0x0420] LPPDMA Channel Read/Write Target Abort Flag Register */ 347 __IO uint32_t TDSTS; /*!< [0x0424] LPPDMA Channel Transfer Done Flag Register */ 348 __IO uint32_t ALIGN; /*!< [0x0428] LPPDMA Transfer Alignment Status Register */ 349 __I uint32_t TACTSTS; /*!< [0x042c] LPPDMA Transfer Active Flag Register */ 350 __I uint32_t RESERVE1[3]; 351 __IO uint32_t SCATBA; /*!< [0x043c] LPPDMA Scatter-gather Descriptor Table Base Address Register */ 352 __I uint32_t RESERVE2[8]; 353 __IO uint32_t CHRST; /*!< [0x0460] LPPDMA Channel Reset Register */ 354 __I uint32_t RESERVE3[7]; 355 __IO uint32_t REQSEL0_3; /*!< [0x0480] LPPDMA Request Source Select Register 0 */ 356 357 } LPPDMA_T; 358 359 /** 360 @addtogroup LPPDMA_CONST LPPDMA Bit Field Definition 361 Constant Definitions for LPPDMA Controller 362 @{ */ 363 364 #define LPPDMA_DSCT_CTL_OPMODE_Pos (0) /*!< LPDSCT_T::CTL: OPMODE Position */ 365 #define LPPDMA_DSCT_CTL_OPMODE_Msk (0x3ul << LPPDMA_DSCT_CTL_OPMODE_Pos) /*!< LPDSCT_T::CTL: OPMODE Mask */ 366 367 #define LPPDMA_DSCT_CTL_TXTYPE_Pos (2) /*!< LPDSCT_T::CTL: TXTYPE Position */ 368 #define LPPDMA_DSCT_CTL_TXTYPE_Msk (0x1ul << LPPDMA_DSCT_CTL_TXTYPE_Pos) /*!< LPDSCT_T::CTL: TXTYPE Mask */ 369 370 #define LPPDMA_DSCT_CTL_BURSIZE_Pos (4) /*!< LPDSCT_T::CTL: BURSIZE Position */ 371 #define LPPDMA_DSCT_CTL_BURSIZE_Msk (0x7ul << LPPDMA_DSCT_CTL_BURSIZE_Pos) /*!< LPDSCT_T::CTL: BURSIZE Mask */ 372 373 #define LPPDMA_DSCT_CTL_TBINTDIS_Pos (7) /*!< LPDSCT_T::CTL: TBINTDIS Position */ 374 #define LPPDMA_DSCT_CTL_TBINTDIS_Msk (0x1ul << LPPDMA_DSCT_CTL_TBINTDIS_Pos) /*!< LPDSCT_T::CTL: TBINTDIS Mask */ 375 376 #define LPPDMA_DSCT_CTL_SAINC_Pos (8) /*!< LPDSCT_T::CTL: SAINC Position */ 377 #define LPPDMA_DSCT_CTL_SAINC_Msk (0x3ul << LPPDMA_DSCT_CTL_SAINC_Pos) /*!< LPDSCT_T::CTL: SAINC Mask */ 378 379 #define LPPDMA_DSCT_CTL_DAINC_Pos (10) /*!< LPDSCT_T::CTL: DAINC Position */ 380 #define LPPDMA_DSCT_CTL_DAINC_Msk (0x3ul << LPPDMA_DSCT_CTL_DAINC_Pos) /*!< LPDSCT_T::CTL: DAINC Mask */ 381 382 #define LPPDMA_DSCT_CTL_TXWIDTH_Pos (12) /*!< LPDSCT_T::CTL: TXWIDTH Position */ 383 #define LPPDMA_DSCT_CTL_TXWIDTH_Msk (0x3ul << LPPDMA_DSCT_CTL_TXWIDTH_Pos) /*!< LPDSCT_T::CTL: TXWIDTH Mask */ 384 385 #define LPPDMA_DSCT_CTL_TXCNT_Pos (16) /*!< LPDSCT_T::CTL: TXCNT Position */ 386 #define LPPDMA_DSCT_CTL_TXCNT_Msk (0xfffful << LPPDMA_DSCT_CTL_TXCNT_Pos) /*!< LPDSCT_T::CTL: TXCNT Mask */ 387 388 #define LPPDMA_DSCT_SA_SA_Pos (0) /*!< LPDSCT_T::SA: SA Position */ 389 #define LPPDMA_DSCT_SA_SA_Msk (0xfffffffful << LPPDMA_DSCT_SA_SA_Pos) /*!< LPDSCT_T::SA: SA Mask */ 390 391 #define LPPDMA_DSCT_DA_DA_Pos (0) /*!< LPDSCT_T::DA: DA Position */ 392 #define LPPDMA_DSCT_DA_DA_Msk (0xfffffffful << LPPDMA_DSCT_DA_DA_Pos) /*!< LPDSCT_T::DA: DA Mask */ 393 394 #define LPPDMA_DSCT_NEXT_NEXT_Pos (0) /*!< LPDSCT_T::NEXT: NEXT Position */ 395 #define LPPDMA_DSCT_NEXT_NEXT_Msk (0xfffful << LPPDMA_DSCT_NEXT_NEXT_Pos) /*!< LPDSCT_T::NEXT: NEXT Mask */ 396 397 #define LPPDMA_DSCT_NEXT_EXENEXT_Pos (16) /*!< LPDSCT_T::NEXT: EXENEXT Position */ 398 #define LPPDMA_DSCT_NEXT_EXENEXT_Msk (0xfffful << LPPDMA_DSCT_NEXT_EXENEXT_Pos) /*!< LPDSCT_T::NEXT: EXENEXT Mask */ 399 400 #define LPPDMA_CURSCAT_CURADDR_Pos (0) /*!< LPPDMA_T::CURSCAT: CURADDR Position */ 401 #define LPPDMA_CURSCAT_CURADDR_Msk (0xfffffffful << LPPDMA_CURSCAT_CURADDR_Pos) /*!< LPPDMA_T::CURSCAT: CURADDR Mask */ 402 403 #define LPPDMA_CHCTL_CHENn_Pos (0) /*!< LPPDMA_T::CHCTL: CHENn Position */ 404 #define LPPDMA_CHCTL_CHENn_Msk (0xful << LPPDMA_CHCTL_CHENn_Pos) /*!< LPPDMA_T::CHCTL: CHENn Mask */ 405 406 #define LPPDMA_PAUSE_PAUSEn_Pos (0) /*!< LPPDMA_T::PAUSE: PAUSEn Position */ 407 #define LPPDMA_PAUSE_PAUSEn_Msk (0xful << LPPDMA_PAUSE_PAUSEn_Pos) /*!< LPPDMA_T::PAUSE: PAUSEn Mask */ 408 409 #define LPPDMA_SWREQ_SWREQn_Pos (0) /*!< LPPDMA_T::SWREQ: SWREQn Position */ 410 #define LPPDMA_SWREQ_SWREQn_Msk (0xful << LPPDMA_SWREQ_SWREQn_Pos) /*!< LPPDMA_T::SWREQ: SWREQn Mask */ 411 412 #define LPPDMA_TRGSTS_REQSTSn_Pos (0) /*!< LPPDMA_T::TRGSTS: REQSTSn Position */ 413 #define LPPDMA_TRGSTS_REQSTSn_Msk (0xful << LPPDMA_TRGSTS_REQSTSn_Pos) /*!< LPPDMA_T::TRGSTS: REQSTSn Mask */ 414 415 #define LPPDMA_PRISET_FPRISETn_Pos (0) /*!< LPPDMA_T::PRISET: FPRISETn Position */ 416 #define LPPDMA_PRISET_FPRISETn_Msk (0xful << LPPDMA_PRISET_FPRISETn_Pos) /*!< LPPDMA_T::PRISET: FPRISETn Mask */ 417 418 #define LPPDMA_PRICLR_FPRICLRn_Pos (0) /*!< LPPDMA_T::PRICLR: FPRICLRn Position */ 419 #define LPPDMA_PRICLR_FPRICLRn_Msk (0xful << LPPDMA_PRICLR_FPRICLRn_Pos) /*!< LPPDMA_T::PRICLR: FPRICLRn Mask */ 420 421 #define LPPDMA_INTEN_INTENn_Pos (0) /*!< LPPDMA_T::INTEN: INTENn Position */ 422 #define LPPDMA_INTEN_INTENn_Msk (0xful << LPPDMA_INTEN_INTENn_Pos) /*!< LPPDMA_T::INTEN: INTENn Mask */ 423 424 #define LPPDMA_INTSTS_ABTIF_Pos (0) /*!< LPPDMA_T::INTSTS: ABTIF Position */ 425 #define LPPDMA_INTSTS_ABTIF_Msk (0x1ul << LPPDMA_INTSTS_ABTIF_Pos) /*!< LPPDMA_T::INTSTS: ABTIF Mask */ 426 427 #define LPPDMA_INTSTS_TDIF_Pos (1) /*!< LPPDMA_T::INTSTS: TDIF Position */ 428 #define LPPDMA_INTSTS_TDIF_Msk (0x1ul << LPPDMA_INTSTS_TDIF_Pos) /*!< LPPDMA_T::INTSTS: TDIF Mask */ 429 430 #define LPPDMA_INTSTS_ALIGNF_Pos (2) /*!< LPPDMA_T::INTSTS: ALIGNF Position */ 431 #define LPPDMA_INTSTS_ALIGNF_Msk (0x1ul << LPPDMA_INTSTS_ALIGNF_Pos) /*!< LPPDMA_T::INTSTS: ALIGNF Mask */ 432 433 #define LPPDMA_INTSTS_WKF_Pos (3) /*!< LPPDMA_T::INTSTS: WKF Position */ 434 #define LPPDMA_INTSTS_WKF_Msk (0x1ul << LPPDMA_INTSTS_WKF_Pos) /*!< LPPDMA_T::INTSTS: WKF Mask */ 435 436 #define LPPDMA_ABTSTS_ABTIF0_Pos (0) /*!< LPPDMA_T::ABTSTS: ABTIF0 Position */ 437 #define LPPDMA_ABTSTS_ABTIF0_Msk (0x1ul << LPPDMA_ABTSTS_ABTIF0_Pos) /*!< LPPDMA_T::ABTSTS: ABTIF0 Mask */ 438 439 #define LPPDMA_ABTSTS_ABTIF1_Pos (1) /*!< LPPDMA_T::ABTSTS: ABTIF1 Position */ 440 #define LPPDMA_ABTSTS_ABTIF1_Msk (0x1ul << LPPDMA_ABTSTS_ABTIF1_Pos) /*!< LPPDMA_T::ABTSTS: ABTIF1 Mask */ 441 442 #define LPPDMA_ABTSTS_ABTIF2_Pos (2) /*!< LPPDMA_T::ABTSTS: ABTIF2 Position */ 443 #define LPPDMA_ABTSTS_ABTIF2_Msk (0x1ul << LPPDMA_ABTSTS_ABTIF2_Pos) /*!< LPPDMA_T::ABTSTS: ABTIF2 Mask */ 444 445 #define LPPDMA_ABTSTS_ABTIF3_Pos (3) /*!< LPPDMA_T::ABTSTS: ABTIF3 Position */ 446 #define LPPDMA_ABTSTS_ABTIF3_Msk (0x1ul << LPPDMA_ABTSTS_ABTIF3_Pos) /*!< LPPDMA_T::ABTSTS: ABTIF3 Mask */ 447 448 #define LPPDMA_TDSTS_TDIF0_Pos (0) /*!< LPPDMA_T::TDSTS: TDIF0 Position */ 449 #define LPPDMA_TDSTS_TDIF0_Msk (0x1ul << LPPDMA_TDSTS_TDIF0_Pos) /*!< LPPDMA_T::TDSTS: TDIF0 Mask */ 450 451 #define LPPDMA_TDSTS_TDIF1_Pos (1) /*!< LPPDMA_T::TDSTS: TDIF1 Position */ 452 #define LPPDMA_TDSTS_TDIF1_Msk (0x1ul << LPPDMA_TDSTS_TDIF1_Pos) /*!< LPPDMA_T::TDSTS: TDIF1 Mask */ 453 454 #define LPPDMA_TDSTS_TDIF2_Pos (2) /*!< LPPDMA_T::TDSTS: TDIF2 Position */ 455 #define LPPDMA_TDSTS_TDIF2_Msk (0x1ul << LPPDMA_TDSTS_TDIF2_Pos) /*!< LPPDMA_T::TDSTS: TDIF2 Mask */ 456 457 #define LPPDMA_TDSTS_TDIF3_Pos (3) /*!< LPPDMA_T::TDSTS: TDIF3 Position */ 458 #define LPPDMA_TDSTS_TDIF3_Msk (0x1ul << LPPDMA_TDSTS_TDIF3_Pos) /*!< LPPDMA_T::TDSTS: TDIF3 Mask */ 459 460 #define LPPDMA_ALIGN_ALIGNn_Pos (0) /*!< LPPDMA_T::ALIGN: ALIGNn Position */ 461 #define LPPDMA_ALIGN_ALIGNn_Msk (0xful << LPPDMA_ALIGN_ALIGNn_Pos) /*!< LPPDMA_T::ALIGN: ALIGNn Mask */ 462 463 #define LPPDMA_TACTSTS_TXACTFn_Pos (0) /*!< LPPDMA_T::TACTSTS: TXACTFn Position */ 464 #define LPPDMA_TACTSTS_TXACTFn_Msk (0xful << LPPDMA_TACTSTS_TXACTFn_Pos) /*!< LPPDMA_T::TACTSTS: TXACTFn Mask */ 465 466 #define LPPDMA_SCATBA_SCATBA_Pos (16) /*!< LPPDMA_T::SCATBA: SCATBA Position */ 467 #define LPPDMA_SCATBA_SCATBA_Msk (0xfffful << LPPDMA_SCATBA_SCATBA_Pos) /*!< LPPDMA_T::SCATBA: SCATBA Mask */ 468 469 #define LPPDMA_CHRST_CHnRST_Pos (0) /*!< LPPDMA_T::CHRST: CHnRST Position */ 470 #define LPPDMA_CHRST_CHnRST_Msk (0xful << LPPDMA_CHRST_CHnRST_Pos) /*!< LPPDMA_T::CHRST: CHnRST Mask */ 471 472 #define LPPDMA_REQSEL0_3_REQSRC0_Pos (0) /*!< LPPDMA_T::REQSEL0_3: REQSRC0 Position */ 473 #define LPPDMA_REQSEL0_3_REQSRC0_Msk (0x7ful << LPPDMA_REQSEL0_3_REQSRC0_Pos) /*!< LPPDMA_T::REQSEL0_3: REQSRC0 Mask */ 474 475 #define LPPDMA_REQSEL0_3_REQSRC1_Pos (8) /*!< LPPDMA_T::REQSEL0_3: REQSRC1 Position */ 476 #define LPPDMA_REQSEL0_3_REQSRC1_Msk (0x7ful << LPPDMA_REQSEL0_3_REQSRC1_Pos) /*!< LPPDMA_T::REQSEL0_3: REQSRC1 Mask */ 477 478 #define LPPDMA_REQSEL0_3_REQSRC2_Pos (16) /*!< LPPDMA_T::REQSEL0_3: REQSRC2 Position */ 479 #define LPPDMA_REQSEL0_3_REQSRC2_Msk (0x7ful << LPPDMA_REQSEL0_3_REQSRC2_Pos) /*!< LPPDMA_T::REQSEL0_3: REQSRC2 Mask */ 480 481 #define LPPDMA_REQSEL0_3_REQSRC3_Pos (24) /*!< LPPDMA_T::REQSEL0_3: REQSRC3 Position */ 482 #define LPPDMA_REQSEL0_3_REQSRC3_Msk (0x7ful << LPPDMA_REQSEL0_3_REQSRC3_Pos) /*!< LPPDMA_T::REQSEL0_3: REQSRC3 Mask */ 483 484 /**@}*/ /* LPPDMA_CONST */ 485 /**@}*/ /* end of LPPDMA register group */ 486 /**@}*/ /* end of REGISTER group */ 487 488 #if defined ( __CC_ARM ) 489 #pragma no_anon_unions 490 #endif 491 492 #endif /* __LPPDMA_REG_H__ */