rtc.h 86 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749
  1. /**
  2. * \brief Component description for RTC
  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_RTC_COMPONENT_H_
  24. #define _SAMD21_RTC_COMPONENT_H_
  25. /* ************************************************************************** */
  26. /* SOFTWARE API DEFINITION FOR RTC */
  27. /* ************************************************************************** */
  28. /* -------- RTC_MODE0_CTRL : (RTC Offset: 0x00) (R/W 16) MODE0 Control -------- */
  29. #define RTC_MODE0_CTRL_RESETVALUE _U_(0x00) /**< (RTC_MODE0_CTRL) MODE0 Control Reset Value */
  30. #define RTC_MODE0_CTRL_SWRST_Pos _U_(0) /**< (RTC_MODE0_CTRL) Software Reset Position */
  31. #define RTC_MODE0_CTRL_SWRST_Msk (_U_(0x1) << RTC_MODE0_CTRL_SWRST_Pos) /**< (RTC_MODE0_CTRL) Software Reset Mask */
  32. #define RTC_MODE0_CTRL_SWRST(value) (RTC_MODE0_CTRL_SWRST_Msk & ((value) << RTC_MODE0_CTRL_SWRST_Pos))
  33. #define RTC_MODE0_CTRL_ENABLE_Pos _U_(1) /**< (RTC_MODE0_CTRL) Enable Position */
  34. #define RTC_MODE0_CTRL_ENABLE_Msk (_U_(0x1) << RTC_MODE0_CTRL_ENABLE_Pos) /**< (RTC_MODE0_CTRL) Enable Mask */
  35. #define RTC_MODE0_CTRL_ENABLE(value) (RTC_MODE0_CTRL_ENABLE_Msk & ((value) << RTC_MODE0_CTRL_ENABLE_Pos))
  36. #define RTC_MODE0_CTRL_MODE_Pos _U_(2) /**< (RTC_MODE0_CTRL) Operating Mode Position */
  37. #define RTC_MODE0_CTRL_MODE_Msk (_U_(0x3) << RTC_MODE0_CTRL_MODE_Pos) /**< (RTC_MODE0_CTRL) Operating Mode Mask */
  38. #define RTC_MODE0_CTRL_MODE(value) (RTC_MODE0_CTRL_MODE_Msk & ((value) << RTC_MODE0_CTRL_MODE_Pos))
  39. #define RTC_MODE0_CTRL_MODE_COUNT32_Val _U_(0x0) /**< (RTC_MODE0_CTRL) Mode 0: 32-bit Counter */
  40. #define RTC_MODE0_CTRL_MODE_COUNT16_Val _U_(0x1) /**< (RTC_MODE0_CTRL) Mode 1: 16-bit Counter */
  41. #define RTC_MODE0_CTRL_MODE_CLOCK_Val _U_(0x2) /**< (RTC_MODE0_CTRL) Mode 2: Clock/Calendar */
  42. #define RTC_MODE0_CTRL_MODE_COUNT32 (RTC_MODE0_CTRL_MODE_COUNT32_Val << RTC_MODE0_CTRL_MODE_Pos) /**< (RTC_MODE0_CTRL) Mode 0: 32-bit Counter Position */
  43. #define RTC_MODE0_CTRL_MODE_COUNT16 (RTC_MODE0_CTRL_MODE_COUNT16_Val << RTC_MODE0_CTRL_MODE_Pos) /**< (RTC_MODE0_CTRL) Mode 1: 16-bit Counter Position */
  44. #define RTC_MODE0_CTRL_MODE_CLOCK (RTC_MODE0_CTRL_MODE_CLOCK_Val << RTC_MODE0_CTRL_MODE_Pos) /**< (RTC_MODE0_CTRL) Mode 2: Clock/Calendar Position */
  45. #define RTC_MODE0_CTRL_MATCHCLR_Pos _U_(7) /**< (RTC_MODE0_CTRL) Clear on Match Position */
  46. #define RTC_MODE0_CTRL_MATCHCLR_Msk (_U_(0x1) << RTC_MODE0_CTRL_MATCHCLR_Pos) /**< (RTC_MODE0_CTRL) Clear on Match Mask */
  47. #define RTC_MODE0_CTRL_MATCHCLR(value) (RTC_MODE0_CTRL_MATCHCLR_Msk & ((value) << RTC_MODE0_CTRL_MATCHCLR_Pos))
  48. #define RTC_MODE0_CTRL_PRESCALER_Pos _U_(8) /**< (RTC_MODE0_CTRL) Prescaler Position */
  49. #define RTC_MODE0_CTRL_PRESCALER_Msk (_U_(0xF) << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) Prescaler Mask */
  50. #define RTC_MODE0_CTRL_PRESCALER(value) (RTC_MODE0_CTRL_PRESCALER_Msk & ((value) << RTC_MODE0_CTRL_PRESCALER_Pos))
  51. #define RTC_MODE0_CTRL_PRESCALER_DIV1_Val _U_(0x0) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/1 */
  52. #define RTC_MODE0_CTRL_PRESCALER_DIV2_Val _U_(0x1) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/2 */
  53. #define RTC_MODE0_CTRL_PRESCALER_DIV4_Val _U_(0x2) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/4 */
  54. #define RTC_MODE0_CTRL_PRESCALER_DIV8_Val _U_(0x3) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/8 */
  55. #define RTC_MODE0_CTRL_PRESCALER_DIV16_Val _U_(0x4) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/16 */
  56. #define RTC_MODE0_CTRL_PRESCALER_DIV32_Val _U_(0x5) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/32 */
  57. #define RTC_MODE0_CTRL_PRESCALER_DIV64_Val _U_(0x6) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/64 */
  58. #define RTC_MODE0_CTRL_PRESCALER_DIV128_Val _U_(0x7) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/128 */
  59. #define RTC_MODE0_CTRL_PRESCALER_DIV256_Val _U_(0x8) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/256 */
  60. #define RTC_MODE0_CTRL_PRESCALER_DIV512_Val _U_(0x9) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/512 */
  61. #define RTC_MODE0_CTRL_PRESCALER_DIV1024_Val _U_(0xA) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/1024 */
  62. #define RTC_MODE0_CTRL_PRESCALER_DIV1 (RTC_MODE0_CTRL_PRESCALER_DIV1_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/1 Position */
  63. #define RTC_MODE0_CTRL_PRESCALER_DIV2 (RTC_MODE0_CTRL_PRESCALER_DIV2_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/2 Position */
  64. #define RTC_MODE0_CTRL_PRESCALER_DIV4 (RTC_MODE0_CTRL_PRESCALER_DIV4_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/4 Position */
  65. #define RTC_MODE0_CTRL_PRESCALER_DIV8 (RTC_MODE0_CTRL_PRESCALER_DIV8_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/8 Position */
  66. #define RTC_MODE0_CTRL_PRESCALER_DIV16 (RTC_MODE0_CTRL_PRESCALER_DIV16_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/16 Position */
  67. #define RTC_MODE0_CTRL_PRESCALER_DIV32 (RTC_MODE0_CTRL_PRESCALER_DIV32_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/32 Position */
  68. #define RTC_MODE0_CTRL_PRESCALER_DIV64 (RTC_MODE0_CTRL_PRESCALER_DIV64_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/64 Position */
  69. #define RTC_MODE0_CTRL_PRESCALER_DIV128 (RTC_MODE0_CTRL_PRESCALER_DIV128_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/128 Position */
  70. #define RTC_MODE0_CTRL_PRESCALER_DIV256 (RTC_MODE0_CTRL_PRESCALER_DIV256_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/256 Position */
  71. #define RTC_MODE0_CTRL_PRESCALER_DIV512 (RTC_MODE0_CTRL_PRESCALER_DIV512_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/512 Position */
  72. #define RTC_MODE0_CTRL_PRESCALER_DIV1024 (RTC_MODE0_CTRL_PRESCALER_DIV1024_Val << RTC_MODE0_CTRL_PRESCALER_Pos) /**< (RTC_MODE0_CTRL) CLK_RTC_CNT = GCLK_RTC/1024 Position */
  73. #define RTC_MODE0_CTRL_Msk _U_(0x0F8F) /**< (RTC_MODE0_CTRL) Register Mask */
  74. /* -------- RTC_MODE1_CTRL : (RTC Offset: 0x00) (R/W 16) MODE1 Control -------- */
  75. #define RTC_MODE1_CTRL_RESETVALUE _U_(0x00) /**< (RTC_MODE1_CTRL) MODE1 Control Reset Value */
  76. #define RTC_MODE1_CTRL_SWRST_Pos _U_(0) /**< (RTC_MODE1_CTRL) Software Reset Position */
  77. #define RTC_MODE1_CTRL_SWRST_Msk (_U_(0x1) << RTC_MODE1_CTRL_SWRST_Pos) /**< (RTC_MODE1_CTRL) Software Reset Mask */
  78. #define RTC_MODE1_CTRL_SWRST(value) (RTC_MODE1_CTRL_SWRST_Msk & ((value) << RTC_MODE1_CTRL_SWRST_Pos))
  79. #define RTC_MODE1_CTRL_ENABLE_Pos _U_(1) /**< (RTC_MODE1_CTRL) Enable Position */
  80. #define RTC_MODE1_CTRL_ENABLE_Msk (_U_(0x1) << RTC_MODE1_CTRL_ENABLE_Pos) /**< (RTC_MODE1_CTRL) Enable Mask */
  81. #define RTC_MODE1_CTRL_ENABLE(value) (RTC_MODE1_CTRL_ENABLE_Msk & ((value) << RTC_MODE1_CTRL_ENABLE_Pos))
  82. #define RTC_MODE1_CTRL_MODE_Pos _U_(2) /**< (RTC_MODE1_CTRL) Operating Mode Position */
  83. #define RTC_MODE1_CTRL_MODE_Msk (_U_(0x3) << RTC_MODE1_CTRL_MODE_Pos) /**< (RTC_MODE1_CTRL) Operating Mode Mask */
  84. #define RTC_MODE1_CTRL_MODE(value) (RTC_MODE1_CTRL_MODE_Msk & ((value) << RTC_MODE1_CTRL_MODE_Pos))
  85. #define RTC_MODE1_CTRL_MODE_COUNT32_Val _U_(0x0) /**< (RTC_MODE1_CTRL) Mode 0: 32-bit Counter */
  86. #define RTC_MODE1_CTRL_MODE_COUNT16_Val _U_(0x1) /**< (RTC_MODE1_CTRL) Mode 1: 16-bit Counter */
  87. #define RTC_MODE1_CTRL_MODE_CLOCK_Val _U_(0x2) /**< (RTC_MODE1_CTRL) Mode 2: Clock/Calendar */
  88. #define RTC_MODE1_CTRL_MODE_COUNT32 (RTC_MODE1_CTRL_MODE_COUNT32_Val << RTC_MODE1_CTRL_MODE_Pos) /**< (RTC_MODE1_CTRL) Mode 0: 32-bit Counter Position */
  89. #define RTC_MODE1_CTRL_MODE_COUNT16 (RTC_MODE1_CTRL_MODE_COUNT16_Val << RTC_MODE1_CTRL_MODE_Pos) /**< (RTC_MODE1_CTRL) Mode 1: 16-bit Counter Position */
  90. #define RTC_MODE1_CTRL_MODE_CLOCK (RTC_MODE1_CTRL_MODE_CLOCK_Val << RTC_MODE1_CTRL_MODE_Pos) /**< (RTC_MODE1_CTRL) Mode 2: Clock/Calendar Position */
  91. #define RTC_MODE1_CTRL_PRESCALER_Pos _U_(8) /**< (RTC_MODE1_CTRL) Prescaler Position */
  92. #define RTC_MODE1_CTRL_PRESCALER_Msk (_U_(0xF) << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) Prescaler Mask */
  93. #define RTC_MODE1_CTRL_PRESCALER(value) (RTC_MODE1_CTRL_PRESCALER_Msk & ((value) << RTC_MODE1_CTRL_PRESCALER_Pos))
  94. #define RTC_MODE1_CTRL_PRESCALER_DIV1_Val _U_(0x0) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/1 */
  95. #define RTC_MODE1_CTRL_PRESCALER_DIV2_Val _U_(0x1) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/2 */
  96. #define RTC_MODE1_CTRL_PRESCALER_DIV4_Val _U_(0x2) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/4 */
  97. #define RTC_MODE1_CTRL_PRESCALER_DIV8_Val _U_(0x3) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/8 */
  98. #define RTC_MODE1_CTRL_PRESCALER_DIV16_Val _U_(0x4) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/16 */
  99. #define RTC_MODE1_CTRL_PRESCALER_DIV32_Val _U_(0x5) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/32 */
  100. #define RTC_MODE1_CTRL_PRESCALER_DIV64_Val _U_(0x6) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/64 */
  101. #define RTC_MODE1_CTRL_PRESCALER_DIV128_Val _U_(0x7) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/128 */
  102. #define RTC_MODE1_CTRL_PRESCALER_DIV256_Val _U_(0x8) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/256 */
  103. #define RTC_MODE1_CTRL_PRESCALER_DIV512_Val _U_(0x9) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/512 */
  104. #define RTC_MODE1_CTRL_PRESCALER_DIV1024_Val _U_(0xA) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/1024 */
  105. #define RTC_MODE1_CTRL_PRESCALER_DIV1 (RTC_MODE1_CTRL_PRESCALER_DIV1_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/1 Position */
  106. #define RTC_MODE1_CTRL_PRESCALER_DIV2 (RTC_MODE1_CTRL_PRESCALER_DIV2_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/2 Position */
  107. #define RTC_MODE1_CTRL_PRESCALER_DIV4 (RTC_MODE1_CTRL_PRESCALER_DIV4_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/4 Position */
  108. #define RTC_MODE1_CTRL_PRESCALER_DIV8 (RTC_MODE1_CTRL_PRESCALER_DIV8_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/8 Position */
  109. #define RTC_MODE1_CTRL_PRESCALER_DIV16 (RTC_MODE1_CTRL_PRESCALER_DIV16_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/16 Position */
  110. #define RTC_MODE1_CTRL_PRESCALER_DIV32 (RTC_MODE1_CTRL_PRESCALER_DIV32_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/32 Position */
  111. #define RTC_MODE1_CTRL_PRESCALER_DIV64 (RTC_MODE1_CTRL_PRESCALER_DIV64_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/64 Position */
  112. #define RTC_MODE1_CTRL_PRESCALER_DIV128 (RTC_MODE1_CTRL_PRESCALER_DIV128_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/128 Position */
  113. #define RTC_MODE1_CTRL_PRESCALER_DIV256 (RTC_MODE1_CTRL_PRESCALER_DIV256_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/256 Position */
  114. #define RTC_MODE1_CTRL_PRESCALER_DIV512 (RTC_MODE1_CTRL_PRESCALER_DIV512_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/512 Position */
  115. #define RTC_MODE1_CTRL_PRESCALER_DIV1024 (RTC_MODE1_CTRL_PRESCALER_DIV1024_Val << RTC_MODE1_CTRL_PRESCALER_Pos) /**< (RTC_MODE1_CTRL) CLK_RTC_CNT = GCLK_RTC/1024 Position */
  116. #define RTC_MODE1_CTRL_Msk _U_(0x0F0F) /**< (RTC_MODE1_CTRL) Register Mask */
  117. /* -------- RTC_MODE2_CTRL : (RTC Offset: 0x00) (R/W 16) MODE2 Control -------- */
  118. #define RTC_MODE2_CTRL_RESETVALUE _U_(0x00) /**< (RTC_MODE2_CTRL) MODE2 Control Reset Value */
  119. #define RTC_MODE2_CTRL_SWRST_Pos _U_(0) /**< (RTC_MODE2_CTRL) Software Reset Position */
  120. #define RTC_MODE2_CTRL_SWRST_Msk (_U_(0x1) << RTC_MODE2_CTRL_SWRST_Pos) /**< (RTC_MODE2_CTRL) Software Reset Mask */
  121. #define RTC_MODE2_CTRL_SWRST(value) (RTC_MODE2_CTRL_SWRST_Msk & ((value) << RTC_MODE2_CTRL_SWRST_Pos))
  122. #define RTC_MODE2_CTRL_ENABLE_Pos _U_(1) /**< (RTC_MODE2_CTRL) Enable Position */
  123. #define RTC_MODE2_CTRL_ENABLE_Msk (_U_(0x1) << RTC_MODE2_CTRL_ENABLE_Pos) /**< (RTC_MODE2_CTRL) Enable Mask */
  124. #define RTC_MODE2_CTRL_ENABLE(value) (RTC_MODE2_CTRL_ENABLE_Msk & ((value) << RTC_MODE2_CTRL_ENABLE_Pos))
  125. #define RTC_MODE2_CTRL_MODE_Pos _U_(2) /**< (RTC_MODE2_CTRL) Operating Mode Position */
  126. #define RTC_MODE2_CTRL_MODE_Msk (_U_(0x3) << RTC_MODE2_CTRL_MODE_Pos) /**< (RTC_MODE2_CTRL) Operating Mode Mask */
  127. #define RTC_MODE2_CTRL_MODE(value) (RTC_MODE2_CTRL_MODE_Msk & ((value) << RTC_MODE2_CTRL_MODE_Pos))
  128. #define RTC_MODE2_CTRL_MODE_COUNT32_Val _U_(0x0) /**< (RTC_MODE2_CTRL) Mode 0: 32-bit Counter */
  129. #define RTC_MODE2_CTRL_MODE_COUNT16_Val _U_(0x1) /**< (RTC_MODE2_CTRL) Mode 1: 16-bit Counter */
  130. #define RTC_MODE2_CTRL_MODE_CLOCK_Val _U_(0x2) /**< (RTC_MODE2_CTRL) Mode 2: Clock/Calendar */
  131. #define RTC_MODE2_CTRL_MODE_COUNT32 (RTC_MODE2_CTRL_MODE_COUNT32_Val << RTC_MODE2_CTRL_MODE_Pos) /**< (RTC_MODE2_CTRL) Mode 0: 32-bit Counter Position */
  132. #define RTC_MODE2_CTRL_MODE_COUNT16 (RTC_MODE2_CTRL_MODE_COUNT16_Val << RTC_MODE2_CTRL_MODE_Pos) /**< (RTC_MODE2_CTRL) Mode 1: 16-bit Counter Position */
  133. #define RTC_MODE2_CTRL_MODE_CLOCK (RTC_MODE2_CTRL_MODE_CLOCK_Val << RTC_MODE2_CTRL_MODE_Pos) /**< (RTC_MODE2_CTRL) Mode 2: Clock/Calendar Position */
  134. #define RTC_MODE2_CTRL_CLKREP_Pos _U_(6) /**< (RTC_MODE2_CTRL) Clock Representation Position */
  135. #define RTC_MODE2_CTRL_CLKREP_Msk (_U_(0x1) << RTC_MODE2_CTRL_CLKREP_Pos) /**< (RTC_MODE2_CTRL) Clock Representation Mask */
  136. #define RTC_MODE2_CTRL_CLKREP(value) (RTC_MODE2_CTRL_CLKREP_Msk & ((value) << RTC_MODE2_CTRL_CLKREP_Pos))
  137. #define RTC_MODE2_CTRL_MATCHCLR_Pos _U_(7) /**< (RTC_MODE2_CTRL) Clear on Match Position */
  138. #define RTC_MODE2_CTRL_MATCHCLR_Msk (_U_(0x1) << RTC_MODE2_CTRL_MATCHCLR_Pos) /**< (RTC_MODE2_CTRL) Clear on Match Mask */
  139. #define RTC_MODE2_CTRL_MATCHCLR(value) (RTC_MODE2_CTRL_MATCHCLR_Msk & ((value) << RTC_MODE2_CTRL_MATCHCLR_Pos))
  140. #define RTC_MODE2_CTRL_PRESCALER_Pos _U_(8) /**< (RTC_MODE2_CTRL) Prescaler Position */
  141. #define RTC_MODE2_CTRL_PRESCALER_Msk (_U_(0xF) << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) Prescaler Mask */
  142. #define RTC_MODE2_CTRL_PRESCALER(value) (RTC_MODE2_CTRL_PRESCALER_Msk & ((value) << RTC_MODE2_CTRL_PRESCALER_Pos))
  143. #define RTC_MODE2_CTRL_PRESCALER_DIV1_Val _U_(0x0) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/1 */
  144. #define RTC_MODE2_CTRL_PRESCALER_DIV2_Val _U_(0x1) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/2 */
  145. #define RTC_MODE2_CTRL_PRESCALER_DIV4_Val _U_(0x2) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/4 */
  146. #define RTC_MODE2_CTRL_PRESCALER_DIV8_Val _U_(0x3) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/8 */
  147. #define RTC_MODE2_CTRL_PRESCALER_DIV16_Val _U_(0x4) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/16 */
  148. #define RTC_MODE2_CTRL_PRESCALER_DIV32_Val _U_(0x5) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/32 */
  149. #define RTC_MODE2_CTRL_PRESCALER_DIV64_Val _U_(0x6) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/64 */
  150. #define RTC_MODE2_CTRL_PRESCALER_DIV128_Val _U_(0x7) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/128 */
  151. #define RTC_MODE2_CTRL_PRESCALER_DIV256_Val _U_(0x8) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/256 */
  152. #define RTC_MODE2_CTRL_PRESCALER_DIV512_Val _U_(0x9) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/512 */
  153. #define RTC_MODE2_CTRL_PRESCALER_DIV1024_Val _U_(0xA) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/1024 */
  154. #define RTC_MODE2_CTRL_PRESCALER_DIV1 (RTC_MODE2_CTRL_PRESCALER_DIV1_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/1 Position */
  155. #define RTC_MODE2_CTRL_PRESCALER_DIV2 (RTC_MODE2_CTRL_PRESCALER_DIV2_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/2 Position */
  156. #define RTC_MODE2_CTRL_PRESCALER_DIV4 (RTC_MODE2_CTRL_PRESCALER_DIV4_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/4 Position */
  157. #define RTC_MODE2_CTRL_PRESCALER_DIV8 (RTC_MODE2_CTRL_PRESCALER_DIV8_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/8 Position */
  158. #define RTC_MODE2_CTRL_PRESCALER_DIV16 (RTC_MODE2_CTRL_PRESCALER_DIV16_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/16 Position */
  159. #define RTC_MODE2_CTRL_PRESCALER_DIV32 (RTC_MODE2_CTRL_PRESCALER_DIV32_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/32 Position */
  160. #define RTC_MODE2_CTRL_PRESCALER_DIV64 (RTC_MODE2_CTRL_PRESCALER_DIV64_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/64 Position */
  161. #define RTC_MODE2_CTRL_PRESCALER_DIV128 (RTC_MODE2_CTRL_PRESCALER_DIV128_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/128 Position */
  162. #define RTC_MODE2_CTRL_PRESCALER_DIV256 (RTC_MODE2_CTRL_PRESCALER_DIV256_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/256 Position */
  163. #define RTC_MODE2_CTRL_PRESCALER_DIV512 (RTC_MODE2_CTRL_PRESCALER_DIV512_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/512 Position */
  164. #define RTC_MODE2_CTRL_PRESCALER_DIV1024 (RTC_MODE2_CTRL_PRESCALER_DIV1024_Val << RTC_MODE2_CTRL_PRESCALER_Pos) /**< (RTC_MODE2_CTRL) CLK_RTC_CNT = GCLK_RTC/1024 Position */
  165. #define RTC_MODE2_CTRL_Msk _U_(0x0FCF) /**< (RTC_MODE2_CTRL) Register Mask */
  166. /* -------- RTC_READREQ : (RTC Offset: 0x02) (R/W 16) Read Request -------- */
  167. #define RTC_READREQ_RESETVALUE _U_(0x10) /**< (RTC_READREQ) Read Request Reset Value */
  168. #define RTC_READREQ_ADDR_Pos _U_(0) /**< (RTC_READREQ) Address Position */
  169. #define RTC_READREQ_ADDR_Msk (_U_(0x3F) << RTC_READREQ_ADDR_Pos) /**< (RTC_READREQ) Address Mask */
  170. #define RTC_READREQ_ADDR(value) (RTC_READREQ_ADDR_Msk & ((value) << RTC_READREQ_ADDR_Pos))
  171. #define RTC_READREQ_RCONT_Pos _U_(14) /**< (RTC_READREQ) Read Continuously Position */
  172. #define RTC_READREQ_RCONT_Msk (_U_(0x1) << RTC_READREQ_RCONT_Pos) /**< (RTC_READREQ) Read Continuously Mask */
  173. #define RTC_READREQ_RCONT(value) (RTC_READREQ_RCONT_Msk & ((value) << RTC_READREQ_RCONT_Pos))
  174. #define RTC_READREQ_RREQ_Pos _U_(15) /**< (RTC_READREQ) Read Request Position */
  175. #define RTC_READREQ_RREQ_Msk (_U_(0x1) << RTC_READREQ_RREQ_Pos) /**< (RTC_READREQ) Read Request Mask */
  176. #define RTC_READREQ_RREQ(value) (RTC_READREQ_RREQ_Msk & ((value) << RTC_READREQ_RREQ_Pos))
  177. #define RTC_READREQ_Msk _U_(0xC03F) /**< (RTC_READREQ) Register Mask */
  178. /* -------- RTC_MODE0_EVCTRL : (RTC Offset: 0x04) (R/W 16) MODE0 Event Control -------- */
  179. #define RTC_MODE0_EVCTRL_RESETVALUE _U_(0x00) /**< (RTC_MODE0_EVCTRL) MODE0 Event Control Reset Value */
  180. #define RTC_MODE0_EVCTRL_PEREO0_Pos _U_(0) /**< (RTC_MODE0_EVCTRL) Periodic Interval 0 Event Output Enable Position */
  181. #define RTC_MODE0_EVCTRL_PEREO0_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO0_Pos) /**< (RTC_MODE0_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
  182. #define RTC_MODE0_EVCTRL_PEREO0(value) (RTC_MODE0_EVCTRL_PEREO0_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO0_Pos))
  183. #define RTC_MODE0_EVCTRL_PEREO1_Pos _U_(1) /**< (RTC_MODE0_EVCTRL) Periodic Interval 1 Event Output Enable Position */
  184. #define RTC_MODE0_EVCTRL_PEREO1_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO1_Pos) /**< (RTC_MODE0_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
  185. #define RTC_MODE0_EVCTRL_PEREO1(value) (RTC_MODE0_EVCTRL_PEREO1_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO1_Pos))
  186. #define RTC_MODE0_EVCTRL_PEREO2_Pos _U_(2) /**< (RTC_MODE0_EVCTRL) Periodic Interval 2 Event Output Enable Position */
  187. #define RTC_MODE0_EVCTRL_PEREO2_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO2_Pos) /**< (RTC_MODE0_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
  188. #define RTC_MODE0_EVCTRL_PEREO2(value) (RTC_MODE0_EVCTRL_PEREO2_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO2_Pos))
  189. #define RTC_MODE0_EVCTRL_PEREO3_Pos _U_(3) /**< (RTC_MODE0_EVCTRL) Periodic Interval 3 Event Output Enable Position */
  190. #define RTC_MODE0_EVCTRL_PEREO3_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO3_Pos) /**< (RTC_MODE0_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
  191. #define RTC_MODE0_EVCTRL_PEREO3(value) (RTC_MODE0_EVCTRL_PEREO3_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO3_Pos))
  192. #define RTC_MODE0_EVCTRL_PEREO4_Pos _U_(4) /**< (RTC_MODE0_EVCTRL) Periodic Interval 4 Event Output Enable Position */
  193. #define RTC_MODE0_EVCTRL_PEREO4_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO4_Pos) /**< (RTC_MODE0_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
  194. #define RTC_MODE0_EVCTRL_PEREO4(value) (RTC_MODE0_EVCTRL_PEREO4_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO4_Pos))
  195. #define RTC_MODE0_EVCTRL_PEREO5_Pos _U_(5) /**< (RTC_MODE0_EVCTRL) Periodic Interval 5 Event Output Enable Position */
  196. #define RTC_MODE0_EVCTRL_PEREO5_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO5_Pos) /**< (RTC_MODE0_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
  197. #define RTC_MODE0_EVCTRL_PEREO5(value) (RTC_MODE0_EVCTRL_PEREO5_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO5_Pos))
  198. #define RTC_MODE0_EVCTRL_PEREO6_Pos _U_(6) /**< (RTC_MODE0_EVCTRL) Periodic Interval 6 Event Output Enable Position */
  199. #define RTC_MODE0_EVCTRL_PEREO6_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO6_Pos) /**< (RTC_MODE0_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
  200. #define RTC_MODE0_EVCTRL_PEREO6(value) (RTC_MODE0_EVCTRL_PEREO6_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO6_Pos))
  201. #define RTC_MODE0_EVCTRL_PEREO7_Pos _U_(7) /**< (RTC_MODE0_EVCTRL) Periodic Interval 7 Event Output Enable Position */
  202. #define RTC_MODE0_EVCTRL_PEREO7_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_PEREO7_Pos) /**< (RTC_MODE0_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
  203. #define RTC_MODE0_EVCTRL_PEREO7(value) (RTC_MODE0_EVCTRL_PEREO7_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO7_Pos))
  204. #define RTC_MODE0_EVCTRL_CMPEO0_Pos _U_(8) /**< (RTC_MODE0_EVCTRL) Compare 0 Event Output Enable Position */
  205. #define RTC_MODE0_EVCTRL_CMPEO0_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_CMPEO0_Pos) /**< (RTC_MODE0_EVCTRL) Compare 0 Event Output Enable Mask */
  206. #define RTC_MODE0_EVCTRL_CMPEO0(value) (RTC_MODE0_EVCTRL_CMPEO0_Msk & ((value) << RTC_MODE0_EVCTRL_CMPEO0_Pos))
  207. #define RTC_MODE0_EVCTRL_OVFEO_Pos _U_(15) /**< (RTC_MODE0_EVCTRL) Overflow Event Output Enable Position */
  208. #define RTC_MODE0_EVCTRL_OVFEO_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_OVFEO_Pos) /**< (RTC_MODE0_EVCTRL) Overflow Event Output Enable Mask */
  209. #define RTC_MODE0_EVCTRL_OVFEO(value) (RTC_MODE0_EVCTRL_OVFEO_Msk & ((value) << RTC_MODE0_EVCTRL_OVFEO_Pos))
  210. #define RTC_MODE0_EVCTRL_Msk _U_(0x81FF) /**< (RTC_MODE0_EVCTRL) Register Mask */
  211. #define RTC_MODE0_EVCTRL_PEREO_Pos _U_(0) /**< (RTC_MODE0_EVCTRL Position) Periodic Interval x Event Output Enable */
  212. #define RTC_MODE0_EVCTRL_PEREO_Msk (_U_(0xFF) << RTC_MODE0_EVCTRL_PEREO_Pos) /**< (RTC_MODE0_EVCTRL Mask) PEREO */
  213. #define RTC_MODE0_EVCTRL_PEREO(value) (RTC_MODE0_EVCTRL_PEREO_Msk & ((value) << RTC_MODE0_EVCTRL_PEREO_Pos))
  214. #define RTC_MODE0_EVCTRL_CMPEO_Pos _U_(8) /**< (RTC_MODE0_EVCTRL Position) Compare x Event Output Enable */
  215. #define RTC_MODE0_EVCTRL_CMPEO_Msk (_U_(0x1) << RTC_MODE0_EVCTRL_CMPEO_Pos) /**< (RTC_MODE0_EVCTRL Mask) CMPEO */
  216. #define RTC_MODE0_EVCTRL_CMPEO(value) (RTC_MODE0_EVCTRL_CMPEO_Msk & ((value) << RTC_MODE0_EVCTRL_CMPEO_Pos))
  217. /* -------- RTC_MODE1_EVCTRL : (RTC Offset: 0x04) (R/W 16) MODE1 Event Control -------- */
  218. #define RTC_MODE1_EVCTRL_RESETVALUE _U_(0x00) /**< (RTC_MODE1_EVCTRL) MODE1 Event Control Reset Value */
  219. #define RTC_MODE1_EVCTRL_PEREO0_Pos _U_(0) /**< (RTC_MODE1_EVCTRL) Periodic Interval 0 Event Output Enable Position */
  220. #define RTC_MODE1_EVCTRL_PEREO0_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO0_Pos) /**< (RTC_MODE1_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
  221. #define RTC_MODE1_EVCTRL_PEREO0(value) (RTC_MODE1_EVCTRL_PEREO0_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO0_Pos))
  222. #define RTC_MODE1_EVCTRL_PEREO1_Pos _U_(1) /**< (RTC_MODE1_EVCTRL) Periodic Interval 1 Event Output Enable Position */
  223. #define RTC_MODE1_EVCTRL_PEREO1_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO1_Pos) /**< (RTC_MODE1_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
  224. #define RTC_MODE1_EVCTRL_PEREO1(value) (RTC_MODE1_EVCTRL_PEREO1_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO1_Pos))
  225. #define RTC_MODE1_EVCTRL_PEREO2_Pos _U_(2) /**< (RTC_MODE1_EVCTRL) Periodic Interval 2 Event Output Enable Position */
  226. #define RTC_MODE1_EVCTRL_PEREO2_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO2_Pos) /**< (RTC_MODE1_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
  227. #define RTC_MODE1_EVCTRL_PEREO2(value) (RTC_MODE1_EVCTRL_PEREO2_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO2_Pos))
  228. #define RTC_MODE1_EVCTRL_PEREO3_Pos _U_(3) /**< (RTC_MODE1_EVCTRL) Periodic Interval 3 Event Output Enable Position */
  229. #define RTC_MODE1_EVCTRL_PEREO3_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO3_Pos) /**< (RTC_MODE1_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
  230. #define RTC_MODE1_EVCTRL_PEREO3(value) (RTC_MODE1_EVCTRL_PEREO3_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO3_Pos))
  231. #define RTC_MODE1_EVCTRL_PEREO4_Pos _U_(4) /**< (RTC_MODE1_EVCTRL) Periodic Interval 4 Event Output Enable Position */
  232. #define RTC_MODE1_EVCTRL_PEREO4_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO4_Pos) /**< (RTC_MODE1_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
  233. #define RTC_MODE1_EVCTRL_PEREO4(value) (RTC_MODE1_EVCTRL_PEREO4_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO4_Pos))
  234. #define RTC_MODE1_EVCTRL_PEREO5_Pos _U_(5) /**< (RTC_MODE1_EVCTRL) Periodic Interval 5 Event Output Enable Position */
  235. #define RTC_MODE1_EVCTRL_PEREO5_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO5_Pos) /**< (RTC_MODE1_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
  236. #define RTC_MODE1_EVCTRL_PEREO5(value) (RTC_MODE1_EVCTRL_PEREO5_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO5_Pos))
  237. #define RTC_MODE1_EVCTRL_PEREO6_Pos _U_(6) /**< (RTC_MODE1_EVCTRL) Periodic Interval 6 Event Output Enable Position */
  238. #define RTC_MODE1_EVCTRL_PEREO6_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO6_Pos) /**< (RTC_MODE1_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
  239. #define RTC_MODE1_EVCTRL_PEREO6(value) (RTC_MODE1_EVCTRL_PEREO6_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO6_Pos))
  240. #define RTC_MODE1_EVCTRL_PEREO7_Pos _U_(7) /**< (RTC_MODE1_EVCTRL) Periodic Interval 7 Event Output Enable Position */
  241. #define RTC_MODE1_EVCTRL_PEREO7_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_PEREO7_Pos) /**< (RTC_MODE1_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
  242. #define RTC_MODE1_EVCTRL_PEREO7(value) (RTC_MODE1_EVCTRL_PEREO7_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO7_Pos))
  243. #define RTC_MODE1_EVCTRL_CMPEO0_Pos _U_(8) /**< (RTC_MODE1_EVCTRL) Compare 0 Event Output Enable Position */
  244. #define RTC_MODE1_EVCTRL_CMPEO0_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_CMPEO0_Pos) /**< (RTC_MODE1_EVCTRL) Compare 0 Event Output Enable Mask */
  245. #define RTC_MODE1_EVCTRL_CMPEO0(value) (RTC_MODE1_EVCTRL_CMPEO0_Msk & ((value) << RTC_MODE1_EVCTRL_CMPEO0_Pos))
  246. #define RTC_MODE1_EVCTRL_CMPEO1_Pos _U_(9) /**< (RTC_MODE1_EVCTRL) Compare 1 Event Output Enable Position */
  247. #define RTC_MODE1_EVCTRL_CMPEO1_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_CMPEO1_Pos) /**< (RTC_MODE1_EVCTRL) Compare 1 Event Output Enable Mask */
  248. #define RTC_MODE1_EVCTRL_CMPEO1(value) (RTC_MODE1_EVCTRL_CMPEO1_Msk & ((value) << RTC_MODE1_EVCTRL_CMPEO1_Pos))
  249. #define RTC_MODE1_EVCTRL_OVFEO_Pos _U_(15) /**< (RTC_MODE1_EVCTRL) Overflow Event Output Enable Position */
  250. #define RTC_MODE1_EVCTRL_OVFEO_Msk (_U_(0x1) << RTC_MODE1_EVCTRL_OVFEO_Pos) /**< (RTC_MODE1_EVCTRL) Overflow Event Output Enable Mask */
  251. #define RTC_MODE1_EVCTRL_OVFEO(value) (RTC_MODE1_EVCTRL_OVFEO_Msk & ((value) << RTC_MODE1_EVCTRL_OVFEO_Pos))
  252. #define RTC_MODE1_EVCTRL_Msk _U_(0x83FF) /**< (RTC_MODE1_EVCTRL) Register Mask */
  253. #define RTC_MODE1_EVCTRL_PEREO_Pos _U_(0) /**< (RTC_MODE1_EVCTRL Position) Periodic Interval x Event Output Enable */
  254. #define RTC_MODE1_EVCTRL_PEREO_Msk (_U_(0xFF) << RTC_MODE1_EVCTRL_PEREO_Pos) /**< (RTC_MODE1_EVCTRL Mask) PEREO */
  255. #define RTC_MODE1_EVCTRL_PEREO(value) (RTC_MODE1_EVCTRL_PEREO_Msk & ((value) << RTC_MODE1_EVCTRL_PEREO_Pos))
  256. #define RTC_MODE1_EVCTRL_CMPEO_Pos _U_(8) /**< (RTC_MODE1_EVCTRL Position) Compare x Event Output Enable */
  257. #define RTC_MODE1_EVCTRL_CMPEO_Msk (_U_(0x3) << RTC_MODE1_EVCTRL_CMPEO_Pos) /**< (RTC_MODE1_EVCTRL Mask) CMPEO */
  258. #define RTC_MODE1_EVCTRL_CMPEO(value) (RTC_MODE1_EVCTRL_CMPEO_Msk & ((value) << RTC_MODE1_EVCTRL_CMPEO_Pos))
  259. /* -------- RTC_MODE2_EVCTRL : (RTC Offset: 0x04) (R/W 16) MODE2 Event Control -------- */
  260. #define RTC_MODE2_EVCTRL_RESETVALUE _U_(0x00) /**< (RTC_MODE2_EVCTRL) MODE2 Event Control Reset Value */
  261. #define RTC_MODE2_EVCTRL_PEREO0_Pos _U_(0) /**< (RTC_MODE2_EVCTRL) Periodic Interval 0 Event Output Enable Position */
  262. #define RTC_MODE2_EVCTRL_PEREO0_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO0_Pos) /**< (RTC_MODE2_EVCTRL) Periodic Interval 0 Event Output Enable Mask */
  263. #define RTC_MODE2_EVCTRL_PEREO0(value) (RTC_MODE2_EVCTRL_PEREO0_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO0_Pos))
  264. #define RTC_MODE2_EVCTRL_PEREO1_Pos _U_(1) /**< (RTC_MODE2_EVCTRL) Periodic Interval 1 Event Output Enable Position */
  265. #define RTC_MODE2_EVCTRL_PEREO1_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO1_Pos) /**< (RTC_MODE2_EVCTRL) Periodic Interval 1 Event Output Enable Mask */
  266. #define RTC_MODE2_EVCTRL_PEREO1(value) (RTC_MODE2_EVCTRL_PEREO1_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO1_Pos))
  267. #define RTC_MODE2_EVCTRL_PEREO2_Pos _U_(2) /**< (RTC_MODE2_EVCTRL) Periodic Interval 2 Event Output Enable Position */
  268. #define RTC_MODE2_EVCTRL_PEREO2_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO2_Pos) /**< (RTC_MODE2_EVCTRL) Periodic Interval 2 Event Output Enable Mask */
  269. #define RTC_MODE2_EVCTRL_PEREO2(value) (RTC_MODE2_EVCTRL_PEREO2_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO2_Pos))
  270. #define RTC_MODE2_EVCTRL_PEREO3_Pos _U_(3) /**< (RTC_MODE2_EVCTRL) Periodic Interval 3 Event Output Enable Position */
  271. #define RTC_MODE2_EVCTRL_PEREO3_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO3_Pos) /**< (RTC_MODE2_EVCTRL) Periodic Interval 3 Event Output Enable Mask */
  272. #define RTC_MODE2_EVCTRL_PEREO3(value) (RTC_MODE2_EVCTRL_PEREO3_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO3_Pos))
  273. #define RTC_MODE2_EVCTRL_PEREO4_Pos _U_(4) /**< (RTC_MODE2_EVCTRL) Periodic Interval 4 Event Output Enable Position */
  274. #define RTC_MODE2_EVCTRL_PEREO4_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO4_Pos) /**< (RTC_MODE2_EVCTRL) Periodic Interval 4 Event Output Enable Mask */
  275. #define RTC_MODE2_EVCTRL_PEREO4(value) (RTC_MODE2_EVCTRL_PEREO4_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO4_Pos))
  276. #define RTC_MODE2_EVCTRL_PEREO5_Pos _U_(5) /**< (RTC_MODE2_EVCTRL) Periodic Interval 5 Event Output Enable Position */
  277. #define RTC_MODE2_EVCTRL_PEREO5_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO5_Pos) /**< (RTC_MODE2_EVCTRL) Periodic Interval 5 Event Output Enable Mask */
  278. #define RTC_MODE2_EVCTRL_PEREO5(value) (RTC_MODE2_EVCTRL_PEREO5_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO5_Pos))
  279. #define RTC_MODE2_EVCTRL_PEREO6_Pos _U_(6) /**< (RTC_MODE2_EVCTRL) Periodic Interval 6 Event Output Enable Position */
  280. #define RTC_MODE2_EVCTRL_PEREO6_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO6_Pos) /**< (RTC_MODE2_EVCTRL) Periodic Interval 6 Event Output Enable Mask */
  281. #define RTC_MODE2_EVCTRL_PEREO6(value) (RTC_MODE2_EVCTRL_PEREO6_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO6_Pos))
  282. #define RTC_MODE2_EVCTRL_PEREO7_Pos _U_(7) /**< (RTC_MODE2_EVCTRL) Periodic Interval 7 Event Output Enable Position */
  283. #define RTC_MODE2_EVCTRL_PEREO7_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_PEREO7_Pos) /**< (RTC_MODE2_EVCTRL) Periodic Interval 7 Event Output Enable Mask */
  284. #define RTC_MODE2_EVCTRL_PEREO7(value) (RTC_MODE2_EVCTRL_PEREO7_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO7_Pos))
  285. #define RTC_MODE2_EVCTRL_ALARMEO0_Pos _U_(8) /**< (RTC_MODE2_EVCTRL) Alarm 0 Event Output Enable Position */
  286. #define RTC_MODE2_EVCTRL_ALARMEO0_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_ALARMEO0_Pos) /**< (RTC_MODE2_EVCTRL) Alarm 0 Event Output Enable Mask */
  287. #define RTC_MODE2_EVCTRL_ALARMEO0(value) (RTC_MODE2_EVCTRL_ALARMEO0_Msk & ((value) << RTC_MODE2_EVCTRL_ALARMEO0_Pos))
  288. #define RTC_MODE2_EVCTRL_OVFEO_Pos _U_(15) /**< (RTC_MODE2_EVCTRL) Overflow Event Output Enable Position */
  289. #define RTC_MODE2_EVCTRL_OVFEO_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_OVFEO_Pos) /**< (RTC_MODE2_EVCTRL) Overflow Event Output Enable Mask */
  290. #define RTC_MODE2_EVCTRL_OVFEO(value) (RTC_MODE2_EVCTRL_OVFEO_Msk & ((value) << RTC_MODE2_EVCTRL_OVFEO_Pos))
  291. #define RTC_MODE2_EVCTRL_Msk _U_(0x81FF) /**< (RTC_MODE2_EVCTRL) Register Mask */
  292. #define RTC_MODE2_EVCTRL_PEREO_Pos _U_(0) /**< (RTC_MODE2_EVCTRL Position) Periodic Interval x Event Output Enable */
  293. #define RTC_MODE2_EVCTRL_PEREO_Msk (_U_(0xFF) << RTC_MODE2_EVCTRL_PEREO_Pos) /**< (RTC_MODE2_EVCTRL Mask) PEREO */
  294. #define RTC_MODE2_EVCTRL_PEREO(value) (RTC_MODE2_EVCTRL_PEREO_Msk & ((value) << RTC_MODE2_EVCTRL_PEREO_Pos))
  295. #define RTC_MODE2_EVCTRL_ALARMEO_Pos _U_(8) /**< (RTC_MODE2_EVCTRL Position) Alarm x Event Output Enable */
  296. #define RTC_MODE2_EVCTRL_ALARMEO_Msk (_U_(0x1) << RTC_MODE2_EVCTRL_ALARMEO_Pos) /**< (RTC_MODE2_EVCTRL Mask) ALARMEO */
  297. #define RTC_MODE2_EVCTRL_ALARMEO(value) (RTC_MODE2_EVCTRL_ALARMEO_Msk & ((value) << RTC_MODE2_EVCTRL_ALARMEO_Pos))
  298. /* -------- RTC_MODE0_INTENCLR : (RTC Offset: 0x06) (R/W 8) MODE0 Interrupt Enable Clear -------- */
  299. #define RTC_MODE0_INTENCLR_RESETVALUE _U_(0x00) /**< (RTC_MODE0_INTENCLR) MODE0 Interrupt Enable Clear Reset Value */
  300. #define RTC_MODE0_INTENCLR_CMP0_Pos _U_(0) /**< (RTC_MODE0_INTENCLR) Compare 0 Interrupt Enable Position */
  301. #define RTC_MODE0_INTENCLR_CMP0_Msk (_U_(0x1) << RTC_MODE0_INTENCLR_CMP0_Pos) /**< (RTC_MODE0_INTENCLR) Compare 0 Interrupt Enable Mask */
  302. #define RTC_MODE0_INTENCLR_CMP0(value) (RTC_MODE0_INTENCLR_CMP0_Msk & ((value) << RTC_MODE0_INTENCLR_CMP0_Pos))
  303. #define RTC_MODE0_INTENCLR_SYNCRDY_Pos _U_(6) /**< (RTC_MODE0_INTENCLR) Synchronization Ready Interrupt Enable Position */
  304. #define RTC_MODE0_INTENCLR_SYNCRDY_Msk (_U_(0x1) << RTC_MODE0_INTENCLR_SYNCRDY_Pos) /**< (RTC_MODE0_INTENCLR) Synchronization Ready Interrupt Enable Mask */
  305. #define RTC_MODE0_INTENCLR_SYNCRDY(value) (RTC_MODE0_INTENCLR_SYNCRDY_Msk & ((value) << RTC_MODE0_INTENCLR_SYNCRDY_Pos))
  306. #define RTC_MODE0_INTENCLR_OVF_Pos _U_(7) /**< (RTC_MODE0_INTENCLR) Overflow Interrupt Enable Position */
  307. #define RTC_MODE0_INTENCLR_OVF_Msk (_U_(0x1) << RTC_MODE0_INTENCLR_OVF_Pos) /**< (RTC_MODE0_INTENCLR) Overflow Interrupt Enable Mask */
  308. #define RTC_MODE0_INTENCLR_OVF(value) (RTC_MODE0_INTENCLR_OVF_Msk & ((value) << RTC_MODE0_INTENCLR_OVF_Pos))
  309. #define RTC_MODE0_INTENCLR_Msk _U_(0xC1) /**< (RTC_MODE0_INTENCLR) Register Mask */
  310. #define RTC_MODE0_INTENCLR_CMP_Pos _U_(0) /**< (RTC_MODE0_INTENCLR Position) Compare x Interrupt Enable */
  311. #define RTC_MODE0_INTENCLR_CMP_Msk (_U_(0x1) << RTC_MODE0_INTENCLR_CMP_Pos) /**< (RTC_MODE0_INTENCLR Mask) CMP */
  312. #define RTC_MODE0_INTENCLR_CMP(value) (RTC_MODE0_INTENCLR_CMP_Msk & ((value) << RTC_MODE0_INTENCLR_CMP_Pos))
  313. /* -------- RTC_MODE1_INTENCLR : (RTC Offset: 0x06) (R/W 8) MODE1 Interrupt Enable Clear -------- */
  314. #define RTC_MODE1_INTENCLR_RESETVALUE _U_(0x00) /**< (RTC_MODE1_INTENCLR) MODE1 Interrupt Enable Clear Reset Value */
  315. #define RTC_MODE1_INTENCLR_CMP0_Pos _U_(0) /**< (RTC_MODE1_INTENCLR) Compare 0 Interrupt Enable Position */
  316. #define RTC_MODE1_INTENCLR_CMP0_Msk (_U_(0x1) << RTC_MODE1_INTENCLR_CMP0_Pos) /**< (RTC_MODE1_INTENCLR) Compare 0 Interrupt Enable Mask */
  317. #define RTC_MODE1_INTENCLR_CMP0(value) (RTC_MODE1_INTENCLR_CMP0_Msk & ((value) << RTC_MODE1_INTENCLR_CMP0_Pos))
  318. #define RTC_MODE1_INTENCLR_CMP1_Pos _U_(1) /**< (RTC_MODE1_INTENCLR) Compare 1 Interrupt Enable Position */
  319. #define RTC_MODE1_INTENCLR_CMP1_Msk (_U_(0x1) << RTC_MODE1_INTENCLR_CMP1_Pos) /**< (RTC_MODE1_INTENCLR) Compare 1 Interrupt Enable Mask */
  320. #define RTC_MODE1_INTENCLR_CMP1(value) (RTC_MODE1_INTENCLR_CMP1_Msk & ((value) << RTC_MODE1_INTENCLR_CMP1_Pos))
  321. #define RTC_MODE1_INTENCLR_SYNCRDY_Pos _U_(6) /**< (RTC_MODE1_INTENCLR) Synchronization Ready Interrupt Enable Position */
  322. #define RTC_MODE1_INTENCLR_SYNCRDY_Msk (_U_(0x1) << RTC_MODE1_INTENCLR_SYNCRDY_Pos) /**< (RTC_MODE1_INTENCLR) Synchronization Ready Interrupt Enable Mask */
  323. #define RTC_MODE1_INTENCLR_SYNCRDY(value) (RTC_MODE1_INTENCLR_SYNCRDY_Msk & ((value) << RTC_MODE1_INTENCLR_SYNCRDY_Pos))
  324. #define RTC_MODE1_INTENCLR_OVF_Pos _U_(7) /**< (RTC_MODE1_INTENCLR) Overflow Interrupt Enable Position */
  325. #define RTC_MODE1_INTENCLR_OVF_Msk (_U_(0x1) << RTC_MODE1_INTENCLR_OVF_Pos) /**< (RTC_MODE1_INTENCLR) Overflow Interrupt Enable Mask */
  326. #define RTC_MODE1_INTENCLR_OVF(value) (RTC_MODE1_INTENCLR_OVF_Msk & ((value) << RTC_MODE1_INTENCLR_OVF_Pos))
  327. #define RTC_MODE1_INTENCLR_Msk _U_(0xC3) /**< (RTC_MODE1_INTENCLR) Register Mask */
  328. #define RTC_MODE1_INTENCLR_CMP_Pos _U_(0) /**< (RTC_MODE1_INTENCLR Position) Compare x Interrupt Enable */
  329. #define RTC_MODE1_INTENCLR_CMP_Msk (_U_(0x3) << RTC_MODE1_INTENCLR_CMP_Pos) /**< (RTC_MODE1_INTENCLR Mask) CMP */
  330. #define RTC_MODE1_INTENCLR_CMP(value) (RTC_MODE1_INTENCLR_CMP_Msk & ((value) << RTC_MODE1_INTENCLR_CMP_Pos))
  331. /* -------- RTC_MODE2_INTENCLR : (RTC Offset: 0x06) (R/W 8) MODE2 Interrupt Enable Clear -------- */
  332. #define RTC_MODE2_INTENCLR_RESETVALUE _U_(0x00) /**< (RTC_MODE2_INTENCLR) MODE2 Interrupt Enable Clear Reset Value */
  333. #define RTC_MODE2_INTENCLR_ALARM0_Pos _U_(0) /**< (RTC_MODE2_INTENCLR) Alarm 0 Interrupt Enable Position */
  334. #define RTC_MODE2_INTENCLR_ALARM0_Msk (_U_(0x1) << RTC_MODE2_INTENCLR_ALARM0_Pos) /**< (RTC_MODE2_INTENCLR) Alarm 0 Interrupt Enable Mask */
  335. #define RTC_MODE2_INTENCLR_ALARM0(value) (RTC_MODE2_INTENCLR_ALARM0_Msk & ((value) << RTC_MODE2_INTENCLR_ALARM0_Pos))
  336. #define RTC_MODE2_INTENCLR_SYNCRDY_Pos _U_(6) /**< (RTC_MODE2_INTENCLR) Synchronization Ready Interrupt Enable Position */
  337. #define RTC_MODE2_INTENCLR_SYNCRDY_Msk (_U_(0x1) << RTC_MODE2_INTENCLR_SYNCRDY_Pos) /**< (RTC_MODE2_INTENCLR) Synchronization Ready Interrupt Enable Mask */
  338. #define RTC_MODE2_INTENCLR_SYNCRDY(value) (RTC_MODE2_INTENCLR_SYNCRDY_Msk & ((value) << RTC_MODE2_INTENCLR_SYNCRDY_Pos))
  339. #define RTC_MODE2_INTENCLR_OVF_Pos _U_(7) /**< (RTC_MODE2_INTENCLR) Overflow Interrupt Enable Position */
  340. #define RTC_MODE2_INTENCLR_OVF_Msk (_U_(0x1) << RTC_MODE2_INTENCLR_OVF_Pos) /**< (RTC_MODE2_INTENCLR) Overflow Interrupt Enable Mask */
  341. #define RTC_MODE2_INTENCLR_OVF(value) (RTC_MODE2_INTENCLR_OVF_Msk & ((value) << RTC_MODE2_INTENCLR_OVF_Pos))
  342. #define RTC_MODE2_INTENCLR_Msk _U_(0xC1) /**< (RTC_MODE2_INTENCLR) Register Mask */
  343. #define RTC_MODE2_INTENCLR_ALARM_Pos _U_(0) /**< (RTC_MODE2_INTENCLR Position) Alarm x Interrupt Enable */
  344. #define RTC_MODE2_INTENCLR_ALARM_Msk (_U_(0x1) << RTC_MODE2_INTENCLR_ALARM_Pos) /**< (RTC_MODE2_INTENCLR Mask) ALARM */
  345. #define RTC_MODE2_INTENCLR_ALARM(value) (RTC_MODE2_INTENCLR_ALARM_Msk & ((value) << RTC_MODE2_INTENCLR_ALARM_Pos))
  346. /* -------- RTC_MODE0_INTENSET : (RTC Offset: 0x07) (R/W 8) MODE0 Interrupt Enable Set -------- */
  347. #define RTC_MODE0_INTENSET_RESETVALUE _U_(0x00) /**< (RTC_MODE0_INTENSET) MODE0 Interrupt Enable Set Reset Value */
  348. #define RTC_MODE0_INTENSET_CMP0_Pos _U_(0) /**< (RTC_MODE0_INTENSET) Compare 0 Interrupt Enable Position */
  349. #define RTC_MODE0_INTENSET_CMP0_Msk (_U_(0x1) << RTC_MODE0_INTENSET_CMP0_Pos) /**< (RTC_MODE0_INTENSET) Compare 0 Interrupt Enable Mask */
  350. #define RTC_MODE0_INTENSET_CMP0(value) (RTC_MODE0_INTENSET_CMP0_Msk & ((value) << RTC_MODE0_INTENSET_CMP0_Pos))
  351. #define RTC_MODE0_INTENSET_SYNCRDY_Pos _U_(6) /**< (RTC_MODE0_INTENSET) Synchronization Ready Interrupt Enable Position */
  352. #define RTC_MODE0_INTENSET_SYNCRDY_Msk (_U_(0x1) << RTC_MODE0_INTENSET_SYNCRDY_Pos) /**< (RTC_MODE0_INTENSET) Synchronization Ready Interrupt Enable Mask */
  353. #define RTC_MODE0_INTENSET_SYNCRDY(value) (RTC_MODE0_INTENSET_SYNCRDY_Msk & ((value) << RTC_MODE0_INTENSET_SYNCRDY_Pos))
  354. #define RTC_MODE0_INTENSET_OVF_Pos _U_(7) /**< (RTC_MODE0_INTENSET) Overflow Interrupt Enable Position */
  355. #define RTC_MODE0_INTENSET_OVF_Msk (_U_(0x1) << RTC_MODE0_INTENSET_OVF_Pos) /**< (RTC_MODE0_INTENSET) Overflow Interrupt Enable Mask */
  356. #define RTC_MODE0_INTENSET_OVF(value) (RTC_MODE0_INTENSET_OVF_Msk & ((value) << RTC_MODE0_INTENSET_OVF_Pos))
  357. #define RTC_MODE0_INTENSET_Msk _U_(0xC1) /**< (RTC_MODE0_INTENSET) Register Mask */
  358. #define RTC_MODE0_INTENSET_CMP_Pos _U_(0) /**< (RTC_MODE0_INTENSET Position) Compare x Interrupt Enable */
  359. #define RTC_MODE0_INTENSET_CMP_Msk (_U_(0x1) << RTC_MODE0_INTENSET_CMP_Pos) /**< (RTC_MODE0_INTENSET Mask) CMP */
  360. #define RTC_MODE0_INTENSET_CMP(value) (RTC_MODE0_INTENSET_CMP_Msk & ((value) << RTC_MODE0_INTENSET_CMP_Pos))
  361. /* -------- RTC_MODE1_INTENSET : (RTC Offset: 0x07) (R/W 8) MODE1 Interrupt Enable Set -------- */
  362. #define RTC_MODE1_INTENSET_RESETVALUE _U_(0x00) /**< (RTC_MODE1_INTENSET) MODE1 Interrupt Enable Set Reset Value */
  363. #define RTC_MODE1_INTENSET_CMP0_Pos _U_(0) /**< (RTC_MODE1_INTENSET) Compare 0 Interrupt Enable Position */
  364. #define RTC_MODE1_INTENSET_CMP0_Msk (_U_(0x1) << RTC_MODE1_INTENSET_CMP0_Pos) /**< (RTC_MODE1_INTENSET) Compare 0 Interrupt Enable Mask */
  365. #define RTC_MODE1_INTENSET_CMP0(value) (RTC_MODE1_INTENSET_CMP0_Msk & ((value) << RTC_MODE1_INTENSET_CMP0_Pos))
  366. #define RTC_MODE1_INTENSET_CMP1_Pos _U_(1) /**< (RTC_MODE1_INTENSET) Compare 1 Interrupt Enable Position */
  367. #define RTC_MODE1_INTENSET_CMP1_Msk (_U_(0x1) << RTC_MODE1_INTENSET_CMP1_Pos) /**< (RTC_MODE1_INTENSET) Compare 1 Interrupt Enable Mask */
  368. #define RTC_MODE1_INTENSET_CMP1(value) (RTC_MODE1_INTENSET_CMP1_Msk & ((value) << RTC_MODE1_INTENSET_CMP1_Pos))
  369. #define RTC_MODE1_INTENSET_SYNCRDY_Pos _U_(6) /**< (RTC_MODE1_INTENSET) Synchronization Ready Interrupt Enable Position */
  370. #define RTC_MODE1_INTENSET_SYNCRDY_Msk (_U_(0x1) << RTC_MODE1_INTENSET_SYNCRDY_Pos) /**< (RTC_MODE1_INTENSET) Synchronization Ready Interrupt Enable Mask */
  371. #define RTC_MODE1_INTENSET_SYNCRDY(value) (RTC_MODE1_INTENSET_SYNCRDY_Msk & ((value) << RTC_MODE1_INTENSET_SYNCRDY_Pos))
  372. #define RTC_MODE1_INTENSET_OVF_Pos _U_(7) /**< (RTC_MODE1_INTENSET) Overflow Interrupt Enable Position */
  373. #define RTC_MODE1_INTENSET_OVF_Msk (_U_(0x1) << RTC_MODE1_INTENSET_OVF_Pos) /**< (RTC_MODE1_INTENSET) Overflow Interrupt Enable Mask */
  374. #define RTC_MODE1_INTENSET_OVF(value) (RTC_MODE1_INTENSET_OVF_Msk & ((value) << RTC_MODE1_INTENSET_OVF_Pos))
  375. #define RTC_MODE1_INTENSET_Msk _U_(0xC3) /**< (RTC_MODE1_INTENSET) Register Mask */
  376. #define RTC_MODE1_INTENSET_CMP_Pos _U_(0) /**< (RTC_MODE1_INTENSET Position) Compare x Interrupt Enable */
  377. #define RTC_MODE1_INTENSET_CMP_Msk (_U_(0x3) << RTC_MODE1_INTENSET_CMP_Pos) /**< (RTC_MODE1_INTENSET Mask) CMP */
  378. #define RTC_MODE1_INTENSET_CMP(value) (RTC_MODE1_INTENSET_CMP_Msk & ((value) << RTC_MODE1_INTENSET_CMP_Pos))
  379. /* -------- RTC_MODE2_INTENSET : (RTC Offset: 0x07) (R/W 8) MODE2 Interrupt Enable Set -------- */
  380. #define RTC_MODE2_INTENSET_RESETVALUE _U_(0x00) /**< (RTC_MODE2_INTENSET) MODE2 Interrupt Enable Set Reset Value */
  381. #define RTC_MODE2_INTENSET_ALARM0_Pos _U_(0) /**< (RTC_MODE2_INTENSET) Alarm 0 Interrupt Enable Position */
  382. #define RTC_MODE2_INTENSET_ALARM0_Msk (_U_(0x1) << RTC_MODE2_INTENSET_ALARM0_Pos) /**< (RTC_MODE2_INTENSET) Alarm 0 Interrupt Enable Mask */
  383. #define RTC_MODE2_INTENSET_ALARM0(value) (RTC_MODE2_INTENSET_ALARM0_Msk & ((value) << RTC_MODE2_INTENSET_ALARM0_Pos))
  384. #define RTC_MODE2_INTENSET_SYNCRDY_Pos _U_(6) /**< (RTC_MODE2_INTENSET) Synchronization Ready Interrupt Enable Position */
  385. #define RTC_MODE2_INTENSET_SYNCRDY_Msk (_U_(0x1) << RTC_MODE2_INTENSET_SYNCRDY_Pos) /**< (RTC_MODE2_INTENSET) Synchronization Ready Interrupt Enable Mask */
  386. #define RTC_MODE2_INTENSET_SYNCRDY(value) (RTC_MODE2_INTENSET_SYNCRDY_Msk & ((value) << RTC_MODE2_INTENSET_SYNCRDY_Pos))
  387. #define RTC_MODE2_INTENSET_OVF_Pos _U_(7) /**< (RTC_MODE2_INTENSET) Overflow Interrupt Enable Position */
  388. #define RTC_MODE2_INTENSET_OVF_Msk (_U_(0x1) << RTC_MODE2_INTENSET_OVF_Pos) /**< (RTC_MODE2_INTENSET) Overflow Interrupt Enable Mask */
  389. #define RTC_MODE2_INTENSET_OVF(value) (RTC_MODE2_INTENSET_OVF_Msk & ((value) << RTC_MODE2_INTENSET_OVF_Pos))
  390. #define RTC_MODE2_INTENSET_Msk _U_(0xC1) /**< (RTC_MODE2_INTENSET) Register Mask */
  391. #define RTC_MODE2_INTENSET_ALARM_Pos _U_(0) /**< (RTC_MODE2_INTENSET Position) Alarm x Interrupt Enable */
  392. #define RTC_MODE2_INTENSET_ALARM_Msk (_U_(0x1) << RTC_MODE2_INTENSET_ALARM_Pos) /**< (RTC_MODE2_INTENSET Mask) ALARM */
  393. #define RTC_MODE2_INTENSET_ALARM(value) (RTC_MODE2_INTENSET_ALARM_Msk & ((value) << RTC_MODE2_INTENSET_ALARM_Pos))
  394. /* -------- RTC_MODE0_INTFLAG : (RTC Offset: 0x08) (R/W 8) MODE0 Interrupt Flag Status and Clear -------- */
  395. #define RTC_MODE0_INTFLAG_RESETVALUE _U_(0x00) /**< (RTC_MODE0_INTFLAG) MODE0 Interrupt Flag Status and Clear Reset Value */
  396. #define RTC_MODE0_INTFLAG_CMP0_Pos _U_(0) /**< (RTC_MODE0_INTFLAG) Compare 0 Position */
  397. #define RTC_MODE0_INTFLAG_CMP0_Msk (_U_(0x1) << RTC_MODE0_INTFLAG_CMP0_Pos) /**< (RTC_MODE0_INTFLAG) Compare 0 Mask */
  398. #define RTC_MODE0_INTFLAG_CMP0(value) (RTC_MODE0_INTFLAG_CMP0_Msk & ((value) << RTC_MODE0_INTFLAG_CMP0_Pos))
  399. #define RTC_MODE0_INTFLAG_SYNCRDY_Pos _U_(6) /**< (RTC_MODE0_INTFLAG) Synchronization Ready Position */
  400. #define RTC_MODE0_INTFLAG_SYNCRDY_Msk (_U_(0x1) << RTC_MODE0_INTFLAG_SYNCRDY_Pos) /**< (RTC_MODE0_INTFLAG) Synchronization Ready Mask */
  401. #define RTC_MODE0_INTFLAG_SYNCRDY(value) (RTC_MODE0_INTFLAG_SYNCRDY_Msk & ((value) << RTC_MODE0_INTFLAG_SYNCRDY_Pos))
  402. #define RTC_MODE0_INTFLAG_OVF_Pos _U_(7) /**< (RTC_MODE0_INTFLAG) Overflow Position */
  403. #define RTC_MODE0_INTFLAG_OVF_Msk (_U_(0x1) << RTC_MODE0_INTFLAG_OVF_Pos) /**< (RTC_MODE0_INTFLAG) Overflow Mask */
  404. #define RTC_MODE0_INTFLAG_OVF(value) (RTC_MODE0_INTFLAG_OVF_Msk & ((value) << RTC_MODE0_INTFLAG_OVF_Pos))
  405. #define RTC_MODE0_INTFLAG_Msk _U_(0xC1) /**< (RTC_MODE0_INTFLAG) Register Mask */
  406. #define RTC_MODE0_INTFLAG_CMP_Pos _U_(0) /**< (RTC_MODE0_INTFLAG Position) Compare x */
  407. #define RTC_MODE0_INTFLAG_CMP_Msk (_U_(0x1) << RTC_MODE0_INTFLAG_CMP_Pos) /**< (RTC_MODE0_INTFLAG Mask) CMP */
  408. #define RTC_MODE0_INTFLAG_CMP(value) (RTC_MODE0_INTFLAG_CMP_Msk & ((value) << RTC_MODE0_INTFLAG_CMP_Pos))
  409. /* -------- RTC_MODE1_INTFLAG : (RTC Offset: 0x08) (R/W 8) MODE1 Interrupt Flag Status and Clear -------- */
  410. #define RTC_MODE1_INTFLAG_RESETVALUE _U_(0x00) /**< (RTC_MODE1_INTFLAG) MODE1 Interrupt Flag Status and Clear Reset Value */
  411. #define RTC_MODE1_INTFLAG_CMP0_Pos _U_(0) /**< (RTC_MODE1_INTFLAG) Compare 0 Position */
  412. #define RTC_MODE1_INTFLAG_CMP0_Msk (_U_(0x1) << RTC_MODE1_INTFLAG_CMP0_Pos) /**< (RTC_MODE1_INTFLAG) Compare 0 Mask */
  413. #define RTC_MODE1_INTFLAG_CMP0(value) (RTC_MODE1_INTFLAG_CMP0_Msk & ((value) << RTC_MODE1_INTFLAG_CMP0_Pos))
  414. #define RTC_MODE1_INTFLAG_CMP1_Pos _U_(1) /**< (RTC_MODE1_INTFLAG) Compare 1 Position */
  415. #define RTC_MODE1_INTFLAG_CMP1_Msk (_U_(0x1) << RTC_MODE1_INTFLAG_CMP1_Pos) /**< (RTC_MODE1_INTFLAG) Compare 1 Mask */
  416. #define RTC_MODE1_INTFLAG_CMP1(value) (RTC_MODE1_INTFLAG_CMP1_Msk & ((value) << RTC_MODE1_INTFLAG_CMP1_Pos))
  417. #define RTC_MODE1_INTFLAG_SYNCRDY_Pos _U_(6) /**< (RTC_MODE1_INTFLAG) Synchronization Ready Position */
  418. #define RTC_MODE1_INTFLAG_SYNCRDY_Msk (_U_(0x1) << RTC_MODE1_INTFLAG_SYNCRDY_Pos) /**< (RTC_MODE1_INTFLAG) Synchronization Ready Mask */
  419. #define RTC_MODE1_INTFLAG_SYNCRDY(value) (RTC_MODE1_INTFLAG_SYNCRDY_Msk & ((value) << RTC_MODE1_INTFLAG_SYNCRDY_Pos))
  420. #define RTC_MODE1_INTFLAG_OVF_Pos _U_(7) /**< (RTC_MODE1_INTFLAG) Overflow Position */
  421. #define RTC_MODE1_INTFLAG_OVF_Msk (_U_(0x1) << RTC_MODE1_INTFLAG_OVF_Pos) /**< (RTC_MODE1_INTFLAG) Overflow Mask */
  422. #define RTC_MODE1_INTFLAG_OVF(value) (RTC_MODE1_INTFLAG_OVF_Msk & ((value) << RTC_MODE1_INTFLAG_OVF_Pos))
  423. #define RTC_MODE1_INTFLAG_Msk _U_(0xC3) /**< (RTC_MODE1_INTFLAG) Register Mask */
  424. #define RTC_MODE1_INTFLAG_CMP_Pos _U_(0) /**< (RTC_MODE1_INTFLAG Position) Compare x */
  425. #define RTC_MODE1_INTFLAG_CMP_Msk (_U_(0x3) << RTC_MODE1_INTFLAG_CMP_Pos) /**< (RTC_MODE1_INTFLAG Mask) CMP */
  426. #define RTC_MODE1_INTFLAG_CMP(value) (RTC_MODE1_INTFLAG_CMP_Msk & ((value) << RTC_MODE1_INTFLAG_CMP_Pos))
  427. /* -------- RTC_MODE2_INTFLAG : (RTC Offset: 0x08) (R/W 8) MODE2 Interrupt Flag Status and Clear -------- */
  428. #define RTC_MODE2_INTFLAG_RESETVALUE _U_(0x00) /**< (RTC_MODE2_INTFLAG) MODE2 Interrupt Flag Status and Clear Reset Value */
  429. #define RTC_MODE2_INTFLAG_ALARM0_Pos _U_(0) /**< (RTC_MODE2_INTFLAG) Alarm 0 Position */
  430. #define RTC_MODE2_INTFLAG_ALARM0_Msk (_U_(0x1) << RTC_MODE2_INTFLAG_ALARM0_Pos) /**< (RTC_MODE2_INTFLAG) Alarm 0 Mask */
  431. #define RTC_MODE2_INTFLAG_ALARM0(value) (RTC_MODE2_INTFLAG_ALARM0_Msk & ((value) << RTC_MODE2_INTFLAG_ALARM0_Pos))
  432. #define RTC_MODE2_INTFLAG_SYNCRDY_Pos _U_(6) /**< (RTC_MODE2_INTFLAG) Synchronization Ready Position */
  433. #define RTC_MODE2_INTFLAG_SYNCRDY_Msk (_U_(0x1) << RTC_MODE2_INTFLAG_SYNCRDY_Pos) /**< (RTC_MODE2_INTFLAG) Synchronization Ready Mask */
  434. #define RTC_MODE2_INTFLAG_SYNCRDY(value) (RTC_MODE2_INTFLAG_SYNCRDY_Msk & ((value) << RTC_MODE2_INTFLAG_SYNCRDY_Pos))
  435. #define RTC_MODE2_INTFLAG_OVF_Pos _U_(7) /**< (RTC_MODE2_INTFLAG) Overflow Position */
  436. #define RTC_MODE2_INTFLAG_OVF_Msk (_U_(0x1) << RTC_MODE2_INTFLAG_OVF_Pos) /**< (RTC_MODE2_INTFLAG) Overflow Mask */
  437. #define RTC_MODE2_INTFLAG_OVF(value) (RTC_MODE2_INTFLAG_OVF_Msk & ((value) << RTC_MODE2_INTFLAG_OVF_Pos))
  438. #define RTC_MODE2_INTFLAG_Msk _U_(0xC1) /**< (RTC_MODE2_INTFLAG) Register Mask */
  439. #define RTC_MODE2_INTFLAG_ALARM_Pos _U_(0) /**< (RTC_MODE2_INTFLAG Position) Alarm x */
  440. #define RTC_MODE2_INTFLAG_ALARM_Msk (_U_(0x1) << RTC_MODE2_INTFLAG_ALARM_Pos) /**< (RTC_MODE2_INTFLAG Mask) ALARM */
  441. #define RTC_MODE2_INTFLAG_ALARM(value) (RTC_MODE2_INTFLAG_ALARM_Msk & ((value) << RTC_MODE2_INTFLAG_ALARM_Pos))
  442. /* -------- RTC_STATUS : (RTC Offset: 0x0A) (R/W 8) Status -------- */
  443. #define RTC_STATUS_RESETVALUE _U_(0x00) /**< (RTC_STATUS) Status Reset Value */
  444. #define RTC_STATUS_SYNCBUSY_Pos _U_(7) /**< (RTC_STATUS) Synchronization Busy Position */
  445. #define RTC_STATUS_SYNCBUSY_Msk (_U_(0x1) << RTC_STATUS_SYNCBUSY_Pos) /**< (RTC_STATUS) Synchronization Busy Mask */
  446. #define RTC_STATUS_SYNCBUSY(value) (RTC_STATUS_SYNCBUSY_Msk & ((value) << RTC_STATUS_SYNCBUSY_Pos))
  447. #define RTC_STATUS_Msk _U_(0x80) /**< (RTC_STATUS) Register Mask */
  448. /* -------- RTC_DBGCTRL : (RTC Offset: 0x0B) (R/W 8) Debug Control -------- */
  449. #define RTC_DBGCTRL_RESETVALUE _U_(0x00) /**< (RTC_DBGCTRL) Debug Control Reset Value */
  450. #define RTC_DBGCTRL_DBGRUN_Pos _U_(0) /**< (RTC_DBGCTRL) Run During Debug Position */
  451. #define RTC_DBGCTRL_DBGRUN_Msk (_U_(0x1) << RTC_DBGCTRL_DBGRUN_Pos) /**< (RTC_DBGCTRL) Run During Debug Mask */
  452. #define RTC_DBGCTRL_DBGRUN(value) (RTC_DBGCTRL_DBGRUN_Msk & ((value) << RTC_DBGCTRL_DBGRUN_Pos))
  453. #define RTC_DBGCTRL_Msk _U_(0x01) /**< (RTC_DBGCTRL) Register Mask */
  454. /* -------- RTC_FREQCORR : (RTC Offset: 0x0C) (R/W 8) Frequency Correction -------- */
  455. #define RTC_FREQCORR_RESETVALUE _U_(0x00) /**< (RTC_FREQCORR) Frequency Correction Reset Value */
  456. #define RTC_FREQCORR_VALUE_Pos _U_(0) /**< (RTC_FREQCORR) Correction Value Position */
  457. #define RTC_FREQCORR_VALUE_Msk (_U_(0x7F) << RTC_FREQCORR_VALUE_Pos) /**< (RTC_FREQCORR) Correction Value Mask */
  458. #define RTC_FREQCORR_VALUE(value) (RTC_FREQCORR_VALUE_Msk & ((value) << RTC_FREQCORR_VALUE_Pos))
  459. #define RTC_FREQCORR_SIGN_Pos _U_(7) /**< (RTC_FREQCORR) Correction Sign Position */
  460. #define RTC_FREQCORR_SIGN_Msk (_U_(0x1) << RTC_FREQCORR_SIGN_Pos) /**< (RTC_FREQCORR) Correction Sign Mask */
  461. #define RTC_FREQCORR_SIGN(value) (RTC_FREQCORR_SIGN_Msk & ((value) << RTC_FREQCORR_SIGN_Pos))
  462. #define RTC_FREQCORR_Msk _U_(0xFF) /**< (RTC_FREQCORR) Register Mask */
  463. /* -------- RTC_MODE0_COUNT : (RTC Offset: 0x10) (R/W 32) MODE0 Counter Value -------- */
  464. #define RTC_MODE0_COUNT_RESETVALUE _U_(0x00) /**< (RTC_MODE0_COUNT) MODE0 Counter Value Reset Value */
  465. #define RTC_MODE0_COUNT_COUNT_Pos _U_(0) /**< (RTC_MODE0_COUNT) Counter Value Position */
  466. #define RTC_MODE0_COUNT_COUNT_Msk (_U_(0xFFFFFFFF) << RTC_MODE0_COUNT_COUNT_Pos) /**< (RTC_MODE0_COUNT) Counter Value Mask */
  467. #define RTC_MODE0_COUNT_COUNT(value) (RTC_MODE0_COUNT_COUNT_Msk & ((value) << RTC_MODE0_COUNT_COUNT_Pos))
  468. #define RTC_MODE0_COUNT_Msk _U_(0xFFFFFFFF) /**< (RTC_MODE0_COUNT) Register Mask */
  469. /* -------- RTC_MODE1_COUNT : (RTC Offset: 0x10) (R/W 16) MODE1 Counter Value -------- */
  470. #define RTC_MODE1_COUNT_RESETVALUE _U_(0x00) /**< (RTC_MODE1_COUNT) MODE1 Counter Value Reset Value */
  471. #define RTC_MODE1_COUNT_COUNT_Pos _U_(0) /**< (RTC_MODE1_COUNT) Counter Value Position */
  472. #define RTC_MODE1_COUNT_COUNT_Msk (_U_(0xFFFF) << RTC_MODE1_COUNT_COUNT_Pos) /**< (RTC_MODE1_COUNT) Counter Value Mask */
  473. #define RTC_MODE1_COUNT_COUNT(value) (RTC_MODE1_COUNT_COUNT_Msk & ((value) << RTC_MODE1_COUNT_COUNT_Pos))
  474. #define RTC_MODE1_COUNT_Msk _U_(0xFFFF) /**< (RTC_MODE1_COUNT) Register Mask */
  475. /* -------- RTC_MODE2_CLOCK : (RTC Offset: 0x10) (R/W 32) MODE2 Clock Value -------- */
  476. #define RTC_MODE2_CLOCK_RESETVALUE _U_(0x00) /**< (RTC_MODE2_CLOCK) MODE2 Clock Value Reset Value */
  477. #define RTC_MODE2_CLOCK_SECOND_Pos _U_(0) /**< (RTC_MODE2_CLOCK) Second Position */
  478. #define RTC_MODE2_CLOCK_SECOND_Msk (_U_(0x3F) << RTC_MODE2_CLOCK_SECOND_Pos) /**< (RTC_MODE2_CLOCK) Second Mask */
  479. #define RTC_MODE2_CLOCK_SECOND(value) (RTC_MODE2_CLOCK_SECOND_Msk & ((value) << RTC_MODE2_CLOCK_SECOND_Pos))
  480. #define RTC_MODE2_CLOCK_MINUTE_Pos _U_(6) /**< (RTC_MODE2_CLOCK) Minute Position */
  481. #define RTC_MODE2_CLOCK_MINUTE_Msk (_U_(0x3F) << RTC_MODE2_CLOCK_MINUTE_Pos) /**< (RTC_MODE2_CLOCK) Minute Mask */
  482. #define RTC_MODE2_CLOCK_MINUTE(value) (RTC_MODE2_CLOCK_MINUTE_Msk & ((value) << RTC_MODE2_CLOCK_MINUTE_Pos))
  483. #define RTC_MODE2_CLOCK_HOUR_Pos _U_(12) /**< (RTC_MODE2_CLOCK) Hour Position */
  484. #define RTC_MODE2_CLOCK_HOUR_Msk (_U_(0x1F) << RTC_MODE2_CLOCK_HOUR_Pos) /**< (RTC_MODE2_CLOCK) Hour Mask */
  485. #define RTC_MODE2_CLOCK_HOUR(value) (RTC_MODE2_CLOCK_HOUR_Msk & ((value) << RTC_MODE2_CLOCK_HOUR_Pos))
  486. #define RTC_MODE2_CLOCK_HOUR_AM_Val _U_(0x0) /**< (RTC_MODE2_CLOCK) AM when CLKREP in 12-hour */
  487. #define RTC_MODE2_CLOCK_HOUR_PM_Val _U_(0x10) /**< (RTC_MODE2_CLOCK) PM when CLKREP in 12-hour */
  488. #define RTC_MODE2_CLOCK_HOUR_AM (RTC_MODE2_CLOCK_HOUR_AM_Val << RTC_MODE2_CLOCK_HOUR_Pos) /**< (RTC_MODE2_CLOCK) AM when CLKREP in 12-hour Position */
  489. #define RTC_MODE2_CLOCK_HOUR_PM (RTC_MODE2_CLOCK_HOUR_PM_Val << RTC_MODE2_CLOCK_HOUR_Pos) /**< (RTC_MODE2_CLOCK) PM when CLKREP in 12-hour Position */
  490. #define RTC_MODE2_CLOCK_DAY_Pos _U_(17) /**< (RTC_MODE2_CLOCK) Day Position */
  491. #define RTC_MODE2_CLOCK_DAY_Msk (_U_(0x1F) << RTC_MODE2_CLOCK_DAY_Pos) /**< (RTC_MODE2_CLOCK) Day Mask */
  492. #define RTC_MODE2_CLOCK_DAY(value) (RTC_MODE2_CLOCK_DAY_Msk & ((value) << RTC_MODE2_CLOCK_DAY_Pos))
  493. #define RTC_MODE2_CLOCK_MONTH_Pos _U_(22) /**< (RTC_MODE2_CLOCK) Month Position */
  494. #define RTC_MODE2_CLOCK_MONTH_Msk (_U_(0xF) << RTC_MODE2_CLOCK_MONTH_Pos) /**< (RTC_MODE2_CLOCK) Month Mask */
  495. #define RTC_MODE2_CLOCK_MONTH(value) (RTC_MODE2_CLOCK_MONTH_Msk & ((value) << RTC_MODE2_CLOCK_MONTH_Pos))
  496. #define RTC_MODE2_CLOCK_YEAR_Pos _U_(26) /**< (RTC_MODE2_CLOCK) Year Position */
  497. #define RTC_MODE2_CLOCK_YEAR_Msk (_U_(0x3F) << RTC_MODE2_CLOCK_YEAR_Pos) /**< (RTC_MODE2_CLOCK) Year Mask */
  498. #define RTC_MODE2_CLOCK_YEAR(value) (RTC_MODE2_CLOCK_YEAR_Msk & ((value) << RTC_MODE2_CLOCK_YEAR_Pos))
  499. #define RTC_MODE2_CLOCK_Msk _U_(0xFFFFFFFF) /**< (RTC_MODE2_CLOCK) Register Mask */
  500. /* -------- RTC_MODE1_PER : (RTC Offset: 0x14) (R/W 16) MODE1 Counter Period -------- */
  501. #define RTC_MODE1_PER_RESETVALUE _U_(0x00) /**< (RTC_MODE1_PER) MODE1 Counter Period Reset Value */
  502. #define RTC_MODE1_PER_PER_Pos _U_(0) /**< (RTC_MODE1_PER) Counter Period Position */
  503. #define RTC_MODE1_PER_PER_Msk (_U_(0xFFFF) << RTC_MODE1_PER_PER_Pos) /**< (RTC_MODE1_PER) Counter Period Mask */
  504. #define RTC_MODE1_PER_PER(value) (RTC_MODE1_PER_PER_Msk & ((value) << RTC_MODE1_PER_PER_Pos))
  505. #define RTC_MODE1_PER_Msk _U_(0xFFFF) /**< (RTC_MODE1_PER) Register Mask */
  506. /* -------- RTC_MODE0_COMP : (RTC Offset: 0x18) (R/W 32) MODE0 Compare n Value -------- */
  507. #define RTC_MODE0_COMP_RESETVALUE _U_(0x00) /**< (RTC_MODE0_COMP) MODE0 Compare n Value Reset Value */
  508. #define RTC_MODE0_COMP_COMP_Pos _U_(0) /**< (RTC_MODE0_COMP) Compare Value Position */
  509. #define RTC_MODE0_COMP_COMP_Msk (_U_(0xFFFFFFFF) << RTC_MODE0_COMP_COMP_Pos) /**< (RTC_MODE0_COMP) Compare Value Mask */
  510. #define RTC_MODE0_COMP_COMP(value) (RTC_MODE0_COMP_COMP_Msk & ((value) << RTC_MODE0_COMP_COMP_Pos))
  511. #define RTC_MODE0_COMP_Msk _U_(0xFFFFFFFF) /**< (RTC_MODE0_COMP) Register Mask */
  512. /* -------- RTC_MODE1_COMP : (RTC Offset: 0x18) (R/W 16) MODE1 Compare n Value -------- */
  513. #define RTC_MODE1_COMP_RESETVALUE _U_(0x00) /**< (RTC_MODE1_COMP) MODE1 Compare n Value Reset Value */
  514. #define RTC_MODE1_COMP_COMP_Pos _U_(0) /**< (RTC_MODE1_COMP) Compare Value Position */
  515. #define RTC_MODE1_COMP_COMP_Msk (_U_(0xFFFF) << RTC_MODE1_COMP_COMP_Pos) /**< (RTC_MODE1_COMP) Compare Value Mask */
  516. #define RTC_MODE1_COMP_COMP(value) (RTC_MODE1_COMP_COMP_Msk & ((value) << RTC_MODE1_COMP_COMP_Pos))
  517. #define RTC_MODE1_COMP_Msk _U_(0xFFFF) /**< (RTC_MODE1_COMP) Register Mask */
  518. /* -------- RTC_MODE2_ALARM : (RTC Offset: 0x18) (R/W 32) MODE2_ALARM Alarm n Value -------- */
  519. #define RTC_MODE2_ALARM_RESETVALUE _U_(0x00) /**< (RTC_MODE2_ALARM) MODE2_ALARM Alarm n Value Reset Value */
  520. #define RTC_MODE2_ALARM_SECOND_Pos _U_(0) /**< (RTC_MODE2_ALARM) Second Position */
  521. #define RTC_MODE2_ALARM_SECOND_Msk (_U_(0x3F) << RTC_MODE2_ALARM_SECOND_Pos) /**< (RTC_MODE2_ALARM) Second Mask */
  522. #define RTC_MODE2_ALARM_SECOND(value) (RTC_MODE2_ALARM_SECOND_Msk & ((value) << RTC_MODE2_ALARM_SECOND_Pos))
  523. #define RTC_MODE2_ALARM_MINUTE_Pos _U_(6) /**< (RTC_MODE2_ALARM) Minute Position */
  524. #define RTC_MODE2_ALARM_MINUTE_Msk (_U_(0x3F) << RTC_MODE2_ALARM_MINUTE_Pos) /**< (RTC_MODE2_ALARM) Minute Mask */
  525. #define RTC_MODE2_ALARM_MINUTE(value) (RTC_MODE2_ALARM_MINUTE_Msk & ((value) << RTC_MODE2_ALARM_MINUTE_Pos))
  526. #define RTC_MODE2_ALARM_HOUR_Pos _U_(12) /**< (RTC_MODE2_ALARM) Hour Position */
  527. #define RTC_MODE2_ALARM_HOUR_Msk (_U_(0x1F) << RTC_MODE2_ALARM_HOUR_Pos) /**< (RTC_MODE2_ALARM) Hour Mask */
  528. #define RTC_MODE2_ALARM_HOUR(value) (RTC_MODE2_ALARM_HOUR_Msk & ((value) << RTC_MODE2_ALARM_HOUR_Pos))
  529. #define RTC_MODE2_ALARM_HOUR_AM_Val _U_(0x0) /**< (RTC_MODE2_ALARM) Morning hour */
  530. #define RTC_MODE2_ALARM_HOUR_PM_Val _U_(0x10) /**< (RTC_MODE2_ALARM) Afternoon hour */
  531. #define RTC_MODE2_ALARM_HOUR_AM (RTC_MODE2_ALARM_HOUR_AM_Val << RTC_MODE2_ALARM_HOUR_Pos) /**< (RTC_MODE2_ALARM) Morning hour Position */
  532. #define RTC_MODE2_ALARM_HOUR_PM (RTC_MODE2_ALARM_HOUR_PM_Val << RTC_MODE2_ALARM_HOUR_Pos) /**< (RTC_MODE2_ALARM) Afternoon hour Position */
  533. #define RTC_MODE2_ALARM_DAY_Pos _U_(17) /**< (RTC_MODE2_ALARM) Day Position */
  534. #define RTC_MODE2_ALARM_DAY_Msk (_U_(0x1F) << RTC_MODE2_ALARM_DAY_Pos) /**< (RTC_MODE2_ALARM) Day Mask */
  535. #define RTC_MODE2_ALARM_DAY(value) (RTC_MODE2_ALARM_DAY_Msk & ((value) << RTC_MODE2_ALARM_DAY_Pos))
  536. #define RTC_MODE2_ALARM_MONTH_Pos _U_(22) /**< (RTC_MODE2_ALARM) Month Position */
  537. #define RTC_MODE2_ALARM_MONTH_Msk (_U_(0xF) << RTC_MODE2_ALARM_MONTH_Pos) /**< (RTC_MODE2_ALARM) Month Mask */
  538. #define RTC_MODE2_ALARM_MONTH(value) (RTC_MODE2_ALARM_MONTH_Msk & ((value) << RTC_MODE2_ALARM_MONTH_Pos))
  539. #define RTC_MODE2_ALARM_YEAR_Pos _U_(26) /**< (RTC_MODE2_ALARM) Year Position */
  540. #define RTC_MODE2_ALARM_YEAR_Msk (_U_(0x3F) << RTC_MODE2_ALARM_YEAR_Pos) /**< (RTC_MODE2_ALARM) Year Mask */
  541. #define RTC_MODE2_ALARM_YEAR(value) (RTC_MODE2_ALARM_YEAR_Msk & ((value) << RTC_MODE2_ALARM_YEAR_Pos))
  542. #define RTC_MODE2_ALARM_Msk _U_(0xFFFFFFFF) /**< (RTC_MODE2_ALARM) Register Mask */
  543. /* -------- RTC_MODE2_MASK : (RTC Offset: 0x1C) (R/W 8) MODE2_ALARM Alarm n Mask -------- */
  544. #define RTC_MODE2_MASK_RESETVALUE _U_(0x00) /**< (RTC_MODE2_MASK) MODE2_ALARM Alarm n Mask Reset Value */
  545. #define RTC_MODE2_MASK_SEL_Pos _U_(0) /**< (RTC_MODE2_MASK) Alarm Mask Selection Position */
  546. #define RTC_MODE2_MASK_SEL_Msk (_U_(0x7) << RTC_MODE2_MASK_SEL_Pos) /**< (RTC_MODE2_MASK) Alarm Mask Selection Mask */
  547. #define RTC_MODE2_MASK_SEL(value) (RTC_MODE2_MASK_SEL_Msk & ((value) << RTC_MODE2_MASK_SEL_Pos))
  548. #define RTC_MODE2_MASK_SEL_OFF_Val _U_(0x0) /**< (RTC_MODE2_MASK) Alarm Disabled */
  549. #define RTC_MODE2_MASK_SEL_SS_Val _U_(0x1) /**< (RTC_MODE2_MASK) Match seconds only */
  550. #define RTC_MODE2_MASK_SEL_MMSS_Val _U_(0x2) /**< (RTC_MODE2_MASK) Match seconds and minutes only */
  551. #define RTC_MODE2_MASK_SEL_HHMMSS_Val _U_(0x3) /**< (RTC_MODE2_MASK) Match seconds, minutes, and hours only */
  552. #define RTC_MODE2_MASK_SEL_DDHHMMSS_Val _U_(0x4) /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, and days only */
  553. #define RTC_MODE2_MASK_SEL_MMDDHHMMSS_Val _U_(0x5) /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, and months only */
  554. #define RTC_MODE2_MASK_SEL_YYMMDDHHMMSS_Val _U_(0x6) /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, months, and years */
  555. #define RTC_MODE2_MASK_SEL_OFF (RTC_MODE2_MASK_SEL_OFF_Val << RTC_MODE2_MASK_SEL_Pos) /**< (RTC_MODE2_MASK) Alarm Disabled Position */
  556. #define RTC_MODE2_MASK_SEL_SS (RTC_MODE2_MASK_SEL_SS_Val << RTC_MODE2_MASK_SEL_Pos) /**< (RTC_MODE2_MASK) Match seconds only Position */
  557. #define RTC_MODE2_MASK_SEL_MMSS (RTC_MODE2_MASK_SEL_MMSS_Val << RTC_MODE2_MASK_SEL_Pos) /**< (RTC_MODE2_MASK) Match seconds and minutes only Position */
  558. #define RTC_MODE2_MASK_SEL_HHMMSS (RTC_MODE2_MASK_SEL_HHMMSS_Val << RTC_MODE2_MASK_SEL_Pos) /**< (RTC_MODE2_MASK) Match seconds, minutes, and hours only Position */
  559. #define RTC_MODE2_MASK_SEL_DDHHMMSS (RTC_MODE2_MASK_SEL_DDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos) /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, and days only Position */
  560. #define RTC_MODE2_MASK_SEL_MMDDHHMMSS (RTC_MODE2_MASK_SEL_MMDDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos) /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, and months only Position */
  561. #define RTC_MODE2_MASK_SEL_YYMMDDHHMMSS (RTC_MODE2_MASK_SEL_YYMMDDHHMMSS_Val << RTC_MODE2_MASK_SEL_Pos) /**< (RTC_MODE2_MASK) Match seconds, minutes, hours, days, months, and years Position */
  562. #define RTC_MODE2_MASK_Msk _U_(0x07) /**< (RTC_MODE2_MASK) Register Mask */
  563. /** \brief RTC register offsets definitions */
  564. #define RTC_MODE0_CTRL_REG_OFST (0x00) /**< (RTC_MODE0_CTRL) MODE0 Control Offset */
  565. #define RTC_MODE1_CTRL_REG_OFST (0x00) /**< (RTC_MODE1_CTRL) MODE1 Control Offset */
  566. #define RTC_MODE2_CTRL_REG_OFST (0x00) /**< (RTC_MODE2_CTRL) MODE2 Control Offset */
  567. #define RTC_READREQ_REG_OFST (0x02) /**< (RTC_READREQ) Read Request Offset */
  568. #define RTC_MODE0_EVCTRL_REG_OFST (0x04) /**< (RTC_MODE0_EVCTRL) MODE0 Event Control Offset */
  569. #define RTC_MODE1_EVCTRL_REG_OFST (0x04) /**< (RTC_MODE1_EVCTRL) MODE1 Event Control Offset */
  570. #define RTC_MODE2_EVCTRL_REG_OFST (0x04) /**< (RTC_MODE2_EVCTRL) MODE2 Event Control Offset */
  571. #define RTC_MODE0_INTENCLR_REG_OFST (0x06) /**< (RTC_MODE0_INTENCLR) MODE0 Interrupt Enable Clear Offset */
  572. #define RTC_MODE1_INTENCLR_REG_OFST (0x06) /**< (RTC_MODE1_INTENCLR) MODE1 Interrupt Enable Clear Offset */
  573. #define RTC_MODE2_INTENCLR_REG_OFST (0x06) /**< (RTC_MODE2_INTENCLR) MODE2 Interrupt Enable Clear Offset */
  574. #define RTC_MODE0_INTENSET_REG_OFST (0x07) /**< (RTC_MODE0_INTENSET) MODE0 Interrupt Enable Set Offset */
  575. #define RTC_MODE1_INTENSET_REG_OFST (0x07) /**< (RTC_MODE1_INTENSET) MODE1 Interrupt Enable Set Offset */
  576. #define RTC_MODE2_INTENSET_REG_OFST (0x07) /**< (RTC_MODE2_INTENSET) MODE2 Interrupt Enable Set Offset */
  577. #define RTC_MODE0_INTFLAG_REG_OFST (0x08) /**< (RTC_MODE0_INTFLAG) MODE0 Interrupt Flag Status and Clear Offset */
  578. #define RTC_MODE1_INTFLAG_REG_OFST (0x08) /**< (RTC_MODE1_INTFLAG) MODE1 Interrupt Flag Status and Clear Offset */
  579. #define RTC_MODE2_INTFLAG_REG_OFST (0x08) /**< (RTC_MODE2_INTFLAG) MODE2 Interrupt Flag Status and Clear Offset */
  580. #define RTC_STATUS_REG_OFST (0x0A) /**< (RTC_STATUS) Status Offset */
  581. #define RTC_DBGCTRL_REG_OFST (0x0B) /**< (RTC_DBGCTRL) Debug Control Offset */
  582. #define RTC_FREQCORR_REG_OFST (0x0C) /**< (RTC_FREQCORR) Frequency Correction Offset */
  583. #define RTC_MODE0_COUNT_REG_OFST (0x10) /**< (RTC_MODE0_COUNT) MODE0 Counter Value Offset */
  584. #define RTC_MODE1_COUNT_REG_OFST (0x10) /**< (RTC_MODE1_COUNT) MODE1 Counter Value Offset */
  585. #define RTC_MODE2_CLOCK_REG_OFST (0x10) /**< (RTC_MODE2_CLOCK) MODE2 Clock Value Offset */
  586. #define RTC_MODE1_PER_REG_OFST (0x14) /**< (RTC_MODE1_PER) MODE1 Counter Period Offset */
  587. #define RTC_MODE0_COMP_REG_OFST (0x18) /**< (RTC_MODE0_COMP) MODE0 Compare n Value Offset */
  588. #define RTC_MODE1_COMP_REG_OFST (0x18) /**< (RTC_MODE1_COMP) MODE1 Compare n Value Offset */
  589. #define RTC_MODE1_COMP0_REG_OFST (0x18) /**< (RTC_MODE1_COMP0) MODE1 Compare n Value Offset */
  590. #define RTC_MODE1_COMP1_REG_OFST (0x1A) /**< (RTC_MODE1_COMP1) MODE1 Compare n Value Offset */
  591. #define RTC_MODE2_ALARM_REG_OFST (0x18) /**< (RTC_MODE2_ALARM) MODE2_ALARM Alarm n Value Offset */
  592. #define RTC_MODE2_MASK_REG_OFST (0x1C) /**< (RTC_MODE2_MASK) MODE2_ALARM Alarm n Mask Offset */
  593. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  594. /** \brief RTC register API structure */
  595. typedef struct
  596. { /* Real-Time Counter */
  597. __IO uint16_t RTC_CTRL; /**< Offset: 0x00 (R/W 16) MODE0 Control */
  598. __IO uint16_t RTC_READREQ; /**< Offset: 0x02 (R/W 16) Read Request */
  599. __IO uint16_t RTC_EVCTRL; /**< Offset: 0x04 (R/W 16) MODE0 Event Control */
  600. __IO uint8_t RTC_INTENCLR; /**< Offset: 0x06 (R/W 8) MODE0 Interrupt Enable Clear */
  601. __IO uint8_t RTC_INTENSET; /**< Offset: 0x07 (R/W 8) MODE0 Interrupt Enable Set */
  602. __IO uint8_t RTC_INTFLAG; /**< Offset: 0x08 (R/W 8) MODE0 Interrupt Flag Status and Clear */
  603. __I uint8_t Reserved1[0x01];
  604. __IO uint8_t RTC_STATUS; /**< Offset: 0x0A (R/W 8) Status */
  605. __IO uint8_t RTC_DBGCTRL; /**< Offset: 0x0B (R/W 8) Debug Control */
  606. __IO uint8_t RTC_FREQCORR; /**< Offset: 0x0C (R/W 8) Frequency Correction */
  607. __I uint8_t Reserved2[0x03];
  608. __IO uint32_t RTC_COUNT; /**< Offset: 0x10 (R/W 32) MODE0 Counter Value */
  609. __I uint8_t Reserved3[0x04];
  610. __IO uint32_t RTC_COMP; /**< Offset: 0x18 (R/W 32) MODE0 Compare n Value */
  611. } rtc_mode0_registers_t;
  612. /** \brief RTC register API structure */
  613. typedef struct
  614. { /* Real-Time Counter */
  615. __IO uint16_t RTC_CTRL; /**< Offset: 0x00 (R/W 16) MODE1 Control */
  616. __IO uint16_t RTC_READREQ; /**< Offset: 0x02 (R/W 16) Read Request */
  617. __IO uint16_t RTC_EVCTRL; /**< Offset: 0x04 (R/W 16) MODE1 Event Control */
  618. __IO uint8_t RTC_INTENCLR; /**< Offset: 0x06 (R/W 8) MODE1 Interrupt Enable Clear */
  619. __IO uint8_t RTC_INTENSET; /**< Offset: 0x07 (R/W 8) MODE1 Interrupt Enable Set */
  620. __IO uint8_t RTC_INTFLAG; /**< Offset: 0x08 (R/W 8) MODE1 Interrupt Flag Status and Clear */
  621. __I uint8_t Reserved1[0x01];
  622. __IO uint8_t RTC_STATUS; /**< Offset: 0x0A (R/W 8) Status */
  623. __IO uint8_t RTC_DBGCTRL; /**< Offset: 0x0B (R/W 8) Debug Control */
  624. __IO uint8_t RTC_FREQCORR; /**< Offset: 0x0C (R/W 8) Frequency Correction */
  625. __I uint8_t Reserved2[0x03];
  626. __IO uint16_t RTC_COUNT; /**< Offset: 0x10 (R/W 16) MODE1 Counter Value */
  627. __I uint8_t Reserved3[0x02];
  628. __IO uint16_t RTC_PER; /**< Offset: 0x14 (R/W 16) MODE1 Counter Period */
  629. __I uint8_t Reserved4[0x02];
  630. __IO uint16_t RTC_COMP[2]; /**< Offset: 0x18 (R/W 16) MODE1 Compare n Value */
  631. } rtc_mode1_registers_t;
  632. /** \brief RTC register API structure */
  633. typedef struct
  634. { /* Real-Time Counter */
  635. __IO uint16_t RTC_CTRL; /**< Offset: 0x00 (R/W 16) MODE2 Control */
  636. __IO uint16_t RTC_READREQ; /**< Offset: 0x02 (R/W 16) Read Request */
  637. __IO uint16_t RTC_EVCTRL; /**< Offset: 0x04 (R/W 16) MODE2 Event Control */
  638. __IO uint8_t RTC_INTENCLR; /**< Offset: 0x06 (R/W 8) MODE2 Interrupt Enable Clear */
  639. __IO uint8_t RTC_INTENSET; /**< Offset: 0x07 (R/W 8) MODE2 Interrupt Enable Set */
  640. __IO uint8_t RTC_INTFLAG; /**< Offset: 0x08 (R/W 8) MODE2 Interrupt Flag Status and Clear */
  641. __I uint8_t Reserved1[0x01];
  642. __IO uint8_t RTC_STATUS; /**< Offset: 0x0A (R/W 8) Status */
  643. __IO uint8_t RTC_DBGCTRL; /**< Offset: 0x0B (R/W 8) Debug Control */
  644. __IO uint8_t RTC_FREQCORR; /**< Offset: 0x0C (R/W 8) Frequency Correction */
  645. __I uint8_t Reserved2[0x03];
  646. __IO uint32_t RTC_CLOCK; /**< Offset: 0x10 (R/W 32) MODE2 Clock Value */
  647. __I uint8_t Reserved3[0x04];
  648. __IO uint32_t RTC_ALARM; /**< Offset: 0x18 (R/W 32) MODE2_ALARM Alarm n Value */
  649. __IO uint8_t RTC_MASK; /**< Offset: 0x1C (R/W 8) MODE2_ALARM Alarm n Mask */
  650. } rtc_mode2_registers_t;
  651. /** \brief RTC hardware registers */
  652. typedef union
  653. { /* Real-Time Counter */
  654. rtc_mode0_registers_t MODE0; /**< 32-bit Counter with Single 32-bit Compare */
  655. rtc_mode1_registers_t MODE1; /**< 16-bit Counter with Two 16-bit Compares */
  656. rtc_mode2_registers_t MODE2; /**< Clock/Calendar with Alarm */
  657. } rtc_registers_t;
  658. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  659. #endif /* _SAMD21_RTC_COMPONENT_H_ */