1 /****************************************************************************** 2 * Filename: hw_lgpt_h 3 ****************************************************************************** 4 * Copyright (c) 2021 Texas Instruments Incorporated. All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are met: 8 * 9 * 1) Redistributions of source code must retain the above copyright notice, 10 * this list of conditions and the following disclaimer. 11 * 12 * 2) Redistributions in binary form must reproduce the above copyright notice, 13 * this list of conditions and the following disclaimer in the documentation 14 * and/or other materials provided with the distribution. 15 * 16 * 3) Neither the name of the copyright holder nor the names of its contributors 17 * may be used to endorse or promote products derived from this software 18 * without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 * POSSIBILITY OF SUCH DAMAGE. 31 ******************************************************************************/ 32 33 #ifndef __HW_LGPT_H__ 34 #define __HW_LGPT_H__ 35 36 //***************************************************************************** 37 // 38 // This section defines the register offsets of 39 // LGPT component 40 // 41 //***************************************************************************** 42 // Description Register. 43 #define LGPT_O_DESC 0x00000000U 44 45 // Description Extended 46 #define LGPT_O_DESCEX 0x00000004U 47 48 // Start Configuration 49 #define LGPT_O_STARTCFG 0x00000008U 50 51 // Timer Control 52 #define LGPT_O_CTL 0x0000000CU 53 54 // Output Control 55 #define LGPT_O_OUTCTL 0x00000010U 56 57 // Counter 58 #define LGPT_O_CNTR 0x00000014U 59 60 // Clock Prescaler Configuration 61 #define LGPT_O_PRECFG 0x00000018U 62 63 // Prescaler Event 64 #define LGPT_O_PREEVENT 0x0000001CU 65 66 // Channel Input Filter 67 #define LGPT_O_CHFILT 0x00000020U 68 69 // Quadrature Decoder Status 70 #define LGPT_O_QDECSTAT 0x00000034U 71 72 // IR Generation 73 #define LGPT_O_IRGEN 0x00000038U 74 75 // Direct Memory Accsess 76 #define LGPT_O_DMA 0x0000003CU 77 78 // Direct Memory Access 79 #define LGPT_O_DMARW 0x00000040U 80 81 // ADC Trigger 82 #define LGPT_O_ADCTRG 0x00000044U 83 84 // IO Controller 85 #define LGPT_O_IOCTL 0x00000048U 86 87 // Interrupt mask. 88 #define LGPT_O_IMASK 0x00000068U 89 90 // Raw interrupt status. 91 #define LGPT_O_RIS 0x0000006CU 92 93 // Masked interrupt status. 94 #define LGPT_O_MIS 0x00000070U 95 96 // Interrupt set register. 97 #define LGPT_O_ISET 0x00000074U 98 99 // Interrupt clear register. 100 #define LGPT_O_ICLR 0x00000078U 101 102 // Interrupt mask set register. 103 #define LGPT_O_IMSET 0x0000007CU 104 105 // Interrupt mask clear register. 106 #define LGPT_O_IMCLR 0x00000080U 107 108 // Debug control 109 #define LGPT_O_EMU 0x00000084U 110 111 // Channel 0 Configuration 112 #define LGPT_O_C0CFG 0x000000C0U 113 114 // Channel 1 Configuration 115 #define LGPT_O_C1CFG 0x000000C4U 116 117 // Channel 2 Configuration 118 #define LGPT_O_C2CFG 0x000000C8U 119 120 // Pipeline Target 121 #define LGPT_O_PTGT 0x000000FCU 122 123 // Pipeline Channel 0 Capture Compare 124 #define LGPT_O_PC0CC 0x00000100U 125 126 // Pipeline Channel 1 Capture Compare 127 #define LGPT_O_PC1CC 0x00000104U 128 129 // Pipeline Channel 2 Capture Compare 130 #define LGPT_O_PC2CC 0x00000108U 131 132 // Target 133 #define LGPT_O_TGT 0x0000013CU 134 135 // Channel 0 Capture Compare 136 #define LGPT_O_C0CC 0x00000140U 137 138 // Channel 1 Capture Compare 139 #define LGPT_O_C1CC 0x00000144U 140 141 // Channel 2 Capture Compare 142 #define LGPT_O_C2CC 0x00000148U 143 144 // Pipeline Target No Clear 145 #define LGPT_O_PTGTNC 0x0000017CU 146 147 // Pipeline Channel 0 Capture Compare No Clear 148 #define LGPT_O_PC0CCNC 0x00000180U 149 150 // Pipeline Channel 1 Capture Compare No Clear 151 #define LGPT_O_PC1CCNC 0x00000184U 152 153 // Pipeline Channel 2 Capture Compare No Clear 154 #define LGPT_O_PC2CCNC 0x00000188U 155 156 // Target No Clear 157 #define LGPT_O_TGTNC 0x000001BCU 158 159 // Channel 0 Capture Compare No Clear 160 #define LGPT_O_C0CCNC 0x000001C0U 161 162 // Channel 1 Capture Compare No Clear 163 #define LGPT_O_C1CCNC 0x000001C4U 164 165 // Channel 2 Capture Compare No Clear 166 #define LGPT_O_C2CCNC 0x000001C8U 167 168 //***************************************************************************** 169 // 170 // Register: LGPT_O_DESC 171 // 172 //***************************************************************************** 173 // Field: [31:16] MODID 174 // 175 // Module identifier used to uniquely identify this IP. 176 #define LGPT_DESC_MODID_W 16U 177 #define LGPT_DESC_MODID_M 0xFFFF0000U 178 #define LGPT_DESC_MODID_S 16U 179 180 // Field: [15:12] STDIPOFF 181 // 182 // Standard IP MMR block offset. Standard IP MMRs are the set of from 183 // aggregated IRQ registers till DTB. 184 // 185 // 0: Standard IP MMRs do not exist 186 // 187 // 0x1-0xF: Standard IP MMRs begin at offset of (64*STDIPOFF from the base IP 188 // address) 189 #define LGPT_DESC_STDIPOFF_W 4U 190 #define LGPT_DESC_STDIPOFF_M 0x0000F000U 191 #define LGPT_DESC_STDIPOFF_S 12U 192 193 // Field: [11:8] INSTIDX 194 // 195 // IP Instance ID number. If multiple instances of IP exist in the device, this 196 // field can identify the instance number. 197 #define LGPT_DESC_INSTIDX_W 4U 198 #define LGPT_DESC_INSTIDX_M 0x00000F00U 199 #define LGPT_DESC_INSTIDX_S 8U 200 201 // Field: [7:4] MAJREV 202 // 203 // Major revision of IP. 204 #define LGPT_DESC_MAJREV_W 4U 205 #define LGPT_DESC_MAJREV_M 0x000000F0U 206 #define LGPT_DESC_MAJREV_S 4U 207 208 // Field: [3:0] MINREV 209 // 210 // Minor revision of IP. 211 #define LGPT_DESC_MINREV_W 4U 212 #define LGPT_DESC_MINREV_M 0x0000000FU 213 #define LGPT_DESC_MINREV_S 0U 214 215 //***************************************************************************** 216 // 217 // Register: LGPT_O_DESCEX 218 // 219 //***************************************************************************** 220 // Field: [19] HIR 221 // 222 // Has IR logic. 223 #define LGPT_DESCEX_HIR 0x00080000U 224 #define LGPT_DESCEX_HIR_M 0x00080000U 225 #define LGPT_DESCEX_HIR_S 19U 226 227 // Field: [18] HDBF 228 // 229 // Has Dead-Band, Fault, and Park logic. 230 #define LGPT_DESCEX_HDBF 0x00040000U 231 #define LGPT_DESCEX_HDBF_M 0x00040000U 232 #define LGPT_DESCEX_HDBF_S 18U 233 234 // Field: [17:14] PREW 235 // 236 // Prescale width. The prescaler can maximum be configured to 2^PREW-1. 237 #define LGPT_DESCEX_PREW_W 4U 238 #define LGPT_DESCEX_PREW_M 0x0003C000U 239 #define LGPT_DESCEX_PREW_S 14U 240 241 // Field: [13] HQDEC 242 // 243 // Has Quadrature Decoder. 244 #define LGPT_DESCEX_HQDEC 0x00002000U 245 #define LGPT_DESCEX_HQDEC_M 0x00002000U 246 #define LGPT_DESCEX_HQDEC_S 13U 247 248 // Field: [12] HCIF 249 // 250 // Has channel input filter. 251 #define LGPT_DESCEX_HCIF 0x00001000U 252 #define LGPT_DESCEX_HCIF_M 0x00001000U 253 #define LGPT_DESCEX_HCIF_S 12U 254 255 // Field: [11:8] CIFS 256 // 257 // Channel input filter size. The prevailing state filter can maximum be 258 // configured to 2^CIFS-1. 259 #define LGPT_DESCEX_CIFS_W 4U 260 #define LGPT_DESCEX_CIFS_M 0x00000F00U 261 #define LGPT_DESCEX_CIFS_S 8U 262 263 // Field: [7] HDMA 264 // 265 // Has uDMA output and logic. 266 #define LGPT_DESCEX_HDMA 0x00000080U 267 #define LGPT_DESCEX_HDMA_M 0x00000080U 268 #define LGPT_DESCEX_HDMA_S 7U 269 270 // Field: [6] HINT 271 // 272 // Has interrupt output and logic. 273 #define LGPT_DESCEX_HINT 0x00000040U 274 #define LGPT_DESCEX_HINT_M 0x00000040U 275 #define LGPT_DESCEX_HINT_S 6U 276 277 // Field: [5:4] CNTRW 278 // 279 // Counter bit-width. 280 // The maximum counter value is equal to 2^CNTRW-1. 281 // ENUMs: 282 // RESERVED RESERVED 283 // CNTR32 32-bit counter. 284 // CNTR24 24-bit counter. 285 // CNTR16 16-bit counter. 286 #define LGPT_DESCEX_CNTRW_W 2U 287 #define LGPT_DESCEX_CNTRW_M 0x00000030U 288 #define LGPT_DESCEX_CNTRW_S 4U 289 #define LGPT_DESCEX_CNTRW_RESERVED 0x00000030U 290 #define LGPT_DESCEX_CNTRW_CNTR32 0x00000020U 291 #define LGPT_DESCEX_CNTRW_CNTR24 0x00000010U 292 #define LGPT_DESCEX_CNTRW_CNTR16 0x00000000U 293 294 // Field: [3:0] NCH 295 // 296 // Number of channels. 297 #define LGPT_DESCEX_NCH_W 4U 298 #define LGPT_DESCEX_NCH_M 0x0000000FU 299 #define LGPT_DESCEX_NCH_S 0U 300 301 //***************************************************************************** 302 // 303 // Register: LGPT_O_STARTCFG 304 // 305 //***************************************************************************** 306 // Field: [1:0] LGPT 307 // 308 // LGPT start 309 // ENUMs: 310 // EV_SYNC LGPT starts when synchronized event input is high. 311 // Configured here EVTSVT.LGPTSYNCSEL. 312 #define LGPT_STARTCFG_LGPT_W 2U 313 #define LGPT_STARTCFG_LGPT_M 0x00000003U 314 #define LGPT_STARTCFG_LGPT_S 0U 315 #define LGPT_STARTCFG_LGPT_EV_SYNC 0x00000000U 316 317 //***************************************************************************** 318 // 319 // Register: LGPT_O_CTL 320 // 321 //***************************************************************************** 322 // Field: [10] C2RST 323 // 324 // Channel 2 reset. 325 // ENUMs: 326 // RST Reset C2CC, PC2CC, and C2CFG. 327 // NOEFF No effect. 328 #define LGPT_CTL_C2RST 0x00000400U 329 #define LGPT_CTL_C2RST_M 0x00000400U 330 #define LGPT_CTL_C2RST_S 10U 331 #define LGPT_CTL_C2RST_RST 0x00000400U 332 #define LGPT_CTL_C2RST_NOEFF 0x00000000U 333 334 // Field: [9] C1RST 335 // 336 // Channel 1 reset. 337 // ENUMs: 338 // RST Reset C1CC, PC1CC, and C1CFG. 339 // NOEFF No effect. 340 #define LGPT_CTL_C1RST 0x00000200U 341 #define LGPT_CTL_C1RST_M 0x00000200U 342 #define LGPT_CTL_C1RST_S 9U 343 #define LGPT_CTL_C1RST_RST 0x00000200U 344 #define LGPT_CTL_C1RST_NOEFF 0x00000000U 345 346 // Field: [8] C0RST 347 // 348 // Channel 0 reset. 349 // ENUMs: 350 // RST Reset C0CC, PC0CC, and C0CFG. 351 // NOEFF No effect. 352 #define LGPT_CTL_C0RST 0x00000100U 353 #define LGPT_CTL_C0RST_M 0x00000100U 354 #define LGPT_CTL_C0RST_S 8U 355 #define LGPT_CTL_C0RST_RST 0x00000100U 356 #define LGPT_CTL_C0RST_NOEFF 0x00000000U 357 358 // Field: [5] INTP 359 // 360 // Interrupt Phase. 361 // This bit field controls when the RIS.TGT and RIS.ZERO interrupts are set. 362 // ENUMs: 363 // LATE RIS.TGT and RIS.ZERO are set one timer clock cycle 364 // after CNTR = TARGET/ZERO. 365 // EARLY RIS.TGT and RIS.ZERO are set one system clock 366 // cycle after CNTR = TARGET/ZERO. 367 #define LGPT_CTL_INTP 0x00000020U 368 #define LGPT_CTL_INTP_M 0x00000020U 369 #define LGPT_CTL_INTP_S 5U 370 #define LGPT_CTL_INTP_LATE 0x00000020U 371 #define LGPT_CTL_INTP_EARLY 0x00000000U 372 373 // Field: [4:3] CMPDIR 374 // 375 // Compare direction. 376 // 377 // This bit field controls the direction the counter must have in order to set 378 // the [RIS.CnCC] channel interrupts. This bitfield is only relevant if 379 // [CnCFG.CCACT] is configured to a compare action. 380 // ENUMs: 381 // RESERVED RESERVED 382 // DOWN Compare RIS fields are only set on down count. 383 // UP Compare RIS fields are only set on up count. 384 // BOTH Compare RIS fields are set on up count and down 385 // count. 386 #define LGPT_CTL_CMPDIR_W 2U 387 #define LGPT_CTL_CMPDIR_M 0x00000018U 388 #define LGPT_CTL_CMPDIR_S 3U 389 #define LGPT_CTL_CMPDIR_RESERVED 0x00000018U 390 #define LGPT_CTL_CMPDIR_DOWN 0x00000010U 391 #define LGPT_CTL_CMPDIR_UP 0x00000008U 392 #define LGPT_CTL_CMPDIR_BOTH 0x00000000U 393 394 // Field: [2:0] MODE 395 // 396 // Timer mode control 397 // 398 // The CNTR restarts from 0 when MODE is written to UP_ONCE, UP_PER, UPDWN_PER, 399 // QDEC, SYNC_UP_ONCE, SYNC_UP_PER or SYNC_UPDWN_PER. 400 // 401 // When writing MODE all internally queued updates to the channels and TGT is 402 // cleared. 403 // 404 // When configuring the timer, MODE should be the last thing to configure. If 405 // changing timer configuration after MODE has been set is necessary, 406 // instructions, if any, given in the configuration registers should be 407 // followed. See for example C0CFG. 408 // ENUMs: 409 // SYNC_UPDWN_PER Start counting up and down periodically 410 // synchronous to another LGPT, selected within 411 // STARTCFG. The timer is started by setting 412 // CTL.MODE = UPDWN_PER automatically. 413 // It then operates as a 414 // normal timer in CTL.MODE = UPDWN_PER, counting 415 // from 0 to target value and back to 0, 416 // repeatedly. 417 // 418 // Period = (target value * 419 // 2) * timer clock period 420 // SYNC_UP_PER Start counting up periodically synchronous to 421 // another LGPT, selected within STARTCFG. The 422 // timer is started by setting CTL.MODE = UP_PER 423 // automatically. 424 // It then operates as a 425 // normal timer in CTL.MODE = UP_PER, incrementing 426 // from 0 to target value, repeatedly. 427 // 428 // Period = (target value * 429 // 2) * timer clock period 430 // SYNC_UP_ONCE Start counting up once synchronous to another 431 // LGPT, selected within STARTCFG. The timer is 432 // started by setting CTL.MODE = UP_ONCE 433 // automatically. 434 // It then functions as a 435 // normal timer in CTL.MODE = UP_ONCE, 436 // incrementing from 0 to target value, then 437 // stops and sets MODE to DIS. 438 // QDEC The timer functions as a quadrature decoder. IOC 439 // input 0, IOC input 1 and IOC input 2 are used 440 // respectivly as PHA, PHB and IDX inputs. IDX can 441 // be turned off by setting C2CFG.EDGE = NONE. 442 // The timer clock frequency 443 // sets the sample rate of the QDEC logic. This 444 // frequency can be configured in PRECFG. 445 // UPDWN_PER Count up and down periodically. The timer counts 446 // from 0 to target value and back to 0, 447 // repeatedly. 448 // 449 // Period = (target value * 450 // 2) * timer clock period 451 // UP_PER Count up periodically. The timer increments from 0 452 // to target value, repeatedly. 453 // 454 // Period = (target value + 455 // 1) * timer clock period 456 // UP_ONCE Count up once. The timer increments from 0 to 457 // target value, then stops and sets MODE to DIS. 458 // DIS Disable timer. Updates to counter, channels, and 459 // events stop. 460 #define LGPT_CTL_MODE_W 3U 461 #define LGPT_CTL_MODE_M 0x00000007U 462 #define LGPT_CTL_MODE_S 0U 463 #define LGPT_CTL_MODE_SYNC_UPDWN_PER 0x00000007U 464 #define LGPT_CTL_MODE_SYNC_UP_PER 0x00000006U 465 #define LGPT_CTL_MODE_SYNC_UP_ONCE 0x00000005U 466 #define LGPT_CTL_MODE_QDEC 0x00000004U 467 #define LGPT_CTL_MODE_UPDWN_PER 0x00000003U 468 #define LGPT_CTL_MODE_UP_PER 0x00000002U 469 #define LGPT_CTL_MODE_UP_ONCE 0x00000001U 470 #define LGPT_CTL_MODE_DIS 0x00000000U 471 472 //***************************************************************************** 473 // 474 // Register: LGPT_O_OUTCTL 475 // 476 //***************************************************************************** 477 // Field: [5] SETOUT2 478 // 479 // Set output 2. 480 // 481 // Write 1 to set output 2. 482 #define LGPT_OUTCTL_SETOUT2 0x00000020U 483 #define LGPT_OUTCTL_SETOUT2_M 0x00000020U 484 #define LGPT_OUTCTL_SETOUT2_S 5U 485 486 // Field: [4] CLROUT2 487 // 488 // Clear output 2. 489 // 490 // Write 1 to clear output 2. 491 #define LGPT_OUTCTL_CLROUT2 0x00000010U 492 #define LGPT_OUTCTL_CLROUT2_M 0x00000010U 493 #define LGPT_OUTCTL_CLROUT2_S 4U 494 495 // Field: [3] SETOUT1 496 // 497 // Set output 1. 498 // 499 // Write 1 to set output 1. 500 #define LGPT_OUTCTL_SETOUT1 0x00000008U 501 #define LGPT_OUTCTL_SETOUT1_M 0x00000008U 502 #define LGPT_OUTCTL_SETOUT1_S 3U 503 504 // Field: [2] CLROUT1 505 // 506 // Clear output 1. 507 // 508 // Write 1 to clear output 1. 509 #define LGPT_OUTCTL_CLROUT1 0x00000004U 510 #define LGPT_OUTCTL_CLROUT1_M 0x00000004U 511 #define LGPT_OUTCTL_CLROUT1_S 2U 512 513 // Field: [1] SETOUT0 514 // 515 // Set output 0. 516 // 517 // Write 1 to set output 0. 518 #define LGPT_OUTCTL_SETOUT0 0x00000002U 519 #define LGPT_OUTCTL_SETOUT0_M 0x00000002U 520 #define LGPT_OUTCTL_SETOUT0_S 1U 521 522 // Field: [0] CLROUT0 523 // 524 // Clear output 0. 525 // 526 // Write 1 to clear output 0. 527 #define LGPT_OUTCTL_CLROUT0 0x00000001U 528 #define LGPT_OUTCTL_CLROUT0_M 0x00000001U 529 #define LGPT_OUTCTL_CLROUT0_S 0U 530 531 //***************************************************************************** 532 // 533 // Register: LGPT_O_CNTR 534 // 535 //***************************************************************************** 536 // Field: [15:0] VAL 537 // 538 // Current counter value. 539 // If CTL.MODE = QDEC this can be used to set the initial counter value during 540 // QDEC. Writing to CNTR in other modes than QDEC is possible, but may result 541 // in unpredictable behavior. 542 #define LGPT_CNTR_VAL_W 16U 543 #define LGPT_CNTR_VAL_M 0x0000FFFFU 544 #define LGPT_CNTR_VAL_S 0U 545 546 //***************************************************************************** 547 // 548 // Register: LGPT_O_PRECFG 549 // 550 //***************************************************************************** 551 // Field: [15:8] TICKDIV 552 // 553 // Tick division. 554 // 555 // TICKDIV determines the timer clock frequency for the counter, and timer 556 // output updates. The timer clock frequency is the clock selected by TICKSRC 557 // divided by (TICKDIV + 1). This inverse is the timer clock period. 558 // 559 // 0x00: Divide by 1. 560 // 0x01: Divide by 2. 561 // ... 562 // 0xFF: Divide by 256. 563 #define LGPT_PRECFG_TICKDIV_W 8U 564 #define LGPT_PRECFG_TICKDIV_M 0x0000FF00U 565 #define LGPT_PRECFG_TICKDIV_S 8U 566 567 // Field: [1:0] TICKSRC 568 // 569 // Prescaler tick source. 570 // 571 // TICKSRC determines the source which decrements the prescaler. 572 // ENUMs: 573 // BOTH_TICK Prescaler is updated at both edges of TICKEN. 574 // FALL_TICK Prescaler is updated at the falling edge of 575 // TICKEN. 576 // RISE_TICK Prescaler is updated at the rising edge of TICKEN. 577 // CLK Prescaler is updated at the system clock. 578 #define LGPT_PRECFG_TICKSRC_W 2U 579 #define LGPT_PRECFG_TICKSRC_M 0x00000003U 580 #define LGPT_PRECFG_TICKSRC_S 0U 581 #define LGPT_PRECFG_TICKSRC_BOTH_TICK 0x00000003U 582 #define LGPT_PRECFG_TICKSRC_FALL_TICK 0x00000002U 583 #define LGPT_PRECFG_TICKSRC_RISE_TICK 0x00000001U 584 #define LGPT_PRECFG_TICKSRC_CLK 0x00000000U 585 586 //***************************************************************************** 587 // 588 // Register: LGPT_O_PREEVENT 589 // 590 //***************************************************************************** 591 // Field: [7:0] VAL 592 // 593 // Sets the HIGH time of the prescaler event output. 594 // 595 // Event goes high when the prescaler counter equals VAL. Event goes low when 596 // prescaler counter is 0. 597 // 598 // Note: 599 // - Can be used to precharge or turn an external component on for a short time 600 // before sampling, like in QDEC. 601 // - If there is a requirement to create such events that have very short 602 // periods compared to timer clock period, use two timers. One timer acts as 603 // prescaler and event generator for another timer. 604 #define LGPT_PREEVENT_VAL_W 8U 605 #define LGPT_PREEVENT_VAL_M 0x000000FFU 606 #define LGPT_PREEVENT_VAL_S 0U 607 608 //***************************************************************************** 609 // 610 // Register: LGPT_O_CHFILT 611 // 612 //***************************************************************************** 613 // Field: [15:8] LOAD 614 // 615 // The input of the channel filter is passed to the edge detection logic after 616 // LOAD + 1 consecutive equal samples. 617 #define LGPT_CHFILT_LOAD_W 8U 618 #define LGPT_CHFILT_LOAD_M 0x0000FF00U 619 #define LGPT_CHFILT_LOAD_S 8U 620 621 // Field: [1:0] MODE 622 // 623 // Channel filter mode 624 // ENUMs: 625 // TIMERCLK Filter is clocked by timer clock. 626 // TICKSRC Filter is clocked by PRECFG.TICKSRC. 627 // CLK Filter is clocked by system clock. 628 // BYPASS Filter is bypassed. No Filter is used. 629 #define LGPT_CHFILT_MODE_W 2U 630 #define LGPT_CHFILT_MODE_M 0x00000003U 631 #define LGPT_CHFILT_MODE_S 0U 632 #define LGPT_CHFILT_MODE_TIMERCLK 0x00000003U 633 #define LGPT_CHFILT_MODE_TICKSRC 0x00000002U 634 #define LGPT_CHFILT_MODE_CLK 0x00000001U 635 #define LGPT_CHFILT_MODE_BYPASS 0x00000000U 636 637 //***************************************************************************** 638 // 639 // Register: LGPT_O_QDECSTAT 640 // 641 //***************************************************************************** 642 // Field: [1] DBLTRANS 643 // 644 // Double transition 645 // ENUMs: 646 // DBL Double transition on phase inputs. 647 // NONE Single or no transition on phase inputs. 648 #define LGPT_QDECSTAT_DBLTRANS 0x00000002U 649 #define LGPT_QDECSTAT_DBLTRANS_M 0x00000002U 650 #define LGPT_QDECSTAT_DBLTRANS_S 1U 651 #define LGPT_QDECSTAT_DBLTRANS_DBL 0x00000002U 652 #define LGPT_QDECSTAT_DBLTRANS_NONE 0x00000000U 653 654 // Field: [0] QDIR 655 // 656 // Direction of count during QDEC mode. 657 // ENUMs: 658 // DOWN Down (PHB leads PHA) 659 // UP Up (PHA leads PHB) 660 #define LGPT_QDECSTAT_QDIR 0x00000001U 661 #define LGPT_QDECSTAT_QDIR_M 0x00000001U 662 #define LGPT_QDECSTAT_QDIR_S 0U 663 #define LGPT_QDECSTAT_QDIR_DOWN 0x00000001U 664 #define LGPT_QDECSTAT_QDIR_UP 0x00000000U 665 666 //***************************************************************************** 667 // 668 // Register: LGPT_O_IRGEN 669 // 670 //***************************************************************************** 671 // Field: [0] CTL 672 // 673 // Control 674 // ENUMs: 675 // EN Enable. 676 // DIS Disable. 677 #define LGPT_IRGEN_CTL 0x00000001U 678 #define LGPT_IRGEN_CTL_M 0x00000001U 679 #define LGPT_IRGEN_CTL_S 0U 680 #define LGPT_IRGEN_CTL_EN 0x00000001U 681 #define LGPT_IRGEN_CTL_DIS 0x00000000U 682 683 //***************************************************************************** 684 // 685 // Register: LGPT_O_DMA 686 // 687 //***************************************************************************** 688 // Field: [19:16] RWCNTR 689 // 690 // The read/write counter. RWCNTR+1 is the number of times the DMA can access 691 // (read/write) the DMARW register. For each DMA access to DMARW an internal 692 // counter is incremented, writing to the next address field. RWADDR + 4*RWCNTR 693 // is the final register address which can be accessed by the DMA. 694 #define LGPT_DMA_RWCNTR_W 4U 695 #define LGPT_DMA_RWCNTR_M 0x000F0000U 696 #define LGPT_DMA_RWCNTR_S 16U 697 698 // Field: [14:8] RWADDR 699 // 700 // The base address which the DMA access when reading/writing DMARW. The base 701 // address is set by taking the 9 LSB of the physical address and divide by 4. 702 // For example, if you wanted the RWADDR to point to the PTGT register you 703 // should set RWADDR = 0x0FC/4. 704 #define LGPT_DMA_RWADDR_W 7U 705 #define LGPT_DMA_RWADDR_M 0x00007F00U 706 #define LGPT_DMA_RWADDR_S 8U 707 708 // Field: [3:0] REQ 709 // 710 // ENUMs: 711 // C11CC Setting of RIS.C11CC generates a DMA request. 712 // C10CC Setting of RIS.C10CC generates a DMA request. 713 // C9CC Setting of RIS.C9CC generates a DMA request. 714 // C8CC Setting of RIS.C8CC generates a DMA request. 715 // C7CC Setting of RIS.C7CC generates a DMA request. 716 // C6CC Setting of RIS.C6CC generates a DMA request. 717 // C5CC Setting of RIS.C5CC generates a DMA request. 718 // C4CC Setting of RIS.C4CC generates a DMA request. 719 // C3CC Setting of RIS.C3CC generates a DMA request. 720 // C2CC Setting of RIS.C2CC generates a DMA request. 721 // C1CC Setting of RIS.C1CC generates a DMA request. 722 // C0CC Setting of RIS.C0CC generates a DMA request. 723 // FAULT Setting of RIS.FAULT generates a DMA request. 724 // ZERO Setting of RIS.ZERO generates a DMA request. 725 // TGT Setting of RIS.TGT generates a DMA request. 726 // DIS Disabled 727 #define LGPT_DMA_REQ_W 4U 728 #define LGPT_DMA_REQ_M 0x0000000FU 729 #define LGPT_DMA_REQ_S 0U 730 #define LGPT_DMA_REQ_C11CC 0x0000000FU 731 #define LGPT_DMA_REQ_C10CC 0x0000000EU 732 #define LGPT_DMA_REQ_C9CC 0x0000000DU 733 #define LGPT_DMA_REQ_C8CC 0x0000000CU 734 #define LGPT_DMA_REQ_C7CC 0x0000000BU 735 #define LGPT_DMA_REQ_C6CC 0x0000000AU 736 #define LGPT_DMA_REQ_C5CC 0x00000009U 737 #define LGPT_DMA_REQ_C4CC 0x00000008U 738 #define LGPT_DMA_REQ_C3CC 0x00000007U 739 #define LGPT_DMA_REQ_C2CC 0x00000006U 740 #define LGPT_DMA_REQ_C1CC 0x00000005U 741 #define LGPT_DMA_REQ_C0CC 0x00000004U 742 #define LGPT_DMA_REQ_FAULT 0x00000003U 743 #define LGPT_DMA_REQ_ZERO 0x00000002U 744 #define LGPT_DMA_REQ_TGT 0x00000001U 745 #define LGPT_DMA_REQ_DIS 0x00000000U 746 747 //***************************************************************************** 748 // 749 // Register: LGPT_O_DMARW 750 // 751 //***************************************************************************** 752 // Field: [15:0] VAL 753 // 754 // DMA read write value. 755 // 756 // The value that is read/written from/to the registers. 757 #define LGPT_DMARW_VAL_W 16U 758 #define LGPT_DMARW_VAL_M 0x0000FFFFU 759 #define LGPT_DMARW_VAL_S 0U 760 761 //***************************************************************************** 762 // 763 // Register: LGPT_O_ADCTRG 764 // 765 //***************************************************************************** 766 // Field: [3:0] SRC 767 // 768 // ENUMs: 769 // C11CC Setting of RIS.C11CC generates an ADC trigger. 770 // C10CC Setting of RIS.C10CC generates an ADC trigger. 771 // C9CC Setting of RIS.C9CC generates an ADC trigger. 772 // C8CC Setting of RIS.C8CC generates an ADC trigger. 773 // C7CC Setting of RIS.C7CC generates an ADC trigger. 774 // C6CC Setting of RIS.C6CC generates an ADC trigger. 775 // C5CC Setting of RIS.C5CC generates an ADC trigger. 776 // C4CC Setting of RIS.C4CC generates an ADC trigger. 777 // C3CC Setting of RIS.C3CC generates an ADC trigger. 778 // C2CC Setting of RIS.C2CC generates an ADC trigger. 779 // C1CC Setting of RIS.C1CC generates an ADC trigger. 780 // C0CC Setting of RIS.C0CC generates an ADC trigger. 781 // FAULT Setting of RIS.FAULT generates an ADC trigger. 782 // ZERO Setting of RIS.ZERO generates an ADC trigger. 783 // TGT Setting of RIS.TGT generates an ADC trigger. 784 // DIS Disabled 785 #define LGPT_ADCTRG_SRC_W 4U 786 #define LGPT_ADCTRG_SRC_M 0x0000000FU 787 #define LGPT_ADCTRG_SRC_S 0U 788 #define LGPT_ADCTRG_SRC_C11CC 0x0000000FU 789 #define LGPT_ADCTRG_SRC_C10CC 0x0000000EU 790 #define LGPT_ADCTRG_SRC_C9CC 0x0000000DU 791 #define LGPT_ADCTRG_SRC_C8CC 0x0000000CU 792 #define LGPT_ADCTRG_SRC_C7CC 0x0000000BU 793 #define LGPT_ADCTRG_SRC_C6CC 0x0000000AU 794 #define LGPT_ADCTRG_SRC_C5CC 0x00000009U 795 #define LGPT_ADCTRG_SRC_C4CC 0x00000008U 796 #define LGPT_ADCTRG_SRC_C3CC 0x00000007U 797 #define LGPT_ADCTRG_SRC_C2CC 0x00000006U 798 #define LGPT_ADCTRG_SRC_C1CC 0x00000005U 799 #define LGPT_ADCTRG_SRC_C0CC 0x00000004U 800 #define LGPT_ADCTRG_SRC_FAULT 0x00000003U 801 #define LGPT_ADCTRG_SRC_ZERO 0x00000002U 802 #define LGPT_ADCTRG_SRC_TGT 0x00000001U 803 #define LGPT_ADCTRG_SRC_DIS 0x00000000U 804 805 //***************************************************************************** 806 // 807 // Register: LGPT_O_IOCTL 808 // 809 //***************************************************************************** 810 // Field: [11:10] COUT2 811 // 812 // IO complementary output 2 control 813 // 814 // This bit field controls IO complementary output 2. 815 // ENUMs: 816 // INV Inverted value. The IO complementary output is 817 // inverted. 818 // HIGH Driven high. The IO complementary output is driven 819 // high. 820 // LOW Driven low. The IO complementary output is driven 821 // low. 822 // NRM Normal output. The IO complementary output is not 823 // changed. 824 #define LGPT_IOCTL_COUT2_W 2U 825 #define LGPT_IOCTL_COUT2_M 0x00000C00U 826 #define LGPT_IOCTL_COUT2_S 10U 827 #define LGPT_IOCTL_COUT2_INV 0x00000C00U 828 #define LGPT_IOCTL_COUT2_HIGH 0x00000800U 829 #define LGPT_IOCTL_COUT2_LOW 0x00000400U 830 #define LGPT_IOCTL_COUT2_NRM 0x00000000U 831 832 // Field: [9:8] OUT2 833 // 834 // IO output 2 control 835 // 836 // This bit field controls IO output 2. 837 // ENUMs: 838 // INV Inverted value. The IO output is inverted. 839 // HIGH Driven high. The IO output is driven high. 840 // LOW Driven low. The IO output is driven low. 841 // NRM Normal output. The IO output is not changed. 842 #define LGPT_IOCTL_OUT2_W 2U 843 #define LGPT_IOCTL_OUT2_M 0x00000300U 844 #define LGPT_IOCTL_OUT2_S 8U 845 #define LGPT_IOCTL_OUT2_INV 0x00000300U 846 #define LGPT_IOCTL_OUT2_HIGH 0x00000200U 847 #define LGPT_IOCTL_OUT2_LOW 0x00000100U 848 #define LGPT_IOCTL_OUT2_NRM 0x00000000U 849 850 // Field: [7:6] COUT1 851 // 852 // IO complementary output 1 control 853 // 854 // This bit field controls IO complementary output 1. 855 // ENUMs: 856 // INV Inverted value. The IO complementary output is 857 // inverted. 858 // HIGH Driven high. The IO complementary output is driven 859 // high. 860 // LOW Driven low. The IO complementary output is driven 861 // low. 862 // NRM Normal output. The IO complementary output is not 863 // changed. 864 #define LGPT_IOCTL_COUT1_W 2U 865 #define LGPT_IOCTL_COUT1_M 0x000000C0U 866 #define LGPT_IOCTL_COUT1_S 6U 867 #define LGPT_IOCTL_COUT1_INV 0x000000C0U 868 #define LGPT_IOCTL_COUT1_HIGH 0x00000080U 869 #define LGPT_IOCTL_COUT1_LOW 0x00000040U 870 #define LGPT_IOCTL_COUT1_NRM 0x00000000U 871 872 // Field: [5:4] OUT1 873 // 874 // IO output 1 control 875 // 876 // This bit field controls IO output 1. 877 // ENUMs: 878 // INV Inverted value. The IO output is inverted. 879 // HIGH Driven high. The IO output is driven high. 880 // LOW Driven low. The IO output is driven low. 881 // NRM Normal output. The IO output is not changed. 882 #define LGPT_IOCTL_OUT1_W 2U 883 #define LGPT_IOCTL_OUT1_M 0x00000030U 884 #define LGPT_IOCTL_OUT1_S 4U 885 #define LGPT_IOCTL_OUT1_INV 0x00000030U 886 #define LGPT_IOCTL_OUT1_HIGH 0x00000020U 887 #define LGPT_IOCTL_OUT1_LOW 0x00000010U 888 #define LGPT_IOCTL_OUT1_NRM 0x00000000U 889 890 // Field: [3:2] COUT0 891 // 892 // IO complementary output 0 control 893 // 894 // This bit field controls IO complementary output 0. 895 // ENUMs: 896 // INV Inverted value. The IO complementary output is 897 // inverted. 898 // HIGH Driven high. The IO complementary output is driven 899 // high. 900 // LOW Driven low. The IO complementary output is driven 901 // low. 902 // NRM Normal output. The IO complementary output is not 903 // changed. 904 #define LGPT_IOCTL_COUT0_W 2U 905 #define LGPT_IOCTL_COUT0_M 0x0000000CU 906 #define LGPT_IOCTL_COUT0_S 2U 907 #define LGPT_IOCTL_COUT0_INV 0x0000000CU 908 #define LGPT_IOCTL_COUT0_HIGH 0x00000008U 909 #define LGPT_IOCTL_COUT0_LOW 0x00000004U 910 #define LGPT_IOCTL_COUT0_NRM 0x00000000U 911 912 // Field: [1:0] OUT0 913 // 914 // IO output 0 control 915 // 916 // This bit field controls IO output 0. 917 // ENUMs: 918 // INV Inverted value. The IO output is inverted. 919 // HIGH Driven high. The IO output is driven high. 920 // LOW Driven low. The IO output is driven low. 921 // NRM Normal output. The IO output is not changed. 922 #define LGPT_IOCTL_OUT0_W 2U 923 #define LGPT_IOCTL_OUT0_M 0x00000003U 924 #define LGPT_IOCTL_OUT0_S 0U 925 #define LGPT_IOCTL_OUT0_INV 0x00000003U 926 #define LGPT_IOCTL_OUT0_HIGH 0x00000002U 927 #define LGPT_IOCTL_OUT0_LOW 0x00000001U 928 #define LGPT_IOCTL_OUT0_NRM 0x00000000U 929 930 //***************************************************************************** 931 // 932 // Register: LGPT_O_IMASK 933 // 934 //***************************************************************************** 935 // Field: [10] C2CC 936 // 937 // Enable RIS.C2CC interrupt. 938 // ENUMs: 939 // EN Enable 940 // DIS Disable 941 #define LGPT_IMASK_C2CC 0x00000400U 942 #define LGPT_IMASK_C2CC_M 0x00000400U 943 #define LGPT_IMASK_C2CC_S 10U 944 #define LGPT_IMASK_C2CC_EN 0x00000400U 945 #define LGPT_IMASK_C2CC_DIS 0x00000000U 946 947 // Field: [9] C1CC 948 // 949 // Enable RIS.C1CC interrupt. 950 // ENUMs: 951 // EN Enable 952 // DIS Disable 953 #define LGPT_IMASK_C1CC 0x00000200U 954 #define LGPT_IMASK_C1CC_M 0x00000200U 955 #define LGPT_IMASK_C1CC_S 9U 956 #define LGPT_IMASK_C1CC_EN 0x00000200U 957 #define LGPT_IMASK_C1CC_DIS 0x00000000U 958 959 // Field: [8] C0CC 960 // 961 // Enable RIS.C0CC interrupt. 962 // ENUMs: 963 // EN Enable 964 // DIS Disable 965 #define LGPT_IMASK_C0CC 0x00000100U 966 #define LGPT_IMASK_C0CC_M 0x00000100U 967 #define LGPT_IMASK_C0CC_S 8U 968 #define LGPT_IMASK_C0CC_EN 0x00000100U 969 #define LGPT_IMASK_C0CC_DIS 0x00000000U 970 971 // Field: [6] FAULT 972 // 973 // Enable RIS.FAULT interrupt. 974 // ENUMs: 975 // EN Enable 976 // DIS Disable 977 #define LGPT_IMASK_FAULT 0x00000040U 978 #define LGPT_IMASK_FAULT_M 0x00000040U 979 #define LGPT_IMASK_FAULT_S 6U 980 #define LGPT_IMASK_FAULT_EN 0x00000040U 981 #define LGPT_IMASK_FAULT_DIS 0x00000000U 982 983 // Field: [5] IDX 984 // 985 // Enable RIS.IDX interrupt. 986 // ENUMs: 987 // EN Enable 988 // DIS Disable 989 #define LGPT_IMASK_IDX 0x00000020U 990 #define LGPT_IMASK_IDX_M 0x00000020U 991 #define LGPT_IMASK_IDX_S 5U 992 #define LGPT_IMASK_IDX_EN 0x00000020U 993 #define LGPT_IMASK_IDX_DIS 0x00000000U 994 995 // Field: [4] DIRCHNG 996 // 997 // Enable RIS.DIRCHNG interrupt. 998 // ENUMs: 999 // EN Enable 1000 // DIS Disable 1001 #define LGPT_IMASK_DIRCHNG 0x00000010U 1002 #define LGPT_IMASK_DIRCHNG_M 0x00000010U 1003 #define LGPT_IMASK_DIRCHNG_S 4U 1004 #define LGPT_IMASK_DIRCHNG_EN 0x00000010U 1005 #define LGPT_IMASK_DIRCHNG_DIS 0x00000000U 1006 1007 // Field: [3] CNTRCHNG 1008 // 1009 // Enable RIS.CNTRCHNG interrupt. 1010 // ENUMs: 1011 // EN Enable 1012 // DIS Disable 1013 #define LGPT_IMASK_CNTRCHNG 0x00000008U 1014 #define LGPT_IMASK_CNTRCHNG_M 0x00000008U 1015 #define LGPT_IMASK_CNTRCHNG_S 3U 1016 #define LGPT_IMASK_CNTRCHNG_EN 0x00000008U 1017 #define LGPT_IMASK_CNTRCHNG_DIS 0x00000000U 1018 1019 // Field: [2] DBLTRANS 1020 // 1021 // Enable RIS.DBLTRANS interrupt. 1022 // ENUMs: 1023 // EN Enable 1024 // DIS Disable 1025 #define LGPT_IMASK_DBLTRANS 0x00000004U 1026 #define LGPT_IMASK_DBLTRANS_M 0x00000004U 1027 #define LGPT_IMASK_DBLTRANS_S 2U 1028 #define LGPT_IMASK_DBLTRANS_EN 0x00000004U 1029 #define LGPT_IMASK_DBLTRANS_DIS 0x00000000U 1030 1031 // Field: [1] ZERO 1032 // 1033 // Enable RIS.ZERO interrupt. 1034 // ENUMs: 1035 // EN Enable 1036 // DIS Disable 1037 #define LGPT_IMASK_ZERO 0x00000002U 1038 #define LGPT_IMASK_ZERO_M 0x00000002U 1039 #define LGPT_IMASK_ZERO_S 1U 1040 #define LGPT_IMASK_ZERO_EN 0x00000002U 1041 #define LGPT_IMASK_ZERO_DIS 0x00000000U 1042 1043 // Field: [0] TGT 1044 // 1045 // Enable RIS.TGT interrupt. 1046 // ENUMs: 1047 // EN Enable 1048 // DIS Disable 1049 #define LGPT_IMASK_TGT 0x00000001U 1050 #define LGPT_IMASK_TGT_M 0x00000001U 1051 #define LGPT_IMASK_TGT_S 0U 1052 #define LGPT_IMASK_TGT_EN 0x00000001U 1053 #define LGPT_IMASK_TGT_DIS 0x00000000U 1054 1055 //***************************************************************************** 1056 // 1057 // Register: LGPT_O_RIS 1058 // 1059 //***************************************************************************** 1060 // Field: [10] C2CC 1061 // 1062 // Status of the C2CC interrupt. The interrupt is set when C2CC has capture or 1063 // compare event. 1064 // ENUMs: 1065 // SET 1066 // CLR Cleared 1067 #define LGPT_RIS_C2CC 0x00000400U 1068 #define LGPT_RIS_C2CC_M 0x00000400U 1069 #define LGPT_RIS_C2CC_S 10U 1070 #define LGPT_RIS_C2CC_SET 0x00000400U 1071 #define LGPT_RIS_C2CC_CLR 0x00000000U 1072 1073 // Field: [9] C1CC 1074 // 1075 // Status of the C1CC interrupt. The interrupt is set when C1CC has capture or 1076 // compare event. 1077 // ENUMs: 1078 // SET 1079 // CLR Cleared 1080 #define LGPT_RIS_C1CC 0x00000200U 1081 #define LGPT_RIS_C1CC_M 0x00000200U 1082 #define LGPT_RIS_C1CC_S 9U 1083 #define LGPT_RIS_C1CC_SET 0x00000200U 1084 #define LGPT_RIS_C1CC_CLR 0x00000000U 1085 1086 // Field: [8] C0CC 1087 // 1088 // Status of the C0CC interrupt. The interrupt is set when C0CC has capture or 1089 // compare event. 1090 // ENUMs: 1091 // SET 1092 // CLR Cleared 1093 #define LGPT_RIS_C0CC 0x00000100U 1094 #define LGPT_RIS_C0CC_M 0x00000100U 1095 #define LGPT_RIS_C0CC_S 8U 1096 #define LGPT_RIS_C0CC_SET 0x00000100U 1097 #define LGPT_RIS_C0CC_CLR 0x00000000U 1098 1099 // Field: [6] FAULT 1100 // 1101 // Status of the FAULT interrupt. The interrupt is set immediately on active 1102 // fault input. 1103 // ENUMs: 1104 // SET 1105 // CLR Cleared 1106 #define LGPT_RIS_FAULT 0x00000040U 1107 #define LGPT_RIS_FAULT_M 0x00000040U 1108 #define LGPT_RIS_FAULT_S 6U 1109 #define LGPT_RIS_FAULT_SET 0x00000040U 1110 #define LGPT_RIS_FAULT_CLR 0x00000000U 1111 1112 // Field: [5] IDX 1113 // 1114 // Status of the IDX interrupt. The interrupt is set when IDX is active. 1115 // ENUMs: 1116 // SET 1117 // CLR Cleared 1118 #define LGPT_RIS_IDX 0x00000020U 1119 #define LGPT_RIS_IDX_M 0x00000020U 1120 #define LGPT_RIS_IDX_S 5U 1121 #define LGPT_RIS_IDX_SET 0x00000020U 1122 #define LGPT_RIS_IDX_CLR 0x00000000U 1123 1124 // Field: [4] DIRCHNG 1125 // 1126 // Status of the DIRCHNG interrupt. The interrupt is set when the direction of 1127 // the counter changes. 1128 // ENUMs: 1129 // SET 1130 // CLR Cleared 1131 #define LGPT_RIS_DIRCHNG 0x00000010U 1132 #define LGPT_RIS_DIRCHNG_M 0x00000010U 1133 #define LGPT_RIS_DIRCHNG_S 4U 1134 #define LGPT_RIS_DIRCHNG_SET 0x00000010U 1135 #define LGPT_RIS_DIRCHNG_CLR 0x00000000U 1136 1137 // Field: [3] CNTRCHNG 1138 // 1139 // Status of the CNTRCHNG interrupt. The interrupt is set when the counter 1140 // increments or decrements. 1141 // ENUMs: 1142 // SET 1143 // CLR Cleared 1144 #define LGPT_RIS_CNTRCHNG 0x00000008U 1145 #define LGPT_RIS_CNTRCHNG_M 0x00000008U 1146 #define LGPT_RIS_CNTRCHNG_S 3U 1147 #define LGPT_RIS_CNTRCHNG_SET 0x00000008U 1148 #define LGPT_RIS_CNTRCHNG_CLR 0x00000000U 1149 1150 // Field: [2] DBLTRANS 1151 // 1152 // Status of the DBLTRANS interrupt. The interrupt is set when a double 1153 // transition has happened during QDEC mode. 1154 // ENUMs: 1155 // SET 1156 // CLR Cleared 1157 #define LGPT_RIS_DBLTRANS 0x00000004U 1158 #define LGPT_RIS_DBLTRANS_M 0x00000004U 1159 #define LGPT_RIS_DBLTRANS_S 2U 1160 #define LGPT_RIS_DBLTRANS_SET 0x00000004U 1161 #define LGPT_RIS_DBLTRANS_CLR 0x00000000U 1162 1163 // Field: [1] ZERO 1164 // 1165 // Status of the ZERO interrupt. The interrupt is set when CNTR = 0. 1166 // ENUMs: 1167 // SET 1168 // CLR Cleared 1169 #define LGPT_RIS_ZERO 0x00000002U 1170 #define LGPT_RIS_ZERO_M 0x00000002U 1171 #define LGPT_RIS_ZERO_S 1U 1172 #define LGPT_RIS_ZERO_SET 0x00000002U 1173 #define LGPT_RIS_ZERO_CLR 0x00000000U 1174 1175 // Field: [0] TGT 1176 // 1177 // Status of the TGT interrupt. The interrupt is set when CNTR = TGT. 1178 // ENUMs: 1179 // SET 1180 // CLR Cleared 1181 #define LGPT_RIS_TGT 0x00000001U 1182 #define LGPT_RIS_TGT_M 0x00000001U 1183 #define LGPT_RIS_TGT_S 0U 1184 #define LGPT_RIS_TGT_SET 0x00000001U 1185 #define LGPT_RIS_TGT_CLR 0x00000000U 1186 1187 //***************************************************************************** 1188 // 1189 // Register: LGPT_O_MIS 1190 // 1191 //***************************************************************************** 1192 // Field: [10] C2CC 1193 // 1194 // Masked status of the RIS.C2CC interrupt. 1195 // ENUMs: 1196 // SET 1197 // CLR Cleared 1198 #define LGPT_MIS_C2CC 0x00000400U 1199 #define LGPT_MIS_C2CC_M 0x00000400U 1200 #define LGPT_MIS_C2CC_S 10U 1201 #define LGPT_MIS_C2CC_SET 0x00000400U 1202 #define LGPT_MIS_C2CC_CLR 0x00000000U 1203 1204 // Field: [9] C1CC 1205 // 1206 // Masked status of the RIS.C1CC interrupt. 1207 // ENUMs: 1208 // SET 1209 // CLR Cleared 1210 #define LGPT_MIS_C1CC 0x00000200U 1211 #define LGPT_MIS_C1CC_M 0x00000200U 1212 #define LGPT_MIS_C1CC_S 9U 1213 #define LGPT_MIS_C1CC_SET 0x00000200U 1214 #define LGPT_MIS_C1CC_CLR 0x00000000U 1215 1216 // Field: [8] C0CC 1217 // 1218 // Masked status of the RIS.C0CC interrupt. 1219 // ENUMs: 1220 // SET 1221 // CLR Cleared 1222 #define LGPT_MIS_C0CC 0x00000100U 1223 #define LGPT_MIS_C0CC_M 0x00000100U 1224 #define LGPT_MIS_C0CC_S 8U 1225 #define LGPT_MIS_C0CC_SET 0x00000100U 1226 #define LGPT_MIS_C0CC_CLR 0x00000000U 1227 1228 // Field: [6] FAULT 1229 // 1230 // Masked status of the RIS.FAULT interrupt. 1231 // ENUMs: 1232 // SET 1233 // CLR Cleared 1234 #define LGPT_MIS_FAULT 0x00000040U 1235 #define LGPT_MIS_FAULT_M 0x00000040U 1236 #define LGPT_MIS_FAULT_S 6U 1237 #define LGPT_MIS_FAULT_SET 0x00000040U 1238 #define LGPT_MIS_FAULT_CLR 0x00000000U 1239 1240 // Field: [5] IDX 1241 // 1242 // Masked status of the RIS.IDX interrupt. 1243 // ENUMs: 1244 // SET 1245 // CLR Cleared 1246 #define LGPT_MIS_IDX 0x00000020U 1247 #define LGPT_MIS_IDX_M 0x00000020U 1248 #define LGPT_MIS_IDX_S 5U 1249 #define LGPT_MIS_IDX_SET 0x00000020U 1250 #define LGPT_MIS_IDX_CLR 0x00000000U 1251 1252 // Field: [4] DIRCHNG 1253 // 1254 // Masked status of the RIS.DIRCHNG interrupt. 1255 // ENUMs: 1256 // SET 1257 // CLR Cleared 1258 #define LGPT_MIS_DIRCHNG 0x00000010U 1259 #define LGPT_MIS_DIRCHNG_M 0x00000010U 1260 #define LGPT_MIS_DIRCHNG_S 4U 1261 #define LGPT_MIS_DIRCHNG_SET 0x00000010U 1262 #define LGPT_MIS_DIRCHNG_CLR 0x00000000U 1263 1264 // Field: [3] CNTRCHNG 1265 // 1266 // Masked status of the RIS.CNTRCHNG interrupt. 1267 // ENUMs: 1268 // SET 1269 // CLR Cleared 1270 #define LGPT_MIS_CNTRCHNG 0x00000008U 1271 #define LGPT_MIS_CNTRCHNG_M 0x00000008U 1272 #define LGPT_MIS_CNTRCHNG_S 3U 1273 #define LGPT_MIS_CNTRCHNG_SET 0x00000008U 1274 #define LGPT_MIS_CNTRCHNG_CLR 0x00000000U 1275 1276 // Field: [2] DBLTRANS 1277 // 1278 // Masked status of the RIS.DBLTRANS interrupt. 1279 // ENUMs: 1280 // SET 1281 // CLR Cleared 1282 #define LGPT_MIS_DBLTRANS 0x00000004U 1283 #define LGPT_MIS_DBLTRANS_M 0x00000004U 1284 #define LGPT_MIS_DBLTRANS_S 2U 1285 #define LGPT_MIS_DBLTRANS_SET 0x00000004U 1286 #define LGPT_MIS_DBLTRANS_CLR 0x00000000U 1287 1288 // Field: [1] ZERO 1289 // 1290 // Masked status of the RIS.ZERO interrupt. 1291 // ENUMs: 1292 // SET 1293 // CLR Cleared 1294 #define LGPT_MIS_ZERO 0x00000002U 1295 #define LGPT_MIS_ZERO_M 0x00000002U 1296 #define LGPT_MIS_ZERO_S 1U 1297 #define LGPT_MIS_ZERO_SET 0x00000002U 1298 #define LGPT_MIS_ZERO_CLR 0x00000000U 1299 1300 // Field: [0] TGT 1301 // 1302 // Masked status of the RIS.TGT interrupt. 1303 // ENUMs: 1304 // SET 1305 // CLR Cleared 1306 #define LGPT_MIS_TGT 0x00000001U 1307 #define LGPT_MIS_TGT_M 0x00000001U 1308 #define LGPT_MIS_TGT_S 0U 1309 #define LGPT_MIS_TGT_SET 0x00000001U 1310 #define LGPT_MIS_TGT_CLR 0x00000000U 1311 1312 //***************************************************************************** 1313 // 1314 // Register: LGPT_O_ISET 1315 // 1316 //***************************************************************************** 1317 // Field: [10] C2CC 1318 // 1319 // Set the RIS.C2CC interrupt. 1320 // ENUMs: 1321 // SET 1322 // NO_EFFECT No effect 1323 #define LGPT_ISET_C2CC 0x00000400U 1324 #define LGPT_ISET_C2CC_M 0x00000400U 1325 #define LGPT_ISET_C2CC_S 10U 1326 #define LGPT_ISET_C2CC_SET 0x00000400U 1327 #define LGPT_ISET_C2CC_NO_EFFECT 0x00000000U 1328 1329 // Field: [9] C1CC 1330 // 1331 // Set the RIS.C1CC interrupt. 1332 // ENUMs: 1333 // SET 1334 // NO_EFFECT No effect 1335 #define LGPT_ISET_C1CC 0x00000200U 1336 #define LGPT_ISET_C1CC_M 0x00000200U 1337 #define LGPT_ISET_C1CC_S 9U 1338 #define LGPT_ISET_C1CC_SET 0x00000200U 1339 #define LGPT_ISET_C1CC_NO_EFFECT 0x00000000U 1340 1341 // Field: [8] C0CC 1342 // 1343 // Set the RIS.C0CC interrupt. 1344 // ENUMs: 1345 // SET 1346 // NO_EFFECT No effect 1347 #define LGPT_ISET_C0CC 0x00000100U 1348 #define LGPT_ISET_C0CC_M 0x00000100U 1349 #define LGPT_ISET_C0CC_S 8U 1350 #define LGPT_ISET_C0CC_SET 0x00000100U 1351 #define LGPT_ISET_C0CC_NO_EFFECT 0x00000000U 1352 1353 // Field: [6] FAULT 1354 // 1355 // Set the RIS.FAULT interrupt. 1356 // ENUMs: 1357 // SET 1358 // NO_EFFECT No effect 1359 #define LGPT_ISET_FAULT 0x00000040U 1360 #define LGPT_ISET_FAULT_M 0x00000040U 1361 #define LGPT_ISET_FAULT_S 6U 1362 #define LGPT_ISET_FAULT_SET 0x00000040U 1363 #define LGPT_ISET_FAULT_NO_EFFECT 0x00000000U 1364 1365 // Field: [5] IDX 1366 // 1367 // Set the RIS.IDX interrupt. 1368 // ENUMs: 1369 // SET 1370 // NO_EFFECT No effect 1371 #define LGPT_ISET_IDX 0x00000020U 1372 #define LGPT_ISET_IDX_M 0x00000020U 1373 #define LGPT_ISET_IDX_S 5U 1374 #define LGPT_ISET_IDX_SET 0x00000020U 1375 #define LGPT_ISET_IDX_NO_EFFECT 0x00000000U 1376 1377 // Field: [4] DIRCHNG 1378 // 1379 // Set the RIS.DIRCHNG interrupt. 1380 // ENUMs: 1381 // SET 1382 // NO_EFFECT No effect 1383 #define LGPT_ISET_DIRCHNG 0x00000010U 1384 #define LGPT_ISET_DIRCHNG_M 0x00000010U 1385 #define LGPT_ISET_DIRCHNG_S 4U 1386 #define LGPT_ISET_DIRCHNG_SET 0x00000010U 1387 #define LGPT_ISET_DIRCHNG_NO_EFFECT 0x00000000U 1388 1389 // Field: [3] CNTRCHNG 1390 // 1391 // Set the RIS.CNTRCHNG interrupt. 1392 // ENUMs: 1393 // SET 1394 // NO_EFFECT No effect 1395 #define LGPT_ISET_CNTRCHNG 0x00000008U 1396 #define LGPT_ISET_CNTRCHNG_M 0x00000008U 1397 #define LGPT_ISET_CNTRCHNG_S 3U 1398 #define LGPT_ISET_CNTRCHNG_SET 0x00000008U 1399 #define LGPT_ISET_CNTRCHNG_NO_EFFECT 0x00000000U 1400 1401 // Field: [2] DBLTRANS 1402 // 1403 // Set the RIS.DBLTRANS interrupt. 1404 // ENUMs: 1405 // SET 1406 // NO_EFFECT No effect 1407 #define LGPT_ISET_DBLTRANS 0x00000004U 1408 #define LGPT_ISET_DBLTRANS_M 0x00000004U 1409 #define LGPT_ISET_DBLTRANS_S 2U 1410 #define LGPT_ISET_DBLTRANS_SET 0x00000004U 1411 #define LGPT_ISET_DBLTRANS_NO_EFFECT 0x00000000U 1412 1413 // Field: [1] ZERO 1414 // 1415 // Set the RIS.ZERO interrupt. 1416 // ENUMs: 1417 // SET 1418 // NO_EFFECT No effect 1419 #define LGPT_ISET_ZERO 0x00000002U 1420 #define LGPT_ISET_ZERO_M 0x00000002U 1421 #define LGPT_ISET_ZERO_S 1U 1422 #define LGPT_ISET_ZERO_SET 0x00000002U 1423 #define LGPT_ISET_ZERO_NO_EFFECT 0x00000000U 1424 1425 // Field: [0] TGT 1426 // 1427 // Set the RIS.TGT interrupt. 1428 // ENUMs: 1429 // SET 1430 // NO_EFFECT No effect 1431 #define LGPT_ISET_TGT 0x00000001U 1432 #define LGPT_ISET_TGT_M 0x00000001U 1433 #define LGPT_ISET_TGT_S 0U 1434 #define LGPT_ISET_TGT_SET 0x00000001U 1435 #define LGPT_ISET_TGT_NO_EFFECT 0x00000000U 1436 1437 //***************************************************************************** 1438 // 1439 // Register: LGPT_O_ICLR 1440 // 1441 //***************************************************************************** 1442 // Field: [10] C2CC 1443 // 1444 // Clear the RIS.C2CC interrupt. 1445 // ENUMs: 1446 // CLR Clear 1447 // NO_EFFECT No effect 1448 #define LGPT_ICLR_C2CC 0x00000400U 1449 #define LGPT_ICLR_C2CC_M 0x00000400U 1450 #define LGPT_ICLR_C2CC_S 10U 1451 #define LGPT_ICLR_C2CC_CLR 0x00000400U 1452 #define LGPT_ICLR_C2CC_NO_EFFECT 0x00000000U 1453 1454 // Field: [9] C1CC 1455 // 1456 // Clear the RIS.C1CC interrupt. 1457 // ENUMs: 1458 // CLR Clear 1459 // NO_EFFECT No effect 1460 #define LGPT_ICLR_C1CC 0x00000200U 1461 #define LGPT_ICLR_C1CC_M 0x00000200U 1462 #define LGPT_ICLR_C1CC_S 9U 1463 #define LGPT_ICLR_C1CC_CLR 0x00000200U 1464 #define LGPT_ICLR_C1CC_NO_EFFECT 0x00000000U 1465 1466 // Field: [8] C0CC 1467 // 1468 // Clear the RIS.C0CC interrupt. 1469 // ENUMs: 1470 // CLR Clear 1471 // NO_EFFECT No effect 1472 #define LGPT_ICLR_C0CC 0x00000100U 1473 #define LGPT_ICLR_C0CC_M 0x00000100U 1474 #define LGPT_ICLR_C0CC_S 8U 1475 #define LGPT_ICLR_C0CC_CLR 0x00000100U 1476 #define LGPT_ICLR_C0CC_NO_EFFECT 0x00000000U 1477 1478 // Field: [6] FAULT 1479 // 1480 // Clear the RIS.FAULT interrupt. 1481 // ENUMs: 1482 // CLR Clear 1483 // NO_EFFECT No effect 1484 #define LGPT_ICLR_FAULT 0x00000040U 1485 #define LGPT_ICLR_FAULT_M 0x00000040U 1486 #define LGPT_ICLR_FAULT_S 6U 1487 #define LGPT_ICLR_FAULT_CLR 0x00000040U 1488 #define LGPT_ICLR_FAULT_NO_EFFECT 0x00000000U 1489 1490 // Field: [5] IDX 1491 // 1492 // Clear the RIS.IDX interrupt. 1493 // ENUMs: 1494 // CLR Clear 1495 // NO_EFFECT No effect 1496 #define LGPT_ICLR_IDX 0x00000020U 1497 #define LGPT_ICLR_IDX_M 0x00000020U 1498 #define LGPT_ICLR_IDX_S 5U 1499 #define LGPT_ICLR_IDX_CLR 0x00000020U 1500 #define LGPT_ICLR_IDX_NO_EFFECT 0x00000000U 1501 1502 // Field: [4] DIRCHNG 1503 // 1504 // Clear the RIS.DIRCHNG interrupt. 1505 // ENUMs: 1506 // CLR Clear 1507 // NO_EFFECT No effect 1508 #define LGPT_ICLR_DIRCHNG 0x00000010U 1509 #define LGPT_ICLR_DIRCHNG_M 0x00000010U 1510 #define LGPT_ICLR_DIRCHNG_S 4U 1511 #define LGPT_ICLR_DIRCHNG_CLR 0x00000010U 1512 #define LGPT_ICLR_DIRCHNG_NO_EFFECT 0x00000000U 1513 1514 // Field: [3] CNTRCHNG 1515 // 1516 // Clear the RIS.CNTRCHNG interrupt. 1517 // ENUMs: 1518 // CLR Clear 1519 // NO_EFFECT No effect 1520 #define LGPT_ICLR_CNTRCHNG 0x00000008U 1521 #define LGPT_ICLR_CNTRCHNG_M 0x00000008U 1522 #define LGPT_ICLR_CNTRCHNG_S 3U 1523 #define LGPT_ICLR_CNTRCHNG_CLR 0x00000008U 1524 #define LGPT_ICLR_CNTRCHNG_NO_EFFECT 0x00000000U 1525 1526 // Field: [2] DBLTRANS 1527 // 1528 // Clear the RIS.DBLTRANS interrupt. 1529 // ENUMs: 1530 // CLR Clear 1531 // NO_EFFECT No effect 1532 #define LGPT_ICLR_DBLTRANS 0x00000004U 1533 #define LGPT_ICLR_DBLTRANS_M 0x00000004U 1534 #define LGPT_ICLR_DBLTRANS_S 2U 1535 #define LGPT_ICLR_DBLTRANS_CLR 0x00000004U 1536 #define LGPT_ICLR_DBLTRANS_NO_EFFECT 0x00000000U 1537 1538 // Field: [1] ZERO 1539 // 1540 // Clear the RIS.ZERO interrupt. 1541 // ENUMs: 1542 // CLR Clear 1543 // NO_EFFECT No effect 1544 #define LGPT_ICLR_ZERO 0x00000002U 1545 #define LGPT_ICLR_ZERO_M 0x00000002U 1546 #define LGPT_ICLR_ZERO_S 1U 1547 #define LGPT_ICLR_ZERO_CLR 0x00000002U 1548 #define LGPT_ICLR_ZERO_NO_EFFECT 0x00000000U 1549 1550 // Field: [0] TGT 1551 // 1552 // Clear the RIS.TGT interrupt. 1553 // ENUMs: 1554 // CLR Clear 1555 // NO_EFFECT No effect 1556 #define LGPT_ICLR_TGT 0x00000001U 1557 #define LGPT_ICLR_TGT_M 0x00000001U 1558 #define LGPT_ICLR_TGT_S 0U 1559 #define LGPT_ICLR_TGT_CLR 0x00000001U 1560 #define LGPT_ICLR_TGT_NO_EFFECT 0x00000000U 1561 1562 //***************************************************************************** 1563 // 1564 // Register: LGPT_O_IMSET 1565 // 1566 //***************************************************************************** 1567 // Field: [10] C2CC 1568 // 1569 // Set the MIS.C2CC mask. 1570 // ENUMs: 1571 // SET 1572 // NO_EFFECT No effect 1573 #define LGPT_IMSET_C2CC 0x00000400U 1574 #define LGPT_IMSET_C2CC_M 0x00000400U 1575 #define LGPT_IMSET_C2CC_S 10U 1576 #define LGPT_IMSET_C2CC_SET 0x00000400U 1577 #define LGPT_IMSET_C2CC_NO_EFFECT 0x00000000U 1578 1579 // Field: [9] C1CC 1580 // 1581 // Set the MIS.C1CC mask. 1582 // ENUMs: 1583 // SET 1584 // NO_EFFECT No effect 1585 #define LGPT_IMSET_C1CC 0x00000200U 1586 #define LGPT_IMSET_C1CC_M 0x00000200U 1587 #define LGPT_IMSET_C1CC_S 9U 1588 #define LGPT_IMSET_C1CC_SET 0x00000200U 1589 #define LGPT_IMSET_C1CC_NO_EFFECT 0x00000000U 1590 1591 // Field: [8] C0CC 1592 // 1593 // Set the MIS.C0CC mask. 1594 // ENUMs: 1595 // SET 1596 // NO_EFFECT No effect 1597 #define LGPT_IMSET_C0CC 0x00000100U 1598 #define LGPT_IMSET_C0CC_M 0x00000100U 1599 #define LGPT_IMSET_C0CC_S 8U 1600 #define LGPT_IMSET_C0CC_SET 0x00000100U 1601 #define LGPT_IMSET_C0CC_NO_EFFECT 0x00000000U 1602 1603 // Field: [6] FAULT 1604 // 1605 // Set the MIS.FAULT mask. 1606 // ENUMs: 1607 // SET 1608 // NO_EFFECT No effect 1609 #define LGPT_IMSET_FAULT 0x00000040U 1610 #define LGPT_IMSET_FAULT_M 0x00000040U 1611 #define LGPT_IMSET_FAULT_S 6U 1612 #define LGPT_IMSET_FAULT_SET 0x00000040U 1613 #define LGPT_IMSET_FAULT_NO_EFFECT 0x00000000U 1614 1615 // Field: [5] IDX 1616 // 1617 // Set the MIS.IDX mask. 1618 // ENUMs: 1619 // SET 1620 // NO_EFFECT No effect 1621 #define LGPT_IMSET_IDX 0x00000020U 1622 #define LGPT_IMSET_IDX_M 0x00000020U 1623 #define LGPT_IMSET_IDX_S 5U 1624 #define LGPT_IMSET_IDX_SET 0x00000020U 1625 #define LGPT_IMSET_IDX_NO_EFFECT 0x00000000U 1626 1627 // Field: [4] DIRCHNG 1628 // 1629 // Set the MIS.DIRCHNG mask. 1630 // ENUMs: 1631 // SET 1632 // NO_EFFECT No effect 1633 #define LGPT_IMSET_DIRCHNG 0x00000010U 1634 #define LGPT_IMSET_DIRCHNG_M 0x00000010U 1635 #define LGPT_IMSET_DIRCHNG_S 4U 1636 #define LGPT_IMSET_DIRCHNG_SET 0x00000010U 1637 #define LGPT_IMSET_DIRCHNG_NO_EFFECT 0x00000000U 1638 1639 // Field: [3] CNTRCHNG 1640 // 1641 // Set the MIS.CNTRCHNG mask. 1642 // ENUMs: 1643 // SET 1644 // NO_EFFECT No effect 1645 #define LGPT_IMSET_CNTRCHNG 0x00000008U 1646 #define LGPT_IMSET_CNTRCHNG_M 0x00000008U 1647 #define LGPT_IMSET_CNTRCHNG_S 3U 1648 #define LGPT_IMSET_CNTRCHNG_SET 0x00000008U 1649 #define LGPT_IMSET_CNTRCHNG_NO_EFFECT 0x00000000U 1650 1651 // Field: [2] DBLTRANS 1652 // 1653 // Set the MIS.DBLTRANS mask. 1654 // ENUMs: 1655 // SET 1656 // NO_EFFECT No effect 1657 #define LGPT_IMSET_DBLTRANS 0x00000004U 1658 #define LGPT_IMSET_DBLTRANS_M 0x00000004U 1659 #define LGPT_IMSET_DBLTRANS_S 2U 1660 #define LGPT_IMSET_DBLTRANS_SET 0x00000004U 1661 #define LGPT_IMSET_DBLTRANS_NO_EFFECT 0x00000000U 1662 1663 // Field: [1] ZERO 1664 // 1665 // Set the MIS.ZERO mask. 1666 // ENUMs: 1667 // SET 1668 // NO_EFFECT No effect 1669 #define LGPT_IMSET_ZERO 0x00000002U 1670 #define LGPT_IMSET_ZERO_M 0x00000002U 1671 #define LGPT_IMSET_ZERO_S 1U 1672 #define LGPT_IMSET_ZERO_SET 0x00000002U 1673 #define LGPT_IMSET_ZERO_NO_EFFECT 0x00000000U 1674 1675 // Field: [0] TGT 1676 // 1677 // Set the MIS.TGT mask. 1678 // ENUMs: 1679 // SET 1680 // NO_EFFECT No effect 1681 #define LGPT_IMSET_TGT 0x00000001U 1682 #define LGPT_IMSET_TGT_M 0x00000001U 1683 #define LGPT_IMSET_TGT_S 0U 1684 #define LGPT_IMSET_TGT_SET 0x00000001U 1685 #define LGPT_IMSET_TGT_NO_EFFECT 0x00000000U 1686 1687 //***************************************************************************** 1688 // 1689 // Register: LGPT_O_IMCLR 1690 // 1691 //***************************************************************************** 1692 // Field: [10] C2CC 1693 // 1694 // Clear the MIS.C2CC mask. 1695 // ENUMs: 1696 // CLR Clear 1697 // NO_EFFECT No effect 1698 #define LGPT_IMCLR_C2CC 0x00000400U 1699 #define LGPT_IMCLR_C2CC_M 0x00000400U 1700 #define LGPT_IMCLR_C2CC_S 10U 1701 #define LGPT_IMCLR_C2CC_CLR 0x00000400U 1702 #define LGPT_IMCLR_C2CC_NO_EFFECT 0x00000000U 1703 1704 // Field: [9] C1CC 1705 // 1706 // Clear the MIS.C1CC mask. 1707 // ENUMs: 1708 // CLR Clear 1709 // NO_EFFECT No effect 1710 #define LGPT_IMCLR_C1CC 0x00000200U 1711 #define LGPT_IMCLR_C1CC_M 0x00000200U 1712 #define LGPT_IMCLR_C1CC_S 9U 1713 #define LGPT_IMCLR_C1CC_CLR 0x00000200U 1714 #define LGPT_IMCLR_C1CC_NO_EFFECT 0x00000000U 1715 1716 // Field: [8] C0CC 1717 // 1718 // Clear the MIS.C0CC mask. 1719 // ENUMs: 1720 // CLR Clear 1721 // NO_EFFECT No effect 1722 #define LGPT_IMCLR_C0CC 0x00000100U 1723 #define LGPT_IMCLR_C0CC_M 0x00000100U 1724 #define LGPT_IMCLR_C0CC_S 8U 1725 #define LGPT_IMCLR_C0CC_CLR 0x00000100U 1726 #define LGPT_IMCLR_C0CC_NO_EFFECT 0x00000000U 1727 1728 // Field: [6] FAULT 1729 // 1730 // Clear the MIS.FAULT mask. 1731 // ENUMs: 1732 // CLR Clear 1733 // NO_EFFECT No effect 1734 #define LGPT_IMCLR_FAULT 0x00000040U 1735 #define LGPT_IMCLR_FAULT_M 0x00000040U 1736 #define LGPT_IMCLR_FAULT_S 6U 1737 #define LGPT_IMCLR_FAULT_CLR 0x00000040U 1738 #define LGPT_IMCLR_FAULT_NO_EFFECT 0x00000000U 1739 1740 // Field: [5] IDX 1741 // 1742 // Clear the MIS.IDX mask. 1743 // ENUMs: 1744 // CLR Clear 1745 // NO_EFFECT No effect 1746 #define LGPT_IMCLR_IDX 0x00000020U 1747 #define LGPT_IMCLR_IDX_M 0x00000020U 1748 #define LGPT_IMCLR_IDX_S 5U 1749 #define LGPT_IMCLR_IDX_CLR 0x00000020U 1750 #define LGPT_IMCLR_IDX_NO_EFFECT 0x00000000U 1751 1752 // Field: [4] DIRCHNG 1753 // 1754 // Clear the MIS.DIRCHNG mask. 1755 // ENUMs: 1756 // CLR Clear 1757 // NO_EFFECT No effect 1758 #define LGPT_IMCLR_DIRCHNG 0x00000010U 1759 #define LGPT_IMCLR_DIRCHNG_M 0x00000010U 1760 #define LGPT_IMCLR_DIRCHNG_S 4U 1761 #define LGPT_IMCLR_DIRCHNG_CLR 0x00000010U 1762 #define LGPT_IMCLR_DIRCHNG_NO_EFFECT 0x00000000U 1763 1764 // Field: [3] CNTRCHNG 1765 // 1766 // Clear the MIS.CNTRCHNG mask. 1767 // ENUMs: 1768 // CLR Clear 1769 // NO_EFFECT No effect 1770 #define LGPT_IMCLR_CNTRCHNG 0x00000008U 1771 #define LGPT_IMCLR_CNTRCHNG_M 0x00000008U 1772 #define LGPT_IMCLR_CNTRCHNG_S 3U 1773 #define LGPT_IMCLR_CNTRCHNG_CLR 0x00000008U 1774 #define LGPT_IMCLR_CNTRCHNG_NO_EFFECT 0x00000000U 1775 1776 // Field: [2] DBLTRANS 1777 // 1778 // Clear the MIS.DBLTRANS mask. 1779 // ENUMs: 1780 // CLR Clear 1781 // NO_EFFECT No effect 1782 #define LGPT_IMCLR_DBLTRANS 0x00000004U 1783 #define LGPT_IMCLR_DBLTRANS_M 0x00000004U 1784 #define LGPT_IMCLR_DBLTRANS_S 2U 1785 #define LGPT_IMCLR_DBLTRANS_CLR 0x00000004U 1786 #define LGPT_IMCLR_DBLTRANS_NO_EFFECT 0x00000000U 1787 1788 // Field: [1] ZERO 1789 // 1790 // Clear the MIS.ZERO mask. 1791 // ENUMs: 1792 // CLR Clear 1793 // NO_EFFECT No effect 1794 #define LGPT_IMCLR_ZERO 0x00000002U 1795 #define LGPT_IMCLR_ZERO_M 0x00000002U 1796 #define LGPT_IMCLR_ZERO_S 1U 1797 #define LGPT_IMCLR_ZERO_CLR 0x00000002U 1798 #define LGPT_IMCLR_ZERO_NO_EFFECT 0x00000000U 1799 1800 // Field: [0] TGT 1801 // 1802 // Clear the MIS.TGT mask. 1803 // ENUMs: 1804 // CLR Clear 1805 // NO_EFFECT No effect 1806 #define LGPT_IMCLR_TGT 0x00000001U 1807 #define LGPT_IMCLR_TGT_M 0x00000001U 1808 #define LGPT_IMCLR_TGT_S 0U 1809 #define LGPT_IMCLR_TGT_CLR 0x00000001U 1810 #define LGPT_IMCLR_TGT_NO_EFFECT 0x00000000U 1811 1812 //***************************************************************************** 1813 // 1814 // Register: LGPT_O_EMU 1815 // 1816 //***************************************************************************** 1817 // Field: [1] CTL 1818 // 1819 // Halt control. 1820 // 1821 // Configure when the counter shall stop upon CPU halt. This bitfield only 1822 // applies if HALT = 1. 1823 // ENUMs: 1824 // ZERCOND Zero condition. The counter stops when CNTR = 0. 1825 // IMMEDIATE Immediate reaction. The counter stops immediately 1826 // on debug halt. 1827 #define LGPT_EMU_CTL 0x00000002U 1828 #define LGPT_EMU_CTL_M 0x00000002U 1829 #define LGPT_EMU_CTL_S 1U 1830 #define LGPT_EMU_CTL_ZERCOND 0x00000002U 1831 #define LGPT_EMU_CTL_IMMEDIATE 0x00000000U 1832 1833 // Field: [0] HALT 1834 // 1835 // Halt LGPT when CPU is halted in debug. 1836 // ENUMs: 1837 // EN Enable. 1838 // DIS Disable. 1839 #define LGPT_EMU_HALT 0x00000001U 1840 #define LGPT_EMU_HALT_M 0x00000001U 1841 #define LGPT_EMU_HALT_S 0U 1842 #define LGPT_EMU_HALT_EN 0x00000001U 1843 #define LGPT_EMU_HALT_DIS 0x00000000U 1844 1845 //***************************************************************************** 1846 // 1847 // Register: LGPT_O_C0CFG 1848 // 1849 //***************************************************************************** 1850 // Field: [10] OUT2 1851 // 1852 // Output 2 enable. 1853 // 1854 // When 0 < CCACT < 8, OUT2 becomes zero after a capture or compare event. 1855 // ENUMs: 1856 // EN Channel 0 controls output 2. 1857 // DIS Channel 0 does not control output 2. 1858 #define LGPT_C0CFG_OUT2 0x00000400U 1859 #define LGPT_C0CFG_OUT2_M 0x00000400U 1860 #define LGPT_C0CFG_OUT2_S 10U 1861 #define LGPT_C0CFG_OUT2_EN 0x00000400U 1862 #define LGPT_C0CFG_OUT2_DIS 0x00000000U 1863 1864 // Field: [9] OUT1 1865 // 1866 // Output 1 enable. 1867 // 1868 // When 0 < CCACT < 8, OUT1 becomes zero after a capture or compare event. 1869 // ENUMs: 1870 // EN Channel 0 controls output 1. 1871 // DIS Channel 0 does not control output 1. 1872 #define LGPT_C0CFG_OUT1 0x00000200U 1873 #define LGPT_C0CFG_OUT1_M 0x00000200U 1874 #define LGPT_C0CFG_OUT1_S 9U 1875 #define LGPT_C0CFG_OUT1_EN 0x00000200U 1876 #define LGPT_C0CFG_OUT1_DIS 0x00000000U 1877 1878 // Field: [8] OUT0 1879 // 1880 // Output 0 enable. 1881 // 1882 // When 0 < CCACT < 8, OUT0 becomes zero after a capture or compare event. 1883 // ENUMs: 1884 // EN Channel 0 controls output 0. 1885 // DIS Channel 0 does not control output 0. 1886 #define LGPT_C0CFG_OUT0 0x00000100U 1887 #define LGPT_C0CFG_OUT0_M 0x00000100U 1888 #define LGPT_C0CFG_OUT0_S 8U 1889 #define LGPT_C0CFG_OUT0_EN 0x00000100U 1890 #define LGPT_C0CFG_OUT0_DIS 0x00000000U 1891 1892 // Field: [6] INPUT 1893 // 1894 // Select channel input. 1895 // ENUMs: 1896 // IO IO controller 1897 // EV Event fabric 1898 #define LGPT_C0CFG_INPUT 0x00000040U 1899 #define LGPT_C0CFG_INPUT_M 0x00000040U 1900 #define LGPT_C0CFG_INPUT_S 6U 1901 #define LGPT_C0CFG_INPUT_IO 0x00000040U 1902 #define LGPT_C0CFG_INPUT_EV 0x00000000U 1903 1904 // Field: [5:4] EDGE 1905 // 1906 // Determines the edge that triggers the channel input event. This happens post 1907 // filter. 1908 // ENUMs: 1909 // BOTH Input event is triggered at both edges. 1910 // FALL Input event is triggered at falling edge. 1911 // RISE Input event is triggered at rising edge. 1912 // NONE Input is turned off. 1913 #define LGPT_C0CFG_EDGE_W 2U 1914 #define LGPT_C0CFG_EDGE_M 0x00000030U 1915 #define LGPT_C0CFG_EDGE_S 4U 1916 #define LGPT_C0CFG_EDGE_BOTH 0x00000030U 1917 #define LGPT_C0CFG_EDGE_FALL 0x00000020U 1918 #define LGPT_C0CFG_EDGE_RISE 0x00000010U 1919 #define LGPT_C0CFG_EDGE_NONE 0x00000000U 1920 1921 // Field: [3:0] CCACT 1922 // 1923 // Capture-Compare action. 1924 // 1925 // Capture-Compare action defines 15 different channel functions that utilize 1926 // capture, compare, and zero events. In every compare event the timer looks at 1927 // the current value of CNTR. The corresponding output event will be set 1 1928 // timer period after CNTR = C0CC. 1929 // ENUMs: 1930 // PULSE_ON_CMP Pulse on compare repeatedly. 1931 // 1932 // Channel function 1933 // sequence: 1934 // - Pulse enabled outputs 1935 // when C0CC.VAL = CNTR.VAL. 1936 // 1937 // The output is high for 1938 // two timer clock periods. 1939 // TGL_ON_CMP Toggle on compare repeatedly. 1940 // 1941 // Channel function 1942 // sequence: 1943 // - Toggle enabled outputs 1944 // when C0CC.VAL = CNTR.VAL. 1945 // SET_ON_CMP Set on compare repeatedly. 1946 // 1947 // Channel function 1948 // sequence: 1949 // - Set enabled outputs 1950 // when C0CC.VAL = CNTR.VAL. 1951 // CLR_ON_CMP Clear on compare repeatedly. 1952 // 1953 // Channel function 1954 // sequence: 1955 // - Clear enabled outputs 1956 // when C0CC.VAL = CNTR.VAL. 1957 // SET_ON_0_TGL_ON_CMP Set on zero, toggle on compare repeatedly. 1958 // 1959 // Channel function 1960 // sequence: 1961 // - Set enabled outputs 1962 // when CNTR.VAL = 0. 1963 // - Toggle enabled outputs 1964 // when C0CC.VAL = CNTR.VAL. 1965 // 1966 // Set CTL.MODE to UP_PER 1967 // for edge-aligned PWM generation. Duty cycle is 1968 // given by: 1969 // 1970 // When C0CC.VAL <= TGT.VAL: 1971 // Duty cycle = C0CC.VAL 1972 // / ( TGT.VAL + 1 ). 1973 // 1974 // When C0CC.VAL > TGT.VAL: 1975 // Duty cycle = 1. 1976 // 1977 // Enabled outputs are 1978 // cleared when C0CC.VAL = 0 and CNTR.VAL = 0. 1979 // CLR_ON_0_TGL_ON_CMP Clear on zero, toggle on compare repeatedly. 1980 // 1981 // Channel function 1982 // sequence: 1983 // - Clear enabled outputs 1984 // when CNTR.VAL = 0. 1985 // - Toggle enabled outputs 1986 // when C0CC.VAL = CNTR.VAL. 1987 // 1988 // Set CTL.MODE to UPDWN_PER 1989 // for center-aligned PWM generation. Duty cycle 1990 // is given by: 1991 // 1992 // When C0CC.VAL <= TGT.VAL: 1993 // Duty cycle = 1 - ( 1994 // C0CC.VAL / TGT.VAL ). 1995 // 1996 // When C0CC.VAL > TGT.VAL: 1997 // Duty cycle = 0. 1998 // 1999 // Enabled outputs are set 2000 // when C0CC.VAL = 0 and CNTR.VAL = 0. 2001 // SET_ON_CAPT Set on capture repeatedly. 2002 // 2003 // Channel function 2004 // sequence: 2005 // - Set enabled outputs on 2006 // capture event and copy CNTR.VAL to C0CC.VAL. 2007 // PER_PULSE_WIDTH_MEAS Period and pulse width measurement. 2008 // 2009 // Continuously capture 2010 // period and pulse width of the signal selected 2011 // by INPUT relative to the signal edge given by 2012 // EDGE. 2013 // 2014 // Set enabled outputs and 2015 // RIS.C0CC when C0CC.VAL contains signal period 2016 // and PC0CC.VAL contains signal pulse width. 2017 // 2018 // Notes: 2019 // - Make sure to configure 2020 // INPUT and CCACT when CTL.MODE equals DIS, then 2021 // set CTL.MODE to UP_ONCE or UP_PER. 2022 // - The counter restarts in 2023 // the selected timer mode when C0CC.VAL contains 2024 // the signal period. 2025 // - If more than one 2026 // channel uses this function, the channels will 2027 // perform this function one at a time. The 2028 // channel with lowest number has priority and 2029 // performs the function first. Next measurement 2030 // starts when current measurement completes 2031 // successfully or times out. A timeout occurs 2032 // when counter equals target. 2033 // - To observe a timeout 2034 // event the RIS.TGT interrupt can be used, or 2035 // another channel can be configured to SET_ON_CMP 2036 // with compare value equal TGT. 2037 // 2038 // Signal property 2039 // requirements: 2040 // - Signal Period >= 2 * ( 2041 // 1 + PRECFG.TICKDIV ) * timer clock period. 2042 // - Signal Period <= 2043 // MAX(CNTR) * (1 + PRECFG.TICKDIV ) * timer clock 2044 // period. 2045 // - Signal low and high 2046 // phase >= (1 + PRECFG.TICKDIV ) * timer clock 2047 // period. 2048 // PULSE_ON_CMP_DIS Pulse on compare, and then disable channel. 2049 // 2050 // Channel function 2051 // sequence: 2052 // - Pulse enabled outputs 2053 // when C0CC.VAL = CNTR.VAL. 2054 // - Disable channel. 2055 // 2056 // The output is high for 2057 // two timer clock periods. 2058 // TGL_ON_CMP_DIS Toggle on compare, and then disable channel. 2059 // 2060 // Channel function 2061 // sequence: 2062 // - Toggle enabled outputs 2063 // when C0CC.VAL = CNTR.VAL. 2064 // - Disable channel. 2065 // SET_ON_CMP_DIS Set on compare, and then disable channel. 2066 // 2067 // Channel function 2068 // sequence: 2069 // - Set enabled outputs 2070 // when C0CC.VAL = CNTR.VAL. 2071 // - Disable channel. 2072 // CLR_ON_CMP_DIS Clear on compare, and then disable channel. 2073 // 2074 // Channel function 2075 // sequence: 2076 // - Clear enabled outputs 2077 // when C0CC.VAL = CNTR.VAL. 2078 // - Disable channel. 2079 // SET_ON_0_TGL_ON_CMP_DIS Set on zero, toggle on compare, and then disable 2080 // channel. 2081 // 2082 // Channel function 2083 // sequence: 2084 // - Set enabled outputs 2085 // when CNTR.VAL = 0. 2086 // - Toggle enabled outputs 2087 // when C0CC.VAL = CNTR.VAL. 2088 // - Disable channel. 2089 // 2090 // Enabled outputs are 2091 // cleared when C0CC.VAL = 0 and CNTR.VAL = 0. 2092 // CLR_ON_0_TGL_ON_CMP_DIS Clear on zero, toggle on compare, and then disable 2093 // channel. 2094 // 2095 // Channel function 2096 // sequence: 2097 // - Clear enabled outputs 2098 // when CNTR.VAL = 0. 2099 // - Toggle enabled outputs 2100 // when C0CC.VAL = CNTR.VAL. 2101 // - Disable channel. 2102 // 2103 // Enabled outputs are set 2104 // when C0CC.VAL = 0 and CNTR.VAL = 0. 2105 // SET_ON_CAPT_DIS Set on capture, and then disable channel. 2106 // 2107 // Channel function 2108 // sequence: 2109 // - Set enabled outputs on 2110 // capture event and copy CNTR.VAL to C0CC.VAL. 2111 // - Disable channel. 2112 // 2113 // Primary use scenario is 2114 // to select this function before starting the 2115 // timer. 2116 // Follow these steps to 2117 // select this function while CTL.MODE is 2118 // different from DIS: 2119 // - Set CCACT to 2120 // SET_ON_CAPT with no output enable. 2121 // - Configure INPUT 2122 // (optional). 2123 // - Wait for three timer 2124 // clock periods as defined in PRECFG before 2125 // setting CCACT to SET_ON_CAPT_DIS. Output enable 2126 // is optional. 2127 // 2128 // These steps prevent 2129 // capture events caused by expired signal values 2130 // in edge-detection circuit. 2131 // DIS Disable channel. 2132 #define LGPT_C0CFG_CCACT_W 4U 2133 #define LGPT_C0CFG_CCACT_M 0x0000000FU 2134 #define LGPT_C0CFG_CCACT_S 0U 2135 #define LGPT_C0CFG_CCACT_PULSE_ON_CMP 0x0000000FU 2136 #define LGPT_C0CFG_CCACT_TGL_ON_CMP 0x0000000EU 2137 #define LGPT_C0CFG_CCACT_SET_ON_CMP 0x0000000DU 2138 #define LGPT_C0CFG_CCACT_CLR_ON_CMP 0x0000000CU 2139 #define LGPT_C0CFG_CCACT_SET_ON_0_TGL_ON_CMP 0x0000000BU 2140 #define LGPT_C0CFG_CCACT_CLR_ON_0_TGL_ON_CMP 0x0000000AU 2141 #define LGPT_C0CFG_CCACT_SET_ON_CAPT 0x00000009U 2142 #define LGPT_C0CFG_CCACT_PER_PULSE_WIDTH_MEAS 0x00000008U 2143 #define LGPT_C0CFG_CCACT_PULSE_ON_CMP_DIS 0x00000007U 2144 #define LGPT_C0CFG_CCACT_TGL_ON_CMP_DIS 0x00000006U 2145 #define LGPT_C0CFG_CCACT_SET_ON_CMP_DIS 0x00000005U 2146 #define LGPT_C0CFG_CCACT_CLR_ON_CMP_DIS 0x00000004U 2147 #define LGPT_C0CFG_CCACT_SET_ON_0_TGL_ON_CMP_DIS 0x00000003U 2148 #define LGPT_C0CFG_CCACT_CLR_ON_0_TGL_ON_CMP_DIS 0x00000002U 2149 #define LGPT_C0CFG_CCACT_SET_ON_CAPT_DIS 0x00000001U 2150 #define LGPT_C0CFG_CCACT_DIS 0x00000000U 2151 2152 //***************************************************************************** 2153 // 2154 // Register: LGPT_O_C1CFG 2155 // 2156 //***************************************************************************** 2157 // Field: [10] OUT2 2158 // 2159 // Output 2 enable. 2160 // 2161 // When 0 < CCACT < 8, OUT2 becomes zero after a capture or compare event. 2162 // ENUMs: 2163 // EN Channel 1 controls output 2. 2164 // DIS Channel 1 does not control output 2. 2165 #define LGPT_C1CFG_OUT2 0x00000400U 2166 #define LGPT_C1CFG_OUT2_M 0x00000400U 2167 #define LGPT_C1CFG_OUT2_S 10U 2168 #define LGPT_C1CFG_OUT2_EN 0x00000400U 2169 #define LGPT_C1CFG_OUT2_DIS 0x00000000U 2170 2171 // Field: [9] OUT1 2172 // 2173 // Output 1 enable. 2174 // 2175 // When 0 < CCACT < 8, OUT1 becomes zero after a capture or compare event. 2176 // ENUMs: 2177 // EN Channel 1 controls output 1. 2178 // DIS Channel 1 does not control output 1. 2179 #define LGPT_C1CFG_OUT1 0x00000200U 2180 #define LGPT_C1CFG_OUT1_M 0x00000200U 2181 #define LGPT_C1CFG_OUT1_S 9U 2182 #define LGPT_C1CFG_OUT1_EN 0x00000200U 2183 #define LGPT_C1CFG_OUT1_DIS 0x00000000U 2184 2185 // Field: [8] OUT0 2186 // 2187 // Output 0 enable. 2188 // When 0 < CCACT < 8, OUT0 becomes zero after a capture or compare event. 2189 // ENUMs: 2190 // EN Channel 1 controls output 0. 2191 // DIS Channel 1 does not control output 0. 2192 #define LGPT_C1CFG_OUT0 0x00000100U 2193 #define LGPT_C1CFG_OUT0_M 0x00000100U 2194 #define LGPT_C1CFG_OUT0_S 8U 2195 #define LGPT_C1CFG_OUT0_EN 0x00000100U 2196 #define LGPT_C1CFG_OUT0_DIS 0x00000000U 2197 2198 // Field: [6] INPUT 2199 // 2200 // Select channel input. 2201 // ENUMs: 2202 // IO IO controller 2203 // EV Event fabric 2204 #define LGPT_C1CFG_INPUT 0x00000040U 2205 #define LGPT_C1CFG_INPUT_M 0x00000040U 2206 #define LGPT_C1CFG_INPUT_S 6U 2207 #define LGPT_C1CFG_INPUT_IO 0x00000040U 2208 #define LGPT_C1CFG_INPUT_EV 0x00000000U 2209 2210 // Field: [5:4] EDGE 2211 // 2212 // Determines the edge that triggers the channel input event. This happens post 2213 // filter. 2214 // ENUMs: 2215 // BOTH Input event is triggered at both edges. 2216 // FALL Input event is triggered at falling edge. 2217 // RISE Input event is triggered at rising edge. 2218 // NONE Input is turned off. 2219 #define LGPT_C1CFG_EDGE_W 2U 2220 #define LGPT_C1CFG_EDGE_M 0x00000030U 2221 #define LGPT_C1CFG_EDGE_S 4U 2222 #define LGPT_C1CFG_EDGE_BOTH 0x00000030U 2223 #define LGPT_C1CFG_EDGE_FALL 0x00000020U 2224 #define LGPT_C1CFG_EDGE_RISE 0x00000010U 2225 #define LGPT_C1CFG_EDGE_NONE 0x00000000U 2226 2227 // Field: [3:0] CCACT 2228 // 2229 // Capture-Compare action. 2230 // 2231 // Capture-Compare action defines 15 different channel functions that utilize 2232 // capture, compare, and zero events. In every compare event the timer looks at 2233 // the current value of CNTR. The corresponding output event will be set 1 2234 // timer period after CNTR = C1CC. 2235 // ENUMs: 2236 // PULSE_ON_CMP Pulse on compare repeatedly. 2237 // 2238 // Channel function 2239 // sequence: 2240 // - Pulse enabled outputs 2241 // when C1CC.VAL = CNTR.VAL. 2242 // 2243 // The output is high for 2244 // two timer clock periods. 2245 // TGL_ON_CMP Toggle on compare repeatedly. 2246 // 2247 // Channel function 2248 // sequence: 2249 // - Toggle enabled outputs 2250 // when C1CC.VAL = CNTR.VAL. 2251 // SET_ON_CMP Set on compare repeatedly. 2252 // 2253 // Channel function 2254 // sequence: 2255 // - Set enabled outputs 2256 // when C1CC.VAL = CNTR.VAL. 2257 // CLR_ON_CMP Clear on compare repeatedly. 2258 // 2259 // Channel function 2260 // sequence: 2261 // - Clear enabled outputs 2262 // when C1CC.VAL = CNTR.VAL. 2263 // SET_ON_0_TGL_ON_CMP Set on zero, toggle on compare repeatedly. 2264 // 2265 // Channel function 2266 // sequence: 2267 // - Set enabled outputs 2268 // when CNTR.VAL = 0. 2269 // - Toggle enabled outputs 2270 // when C1CC.VAL = CNTR.VAL. 2271 // 2272 // Set CTL.MODE to UP_PER 2273 // for edge-aligned PWM generation. Duty cycle is 2274 // given by: 2275 // 2276 // When C1CC.VAL <= TGT.VAL: 2277 // Duty cycle = C1CC.VAL 2278 // / ( TGT.VAL + 1 ). 2279 // 2280 // When C1CC.VAL > TGT.VAL: 2281 // Duty cycle = 1. 2282 // 2283 // Enabled outputs are 2284 // cleared when C1CC.VAL = 0 and CNTR.VAL = 0. 2285 // CLR_ON_0_TGL_ON_CMP Clear on zero, toggle on compare repeatedly. 2286 // 2287 // Channel function 2288 // sequence: 2289 // - Clear enabled outputs 2290 // when CNTR.VAL = 0. 2291 // - Toggle enabled outputs 2292 // when C1CC.VAL = CNTR.VAL. 2293 // 2294 // Set CTL.MODE to UPDWN_PER 2295 // for center-aligned PWM generation. Duty cycle 2296 // is given by: 2297 // 2298 // When C1CC.VAL <= TGT.VAL: 2299 // Duty cycle = 1 - ( 2300 // C1CC.VAL / TGT.VAL ). 2301 // 2302 // When C1CC.VAL > TGT.VAL: 2303 // Duty cycle = 0. 2304 // 2305 // Enabled outputs are set 2306 // when C1CC.VAL = 0 and CNTR.VAL = 0. 2307 // SET_ON_CAPT Set on capture repeatedly. 2308 // 2309 // Channel function 2310 // sequence: 2311 // - Set enabled outputs on 2312 // capture event and copy CNTR.VAL to C1CC.VAL. 2313 // PER_PULSE_WIDTH_MEAS Period and pulse width measurement. 2314 // 2315 // Continuously capture 2316 // period and pulse width of the signal selected 2317 // by INPUT relative to the signal edge given by 2318 // EDGE. 2319 // 2320 // Set enabled outputs and 2321 // RIS.C1CC when C1CC.VAL contains signal period 2322 // and PC1CC.VAL contains signal pulse width. 2323 // 2324 // Notes: 2325 // - Make sure to configure 2326 // INPUT and CCACT when CTL.MODE equals DIS, then 2327 // set CTL.MODE to UP_ONCE or UP_PER. 2328 // - The counter restarts in 2329 // the selected timer mode when C1CC.VAL contains 2330 // the signal period. 2331 // - If more than one 2332 // channel uses this function, the channels will 2333 // perform this function one at a time. The 2334 // channel with lowest number has priority and 2335 // performs the function first. Next measurement 2336 // starts when current measurement completes 2337 // successfully or times out. A timeout occurs 2338 // when counter equals target. 2339 // - To observe a timeout 2340 // event the RIS.TGT interrupt can be used, or 2341 // another channel can be configured to SET_ON_CMP 2342 // with compare value equal TGT. 2343 // 2344 // Signal property 2345 // requirements: 2346 // - Signal Period >= 2 * ( 2347 // 1 + PRECFG.TICKDIV ) * timer clock period. 2348 // - Signal Period <= 2349 // MAX(CNTR) * (1 + PRECFG.TICKDIV ) * timer clock 2350 // period. 2351 // - Signal low and high 2352 // phase >= (1 + PRECFG.TICKDIV ) * timer clock 2353 // period. 2354 // PULSE_ON_CMP_DIS Pulse on compare, and then disable channel. 2355 // 2356 // Channel function 2357 // sequence: 2358 // - Pulse enabled outputs 2359 // when C1CC.VAL = CNTR.VAL. 2360 // - Disable channel. 2361 // 2362 // The output is high for 2363 // two timer clock periods. 2364 // TGL_ON_CMP_DIS Toggle on compare, and then disable channel. 2365 // 2366 // Channel function 2367 // sequence: 2368 // - Toggle enabled outputs 2369 // when C1CC.VAL = CNTR.VAL. 2370 // - Disable channel. 2371 // SET_ON_CMP_DIS Set on compare, and then disable channel. 2372 // 2373 // Channel function 2374 // sequence: 2375 // - Set enabled outputs 2376 // when C1CC.VAL = CNTR.VAL. 2377 // - Disable channel. 2378 // CLR_ON_CMP_DIS Clear on compare, and then disable channel. 2379 // 2380 // Channel function 2381 // sequence: 2382 // - Clear enabled outputs 2383 // when C1CC.VAL = CNTR.VAL. 2384 // - Disable channel. 2385 // SET_ON_0_TGL_ON_CMP_DIS Set on zero, toggle on compare, and then disable 2386 // channel. 2387 // 2388 // Channel function 2389 // sequence: 2390 // - Set enabled outputs 2391 // when CNTR.VAL = 0. 2392 // - Toggle enabled outputs 2393 // when C1CC.VAL = CNTR.VAL. 2394 // - Disable channel. 2395 // 2396 // Enabled outputs are 2397 // cleared when C1CC.VAL = 0 and CNTR.VAL = 0. 2398 // CLR_ON_0_TGL_ON_CMP_DIS Clear on zero, toggle on compare, and then disable 2399 // channel. 2400 // 2401 // Channel function 2402 // sequence: 2403 // - Clear enabled outputs 2404 // when CNTR.VAL = 0. 2405 // - Toggle enabled outputs 2406 // when C1CC.VAL = CNTR.VAL. 2407 // - Disable channel. 2408 // 2409 // Enabled outputs are set 2410 // when C1CC.VAL = 0 and CNTR.VAL = 0. 2411 // SET_ON_CAPT_DIS Set on capture, and then disable channel. 2412 // 2413 // Channel function 2414 // sequence: 2415 // - Set enabled outputs on 2416 // capture event and copy CNTR.VAL to C1CC.VAL. 2417 // - Disable channel. 2418 // 2419 // Primary use scenario is 2420 // to select this function before starting the 2421 // timer. 2422 // Follow these steps to 2423 // select this function while CTL.MODE is 2424 // different from DIS: 2425 // - Set CCACT to 2426 // SET_ON_CAPT with no output enable. 2427 // - Configure INPUT 2428 // (optional). 2429 // - Wait for three timer 2430 // clock periods as defined in PRECFG before 2431 // setting CCACT to SET_ON_CAPT_DIS. Output enable 2432 // is optional. 2433 // 2434 // These steps prevent 2435 // capture events caused by expired signal values 2436 // in edge-detection circuit. 2437 // DIS Disable channel. 2438 #define LGPT_C1CFG_CCACT_W 4U 2439 #define LGPT_C1CFG_CCACT_M 0x0000000FU 2440 #define LGPT_C1CFG_CCACT_S 0U 2441 #define LGPT_C1CFG_CCACT_PULSE_ON_CMP 0x0000000FU 2442 #define LGPT_C1CFG_CCACT_TGL_ON_CMP 0x0000000EU 2443 #define LGPT_C1CFG_CCACT_SET_ON_CMP 0x0000000DU 2444 #define LGPT_C1CFG_CCACT_CLR_ON_CMP 0x0000000CU 2445 #define LGPT_C1CFG_CCACT_SET_ON_0_TGL_ON_CMP 0x0000000BU 2446 #define LGPT_C1CFG_CCACT_CLR_ON_0_TGL_ON_CMP 0x0000000AU 2447 #define LGPT_C1CFG_CCACT_SET_ON_CAPT 0x00000009U 2448 #define LGPT_C1CFG_CCACT_PER_PULSE_WIDTH_MEAS 0x00000008U 2449 #define LGPT_C1CFG_CCACT_PULSE_ON_CMP_DIS 0x00000007U 2450 #define LGPT_C1CFG_CCACT_TGL_ON_CMP_DIS 0x00000006U 2451 #define LGPT_C1CFG_CCACT_SET_ON_CMP_DIS 0x00000005U 2452 #define LGPT_C1CFG_CCACT_CLR_ON_CMP_DIS 0x00000004U 2453 #define LGPT_C1CFG_CCACT_SET_ON_0_TGL_ON_CMP_DIS 0x00000003U 2454 #define LGPT_C1CFG_CCACT_CLR_ON_0_TGL_ON_CMP_DIS 0x00000002U 2455 #define LGPT_C1CFG_CCACT_SET_ON_CAPT_DIS 0x00000001U 2456 #define LGPT_C1CFG_CCACT_DIS 0x00000000U 2457 2458 //***************************************************************************** 2459 // 2460 // Register: LGPT_O_C2CFG 2461 // 2462 //***************************************************************************** 2463 // Field: [10] OUT2 2464 // 2465 // Output 2 enable. 2466 // 2467 // When 0 < CCACT < 8, OUT2 becomes zero after a capture or compare event. 2468 // ENUMs: 2469 // EN Channel 2 controls output 2. 2470 // DIS Channel 2 does not control output 2. 2471 #define LGPT_C2CFG_OUT2 0x00000400U 2472 #define LGPT_C2CFG_OUT2_M 0x00000400U 2473 #define LGPT_C2CFG_OUT2_S 10U 2474 #define LGPT_C2CFG_OUT2_EN 0x00000400U 2475 #define LGPT_C2CFG_OUT2_DIS 0x00000000U 2476 2477 // Field: [9] OUT1 2478 // 2479 // Output 1 enable. 2480 // 2481 // When 0 < CCACT < 8, OUT1 becomes zero after a capture or compare event. 2482 // ENUMs: 2483 // EN Channel 2 controls output 1. 2484 // DIS Channel 2 does not control output 1. 2485 #define LGPT_C2CFG_OUT1 0x00000200U 2486 #define LGPT_C2CFG_OUT1_M 0x00000200U 2487 #define LGPT_C2CFG_OUT1_S 9U 2488 #define LGPT_C2CFG_OUT1_EN 0x00000200U 2489 #define LGPT_C2CFG_OUT1_DIS 0x00000000U 2490 2491 // Field: [8] OUT0 2492 // 2493 // Output 0 enable. 2494 // 2495 // When 0 < CCACT < 8, OUT0 becomes zero after a capture or compare event. 2496 // ENUMs: 2497 // EN Channel 2 controls output 0. 2498 // DIS Channel 2 does not control output 0. 2499 #define LGPT_C2CFG_OUT0 0x00000100U 2500 #define LGPT_C2CFG_OUT0_M 0x00000100U 2501 #define LGPT_C2CFG_OUT0_S 8U 2502 #define LGPT_C2CFG_OUT0_EN 0x00000100U 2503 #define LGPT_C2CFG_OUT0_DIS 0x00000000U 2504 2505 // Field: [6] INPUT 2506 // 2507 // Select channel input. 2508 // ENUMs: 2509 // IO IO controller 2510 // EV Event fabric 2511 #define LGPT_C2CFG_INPUT 0x00000040U 2512 #define LGPT_C2CFG_INPUT_M 0x00000040U 2513 #define LGPT_C2CFG_INPUT_S 6U 2514 #define LGPT_C2CFG_INPUT_IO 0x00000040U 2515 #define LGPT_C2CFG_INPUT_EV 0x00000000U 2516 2517 // Field: [5:4] EDGE 2518 // 2519 // Determines the edge that triggers the channel input event. This happens post 2520 // filter. 2521 // ENUMs: 2522 // BOTH Input event is triggered at both edges. 2523 // FALL Input event is triggered at falling edge. 2524 // RISE Input event is triggered at rising edge. 2525 // NONE Input is turned off. 2526 #define LGPT_C2CFG_EDGE_W 2U 2527 #define LGPT_C2CFG_EDGE_M 0x00000030U 2528 #define LGPT_C2CFG_EDGE_S 4U 2529 #define LGPT_C2CFG_EDGE_BOTH 0x00000030U 2530 #define LGPT_C2CFG_EDGE_FALL 0x00000020U 2531 #define LGPT_C2CFG_EDGE_RISE 0x00000010U 2532 #define LGPT_C2CFG_EDGE_NONE 0x00000000U 2533 2534 // Field: [3:0] CCACT 2535 // 2536 // Capture-Compare action. 2537 // 2538 // Capture-Compare action defines 15 different channel functions that utilize 2539 // capture, compare, and zero events. In every compare event the timer looks at 2540 // the current value of CNTR. The corresponding output event will be set 1 2541 // timer period after CNTR = C2CC. 2542 // ENUMs: 2543 // PULSE_ON_CMP Pulse on compare repeatedly. 2544 // 2545 // Channel function 2546 // sequence: 2547 // - Pulse enabled outputs 2548 // when C2CC.VAL = CNTR.VAL. 2549 // 2550 // The output is high for 2551 // two timer clock periods. 2552 // TGL_ON_CMP Toggle on compare repeatedly. 2553 // 2554 // Channel function 2555 // sequence: 2556 // - Toggle enabled outputs 2557 // when C2CC.VAL = CNTR.VAL. 2558 // SET_ON_CMP Set on compare repeatedly. 2559 // 2560 // Channel function 2561 // sequence: 2562 // - Set enabled outputs 2563 // when C2CC.VAL = CNTR.VAL. 2564 // CLR_ON_CMP Clear on compare repeatedly. 2565 // 2566 // Channel function 2567 // sequence: 2568 // - Clear enabled outputs 2569 // when C2CC.VAL = CNTR.VAL. 2570 // SET_ON_0_TGL_ON_CMP Set on zero, toggle on compare repeatedly. 2571 // 2572 // Channel function 2573 // sequence: 2574 // - Set enabled outputs 2575 // when CNTR.VAL = 0. 2576 // - Toggle enabled outputs 2577 // when C2CC.VAL = CNTR.VAL. 2578 // 2579 // Set CTL.MODE to UP_PER 2580 // for edge-aligned PWM generation. Duty cycle is 2581 // given by: 2582 // 2583 // When C2CC.VAL <= TGT.VAL: 2584 // Duty cycle = C2CC.VAL 2585 // / ( TGT.VAL + 1 ). 2586 // 2587 // When C2CC.VAL > TGT.VAL: 2588 // Duty cycle = 1. 2589 // 2590 // Enabled outputs are 2591 // cleared when C2CC.VAL = 0 and CNTR.VAL = 0. 2592 // CLR_ON_0_TGL_ON_CMP Clear on zero, toggle on compare repeatedly. 2593 // 2594 // Channel function 2595 // sequence: 2596 // - Clear enabled outputs 2597 // when CNTR.VAL = 0. 2598 // - Toggle enabled outputs 2599 // when C2CC.VAL = CNTR.VAL. 2600 // 2601 // Set CTL.MODE to UPDWN_PER 2602 // for center-aligned PWM generation. Duty cycle 2603 // is given by: 2604 // 2605 // When C2CC.VAL <= TGT.VAL: 2606 // Duty cycle = 1 - ( 2607 // C2CC.VAL / TGT.VAL ). 2608 // 2609 // When C2CC.VAL > TGT.VAL: 2610 // Duty cycle = 0. 2611 // 2612 // Enabled outputs are set 2613 // when C2CC.VAL = 0 and CNTR.VAL = 0. 2614 // SET_ON_CAPT Set on capture repeatedly. 2615 // 2616 // Channel function 2617 // sequence: 2618 // - Set enabled outputs on 2619 // capture event and copy CNTR.VAL to C2CC.VAL. 2620 // PER_PULSE_WIDTH_MEAS Period and pulse width measurement. 2621 // 2622 // Continuously capture 2623 // period and pulse width of the signal selected 2624 // by INPUT relative to the signal edge given by 2625 // EDGE. 2626 // 2627 // Set enabled outputs and 2628 // RIS.C2CC when C2CC.VAL contains signal period 2629 // and PC2CC.VAL contains signal pulse width. 2630 // 2631 // Notes: 2632 // - Make sure to configure 2633 // INPUT and CCACT when CTL.MODE equals DIS, then 2634 // set CTL.MODE to UP_ONCE or UP_PER. 2635 // - The counter restarts in 2636 // the selected timer mode when C2CC.VAL contains 2637 // the signal period. 2638 // - If more than one 2639 // channel uses this function, the channels will 2640 // perform this function one at a time. The 2641 // channel with lowest number has priority and 2642 // performs the function first. Next measurement 2643 // starts when current measurement completes 2644 // successfully or times out. A timeout occurs 2645 // when counter equals target. 2646 // - To observe a timeout 2647 // event the RIS.TGT interrupt can be used, or 2648 // another channel can be configured to SET_ON_CMP 2649 // with compare value equal TGT. 2650 // 2651 // Signal property 2652 // requirements: 2653 // - Signal Period >= 2 * ( 2654 // 1 + PRECFG.TICKDIV ) * timer clock period. 2655 // - Signal Period <= 2656 // MAX(CNTR) * (1 + PRECFG.TICKDIV ) * timer clock 2657 // period. 2658 // - Signal low and high 2659 // phase >= (1 + PRECFG.TICKDIV ) * timer clock 2660 // period. 2661 // PULSE_ON_CMP_DIS Pulse on compare, and then disable channel. 2662 // 2663 // Channel function 2664 // sequence: 2665 // - Pulse enabled outputs 2666 // when C2CC.VAL = CNTR.VAL. 2667 // - Disable channel. 2668 // 2669 // The output is high for 2670 // two timer clock periods. 2671 // TGL_ON_CMP_DIS Toggle on compare, and then disable channel. 2672 // 2673 // Channel function 2674 // sequence: 2675 // - Toggle enabled outputs 2676 // when C2CC.VAL = CNTR.VAL. 2677 // - Disable channel. 2678 // SET_ON_CMP_DIS Set on compare, and then disable channel. 2679 // 2680 // Channel function 2681 // sequence: 2682 // - Set enabled outputs 2683 // when C2CC.VAL = CNTR.VAL. 2684 // - Disable channel. 2685 // CLR_ON_CMP_DIS Clear on compare, and then disable channel. 2686 // 2687 // Channel function 2688 // sequence: 2689 // - Clear enabled outputs 2690 // when C2CC.VAL = CNTR.VAL. 2691 // - Disable channel. 2692 // SET_ON_0_TGL_ON_CMP_DIS Set on zero, toggle on compare, and then disable 2693 // channel. 2694 // 2695 // Channel function 2696 // sequence: 2697 // - Set enabled outputs 2698 // when CNTR.VAL = 0. 2699 // - Toggle enabled outputs 2700 // when C2CC.VAL = CNTR.VAL. 2701 // - Disable channel. 2702 // 2703 // Enabled outputs are 2704 // cleared when C2CC.VAL = 0 and CNTR.VAL = 0. 2705 // CLR_ON_0_TGL_ON_CMP_DIS Clear on zero, toggle on compare, and then disable 2706 // channel. 2707 // 2708 // Channel function 2709 // sequence: 2710 // - Clear enabled outputs 2711 // when CNTR.VAL = 0. 2712 // - Toggle enabled outputs 2713 // when C2CC.VAL = CNTR.VAL. 2714 // - Disable channel. 2715 // 2716 // Enabled outputs are set 2717 // when C2CC.VAL = 0 and CNTR.VAL = 0. 2718 // SET_ON_CAPT_DIS Set on capture, and then disable channel. 2719 // 2720 // Channel function 2721 // sequence: 2722 // - Set enabled outputs on 2723 // capture event and copy CNTR.VAL to C2CC.VAL. 2724 // - Disable channel. 2725 // 2726 // Primary use scenario is 2727 // to select this function before starting the 2728 // timer. 2729 // Follow these steps to 2730 // select this function while CTL.MODE is 2731 // different from DIS: 2732 // - Set CCACT to 2733 // SET_ON_CAPT with no output enable. 2734 // - Configure INPUT 2735 // (optional). 2736 // - Wait for three timer 2737 // clock periods as defined in PRECFG before 2738 // setting CCACT to SET_ON_CAPT_DIS. Output enable 2739 // is optional. 2740 // 2741 // These steps prevent 2742 // capture events caused by expired signal values 2743 // in edge-detection circuit. 2744 // DIS Disable channel. 2745 #define LGPT_C2CFG_CCACT_W 4U 2746 #define LGPT_C2CFG_CCACT_M 0x0000000FU 2747 #define LGPT_C2CFG_CCACT_S 0U 2748 #define LGPT_C2CFG_CCACT_PULSE_ON_CMP 0x0000000FU 2749 #define LGPT_C2CFG_CCACT_TGL_ON_CMP 0x0000000EU 2750 #define LGPT_C2CFG_CCACT_SET_ON_CMP 0x0000000DU 2751 #define LGPT_C2CFG_CCACT_CLR_ON_CMP 0x0000000CU 2752 #define LGPT_C2CFG_CCACT_SET_ON_0_TGL_ON_CMP 0x0000000BU 2753 #define LGPT_C2CFG_CCACT_CLR_ON_0_TGL_ON_CMP 0x0000000AU 2754 #define LGPT_C2CFG_CCACT_SET_ON_CAPT 0x00000009U 2755 #define LGPT_C2CFG_CCACT_PER_PULSE_WIDTH_MEAS 0x00000008U 2756 #define LGPT_C2CFG_CCACT_PULSE_ON_CMP_DIS 0x00000007U 2757 #define LGPT_C2CFG_CCACT_TGL_ON_CMP_DIS 0x00000006U 2758 #define LGPT_C2CFG_CCACT_SET_ON_CMP_DIS 0x00000005U 2759 #define LGPT_C2CFG_CCACT_CLR_ON_CMP_DIS 0x00000004U 2760 #define LGPT_C2CFG_CCACT_SET_ON_0_TGL_ON_CMP_DIS 0x00000003U 2761 #define LGPT_C2CFG_CCACT_CLR_ON_0_TGL_ON_CMP_DIS 0x00000002U 2762 #define LGPT_C2CFG_CCACT_SET_ON_CAPT_DIS 0x00000001U 2763 #define LGPT_C2CFG_CCACT_DIS 0x00000000U 2764 2765 //***************************************************************************** 2766 // 2767 // Register: LGPT_O_PTGT 2768 // 2769 //***************************************************************************** 2770 // Field: [15:0] VAL 2771 // 2772 // The pipleline target value. 2773 #define LGPT_PTGT_VAL_W 16U 2774 #define LGPT_PTGT_VAL_M 0x0000FFFFU 2775 #define LGPT_PTGT_VAL_S 0U 2776 2777 //***************************************************************************** 2778 // 2779 // Register: LGPT_O_PC0CC 2780 // 2781 //***************************************************************************** 2782 // Field: [15:0] VAL 2783 // 2784 // Pipeline Capture Compare value. 2785 // 2786 // User defined pipeline compare value or channel-updated capture value. 2787 // 2788 // A read or write to this register will clear the RIS.C0CC interrupt. 2789 // 2790 // Compare mode: 2791 // An update of VAL will be transferred to C0CC.VAL when the next CNTR.VAL is 2792 // zero and CTL.MODE is different from DIS. This is useful for PWM generation 2793 // and prevents jitter on the edges of the generated signal. 2794 // 2795 // Capture mode: 2796 // When C0CFG.CCACT equals PER_PULSE_WIDTH_MEAS then VAL contains the width of 2797 // the low or high phase of the selected signal. This is specified by 2798 // C0CFG.EDGE. 2799 #define LGPT_PC0CC_VAL_W 16U 2800 #define LGPT_PC0CC_VAL_M 0x0000FFFFU 2801 #define LGPT_PC0CC_VAL_S 0U 2802 2803 //***************************************************************************** 2804 // 2805 // Register: LGPT_O_PC1CC 2806 // 2807 //***************************************************************************** 2808 // Field: [15:0] VAL 2809 // 2810 // Pipeline Capture Compare value. 2811 // 2812 // User defined pipeline compare value or channel-updated capture value. 2813 // 2814 // A read or write to this register will clear the RIS.C1CC interrupt. 2815 // 2816 // Compare mode: 2817 // An update of VAL will be transferred to C1CC.VAL when the next CNTR.VAL is 2818 // zero and CTL.MODE is different from DIS. This is useful for PWM generation 2819 // and prevents jitter on the edges of the generated signal. 2820 // 2821 // Capture mode: 2822 // When C1CFG.CCACT equals PER_PULSE_WIDTH_MEAS then VAL contains the width of 2823 // the low or high phase of the selected signal. This is specified by 2824 // C1CFG.EDGE. 2825 #define LGPT_PC1CC_VAL_W 16U 2826 #define LGPT_PC1CC_VAL_M 0x0000FFFFU 2827 #define LGPT_PC1CC_VAL_S 0U 2828 2829 //***************************************************************************** 2830 // 2831 // Register: LGPT_O_PC2CC 2832 // 2833 //***************************************************************************** 2834 // Field: [15:0] VAL 2835 // 2836 // Pipeline Capture Compare value. 2837 // 2838 // User defined pipeline compare value or channel-updated capture value. 2839 // 2840 // A read or write to this register will clear the RIS.C2CC interrupt. 2841 // 2842 // Compare mode: 2843 // An update of VAL will be transferred to C2CC.VAL when the next CNTR.VAL is 2844 // zero and CTL.MODE is different from DIS. This is useful for PWM generation 2845 // and prevents jitter on the edges of the generated signal. 2846 // 2847 // Capture mode: 2848 // When C2CFG.CCACT equals PER_PULSE_WIDTH_MEAS then VAL contains the width of 2849 // the low or high phase of the selected signal. This is specified by 2850 // C2CFG.EDGE. 2851 #define LGPT_PC2CC_VAL_W 16U 2852 #define LGPT_PC2CC_VAL_M 0x0000FFFFU 2853 #define LGPT_PC2CC_VAL_S 0U 2854 2855 //***************************************************************************** 2856 // 2857 // Register: LGPT_O_TGT 2858 // 2859 //***************************************************************************** 2860 // Field: [15:0] VAL 2861 // 2862 // User defined counter target value. 2863 #define LGPT_TGT_VAL_W 16U 2864 #define LGPT_TGT_VAL_M 0x0000FFFFU 2865 #define LGPT_TGT_VAL_S 0U 2866 2867 //***************************************************************************** 2868 // 2869 // Register: LGPT_O_C0CC 2870 // 2871 //***************************************************************************** 2872 // Field: [15:0] VAL 2873 // 2874 // Capture Compare value. 2875 // 2876 // User defined compare value or channel-updated capture value. 2877 // 2878 // A read or write to this register will clear the RIS.C0CC interrupt. 2879 // 2880 // Compare mode: 2881 // VAL is compared against CNTR.VAL and an event is generated as specified by 2882 // C0CFG.CCACT when these are equal. 2883 // 2884 // Capture mode: 2885 // The current counter value is stored in VAL when a capture event occurs. 2886 // C0CFG.CCACT determines if VAL is a signal period or a regular capture value. 2887 #define LGPT_C0CC_VAL_W 16U 2888 #define LGPT_C0CC_VAL_M 0x0000FFFFU 2889 #define LGPT_C0CC_VAL_S 0U 2890 2891 //***************************************************************************** 2892 // 2893 // Register: LGPT_O_C1CC 2894 // 2895 //***************************************************************************** 2896 // Field: [15:0] VAL 2897 // 2898 // Capture Compare value. 2899 // 2900 // User defined compare value or channel-updated capture value. 2901 // 2902 // A read or write to this register will clear the RIS.C1CC interrupt. 2903 // 2904 // Compare mode: 2905 // VAL is compared against CNTR.VAL and an event is generated as specified by 2906 // C1CFG.CCACT when these are equal. 2907 // 2908 // Capture mode: 2909 // The current counter value is stored in VAL when a capture event occurs. 2910 // C1CFG.CCACT determines if VAL is a signal period or a regular capture value. 2911 #define LGPT_C1CC_VAL_W 16U 2912 #define LGPT_C1CC_VAL_M 0x0000FFFFU 2913 #define LGPT_C1CC_VAL_S 0U 2914 2915 //***************************************************************************** 2916 // 2917 // Register: LGPT_O_C2CC 2918 // 2919 //***************************************************************************** 2920 // Field: [15:0] VAL 2921 // 2922 // Capture Compare value. 2923 // 2924 // User defined compare value or channel-updated capture value. 2925 // 2926 // A read or write to this register will clear the RIS.C2CC interrupt. 2927 // 2928 // Compare mode: 2929 // VAL is compared against CNTR.VAL and an event is generated as specified by 2930 // C2CFG.CCACT when these are equal. 2931 // 2932 // Capture mode: 2933 // The current counter value is stored in VAL when a capture event occurs. 2934 // C2CFG.CCACT determines if VAL is a signal period or a regular capture value. 2935 #define LGPT_C2CC_VAL_W 16U 2936 #define LGPT_C2CC_VAL_M 0x0000FFFFU 2937 #define LGPT_C2CC_VAL_S 0U 2938 2939 //***************************************************************************** 2940 // 2941 // Register: LGPT_O_PTGTNC 2942 // 2943 //***************************************************************************** 2944 // Field: [15:0] VAL 2945 // 2946 // A read or write to this register will not clear the RIS.TGT interrupt. 2947 // 2948 // If CTL.MODE != QDEC. 2949 // Target value for next counter period. 2950 // The timer copies VAL to TGT.VAL when CNTR.VAL becomes 0. The copy does not 2951 // happen when restarting the timer. 2952 // This is useful to avoid period jitter in PWM applications with time-varying 2953 // period, sometimes referenced as phase corrected PWM. 2954 // 2955 // If CTL.MODE = QDEC. 2956 // The CNTR.VAL is updated with VAL on IDX. VAL is not loaded into TGT.VAL when 2957 // CNTR.VAL becomes 0. 2958 #define LGPT_PTGTNC_VAL_W 16U 2959 #define LGPT_PTGTNC_VAL_M 0x0000FFFFU 2960 #define LGPT_PTGTNC_VAL_S 0U 2961 2962 //***************************************************************************** 2963 // 2964 // Register: LGPT_O_PC0CCNC 2965 // 2966 //***************************************************************************** 2967 // Field: [15:0] VAL 2968 // 2969 // Pipeline Capture Compare value. 2970 // 2971 // User defined pipeline compare value or channel-updated capture value. 2972 // 2973 // A read or write to this register will not clear the RIS.C0CC interrupt. 2974 // 2975 // Compare mode: 2976 // An update of VAL will be transferred to C0CC.VAL when the next CNTR.VAL is 2977 // zero and CTL.MODE is different from DIS. This is useful for PWM generation 2978 // and prevents jitter on the edges of the generated signal. 2979 // 2980 // Capture mode: 2981 // When C0CFG.CCACT equals PER_PULSE_WIDTH_MEAS then VAL contains the width of 2982 // the low or high phase of the selected signal. This is specified by 2983 // C0CFG.EDGE. 2984 #define LGPT_PC0CCNC_VAL_W 16U 2985 #define LGPT_PC0CCNC_VAL_M 0x0000FFFFU 2986 #define LGPT_PC0CCNC_VAL_S 0U 2987 2988 //***************************************************************************** 2989 // 2990 // Register: LGPT_O_PC1CCNC 2991 // 2992 //***************************************************************************** 2993 // Field: [15:0] VAL 2994 // 2995 // Pipeline Capture Compare value. 2996 // 2997 // User defined pipeline compare value or channel-updated capture value. 2998 // 2999 // A read or write to this register will not clear the RIS.C1CC interrupt. 3000 // 3001 // Compare mode: 3002 // An update of VAL will be transferred to C1CC.VAL when the next CNTR.VAL is 3003 // zero and CTL.MODE is different from DIS. This is useful for PWM generation 3004 // and prevents jitter on the edges of the generated signal. 3005 // 3006 // Capture mode: 3007 // When C1CFG.CCACT equals PER_PULSE_WIDTH_MEAS then VAL contains the width of 3008 // the low or high phase of the selected signal. This is specified by 3009 // C1CFG.EDGE. 3010 #define LGPT_PC1CCNC_VAL_W 16U 3011 #define LGPT_PC1CCNC_VAL_M 0x0000FFFFU 3012 #define LGPT_PC1CCNC_VAL_S 0U 3013 3014 //***************************************************************************** 3015 // 3016 // Register: LGPT_O_PC2CCNC 3017 // 3018 //***************************************************************************** 3019 // Field: [15:0] VAL 3020 // 3021 // Pipeline Capture Compare value. 3022 // 3023 // User defined pipeline compare value or channel-updated capture value. 3024 // 3025 // A read or write to this register will not clear the RIS.C2CC interrupt. 3026 // 3027 // Compare mode: 3028 // An update of VAL will be transferred to C2CC.VAL when the next CNTR.VAL is 3029 // zero and CTL.MODE is different from DIS. This is useful for PWM generation 3030 // and prevents jitter on the edges of the generated signal. 3031 // 3032 // Capture mode: 3033 // When C2CFG.CCACT equals PER_PULSE_WIDTH_MEAS then VAL contains the width of 3034 // the low or high phase of the selected signal. This is specified by 3035 // C2CFG.EDGE. 3036 #define LGPT_PC2CCNC_VAL_W 16U 3037 #define LGPT_PC2CCNC_VAL_M 0x0000FFFFU 3038 #define LGPT_PC2CCNC_VAL_S 0U 3039 3040 //***************************************************************************** 3041 // 3042 // Register: LGPT_O_TGTNC 3043 // 3044 //***************************************************************************** 3045 // Field: [15:0] VAL 3046 // 3047 // User defined counter target value. 3048 #define LGPT_TGTNC_VAL_W 16U 3049 #define LGPT_TGTNC_VAL_M 0x0000FFFFU 3050 #define LGPT_TGTNC_VAL_S 0U 3051 3052 //***************************************************************************** 3053 // 3054 // Register: LGPT_O_C0CCNC 3055 // 3056 //***************************************************************************** 3057 // Field: [15:0] VAL 3058 // 3059 // Capture Compare value. 3060 // 3061 // User defined compare value or channel-updated capture value. 3062 // 3063 // A read or write to this register will not clear the RIS.C0CC interrupt. 3064 // 3065 // Compare mode: 3066 // VAL is compared against CNTR.VAL and an event is generated as specified by 3067 // C0CFG.CCACT when these are equal. 3068 // 3069 // Capture mode: 3070 // The current counter value is stored in VAL when a capture event occurs. 3071 // C0CFG.CCACT determines if VAL is a signal period or a regular capture value. 3072 #define LGPT_C0CCNC_VAL_W 16U 3073 #define LGPT_C0CCNC_VAL_M 0x0000FFFFU 3074 #define LGPT_C0CCNC_VAL_S 0U 3075 3076 //***************************************************************************** 3077 // 3078 // Register: LGPT_O_C1CCNC 3079 // 3080 //***************************************************************************** 3081 // Field: [15:0] VAL 3082 // 3083 // Capture Compare value. 3084 // 3085 // User defined compare value or channel-updated capture value. 3086 // 3087 // A read or write to this register will not clear the RIS.C1CC interrupt. 3088 // 3089 // Compare mode: 3090 // VAL is compared against CNTR.VAL and an event is generated as specified by 3091 // C1CFG.CCACT when these are equal. 3092 // 3093 // Capture mode: 3094 // The current counter value is stored in VAL when a capture event occurs. 3095 // C1CFG.CCACT determines if VAL is a signal period or a regular capture value. 3096 #define LGPT_C1CCNC_VAL_W 16U 3097 #define LGPT_C1CCNC_VAL_M 0x0000FFFFU 3098 #define LGPT_C1CCNC_VAL_S 0U 3099 3100 //***************************************************************************** 3101 // 3102 // Register: LGPT_O_C2CCNC 3103 // 3104 //***************************************************************************** 3105 // Field: [15:0] VAL 3106 // 3107 // Capture Compare value. 3108 // 3109 // User defined compare value or channel-updated capture value. 3110 // 3111 // A read or write to this register will not clear the RIS.C2CC interrupt. 3112 // 3113 // Compare mode: 3114 // VAL is compared against CNTR.VAL and an event is generated as specified by 3115 // C2CFG.CCACT when these are equal. 3116 // 3117 // Capture mode: 3118 // The current counter value is stored in VAL when a capture event occurs. 3119 // C2CFG.CCACT determines if VAL is a signal period or a regular capture value. 3120 #define LGPT_C2CCNC_VAL_W 16U 3121 #define LGPT_C2CCNC_VAL_M 0x0000FFFFU 3122 #define LGPT_C2CCNC_VAL_S 0U 3123 3124 3125 #endif // __LGPT__ 3126