tcc.h 176 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417
  1. /**
  2. * \brief Component description for TCC
  3. *
  4. * Copyright (c) 2021 Microchip Technology Inc. and its subsidiaries.
  5. *
  6. * Subject to your compliance with these terms, you may use Microchip software and any derivatives
  7. * exclusively with Microchip products. It is your responsibility to comply with third party license
  8. * terms applicable to your use of third party software (including open source software) that may
  9. * accompany Microchip software.
  10. *
  11. * THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY,
  12. * APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND
  13. * FITNESS FOR A PARTICULAR PURPOSE.
  14. *
  15. * IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
  16. * LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF
  17. * MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
  18. * ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT
  19. * EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
  20. *
  21. */
  22. /* file generated from device description version 2019-11-25T06:52:33Z */
  23. #ifndef _SAMD21_TCC_COMPONENT_H_
  24. #define _SAMD21_TCC_COMPONENT_H_
  25. /* ************************************************************************** */
  26. /* SOFTWARE API DEFINITION FOR TCC */
  27. /* ************************************************************************** */
  28. /* -------- TCC_CTRLA : (TCC Offset: 0x00) (R/W 32) Control A -------- */
  29. #define TCC_CTRLA_RESETVALUE _U_(0x00) /**< (TCC_CTRLA) Control A Reset Value */
  30. #define TCC_CTRLA_SWRST_Pos _U_(0) /**< (TCC_CTRLA) Software Reset Position */
  31. #define TCC_CTRLA_SWRST_Msk (_U_(0x1) << TCC_CTRLA_SWRST_Pos) /**< (TCC_CTRLA) Software Reset Mask */
  32. #define TCC_CTRLA_SWRST(value) (TCC_CTRLA_SWRST_Msk & ((value) << TCC_CTRLA_SWRST_Pos))
  33. #define TCC_CTRLA_ENABLE_Pos _U_(1) /**< (TCC_CTRLA) Enable Position */
  34. #define TCC_CTRLA_ENABLE_Msk (_U_(0x1) << TCC_CTRLA_ENABLE_Pos) /**< (TCC_CTRLA) Enable Mask */
  35. #define TCC_CTRLA_ENABLE(value) (TCC_CTRLA_ENABLE_Msk & ((value) << TCC_CTRLA_ENABLE_Pos))
  36. #define TCC_CTRLA_RESOLUTION_Pos _U_(5) /**< (TCC_CTRLA) Enhanced Resolution Position */
  37. #define TCC_CTRLA_RESOLUTION_Msk (_U_(0x3) << TCC_CTRLA_RESOLUTION_Pos) /**< (TCC_CTRLA) Enhanced Resolution Mask */
  38. #define TCC_CTRLA_RESOLUTION(value) (TCC_CTRLA_RESOLUTION_Msk & ((value) << TCC_CTRLA_RESOLUTION_Pos))
  39. #define TCC_CTRLA_RESOLUTION_NONE_Val _U_(0x0) /**< (TCC_CTRLA) Dithering is disabled */
  40. #define TCC_CTRLA_RESOLUTION_DITH4_Val _U_(0x1) /**< (TCC_CTRLA) Dithering is done every 16 PWM frames */
  41. #define TCC_CTRLA_RESOLUTION_DITH5_Val _U_(0x2) /**< (TCC_CTRLA) Dithering is done every 32 PWM frames */
  42. #define TCC_CTRLA_RESOLUTION_DITH6_Val _U_(0x3) /**< (TCC_CTRLA) Dithering is done every 64 PWM frames */
  43. #define TCC_CTRLA_RESOLUTION_NONE (TCC_CTRLA_RESOLUTION_NONE_Val << TCC_CTRLA_RESOLUTION_Pos) /**< (TCC_CTRLA) Dithering is disabled Position */
  44. #define TCC_CTRLA_RESOLUTION_DITH4 (TCC_CTRLA_RESOLUTION_DITH4_Val << TCC_CTRLA_RESOLUTION_Pos) /**< (TCC_CTRLA) Dithering is done every 16 PWM frames Position */
  45. #define TCC_CTRLA_RESOLUTION_DITH5 (TCC_CTRLA_RESOLUTION_DITH5_Val << TCC_CTRLA_RESOLUTION_Pos) /**< (TCC_CTRLA) Dithering is done every 32 PWM frames Position */
  46. #define TCC_CTRLA_RESOLUTION_DITH6 (TCC_CTRLA_RESOLUTION_DITH6_Val << TCC_CTRLA_RESOLUTION_Pos) /**< (TCC_CTRLA) Dithering is done every 64 PWM frames Position */
  47. #define TCC_CTRLA_PRESCALER_Pos _U_(8) /**< (TCC_CTRLA) Prescaler Position */
  48. #define TCC_CTRLA_PRESCALER_Msk (_U_(0x7) << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) Prescaler Mask */
  49. #define TCC_CTRLA_PRESCALER(value) (TCC_CTRLA_PRESCALER_Msk & ((value) << TCC_CTRLA_PRESCALER_Pos))
  50. #define TCC_CTRLA_PRESCALER_DIV1_Val _U_(0x0) /**< (TCC_CTRLA) No division */
  51. #define TCC_CTRLA_PRESCALER_DIV2_Val _U_(0x1) /**< (TCC_CTRLA) Divide by 2 */
  52. #define TCC_CTRLA_PRESCALER_DIV4_Val _U_(0x2) /**< (TCC_CTRLA) Divide by 4 */
  53. #define TCC_CTRLA_PRESCALER_DIV8_Val _U_(0x3) /**< (TCC_CTRLA) Divide by 8 */
  54. #define TCC_CTRLA_PRESCALER_DIV16_Val _U_(0x4) /**< (TCC_CTRLA) Divide by 16 */
  55. #define TCC_CTRLA_PRESCALER_DIV64_Val _U_(0x5) /**< (TCC_CTRLA) Divide by 64 */
  56. #define TCC_CTRLA_PRESCALER_DIV256_Val _U_(0x6) /**< (TCC_CTRLA) Divide by 256 */
  57. #define TCC_CTRLA_PRESCALER_DIV1024_Val _U_(0x7) /**< (TCC_CTRLA) Divide by 1024 */
  58. #define TCC_CTRLA_PRESCALER_DIV1 (TCC_CTRLA_PRESCALER_DIV1_Val << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) No division Position */
  59. #define TCC_CTRLA_PRESCALER_DIV2 (TCC_CTRLA_PRESCALER_DIV2_Val << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) Divide by 2 Position */
  60. #define TCC_CTRLA_PRESCALER_DIV4 (TCC_CTRLA_PRESCALER_DIV4_Val << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) Divide by 4 Position */
  61. #define TCC_CTRLA_PRESCALER_DIV8 (TCC_CTRLA_PRESCALER_DIV8_Val << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) Divide by 8 Position */
  62. #define TCC_CTRLA_PRESCALER_DIV16 (TCC_CTRLA_PRESCALER_DIV16_Val << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) Divide by 16 Position */
  63. #define TCC_CTRLA_PRESCALER_DIV64 (TCC_CTRLA_PRESCALER_DIV64_Val << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) Divide by 64 Position */
  64. #define TCC_CTRLA_PRESCALER_DIV256 (TCC_CTRLA_PRESCALER_DIV256_Val << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) Divide by 256 Position */
  65. #define TCC_CTRLA_PRESCALER_DIV1024 (TCC_CTRLA_PRESCALER_DIV1024_Val << TCC_CTRLA_PRESCALER_Pos) /**< (TCC_CTRLA) Divide by 1024 Position */
  66. #define TCC_CTRLA_RUNSTDBY_Pos _U_(11) /**< (TCC_CTRLA) Run in Standby Position */
  67. #define TCC_CTRLA_RUNSTDBY_Msk (_U_(0x1) << TCC_CTRLA_RUNSTDBY_Pos) /**< (TCC_CTRLA) Run in Standby Mask */
  68. #define TCC_CTRLA_RUNSTDBY(value) (TCC_CTRLA_RUNSTDBY_Msk & ((value) << TCC_CTRLA_RUNSTDBY_Pos))
  69. #define TCC_CTRLA_PRESCSYNC_Pos _U_(12) /**< (TCC_CTRLA) Prescaler and Counter Synchronization Selection Position */
  70. #define TCC_CTRLA_PRESCSYNC_Msk (_U_(0x3) << TCC_CTRLA_PRESCSYNC_Pos) /**< (TCC_CTRLA) Prescaler and Counter Synchronization Selection Mask */
  71. #define TCC_CTRLA_PRESCSYNC(value) (TCC_CTRLA_PRESCSYNC_Msk & ((value) << TCC_CTRLA_PRESCSYNC_Pos))
  72. #define TCC_CTRLA_PRESCSYNC_GCLK_Val _U_(0x0) /**< (TCC_CTRLA) Reload or reset counter on next GCLK */
  73. #define TCC_CTRLA_PRESCSYNC_PRESC_Val _U_(0x1) /**< (TCC_CTRLA) Reload or reset counter on next prescaler clock */
  74. #define TCC_CTRLA_PRESCSYNC_RESYNC_Val _U_(0x2) /**< (TCC_CTRLA) Reload or reset counter on next GCLK and reset prescaler counter */
  75. #define TCC_CTRLA_PRESCSYNC_GCLK (TCC_CTRLA_PRESCSYNC_GCLK_Val << TCC_CTRLA_PRESCSYNC_Pos) /**< (TCC_CTRLA) Reload or reset counter on next GCLK Position */
  76. #define TCC_CTRLA_PRESCSYNC_PRESC (TCC_CTRLA_PRESCSYNC_PRESC_Val << TCC_CTRLA_PRESCSYNC_Pos) /**< (TCC_CTRLA) Reload or reset counter on next prescaler clock Position */
  77. #define TCC_CTRLA_PRESCSYNC_RESYNC (TCC_CTRLA_PRESCSYNC_RESYNC_Val << TCC_CTRLA_PRESCSYNC_Pos) /**< (TCC_CTRLA) Reload or reset counter on next GCLK and reset prescaler counter Position */
  78. #define TCC_CTRLA_ALOCK_Pos _U_(14) /**< (TCC_CTRLA) Auto Lock Position */
  79. #define TCC_CTRLA_ALOCK_Msk (_U_(0x1) << TCC_CTRLA_ALOCK_Pos) /**< (TCC_CTRLA) Auto Lock Mask */
  80. #define TCC_CTRLA_ALOCK(value) (TCC_CTRLA_ALOCK_Msk & ((value) << TCC_CTRLA_ALOCK_Pos))
  81. #define TCC_CTRLA_CPTEN0_Pos _U_(24) /**< (TCC_CTRLA) Capture Channel 0 Enable Position */
  82. #define TCC_CTRLA_CPTEN0_Msk (_U_(0x1) << TCC_CTRLA_CPTEN0_Pos) /**< (TCC_CTRLA) Capture Channel 0 Enable Mask */
  83. #define TCC_CTRLA_CPTEN0(value) (TCC_CTRLA_CPTEN0_Msk & ((value) << TCC_CTRLA_CPTEN0_Pos))
  84. #define TCC_CTRLA_CPTEN1_Pos _U_(25) /**< (TCC_CTRLA) Capture Channel 1 Enable Position */
  85. #define TCC_CTRLA_CPTEN1_Msk (_U_(0x1) << TCC_CTRLA_CPTEN1_Pos) /**< (TCC_CTRLA) Capture Channel 1 Enable Mask */
  86. #define TCC_CTRLA_CPTEN1(value) (TCC_CTRLA_CPTEN1_Msk & ((value) << TCC_CTRLA_CPTEN1_Pos))
  87. #define TCC_CTRLA_CPTEN2_Pos _U_(26) /**< (TCC_CTRLA) Capture Channel 2 Enable Position */
  88. #define TCC_CTRLA_CPTEN2_Msk (_U_(0x1) << TCC_CTRLA_CPTEN2_Pos) /**< (TCC_CTRLA) Capture Channel 2 Enable Mask */
  89. #define TCC_CTRLA_CPTEN2(value) (TCC_CTRLA_CPTEN2_Msk & ((value) << TCC_CTRLA_CPTEN2_Pos))
  90. #define TCC_CTRLA_CPTEN3_Pos _U_(27) /**< (TCC_CTRLA) Capture Channel 3 Enable Position */
  91. #define TCC_CTRLA_CPTEN3_Msk (_U_(0x1) << TCC_CTRLA_CPTEN3_Pos) /**< (TCC_CTRLA) Capture Channel 3 Enable Mask */
  92. #define TCC_CTRLA_CPTEN3(value) (TCC_CTRLA_CPTEN3_Msk & ((value) << TCC_CTRLA_CPTEN3_Pos))
  93. #define TCC_CTRLA_Msk _U_(0x0F007F63) /**< (TCC_CTRLA) Register Mask */
  94. #define TCC_CTRLA_CPTEN_Pos _U_(24) /**< (TCC_CTRLA Position) Capture Channel 3 Enable */
  95. #define TCC_CTRLA_CPTEN_Msk (_U_(0xF) << TCC_CTRLA_CPTEN_Pos) /**< (TCC_CTRLA Mask) CPTEN */
  96. #define TCC_CTRLA_CPTEN(value) (TCC_CTRLA_CPTEN_Msk & ((value) << TCC_CTRLA_CPTEN_Pos))
  97. /* -------- TCC_CTRLBCLR : (TCC Offset: 0x04) (R/W 8) Control B Clear -------- */
  98. #define TCC_CTRLBCLR_RESETVALUE _U_(0x00) /**< (TCC_CTRLBCLR) Control B Clear Reset Value */
  99. #define TCC_CTRLBCLR_DIR_Pos _U_(0) /**< (TCC_CTRLBCLR) Counter Direction Position */
  100. #define TCC_CTRLBCLR_DIR_Msk (_U_(0x1) << TCC_CTRLBCLR_DIR_Pos) /**< (TCC_CTRLBCLR) Counter Direction Mask */
  101. #define TCC_CTRLBCLR_DIR(value) (TCC_CTRLBCLR_DIR_Msk & ((value) << TCC_CTRLBCLR_DIR_Pos))
  102. #define TCC_CTRLBCLR_LUPD_Pos _U_(1) /**< (TCC_CTRLBCLR) Lock Update Position */
  103. #define TCC_CTRLBCLR_LUPD_Msk (_U_(0x1) << TCC_CTRLBCLR_LUPD_Pos) /**< (TCC_CTRLBCLR) Lock Update Mask */
  104. #define TCC_CTRLBCLR_LUPD(value) (TCC_CTRLBCLR_LUPD_Msk & ((value) << TCC_CTRLBCLR_LUPD_Pos))
  105. #define TCC_CTRLBCLR_ONESHOT_Pos _U_(2) /**< (TCC_CTRLBCLR) One-Shot Position */
  106. #define TCC_CTRLBCLR_ONESHOT_Msk (_U_(0x1) << TCC_CTRLBCLR_ONESHOT_Pos) /**< (TCC_CTRLBCLR) One-Shot Mask */
  107. #define TCC_CTRLBCLR_ONESHOT(value) (TCC_CTRLBCLR_ONESHOT_Msk & ((value) << TCC_CTRLBCLR_ONESHOT_Pos))
  108. #define TCC_CTRLBCLR_IDXCMD_Pos _U_(3) /**< (TCC_CTRLBCLR) Ramp Index Command Position */
  109. #define TCC_CTRLBCLR_IDXCMD_Msk (_U_(0x3) << TCC_CTRLBCLR_IDXCMD_Pos) /**< (TCC_CTRLBCLR) Ramp Index Command Mask */
  110. #define TCC_CTRLBCLR_IDXCMD(value) (TCC_CTRLBCLR_IDXCMD_Msk & ((value) << TCC_CTRLBCLR_IDXCMD_Pos))
  111. #define TCC_CTRLBCLR_IDXCMD_DISABLE_Val _U_(0x0) /**< (TCC_CTRLBCLR) Command disabled: Index toggles between cycles A and B */
  112. #define TCC_CTRLBCLR_IDXCMD_SET_Val _U_(0x1) /**< (TCC_CTRLBCLR) Set index: cycle B will be forced in the next cycle */
  113. #define TCC_CTRLBCLR_IDXCMD_CLEAR_Val _U_(0x2) /**< (TCC_CTRLBCLR) Clear index: cycle A will be forced in the next cycle */
  114. #define TCC_CTRLBCLR_IDXCMD_HOLD_Val _U_(0x3) /**< (TCC_CTRLBCLR) Hold index: the next cycle will be the same as the current cycle */
  115. #define TCC_CTRLBCLR_IDXCMD_DISABLE (TCC_CTRLBCLR_IDXCMD_DISABLE_Val << TCC_CTRLBCLR_IDXCMD_Pos) /**< (TCC_CTRLBCLR) Command disabled: Index toggles between cycles A and B Position */
  116. #define TCC_CTRLBCLR_IDXCMD_SET (TCC_CTRLBCLR_IDXCMD_SET_Val << TCC_CTRLBCLR_IDXCMD_Pos) /**< (TCC_CTRLBCLR) Set index: cycle B will be forced in the next cycle Position */
  117. #define TCC_CTRLBCLR_IDXCMD_CLEAR (TCC_CTRLBCLR_IDXCMD_CLEAR_Val << TCC_CTRLBCLR_IDXCMD_Pos) /**< (TCC_CTRLBCLR) Clear index: cycle A will be forced in the next cycle Position */
  118. #define TCC_CTRLBCLR_IDXCMD_HOLD (TCC_CTRLBCLR_IDXCMD_HOLD_Val << TCC_CTRLBCLR_IDXCMD_Pos) /**< (TCC_CTRLBCLR) Hold index: the next cycle will be the same as the current cycle Position */
  119. #define TCC_CTRLBCLR_CMD_Pos _U_(5) /**< (TCC_CTRLBCLR) TCC Command Position */
  120. #define TCC_CTRLBCLR_CMD_Msk (_U_(0x7) << TCC_CTRLBCLR_CMD_Pos) /**< (TCC_CTRLBCLR) TCC Command Mask */
  121. #define TCC_CTRLBCLR_CMD(value) (TCC_CTRLBCLR_CMD_Msk & ((value) << TCC_CTRLBCLR_CMD_Pos))
  122. #define TCC_CTRLBCLR_CMD_NONE_Val _U_(0x0) /**< (TCC_CTRLBCLR) No action */
  123. #define TCC_CTRLBCLR_CMD_RETRIGGER_Val _U_(0x1) /**< (TCC_CTRLBCLR) Clear start, restart or retrigger */
  124. #define TCC_CTRLBCLR_CMD_STOP_Val _U_(0x2) /**< (TCC_CTRLBCLR) Force stop */
  125. #define TCC_CTRLBCLR_CMD_UPDATE_Val _U_(0x3) /**< (TCC_CTRLBCLR) Force update of double buffered registers */
  126. #define TCC_CTRLBCLR_CMD_READSYNC_Val _U_(0x4) /**< (TCC_CTRLBCLR) Force COUNT read synchronization */
  127. #define TCC_CTRLBCLR_CMD_NONE (TCC_CTRLBCLR_CMD_NONE_Val << TCC_CTRLBCLR_CMD_Pos) /**< (TCC_CTRLBCLR) No action Position */
  128. #define TCC_CTRLBCLR_CMD_RETRIGGER (TCC_CTRLBCLR_CMD_RETRIGGER_Val << TCC_CTRLBCLR_CMD_Pos) /**< (TCC_CTRLBCLR) Clear start, restart or retrigger Position */
  129. #define TCC_CTRLBCLR_CMD_STOP (TCC_CTRLBCLR_CMD_STOP_Val << TCC_CTRLBCLR_CMD_Pos) /**< (TCC_CTRLBCLR) Force stop Position */
  130. #define TCC_CTRLBCLR_CMD_UPDATE (TCC_CTRLBCLR_CMD_UPDATE_Val << TCC_CTRLBCLR_CMD_Pos) /**< (TCC_CTRLBCLR) Force update of double buffered registers Position */
  131. #define TCC_CTRLBCLR_CMD_READSYNC (TCC_CTRLBCLR_CMD_READSYNC_Val << TCC_CTRLBCLR_CMD_Pos) /**< (TCC_CTRLBCLR) Force COUNT read synchronization Position */
  132. #define TCC_CTRLBCLR_Msk _U_(0xFF) /**< (TCC_CTRLBCLR) Register Mask */
  133. /* -------- TCC_CTRLBSET : (TCC Offset: 0x05) (R/W 8) Control B Set -------- */
  134. #define TCC_CTRLBSET_RESETVALUE _U_(0x00) /**< (TCC_CTRLBSET) Control B Set Reset Value */
  135. #define TCC_CTRLBSET_DIR_Pos _U_(0) /**< (TCC_CTRLBSET) Counter Direction Position */
  136. #define TCC_CTRLBSET_DIR_Msk (_U_(0x1) << TCC_CTRLBSET_DIR_Pos) /**< (TCC_CTRLBSET) Counter Direction Mask */
  137. #define TCC_CTRLBSET_DIR(value) (TCC_CTRLBSET_DIR_Msk & ((value) << TCC_CTRLBSET_DIR_Pos))
  138. #define TCC_CTRLBSET_LUPD_Pos _U_(1) /**< (TCC_CTRLBSET) Lock Update Position */
  139. #define TCC_CTRLBSET_LUPD_Msk (_U_(0x1) << TCC_CTRLBSET_LUPD_Pos) /**< (TCC_CTRLBSET) Lock Update Mask */
  140. #define TCC_CTRLBSET_LUPD(value) (TCC_CTRLBSET_LUPD_Msk & ((value) << TCC_CTRLBSET_LUPD_Pos))
  141. #define TCC_CTRLBSET_ONESHOT_Pos _U_(2) /**< (TCC_CTRLBSET) One-Shot Position */
  142. #define TCC_CTRLBSET_ONESHOT_Msk (_U_(0x1) << TCC_CTRLBSET_ONESHOT_Pos) /**< (TCC_CTRLBSET) One-Shot Mask */
  143. #define TCC_CTRLBSET_ONESHOT(value) (TCC_CTRLBSET_ONESHOT_Msk & ((value) << TCC_CTRLBSET_ONESHOT_Pos))
  144. #define TCC_CTRLBSET_IDXCMD_Pos _U_(3) /**< (TCC_CTRLBSET) Ramp Index Command Position */
  145. #define TCC_CTRLBSET_IDXCMD_Msk (_U_(0x3) << TCC_CTRLBSET_IDXCMD_Pos) /**< (TCC_CTRLBSET) Ramp Index Command Mask */
  146. #define TCC_CTRLBSET_IDXCMD(value) (TCC_CTRLBSET_IDXCMD_Msk & ((value) << TCC_CTRLBSET_IDXCMD_Pos))
  147. #define TCC_CTRLBSET_IDXCMD_DISABLE_Val _U_(0x0) /**< (TCC_CTRLBSET) Command disabled: Index toggles between cycles A and B */
  148. #define TCC_CTRLBSET_IDXCMD_SET_Val _U_(0x1) /**< (TCC_CTRLBSET) Set index: cycle B will be forced in the next cycle */
  149. #define TCC_CTRLBSET_IDXCMD_CLEAR_Val _U_(0x2) /**< (TCC_CTRLBSET) Clear index: cycle A will be forced in the next cycle */
  150. #define TCC_CTRLBSET_IDXCMD_HOLD_Val _U_(0x3) /**< (TCC_CTRLBSET) Hold index: the next cycle will be the same as the current cycle */
  151. #define TCC_CTRLBSET_IDXCMD_DISABLE (TCC_CTRLBSET_IDXCMD_DISABLE_Val << TCC_CTRLBSET_IDXCMD_Pos) /**< (TCC_CTRLBSET) Command disabled: Index toggles between cycles A and B Position */
  152. #define TCC_CTRLBSET_IDXCMD_SET (TCC_CTRLBSET_IDXCMD_SET_Val << TCC_CTRLBSET_IDXCMD_Pos) /**< (TCC_CTRLBSET) Set index: cycle B will be forced in the next cycle Position */
  153. #define TCC_CTRLBSET_IDXCMD_CLEAR (TCC_CTRLBSET_IDXCMD_CLEAR_Val << TCC_CTRLBSET_IDXCMD_Pos) /**< (TCC_CTRLBSET) Clear index: cycle A will be forced in the next cycle Position */
  154. #define TCC_CTRLBSET_IDXCMD_HOLD (TCC_CTRLBSET_IDXCMD_HOLD_Val << TCC_CTRLBSET_IDXCMD_Pos) /**< (TCC_CTRLBSET) Hold index: the next cycle will be the same as the current cycle Position */
  155. #define TCC_CTRLBSET_CMD_Pos _U_(5) /**< (TCC_CTRLBSET) TCC Command Position */
  156. #define TCC_CTRLBSET_CMD_Msk (_U_(0x7) << TCC_CTRLBSET_CMD_Pos) /**< (TCC_CTRLBSET) TCC Command Mask */
  157. #define TCC_CTRLBSET_CMD(value) (TCC_CTRLBSET_CMD_Msk & ((value) << TCC_CTRLBSET_CMD_Pos))
  158. #define TCC_CTRLBSET_CMD_NONE_Val _U_(0x0) /**< (TCC_CTRLBSET) No action */
  159. #define TCC_CTRLBSET_CMD_RETRIGGER_Val _U_(0x1) /**< (TCC_CTRLBSET) Clear start, restart or retrigger */
  160. #define TCC_CTRLBSET_CMD_STOP_Val _U_(0x2) /**< (TCC_CTRLBSET) Force stop */
  161. #define TCC_CTRLBSET_CMD_UPDATE_Val _U_(0x3) /**< (TCC_CTRLBSET) Force update of double buffered registers */
  162. #define TCC_CTRLBSET_CMD_READSYNC_Val _U_(0x4) /**< (TCC_CTRLBSET) Force COUNT read synchronization */
  163. #define TCC_CTRLBSET_CMD_NONE (TCC_CTRLBSET_CMD_NONE_Val << TCC_CTRLBSET_CMD_Pos) /**< (TCC_CTRLBSET) No action Position */
  164. #define TCC_CTRLBSET_CMD_RETRIGGER (TCC_CTRLBSET_CMD_RETRIGGER_Val << TCC_CTRLBSET_CMD_Pos) /**< (TCC_CTRLBSET) Clear start, restart or retrigger Position */
  165. #define TCC_CTRLBSET_CMD_STOP (TCC_CTRLBSET_CMD_STOP_Val << TCC_CTRLBSET_CMD_Pos) /**< (TCC_CTRLBSET) Force stop Position */
  166. #define TCC_CTRLBSET_CMD_UPDATE (TCC_CTRLBSET_CMD_UPDATE_Val << TCC_CTRLBSET_CMD_Pos) /**< (TCC_CTRLBSET) Force update of double buffered registers Position */
  167. #define TCC_CTRLBSET_CMD_READSYNC (TCC_CTRLBSET_CMD_READSYNC_Val << TCC_CTRLBSET_CMD_Pos) /**< (TCC_CTRLBSET) Force COUNT read synchronization Position */
  168. #define TCC_CTRLBSET_Msk _U_(0xFF) /**< (TCC_CTRLBSET) Register Mask */
  169. /* -------- TCC_SYNCBUSY : (TCC Offset: 0x08) ( R/ 32) Synchronization Busy -------- */
  170. #define TCC_SYNCBUSY_RESETVALUE _U_(0x00) /**< (TCC_SYNCBUSY) Synchronization Busy Reset Value */
  171. #define TCC_SYNCBUSY_SWRST_Pos _U_(0) /**< (TCC_SYNCBUSY) Swrst Busy Position */
  172. #define TCC_SYNCBUSY_SWRST_Msk (_U_(0x1) << TCC_SYNCBUSY_SWRST_Pos) /**< (TCC_SYNCBUSY) Swrst Busy Mask */
  173. #define TCC_SYNCBUSY_SWRST(value) (TCC_SYNCBUSY_SWRST_Msk & ((value) << TCC_SYNCBUSY_SWRST_Pos))
  174. #define TCC_SYNCBUSY_ENABLE_Pos _U_(1) /**< (TCC_SYNCBUSY) Enable Busy Position */
  175. #define TCC_SYNCBUSY_ENABLE_Msk (_U_(0x1) << TCC_SYNCBUSY_ENABLE_Pos) /**< (TCC_SYNCBUSY) Enable Busy Mask */
  176. #define TCC_SYNCBUSY_ENABLE(value) (TCC_SYNCBUSY_ENABLE_Msk & ((value) << TCC_SYNCBUSY_ENABLE_Pos))
  177. #define TCC_SYNCBUSY_CTRLB_Pos _U_(2) /**< (TCC_SYNCBUSY) Ctrlb Busy Position */
  178. #define TCC_SYNCBUSY_CTRLB_Msk (_U_(0x1) << TCC_SYNCBUSY_CTRLB_Pos) /**< (TCC_SYNCBUSY) Ctrlb Busy Mask */
  179. #define TCC_SYNCBUSY_CTRLB(value) (TCC_SYNCBUSY_CTRLB_Msk & ((value) << TCC_SYNCBUSY_CTRLB_Pos))
  180. #define TCC_SYNCBUSY_STATUS_Pos _U_(3) /**< (TCC_SYNCBUSY) Status Busy Position */
  181. #define TCC_SYNCBUSY_STATUS_Msk (_U_(0x1) << TCC_SYNCBUSY_STATUS_Pos) /**< (TCC_SYNCBUSY) Status Busy Mask */
  182. #define TCC_SYNCBUSY_STATUS(value) (TCC_SYNCBUSY_STATUS_Msk & ((value) << TCC_SYNCBUSY_STATUS_Pos))
  183. #define TCC_SYNCBUSY_COUNT_Pos _U_(4) /**< (TCC_SYNCBUSY) Count Busy Position */
  184. #define TCC_SYNCBUSY_COUNT_Msk (_U_(0x1) << TCC_SYNCBUSY_COUNT_Pos) /**< (TCC_SYNCBUSY) Count Busy Mask */
  185. #define TCC_SYNCBUSY_COUNT(value) (TCC_SYNCBUSY_COUNT_Msk & ((value) << TCC_SYNCBUSY_COUNT_Pos))
  186. #define TCC_SYNCBUSY_PATT_Pos _U_(5) /**< (TCC_SYNCBUSY) Pattern Busy Position */
  187. #define TCC_SYNCBUSY_PATT_Msk (_U_(0x1) << TCC_SYNCBUSY_PATT_Pos) /**< (TCC_SYNCBUSY) Pattern Busy Mask */
  188. #define TCC_SYNCBUSY_PATT(value) (TCC_SYNCBUSY_PATT_Msk & ((value) << TCC_SYNCBUSY_PATT_Pos))
  189. #define TCC_SYNCBUSY_WAVE_Pos _U_(6) /**< (TCC_SYNCBUSY) Wave Busy Position */
  190. #define TCC_SYNCBUSY_WAVE_Msk (_U_(0x1) << TCC_SYNCBUSY_WAVE_Pos) /**< (TCC_SYNCBUSY) Wave Busy Mask */
  191. #define TCC_SYNCBUSY_WAVE(value) (TCC_SYNCBUSY_WAVE_Msk & ((value) << TCC_SYNCBUSY_WAVE_Pos))
  192. #define TCC_SYNCBUSY_PER_Pos _U_(7) /**< (TCC_SYNCBUSY) Period busy Position */
  193. #define TCC_SYNCBUSY_PER_Msk (_U_(0x1) << TCC_SYNCBUSY_PER_Pos) /**< (TCC_SYNCBUSY) Period busy Mask */
  194. #define TCC_SYNCBUSY_PER(value) (TCC_SYNCBUSY_PER_Msk & ((value) << TCC_SYNCBUSY_PER_Pos))
  195. #define TCC_SYNCBUSY_CC0_Pos _U_(8) /**< (TCC_SYNCBUSY) Compare Channel 0 Busy Position */
  196. #define TCC_SYNCBUSY_CC0_Msk (_U_(0x1) << TCC_SYNCBUSY_CC0_Pos) /**< (TCC_SYNCBUSY) Compare Channel 0 Busy Mask */
  197. #define TCC_SYNCBUSY_CC0(value) (TCC_SYNCBUSY_CC0_Msk & ((value) << TCC_SYNCBUSY_CC0_Pos))
  198. #define TCC_SYNCBUSY_CC1_Pos _U_(9) /**< (TCC_SYNCBUSY) Compare Channel 1 Busy Position */
  199. #define TCC_SYNCBUSY_CC1_Msk (_U_(0x1) << TCC_SYNCBUSY_CC1_Pos) /**< (TCC_SYNCBUSY) Compare Channel 1 Busy Mask */
  200. #define TCC_SYNCBUSY_CC1(value) (TCC_SYNCBUSY_CC1_Msk & ((value) << TCC_SYNCBUSY_CC1_Pos))
  201. #define TCC_SYNCBUSY_CC2_Pos _U_(10) /**< (TCC_SYNCBUSY) Compare Channel 2 Busy Position */
  202. #define TCC_SYNCBUSY_CC2_Msk (_U_(0x1) << TCC_SYNCBUSY_CC2_Pos) /**< (TCC_SYNCBUSY) Compare Channel 2 Busy Mask */
  203. #define TCC_SYNCBUSY_CC2(value) (TCC_SYNCBUSY_CC2_Msk & ((value) << TCC_SYNCBUSY_CC2_Pos))
  204. #define TCC_SYNCBUSY_CC3_Pos _U_(11) /**< (TCC_SYNCBUSY) Compare Channel 3 Busy Position */
  205. #define TCC_SYNCBUSY_CC3_Msk (_U_(0x1) << TCC_SYNCBUSY_CC3_Pos) /**< (TCC_SYNCBUSY) Compare Channel 3 Busy Mask */
  206. #define TCC_SYNCBUSY_CC3(value) (TCC_SYNCBUSY_CC3_Msk & ((value) << TCC_SYNCBUSY_CC3_Pos))
  207. #define TCC_SYNCBUSY_PATTB_Pos _U_(16) /**< (TCC_SYNCBUSY) Pattern Buffer Busy Position */
  208. #define TCC_SYNCBUSY_PATTB_Msk (_U_(0x1) << TCC_SYNCBUSY_PATTB_Pos) /**< (TCC_SYNCBUSY) Pattern Buffer Busy Mask */
  209. #define TCC_SYNCBUSY_PATTB(value) (TCC_SYNCBUSY_PATTB_Msk & ((value) << TCC_SYNCBUSY_PATTB_Pos))
  210. #define TCC_SYNCBUSY_WAVEB_Pos _U_(17) /**< (TCC_SYNCBUSY) Wave Buffer Busy Position */
  211. #define TCC_SYNCBUSY_WAVEB_Msk (_U_(0x1) << TCC_SYNCBUSY_WAVEB_Pos) /**< (TCC_SYNCBUSY) Wave Buffer Busy Mask */
  212. #define TCC_SYNCBUSY_WAVEB(value) (TCC_SYNCBUSY_WAVEB_Msk & ((value) << TCC_SYNCBUSY_WAVEB_Pos))
  213. #define TCC_SYNCBUSY_PERB_Pos _U_(18) /**< (TCC_SYNCBUSY) Period Buffer Busy Position */
  214. #define TCC_SYNCBUSY_PERB_Msk (_U_(0x1) << TCC_SYNCBUSY_PERB_Pos) /**< (TCC_SYNCBUSY) Period Buffer Busy Mask */
  215. #define TCC_SYNCBUSY_PERB(value) (TCC_SYNCBUSY_PERB_Msk & ((value) << TCC_SYNCBUSY_PERB_Pos))
  216. #define TCC_SYNCBUSY_CCB0_Pos _U_(19) /**< (TCC_SYNCBUSY) Compare Channel Buffer 0 Busy Position */
  217. #define TCC_SYNCBUSY_CCB0_Msk (_U_(0x1) << TCC_SYNCBUSY_CCB0_Pos) /**< (TCC_SYNCBUSY) Compare Channel Buffer 0 Busy Mask */
  218. #define TCC_SYNCBUSY_CCB0(value) (TCC_SYNCBUSY_CCB0_Msk & ((value) << TCC_SYNCBUSY_CCB0_Pos))
  219. #define TCC_SYNCBUSY_CCB1_Pos _U_(20) /**< (TCC_SYNCBUSY) Compare Channel Buffer 1 Busy Position */
  220. #define TCC_SYNCBUSY_CCB1_Msk (_U_(0x1) << TCC_SYNCBUSY_CCB1_Pos) /**< (TCC_SYNCBUSY) Compare Channel Buffer 1 Busy Mask */
  221. #define TCC_SYNCBUSY_CCB1(value) (TCC_SYNCBUSY_CCB1_Msk & ((value) << TCC_SYNCBUSY_CCB1_Pos))
  222. #define TCC_SYNCBUSY_CCB2_Pos _U_(21) /**< (TCC_SYNCBUSY) Compare Channel Buffer 2 Busy Position */
  223. #define TCC_SYNCBUSY_CCB2_Msk (_U_(0x1) << TCC_SYNCBUSY_CCB2_Pos) /**< (TCC_SYNCBUSY) Compare Channel Buffer 2 Busy Mask */
  224. #define TCC_SYNCBUSY_CCB2(value) (TCC_SYNCBUSY_CCB2_Msk & ((value) << TCC_SYNCBUSY_CCB2_Pos))
  225. #define TCC_SYNCBUSY_CCB3_Pos _U_(22) /**< (TCC_SYNCBUSY) Compare Channel Buffer 3 Busy Position */
  226. #define TCC_SYNCBUSY_CCB3_Msk (_U_(0x1) << TCC_SYNCBUSY_CCB3_Pos) /**< (TCC_SYNCBUSY) Compare Channel Buffer 3 Busy Mask */
  227. #define TCC_SYNCBUSY_CCB3(value) (TCC_SYNCBUSY_CCB3_Msk & ((value) << TCC_SYNCBUSY_CCB3_Pos))
  228. #define TCC_SYNCBUSY_Msk _U_(0x007F0FFF) /**< (TCC_SYNCBUSY) Register Mask */
  229. #define TCC_SYNCBUSY_CC_Pos _U_(8) /**< (TCC_SYNCBUSY Position) Compare Channel x Busy */
  230. #define TCC_SYNCBUSY_CC_Msk (_U_(0xF) << TCC_SYNCBUSY_CC_Pos) /**< (TCC_SYNCBUSY Mask) CC */
  231. #define TCC_SYNCBUSY_CC(value) (TCC_SYNCBUSY_CC_Msk & ((value) << TCC_SYNCBUSY_CC_Pos))
  232. #define TCC_SYNCBUSY_CCB_Pos _U_(19) /**< (TCC_SYNCBUSY Position) Compare Channel Buffer 3 Busy */
  233. #define TCC_SYNCBUSY_CCB_Msk (_U_(0xF) << TCC_SYNCBUSY_CCB_Pos) /**< (TCC_SYNCBUSY Mask) CCB */
  234. #define TCC_SYNCBUSY_CCB(value) (TCC_SYNCBUSY_CCB_Msk & ((value) << TCC_SYNCBUSY_CCB_Pos))
  235. /* -------- TCC_FCTRLA : (TCC Offset: 0x0C) (R/W 32) Recoverable Fault A Configuration -------- */
  236. #define TCC_FCTRLA_RESETVALUE _U_(0x00) /**< (TCC_FCTRLA) Recoverable Fault A Configuration Reset Value */
  237. #define TCC_FCTRLA_SRC_Pos _U_(0) /**< (TCC_FCTRLA) Fault A Source Position */
  238. #define TCC_FCTRLA_SRC_Msk (_U_(0x3) << TCC_FCTRLA_SRC_Pos) /**< (TCC_FCTRLA) Fault A Source Mask */
  239. #define TCC_FCTRLA_SRC(value) (TCC_FCTRLA_SRC_Msk & ((value) << TCC_FCTRLA_SRC_Pos))
  240. #define TCC_FCTRLA_SRC_DISABLE_Val _U_(0x0) /**< (TCC_FCTRLA) Fault input disabled */
  241. #define TCC_FCTRLA_SRC_ENABLE_Val _U_(0x1) /**< (TCC_FCTRLA) MCEx (x=0,1) event input */
  242. #define TCC_FCTRLA_SRC_INVERT_Val _U_(0x2) /**< (TCC_FCTRLA) Inverted MCEx (x=0,1) event input */
  243. #define TCC_FCTRLA_SRC_ALTFAULT_Val _U_(0x3) /**< (TCC_FCTRLA) Alternate fault (A or B) state at the end of the previous period */
  244. #define TCC_FCTRLA_SRC_DISABLE (TCC_FCTRLA_SRC_DISABLE_Val << TCC_FCTRLA_SRC_Pos) /**< (TCC_FCTRLA) Fault input disabled Position */
  245. #define TCC_FCTRLA_SRC_ENABLE (TCC_FCTRLA_SRC_ENABLE_Val << TCC_FCTRLA_SRC_Pos) /**< (TCC_FCTRLA) MCEx (x=0,1) event input Position */
  246. #define TCC_FCTRLA_SRC_INVERT (TCC_FCTRLA_SRC_INVERT_Val << TCC_FCTRLA_SRC_Pos) /**< (TCC_FCTRLA) Inverted MCEx (x=0,1) event input Position */
  247. #define TCC_FCTRLA_SRC_ALTFAULT (TCC_FCTRLA_SRC_ALTFAULT_Val << TCC_FCTRLA_SRC_Pos) /**< (TCC_FCTRLA) Alternate fault (A or B) state at the end of the previous period Position */
  248. #define TCC_FCTRLA_KEEP_Pos _U_(3) /**< (TCC_FCTRLA) Fault A Keeper Position */
  249. #define TCC_FCTRLA_KEEP_Msk (_U_(0x1) << TCC_FCTRLA_KEEP_Pos) /**< (TCC_FCTRLA) Fault A Keeper Mask */
  250. #define TCC_FCTRLA_KEEP(value) (TCC_FCTRLA_KEEP_Msk & ((value) << TCC_FCTRLA_KEEP_Pos))
  251. #define TCC_FCTRLA_QUAL_Pos _U_(4) /**< (TCC_FCTRLA) Fault A Qualification Position */
  252. #define TCC_FCTRLA_QUAL_Msk (_U_(0x1) << TCC_FCTRLA_QUAL_Pos) /**< (TCC_FCTRLA) Fault A Qualification Mask */
  253. #define TCC_FCTRLA_QUAL(value) (TCC_FCTRLA_QUAL_Msk & ((value) << TCC_FCTRLA_QUAL_Pos))
  254. #define TCC_FCTRLA_BLANK_Pos _U_(5) /**< (TCC_FCTRLA) Fault A Blanking Mode Position */
  255. #define TCC_FCTRLA_BLANK_Msk (_U_(0x3) << TCC_FCTRLA_BLANK_Pos) /**< (TCC_FCTRLA) Fault A Blanking Mode Mask */
  256. #define TCC_FCTRLA_BLANK(value) (TCC_FCTRLA_BLANK_Msk & ((value) << TCC_FCTRLA_BLANK_Pos))
  257. #define TCC_FCTRLA_BLANK_NONE_Val _U_(0x0) /**< (TCC_FCTRLA) No blanking applied */
  258. #define TCC_FCTRLA_BLANK_RISE_Val _U_(0x1) /**< (TCC_FCTRLA) Blanking applied from rising edge of the output waveform */
  259. #define TCC_FCTRLA_BLANK_FALL_Val _U_(0x2) /**< (TCC_FCTRLA) Blanking applied from falling edge of the output waveform */
  260. #define TCC_FCTRLA_BLANK_BOTH_Val _U_(0x3) /**< (TCC_FCTRLA) Blanking applied from each toggle of the output waveform */
  261. #define TCC_FCTRLA_BLANK_NONE (TCC_FCTRLA_BLANK_NONE_Val << TCC_FCTRLA_BLANK_Pos) /**< (TCC_FCTRLA) No blanking applied Position */
  262. #define TCC_FCTRLA_BLANK_RISE (TCC_FCTRLA_BLANK_RISE_Val << TCC_FCTRLA_BLANK_Pos) /**< (TCC_FCTRLA) Blanking applied from rising edge of the output waveform Position */
  263. #define TCC_FCTRLA_BLANK_FALL (TCC_FCTRLA_BLANK_FALL_Val << TCC_FCTRLA_BLANK_Pos) /**< (TCC_FCTRLA) Blanking applied from falling edge of the output waveform Position */
  264. #define TCC_FCTRLA_BLANK_BOTH (TCC_FCTRLA_BLANK_BOTH_Val << TCC_FCTRLA_BLANK_Pos) /**< (TCC_FCTRLA) Blanking applied from each toggle of the output waveform Position */
  265. #define TCC_FCTRLA_RESTART_Pos _U_(7) /**< (TCC_FCTRLA) Fault A Restart Position */
  266. #define TCC_FCTRLA_RESTART_Msk (_U_(0x1) << TCC_FCTRLA_RESTART_Pos) /**< (TCC_FCTRLA) Fault A Restart Mask */
  267. #define TCC_FCTRLA_RESTART(value) (TCC_FCTRLA_RESTART_Msk & ((value) << TCC_FCTRLA_RESTART_Pos))
  268. #define TCC_FCTRLA_HALT_Pos _U_(8) /**< (TCC_FCTRLA) Fault A Halt Mode Position */
  269. #define TCC_FCTRLA_HALT_Msk (_U_(0x3) << TCC_FCTRLA_HALT_Pos) /**< (TCC_FCTRLA) Fault A Halt Mode Mask */
  270. #define TCC_FCTRLA_HALT(value) (TCC_FCTRLA_HALT_Msk & ((value) << TCC_FCTRLA_HALT_Pos))
  271. #define TCC_FCTRLA_HALT_DISABLE_Val _U_(0x0) /**< (TCC_FCTRLA) Halt action disabled */
  272. #define TCC_FCTRLA_HALT_HW_Val _U_(0x1) /**< (TCC_FCTRLA) Hardware halt action */
  273. #define TCC_FCTRLA_HALT_SW_Val _U_(0x2) /**< (TCC_FCTRLA) Software halt action */
  274. #define TCC_FCTRLA_HALT_NR_Val _U_(0x3) /**< (TCC_FCTRLA) Non-recoverable fault */
  275. #define TCC_FCTRLA_HALT_DISABLE (TCC_FCTRLA_HALT_DISABLE_Val << TCC_FCTRLA_HALT_Pos) /**< (TCC_FCTRLA) Halt action disabled Position */
  276. #define TCC_FCTRLA_HALT_HW (TCC_FCTRLA_HALT_HW_Val << TCC_FCTRLA_HALT_Pos) /**< (TCC_FCTRLA) Hardware halt action Position */
  277. #define TCC_FCTRLA_HALT_SW (TCC_FCTRLA_HALT_SW_Val << TCC_FCTRLA_HALT_Pos) /**< (TCC_FCTRLA) Software halt action Position */
  278. #define TCC_FCTRLA_HALT_NR (TCC_FCTRLA_HALT_NR_Val << TCC_FCTRLA_HALT_Pos) /**< (TCC_FCTRLA) Non-recoverable fault Position */
  279. #define TCC_FCTRLA_CHSEL_Pos _U_(10) /**< (TCC_FCTRLA) Fault A Capture Channel Position */
  280. #define TCC_FCTRLA_CHSEL_Msk (_U_(0x3) << TCC_FCTRLA_CHSEL_Pos) /**< (TCC_FCTRLA) Fault A Capture Channel Mask */
  281. #define TCC_FCTRLA_CHSEL(value) (TCC_FCTRLA_CHSEL_Msk & ((value) << TCC_FCTRLA_CHSEL_Pos))
  282. #define TCC_FCTRLA_CHSEL_CC0_Val _U_(0x0) /**< (TCC_FCTRLA) Capture value stored in channel 0 */
  283. #define TCC_FCTRLA_CHSEL_CC1_Val _U_(0x1) /**< (TCC_FCTRLA) Capture value stored in channel 1 */
  284. #define TCC_FCTRLA_CHSEL_CC2_Val _U_(0x2) /**< (TCC_FCTRLA) Capture value stored in channel 2 */
  285. #define TCC_FCTRLA_CHSEL_CC3_Val _U_(0x3) /**< (TCC_FCTRLA) Capture value stored in channel 3 */
  286. #define TCC_FCTRLA_CHSEL_CC0 (TCC_FCTRLA_CHSEL_CC0_Val << TCC_FCTRLA_CHSEL_Pos) /**< (TCC_FCTRLA) Capture value stored in channel 0 Position */
  287. #define TCC_FCTRLA_CHSEL_CC1 (TCC_FCTRLA_CHSEL_CC1_Val << TCC_FCTRLA_CHSEL_Pos) /**< (TCC_FCTRLA) Capture value stored in channel 1 Position */
  288. #define TCC_FCTRLA_CHSEL_CC2 (TCC_FCTRLA_CHSEL_CC2_Val << TCC_FCTRLA_CHSEL_Pos) /**< (TCC_FCTRLA) Capture value stored in channel 2 Position */
  289. #define TCC_FCTRLA_CHSEL_CC3 (TCC_FCTRLA_CHSEL_CC3_Val << TCC_FCTRLA_CHSEL_Pos) /**< (TCC_FCTRLA) Capture value stored in channel 3 Position */
  290. #define TCC_FCTRLA_CAPTURE_Pos _U_(12) /**< (TCC_FCTRLA) Fault A Capture Action Position */
  291. #define TCC_FCTRLA_CAPTURE_Msk (_U_(0x7) << TCC_FCTRLA_CAPTURE_Pos) /**< (TCC_FCTRLA) Fault A Capture Action Mask */
  292. #define TCC_FCTRLA_CAPTURE(value) (TCC_FCTRLA_CAPTURE_Msk & ((value) << TCC_FCTRLA_CAPTURE_Pos))
  293. #define TCC_FCTRLA_CAPTURE_DISABLE_Val _U_(0x0) /**< (TCC_FCTRLA) No capture */
  294. #define TCC_FCTRLA_CAPTURE_CAPT_Val _U_(0x1) /**< (TCC_FCTRLA) Capture on fault */
  295. #define TCC_FCTRLA_CAPTURE_CAPTMIN_Val _U_(0x2) /**< (TCC_FCTRLA) Minimum capture */
  296. #define TCC_FCTRLA_CAPTURE_CAPTMAX_Val _U_(0x3) /**< (TCC_FCTRLA) Maximum capture */
  297. #define TCC_FCTRLA_CAPTURE_LOCMIN_Val _U_(0x4) /**< (TCC_FCTRLA) Minimum local detection */
  298. #define TCC_FCTRLA_CAPTURE_LOCMAX_Val _U_(0x5) /**< (TCC_FCTRLA) Maximum local detection */
  299. #define TCC_FCTRLA_CAPTURE_DERIV0_Val _U_(0x6) /**< (TCC_FCTRLA) Minimum and maximum local detection */
  300. #define TCC_FCTRLA_CAPTURE_DISABLE (TCC_FCTRLA_CAPTURE_DISABLE_Val << TCC_FCTRLA_CAPTURE_Pos) /**< (TCC_FCTRLA) No capture Position */
  301. #define TCC_FCTRLA_CAPTURE_CAPT (TCC_FCTRLA_CAPTURE_CAPT_Val << TCC_FCTRLA_CAPTURE_Pos) /**< (TCC_FCTRLA) Capture on fault Position */
  302. #define TCC_FCTRLA_CAPTURE_CAPTMIN (TCC_FCTRLA_CAPTURE_CAPTMIN_Val << TCC_FCTRLA_CAPTURE_Pos) /**< (TCC_FCTRLA) Minimum capture Position */
  303. #define TCC_FCTRLA_CAPTURE_CAPTMAX (TCC_FCTRLA_CAPTURE_CAPTMAX_Val << TCC_FCTRLA_CAPTURE_Pos) /**< (TCC_FCTRLA) Maximum capture Position */
  304. #define TCC_FCTRLA_CAPTURE_LOCMIN (TCC_FCTRLA_CAPTURE_LOCMIN_Val << TCC_FCTRLA_CAPTURE_Pos) /**< (TCC_FCTRLA) Minimum local detection Position */
  305. #define TCC_FCTRLA_CAPTURE_LOCMAX (TCC_FCTRLA_CAPTURE_LOCMAX_Val << TCC_FCTRLA_CAPTURE_Pos) /**< (TCC_FCTRLA) Maximum local detection Position */
  306. #define TCC_FCTRLA_CAPTURE_DERIV0 (TCC_FCTRLA_CAPTURE_DERIV0_Val << TCC_FCTRLA_CAPTURE_Pos) /**< (TCC_FCTRLA) Minimum and maximum local detection Position */
  307. #define TCC_FCTRLA_BLANKVAL_Pos _U_(16) /**< (TCC_FCTRLA) Fault A Blanking Time Position */
  308. #define TCC_FCTRLA_BLANKVAL_Msk (_U_(0xFF) << TCC_FCTRLA_BLANKVAL_Pos) /**< (TCC_FCTRLA) Fault A Blanking Time Mask */
  309. #define TCC_FCTRLA_BLANKVAL(value) (TCC_FCTRLA_BLANKVAL_Msk & ((value) << TCC_FCTRLA_BLANKVAL_Pos))
  310. #define TCC_FCTRLA_FILTERVAL_Pos _U_(24) /**< (TCC_FCTRLA) Fault A Filter Value Position */
  311. #define TCC_FCTRLA_FILTERVAL_Msk (_U_(0xF) << TCC_FCTRLA_FILTERVAL_Pos) /**< (TCC_FCTRLA) Fault A Filter Value Mask */
  312. #define TCC_FCTRLA_FILTERVAL(value) (TCC_FCTRLA_FILTERVAL_Msk & ((value) << TCC_FCTRLA_FILTERVAL_Pos))
  313. #define TCC_FCTRLA_Msk _U_(0x0FFF7FFB) /**< (TCC_FCTRLA) Register Mask */
  314. /* -------- TCC_FCTRLB : (TCC Offset: 0x10) (R/W 32) Recoverable Fault B Configuration -------- */
  315. #define TCC_FCTRLB_RESETVALUE _U_(0x00) /**< (TCC_FCTRLB) Recoverable Fault B Configuration Reset Value */
  316. #define TCC_FCTRLB_SRC_Pos _U_(0) /**< (TCC_FCTRLB) Fault B Source Position */
  317. #define TCC_FCTRLB_SRC_Msk (_U_(0x3) << TCC_FCTRLB_SRC_Pos) /**< (TCC_FCTRLB) Fault B Source Mask */
  318. #define TCC_FCTRLB_SRC(value) (TCC_FCTRLB_SRC_Msk & ((value) << TCC_FCTRLB_SRC_Pos))
  319. #define TCC_FCTRLB_SRC_DISABLE_Val _U_(0x0) /**< (TCC_FCTRLB) Fault input disabled */
  320. #define TCC_FCTRLB_SRC_ENABLE_Val _U_(0x1) /**< (TCC_FCTRLB) MCEx (x=0,1) event input */
  321. #define TCC_FCTRLB_SRC_INVERT_Val _U_(0x2) /**< (TCC_FCTRLB) Inverted MCEx (x=0,1) event input */
  322. #define TCC_FCTRLB_SRC_ALTFAULT_Val _U_(0x3) /**< (TCC_FCTRLB) Alternate fault (A or B) state at the end of the previous period */
  323. #define TCC_FCTRLB_SRC_DISABLE (TCC_FCTRLB_SRC_DISABLE_Val << TCC_FCTRLB_SRC_Pos) /**< (TCC_FCTRLB) Fault input disabled Position */
  324. #define TCC_FCTRLB_SRC_ENABLE (TCC_FCTRLB_SRC_ENABLE_Val << TCC_FCTRLB_SRC_Pos) /**< (TCC_FCTRLB) MCEx (x=0,1) event input Position */
  325. #define TCC_FCTRLB_SRC_INVERT (TCC_FCTRLB_SRC_INVERT_Val << TCC_FCTRLB_SRC_Pos) /**< (TCC_FCTRLB) Inverted MCEx (x=0,1) event input Position */
  326. #define TCC_FCTRLB_SRC_ALTFAULT (TCC_FCTRLB_SRC_ALTFAULT_Val << TCC_FCTRLB_SRC_Pos) /**< (TCC_FCTRLB) Alternate fault (A or B) state at the end of the previous period Position */
  327. #define TCC_FCTRLB_KEEP_Pos _U_(3) /**< (TCC_FCTRLB) Fault B Keeper Position */
  328. #define TCC_FCTRLB_KEEP_Msk (_U_(0x1) << TCC_FCTRLB_KEEP_Pos) /**< (TCC_FCTRLB) Fault B Keeper Mask */
  329. #define TCC_FCTRLB_KEEP(value) (TCC_FCTRLB_KEEP_Msk & ((value) << TCC_FCTRLB_KEEP_Pos))
  330. #define TCC_FCTRLB_QUAL_Pos _U_(4) /**< (TCC_FCTRLB) Fault B Qualification Position */
  331. #define TCC_FCTRLB_QUAL_Msk (_U_(0x1) << TCC_FCTRLB_QUAL_Pos) /**< (TCC_FCTRLB) Fault B Qualification Mask */
  332. #define TCC_FCTRLB_QUAL(value) (TCC_FCTRLB_QUAL_Msk & ((value) << TCC_FCTRLB_QUAL_Pos))
  333. #define TCC_FCTRLB_BLANK_Pos _U_(5) /**< (TCC_FCTRLB) Fault B Blanking Mode Position */
  334. #define TCC_FCTRLB_BLANK_Msk (_U_(0x3) << TCC_FCTRLB_BLANK_Pos) /**< (TCC_FCTRLB) Fault B Blanking Mode Mask */
  335. #define TCC_FCTRLB_BLANK(value) (TCC_FCTRLB_BLANK_Msk & ((value) << TCC_FCTRLB_BLANK_Pos))
  336. #define TCC_FCTRLB_BLANK_NONE_Val _U_(0x0) /**< (TCC_FCTRLB) No blanking applied */
  337. #define TCC_FCTRLB_BLANK_RISE_Val _U_(0x1) /**< (TCC_FCTRLB) Blanking applied from rising edge of the output waveform */
  338. #define TCC_FCTRLB_BLANK_FALL_Val _U_(0x2) /**< (TCC_FCTRLB) Blanking applied from falling edge of the output waveform */
  339. #define TCC_FCTRLB_BLANK_BOTH_Val _U_(0x3) /**< (TCC_FCTRLB) Blanking applied from each toggle of the output waveform */
  340. #define TCC_FCTRLB_BLANK_NONE (TCC_FCTRLB_BLANK_NONE_Val << TCC_FCTRLB_BLANK_Pos) /**< (TCC_FCTRLB) No blanking applied Position */
  341. #define TCC_FCTRLB_BLANK_RISE (TCC_FCTRLB_BLANK_RISE_Val << TCC_FCTRLB_BLANK_Pos) /**< (TCC_FCTRLB) Blanking applied from rising edge of the output waveform Position */
  342. #define TCC_FCTRLB_BLANK_FALL (TCC_FCTRLB_BLANK_FALL_Val << TCC_FCTRLB_BLANK_Pos) /**< (TCC_FCTRLB) Blanking applied from falling edge of the output waveform Position */
  343. #define TCC_FCTRLB_BLANK_BOTH (TCC_FCTRLB_BLANK_BOTH_Val << TCC_FCTRLB_BLANK_Pos) /**< (TCC_FCTRLB) Blanking applied from each toggle of the output waveform Position */
  344. #define TCC_FCTRLB_RESTART_Pos _U_(7) /**< (TCC_FCTRLB) Fault B Restart Position */
  345. #define TCC_FCTRLB_RESTART_Msk (_U_(0x1) << TCC_FCTRLB_RESTART_Pos) /**< (TCC_FCTRLB) Fault B Restart Mask */
  346. #define TCC_FCTRLB_RESTART(value) (TCC_FCTRLB_RESTART_Msk & ((value) << TCC_FCTRLB_RESTART_Pos))
  347. #define TCC_FCTRLB_HALT_Pos _U_(8) /**< (TCC_FCTRLB) Fault B Halt Mode Position */
  348. #define TCC_FCTRLB_HALT_Msk (_U_(0x3) << TCC_FCTRLB_HALT_Pos) /**< (TCC_FCTRLB) Fault B Halt Mode Mask */
  349. #define TCC_FCTRLB_HALT(value) (TCC_FCTRLB_HALT_Msk & ((value) << TCC_FCTRLB_HALT_Pos))
  350. #define TCC_FCTRLB_HALT_DISABLE_Val _U_(0x0) /**< (TCC_FCTRLB) Halt action disabled */
  351. #define TCC_FCTRLB_HALT_HW_Val _U_(0x1) /**< (TCC_FCTRLB) Hardware halt action */
  352. #define TCC_FCTRLB_HALT_SW_Val _U_(0x2) /**< (TCC_FCTRLB) Software halt action */
  353. #define TCC_FCTRLB_HALT_NR_Val _U_(0x3) /**< (TCC_FCTRLB) Non-recoverable fault */
  354. #define TCC_FCTRLB_HALT_DISABLE (TCC_FCTRLB_HALT_DISABLE_Val << TCC_FCTRLB_HALT_Pos) /**< (TCC_FCTRLB) Halt action disabled Position */
  355. #define TCC_FCTRLB_HALT_HW (TCC_FCTRLB_HALT_HW_Val << TCC_FCTRLB_HALT_Pos) /**< (TCC_FCTRLB) Hardware halt action Position */
  356. #define TCC_FCTRLB_HALT_SW (TCC_FCTRLB_HALT_SW_Val << TCC_FCTRLB_HALT_Pos) /**< (TCC_FCTRLB) Software halt action Position */
  357. #define TCC_FCTRLB_HALT_NR (TCC_FCTRLB_HALT_NR_Val << TCC_FCTRLB_HALT_Pos) /**< (TCC_FCTRLB) Non-recoverable fault Position */
  358. #define TCC_FCTRLB_CHSEL_Pos _U_(10) /**< (TCC_FCTRLB) Fault B Capture Channel Position */
  359. #define TCC_FCTRLB_CHSEL_Msk (_U_(0x3) << TCC_FCTRLB_CHSEL_Pos) /**< (TCC_FCTRLB) Fault B Capture Channel Mask */
  360. #define TCC_FCTRLB_CHSEL(value) (TCC_FCTRLB_CHSEL_Msk & ((value) << TCC_FCTRLB_CHSEL_Pos))
  361. #define TCC_FCTRLB_CHSEL_CC0_Val _U_(0x0) /**< (TCC_FCTRLB) Capture value stored in channel 0 */
  362. #define TCC_FCTRLB_CHSEL_CC1_Val _U_(0x1) /**< (TCC_FCTRLB) Capture value stored in channel 1 */
  363. #define TCC_FCTRLB_CHSEL_CC2_Val _U_(0x2) /**< (TCC_FCTRLB) Capture value stored in channel 2 */
  364. #define TCC_FCTRLB_CHSEL_CC3_Val _U_(0x3) /**< (TCC_FCTRLB) Capture value stored in channel 3 */
  365. #define TCC_FCTRLB_CHSEL_CC0 (TCC_FCTRLB_CHSEL_CC0_Val << TCC_FCTRLB_CHSEL_Pos) /**< (TCC_FCTRLB) Capture value stored in channel 0 Position */
  366. #define TCC_FCTRLB_CHSEL_CC1 (TCC_FCTRLB_CHSEL_CC1_Val << TCC_FCTRLB_CHSEL_Pos) /**< (TCC_FCTRLB) Capture value stored in channel 1 Position */
  367. #define TCC_FCTRLB_CHSEL_CC2 (TCC_FCTRLB_CHSEL_CC2_Val << TCC_FCTRLB_CHSEL_Pos) /**< (TCC_FCTRLB) Capture value stored in channel 2 Position */
  368. #define TCC_FCTRLB_CHSEL_CC3 (TCC_FCTRLB_CHSEL_CC3_Val << TCC_FCTRLB_CHSEL_Pos) /**< (TCC_FCTRLB) Capture value stored in channel 3 Position */
  369. #define TCC_FCTRLB_CAPTURE_Pos _U_(12) /**< (TCC_FCTRLB) Fault B Capture Action Position */
  370. #define TCC_FCTRLB_CAPTURE_Msk (_U_(0x7) << TCC_FCTRLB_CAPTURE_Pos) /**< (TCC_FCTRLB) Fault B Capture Action Mask */
  371. #define TCC_FCTRLB_CAPTURE(value) (TCC_FCTRLB_CAPTURE_Msk & ((value) << TCC_FCTRLB_CAPTURE_Pos))
  372. #define TCC_FCTRLB_CAPTURE_DISABLE_Val _U_(0x0) /**< (TCC_FCTRLB) No capture */
  373. #define TCC_FCTRLB_CAPTURE_CAPT_Val _U_(0x1) /**< (TCC_FCTRLB) Capture on fault */
  374. #define TCC_FCTRLB_CAPTURE_CAPTMIN_Val _U_(0x2) /**< (TCC_FCTRLB) Minimum capture */
  375. #define TCC_FCTRLB_CAPTURE_CAPTMAX_Val _U_(0x3) /**< (TCC_FCTRLB) Maximum capture */
  376. #define TCC_FCTRLB_CAPTURE_LOCMIN_Val _U_(0x4) /**< (TCC_FCTRLB) Minimum local detection */
  377. #define TCC_FCTRLB_CAPTURE_LOCMAX_Val _U_(0x5) /**< (TCC_FCTRLB) Maximum local detection */
  378. #define TCC_FCTRLB_CAPTURE_DERIV0_Val _U_(0x6) /**< (TCC_FCTRLB) Minimum and maximum local detection */
  379. #define TCC_FCTRLB_CAPTURE_DISABLE (TCC_FCTRLB_CAPTURE_DISABLE_Val << TCC_FCTRLB_CAPTURE_Pos) /**< (TCC_FCTRLB) No capture Position */
  380. #define TCC_FCTRLB_CAPTURE_CAPT (TCC_FCTRLB_CAPTURE_CAPT_Val << TCC_FCTRLB_CAPTURE_Pos) /**< (TCC_FCTRLB) Capture on fault Position */
  381. #define TCC_FCTRLB_CAPTURE_CAPTMIN (TCC_FCTRLB_CAPTURE_CAPTMIN_Val << TCC_FCTRLB_CAPTURE_Pos) /**< (TCC_FCTRLB) Minimum capture Position */
  382. #define TCC_FCTRLB_CAPTURE_CAPTMAX (TCC_FCTRLB_CAPTURE_CAPTMAX_Val << TCC_FCTRLB_CAPTURE_Pos) /**< (TCC_FCTRLB) Maximum capture Position */
  383. #define TCC_FCTRLB_CAPTURE_LOCMIN (TCC_FCTRLB_CAPTURE_LOCMIN_Val << TCC_FCTRLB_CAPTURE_Pos) /**< (TCC_FCTRLB) Minimum local detection Position */
  384. #define TCC_FCTRLB_CAPTURE_LOCMAX (TCC_FCTRLB_CAPTURE_LOCMAX_Val << TCC_FCTRLB_CAPTURE_Pos) /**< (TCC_FCTRLB) Maximum local detection Position */
  385. #define TCC_FCTRLB_CAPTURE_DERIV0 (TCC_FCTRLB_CAPTURE_DERIV0_Val << TCC_FCTRLB_CAPTURE_Pos) /**< (TCC_FCTRLB) Minimum and maximum local detection Position */
  386. #define TCC_FCTRLB_BLANKVAL_Pos _U_(16) /**< (TCC_FCTRLB) Fault B Blanking Time Position */
  387. #define TCC_FCTRLB_BLANKVAL_Msk (_U_(0xFF) << TCC_FCTRLB_BLANKVAL_Pos) /**< (TCC_FCTRLB) Fault B Blanking Time Mask */
  388. #define TCC_FCTRLB_BLANKVAL(value) (TCC_FCTRLB_BLANKVAL_Msk & ((value) << TCC_FCTRLB_BLANKVAL_Pos))
  389. #define TCC_FCTRLB_FILTERVAL_Pos _U_(24) /**< (TCC_FCTRLB) Fault B Filter Value Position */
  390. #define TCC_FCTRLB_FILTERVAL_Msk (_U_(0xF) << TCC_FCTRLB_FILTERVAL_Pos) /**< (TCC_FCTRLB) Fault B Filter Value Mask */
  391. #define TCC_FCTRLB_FILTERVAL(value) (TCC_FCTRLB_FILTERVAL_Msk & ((value) << TCC_FCTRLB_FILTERVAL_Pos))
  392. #define TCC_FCTRLB_Msk _U_(0x0FFF7FFB) /**< (TCC_FCTRLB) Register Mask */
  393. /* -------- TCC_WEXCTRL : (TCC Offset: 0x14) (R/W 32) Waveform Extension Configuration -------- */
  394. #define TCC_WEXCTRL_RESETVALUE _U_(0x00) /**< (TCC_WEXCTRL) Waveform Extension Configuration Reset Value */
  395. #define TCC_WEXCTRL_OTMX_Pos _U_(0) /**< (TCC_WEXCTRL) Output Matrix Position */
  396. #define TCC_WEXCTRL_OTMX_Msk (_U_(0x3) << TCC_WEXCTRL_OTMX_Pos) /**< (TCC_WEXCTRL) Output Matrix Mask */
  397. #define TCC_WEXCTRL_OTMX(value) (TCC_WEXCTRL_OTMX_Msk & ((value) << TCC_WEXCTRL_OTMX_Pos))
  398. #define TCC_WEXCTRL_DTIEN0_Pos _U_(8) /**< (TCC_WEXCTRL) Dead-time Insertion Generator 0 Enable Position */
  399. #define TCC_WEXCTRL_DTIEN0_Msk (_U_(0x1) << TCC_WEXCTRL_DTIEN0_Pos) /**< (TCC_WEXCTRL) Dead-time Insertion Generator 0 Enable Mask */
  400. #define TCC_WEXCTRL_DTIEN0(value) (TCC_WEXCTRL_DTIEN0_Msk & ((value) << TCC_WEXCTRL_DTIEN0_Pos))
  401. #define TCC_WEXCTRL_DTIEN1_Pos _U_(9) /**< (TCC_WEXCTRL) Dead-time Insertion Generator 1 Enable Position */
  402. #define TCC_WEXCTRL_DTIEN1_Msk (_U_(0x1) << TCC_WEXCTRL_DTIEN1_Pos) /**< (TCC_WEXCTRL) Dead-time Insertion Generator 1 Enable Mask */
  403. #define TCC_WEXCTRL_DTIEN1(value) (TCC_WEXCTRL_DTIEN1_Msk & ((value) << TCC_WEXCTRL_DTIEN1_Pos))
  404. #define TCC_WEXCTRL_DTIEN2_Pos _U_(10) /**< (TCC_WEXCTRL) Dead-time Insertion Generator 2 Enable Position */
  405. #define TCC_WEXCTRL_DTIEN2_Msk (_U_(0x1) << TCC_WEXCTRL_DTIEN2_Pos) /**< (TCC_WEXCTRL) Dead-time Insertion Generator 2 Enable Mask */
  406. #define TCC_WEXCTRL_DTIEN2(value) (TCC_WEXCTRL_DTIEN2_Msk & ((value) << TCC_WEXCTRL_DTIEN2_Pos))
  407. #define TCC_WEXCTRL_DTIEN3_Pos _U_(11) /**< (TCC_WEXCTRL) Dead-time Insertion Generator 3 Enable Position */
  408. #define TCC_WEXCTRL_DTIEN3_Msk (_U_(0x1) << TCC_WEXCTRL_DTIEN3_Pos) /**< (TCC_WEXCTRL) Dead-time Insertion Generator 3 Enable Mask */
  409. #define TCC_WEXCTRL_DTIEN3(value) (TCC_WEXCTRL_DTIEN3_Msk & ((value) << TCC_WEXCTRL_DTIEN3_Pos))
  410. #define TCC_WEXCTRL_DTLS_Pos _U_(16) /**< (TCC_WEXCTRL) Dead-time Low Side Outputs Value Position */
  411. #define TCC_WEXCTRL_DTLS_Msk (_U_(0xFF) << TCC_WEXCTRL_DTLS_Pos) /**< (TCC_WEXCTRL) Dead-time Low Side Outputs Value Mask */
  412. #define TCC_WEXCTRL_DTLS(value) (TCC_WEXCTRL_DTLS_Msk & ((value) << TCC_WEXCTRL_DTLS_Pos))
  413. #define TCC_WEXCTRL_DTHS_Pos _U_(24) /**< (TCC_WEXCTRL) Dead-time High Side Outputs Value Position */
  414. #define TCC_WEXCTRL_DTHS_Msk (_U_(0xFF) << TCC_WEXCTRL_DTHS_Pos) /**< (TCC_WEXCTRL) Dead-time High Side Outputs Value Mask */
  415. #define TCC_WEXCTRL_DTHS(value) (TCC_WEXCTRL_DTHS_Msk & ((value) << TCC_WEXCTRL_DTHS_Pos))
  416. #define TCC_WEXCTRL_Msk _U_(0xFFFF0F03) /**< (TCC_WEXCTRL) Register Mask */
  417. #define TCC_WEXCTRL_DTIEN_Pos _U_(8) /**< (TCC_WEXCTRL Position) Dead-time Insertion Generator x Enable */
  418. #define TCC_WEXCTRL_DTIEN_Msk (_U_(0xF) << TCC_WEXCTRL_DTIEN_Pos) /**< (TCC_WEXCTRL Mask) DTIEN */
  419. #define TCC_WEXCTRL_DTIEN(value) (TCC_WEXCTRL_DTIEN_Msk & ((value) << TCC_WEXCTRL_DTIEN_Pos))
  420. /* -------- TCC_DRVCTRL : (TCC Offset: 0x18) (R/W 32) Driver Control -------- */
  421. #define TCC_DRVCTRL_RESETVALUE _U_(0x00) /**< (TCC_DRVCTRL) Driver Control Reset Value */
  422. #define TCC_DRVCTRL_NRE0_Pos _U_(0) /**< (TCC_DRVCTRL) Non-Recoverable State 0 Output Enable Position */
  423. #define TCC_DRVCTRL_NRE0_Msk (_U_(0x1) << TCC_DRVCTRL_NRE0_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 0 Output Enable Mask */
  424. #define TCC_DRVCTRL_NRE0(value) (TCC_DRVCTRL_NRE0_Msk & ((value) << TCC_DRVCTRL_NRE0_Pos))
  425. #define TCC_DRVCTRL_NRE1_Pos _U_(1) /**< (TCC_DRVCTRL) Non-Recoverable State 1 Output Enable Position */
  426. #define TCC_DRVCTRL_NRE1_Msk (_U_(0x1) << TCC_DRVCTRL_NRE1_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 1 Output Enable Mask */
  427. #define TCC_DRVCTRL_NRE1(value) (TCC_DRVCTRL_NRE1_Msk & ((value) << TCC_DRVCTRL_NRE1_Pos))
  428. #define TCC_DRVCTRL_NRE2_Pos _U_(2) /**< (TCC_DRVCTRL) Non-Recoverable State 2 Output Enable Position */
  429. #define TCC_DRVCTRL_NRE2_Msk (_U_(0x1) << TCC_DRVCTRL_NRE2_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 2 Output Enable Mask */
  430. #define TCC_DRVCTRL_NRE2(value) (TCC_DRVCTRL_NRE2_Msk & ((value) << TCC_DRVCTRL_NRE2_Pos))
  431. #define TCC_DRVCTRL_NRE3_Pos _U_(3) /**< (TCC_DRVCTRL) Non-Recoverable State 3 Output Enable Position */
  432. #define TCC_DRVCTRL_NRE3_Msk (_U_(0x1) << TCC_DRVCTRL_NRE3_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 3 Output Enable Mask */
  433. #define TCC_DRVCTRL_NRE3(value) (TCC_DRVCTRL_NRE3_Msk & ((value) << TCC_DRVCTRL_NRE3_Pos))
  434. #define TCC_DRVCTRL_NRE4_Pos _U_(4) /**< (TCC_DRVCTRL) Non-Recoverable State 4 Output Enable Position */
  435. #define TCC_DRVCTRL_NRE4_Msk (_U_(0x1) << TCC_DRVCTRL_NRE4_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 4 Output Enable Mask */
  436. #define TCC_DRVCTRL_NRE4(value) (TCC_DRVCTRL_NRE4_Msk & ((value) << TCC_DRVCTRL_NRE4_Pos))
  437. #define TCC_DRVCTRL_NRE5_Pos _U_(5) /**< (TCC_DRVCTRL) Non-Recoverable State 5 Output Enable Position */
  438. #define TCC_DRVCTRL_NRE5_Msk (_U_(0x1) << TCC_DRVCTRL_NRE5_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 5 Output Enable Mask */
  439. #define TCC_DRVCTRL_NRE5(value) (TCC_DRVCTRL_NRE5_Msk & ((value) << TCC_DRVCTRL_NRE5_Pos))
  440. #define TCC_DRVCTRL_NRE6_Pos _U_(6) /**< (TCC_DRVCTRL) Non-Recoverable State 6 Output Enable Position */
  441. #define TCC_DRVCTRL_NRE6_Msk (_U_(0x1) << TCC_DRVCTRL_NRE6_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 6 Output Enable Mask */
  442. #define TCC_DRVCTRL_NRE6(value) (TCC_DRVCTRL_NRE6_Msk & ((value) << TCC_DRVCTRL_NRE6_Pos))
  443. #define TCC_DRVCTRL_NRE7_Pos _U_(7) /**< (TCC_DRVCTRL) Non-Recoverable State 7 Output Enable Position */
  444. #define TCC_DRVCTRL_NRE7_Msk (_U_(0x1) << TCC_DRVCTRL_NRE7_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 7 Output Enable Mask */
  445. #define TCC_DRVCTRL_NRE7(value) (TCC_DRVCTRL_NRE7_Msk & ((value) << TCC_DRVCTRL_NRE7_Pos))
  446. #define TCC_DRVCTRL_NRV0_Pos _U_(8) /**< (TCC_DRVCTRL) Non-Recoverable State 0 Output Value Position */
  447. #define TCC_DRVCTRL_NRV0_Msk (_U_(0x1) << TCC_DRVCTRL_NRV0_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 0 Output Value Mask */
  448. #define TCC_DRVCTRL_NRV0(value) (TCC_DRVCTRL_NRV0_Msk & ((value) << TCC_DRVCTRL_NRV0_Pos))
  449. #define TCC_DRVCTRL_NRV1_Pos _U_(9) /**< (TCC_DRVCTRL) Non-Recoverable State 1 Output Value Position */
  450. #define TCC_DRVCTRL_NRV1_Msk (_U_(0x1) << TCC_DRVCTRL_NRV1_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 1 Output Value Mask */
  451. #define TCC_DRVCTRL_NRV1(value) (TCC_DRVCTRL_NRV1_Msk & ((value) << TCC_DRVCTRL_NRV1_Pos))
  452. #define TCC_DRVCTRL_NRV2_Pos _U_(10) /**< (TCC_DRVCTRL) Non-Recoverable State 2 Output Value Position */
  453. #define TCC_DRVCTRL_NRV2_Msk (_U_(0x1) << TCC_DRVCTRL_NRV2_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 2 Output Value Mask */
  454. #define TCC_DRVCTRL_NRV2(value) (TCC_DRVCTRL_NRV2_Msk & ((value) << TCC_DRVCTRL_NRV2_Pos))
  455. #define TCC_DRVCTRL_NRV3_Pos _U_(11) /**< (TCC_DRVCTRL) Non-Recoverable State 3 Output Value Position */
  456. #define TCC_DRVCTRL_NRV3_Msk (_U_(0x1) << TCC_DRVCTRL_NRV3_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 3 Output Value Mask */
  457. #define TCC_DRVCTRL_NRV3(value) (TCC_DRVCTRL_NRV3_Msk & ((value) << TCC_DRVCTRL_NRV3_Pos))
  458. #define TCC_DRVCTRL_NRV4_Pos _U_(12) /**< (TCC_DRVCTRL) Non-Recoverable State 4 Output Value Position */
  459. #define TCC_DRVCTRL_NRV4_Msk (_U_(0x1) << TCC_DRVCTRL_NRV4_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 4 Output Value Mask */
  460. #define TCC_DRVCTRL_NRV4(value) (TCC_DRVCTRL_NRV4_Msk & ((value) << TCC_DRVCTRL_NRV4_Pos))
  461. #define TCC_DRVCTRL_NRV5_Pos _U_(13) /**< (TCC_DRVCTRL) Non-Recoverable State 5 Output Value Position */
  462. #define TCC_DRVCTRL_NRV5_Msk (_U_(0x1) << TCC_DRVCTRL_NRV5_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 5 Output Value Mask */
  463. #define TCC_DRVCTRL_NRV5(value) (TCC_DRVCTRL_NRV5_Msk & ((value) << TCC_DRVCTRL_NRV5_Pos))
  464. #define TCC_DRVCTRL_NRV6_Pos _U_(14) /**< (TCC_DRVCTRL) Non-Recoverable State 6 Output Value Position */
  465. #define TCC_DRVCTRL_NRV6_Msk (_U_(0x1) << TCC_DRVCTRL_NRV6_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 6 Output Value Mask */
  466. #define TCC_DRVCTRL_NRV6(value) (TCC_DRVCTRL_NRV6_Msk & ((value) << TCC_DRVCTRL_NRV6_Pos))
  467. #define TCC_DRVCTRL_NRV7_Pos _U_(15) /**< (TCC_DRVCTRL) Non-Recoverable State 7 Output Value Position */
  468. #define TCC_DRVCTRL_NRV7_Msk (_U_(0x1) << TCC_DRVCTRL_NRV7_Pos) /**< (TCC_DRVCTRL) Non-Recoverable State 7 Output Value Mask */
  469. #define TCC_DRVCTRL_NRV7(value) (TCC_DRVCTRL_NRV7_Msk & ((value) << TCC_DRVCTRL_NRV7_Pos))
  470. #define TCC_DRVCTRL_INVEN0_Pos _U_(16) /**< (TCC_DRVCTRL) Output Waveform 0 Inversion Position */
  471. #define TCC_DRVCTRL_INVEN0_Msk (_U_(0x1) << TCC_DRVCTRL_INVEN0_Pos) /**< (TCC_DRVCTRL) Output Waveform 0 Inversion Mask */
  472. #define TCC_DRVCTRL_INVEN0(value) (TCC_DRVCTRL_INVEN0_Msk & ((value) << TCC_DRVCTRL_INVEN0_Pos))
  473. #define TCC_DRVCTRL_INVEN1_Pos _U_(17) /**< (TCC_DRVCTRL) Output Waveform 1 Inversion Position */
  474. #define TCC_DRVCTRL_INVEN1_Msk (_U_(0x1) << TCC_DRVCTRL_INVEN1_Pos) /**< (TCC_DRVCTRL) Output Waveform 1 Inversion Mask */
  475. #define TCC_DRVCTRL_INVEN1(value) (TCC_DRVCTRL_INVEN1_Msk & ((value) << TCC_DRVCTRL_INVEN1_Pos))
  476. #define TCC_DRVCTRL_INVEN2_Pos _U_(18) /**< (TCC_DRVCTRL) Output Waveform 2 Inversion Position */
  477. #define TCC_DRVCTRL_INVEN2_Msk (_U_(0x1) << TCC_DRVCTRL_INVEN2_Pos) /**< (TCC_DRVCTRL) Output Waveform 2 Inversion Mask */
  478. #define TCC_DRVCTRL_INVEN2(value) (TCC_DRVCTRL_INVEN2_Msk & ((value) << TCC_DRVCTRL_INVEN2_Pos))
  479. #define TCC_DRVCTRL_INVEN3_Pos _U_(19) /**< (TCC_DRVCTRL) Output Waveform 3 Inversion Position */
  480. #define TCC_DRVCTRL_INVEN3_Msk (_U_(0x1) << TCC_DRVCTRL_INVEN3_Pos) /**< (TCC_DRVCTRL) Output Waveform 3 Inversion Mask */
  481. #define TCC_DRVCTRL_INVEN3(value) (TCC_DRVCTRL_INVEN3_Msk & ((value) << TCC_DRVCTRL_INVEN3_Pos))
  482. #define TCC_DRVCTRL_INVEN4_Pos _U_(20) /**< (TCC_DRVCTRL) Output Waveform 4 Inversion Position */
  483. #define TCC_DRVCTRL_INVEN4_Msk (_U_(0x1) << TCC_DRVCTRL_INVEN4_Pos) /**< (TCC_DRVCTRL) Output Waveform 4 Inversion Mask */
  484. #define TCC_DRVCTRL_INVEN4(value) (TCC_DRVCTRL_INVEN4_Msk & ((value) << TCC_DRVCTRL_INVEN4_Pos))
  485. #define TCC_DRVCTRL_INVEN5_Pos _U_(21) /**< (TCC_DRVCTRL) Output Waveform 5 Inversion Position */
  486. #define TCC_DRVCTRL_INVEN5_Msk (_U_(0x1) << TCC_DRVCTRL_INVEN5_Pos) /**< (TCC_DRVCTRL) Output Waveform 5 Inversion Mask */
  487. #define TCC_DRVCTRL_INVEN5(value) (TCC_DRVCTRL_INVEN5_Msk & ((value) << TCC_DRVCTRL_INVEN5_Pos))
  488. #define TCC_DRVCTRL_INVEN6_Pos _U_(22) /**< (TCC_DRVCTRL) Output Waveform 6 Inversion Position */
  489. #define TCC_DRVCTRL_INVEN6_Msk (_U_(0x1) << TCC_DRVCTRL_INVEN6_Pos) /**< (TCC_DRVCTRL) Output Waveform 6 Inversion Mask */
  490. #define TCC_DRVCTRL_INVEN6(value) (TCC_DRVCTRL_INVEN6_Msk & ((value) << TCC_DRVCTRL_INVEN6_Pos))
  491. #define TCC_DRVCTRL_INVEN7_Pos _U_(23) /**< (TCC_DRVCTRL) Output Waveform 7 Inversion Position */
  492. #define TCC_DRVCTRL_INVEN7_Msk (_U_(0x1) << TCC_DRVCTRL_INVEN7_Pos) /**< (TCC_DRVCTRL) Output Waveform 7 Inversion Mask */
  493. #define TCC_DRVCTRL_INVEN7(value) (TCC_DRVCTRL_INVEN7_Msk & ((value) << TCC_DRVCTRL_INVEN7_Pos))
  494. #define TCC_DRVCTRL_FILTERVAL0_Pos _U_(24) /**< (TCC_DRVCTRL) Non-Recoverable Fault Input 0 Filter Value Position */
  495. #define TCC_DRVCTRL_FILTERVAL0_Msk (_U_(0xF) << TCC_DRVCTRL_FILTERVAL0_Pos) /**< (TCC_DRVCTRL) Non-Recoverable Fault Input 0 Filter Value Mask */
  496. #define TCC_DRVCTRL_FILTERVAL0(value) (TCC_DRVCTRL_FILTERVAL0_Msk & ((value) << TCC_DRVCTRL_FILTERVAL0_Pos))
  497. #define TCC_DRVCTRL_FILTERVAL1_Pos _U_(28) /**< (TCC_DRVCTRL) Non-Recoverable Fault Input 1 Filter Value Position */
  498. #define TCC_DRVCTRL_FILTERVAL1_Msk (_U_(0xF) << TCC_DRVCTRL_FILTERVAL1_Pos) /**< (TCC_DRVCTRL) Non-Recoverable Fault Input 1 Filter Value Mask */
  499. #define TCC_DRVCTRL_FILTERVAL1(value) (TCC_DRVCTRL_FILTERVAL1_Msk & ((value) << TCC_DRVCTRL_FILTERVAL1_Pos))
  500. #define TCC_DRVCTRL_Msk _U_(0xFFFFFFFF) /**< (TCC_DRVCTRL) Register Mask */
  501. #define TCC_DRVCTRL_NRE_Pos _U_(0) /**< (TCC_DRVCTRL Position) Non-Recoverable State x Output Enable */
  502. #define TCC_DRVCTRL_NRE_Msk (_U_(0xFF) << TCC_DRVCTRL_NRE_Pos) /**< (TCC_DRVCTRL Mask) NRE */
  503. #define TCC_DRVCTRL_NRE(value) (TCC_DRVCTRL_NRE_Msk & ((value) << TCC_DRVCTRL_NRE_Pos))
  504. #define TCC_DRVCTRL_NRV_Pos _U_(8) /**< (TCC_DRVCTRL Position) Non-Recoverable State x Output Value */
  505. #define TCC_DRVCTRL_NRV_Msk (_U_(0xFF) << TCC_DRVCTRL_NRV_Pos) /**< (TCC_DRVCTRL Mask) NRV */
  506. #define TCC_DRVCTRL_NRV(value) (TCC_DRVCTRL_NRV_Msk & ((value) << TCC_DRVCTRL_NRV_Pos))
  507. #define TCC_DRVCTRL_INVEN_Pos _U_(16) /**< (TCC_DRVCTRL Position) Output Waveform x Inversion */
  508. #define TCC_DRVCTRL_INVEN_Msk (_U_(0xFF) << TCC_DRVCTRL_INVEN_Pos) /**< (TCC_DRVCTRL Mask) INVEN */
  509. #define TCC_DRVCTRL_INVEN(value) (TCC_DRVCTRL_INVEN_Msk & ((value) << TCC_DRVCTRL_INVEN_Pos))
  510. /* -------- TCC_DBGCTRL : (TCC Offset: 0x1E) (R/W 8) Debug Control -------- */
  511. #define TCC_DBGCTRL_RESETVALUE _U_(0x00) /**< (TCC_DBGCTRL) Debug Control Reset Value */
  512. #define TCC_DBGCTRL_DBGRUN_Pos _U_(0) /**< (TCC_DBGCTRL) Debug Running Mode Position */
  513. #define TCC_DBGCTRL_DBGRUN_Msk (_U_(0x1) << TCC_DBGCTRL_DBGRUN_Pos) /**< (TCC_DBGCTRL) Debug Running Mode Mask */
  514. #define TCC_DBGCTRL_DBGRUN(value) (TCC_DBGCTRL_DBGRUN_Msk & ((value) << TCC_DBGCTRL_DBGRUN_Pos))
  515. #define TCC_DBGCTRL_FDDBD_Pos _U_(2) /**< (TCC_DBGCTRL) Fault Detection on Debug Break Detection Position */
  516. #define TCC_DBGCTRL_FDDBD_Msk (_U_(0x1) << TCC_DBGCTRL_FDDBD_Pos) /**< (TCC_DBGCTRL) Fault Detection on Debug Break Detection Mask */
  517. #define TCC_DBGCTRL_FDDBD(value) (TCC_DBGCTRL_FDDBD_Msk & ((value) << TCC_DBGCTRL_FDDBD_Pos))
  518. #define TCC_DBGCTRL_Msk _U_(0x05) /**< (TCC_DBGCTRL) Register Mask */
  519. /* -------- TCC_EVCTRL : (TCC Offset: 0x20) (R/W 32) Event Control -------- */
  520. #define TCC_EVCTRL_RESETVALUE _U_(0x00) /**< (TCC_EVCTRL) Event Control Reset Value */
  521. #define TCC_EVCTRL_EVACT0_Pos _U_(0) /**< (TCC_EVCTRL) Timer/counter Input Event0 Action Position */
  522. #define TCC_EVCTRL_EVACT0_Msk (_U_(0x7) << TCC_EVCTRL_EVACT0_Pos) /**< (TCC_EVCTRL) Timer/counter Input Event0 Action Mask */
  523. #define TCC_EVCTRL_EVACT0(value) (TCC_EVCTRL_EVACT0_Msk & ((value) << TCC_EVCTRL_EVACT0_Pos))
  524. #define TCC_EVCTRL_EVACT0_OFF_Val _U_(0x0) /**< (TCC_EVCTRL) Event action disabled */
  525. #define TCC_EVCTRL_EVACT0_RETRIGGER_Val _U_(0x1) /**< (TCC_EVCTRL) Start, restart or re-trigger counter on event */
  526. #define TCC_EVCTRL_EVACT0_COUNTEV_Val _U_(0x2) /**< (TCC_EVCTRL) Count on event */
  527. #define TCC_EVCTRL_EVACT0_START_Val _U_(0x3) /**< (TCC_EVCTRL) Start counter on event */
  528. #define TCC_EVCTRL_EVACT0_INC_Val _U_(0x4) /**< (TCC_EVCTRL) Increment counter on event */
  529. #define TCC_EVCTRL_EVACT0_COUNT_Val _U_(0x5) /**< (TCC_EVCTRL) Count on active state of asynchronous event */
  530. #define TCC_EVCTRL_EVACT0_FAULT_Val _U_(0x7) /**< (TCC_EVCTRL) Non-recoverable fault */
  531. #define TCC_EVCTRL_EVACT0_OFF (TCC_EVCTRL_EVACT0_OFF_Val << TCC_EVCTRL_EVACT0_Pos) /**< (TCC_EVCTRL) Event action disabled Position */
  532. #define TCC_EVCTRL_EVACT0_RETRIGGER (TCC_EVCTRL_EVACT0_RETRIGGER_Val << TCC_EVCTRL_EVACT0_Pos) /**< (TCC_EVCTRL) Start, restart or re-trigger counter on event Position */
  533. #define TCC_EVCTRL_EVACT0_COUNTEV (TCC_EVCTRL_EVACT0_COUNTEV_Val << TCC_EVCTRL_EVACT0_Pos) /**< (TCC_EVCTRL) Count on event Position */
  534. #define TCC_EVCTRL_EVACT0_START (TCC_EVCTRL_EVACT0_START_Val << TCC_EVCTRL_EVACT0_Pos) /**< (TCC_EVCTRL) Start counter on event Position */
  535. #define TCC_EVCTRL_EVACT0_INC (TCC_EVCTRL_EVACT0_INC_Val << TCC_EVCTRL_EVACT0_Pos) /**< (TCC_EVCTRL) Increment counter on event Position */
  536. #define TCC_EVCTRL_EVACT0_COUNT (TCC_EVCTRL_EVACT0_COUNT_Val << TCC_EVCTRL_EVACT0_Pos) /**< (TCC_EVCTRL) Count on active state of asynchronous event Position */
  537. #define TCC_EVCTRL_EVACT0_FAULT (TCC_EVCTRL_EVACT0_FAULT_Val << TCC_EVCTRL_EVACT0_Pos) /**< (TCC_EVCTRL) Non-recoverable fault Position */
  538. #define TCC_EVCTRL_EVACT1_Pos _U_(3) /**< (TCC_EVCTRL) Timer/counter Input Event1 Action Position */
  539. #define TCC_EVCTRL_EVACT1_Msk (_U_(0x7) << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Timer/counter Input Event1 Action Mask */
  540. #define TCC_EVCTRL_EVACT1(value) (TCC_EVCTRL_EVACT1_Msk & ((value) << TCC_EVCTRL_EVACT1_Pos))
  541. #define TCC_EVCTRL_EVACT1_OFF_Val _U_(0x0) /**< (TCC_EVCTRL) Event action disabled */
  542. #define TCC_EVCTRL_EVACT1_RETRIGGER_Val _U_(0x1) /**< (TCC_EVCTRL) Re-trigger counter on event */
  543. #define TCC_EVCTRL_EVACT1_DIR_Val _U_(0x2) /**< (TCC_EVCTRL) Direction control */
  544. #define TCC_EVCTRL_EVACT1_STOP_Val _U_(0x3) /**< (TCC_EVCTRL) Stop counter on event */
  545. #define TCC_EVCTRL_EVACT1_DEC_Val _U_(0x4) /**< (TCC_EVCTRL) Decrement counter on event */
  546. #define TCC_EVCTRL_EVACT1_PPW_Val _U_(0x5) /**< (TCC_EVCTRL) Period capture value in CC0 register, pulse width capture value in CC1 register */
  547. #define TCC_EVCTRL_EVACT1_PWP_Val _U_(0x6) /**< (TCC_EVCTRL) Period capture value in CC1 register, pulse width capture value in CC0 register */
  548. #define TCC_EVCTRL_EVACT1_FAULT_Val _U_(0x7) /**< (TCC_EVCTRL) Non-recoverable fault */
  549. #define TCC_EVCTRL_EVACT1_OFF (TCC_EVCTRL_EVACT1_OFF_Val << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Event action disabled Position */
  550. #define TCC_EVCTRL_EVACT1_RETRIGGER (TCC_EVCTRL_EVACT1_RETRIGGER_Val << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Re-trigger counter on event Position */
  551. #define TCC_EVCTRL_EVACT1_DIR (TCC_EVCTRL_EVACT1_DIR_Val << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Direction control Position */
  552. #define TCC_EVCTRL_EVACT1_STOP (TCC_EVCTRL_EVACT1_STOP_Val << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Stop counter on event Position */
  553. #define TCC_EVCTRL_EVACT1_DEC (TCC_EVCTRL_EVACT1_DEC_Val << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Decrement counter on event Position */
  554. #define TCC_EVCTRL_EVACT1_PPW (TCC_EVCTRL_EVACT1_PPW_Val << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Period capture value in CC0 register, pulse width capture value in CC1 register Position */
  555. #define TCC_EVCTRL_EVACT1_PWP (TCC_EVCTRL_EVACT1_PWP_Val << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Period capture value in CC1 register, pulse width capture value in CC0 register Position */
  556. #define TCC_EVCTRL_EVACT1_FAULT (TCC_EVCTRL_EVACT1_FAULT_Val << TCC_EVCTRL_EVACT1_Pos) /**< (TCC_EVCTRL) Non-recoverable fault Position */
  557. #define TCC_EVCTRL_CNTSEL_Pos _U_(6) /**< (TCC_EVCTRL) Timer/counter Output Event Mode Position */
  558. #define TCC_EVCTRL_CNTSEL_Msk (_U_(0x3) << TCC_EVCTRL_CNTSEL_Pos) /**< (TCC_EVCTRL) Timer/counter Output Event Mode Mask */
  559. #define TCC_EVCTRL_CNTSEL(value) (TCC_EVCTRL_CNTSEL_Msk & ((value) << TCC_EVCTRL_CNTSEL_Pos))
  560. #define TCC_EVCTRL_CNTSEL_START_Val _U_(0x0) /**< (TCC_EVCTRL) An interrupt/event is generated when a new counter cycle starts */
  561. #define TCC_EVCTRL_CNTSEL_END_Val _U_(0x1) /**< (TCC_EVCTRL) An interrupt/event is generated when a counter cycle ends */
  562. #define TCC_EVCTRL_CNTSEL_BETWEEN_Val _U_(0x2) /**< (TCC_EVCTRL) An interrupt/event is generated when a counter cycle ends, except for the first and last cycles */
  563. #define TCC_EVCTRL_CNTSEL_BOUNDARY_Val _U_(0x3) /**< (TCC_EVCTRL) An interrupt/event is generated when a new counter cycle starts or a counter cycle ends */
  564. #define TCC_EVCTRL_CNTSEL_START (TCC_EVCTRL_CNTSEL_START_Val << TCC_EVCTRL_CNTSEL_Pos) /**< (TCC_EVCTRL) An interrupt/event is generated when a new counter cycle starts Position */
  565. #define TCC_EVCTRL_CNTSEL_END (TCC_EVCTRL_CNTSEL_END_Val << TCC_EVCTRL_CNTSEL_Pos) /**< (TCC_EVCTRL) An interrupt/event is generated when a counter cycle ends Position */
  566. #define TCC_EVCTRL_CNTSEL_BETWEEN (TCC_EVCTRL_CNTSEL_BETWEEN_Val << TCC_EVCTRL_CNTSEL_Pos) /**< (TCC_EVCTRL) An interrupt/event is generated when a counter cycle ends, except for the first and last cycles Position */
  567. #define TCC_EVCTRL_CNTSEL_BOUNDARY (TCC_EVCTRL_CNTSEL_BOUNDARY_Val << TCC_EVCTRL_CNTSEL_Pos) /**< (TCC_EVCTRL) An interrupt/event is generated when a new counter cycle starts or a counter cycle ends Position */
  568. #define TCC_EVCTRL_OVFEO_Pos _U_(8) /**< (TCC_EVCTRL) Overflow/Underflow Output Event Enable Position */
  569. #define TCC_EVCTRL_OVFEO_Msk (_U_(0x1) << TCC_EVCTRL_OVFEO_Pos) /**< (TCC_EVCTRL) Overflow/Underflow Output Event Enable Mask */
  570. #define TCC_EVCTRL_OVFEO(value) (TCC_EVCTRL_OVFEO_Msk & ((value) << TCC_EVCTRL_OVFEO_Pos))
  571. #define TCC_EVCTRL_TRGEO_Pos _U_(9) /**< (TCC_EVCTRL) Retrigger Output Event Enable Position */
  572. #define TCC_EVCTRL_TRGEO_Msk (_U_(0x1) << TCC_EVCTRL_TRGEO_Pos) /**< (TCC_EVCTRL) Retrigger Output Event Enable Mask */
  573. #define TCC_EVCTRL_TRGEO(value) (TCC_EVCTRL_TRGEO_Msk & ((value) << TCC_EVCTRL_TRGEO_Pos))
  574. #define TCC_EVCTRL_CNTEO_Pos _U_(10) /**< (TCC_EVCTRL) Timer/counter Output Event Enable Position */
  575. #define TCC_EVCTRL_CNTEO_Msk (_U_(0x1) << TCC_EVCTRL_CNTEO_Pos) /**< (TCC_EVCTRL) Timer/counter Output Event Enable Mask */
  576. #define TCC_EVCTRL_CNTEO(value) (TCC_EVCTRL_CNTEO_Msk & ((value) << TCC_EVCTRL_CNTEO_Pos))
  577. #define TCC_EVCTRL_TCINV0_Pos _U_(12) /**< (TCC_EVCTRL) Inverted Event 0 Input Enable Position */
  578. #define TCC_EVCTRL_TCINV0_Msk (_U_(0x1) << TCC_EVCTRL_TCINV0_Pos) /**< (TCC_EVCTRL) Inverted Event 0 Input Enable Mask */
  579. #define TCC_EVCTRL_TCINV0(value) (TCC_EVCTRL_TCINV0_Msk & ((value) << TCC_EVCTRL_TCINV0_Pos))
  580. #define TCC_EVCTRL_TCINV1_Pos _U_(13) /**< (TCC_EVCTRL) Inverted Event 1 Input Enable Position */
  581. #define TCC_EVCTRL_TCINV1_Msk (_U_(0x1) << TCC_EVCTRL_TCINV1_Pos) /**< (TCC_EVCTRL) Inverted Event 1 Input Enable Mask */
  582. #define TCC_EVCTRL_TCINV1(value) (TCC_EVCTRL_TCINV1_Msk & ((value) << TCC_EVCTRL_TCINV1_Pos))
  583. #define TCC_EVCTRL_TCEI0_Pos _U_(14) /**< (TCC_EVCTRL) Timer/counter Event 0 Input Enable Position */
  584. #define TCC_EVCTRL_TCEI0_Msk (_U_(0x1) << TCC_EVCTRL_TCEI0_Pos) /**< (TCC_EVCTRL) Timer/counter Event 0 Input Enable Mask */
  585. #define TCC_EVCTRL_TCEI0(value) (TCC_EVCTRL_TCEI0_Msk & ((value) << TCC_EVCTRL_TCEI0_Pos))
  586. #define TCC_EVCTRL_TCEI1_Pos _U_(15) /**< (TCC_EVCTRL) Timer/counter Event 1 Input Enable Position */
  587. #define TCC_EVCTRL_TCEI1_Msk (_U_(0x1) << TCC_EVCTRL_TCEI1_Pos) /**< (TCC_EVCTRL) Timer/counter Event 1 Input Enable Mask */
  588. #define TCC_EVCTRL_TCEI1(value) (TCC_EVCTRL_TCEI1_Msk & ((value) << TCC_EVCTRL_TCEI1_Pos))
  589. #define TCC_EVCTRL_MCEI0_Pos _U_(16) /**< (TCC_EVCTRL) Match or Capture Channel 0 Event Input Enable Position */
  590. #define TCC_EVCTRL_MCEI0_Msk (_U_(0x1) << TCC_EVCTRL_MCEI0_Pos) /**< (TCC_EVCTRL) Match or Capture Channel 0 Event Input Enable Mask */
  591. #define TCC_EVCTRL_MCEI0(value) (TCC_EVCTRL_MCEI0_Msk & ((value) << TCC_EVCTRL_MCEI0_Pos))
  592. #define TCC_EVCTRL_MCEI1_Pos _U_(17) /**< (TCC_EVCTRL) Match or Capture Channel 1 Event Input Enable Position */
  593. #define TCC_EVCTRL_MCEI1_Msk (_U_(0x1) << TCC_EVCTRL_MCEI1_Pos) /**< (TCC_EVCTRL) Match or Capture Channel 1 Event Input Enable Mask */
  594. #define TCC_EVCTRL_MCEI1(value) (TCC_EVCTRL_MCEI1_Msk & ((value) << TCC_EVCTRL_MCEI1_Pos))
  595. #define TCC_EVCTRL_MCEI2_Pos _U_(18) /**< (TCC_EVCTRL) Match or Capture Channel 2 Event Input Enable Position */
  596. #define TCC_EVCTRL_MCEI2_Msk (_U_(0x1) << TCC_EVCTRL_MCEI2_Pos) /**< (TCC_EVCTRL) Match or Capture Channel 2 Event Input Enable Mask */
  597. #define TCC_EVCTRL_MCEI2(value) (TCC_EVCTRL_MCEI2_Msk & ((value) << TCC_EVCTRL_MCEI2_Pos))
  598. #define TCC_EVCTRL_MCEI3_Pos _U_(19) /**< (TCC_EVCTRL) Match or Capture Channel 3 Event Input Enable Position */
  599. #define TCC_EVCTRL_MCEI3_Msk (_U_(0x1) << TCC_EVCTRL_MCEI3_Pos) /**< (TCC_EVCTRL) Match or Capture Channel 3 Event Input Enable Mask */
  600. #define TCC_EVCTRL_MCEI3(value) (TCC_EVCTRL_MCEI3_Msk & ((value) << TCC_EVCTRL_MCEI3_Pos))
  601. #define TCC_EVCTRL_MCEO0_Pos _U_(24) /**< (TCC_EVCTRL) Match or Capture Channel 0 Event Output Enable Position */
  602. #define TCC_EVCTRL_MCEO0_Msk (_U_(0x1) << TCC_EVCTRL_MCEO0_Pos) /**< (TCC_EVCTRL) Match or Capture Channel 0 Event Output Enable Mask */
  603. #define TCC_EVCTRL_MCEO0(value) (TCC_EVCTRL_MCEO0_Msk & ((value) << TCC_EVCTRL_MCEO0_Pos))
  604. #define TCC_EVCTRL_MCEO1_Pos _U_(25) /**< (TCC_EVCTRL) Match or Capture Channel 1 Event Output Enable Position */
  605. #define TCC_EVCTRL_MCEO1_Msk (_U_(0x1) << TCC_EVCTRL_MCEO1_Pos) /**< (TCC_EVCTRL) Match or Capture Channel 1 Event Output Enable Mask */
  606. #define TCC_EVCTRL_MCEO1(value) (TCC_EVCTRL_MCEO1_Msk & ((value) << TCC_EVCTRL_MCEO1_Pos))
  607. #define TCC_EVCTRL_MCEO2_Pos _U_(26) /**< (TCC_EVCTRL) Match or Capture Channel 2 Event Output Enable Position */
  608. #define TCC_EVCTRL_MCEO2_Msk (_U_(0x1) << TCC_EVCTRL_MCEO2_Pos) /**< (TCC_EVCTRL) Match or Capture Channel 2 Event Output Enable Mask */
  609. #define TCC_EVCTRL_MCEO2(value) (TCC_EVCTRL_MCEO2_Msk & ((value) << TCC_EVCTRL_MCEO2_Pos))
  610. #define TCC_EVCTRL_MCEO3_Pos _U_(27) /**< (TCC_EVCTRL) Match or Capture Channel 3 Event Output Enable Position */
  611. #define TCC_EVCTRL_MCEO3_Msk (_U_(0x1) << TCC_EVCTRL_MCEO3_Pos) /**< (TCC_EVCTRL) Match or Capture Channel 3 Event Output Enable Mask */
  612. #define TCC_EVCTRL_MCEO3(value) (TCC_EVCTRL_MCEO3_Msk & ((value) << TCC_EVCTRL_MCEO3_Pos))
  613. #define TCC_EVCTRL_Msk _U_(0x0F0FF7FF) /**< (TCC_EVCTRL) Register Mask */
  614. #define TCC_EVCTRL_TCINV_Pos _U_(12) /**< (TCC_EVCTRL Position) Inverted Event x Input Enable */
  615. #define TCC_EVCTRL_TCINV_Msk (_U_(0x3) << TCC_EVCTRL_TCINV_Pos) /**< (TCC_EVCTRL Mask) TCINV */
  616. #define TCC_EVCTRL_TCINV(value) (TCC_EVCTRL_TCINV_Msk & ((value) << TCC_EVCTRL_TCINV_Pos))
  617. #define TCC_EVCTRL_TCEI_Pos _U_(14) /**< (TCC_EVCTRL Position) Timer/counter Event x Input Enable */
  618. #define TCC_EVCTRL_TCEI_Msk (_U_(0x3) << TCC_EVCTRL_TCEI_Pos) /**< (TCC_EVCTRL Mask) TCEI */
  619. #define TCC_EVCTRL_TCEI(value) (TCC_EVCTRL_TCEI_Msk & ((value) << TCC_EVCTRL_TCEI_Pos))
  620. #define TCC_EVCTRL_MCEI_Pos _U_(16) /**< (TCC_EVCTRL Position) Match or Capture Channel x Event Input Enable */
  621. #define TCC_EVCTRL_MCEI_Msk (_U_(0xF) << TCC_EVCTRL_MCEI_Pos) /**< (TCC_EVCTRL Mask) MCEI */
  622. #define TCC_EVCTRL_MCEI(value) (TCC_EVCTRL_MCEI_Msk & ((value) << TCC_EVCTRL_MCEI_Pos))
  623. #define TCC_EVCTRL_MCEO_Pos _U_(24) /**< (TCC_EVCTRL Position) Match or Capture Channel 3 Event Output Enable */
  624. #define TCC_EVCTRL_MCEO_Msk (_U_(0xF) << TCC_EVCTRL_MCEO_Pos) /**< (TCC_EVCTRL Mask) MCEO */
  625. #define TCC_EVCTRL_MCEO(value) (TCC_EVCTRL_MCEO_Msk & ((value) << TCC_EVCTRL_MCEO_Pos))
  626. /* -------- TCC_INTENCLR : (TCC Offset: 0x24) (R/W 32) Interrupt Enable Clear -------- */
  627. #define TCC_INTENCLR_RESETVALUE _U_(0x00) /**< (TCC_INTENCLR) Interrupt Enable Clear Reset Value */
  628. #define TCC_INTENCLR_OVF_Pos _U_(0) /**< (TCC_INTENCLR) Overflow Interrupt Enable Position */
  629. #define TCC_INTENCLR_OVF_Msk (_U_(0x1) << TCC_INTENCLR_OVF_Pos) /**< (TCC_INTENCLR) Overflow Interrupt Enable Mask */
  630. #define TCC_INTENCLR_OVF(value) (TCC_INTENCLR_OVF_Msk & ((value) << TCC_INTENCLR_OVF_Pos))
  631. #define TCC_INTENCLR_TRG_Pos _U_(1) /**< (TCC_INTENCLR) Retrigger Interrupt Enable Position */
  632. #define TCC_INTENCLR_TRG_Msk (_U_(0x1) << TCC_INTENCLR_TRG_Pos) /**< (TCC_INTENCLR) Retrigger Interrupt Enable Mask */
  633. #define TCC_INTENCLR_TRG(value) (TCC_INTENCLR_TRG_Msk & ((value) << TCC_INTENCLR_TRG_Pos))
  634. #define TCC_INTENCLR_CNT_Pos _U_(2) /**< (TCC_INTENCLR) Counter Interrupt Enable Position */
  635. #define TCC_INTENCLR_CNT_Msk (_U_(0x1) << TCC_INTENCLR_CNT_Pos) /**< (TCC_INTENCLR) Counter Interrupt Enable Mask */
  636. #define TCC_INTENCLR_CNT(value) (TCC_INTENCLR_CNT_Msk & ((value) << TCC_INTENCLR_CNT_Pos))
  637. #define TCC_INTENCLR_ERR_Pos _U_(3) /**< (TCC_INTENCLR) Error Interrupt Enable Position */
  638. #define TCC_INTENCLR_ERR_Msk (_U_(0x1) << TCC_INTENCLR_ERR_Pos) /**< (TCC_INTENCLR) Error Interrupt Enable Mask */
  639. #define TCC_INTENCLR_ERR(value) (TCC_INTENCLR_ERR_Msk & ((value) << TCC_INTENCLR_ERR_Pos))
  640. #define TCC_INTENCLR_DFS_Pos _U_(11) /**< (TCC_INTENCLR) Non-Recoverable Debug Fault Interrupt Enable Position */
  641. #define TCC_INTENCLR_DFS_Msk (_U_(0x1) << TCC_INTENCLR_DFS_Pos) /**< (TCC_INTENCLR) Non-Recoverable Debug Fault Interrupt Enable Mask */
  642. #define TCC_INTENCLR_DFS(value) (TCC_INTENCLR_DFS_Msk & ((value) << TCC_INTENCLR_DFS_Pos))
  643. #define TCC_INTENCLR_FAULTA_Pos _U_(12) /**< (TCC_INTENCLR) Recoverable Fault A Interrupt Enable Position */
  644. #define TCC_INTENCLR_FAULTA_Msk (_U_(0x1) << TCC_INTENCLR_FAULTA_Pos) /**< (TCC_INTENCLR) Recoverable Fault A Interrupt Enable Mask */
  645. #define TCC_INTENCLR_FAULTA(value) (TCC_INTENCLR_FAULTA_Msk & ((value) << TCC_INTENCLR_FAULTA_Pos))
  646. #define TCC_INTENCLR_FAULTB_Pos _U_(13) /**< (TCC_INTENCLR) Recoverable Fault B Interrupt Enable Position */
  647. #define TCC_INTENCLR_FAULTB_Msk (_U_(0x1) << TCC_INTENCLR_FAULTB_Pos) /**< (TCC_INTENCLR) Recoverable Fault B Interrupt Enable Mask */
  648. #define TCC_INTENCLR_FAULTB(value) (TCC_INTENCLR_FAULTB_Msk & ((value) << TCC_INTENCLR_FAULTB_Pos))
  649. #define TCC_INTENCLR_FAULT0_Pos _U_(14) /**< (TCC_INTENCLR) Non-Recoverable Fault 0 Interrupt Enable Position */
  650. #define TCC_INTENCLR_FAULT0_Msk (_U_(0x1) << TCC_INTENCLR_FAULT0_Pos) /**< (TCC_INTENCLR) Non-Recoverable Fault 0 Interrupt Enable Mask */
  651. #define TCC_INTENCLR_FAULT0(value) (TCC_INTENCLR_FAULT0_Msk & ((value) << TCC_INTENCLR_FAULT0_Pos))
  652. #define TCC_INTENCLR_FAULT1_Pos _U_(15) /**< (TCC_INTENCLR) Non-Recoverable Fault 1 Interrupt Enable Position */
  653. #define TCC_INTENCLR_FAULT1_Msk (_U_(0x1) << TCC_INTENCLR_FAULT1_Pos) /**< (TCC_INTENCLR) Non-Recoverable Fault 1 Interrupt Enable Mask */
  654. #define TCC_INTENCLR_FAULT1(value) (TCC_INTENCLR_FAULT1_Msk & ((value) << TCC_INTENCLR_FAULT1_Pos))
  655. #define TCC_INTENCLR_MC0_Pos _U_(16) /**< (TCC_INTENCLR) Match or Capture Channel 0 Interrupt Enable Position */
  656. #define TCC_INTENCLR_MC0_Msk (_U_(0x1) << TCC_INTENCLR_MC0_Pos) /**< (TCC_INTENCLR) Match or Capture Channel 0 Interrupt Enable Mask */
  657. #define TCC_INTENCLR_MC0(value) (TCC_INTENCLR_MC0_Msk & ((value) << TCC_INTENCLR_MC0_Pos))
  658. #define TCC_INTENCLR_MC1_Pos _U_(17) /**< (TCC_INTENCLR) Match or Capture Channel 1 Interrupt Enable Position */
  659. #define TCC_INTENCLR_MC1_Msk (_U_(0x1) << TCC_INTENCLR_MC1_Pos) /**< (TCC_INTENCLR) Match or Capture Channel 1 Interrupt Enable Mask */
  660. #define TCC_INTENCLR_MC1(value) (TCC_INTENCLR_MC1_Msk & ((value) << TCC_INTENCLR_MC1_Pos))
  661. #define TCC_INTENCLR_MC2_Pos _U_(18) /**< (TCC_INTENCLR) Match or Capture Channel 2 Interrupt Enable Position */
  662. #define TCC_INTENCLR_MC2_Msk (_U_(0x1) << TCC_INTENCLR_MC2_Pos) /**< (TCC_INTENCLR) Match or Capture Channel 2 Interrupt Enable Mask */
  663. #define TCC_INTENCLR_MC2(value) (TCC_INTENCLR_MC2_Msk & ((value) << TCC_INTENCLR_MC2_Pos))
  664. #define TCC_INTENCLR_MC3_Pos _U_(19) /**< (TCC_INTENCLR) Match or Capture Channel 3 Interrupt Enable Position */
  665. #define TCC_INTENCLR_MC3_Msk (_U_(0x1) << TCC_INTENCLR_MC3_Pos) /**< (TCC_INTENCLR) Match or Capture Channel 3 Interrupt Enable Mask */
  666. #define TCC_INTENCLR_MC3(value) (TCC_INTENCLR_MC3_Msk & ((value) << TCC_INTENCLR_MC3_Pos))
  667. #define TCC_INTENCLR_Msk _U_(0x000FF80F) /**< (TCC_INTENCLR) Register Mask */
  668. #define TCC_INTENCLR_FAULT_Pos _U_(14) /**< (TCC_INTENCLR Position) Non-Recoverable Fault x Interrupt Enable */
  669. #define TCC_INTENCLR_FAULT_Msk (_U_(0x3) << TCC_INTENCLR_FAULT_Pos) /**< (TCC_INTENCLR Mask) FAULT */
  670. #define TCC_INTENCLR_FAULT(value) (TCC_INTENCLR_FAULT_Msk & ((value) << TCC_INTENCLR_FAULT_Pos))
  671. #define TCC_INTENCLR_MC_Pos _U_(16) /**< (TCC_INTENCLR Position) Match or Capture Channel 3 Interrupt Enable */
  672. #define TCC_INTENCLR_MC_Msk (_U_(0xF) << TCC_INTENCLR_MC_Pos) /**< (TCC_INTENCLR Mask) MC */
  673. #define TCC_INTENCLR_MC(value) (TCC_INTENCLR_MC_Msk & ((value) << TCC_INTENCLR_MC_Pos))
  674. /* -------- TCC_INTENSET : (TCC Offset: 0x28) (R/W 32) Interrupt Enable Set -------- */
  675. #define TCC_INTENSET_RESETVALUE _U_(0x00) /**< (TCC_INTENSET) Interrupt Enable Set Reset Value */
  676. #define TCC_INTENSET_OVF_Pos _U_(0) /**< (TCC_INTENSET) Overflow Interrupt Enable Position */
  677. #define TCC_INTENSET_OVF_Msk (_U_(0x1) << TCC_INTENSET_OVF_Pos) /**< (TCC_INTENSET) Overflow Interrupt Enable Mask */
  678. #define TCC_INTENSET_OVF(value) (TCC_INTENSET_OVF_Msk & ((value) << TCC_INTENSET_OVF_Pos))
  679. #define TCC_INTENSET_TRG_Pos _U_(1) /**< (TCC_INTENSET) Retrigger Interrupt Enable Position */
  680. #define TCC_INTENSET_TRG_Msk (_U_(0x1) << TCC_INTENSET_TRG_Pos) /**< (TCC_INTENSET) Retrigger Interrupt Enable Mask */
  681. #define TCC_INTENSET_TRG(value) (TCC_INTENSET_TRG_Msk & ((value) << TCC_INTENSET_TRG_Pos))
  682. #define TCC_INTENSET_CNT_Pos _U_(2) /**< (TCC_INTENSET) Counter Interrupt Enable Position */
  683. #define TCC_INTENSET_CNT_Msk (_U_(0x1) << TCC_INTENSET_CNT_Pos) /**< (TCC_INTENSET) Counter Interrupt Enable Mask */
  684. #define TCC_INTENSET_CNT(value) (TCC_INTENSET_CNT_Msk & ((value) << TCC_INTENSET_CNT_Pos))
  685. #define TCC_INTENSET_ERR_Pos _U_(3) /**< (TCC_INTENSET) Error Interrupt Enable Position */
  686. #define TCC_INTENSET_ERR_Msk (_U_(0x1) << TCC_INTENSET_ERR_Pos) /**< (TCC_INTENSET) Error Interrupt Enable Mask */
  687. #define TCC_INTENSET_ERR(value) (TCC_INTENSET_ERR_Msk & ((value) << TCC_INTENSET_ERR_Pos))
  688. #define TCC_INTENSET_DFS_Pos _U_(11) /**< (TCC_INTENSET) Non-Recoverable Debug Fault Interrupt Enable Position */
  689. #define TCC_INTENSET_DFS_Msk (_U_(0x1) << TCC_INTENSET_DFS_Pos) /**< (TCC_INTENSET) Non-Recoverable Debug Fault Interrupt Enable Mask */
  690. #define TCC_INTENSET_DFS(value) (TCC_INTENSET_DFS_Msk & ((value) << TCC_INTENSET_DFS_Pos))
  691. #define TCC_INTENSET_FAULTA_Pos _U_(12) /**< (TCC_INTENSET) Recoverable Fault A Interrupt Enable Position */
  692. #define TCC_INTENSET_FAULTA_Msk (_U_(0x1) << TCC_INTENSET_FAULTA_Pos) /**< (TCC_INTENSET) Recoverable Fault A Interrupt Enable Mask */
  693. #define TCC_INTENSET_FAULTA(value) (TCC_INTENSET_FAULTA_Msk & ((value) << TCC_INTENSET_FAULTA_Pos))
  694. #define TCC_INTENSET_FAULTB_Pos _U_(13) /**< (TCC_INTENSET) Recoverable Fault B Interrupt Enable Position */
  695. #define TCC_INTENSET_FAULTB_Msk (_U_(0x1) << TCC_INTENSET_FAULTB_Pos) /**< (TCC_INTENSET) Recoverable Fault B Interrupt Enable Mask */
  696. #define TCC_INTENSET_FAULTB(value) (TCC_INTENSET_FAULTB_Msk & ((value) << TCC_INTENSET_FAULTB_Pos))
  697. #define TCC_INTENSET_FAULT0_Pos _U_(14) /**< (TCC_INTENSET) Non-Recoverable Fault 0 Interrupt Enable Position */
  698. #define TCC_INTENSET_FAULT0_Msk (_U_(0x1) << TCC_INTENSET_FAULT0_Pos) /**< (TCC_INTENSET) Non-Recoverable Fault 0 Interrupt Enable Mask */
  699. #define TCC_INTENSET_FAULT0(value) (TCC_INTENSET_FAULT0_Msk & ((value) << TCC_INTENSET_FAULT0_Pos))
  700. #define TCC_INTENSET_FAULT1_Pos _U_(15) /**< (TCC_INTENSET) Non-Recoverable Fault 1 Interrupt Enable Position */
  701. #define TCC_INTENSET_FAULT1_Msk (_U_(0x1) << TCC_INTENSET_FAULT1_Pos) /**< (TCC_INTENSET) Non-Recoverable Fault 1 Interrupt Enable Mask */
  702. #define TCC_INTENSET_FAULT1(value) (TCC_INTENSET_FAULT1_Msk & ((value) << TCC_INTENSET_FAULT1_Pos))
  703. #define TCC_INTENSET_MC0_Pos _U_(16) /**< (TCC_INTENSET) Match or Capture Channel 0 Interrupt Enable Position */
  704. #define TCC_INTENSET_MC0_Msk (_U_(0x1) << TCC_INTENSET_MC0_Pos) /**< (TCC_INTENSET) Match or Capture Channel 0 Interrupt Enable Mask */
  705. #define TCC_INTENSET_MC0(value) (TCC_INTENSET_MC0_Msk & ((value) << TCC_INTENSET_MC0_Pos))
  706. #define TCC_INTENSET_MC1_Pos _U_(17) /**< (TCC_INTENSET) Match or Capture Channel 1 Interrupt Enable Position */
  707. #define TCC_INTENSET_MC1_Msk (_U_(0x1) << TCC_INTENSET_MC1_Pos) /**< (TCC_INTENSET) Match or Capture Channel 1 Interrupt Enable Mask */
  708. #define TCC_INTENSET_MC1(value) (TCC_INTENSET_MC1_Msk & ((value) << TCC_INTENSET_MC1_Pos))
  709. #define TCC_INTENSET_MC2_Pos _U_(18) /**< (TCC_INTENSET) Match or Capture Channel 2 Interrupt Enable Position */
  710. #define TCC_INTENSET_MC2_Msk (_U_(0x1) << TCC_INTENSET_MC2_Pos) /**< (TCC_INTENSET) Match or Capture Channel 2 Interrupt Enable Mask */
  711. #define TCC_INTENSET_MC2(value) (TCC_INTENSET_MC2_Msk & ((value) << TCC_INTENSET_MC2_Pos))
  712. #define TCC_INTENSET_MC3_Pos _U_(19) /**< (TCC_INTENSET) Match or Capture Channel 3 Interrupt Enable Position */
  713. #define TCC_INTENSET_MC3_Msk (_U_(0x1) << TCC_INTENSET_MC3_Pos) /**< (TCC_INTENSET) Match or Capture Channel 3 Interrupt Enable Mask */
  714. #define TCC_INTENSET_MC3(value) (TCC_INTENSET_MC3_Msk & ((value) << TCC_INTENSET_MC3_Pos))
  715. #define TCC_INTENSET_Msk _U_(0x000FF80F) /**< (TCC_INTENSET) Register Mask */
  716. #define TCC_INTENSET_FAULT_Pos _U_(14) /**< (TCC_INTENSET Position) Non-Recoverable Fault x Interrupt Enable */
  717. #define TCC_INTENSET_FAULT_Msk (_U_(0x3) << TCC_INTENSET_FAULT_Pos) /**< (TCC_INTENSET Mask) FAULT */
  718. #define TCC_INTENSET_FAULT(value) (TCC_INTENSET_FAULT_Msk & ((value) << TCC_INTENSET_FAULT_Pos))
  719. #define TCC_INTENSET_MC_Pos _U_(16) /**< (TCC_INTENSET Position) Match or Capture Channel 3 Interrupt Enable */
  720. #define TCC_INTENSET_MC_Msk (_U_(0xF) << TCC_INTENSET_MC_Pos) /**< (TCC_INTENSET Mask) MC */
  721. #define TCC_INTENSET_MC(value) (TCC_INTENSET_MC_Msk & ((value) << TCC_INTENSET_MC_Pos))
  722. /* -------- TCC_INTFLAG : (TCC Offset: 0x2C) (R/W 32) Interrupt Flag Status and Clear -------- */
  723. #define TCC_INTFLAG_RESETVALUE _U_(0x00) /**< (TCC_INTFLAG) Interrupt Flag Status and Clear Reset Value */
  724. #define TCC_INTFLAG_OVF_Pos _U_(0) /**< (TCC_INTFLAG) Overflow Position */
  725. #define TCC_INTFLAG_OVF_Msk (_U_(0x1) << TCC_INTFLAG_OVF_Pos) /**< (TCC_INTFLAG) Overflow Mask */
  726. #define TCC_INTFLAG_OVF(value) (TCC_INTFLAG_OVF_Msk & ((value) << TCC_INTFLAG_OVF_Pos))
  727. #define TCC_INTFLAG_TRG_Pos _U_(1) /**< (TCC_INTFLAG) Retrigger Position */
  728. #define TCC_INTFLAG_TRG_Msk (_U_(0x1) << TCC_INTFLAG_TRG_Pos) /**< (TCC_INTFLAG) Retrigger Mask */
  729. #define TCC_INTFLAG_TRG(value) (TCC_INTFLAG_TRG_Msk & ((value) << TCC_INTFLAG_TRG_Pos))
  730. #define TCC_INTFLAG_CNT_Pos _U_(2) /**< (TCC_INTFLAG) Counter Position */
  731. #define TCC_INTFLAG_CNT_Msk (_U_(0x1) << TCC_INTFLAG_CNT_Pos) /**< (TCC_INTFLAG) Counter Mask */
  732. #define TCC_INTFLAG_CNT(value) (TCC_INTFLAG_CNT_Msk & ((value) << TCC_INTFLAG_CNT_Pos))
  733. #define TCC_INTFLAG_ERR_Pos _U_(3) /**< (TCC_INTFLAG) Error Position */
  734. #define TCC_INTFLAG_ERR_Msk (_U_(0x1) << TCC_INTFLAG_ERR_Pos) /**< (TCC_INTFLAG) Error Mask */
  735. #define TCC_INTFLAG_ERR(value) (TCC_INTFLAG_ERR_Msk & ((value) << TCC_INTFLAG_ERR_Pos))
  736. #define TCC_INTFLAG_DFS_Pos _U_(11) /**< (TCC_INTFLAG) Non-Recoverable Debug Fault Position */
  737. #define TCC_INTFLAG_DFS_Msk (_U_(0x1) << TCC_INTFLAG_DFS_Pos) /**< (TCC_INTFLAG) Non-Recoverable Debug Fault Mask */
  738. #define TCC_INTFLAG_DFS(value) (TCC_INTFLAG_DFS_Msk & ((value) << TCC_INTFLAG_DFS_Pos))
  739. #define TCC_INTFLAG_FAULTA_Pos _U_(12) /**< (TCC_INTFLAG) Recoverable Fault A Position */
  740. #define TCC_INTFLAG_FAULTA_Msk (_U_(0x1) << TCC_INTFLAG_FAULTA_Pos) /**< (TCC_INTFLAG) Recoverable Fault A Mask */
  741. #define TCC_INTFLAG_FAULTA(value) (TCC_INTFLAG_FAULTA_Msk & ((value) << TCC_INTFLAG_FAULTA_Pos))
  742. #define TCC_INTFLAG_FAULTB_Pos _U_(13) /**< (TCC_INTFLAG) Recoverable Fault B Position */
  743. #define TCC_INTFLAG_FAULTB_Msk (_U_(0x1) << TCC_INTFLAG_FAULTB_Pos) /**< (TCC_INTFLAG) Recoverable Fault B Mask */
  744. #define TCC_INTFLAG_FAULTB(value) (TCC_INTFLAG_FAULTB_Msk & ((value) << TCC_INTFLAG_FAULTB_Pos))
  745. #define TCC_INTFLAG_FAULT0_Pos _U_(14) /**< (TCC_INTFLAG) Non-Recoverable Fault 0 Position */
  746. #define TCC_INTFLAG_FAULT0_Msk (_U_(0x1) << TCC_INTFLAG_FAULT0_Pos) /**< (TCC_INTFLAG) Non-Recoverable Fault 0 Mask */
  747. #define TCC_INTFLAG_FAULT0(value) (TCC_INTFLAG_FAULT0_Msk & ((value) << TCC_INTFLAG_FAULT0_Pos))
  748. #define TCC_INTFLAG_FAULT1_Pos _U_(15) /**< (TCC_INTFLAG) Non-Recoverable Fault 1 Position */
  749. #define TCC_INTFLAG_FAULT1_Msk (_U_(0x1) << TCC_INTFLAG_FAULT1_Pos) /**< (TCC_INTFLAG) Non-Recoverable Fault 1 Mask */
  750. #define TCC_INTFLAG_FAULT1(value) (TCC_INTFLAG_FAULT1_Msk & ((value) << TCC_INTFLAG_FAULT1_Pos))
  751. #define TCC_INTFLAG_MC0_Pos _U_(16) /**< (TCC_INTFLAG) Match or Capture 0 Position */
  752. #define TCC_INTFLAG_MC0_Msk (_U_(0x1) << TCC_INTFLAG_MC0_Pos) /**< (TCC_INTFLAG) Match or Capture 0 Mask */
  753. #define TCC_INTFLAG_MC0(value) (TCC_INTFLAG_MC0_Msk & ((value) << TCC_INTFLAG_MC0_Pos))
  754. #define TCC_INTFLAG_MC1_Pos _U_(17) /**< (TCC_INTFLAG) Match or Capture 1 Position */
  755. #define TCC_INTFLAG_MC1_Msk (_U_(0x1) << TCC_INTFLAG_MC1_Pos) /**< (TCC_INTFLAG) Match or Capture 1 Mask */
  756. #define TCC_INTFLAG_MC1(value) (TCC_INTFLAG_MC1_Msk & ((value) << TCC_INTFLAG_MC1_Pos))
  757. #define TCC_INTFLAG_MC2_Pos _U_(18) /**< (TCC_INTFLAG) Match or Capture 2 Position */
  758. #define TCC_INTFLAG_MC2_Msk (_U_(0x1) << TCC_INTFLAG_MC2_Pos) /**< (TCC_INTFLAG) Match or Capture 2 Mask */
  759. #define TCC_INTFLAG_MC2(value) (TCC_INTFLAG_MC2_Msk & ((value) << TCC_INTFLAG_MC2_Pos))
  760. #define TCC_INTFLAG_MC3_Pos _U_(19) /**< (TCC_INTFLAG) Match or Capture 3 Position */
  761. #define TCC_INTFLAG_MC3_Msk (_U_(0x1) << TCC_INTFLAG_MC3_Pos) /**< (TCC_INTFLAG) Match or Capture 3 Mask */
  762. #define TCC_INTFLAG_MC3(value) (TCC_INTFLAG_MC3_Msk & ((value) << TCC_INTFLAG_MC3_Pos))
  763. #define TCC_INTFLAG_Msk _U_(0x000FF80F) /**< (TCC_INTFLAG) Register Mask */
  764. #define TCC_INTFLAG_FAULT_Pos _U_(14) /**< (TCC_INTFLAG Position) Non-Recoverable Fault x */
  765. #define TCC_INTFLAG_FAULT_Msk (_U_(0x3) << TCC_INTFLAG_FAULT_Pos) /**< (TCC_INTFLAG Mask) FAULT */
  766. #define TCC_INTFLAG_FAULT(value) (TCC_INTFLAG_FAULT_Msk & ((value) << TCC_INTFLAG_FAULT_Pos))
  767. #define TCC_INTFLAG_MC_Pos _U_(16) /**< (TCC_INTFLAG Position) Match or Capture 3 */
  768. #define TCC_INTFLAG_MC_Msk (_U_(0xF) << TCC_INTFLAG_MC_Pos) /**< (TCC_INTFLAG Mask) MC */
  769. #define TCC_INTFLAG_MC(value) (TCC_INTFLAG_MC_Msk & ((value) << TCC_INTFLAG_MC_Pos))
  770. /* -------- TCC_STATUS : (TCC Offset: 0x30) (R/W 32) Status -------- */
  771. #define TCC_STATUS_RESETVALUE _U_(0x01) /**< (TCC_STATUS) Status Reset Value */
  772. #define TCC_STATUS_STOP_Pos _U_(0) /**< (TCC_STATUS) Stop Position */
  773. #define TCC_STATUS_STOP_Msk (_U_(0x1) << TCC_STATUS_STOP_Pos) /**< (TCC_STATUS) Stop Mask */
  774. #define TCC_STATUS_STOP(value) (TCC_STATUS_STOP_Msk & ((value) << TCC_STATUS_STOP_Pos))
  775. #define TCC_STATUS_IDX_Pos _U_(1) /**< (TCC_STATUS) Ramp Position */
  776. #define TCC_STATUS_IDX_Msk (_U_(0x1) << TCC_STATUS_IDX_Pos) /**< (TCC_STATUS) Ramp Mask */
  777. #define TCC_STATUS_IDX(value) (TCC_STATUS_IDX_Msk & ((value) << TCC_STATUS_IDX_Pos))
  778. #define TCC_STATUS_DFS_Pos _U_(3) /**< (TCC_STATUS) Non-Recoverable Debug Fault State Position */
  779. #define TCC_STATUS_DFS_Msk (_U_(0x1) << TCC_STATUS_DFS_Pos) /**< (TCC_STATUS) Non-Recoverable Debug Fault State Mask */
  780. #define TCC_STATUS_DFS(value) (TCC_STATUS_DFS_Msk & ((value) << TCC_STATUS_DFS_Pos))
  781. #define TCC_STATUS_SLAVE_Pos _U_(4) /**< (TCC_STATUS) Slave Position */
  782. #define TCC_STATUS_SLAVE_Msk (_U_(0x1) << TCC_STATUS_SLAVE_Pos) /**< (TCC_STATUS) Slave Mask */
  783. #define TCC_STATUS_SLAVE(value) (TCC_STATUS_SLAVE_Msk & ((value) << TCC_STATUS_SLAVE_Pos))
  784. #define TCC_STATUS_PATTBV_Pos _U_(5) /**< (TCC_STATUS) Pattern Buffer Valid Position */
  785. #define TCC_STATUS_PATTBV_Msk (_U_(0x1) << TCC_STATUS_PATTBV_Pos) /**< (TCC_STATUS) Pattern Buffer Valid Mask */
  786. #define TCC_STATUS_PATTBV(value) (TCC_STATUS_PATTBV_Msk & ((value) << TCC_STATUS_PATTBV_Pos))
  787. #define TCC_STATUS_WAVEBV_Pos _U_(6) /**< (TCC_STATUS) Wave Buffer Valid Position */
  788. #define TCC_STATUS_WAVEBV_Msk (_U_(0x1) << TCC_STATUS_WAVEBV_Pos) /**< (TCC_STATUS) Wave Buffer Valid Mask */
  789. #define TCC_STATUS_WAVEBV(value) (TCC_STATUS_WAVEBV_Msk & ((value) << TCC_STATUS_WAVEBV_Pos))
  790. #define TCC_STATUS_PERBV_Pos _U_(7) /**< (TCC_STATUS) Period Buffer Valid Position */
  791. #define TCC_STATUS_PERBV_Msk (_U_(0x1) << TCC_STATUS_PERBV_Pos) /**< (TCC_STATUS) Period Buffer Valid Mask */
  792. #define TCC_STATUS_PERBV(value) (TCC_STATUS_PERBV_Msk & ((value) << TCC_STATUS_PERBV_Pos))
  793. #define TCC_STATUS_FAULTAIN_Pos _U_(8) /**< (TCC_STATUS) Recoverable Fault A Input Position */
  794. #define TCC_STATUS_FAULTAIN_Msk (_U_(0x1) << TCC_STATUS_FAULTAIN_Pos) /**< (TCC_STATUS) Recoverable Fault A Input Mask */
  795. #define TCC_STATUS_FAULTAIN(value) (TCC_STATUS_FAULTAIN_Msk & ((value) << TCC_STATUS_FAULTAIN_Pos))
  796. #define TCC_STATUS_FAULTBIN_Pos _U_(9) /**< (TCC_STATUS) Recoverable Fault B Input Position */
  797. #define TCC_STATUS_FAULTBIN_Msk (_U_(0x1) << TCC_STATUS_FAULTBIN_Pos) /**< (TCC_STATUS) Recoverable Fault B Input Mask */
  798. #define TCC_STATUS_FAULTBIN(value) (TCC_STATUS_FAULTBIN_Msk & ((value) << TCC_STATUS_FAULTBIN_Pos))
  799. #define TCC_STATUS_FAULT0IN_Pos _U_(10) /**< (TCC_STATUS) Non-Recoverable Fault0 Input Position */
  800. #define TCC_STATUS_FAULT0IN_Msk (_U_(0x1) << TCC_STATUS_FAULT0IN_Pos) /**< (TCC_STATUS) Non-Recoverable Fault0 Input Mask */
  801. #define TCC_STATUS_FAULT0IN(value) (TCC_STATUS_FAULT0IN_Msk & ((value) << TCC_STATUS_FAULT0IN_Pos))
  802. #define TCC_STATUS_FAULT1IN_Pos _U_(11) /**< (TCC_STATUS) Non-Recoverable Fault1 Input Position */
  803. #define TCC_STATUS_FAULT1IN_Msk (_U_(0x1) << TCC_STATUS_FAULT1IN_Pos) /**< (TCC_STATUS) Non-Recoverable Fault1 Input Mask */
  804. #define TCC_STATUS_FAULT1IN(value) (TCC_STATUS_FAULT1IN_Msk & ((value) << TCC_STATUS_FAULT1IN_Pos))
  805. #define TCC_STATUS_FAULTA_Pos _U_(12) /**< (TCC_STATUS) Recoverable Fault A State Position */
  806. #define TCC_STATUS_FAULTA_Msk (_U_(0x1) << TCC_STATUS_FAULTA_Pos) /**< (TCC_STATUS) Recoverable Fault A State Mask */
  807. #define TCC_STATUS_FAULTA(value) (TCC_STATUS_FAULTA_Msk & ((value) << TCC_STATUS_FAULTA_Pos))
  808. #define TCC_STATUS_FAULTB_Pos _U_(13) /**< (TCC_STATUS) Recoverable Fault B State Position */
  809. #define TCC_STATUS_FAULTB_Msk (_U_(0x1) << TCC_STATUS_FAULTB_Pos) /**< (TCC_STATUS) Recoverable Fault B State Mask */
  810. #define TCC_STATUS_FAULTB(value) (TCC_STATUS_FAULTB_Msk & ((value) << TCC_STATUS_FAULTB_Pos))
  811. #define TCC_STATUS_FAULT0_Pos _U_(14) /**< (TCC_STATUS) Non-Recoverable Fault 0 State Position */
  812. #define TCC_STATUS_FAULT0_Msk (_U_(0x1) << TCC_STATUS_FAULT0_Pos) /**< (TCC_STATUS) Non-Recoverable Fault 0 State Mask */
  813. #define TCC_STATUS_FAULT0(value) (TCC_STATUS_FAULT0_Msk & ((value) << TCC_STATUS_FAULT0_Pos))
  814. #define TCC_STATUS_FAULT1_Pos _U_(15) /**< (TCC_STATUS) Non-Recoverable Fault 1 State Position */
  815. #define TCC_STATUS_FAULT1_Msk (_U_(0x1) << TCC_STATUS_FAULT1_Pos) /**< (TCC_STATUS) Non-Recoverable Fault 1 State Mask */
  816. #define TCC_STATUS_FAULT1(value) (TCC_STATUS_FAULT1_Msk & ((value) << TCC_STATUS_FAULT1_Pos))
  817. #define TCC_STATUS_CCBV0_Pos _U_(16) /**< (TCC_STATUS) Compare Channel 0 Buffer Valid Position */
  818. #define TCC_STATUS_CCBV0_Msk (_U_(0x1) << TCC_STATUS_CCBV0_Pos) /**< (TCC_STATUS) Compare Channel 0 Buffer Valid Mask */
  819. #define TCC_STATUS_CCBV0(value) (TCC_STATUS_CCBV0_Msk & ((value) << TCC_STATUS_CCBV0_Pos))
  820. #define TCC_STATUS_CCBV1_Pos _U_(17) /**< (TCC_STATUS) Compare Channel 1 Buffer Valid Position */
  821. #define TCC_STATUS_CCBV1_Msk (_U_(0x1) << TCC_STATUS_CCBV1_Pos) /**< (TCC_STATUS) Compare Channel 1 Buffer Valid Mask */
  822. #define TCC_STATUS_CCBV1(value) (TCC_STATUS_CCBV1_Msk & ((value) << TCC_STATUS_CCBV1_Pos))
  823. #define TCC_STATUS_CCBV2_Pos _U_(18) /**< (TCC_STATUS) Compare Channel 2 Buffer Valid Position */
  824. #define TCC_STATUS_CCBV2_Msk (_U_(0x1) << TCC_STATUS_CCBV2_Pos) /**< (TCC_STATUS) Compare Channel 2 Buffer Valid Mask */
  825. #define TCC_STATUS_CCBV2(value) (TCC_STATUS_CCBV2_Msk & ((value) << TCC_STATUS_CCBV2_Pos))
  826. #define TCC_STATUS_CCBV3_Pos _U_(19) /**< (TCC_STATUS) Compare Channel 3 Buffer Valid Position */
  827. #define TCC_STATUS_CCBV3_Msk (_U_(0x1) << TCC_STATUS_CCBV3_Pos) /**< (TCC_STATUS) Compare Channel 3 Buffer Valid Mask */
  828. #define TCC_STATUS_CCBV3(value) (TCC_STATUS_CCBV3_Msk & ((value) << TCC_STATUS_CCBV3_Pos))
  829. #define TCC_STATUS_CMP0_Pos _U_(24) /**< (TCC_STATUS) Compare Channel 0 Value Position */
  830. #define TCC_STATUS_CMP0_Msk (_U_(0x1) << TCC_STATUS_CMP0_Pos) /**< (TCC_STATUS) Compare Channel 0 Value Mask */
  831. #define TCC_STATUS_CMP0(value) (TCC_STATUS_CMP0_Msk & ((value) << TCC_STATUS_CMP0_Pos))
  832. #define TCC_STATUS_CMP1_Pos _U_(25) /**< (TCC_STATUS) Compare Channel 1 Value Position */
  833. #define TCC_STATUS_CMP1_Msk (_U_(0x1) << TCC_STATUS_CMP1_Pos) /**< (TCC_STATUS) Compare Channel 1 Value Mask */
  834. #define TCC_STATUS_CMP1(value) (TCC_STATUS_CMP1_Msk & ((value) << TCC_STATUS_CMP1_Pos))
  835. #define TCC_STATUS_CMP2_Pos _U_(26) /**< (TCC_STATUS) Compare Channel 2 Value Position */
  836. #define TCC_STATUS_CMP2_Msk (_U_(0x1) << TCC_STATUS_CMP2_Pos) /**< (TCC_STATUS) Compare Channel 2 Value Mask */
  837. #define TCC_STATUS_CMP2(value) (TCC_STATUS_CMP2_Msk & ((value) << TCC_STATUS_CMP2_Pos))
  838. #define TCC_STATUS_CMP3_Pos _U_(27) /**< (TCC_STATUS) Compare Channel 3 Value Position */
  839. #define TCC_STATUS_CMP3_Msk (_U_(0x1) << TCC_STATUS_CMP3_Pos) /**< (TCC_STATUS) Compare Channel 3 Value Mask */
  840. #define TCC_STATUS_CMP3(value) (TCC_STATUS_CMP3_Msk & ((value) << TCC_STATUS_CMP3_Pos))
  841. #define TCC_STATUS_Msk _U_(0x0F0FFFFB) /**< (TCC_STATUS) Register Mask */
  842. #define TCC_STATUS_FAULT_Pos _U_(14) /**< (TCC_STATUS Position) Non-Recoverable Fault x State */
  843. #define TCC_STATUS_FAULT_Msk (_U_(0x3) << TCC_STATUS_FAULT_Pos) /**< (TCC_STATUS Mask) FAULT */
  844. #define TCC_STATUS_FAULT(value) (TCC_STATUS_FAULT_Msk & ((value) << TCC_STATUS_FAULT_Pos))
  845. #define TCC_STATUS_CCBV_Pos _U_(16) /**< (TCC_STATUS Position) Compare Channel x Buffer Valid */
  846. #define TCC_STATUS_CCBV_Msk (_U_(0xF) << TCC_STATUS_CCBV_Pos) /**< (TCC_STATUS Mask) CCBV */
  847. #define TCC_STATUS_CCBV(value) (TCC_STATUS_CCBV_Msk & ((value) << TCC_STATUS_CCBV_Pos))
  848. #define TCC_STATUS_CMP_Pos _U_(24) /**< (TCC_STATUS Position) Compare Channel 3 Value */
  849. #define TCC_STATUS_CMP_Msk (_U_(0xF) << TCC_STATUS_CMP_Pos) /**< (TCC_STATUS Mask) CMP */
  850. #define TCC_STATUS_CMP(value) (TCC_STATUS_CMP_Msk & ((value) << TCC_STATUS_CMP_Pos))
  851. /* -------- TCC_COUNT : (TCC Offset: 0x34) (R/W 32) Count -------- */
  852. #define TCC_COUNT_RESETVALUE _U_(0x00) /**< (TCC_COUNT) Count Reset Value */
  853. #define TCC_COUNT_COUNT_Pos _U_(0) /**< (TCC_COUNT) Counter Value Position */
  854. #define TCC_COUNT_COUNT_Msk (_U_(0xFFFFFF) << TCC_COUNT_COUNT_Pos) /**< (TCC_COUNT) Counter Value Mask */
  855. #define TCC_COUNT_COUNT(value) (TCC_COUNT_COUNT_Msk & ((value) << TCC_COUNT_COUNT_Pos))
  856. #define TCC_COUNT_Msk _U_(0x00FFFFFF) /**< (TCC_COUNT) Register Mask */
  857. /* DITH4 mode */
  858. #define TCC_COUNT_DITH4_COUNT_Pos _U_(4) /**< (TCC_COUNT) Counter Value Position */
  859. #define TCC_COUNT_DITH4_COUNT_Msk (_U_(0xFFFFF) << TCC_COUNT_DITH4_COUNT_Pos) /**< (TCC_COUNT) Counter Value Mask */
  860. #define TCC_COUNT_DITH4_COUNT(value) (TCC_COUNT_DITH4_COUNT_Msk & ((value) << TCC_COUNT_DITH4_COUNT_Pos))
  861. #define TCC_COUNT_DITH4_Msk _U_(0x00FFFFF0) /**< (TCC_COUNT_DITH4) Register Mask */
  862. /* DITH5 mode */
  863. #define TCC_COUNT_DITH5_COUNT_Pos _U_(5) /**< (TCC_COUNT) Counter Value Position */
  864. #define TCC_COUNT_DITH5_COUNT_Msk (_U_(0x7FFFF) << TCC_COUNT_DITH5_COUNT_Pos) /**< (TCC_COUNT) Counter Value Mask */
  865. #define TCC_COUNT_DITH5_COUNT(value) (TCC_COUNT_DITH5_COUNT_Msk & ((value) << TCC_COUNT_DITH5_COUNT_Pos))
  866. #define TCC_COUNT_DITH5_Msk _U_(0x00FFFFE0) /**< (TCC_COUNT_DITH5) Register Mask */
  867. /* DITH6 mode */
  868. #define TCC_COUNT_DITH6_COUNT_Pos _U_(6) /**< (TCC_COUNT) Counter Value Position */
  869. #define TCC_COUNT_DITH6_COUNT_Msk (_U_(0x3FFFF) << TCC_COUNT_DITH6_COUNT_Pos) /**< (TCC_COUNT) Counter Value Mask */
  870. #define TCC_COUNT_DITH6_COUNT(value) (TCC_COUNT_DITH6_COUNT_Msk & ((value) << TCC_COUNT_DITH6_COUNT_Pos))
  871. #define TCC_COUNT_DITH6_Msk _U_(0x00FFFFC0) /**< (TCC_COUNT_DITH6) Register Mask */
  872. /* -------- TCC_PATT : (TCC Offset: 0x38) (R/W 16) Pattern -------- */
  873. #define TCC_PATT_RESETVALUE _U_(0x00) /**< (TCC_PATT) Pattern Reset Value */
  874. #define TCC_PATT_PGE0_Pos _U_(0) /**< (TCC_PATT) Pattern Generator 0 Output Enable Position */
  875. #define TCC_PATT_PGE0_Msk (_U_(0x1) << TCC_PATT_PGE0_Pos) /**< (TCC_PATT) Pattern Generator 0 Output Enable Mask */
  876. #define TCC_PATT_PGE0(value) (TCC_PATT_PGE0_Msk & ((value) << TCC_PATT_PGE0_Pos))
  877. #define TCC_PATT_PGE1_Pos _U_(1) /**< (TCC_PATT) Pattern Generator 1 Output Enable Position */
  878. #define TCC_PATT_PGE1_Msk (_U_(0x1) << TCC_PATT_PGE1_Pos) /**< (TCC_PATT) Pattern Generator 1 Output Enable Mask */
  879. #define TCC_PATT_PGE1(value) (TCC_PATT_PGE1_Msk & ((value) << TCC_PATT_PGE1_Pos))
  880. #define TCC_PATT_PGE2_Pos _U_(2) /**< (TCC_PATT) Pattern Generator 2 Output Enable Position */
  881. #define TCC_PATT_PGE2_Msk (_U_(0x1) << TCC_PATT_PGE2_Pos) /**< (TCC_PATT) Pattern Generator 2 Output Enable Mask */
  882. #define TCC_PATT_PGE2(value) (TCC_PATT_PGE2_Msk & ((value) << TCC_PATT_PGE2_Pos))
  883. #define TCC_PATT_PGE3_Pos _U_(3) /**< (TCC_PATT) Pattern Generator 3 Output Enable Position */
  884. #define TCC_PATT_PGE3_Msk (_U_(0x1) << TCC_PATT_PGE3_Pos) /**< (TCC_PATT) Pattern Generator 3 Output Enable Mask */
  885. #define TCC_PATT_PGE3(value) (TCC_PATT_PGE3_Msk & ((value) << TCC_PATT_PGE3_Pos))
  886. #define TCC_PATT_PGE4_Pos _U_(4) /**< (TCC_PATT) Pattern Generator 4 Output Enable Position */
  887. #define TCC_PATT_PGE4_Msk (_U_(0x1) << TCC_PATT_PGE4_Pos) /**< (TCC_PATT) Pattern Generator 4 Output Enable Mask */
  888. #define TCC_PATT_PGE4(value) (TCC_PATT_PGE4_Msk & ((value) << TCC_PATT_PGE4_Pos))
  889. #define TCC_PATT_PGE5_Pos _U_(5) /**< (TCC_PATT) Pattern Generator 5 Output Enable Position */
  890. #define TCC_PATT_PGE5_Msk (_U_(0x1) << TCC_PATT_PGE5_Pos) /**< (TCC_PATT) Pattern Generator 5 Output Enable Mask */
  891. #define TCC_PATT_PGE5(value) (TCC_PATT_PGE5_Msk & ((value) << TCC_PATT_PGE5_Pos))
  892. #define TCC_PATT_PGE6_Pos _U_(6) /**< (TCC_PATT) Pattern Generator 6 Output Enable Position */
  893. #define TCC_PATT_PGE6_Msk (_U_(0x1) << TCC_PATT_PGE6_Pos) /**< (TCC_PATT) Pattern Generator 6 Output Enable Mask */
  894. #define TCC_PATT_PGE6(value) (TCC_PATT_PGE6_Msk & ((value) << TCC_PATT_PGE6_Pos))
  895. #define TCC_PATT_PGE7_Pos _U_(7) /**< (TCC_PATT) Pattern Generator 7 Output Enable Position */
  896. #define TCC_PATT_PGE7_Msk (_U_(0x1) << TCC_PATT_PGE7_Pos) /**< (TCC_PATT) Pattern Generator 7 Output Enable Mask */
  897. #define TCC_PATT_PGE7(value) (TCC_PATT_PGE7_Msk & ((value) << TCC_PATT_PGE7_Pos))
  898. #define TCC_PATT_PGV0_Pos _U_(8) /**< (TCC_PATT) Pattern Generator 0 Output Value Position */
  899. #define TCC_PATT_PGV0_Msk (_U_(0x1) << TCC_PATT_PGV0_Pos) /**< (TCC_PATT) Pattern Generator 0 Output Value Mask */
  900. #define TCC_PATT_PGV0(value) (TCC_PATT_PGV0_Msk & ((value) << TCC_PATT_PGV0_Pos))
  901. #define TCC_PATT_PGV1_Pos _U_(9) /**< (TCC_PATT) Pattern Generator 1 Output Value Position */
  902. #define TCC_PATT_PGV1_Msk (_U_(0x1) << TCC_PATT_PGV1_Pos) /**< (TCC_PATT) Pattern Generator 1 Output Value Mask */
  903. #define TCC_PATT_PGV1(value) (TCC_PATT_PGV1_Msk & ((value) << TCC_PATT_PGV1_Pos))
  904. #define TCC_PATT_PGV2_Pos _U_(10) /**< (TCC_PATT) Pattern Generator 2 Output Value Position */
  905. #define TCC_PATT_PGV2_Msk (_U_(0x1) << TCC_PATT_PGV2_Pos) /**< (TCC_PATT) Pattern Generator 2 Output Value Mask */
  906. #define TCC_PATT_PGV2(value) (TCC_PATT_PGV2_Msk & ((value) << TCC_PATT_PGV2_Pos))
  907. #define TCC_PATT_PGV3_Pos _U_(11) /**< (TCC_PATT) Pattern Generator 3 Output Value Position */
  908. #define TCC_PATT_PGV3_Msk (_U_(0x1) << TCC_PATT_PGV3_Pos) /**< (TCC_PATT) Pattern Generator 3 Output Value Mask */
  909. #define TCC_PATT_PGV3(value) (TCC_PATT_PGV3_Msk & ((value) << TCC_PATT_PGV3_Pos))
  910. #define TCC_PATT_PGV4_Pos _U_(12) /**< (TCC_PATT) Pattern Generator 4 Output Value Position */
  911. #define TCC_PATT_PGV4_Msk (_U_(0x1) << TCC_PATT_PGV4_Pos) /**< (TCC_PATT) Pattern Generator 4 Output Value Mask */
  912. #define TCC_PATT_PGV4(value) (TCC_PATT_PGV4_Msk & ((value) << TCC_PATT_PGV4_Pos))
  913. #define TCC_PATT_PGV5_Pos _U_(13) /**< (TCC_PATT) Pattern Generator 5 Output Value Position */
  914. #define TCC_PATT_PGV5_Msk (_U_(0x1) << TCC_PATT_PGV5_Pos) /**< (TCC_PATT) Pattern Generator 5 Output Value Mask */
  915. #define TCC_PATT_PGV5(value) (TCC_PATT_PGV5_Msk & ((value) << TCC_PATT_PGV5_Pos))
  916. #define TCC_PATT_PGV6_Pos _U_(14) /**< (TCC_PATT) Pattern Generator 6 Output Value Position */
  917. #define TCC_PATT_PGV6_Msk (_U_(0x1) << TCC_PATT_PGV6_Pos) /**< (TCC_PATT) Pattern Generator 6 Output Value Mask */
  918. #define TCC_PATT_PGV6(value) (TCC_PATT_PGV6_Msk & ((value) << TCC_PATT_PGV6_Pos))
  919. #define TCC_PATT_PGV7_Pos _U_(15) /**< (TCC_PATT) Pattern Generator 7 Output Value Position */
  920. #define TCC_PATT_PGV7_Msk (_U_(0x1) << TCC_PATT_PGV7_Pos) /**< (TCC_PATT) Pattern Generator 7 Output Value Mask */
  921. #define TCC_PATT_PGV7(value) (TCC_PATT_PGV7_Msk & ((value) << TCC_PATT_PGV7_Pos))
  922. #define TCC_PATT_Msk _U_(0xFFFF) /**< (TCC_PATT) Register Mask */
  923. #define TCC_PATT_PGE_Pos _U_(0) /**< (TCC_PATT Position) Pattern Generator x Output Enable */
  924. #define TCC_PATT_PGE_Msk (_U_(0xFF) << TCC_PATT_PGE_Pos) /**< (TCC_PATT Mask) PGE */
  925. #define TCC_PATT_PGE(value) (TCC_PATT_PGE_Msk & ((value) << TCC_PATT_PGE_Pos))
  926. #define TCC_PATT_PGV_Pos _U_(8) /**< (TCC_PATT Position) Pattern Generator 7 Output Value */
  927. #define TCC_PATT_PGV_Msk (_U_(0xFF) << TCC_PATT_PGV_Pos) /**< (TCC_PATT Mask) PGV */
  928. #define TCC_PATT_PGV(value) (TCC_PATT_PGV_Msk & ((value) << TCC_PATT_PGV_Pos))
  929. /* -------- TCC_WAVE : (TCC Offset: 0x3C) (R/W 32) Waveform Control -------- */
  930. #define TCC_WAVE_RESETVALUE _U_(0x00) /**< (TCC_WAVE) Waveform Control Reset Value */
  931. #define TCC_WAVE_WAVEGEN_Pos _U_(0) /**< (TCC_WAVE) Waveform Generation Position */
  932. #define TCC_WAVE_WAVEGEN_Msk (_U_(0x7) << TCC_WAVE_WAVEGEN_Pos) /**< (TCC_WAVE) Waveform Generation Mask */
  933. #define TCC_WAVE_WAVEGEN(value) (TCC_WAVE_WAVEGEN_Msk & ((value) << TCC_WAVE_WAVEGEN_Pos))
  934. #define TCC_WAVE_WAVEGEN_NFRQ_Val _U_(0x0) /**< (TCC_WAVE) Normal frequency */
  935. #define TCC_WAVE_WAVEGEN_MFRQ_Val _U_(0x1) /**< (TCC_WAVE) Match frequency */
  936. #define TCC_WAVE_WAVEGEN_NPWM_Val _U_(0x2) /**< (TCC_WAVE) Normal PWM */
  937. #define TCC_WAVE_WAVEGEN_DSCRITICAL_Val _U_(0x4) /**< (TCC_WAVE) Dual-slope critical */
  938. #define TCC_WAVE_WAVEGEN_DSBOTTOM_Val _U_(0x5) /**< (TCC_WAVE) Dual-slope with interrupt/event condition when COUNT reaches ZERO */
  939. #define TCC_WAVE_WAVEGEN_DSBOTH_Val _U_(0x6) /**< (TCC_WAVE) Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP */
  940. #define TCC_WAVE_WAVEGEN_DSTOP_Val _U_(0x7) /**< (TCC_WAVE) Dual-slope with interrupt/event condition when COUNT reaches TOP */
  941. #define TCC_WAVE_WAVEGEN_NFRQ (TCC_WAVE_WAVEGEN_NFRQ_Val << TCC_WAVE_WAVEGEN_Pos) /**< (TCC_WAVE) Normal frequency Position */
  942. #define TCC_WAVE_WAVEGEN_MFRQ (TCC_WAVE_WAVEGEN_MFRQ_Val << TCC_WAVE_WAVEGEN_Pos) /**< (TCC_WAVE) Match frequency Position */
  943. #define TCC_WAVE_WAVEGEN_NPWM (TCC_WAVE_WAVEGEN_NPWM_Val << TCC_WAVE_WAVEGEN_Pos) /**< (TCC_WAVE) Normal PWM Position */
  944. #define TCC_WAVE_WAVEGEN_DSCRITICAL (TCC_WAVE_WAVEGEN_DSCRITICAL_Val << TCC_WAVE_WAVEGEN_Pos) /**< (TCC_WAVE) Dual-slope critical Position */
  945. #define TCC_WAVE_WAVEGEN_DSBOTTOM (TCC_WAVE_WAVEGEN_DSBOTTOM_Val << TCC_WAVE_WAVEGEN_Pos) /**< (TCC_WAVE) Dual-slope with interrupt/event condition when COUNT reaches ZERO Position */
  946. #define TCC_WAVE_WAVEGEN_DSBOTH (TCC_WAVE_WAVEGEN_DSBOTH_Val << TCC_WAVE_WAVEGEN_Pos) /**< (TCC_WAVE) Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP Position */
  947. #define TCC_WAVE_WAVEGEN_DSTOP (TCC_WAVE_WAVEGEN_DSTOP_Val << TCC_WAVE_WAVEGEN_Pos) /**< (TCC_WAVE) Dual-slope with interrupt/event condition when COUNT reaches TOP Position */
  948. #define TCC_WAVE_RAMP_Pos _U_(4) /**< (TCC_WAVE) Ramp Mode Position */
  949. #define TCC_WAVE_RAMP_Msk (_U_(0x3) << TCC_WAVE_RAMP_Pos) /**< (TCC_WAVE) Ramp Mode Mask */
  950. #define TCC_WAVE_RAMP(value) (TCC_WAVE_RAMP_Msk & ((value) << TCC_WAVE_RAMP_Pos))
  951. #define TCC_WAVE_RAMP_RAMP1_Val _U_(0x0) /**< (TCC_WAVE) RAMP1 operation */
  952. #define TCC_WAVE_RAMP_RAMP2A_Val _U_(0x1) /**< (TCC_WAVE) Alternative RAMP2 operation */
  953. #define TCC_WAVE_RAMP_RAMP2_Val _U_(0x2) /**< (TCC_WAVE) RAMP2 operation */
  954. #define TCC_WAVE_RAMP_RAMP1 (TCC_WAVE_RAMP_RAMP1_Val << TCC_WAVE_RAMP_Pos) /**< (TCC_WAVE) RAMP1 operation Position */
  955. #define TCC_WAVE_RAMP_RAMP2A (TCC_WAVE_RAMP_RAMP2A_Val << TCC_WAVE_RAMP_Pos) /**< (TCC_WAVE) Alternative RAMP2 operation Position */
  956. #define TCC_WAVE_RAMP_RAMP2 (TCC_WAVE_RAMP_RAMP2_Val << TCC_WAVE_RAMP_Pos) /**< (TCC_WAVE) RAMP2 operation Position */
  957. #define TCC_WAVE_CIPEREN_Pos _U_(7) /**< (TCC_WAVE) Circular period Enable Position */
  958. #define TCC_WAVE_CIPEREN_Msk (_U_(0x1) << TCC_WAVE_CIPEREN_Pos) /**< (TCC_WAVE) Circular period Enable Mask */
  959. #define TCC_WAVE_CIPEREN(value) (TCC_WAVE_CIPEREN_Msk & ((value) << TCC_WAVE_CIPEREN_Pos))
  960. #define TCC_WAVE_CICCEN0_Pos _U_(8) /**< (TCC_WAVE) Circular Channel 0 Enable Position */
  961. #define TCC_WAVE_CICCEN0_Msk (_U_(0x1) << TCC_WAVE_CICCEN0_Pos) /**< (TCC_WAVE) Circular Channel 0 Enable Mask */
  962. #define TCC_WAVE_CICCEN0(value) (TCC_WAVE_CICCEN0_Msk & ((value) << TCC_WAVE_CICCEN0_Pos))
  963. #define TCC_WAVE_CICCEN1_Pos _U_(9) /**< (TCC_WAVE) Circular Channel 1 Enable Position */
  964. #define TCC_WAVE_CICCEN1_Msk (_U_(0x1) << TCC_WAVE_CICCEN1_Pos) /**< (TCC_WAVE) Circular Channel 1 Enable Mask */
  965. #define TCC_WAVE_CICCEN1(value) (TCC_WAVE_CICCEN1_Msk & ((value) << TCC_WAVE_CICCEN1_Pos))
  966. #define TCC_WAVE_CICCEN2_Pos _U_(10) /**< (TCC_WAVE) Circular Channel 2 Enable Position */
  967. #define TCC_WAVE_CICCEN2_Msk (_U_(0x1) << TCC_WAVE_CICCEN2_Pos) /**< (TCC_WAVE) Circular Channel 2 Enable Mask */
  968. #define TCC_WAVE_CICCEN2(value) (TCC_WAVE_CICCEN2_Msk & ((value) << TCC_WAVE_CICCEN2_Pos))
  969. #define TCC_WAVE_CICCEN3_Pos _U_(11) /**< (TCC_WAVE) Circular Channel 3 Enable Position */
  970. #define TCC_WAVE_CICCEN3_Msk (_U_(0x1) << TCC_WAVE_CICCEN3_Pos) /**< (TCC_WAVE) Circular Channel 3 Enable Mask */
  971. #define TCC_WAVE_CICCEN3(value) (TCC_WAVE_CICCEN3_Msk & ((value) << TCC_WAVE_CICCEN3_Pos))
  972. #define TCC_WAVE_POL0_Pos _U_(16) /**< (TCC_WAVE) Channel 0 Polarity Position */
  973. #define TCC_WAVE_POL0_Msk (_U_(0x1) << TCC_WAVE_POL0_Pos) /**< (TCC_WAVE) Channel 0 Polarity Mask */
  974. #define TCC_WAVE_POL0(value) (TCC_WAVE_POL0_Msk & ((value) << TCC_WAVE_POL0_Pos))
  975. #define TCC_WAVE_POL1_Pos _U_(17) /**< (TCC_WAVE) Channel 1 Polarity Position */
  976. #define TCC_WAVE_POL1_Msk (_U_(0x1) << TCC_WAVE_POL1_Pos) /**< (TCC_WAVE) Channel 1 Polarity Mask */
  977. #define TCC_WAVE_POL1(value) (TCC_WAVE_POL1_Msk & ((value) << TCC_WAVE_POL1_Pos))
  978. #define TCC_WAVE_POL2_Pos _U_(18) /**< (TCC_WAVE) Channel 2 Polarity Position */
  979. #define TCC_WAVE_POL2_Msk (_U_(0x1) << TCC_WAVE_POL2_Pos) /**< (TCC_WAVE) Channel 2 Polarity Mask */
  980. #define TCC_WAVE_POL2(value) (TCC_WAVE_POL2_Msk & ((value) << TCC_WAVE_POL2_Pos))
  981. #define TCC_WAVE_POL3_Pos _U_(19) /**< (TCC_WAVE) Channel 3 Polarity Position */
  982. #define TCC_WAVE_POL3_Msk (_U_(0x1) << TCC_WAVE_POL3_Pos) /**< (TCC_WAVE) Channel 3 Polarity Mask */
  983. #define TCC_WAVE_POL3(value) (TCC_WAVE_POL3_Msk & ((value) << TCC_WAVE_POL3_Pos))
  984. #define TCC_WAVE_SWAP0_Pos _U_(24) /**< (TCC_WAVE) Swap DTI Output Pair 0 Position */
  985. #define TCC_WAVE_SWAP0_Msk (_U_(0x1) << TCC_WAVE_SWAP0_Pos) /**< (TCC_WAVE) Swap DTI Output Pair 0 Mask */
  986. #define TCC_WAVE_SWAP0(value) (TCC_WAVE_SWAP0_Msk & ((value) << TCC_WAVE_SWAP0_Pos))
  987. #define TCC_WAVE_SWAP1_Pos _U_(25) /**< (TCC_WAVE) Swap DTI Output Pair 1 Position */
  988. #define TCC_WAVE_SWAP1_Msk (_U_(0x1) << TCC_WAVE_SWAP1_Pos) /**< (TCC_WAVE) Swap DTI Output Pair 1 Mask */
  989. #define TCC_WAVE_SWAP1(value) (TCC_WAVE_SWAP1_Msk & ((value) << TCC_WAVE_SWAP1_Pos))
  990. #define TCC_WAVE_SWAP2_Pos _U_(26) /**< (TCC_WAVE) Swap DTI Output Pair 2 Position */
  991. #define TCC_WAVE_SWAP2_Msk (_U_(0x1) << TCC_WAVE_SWAP2_Pos) /**< (TCC_WAVE) Swap DTI Output Pair 2 Mask */
  992. #define TCC_WAVE_SWAP2(value) (TCC_WAVE_SWAP2_Msk & ((value) << TCC_WAVE_SWAP2_Pos))
  993. #define TCC_WAVE_SWAP3_Pos _U_(27) /**< (TCC_WAVE) Swap DTI Output Pair 3 Position */
  994. #define TCC_WAVE_SWAP3_Msk (_U_(0x1) << TCC_WAVE_SWAP3_Pos) /**< (TCC_WAVE) Swap DTI Output Pair 3 Mask */
  995. #define TCC_WAVE_SWAP3(value) (TCC_WAVE_SWAP3_Msk & ((value) << TCC_WAVE_SWAP3_Pos))
  996. #define TCC_WAVE_Msk _U_(0x0F0F0FB7) /**< (TCC_WAVE) Register Mask */
  997. #define TCC_WAVE_CICCEN_Pos _U_(8) /**< (TCC_WAVE Position) Circular Channel x Enable */
  998. #define TCC_WAVE_CICCEN_Msk (_U_(0xF) << TCC_WAVE_CICCEN_Pos) /**< (TCC_WAVE Mask) CICCEN */
  999. #define TCC_WAVE_CICCEN(value) (TCC_WAVE_CICCEN_Msk & ((value) << TCC_WAVE_CICCEN_Pos))
  1000. #define TCC_WAVE_POL_Pos _U_(16) /**< (TCC_WAVE Position) Channel x Polarity */
  1001. #define TCC_WAVE_POL_Msk (_U_(0xF) << TCC_WAVE_POL_Pos) /**< (TCC_WAVE Mask) POL */
  1002. #define TCC_WAVE_POL(value) (TCC_WAVE_POL_Msk & ((value) << TCC_WAVE_POL_Pos))
  1003. #define TCC_WAVE_SWAP_Pos _U_(24) /**< (TCC_WAVE Position) Swap DTI Output Pair 3 */
  1004. #define TCC_WAVE_SWAP_Msk (_U_(0xF) << TCC_WAVE_SWAP_Pos) /**< (TCC_WAVE Mask) SWAP */
  1005. #define TCC_WAVE_SWAP(value) (TCC_WAVE_SWAP_Msk & ((value) << TCC_WAVE_SWAP_Pos))
  1006. /* -------- TCC_PER : (TCC Offset: 0x40) (R/W 32) Period -------- */
  1007. #define TCC_PER_RESETVALUE _U_(0xFFFFFFFF) /**< (TCC_PER) Period Reset Value */
  1008. #define TCC_PER_PER_Pos _U_(0) /**< (TCC_PER) Period Value Position */
  1009. #define TCC_PER_PER_Msk (_U_(0xFFFFFF) << TCC_PER_PER_Pos) /**< (TCC_PER) Period Value Mask */
  1010. #define TCC_PER_PER(value) (TCC_PER_PER_Msk & ((value) << TCC_PER_PER_Pos))
  1011. #define TCC_PER_Msk _U_(0x00FFFFFF) /**< (TCC_PER) Register Mask */
  1012. /* DITH4 mode */
  1013. #define TCC_PER_DITH4_DITHERCY_Pos _U_(0) /**< (TCC_PER) Dithering Cycle Number Position */
  1014. #define TCC_PER_DITH4_DITHERCY_Msk (_U_(0xF) << TCC_PER_DITH4_DITHERCY_Pos) /**< (TCC_PER) Dithering Cycle Number Mask */
  1015. #define TCC_PER_DITH4_DITHERCY(value) (TCC_PER_DITH4_DITHERCY_Msk & ((value) << TCC_PER_DITH4_DITHERCY_Pos))
  1016. #define TCC_PER_DITH4_PER_Pos _U_(4) /**< (TCC_PER) Period Value Position */
  1017. #define TCC_PER_DITH4_PER_Msk (_U_(0xFFFFF) << TCC_PER_DITH4_PER_Pos) /**< (TCC_PER) Period Value Mask */
  1018. #define TCC_PER_DITH4_PER(value) (TCC_PER_DITH4_PER_Msk & ((value) << TCC_PER_DITH4_PER_Pos))
  1019. #define TCC_PER_DITH4_Msk _U_(0x00FFFFFF) /**< (TCC_PER_DITH4) Register Mask */
  1020. /* DITH5 mode */
  1021. #define TCC_PER_DITH5_DITHERCY_Pos _U_(0) /**< (TCC_PER) Dithering Cycle Number Position */
  1022. #define TCC_PER_DITH5_DITHERCY_Msk (_U_(0x1F) << TCC_PER_DITH5_DITHERCY_Pos) /**< (TCC_PER) Dithering Cycle Number Mask */
  1023. #define TCC_PER_DITH5_DITHERCY(value) (TCC_PER_DITH5_DITHERCY_Msk & ((value) << TCC_PER_DITH5_DITHERCY_Pos))
  1024. #define TCC_PER_DITH5_PER_Pos _U_(5) /**< (TCC_PER) Period Value Position */
  1025. #define TCC_PER_DITH5_PER_Msk (_U_(0x7FFFF) << TCC_PER_DITH5_PER_Pos) /**< (TCC_PER) Period Value Mask */
  1026. #define TCC_PER_DITH5_PER(value) (TCC_PER_DITH5_PER_Msk & ((value) << TCC_PER_DITH5_PER_Pos))
  1027. #define TCC_PER_DITH5_Msk _U_(0x00FFFFFF) /**< (TCC_PER_DITH5) Register Mask */
  1028. /* DITH6 mode */
  1029. #define TCC_PER_DITH6_DITHERCY_Pos _U_(0) /**< (TCC_PER) Dithering Cycle Number Position */
  1030. #define TCC_PER_DITH6_DITHERCY_Msk (_U_(0x3F) << TCC_PER_DITH6_DITHERCY_Pos) /**< (TCC_PER) Dithering Cycle Number Mask */
  1031. #define TCC_PER_DITH6_DITHERCY(value) (TCC_PER_DITH6_DITHERCY_Msk & ((value) << TCC_PER_DITH6_DITHERCY_Pos))
  1032. #define TCC_PER_DITH6_PER_Pos _U_(6) /**< (TCC_PER) Period Value Position */
  1033. #define TCC_PER_DITH6_PER_Msk (_U_(0x3FFFF) << TCC_PER_DITH6_PER_Pos) /**< (TCC_PER) Period Value Mask */
  1034. #define TCC_PER_DITH6_PER(value) (TCC_PER_DITH6_PER_Msk & ((value) << TCC_PER_DITH6_PER_Pos))
  1035. #define TCC_PER_DITH6_Msk _U_(0x00FFFFFF) /**< (TCC_PER_DITH6) Register Mask */
  1036. /* -------- TCC_CC : (TCC Offset: 0x44) (R/W 32) Compare and Capture -------- */
  1037. #define TCC_CC_RESETVALUE _U_(0x00) /**< (TCC_CC) Compare and Capture Reset Value */
  1038. #define TCC_CC_CC_Pos _U_(0) /**< (TCC_CC) Channel Compare/Capture Value Position */
  1039. #define TCC_CC_CC_Msk (_U_(0xFFFFFF) << TCC_CC_CC_Pos) /**< (TCC_CC) Channel Compare/Capture Value Mask */
  1040. #define TCC_CC_CC(value) (TCC_CC_CC_Msk & ((value) << TCC_CC_CC_Pos))
  1041. #define TCC_CC_Msk _U_(0x00FFFFFF) /**< (TCC_CC) Register Mask */
  1042. /* DITH4 mode */
  1043. #define TCC_CC_DITH4_DITHERCY_Pos _U_(0) /**< (TCC_CC) Dithering Cycle Number Position */
  1044. #define TCC_CC_DITH4_DITHERCY_Msk (_U_(0xF) << TCC_CC_DITH4_DITHERCY_Pos) /**< (TCC_CC) Dithering Cycle Number Mask */
  1045. #define TCC_CC_DITH4_DITHERCY(value) (TCC_CC_DITH4_DITHERCY_Msk & ((value) << TCC_CC_DITH4_DITHERCY_Pos))
  1046. #define TCC_CC_DITH4_CC_Pos _U_(4) /**< (TCC_CC) Channel Compare/Capture Value Position */
  1047. #define TCC_CC_DITH4_CC_Msk (_U_(0xFFFFF) << TCC_CC_DITH4_CC_Pos) /**< (TCC_CC) Channel Compare/Capture Value Mask */
  1048. #define TCC_CC_DITH4_CC(value) (TCC_CC_DITH4_CC_Msk & ((value) << TCC_CC_DITH4_CC_Pos))
  1049. #define TCC_CC_DITH4_Msk _U_(0x00FFFFFF) /**< (TCC_CC_DITH4) Register Mask */
  1050. /* DITH5 mode */
  1051. #define TCC_CC_DITH5_DITHERCY_Pos _U_(0) /**< (TCC_CC) Dithering Cycle Number Position */
  1052. #define TCC_CC_DITH5_DITHERCY_Msk (_U_(0x1F) << TCC_CC_DITH5_DITHERCY_Pos) /**< (TCC_CC) Dithering Cycle Number Mask */
  1053. #define TCC_CC_DITH5_DITHERCY(value) (TCC_CC_DITH5_DITHERCY_Msk & ((value) << TCC_CC_DITH5_DITHERCY_Pos))
  1054. #define TCC_CC_DITH5_CC_Pos _U_(5) /**< (TCC_CC) Channel Compare/Capture Value Position */
  1055. #define TCC_CC_DITH5_CC_Msk (_U_(0x7FFFF) << TCC_CC_DITH5_CC_Pos) /**< (TCC_CC) Channel Compare/Capture Value Mask */
  1056. #define TCC_CC_DITH5_CC(value) (TCC_CC_DITH5_CC_Msk & ((value) << TCC_CC_DITH5_CC_Pos))
  1057. #define TCC_CC_DITH5_Msk _U_(0x00FFFFFF) /**< (TCC_CC_DITH5) Register Mask */
  1058. /* DITH6 mode */
  1059. #define TCC_CC_DITH6_DITHERCY_Pos _U_(0) /**< (TCC_CC) Dithering Cycle Number Position */
  1060. #define TCC_CC_DITH6_DITHERCY_Msk (_U_(0x3F) << TCC_CC_DITH6_DITHERCY_Pos) /**< (TCC_CC) Dithering Cycle Number Mask */
  1061. #define TCC_CC_DITH6_DITHERCY(value) (TCC_CC_DITH6_DITHERCY_Msk & ((value) << TCC_CC_DITH6_DITHERCY_Pos))
  1062. #define TCC_CC_DITH6_CC_Pos _U_(6) /**< (TCC_CC) Channel Compare/Capture Value Position */
  1063. #define TCC_CC_DITH6_CC_Msk (_U_(0x3FFFF) << TCC_CC_DITH6_CC_Pos) /**< (TCC_CC) Channel Compare/Capture Value Mask */
  1064. #define TCC_CC_DITH6_CC(value) (TCC_CC_DITH6_CC_Msk & ((value) << TCC_CC_DITH6_CC_Pos))
  1065. #define TCC_CC_DITH6_Msk _U_(0x00FFFFFF) /**< (TCC_CC_DITH6) Register Mask */
  1066. /* -------- TCC_PATTB : (TCC Offset: 0x64) (R/W 16) Pattern Buffer -------- */
  1067. #define TCC_PATTB_RESETVALUE _U_(0x00) /**< (TCC_PATTB) Pattern Buffer Reset Value */
  1068. #define TCC_PATTB_PGEB0_Pos _U_(0) /**< (TCC_PATTB) Pattern Generator 0 Output Enable Buffer Position */
  1069. #define TCC_PATTB_PGEB0_Msk (_U_(0x1) << TCC_PATTB_PGEB0_Pos) /**< (TCC_PATTB) Pattern Generator 0 Output Enable Buffer Mask */
  1070. #define TCC_PATTB_PGEB0(value) (TCC_PATTB_PGEB0_Msk & ((value) << TCC_PATTB_PGEB0_Pos))
  1071. #define TCC_PATTB_PGEB1_Pos _U_(1) /**< (TCC_PATTB) Pattern Generator 1 Output Enable Buffer Position */
  1072. #define TCC_PATTB_PGEB1_Msk (_U_(0x1) << TCC_PATTB_PGEB1_Pos) /**< (TCC_PATTB) Pattern Generator 1 Output Enable Buffer Mask */
  1073. #define TCC_PATTB_PGEB1(value) (TCC_PATTB_PGEB1_Msk & ((value) << TCC_PATTB_PGEB1_Pos))
  1074. #define TCC_PATTB_PGEB2_Pos _U_(2) /**< (TCC_PATTB) Pattern Generator 2 Output Enable Buffer Position */
  1075. #define TCC_PATTB_PGEB2_Msk (_U_(0x1) << TCC_PATTB_PGEB2_Pos) /**< (TCC_PATTB) Pattern Generator 2 Output Enable Buffer Mask */
  1076. #define TCC_PATTB_PGEB2(value) (TCC_PATTB_PGEB2_Msk & ((value) << TCC_PATTB_PGEB2_Pos))
  1077. #define TCC_PATTB_PGEB3_Pos _U_(3) /**< (TCC_PATTB) Pattern Generator 3 Output Enable Buffer Position */
  1078. #define TCC_PATTB_PGEB3_Msk (_U_(0x1) << TCC_PATTB_PGEB3_Pos) /**< (TCC_PATTB) Pattern Generator 3 Output Enable Buffer Mask */
  1079. #define TCC_PATTB_PGEB3(value) (TCC_PATTB_PGEB3_Msk & ((value) << TCC_PATTB_PGEB3_Pos))
  1080. #define TCC_PATTB_PGEB4_Pos _U_(4) /**< (TCC_PATTB) Pattern Generator 4 Output Enable Buffer Position */
  1081. #define TCC_PATTB_PGEB4_Msk (_U_(0x1) << TCC_PATTB_PGEB4_Pos) /**< (TCC_PATTB) Pattern Generator 4 Output Enable Buffer Mask */
  1082. #define TCC_PATTB_PGEB4(value) (TCC_PATTB_PGEB4_Msk & ((value) << TCC_PATTB_PGEB4_Pos))
  1083. #define TCC_PATTB_PGEB5_Pos _U_(5) /**< (TCC_PATTB) Pattern Generator 5 Output Enable Buffer Position */
  1084. #define TCC_PATTB_PGEB5_Msk (_U_(0x1) << TCC_PATTB_PGEB5_Pos) /**< (TCC_PATTB) Pattern Generator 5 Output Enable Buffer Mask */
  1085. #define TCC_PATTB_PGEB5(value) (TCC_PATTB_PGEB5_Msk & ((value) << TCC_PATTB_PGEB5_Pos))
  1086. #define TCC_PATTB_PGEB6_Pos _U_(6) /**< (TCC_PATTB) Pattern Generator 6 Output Enable Buffer Position */
  1087. #define TCC_PATTB_PGEB6_Msk (_U_(0x1) << TCC_PATTB_PGEB6_Pos) /**< (TCC_PATTB) Pattern Generator 6 Output Enable Buffer Mask */
  1088. #define TCC_PATTB_PGEB6(value) (TCC_PATTB_PGEB6_Msk & ((value) << TCC_PATTB_PGEB6_Pos))
  1089. #define TCC_PATTB_PGEB7_Pos _U_(7) /**< (TCC_PATTB) Pattern Generator 7 Output Enable Buffer Position */
  1090. #define TCC_PATTB_PGEB7_Msk (_U_(0x1) << TCC_PATTB_PGEB7_Pos) /**< (TCC_PATTB) Pattern Generator 7 Output Enable Buffer Mask */
  1091. #define TCC_PATTB_PGEB7(value) (TCC_PATTB_PGEB7_Msk & ((value) << TCC_PATTB_PGEB7_Pos))
  1092. #define TCC_PATTB_PGVB0_Pos _U_(8) /**< (TCC_PATTB) Pattern Generator 0 Output Enable Position */
  1093. #define TCC_PATTB_PGVB0_Msk (_U_(0x1) << TCC_PATTB_PGVB0_Pos) /**< (TCC_PATTB) Pattern Generator 0 Output Enable Mask */
  1094. #define TCC_PATTB_PGVB0(value) (TCC_PATTB_PGVB0_Msk & ((value) << TCC_PATTB_PGVB0_Pos))
  1095. #define TCC_PATTB_PGVB1_Pos _U_(9) /**< (TCC_PATTB) Pattern Generator 1 Output Enable Position */
  1096. #define TCC_PATTB_PGVB1_Msk (_U_(0x1) << TCC_PATTB_PGVB1_Pos) /**< (TCC_PATTB) Pattern Generator 1 Output Enable Mask */
  1097. #define TCC_PATTB_PGVB1(value) (TCC_PATTB_PGVB1_Msk & ((value) << TCC_PATTB_PGVB1_Pos))
  1098. #define TCC_PATTB_PGVB2_Pos _U_(10) /**< (TCC_PATTB) Pattern Generator 2 Output Enable Position */
  1099. #define TCC_PATTB_PGVB2_Msk (_U_(0x1) << TCC_PATTB_PGVB2_Pos) /**< (TCC_PATTB) Pattern Generator 2 Output Enable Mask */
  1100. #define TCC_PATTB_PGVB2(value) (TCC_PATTB_PGVB2_Msk & ((value) << TCC_PATTB_PGVB2_Pos))
  1101. #define TCC_PATTB_PGVB3_Pos _U_(11) /**< (TCC_PATTB) Pattern Generator 3 Output Enable Position */
  1102. #define TCC_PATTB_PGVB3_Msk (_U_(0x1) << TCC_PATTB_PGVB3_Pos) /**< (TCC_PATTB) Pattern Generator 3 Output Enable Mask */
  1103. #define TCC_PATTB_PGVB3(value) (TCC_PATTB_PGVB3_Msk & ((value) << TCC_PATTB_PGVB3_Pos))
  1104. #define TCC_PATTB_PGVB4_Pos _U_(12) /**< (TCC_PATTB) Pattern Generator 4 Output Enable Position */
  1105. #define TCC_PATTB_PGVB4_Msk (_U_(0x1) << TCC_PATTB_PGVB4_Pos) /**< (TCC_PATTB) Pattern Generator 4 Output Enable Mask */
  1106. #define TCC_PATTB_PGVB4(value) (TCC_PATTB_PGVB4_Msk & ((value) << TCC_PATTB_PGVB4_Pos))
  1107. #define TCC_PATTB_PGVB5_Pos _U_(13) /**< (TCC_PATTB) Pattern Generator 5 Output Enable Position */
  1108. #define TCC_PATTB_PGVB5_Msk (_U_(0x1) << TCC_PATTB_PGVB5_Pos) /**< (TCC_PATTB) Pattern Generator 5 Output Enable Mask */
  1109. #define TCC_PATTB_PGVB5(value) (TCC_PATTB_PGVB5_Msk & ((value) << TCC_PATTB_PGVB5_Pos))
  1110. #define TCC_PATTB_PGVB6_Pos _U_(14) /**< (TCC_PATTB) Pattern Generator 6 Output Enable Position */
  1111. #define TCC_PATTB_PGVB6_Msk (_U_(0x1) << TCC_PATTB_PGVB6_Pos) /**< (TCC_PATTB) Pattern Generator 6 Output Enable Mask */
  1112. #define TCC_PATTB_PGVB6(value) (TCC_PATTB_PGVB6_Msk & ((value) << TCC_PATTB_PGVB6_Pos))
  1113. #define TCC_PATTB_PGVB7_Pos _U_(15) /**< (TCC_PATTB) Pattern Generator 7 Output Enable Position */
  1114. #define TCC_PATTB_PGVB7_Msk (_U_(0x1) << TCC_PATTB_PGVB7_Pos) /**< (TCC_PATTB) Pattern Generator 7 Output Enable Mask */
  1115. #define TCC_PATTB_PGVB7(value) (TCC_PATTB_PGVB7_Msk & ((value) << TCC_PATTB_PGVB7_Pos))
  1116. #define TCC_PATTB_Msk _U_(0xFFFF) /**< (TCC_PATTB) Register Mask */
  1117. #define TCC_PATTB_PGEB_Pos _U_(0) /**< (TCC_PATTB Position) Pattern Generator x Output Enable Buffer */
  1118. #define TCC_PATTB_PGEB_Msk (_U_(0xFF) << TCC_PATTB_PGEB_Pos) /**< (TCC_PATTB Mask) PGEB */
  1119. #define TCC_PATTB_PGEB(value) (TCC_PATTB_PGEB_Msk & ((value) << TCC_PATTB_PGEB_Pos))
  1120. #define TCC_PATTB_PGVB_Pos _U_(8) /**< (TCC_PATTB Position) Pattern Generator 7 Output Enable */
  1121. #define TCC_PATTB_PGVB_Msk (_U_(0xFF) << TCC_PATTB_PGVB_Pos) /**< (TCC_PATTB Mask) PGVB */
  1122. #define TCC_PATTB_PGVB(value) (TCC_PATTB_PGVB_Msk & ((value) << TCC_PATTB_PGVB_Pos))
  1123. /* -------- TCC_WAVEB : (TCC Offset: 0x68) (R/W 32) Waveform Control Buffer -------- */
  1124. #define TCC_WAVEB_RESETVALUE _U_(0x00) /**< (TCC_WAVEB) Waveform Control Buffer Reset Value */
  1125. #define TCC_WAVEB_WAVEGENB_Pos _U_(0) /**< (TCC_WAVEB) Waveform Generation Buffer Position */
  1126. #define TCC_WAVEB_WAVEGENB_Msk (_U_(0x7) << TCC_WAVEB_WAVEGENB_Pos) /**< (TCC_WAVEB) Waveform Generation Buffer Mask */
  1127. #define TCC_WAVEB_WAVEGENB(value) (TCC_WAVEB_WAVEGENB_Msk & ((value) << TCC_WAVEB_WAVEGENB_Pos))
  1128. #define TCC_WAVEB_WAVEGENB_NFRQ_Val _U_(0x0) /**< (TCC_WAVEB) Normal frequency */
  1129. #define TCC_WAVEB_WAVEGENB_MFRQ_Val _U_(0x1) /**< (TCC_WAVEB) Match frequency */
  1130. #define TCC_WAVEB_WAVEGENB_NPWM_Val _U_(0x2) /**< (TCC_WAVEB) Normal PWM */
  1131. #define TCC_WAVEB_WAVEGENB_DSCRITICAL_Val _U_(0x4) /**< (TCC_WAVEB) Dual-slope critical */
  1132. #define TCC_WAVEB_WAVEGENB_DSBOTTOM_Val _U_(0x5) /**< (TCC_WAVEB) Dual-slope with interrupt/event condition when COUNT reaches ZERO */
  1133. #define TCC_WAVEB_WAVEGENB_DSBOTH_Val _U_(0x6) /**< (TCC_WAVEB) Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP */
  1134. #define TCC_WAVEB_WAVEGENB_DSTOP_Val _U_(0x7) /**< (TCC_WAVEB) Dual-slope with interrupt/event condition when COUNT reaches TOP */
  1135. #define TCC_WAVEB_WAVEGENB_NFRQ (TCC_WAVEB_WAVEGENB_NFRQ_Val << TCC_WAVEB_WAVEGENB_Pos) /**< (TCC_WAVEB) Normal frequency Position */
  1136. #define TCC_WAVEB_WAVEGENB_MFRQ (TCC_WAVEB_WAVEGENB_MFRQ_Val << TCC_WAVEB_WAVEGENB_Pos) /**< (TCC_WAVEB) Match frequency Position */
  1137. #define TCC_WAVEB_WAVEGENB_NPWM (TCC_WAVEB_WAVEGENB_NPWM_Val << TCC_WAVEB_WAVEGENB_Pos) /**< (TCC_WAVEB) Normal PWM Position */
  1138. #define TCC_WAVEB_WAVEGENB_DSCRITICAL (TCC_WAVEB_WAVEGENB_DSCRITICAL_Val << TCC_WAVEB_WAVEGENB_Pos) /**< (TCC_WAVEB) Dual-slope critical Position */
  1139. #define TCC_WAVEB_WAVEGENB_DSBOTTOM (TCC_WAVEB_WAVEGENB_DSBOTTOM_Val << TCC_WAVEB_WAVEGENB_Pos) /**< (TCC_WAVEB) Dual-slope with interrupt/event condition when COUNT reaches ZERO Position */
  1140. #define TCC_WAVEB_WAVEGENB_DSBOTH (TCC_WAVEB_WAVEGENB_DSBOTH_Val << TCC_WAVEB_WAVEGENB_Pos) /**< (TCC_WAVEB) Dual-slope with interrupt/event condition when COUNT reaches ZERO or TOP Position */
  1141. #define TCC_WAVEB_WAVEGENB_DSTOP (TCC_WAVEB_WAVEGENB_DSTOP_Val << TCC_WAVEB_WAVEGENB_Pos) /**< (TCC_WAVEB) Dual-slope with interrupt/event condition when COUNT reaches TOP Position */
  1142. #define TCC_WAVEB_RAMPB_Pos _U_(4) /**< (TCC_WAVEB) Ramp Mode Buffer Position */
  1143. #define TCC_WAVEB_RAMPB_Msk (_U_(0x3) << TCC_WAVEB_RAMPB_Pos) /**< (TCC_WAVEB) Ramp Mode Buffer Mask */
  1144. #define TCC_WAVEB_RAMPB(value) (TCC_WAVEB_RAMPB_Msk & ((value) << TCC_WAVEB_RAMPB_Pos))
  1145. #define TCC_WAVEB_RAMPB_RAMP1_Val _U_(0x0) /**< (TCC_WAVEB) RAMP1 operation */
  1146. #define TCC_WAVEB_RAMPB_RAMP2A_Val _U_(0x1) /**< (TCC_WAVEB) Alternative RAMP2 operation */
  1147. #define TCC_WAVEB_RAMPB_RAMP2_Val _U_(0x2) /**< (TCC_WAVEB) RAMP2 operation */
  1148. #define TCC_WAVEB_RAMPB_RAMP1 (TCC_WAVEB_RAMPB_RAMP1_Val << TCC_WAVEB_RAMPB_Pos) /**< (TCC_WAVEB) RAMP1 operation Position */
  1149. #define TCC_WAVEB_RAMPB_RAMP2A (TCC_WAVEB_RAMPB_RAMP2A_Val << TCC_WAVEB_RAMPB_Pos) /**< (TCC_WAVEB) Alternative RAMP2 operation Position */
  1150. #define TCC_WAVEB_RAMPB_RAMP2 (TCC_WAVEB_RAMPB_RAMP2_Val << TCC_WAVEB_RAMPB_Pos) /**< (TCC_WAVEB) RAMP2 operation Position */
  1151. #define TCC_WAVEB_CIPERENB_Pos _U_(7) /**< (TCC_WAVEB) Circular Period Enable Buffer Position */
  1152. #define TCC_WAVEB_CIPERENB_Msk (_U_(0x1) << TCC_WAVEB_CIPERENB_Pos) /**< (TCC_WAVEB) Circular Period Enable Buffer Mask */
  1153. #define TCC_WAVEB_CIPERENB(value) (TCC_WAVEB_CIPERENB_Msk & ((value) << TCC_WAVEB_CIPERENB_Pos))
  1154. #define TCC_WAVEB_CICCENB0_Pos _U_(8) /**< (TCC_WAVEB) Circular Channel 0 Enable Buffer Position */
  1155. #define TCC_WAVEB_CICCENB0_Msk (_U_(0x1) << TCC_WAVEB_CICCENB0_Pos) /**< (TCC_WAVEB) Circular Channel 0 Enable Buffer Mask */
  1156. #define TCC_WAVEB_CICCENB0(value) (TCC_WAVEB_CICCENB0_Msk & ((value) << TCC_WAVEB_CICCENB0_Pos))
  1157. #define TCC_WAVEB_CICCENB1_Pos _U_(9) /**< (TCC_WAVEB) Circular Channel 1 Enable Buffer Position */
  1158. #define TCC_WAVEB_CICCENB1_Msk (_U_(0x1) << TCC_WAVEB_CICCENB1_Pos) /**< (TCC_WAVEB) Circular Channel 1 Enable Buffer Mask */
  1159. #define TCC_WAVEB_CICCENB1(value) (TCC_WAVEB_CICCENB1_Msk & ((value) << TCC_WAVEB_CICCENB1_Pos))
  1160. #define TCC_WAVEB_CICCENB2_Pos _U_(10) /**< (TCC_WAVEB) Circular Channel 2 Enable Buffer Position */
  1161. #define TCC_WAVEB_CICCENB2_Msk (_U_(0x1) << TCC_WAVEB_CICCENB2_Pos) /**< (TCC_WAVEB) Circular Channel 2 Enable Buffer Mask */
  1162. #define TCC_WAVEB_CICCENB2(value) (TCC_WAVEB_CICCENB2_Msk & ((value) << TCC_WAVEB_CICCENB2_Pos))
  1163. #define TCC_WAVEB_CICCENB3_Pos _U_(11) /**< (TCC_WAVEB) Circular Channel 3 Enable Buffer Position */
  1164. #define TCC_WAVEB_CICCENB3_Msk (_U_(0x1) << TCC_WAVEB_CICCENB3_Pos) /**< (TCC_WAVEB) Circular Channel 3 Enable Buffer Mask */
  1165. #define TCC_WAVEB_CICCENB3(value) (TCC_WAVEB_CICCENB3_Msk & ((value) << TCC_WAVEB_CICCENB3_Pos))
  1166. #define TCC_WAVEB_POLB0_Pos _U_(16) /**< (TCC_WAVEB) Channel 0 Polarity Buffer Position */
  1167. #define TCC_WAVEB_POLB0_Msk (_U_(0x1) << TCC_WAVEB_POLB0_Pos) /**< (TCC_WAVEB) Channel 0 Polarity Buffer Mask */
  1168. #define TCC_WAVEB_POLB0(value) (TCC_WAVEB_POLB0_Msk & ((value) << TCC_WAVEB_POLB0_Pos))
  1169. #define TCC_WAVEB_POLB1_Pos _U_(17) /**< (TCC_WAVEB) Channel 1 Polarity Buffer Position */
  1170. #define TCC_WAVEB_POLB1_Msk (_U_(0x1) << TCC_WAVEB_POLB1_Pos) /**< (TCC_WAVEB) Channel 1 Polarity Buffer Mask */
  1171. #define TCC_WAVEB_POLB1(value) (TCC_WAVEB_POLB1_Msk & ((value) << TCC_WAVEB_POLB1_Pos))
  1172. #define TCC_WAVEB_POLB2_Pos _U_(18) /**< (TCC_WAVEB) Channel 2 Polarity Buffer Position */
  1173. #define TCC_WAVEB_POLB2_Msk (_U_(0x1) << TCC_WAVEB_POLB2_Pos) /**< (TCC_WAVEB) Channel 2 Polarity Buffer Mask */
  1174. #define TCC_WAVEB_POLB2(value) (TCC_WAVEB_POLB2_Msk & ((value) << TCC_WAVEB_POLB2_Pos))
  1175. #define TCC_WAVEB_POLB3_Pos _U_(19) /**< (TCC_WAVEB) Channel 3 Polarity Buffer Position */
  1176. #define TCC_WAVEB_POLB3_Msk (_U_(0x1) << TCC_WAVEB_POLB3_Pos) /**< (TCC_WAVEB) Channel 3 Polarity Buffer Mask */
  1177. #define TCC_WAVEB_POLB3(value) (TCC_WAVEB_POLB3_Msk & ((value) << TCC_WAVEB_POLB3_Pos))
  1178. #define TCC_WAVEB_SWAPB0_Pos _U_(24) /**< (TCC_WAVEB) Swap DTI Output Pair 0 Buffer Position */
  1179. #define TCC_WAVEB_SWAPB0_Msk (_U_(0x1) << TCC_WAVEB_SWAPB0_Pos) /**< (TCC_WAVEB) Swap DTI Output Pair 0 Buffer Mask */
  1180. #define TCC_WAVEB_SWAPB0(value) (TCC_WAVEB_SWAPB0_Msk & ((value) << TCC_WAVEB_SWAPB0_Pos))
  1181. #define TCC_WAVEB_SWAPB1_Pos _U_(25) /**< (TCC_WAVEB) Swap DTI Output Pair 1 Buffer Position */
  1182. #define TCC_WAVEB_SWAPB1_Msk (_U_(0x1) << TCC_WAVEB_SWAPB1_Pos) /**< (TCC_WAVEB) Swap DTI Output Pair 1 Buffer Mask */
  1183. #define TCC_WAVEB_SWAPB1(value) (TCC_WAVEB_SWAPB1_Msk & ((value) << TCC_WAVEB_SWAPB1_Pos))
  1184. #define TCC_WAVEB_SWAPB2_Pos _U_(26) /**< (TCC_WAVEB) Swap DTI Output Pair 2 Buffer Position */
  1185. #define TCC_WAVEB_SWAPB2_Msk (_U_(0x1) << TCC_WAVEB_SWAPB2_Pos) /**< (TCC_WAVEB) Swap DTI Output Pair 2 Buffer Mask */
  1186. #define TCC_WAVEB_SWAPB2(value) (TCC_WAVEB_SWAPB2_Msk & ((value) << TCC_WAVEB_SWAPB2_Pos))
  1187. #define TCC_WAVEB_SWAPB3_Pos _U_(27) /**< (TCC_WAVEB) Swap DTI Output Pair 3 Buffer Position */
  1188. #define TCC_WAVEB_SWAPB3_Msk (_U_(0x1) << TCC_WAVEB_SWAPB3_Pos) /**< (TCC_WAVEB) Swap DTI Output Pair 3 Buffer Mask */
  1189. #define TCC_WAVEB_SWAPB3(value) (TCC_WAVEB_SWAPB3_Msk & ((value) << TCC_WAVEB_SWAPB3_Pos))
  1190. #define TCC_WAVEB_Msk _U_(0x0F0F0FB7) /**< (TCC_WAVEB) Register Mask */
  1191. #define TCC_WAVEB_CICCENB_Pos _U_(8) /**< (TCC_WAVEB Position) Circular Channel x Enable Buffer */
  1192. #define TCC_WAVEB_CICCENB_Msk (_U_(0xF) << TCC_WAVEB_CICCENB_Pos) /**< (TCC_WAVEB Mask) CICCENB */
  1193. #define TCC_WAVEB_CICCENB(value) (TCC_WAVEB_CICCENB_Msk & ((value) << TCC_WAVEB_CICCENB_Pos))
  1194. #define TCC_WAVEB_POLB_Pos _U_(16) /**< (TCC_WAVEB Position) Channel x Polarity Buffer */
  1195. #define TCC_WAVEB_POLB_Msk (_U_(0xF) << TCC_WAVEB_POLB_Pos) /**< (TCC_WAVEB Mask) POLB */
  1196. #define TCC_WAVEB_POLB(value) (TCC_WAVEB_POLB_Msk & ((value) << TCC_WAVEB_POLB_Pos))
  1197. #define TCC_WAVEB_SWAPB_Pos _U_(24) /**< (TCC_WAVEB Position) Swap DTI Output Pair 3 Buffer */
  1198. #define TCC_WAVEB_SWAPB_Msk (_U_(0xF) << TCC_WAVEB_SWAPB_Pos) /**< (TCC_WAVEB Mask) SWAPB */
  1199. #define TCC_WAVEB_SWAPB(value) (TCC_WAVEB_SWAPB_Msk & ((value) << TCC_WAVEB_SWAPB_Pos))
  1200. /* -------- TCC_PERB : (TCC Offset: 0x6C) (R/W 32) Period Buffer -------- */
  1201. #define TCC_PERB_RESETVALUE _U_(0xFFFFFFFF) /**< (TCC_PERB) Period Buffer Reset Value */
  1202. #define TCC_PERB_PERB_Pos _U_(0) /**< (TCC_PERB) Period Buffer Value Position */
  1203. #define TCC_PERB_PERB_Msk (_U_(0xFFFFFF) << TCC_PERB_PERB_Pos) /**< (TCC_PERB) Period Buffer Value Mask */
  1204. #define TCC_PERB_PERB(value) (TCC_PERB_PERB_Msk & ((value) << TCC_PERB_PERB_Pos))
  1205. #define TCC_PERB_Msk _U_(0x00FFFFFF) /**< (TCC_PERB) Register Mask */
  1206. /* DITH4 mode */
  1207. #define TCC_PERB_DITH4_DITHERCYB_Pos _U_(0) /**< (TCC_PERB) Dithering Buffer Cycle Number Position */
  1208. #define TCC_PERB_DITH4_DITHERCYB_Msk (_U_(0xF) << TCC_PERB_DITH4_DITHERCYB_Pos) /**< (TCC_PERB) Dithering Buffer Cycle Number Mask */
  1209. #define TCC_PERB_DITH4_DITHERCYB(value) (TCC_PERB_DITH4_DITHERCYB_Msk & ((value) << TCC_PERB_DITH4_DITHERCYB_Pos))
  1210. #define TCC_PERB_DITH4_PERB_Pos _U_(4) /**< (TCC_PERB) Period Buffer Value Position */
  1211. #define TCC_PERB_DITH4_PERB_Msk (_U_(0xFFFFF) << TCC_PERB_DITH4_PERB_Pos) /**< (TCC_PERB) Period Buffer Value Mask */
  1212. #define TCC_PERB_DITH4_PERB(value) (TCC_PERB_DITH4_PERB_Msk & ((value) << TCC_PERB_DITH4_PERB_Pos))
  1213. #define TCC_PERB_DITH4_Msk _U_(0x00FFFFFF) /**< (TCC_PERB_DITH4) Register Mask */
  1214. /* DITH5 mode */
  1215. #define TCC_PERB_DITH5_DITHERCYB_Pos _U_(0) /**< (TCC_PERB) Dithering Buffer Cycle Number Position */
  1216. #define TCC_PERB_DITH5_DITHERCYB_Msk (_U_(0x1F) << TCC_PERB_DITH5_DITHERCYB_Pos) /**< (TCC_PERB) Dithering Buffer Cycle Number Mask */
  1217. #define TCC_PERB_DITH5_DITHERCYB(value) (TCC_PERB_DITH5_DITHERCYB_Msk & ((value) << TCC_PERB_DITH5_DITHERCYB_Pos))
  1218. #define TCC_PERB_DITH5_PERB_Pos _U_(5) /**< (TCC_PERB) Period Buffer Value Position */
  1219. #define TCC_PERB_DITH5_PERB_Msk (_U_(0x7FFFF) << TCC_PERB_DITH5_PERB_Pos) /**< (TCC_PERB) Period Buffer Value Mask */
  1220. #define TCC_PERB_DITH5_PERB(value) (TCC_PERB_DITH5_PERB_Msk & ((value) << TCC_PERB_DITH5_PERB_Pos))
  1221. #define TCC_PERB_DITH5_Msk _U_(0x00FFFFFF) /**< (TCC_PERB_DITH5) Register Mask */
  1222. /* DITH6 mode */
  1223. #define TCC_PERB_DITH6_DITHERCYB_Pos _U_(0) /**< (TCC_PERB) Dithering Buffer Cycle Number Position */
  1224. #define TCC_PERB_DITH6_DITHERCYB_Msk (_U_(0x3F) << TCC_PERB_DITH6_DITHERCYB_Pos) /**< (TCC_PERB) Dithering Buffer Cycle Number Mask */
  1225. #define TCC_PERB_DITH6_DITHERCYB(value) (TCC_PERB_DITH6_DITHERCYB_Msk & ((value) << TCC_PERB_DITH6_DITHERCYB_Pos))
  1226. #define TCC_PERB_DITH6_PERB_Pos _U_(6) /**< (TCC_PERB) Period Buffer Value Position */
  1227. #define TCC_PERB_DITH6_PERB_Msk (_U_(0x3FFFF) << TCC_PERB_DITH6_PERB_Pos) /**< (TCC_PERB) Period Buffer Value Mask */
  1228. #define TCC_PERB_DITH6_PERB(value) (TCC_PERB_DITH6_PERB_Msk & ((value) << TCC_PERB_DITH6_PERB_Pos))
  1229. #define TCC_PERB_DITH6_Msk _U_(0x00FFFFFF) /**< (TCC_PERB_DITH6) Register Mask */
  1230. /* -------- TCC_CCB : (TCC Offset: 0x70) (R/W 32) Compare and Capture Buffer -------- */
  1231. #define TCC_CCB_RESETVALUE _U_(0x00) /**< (TCC_CCB) Compare and Capture Buffer Reset Value */
  1232. #define TCC_CCB_CCB_Pos _U_(0) /**< (TCC_CCB) Channel Compare/Capture Buffer Value Position */
  1233. #define TCC_CCB_CCB_Msk (_U_(0xFFFFFF) << TCC_CCB_CCB_Pos) /**< (TCC_CCB) Channel Compare/Capture Buffer Value Mask */
  1234. #define TCC_CCB_CCB(value) (TCC_CCB_CCB_Msk & ((value) << TCC_CCB_CCB_Pos))
  1235. #define TCC_CCB_Msk _U_(0x00FFFFFF) /**< (TCC_CCB) Register Mask */
  1236. /* DITH4 mode */
  1237. #define TCC_CCB_DITH4_DITHERCYB_Pos _U_(0) /**< (TCC_CCB) Dithering Buffer Cycle Number Position */
  1238. #define TCC_CCB_DITH4_DITHERCYB_Msk (_U_(0xF) << TCC_CCB_DITH4_DITHERCYB_Pos) /**< (TCC_CCB) Dithering Buffer Cycle Number Mask */
  1239. #define TCC_CCB_DITH4_DITHERCYB(value) (TCC_CCB_DITH4_DITHERCYB_Msk & ((value) << TCC_CCB_DITH4_DITHERCYB_Pos))
  1240. #define TCC_CCB_DITH4_CCB_Pos _U_(4) /**< (TCC_CCB) Channel Compare/Capture Buffer Value Position */
  1241. #define TCC_CCB_DITH4_CCB_Msk (_U_(0xFFFFF) << TCC_CCB_DITH4_CCB_Pos) /**< (TCC_CCB) Channel Compare/Capture Buffer Value Mask */
  1242. #define TCC_CCB_DITH4_CCB(value) (TCC_CCB_DITH4_CCB_Msk & ((value) << TCC_CCB_DITH4_CCB_Pos))
  1243. #define TCC_CCB_DITH4_Msk _U_(0x00FFFFFF) /**< (TCC_CCB_DITH4) Register Mask */
  1244. /* DITH5 mode */
  1245. #define TCC_CCB_DITH5_DITHERCYB_Pos _U_(0) /**< (TCC_CCB) Dithering Buffer Cycle Number Position */
  1246. #define TCC_CCB_DITH5_DITHERCYB_Msk (_U_(0x1F) << TCC_CCB_DITH5_DITHERCYB_Pos) /**< (TCC_CCB) Dithering Buffer Cycle Number Mask */
  1247. #define TCC_CCB_DITH5_DITHERCYB(value) (TCC_CCB_DITH5_DITHERCYB_Msk & ((value) << TCC_CCB_DITH5_DITHERCYB_Pos))
  1248. #define TCC_CCB_DITH5_CCB_Pos _U_(5) /**< (TCC_CCB) Channel Compare/Capture Buffer Value Position */
  1249. #define TCC_CCB_DITH5_CCB_Msk (_U_(0x7FFFF) << TCC_CCB_DITH5_CCB_Pos) /**< (TCC_CCB) Channel Compare/Capture Buffer Value Mask */
  1250. #define TCC_CCB_DITH5_CCB(value) (TCC_CCB_DITH5_CCB_Msk & ((value) << TCC_CCB_DITH5_CCB_Pos))
  1251. #define TCC_CCB_DITH5_Msk _U_(0x00FFFFFF) /**< (TCC_CCB_DITH5) Register Mask */
  1252. /* DITH6 mode */
  1253. #define TCC_CCB_DITH6_DITHERCYB_Pos _U_(0) /**< (TCC_CCB) Dithering Buffer Cycle Number Position */
  1254. #define TCC_CCB_DITH6_DITHERCYB_Msk (_U_(0x3F) << TCC_CCB_DITH6_DITHERCYB_Pos) /**< (TCC_CCB) Dithering Buffer Cycle Number Mask */
  1255. #define TCC_CCB_DITH6_DITHERCYB(value) (TCC_CCB_DITH6_DITHERCYB_Msk & ((value) << TCC_CCB_DITH6_DITHERCYB_Pos))
  1256. #define TCC_CCB_DITH6_CCB_Pos _U_(6) /**< (TCC_CCB) Channel Compare/Capture Buffer Value Position */
  1257. #define TCC_CCB_DITH6_CCB_Msk (_U_(0x3FFFF) << TCC_CCB_DITH6_CCB_Pos) /**< (TCC_CCB) Channel Compare/Capture Buffer Value Mask */
  1258. #define TCC_CCB_DITH6_CCB(value) (TCC_CCB_DITH6_CCB_Msk & ((value) << TCC_CCB_DITH6_CCB_Pos))
  1259. #define TCC_CCB_DITH6_Msk _U_(0x00FFFFFF) /**< (TCC_CCB_DITH6) Register Mask */
  1260. /** \brief TCC register offsets definitions */
  1261. #define TCC_CTRLA_REG_OFST (0x00) /**< (TCC_CTRLA) Control A Offset */
  1262. #define TCC_CTRLBCLR_REG_OFST (0x04) /**< (TCC_CTRLBCLR) Control B Clear Offset */
  1263. #define TCC_CTRLBSET_REG_OFST (0x05) /**< (TCC_CTRLBSET) Control B Set Offset */
  1264. #define TCC_SYNCBUSY_REG_OFST (0x08) /**< (TCC_SYNCBUSY) Synchronization Busy Offset */
  1265. #define TCC_FCTRLA_REG_OFST (0x0C) /**< (TCC_FCTRLA) Recoverable Fault A Configuration Offset */
  1266. #define TCC_FCTRLB_REG_OFST (0x10) /**< (TCC_FCTRLB) Recoverable Fault B Configuration Offset */
  1267. #define TCC_WEXCTRL_REG_OFST (0x14) /**< (TCC_WEXCTRL) Waveform Extension Configuration Offset */
  1268. #define TCC_DRVCTRL_REG_OFST (0x18) /**< (TCC_DRVCTRL) Driver Control Offset */
  1269. #define TCC_DBGCTRL_REG_OFST (0x1E) /**< (TCC_DBGCTRL) Debug Control Offset */
  1270. #define TCC_EVCTRL_REG_OFST (0x20) /**< (TCC_EVCTRL) Event Control Offset */
  1271. #define TCC_INTENCLR_REG_OFST (0x24) /**< (TCC_INTENCLR) Interrupt Enable Clear Offset */
  1272. #define TCC_INTENSET_REG_OFST (0x28) /**< (TCC_INTENSET) Interrupt Enable Set Offset */
  1273. #define TCC_INTFLAG_REG_OFST (0x2C) /**< (TCC_INTFLAG) Interrupt Flag Status and Clear Offset */
  1274. #define TCC_STATUS_REG_OFST (0x30) /**< (TCC_STATUS) Status Offset */
  1275. #define TCC_COUNT_REG_OFST (0x34) /**< (TCC_COUNT) Count Offset */
  1276. #define TCC_PATT_REG_OFST (0x38) /**< (TCC_PATT) Pattern Offset */
  1277. #define TCC_WAVE_REG_OFST (0x3C) /**< (TCC_WAVE) Waveform Control Offset */
  1278. #define TCC_PER_REG_OFST (0x40) /**< (TCC_PER) Period Offset */
  1279. #define TCC_CC_REG_OFST (0x44) /**< (TCC_CC) Compare and Capture Offset */
  1280. #define TCC_CC0_REG_OFST (0x44) /**< (TCC_CC0) Compare and Capture Offset */
  1281. #define TCC_CC1_REG_OFST (0x48) /**< (TCC_CC1) Compare and Capture Offset */
  1282. #define TCC_CC2_REG_OFST (0x4C) /**< (TCC_CC2) Compare and Capture Offset */
  1283. #define TCC_CC3_REG_OFST (0x50) /**< (TCC_CC3) Compare and Capture Offset */
  1284. #define TCC_PATTB_REG_OFST (0x64) /**< (TCC_PATTB) Pattern Buffer Offset */
  1285. #define TCC_WAVEB_REG_OFST (0x68) /**< (TCC_WAVEB) Waveform Control Buffer Offset */
  1286. #define TCC_PERB_REG_OFST (0x6C) /**< (TCC_PERB) Period Buffer Offset */
  1287. #define TCC_CCB_REG_OFST (0x70) /**< (TCC_CCB) Compare and Capture Buffer Offset */
  1288. #define TCC_CCB0_REG_OFST (0x70) /**< (TCC_CCB0) Compare and Capture Buffer Offset */
  1289. #define TCC_CCB1_REG_OFST (0x74) /**< (TCC_CCB1) Compare and Capture Buffer Offset */
  1290. #define TCC_CCB2_REG_OFST (0x78) /**< (TCC_CCB2) Compare and Capture Buffer Offset */
  1291. #define TCC_CCB3_REG_OFST (0x7C) /**< (TCC_CCB3) Compare and Capture Buffer Offset */
  1292. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  1293. /** \brief TCC register API structure */
  1294. typedef struct
  1295. { /* Timer Counter Control */
  1296. __IO uint32_t TCC_CTRLA; /**< Offset: 0x00 (R/W 32) Control A */
  1297. __IO uint8_t TCC_CTRLBCLR; /**< Offset: 0x04 (R/W 8) Control B Clear */
  1298. __IO uint8_t TCC_CTRLBSET; /**< Offset: 0x05 (R/W 8) Control B Set */
  1299. __I uint8_t Reserved1[0x02];
  1300. __I uint32_t TCC_SYNCBUSY; /**< Offset: 0x08 (R/ 32) Synchronization Busy */
  1301. __IO uint32_t TCC_FCTRLA; /**< Offset: 0x0C (R/W 32) Recoverable Fault A Configuration */
  1302. __IO uint32_t TCC_FCTRLB; /**< Offset: 0x10 (R/W 32) Recoverable Fault B Configuration */
  1303. __IO uint32_t TCC_WEXCTRL; /**< Offset: 0x14 (R/W 32) Waveform Extension Configuration */
  1304. __IO uint32_t TCC_DRVCTRL; /**< Offset: 0x18 (R/W 32) Driver Control */
  1305. __I uint8_t Reserved2[0x02];
  1306. __IO uint8_t TCC_DBGCTRL; /**< Offset: 0x1E (R/W 8) Debug Control */
  1307. __I uint8_t Reserved3[0x01];
  1308. __IO uint32_t TCC_EVCTRL; /**< Offset: 0x20 (R/W 32) Event Control */
  1309. __IO uint32_t TCC_INTENCLR; /**< Offset: 0x24 (R/W 32) Interrupt Enable Clear */
  1310. __IO uint32_t TCC_INTENSET; /**< Offset: 0x28 (R/W 32) Interrupt Enable Set */
  1311. __IO uint32_t TCC_INTFLAG; /**< Offset: 0x2C (R/W 32) Interrupt Flag Status and Clear */
  1312. __IO uint32_t TCC_STATUS; /**< Offset: 0x30 (R/W 32) Status */
  1313. __IO uint32_t TCC_COUNT; /**< Offset: 0x34 (R/W 32) Count */
  1314. __IO uint16_t TCC_PATT; /**< Offset: 0x38 (R/W 16) Pattern */
  1315. __I uint8_t Reserved4[0x02];
  1316. __IO uint32_t TCC_WAVE; /**< Offset: 0x3C (R/W 32) Waveform Control */
  1317. __IO uint32_t TCC_PER; /**< Offset: 0x40 (R/W 32) Period */
  1318. __IO uint32_t TCC_CC[4]; /**< Offset: 0x44 (R/W 32) Compare and Capture */
  1319. __I uint8_t Reserved5[0x10];
  1320. __IO uint16_t TCC_PATTB; /**< Offset: 0x64 (R/W 16) Pattern Buffer */
  1321. __I uint8_t Reserved6[0x02];
  1322. __IO uint32_t TCC_WAVEB; /**< Offset: 0x68 (R/W 32) Waveform Control Buffer */
  1323. __IO uint32_t TCC_PERB; /**< Offset: 0x6C (R/W 32) Period Buffer */
  1324. __IO uint32_t TCC_CCB[4]; /**< Offset: 0x70 (R/W 32) Compare and Capture Buffer */
  1325. } tcc_registers_t;
  1326. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  1327. #endif /* _SAMD21_TCC_COMPONENT_H_ */