CC23x0R5DriverLibrary
hw_lgpt.h
Go to the documentation of this file.
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__