oscctrl.h 91 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878
  1. /**
  2. * \file
  3. *
  4. * \brief Component description for OSCCTRL
  5. *
  6. * Copyright (c) 2018 Microchip Technology Inc.
  7. *
  8. * \license_start
  9. *
  10. * \page License
  11. *
  12. * SPDX-License-Identifier: Apache-2.0
  13. *
  14. * Licensed under the Apache License, Version 2.0 (the "License");
  15. * you may not use this file except in compliance with the License.
  16. * You may obtain a copy of the License at
  17. *
  18. * http://www.apache.org/licenses/LICENSE-2.0
  19. *
  20. * Unless required by applicable law or agreed to in writing, software
  21. * distributed under the License is distributed on an "AS IS" BASIS,
  22. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  23. * See the License for the specific language governing permissions and
  24. * limitations under the License.
  25. *
  26. * \license_stop
  27. *
  28. */
  29. /* file generated from device description version 2018-05-30T11:07:17Z */
  30. #ifndef _SAML11_OSCCTRL_COMPONENT_H_
  31. #define _SAML11_OSCCTRL_COMPONENT_H_
  32. #define _SAML11_OSCCTRL_COMPONENT_ /**< \deprecated Backward compatibility for ASF */
  33. /** \addtogroup SAML_SAML11 Oscillators Control
  34. * @{
  35. */
  36. /* ========================================================================== */
  37. /** SOFTWARE API DEFINITION FOR OSCCTRL */
  38. /* ========================================================================== */
  39. #define OSCCTRL_U2119 /**< (OSCCTRL) Module ID */
  40. #define REV_OSCCTRL 0x400 /**< (OSCCTRL) Module revision */
  41. /* -------- OSCCTRL_EVCTRL : (OSCCTRL Offset: 0x00) (R/W 8) Event Control -------- */
  42. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  43. typedef union {
  44. struct {
  45. uint8_t CFDEO:1; /**< bit: 0 Clock Failure Detector Event Output Enable */
  46. uint8_t TUNEEI:1; /**< bit: 1 Tune Event Input Enable */
  47. uint8_t TUNEINV:1; /**< bit: 2 Tune Event Input Invert */
  48. uint8_t :5; /**< bit: 3..7 Reserved */
  49. } bit; /**< Structure used for bit access */
  50. uint8_t reg; /**< Type used for register access */
  51. } OSCCTRL_EVCTRL_Type;
  52. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  53. #define OSCCTRL_EVCTRL_OFFSET (0x00) /**< (OSCCTRL_EVCTRL) Event Control Offset */
  54. #define OSCCTRL_EVCTRL_RESETVALUE _U_(0x00) /**< (OSCCTRL_EVCTRL) Event Control Reset Value */
  55. #define OSCCTRL_EVCTRL_CFDEO_Pos 0 /**< (OSCCTRL_EVCTRL) Clock Failure Detector Event Output Enable Position */
  56. #define OSCCTRL_EVCTRL_CFDEO_Msk (_U_(0x1) << OSCCTRL_EVCTRL_CFDEO_Pos) /**< (OSCCTRL_EVCTRL) Clock Failure Detector Event Output Enable Mask */
  57. #define OSCCTRL_EVCTRL_CFDEO OSCCTRL_EVCTRL_CFDEO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_CFDEO_Msk instead */
  58. #define OSCCTRL_EVCTRL_TUNEEI_Pos 1 /**< (OSCCTRL_EVCTRL) Tune Event Input Enable Position */
  59. #define OSCCTRL_EVCTRL_TUNEEI_Msk (_U_(0x1) << OSCCTRL_EVCTRL_TUNEEI_Pos) /**< (OSCCTRL_EVCTRL) Tune Event Input Enable Mask */
  60. #define OSCCTRL_EVCTRL_TUNEEI OSCCTRL_EVCTRL_TUNEEI_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_TUNEEI_Msk instead */
  61. #define OSCCTRL_EVCTRL_TUNEINV_Pos 2 /**< (OSCCTRL_EVCTRL) Tune Event Input Invert Position */
  62. #define OSCCTRL_EVCTRL_TUNEINV_Msk (_U_(0x1) << OSCCTRL_EVCTRL_TUNEINV_Pos) /**< (OSCCTRL_EVCTRL) Tune Event Input Invert Mask */
  63. #define OSCCTRL_EVCTRL_TUNEINV OSCCTRL_EVCTRL_TUNEINV_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_EVCTRL_TUNEINV_Msk instead */
  64. #define OSCCTRL_EVCTRL_MASK _U_(0x07) /**< \deprecated (OSCCTRL_EVCTRL) Register MASK (Use OSCCTRL_EVCTRL_Msk instead) */
  65. #define OSCCTRL_EVCTRL_Msk _U_(0x07) /**< (OSCCTRL_EVCTRL) Register Mask */
  66. /* -------- OSCCTRL_INTENCLR : (OSCCTRL Offset: 0x04) (R/W 32) Interrupt Enable Clear -------- */
  67. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  68. typedef union {
  69. struct {
  70. uint32_t XOSCRDY:1; /**< bit: 0 XOSC Ready Interrupt Enable */
  71. uint32_t XOSCFAIL:1; /**< bit: 1 XOSC Clock Failure Detector Interrupt Enable */
  72. uint32_t :2; /**< bit: 2..3 Reserved */
  73. uint32_t OSC16MRDY:1; /**< bit: 4 OSC16M Ready Interrupt Enable */
  74. uint32_t :3; /**< bit: 5..7 Reserved */
  75. uint32_t DFLLULPRDY:1; /**< bit: 8 DFLLULP Ready interrupt Enable */
  76. uint32_t DFLLULPLOCK:1; /**< bit: 9 DFLLULP Lock Interrupt Enable */
  77. uint32_t DFLLULPNOLOCK:1; /**< bit: 10 DFLLULP No Lock Interrupt Enable */
  78. uint32_t :5; /**< bit: 11..15 Reserved */
  79. uint32_t DPLLLCKR:1; /**< bit: 16 DPLL Lock Rise Interrupt Enable */
  80. uint32_t DPLLLCKF:1; /**< bit: 17 DPLL Lock Fall Interrupt Enable */
  81. uint32_t DPLLLTO:1; /**< bit: 18 DPLL Lock Timeout Interrupt Enable */
  82. uint32_t DPLLLDRTO:1; /**< bit: 19 DPLL Loop Divider Ratio Update Complete Interrupt Enable */
  83. uint32_t :12; /**< bit: 20..31 Reserved */
  84. } bit; /**< Structure used for bit access */
  85. uint32_t reg; /**< Type used for register access */
  86. } OSCCTRL_INTENCLR_Type;
  87. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  88. #define OSCCTRL_INTENCLR_OFFSET (0x04) /**< (OSCCTRL_INTENCLR) Interrupt Enable Clear Offset */
  89. #define OSCCTRL_INTENCLR_RESETVALUE _U_(0x00) /**< (OSCCTRL_INTENCLR) Interrupt Enable Clear Reset Value */
  90. #define OSCCTRL_INTENCLR_XOSCRDY_Pos 0 /**< (OSCCTRL_INTENCLR) XOSC Ready Interrupt Enable Position */
  91. #define OSCCTRL_INTENCLR_XOSCRDY_Msk (_U_(0x1) << OSCCTRL_INTENCLR_XOSCRDY_Pos) /**< (OSCCTRL_INTENCLR) XOSC Ready Interrupt Enable Mask */
  92. #define OSCCTRL_INTENCLR_XOSCRDY OSCCTRL_INTENCLR_XOSCRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_XOSCRDY_Msk instead */
  93. #define OSCCTRL_INTENCLR_XOSCFAIL_Pos 1 /**< (OSCCTRL_INTENCLR) XOSC Clock Failure Detector Interrupt Enable Position */
  94. #define OSCCTRL_INTENCLR_XOSCFAIL_Msk (_U_(0x1) << OSCCTRL_INTENCLR_XOSCFAIL_Pos) /**< (OSCCTRL_INTENCLR) XOSC Clock Failure Detector Interrupt Enable Mask */
  95. #define OSCCTRL_INTENCLR_XOSCFAIL OSCCTRL_INTENCLR_XOSCFAIL_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_XOSCFAIL_Msk instead */
  96. #define OSCCTRL_INTENCLR_OSC16MRDY_Pos 4 /**< (OSCCTRL_INTENCLR) OSC16M Ready Interrupt Enable Position */
  97. #define OSCCTRL_INTENCLR_OSC16MRDY_Msk (_U_(0x1) << OSCCTRL_INTENCLR_OSC16MRDY_Pos) /**< (OSCCTRL_INTENCLR) OSC16M Ready Interrupt Enable Mask */
  98. #define OSCCTRL_INTENCLR_OSC16MRDY OSCCTRL_INTENCLR_OSC16MRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_OSC16MRDY_Msk instead */
  99. #define OSCCTRL_INTENCLR_DFLLULPRDY_Pos 8 /**< (OSCCTRL_INTENCLR) DFLLULP Ready interrupt Enable Position */
  100. #define OSCCTRL_INTENCLR_DFLLULPRDY_Msk (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPRDY_Pos) /**< (OSCCTRL_INTENCLR) DFLLULP Ready interrupt Enable Mask */
  101. #define OSCCTRL_INTENCLR_DFLLULPRDY OSCCTRL_INTENCLR_DFLLULPRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPRDY_Msk instead */
  102. #define OSCCTRL_INTENCLR_DFLLULPLOCK_Pos 9 /**< (OSCCTRL_INTENCLR) DFLLULP Lock Interrupt Enable Position */
  103. #define OSCCTRL_INTENCLR_DFLLULPLOCK_Msk (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPLOCK_Pos) /**< (OSCCTRL_INTENCLR) DFLLULP Lock Interrupt Enable Mask */
  104. #define OSCCTRL_INTENCLR_DFLLULPLOCK OSCCTRL_INTENCLR_DFLLULPLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPLOCK_Msk instead */
  105. #define OSCCTRL_INTENCLR_DFLLULPNOLOCK_Pos 10 /**< (OSCCTRL_INTENCLR) DFLLULP No Lock Interrupt Enable Position */
  106. #define OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk (_U_(0x1) << OSCCTRL_INTENCLR_DFLLULPNOLOCK_Pos) /**< (OSCCTRL_INTENCLR) DFLLULP No Lock Interrupt Enable Mask */
  107. #define OSCCTRL_INTENCLR_DFLLULPNOLOCK OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DFLLULPNOLOCK_Msk instead */
  108. #define OSCCTRL_INTENCLR_DPLLLCKR_Pos 16 /**< (OSCCTRL_INTENCLR) DPLL Lock Rise Interrupt Enable Position */
  109. #define OSCCTRL_INTENCLR_DPLLLCKR_Msk (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLCKR_Pos) /**< (OSCCTRL_INTENCLR) DPLL Lock Rise Interrupt Enable Mask */
  110. #define OSCCTRL_INTENCLR_DPLLLCKR OSCCTRL_INTENCLR_DPLLLCKR_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLCKR_Msk instead */
  111. #define OSCCTRL_INTENCLR_DPLLLCKF_Pos 17 /**< (OSCCTRL_INTENCLR) DPLL Lock Fall Interrupt Enable Position */
  112. #define OSCCTRL_INTENCLR_DPLLLCKF_Msk (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLCKF_Pos) /**< (OSCCTRL_INTENCLR) DPLL Lock Fall Interrupt Enable Mask */
  113. #define OSCCTRL_INTENCLR_DPLLLCKF OSCCTRL_INTENCLR_DPLLLCKF_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLCKF_Msk instead */
  114. #define OSCCTRL_INTENCLR_DPLLLTO_Pos 18 /**< (OSCCTRL_INTENCLR) DPLL Lock Timeout Interrupt Enable Position */
  115. #define OSCCTRL_INTENCLR_DPLLLTO_Msk (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLTO_Pos) /**< (OSCCTRL_INTENCLR) DPLL Lock Timeout Interrupt Enable Mask */
  116. #define OSCCTRL_INTENCLR_DPLLLTO OSCCTRL_INTENCLR_DPLLLTO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLTO_Msk instead */
  117. #define OSCCTRL_INTENCLR_DPLLLDRTO_Pos 19 /**< (OSCCTRL_INTENCLR) DPLL Loop Divider Ratio Update Complete Interrupt Enable Position */
  118. #define OSCCTRL_INTENCLR_DPLLLDRTO_Msk (_U_(0x1) << OSCCTRL_INTENCLR_DPLLLDRTO_Pos) /**< (OSCCTRL_INTENCLR) DPLL Loop Divider Ratio Update Complete Interrupt Enable Mask */
  119. #define OSCCTRL_INTENCLR_DPLLLDRTO OSCCTRL_INTENCLR_DPLLLDRTO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENCLR_DPLLLDRTO_Msk instead */
  120. #define OSCCTRL_INTENCLR_MASK _U_(0xF0713) /**< \deprecated (OSCCTRL_INTENCLR) Register MASK (Use OSCCTRL_INTENCLR_Msk instead) */
  121. #define OSCCTRL_INTENCLR_Msk _U_(0xF0713) /**< (OSCCTRL_INTENCLR) Register Mask */
  122. /* -------- OSCCTRL_INTENSET : (OSCCTRL Offset: 0x08) (R/W 32) Interrupt Enable Set -------- */
  123. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  124. typedef union {
  125. struct {
  126. uint32_t XOSCRDY:1; /**< bit: 0 XOSC Ready Interrupt Enable */
  127. uint32_t XOSCFAIL:1; /**< bit: 1 XOSC Clock Failure Detector Interrupt Enable */
  128. uint32_t :2; /**< bit: 2..3 Reserved */
  129. uint32_t OSC16MRDY:1; /**< bit: 4 OSC16M Ready Interrupt Enable */
  130. uint32_t :3; /**< bit: 5..7 Reserved */
  131. uint32_t DFLLULPRDY:1; /**< bit: 8 DFLLULP Ready interrupt Enable */
  132. uint32_t DFLLULPLOCK:1; /**< bit: 9 DFLLULP Lock Interrupt Enable */
  133. uint32_t DFLLULPNOLOCK:1; /**< bit: 10 DFLLULP No Lock Interrupt Enable */
  134. uint32_t :5; /**< bit: 11..15 Reserved */
  135. uint32_t DPLLLCKR:1; /**< bit: 16 DPLL Lock Rise Interrupt Enable */
  136. uint32_t DPLLLCKF:1; /**< bit: 17 DPLL Lock Fall Interrupt Enable */
  137. uint32_t DPLLLTO:1; /**< bit: 18 DPLL Lock Timeout Interrupt Enable */
  138. uint32_t DPLLLDRTO:1; /**< bit: 19 DPLL Loop Divider Ratio Update Complete Interrupt Enable */
  139. uint32_t :12; /**< bit: 20..31 Reserved */
  140. } bit; /**< Structure used for bit access */
  141. uint32_t reg; /**< Type used for register access */
  142. } OSCCTRL_INTENSET_Type;
  143. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  144. #define OSCCTRL_INTENSET_OFFSET (0x08) /**< (OSCCTRL_INTENSET) Interrupt Enable Set Offset */
  145. #define OSCCTRL_INTENSET_RESETVALUE _U_(0x00) /**< (OSCCTRL_INTENSET) Interrupt Enable Set Reset Value */
  146. #define OSCCTRL_INTENSET_XOSCRDY_Pos 0 /**< (OSCCTRL_INTENSET) XOSC Ready Interrupt Enable Position */
  147. #define OSCCTRL_INTENSET_XOSCRDY_Msk (_U_(0x1) << OSCCTRL_INTENSET_XOSCRDY_Pos) /**< (OSCCTRL_INTENSET) XOSC Ready Interrupt Enable Mask */
  148. #define OSCCTRL_INTENSET_XOSCRDY OSCCTRL_INTENSET_XOSCRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_XOSCRDY_Msk instead */
  149. #define OSCCTRL_INTENSET_XOSCFAIL_Pos 1 /**< (OSCCTRL_INTENSET) XOSC Clock Failure Detector Interrupt Enable Position */
  150. #define OSCCTRL_INTENSET_XOSCFAIL_Msk (_U_(0x1) << OSCCTRL_INTENSET_XOSCFAIL_Pos) /**< (OSCCTRL_INTENSET) XOSC Clock Failure Detector Interrupt Enable Mask */
  151. #define OSCCTRL_INTENSET_XOSCFAIL OSCCTRL_INTENSET_XOSCFAIL_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_XOSCFAIL_Msk instead */
  152. #define OSCCTRL_INTENSET_OSC16MRDY_Pos 4 /**< (OSCCTRL_INTENSET) OSC16M Ready Interrupt Enable Position */
  153. #define OSCCTRL_INTENSET_OSC16MRDY_Msk (_U_(0x1) << OSCCTRL_INTENSET_OSC16MRDY_Pos) /**< (OSCCTRL_INTENSET) OSC16M Ready Interrupt Enable Mask */
  154. #define OSCCTRL_INTENSET_OSC16MRDY OSCCTRL_INTENSET_OSC16MRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_OSC16MRDY_Msk instead */
  155. #define OSCCTRL_INTENSET_DFLLULPRDY_Pos 8 /**< (OSCCTRL_INTENSET) DFLLULP Ready interrupt Enable Position */
  156. #define OSCCTRL_INTENSET_DFLLULPRDY_Msk (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPRDY_Pos) /**< (OSCCTRL_INTENSET) DFLLULP Ready interrupt Enable Mask */
  157. #define OSCCTRL_INTENSET_DFLLULPRDY OSCCTRL_INTENSET_DFLLULPRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPRDY_Msk instead */
  158. #define OSCCTRL_INTENSET_DFLLULPLOCK_Pos 9 /**< (OSCCTRL_INTENSET) DFLLULP Lock Interrupt Enable Position */
  159. #define OSCCTRL_INTENSET_DFLLULPLOCK_Msk (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPLOCK_Pos) /**< (OSCCTRL_INTENSET) DFLLULP Lock Interrupt Enable Mask */
  160. #define OSCCTRL_INTENSET_DFLLULPLOCK OSCCTRL_INTENSET_DFLLULPLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPLOCK_Msk instead */
  161. #define OSCCTRL_INTENSET_DFLLULPNOLOCK_Pos 10 /**< (OSCCTRL_INTENSET) DFLLULP No Lock Interrupt Enable Position */
  162. #define OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk (_U_(0x1) << OSCCTRL_INTENSET_DFLLULPNOLOCK_Pos) /**< (OSCCTRL_INTENSET) DFLLULP No Lock Interrupt Enable Mask */
  163. #define OSCCTRL_INTENSET_DFLLULPNOLOCK OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DFLLULPNOLOCK_Msk instead */
  164. #define OSCCTRL_INTENSET_DPLLLCKR_Pos 16 /**< (OSCCTRL_INTENSET) DPLL Lock Rise Interrupt Enable Position */
  165. #define OSCCTRL_INTENSET_DPLLLCKR_Msk (_U_(0x1) << OSCCTRL_INTENSET_DPLLLCKR_Pos) /**< (OSCCTRL_INTENSET) DPLL Lock Rise Interrupt Enable Mask */
  166. #define OSCCTRL_INTENSET_DPLLLCKR OSCCTRL_INTENSET_DPLLLCKR_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLCKR_Msk instead */
  167. #define OSCCTRL_INTENSET_DPLLLCKF_Pos 17 /**< (OSCCTRL_INTENSET) DPLL Lock Fall Interrupt Enable Position */
  168. #define OSCCTRL_INTENSET_DPLLLCKF_Msk (_U_(0x1) << OSCCTRL_INTENSET_DPLLLCKF_Pos) /**< (OSCCTRL_INTENSET) DPLL Lock Fall Interrupt Enable Mask */
  169. #define OSCCTRL_INTENSET_DPLLLCKF OSCCTRL_INTENSET_DPLLLCKF_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLCKF_Msk instead */
  170. #define OSCCTRL_INTENSET_DPLLLTO_Pos 18 /**< (OSCCTRL_INTENSET) DPLL Lock Timeout Interrupt Enable Position */
  171. #define OSCCTRL_INTENSET_DPLLLTO_Msk (_U_(0x1) << OSCCTRL_INTENSET_DPLLLTO_Pos) /**< (OSCCTRL_INTENSET) DPLL Lock Timeout Interrupt Enable Mask */
  172. #define OSCCTRL_INTENSET_DPLLLTO OSCCTRL_INTENSET_DPLLLTO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLTO_Msk instead */
  173. #define OSCCTRL_INTENSET_DPLLLDRTO_Pos 19 /**< (OSCCTRL_INTENSET) DPLL Loop Divider Ratio Update Complete Interrupt Enable Position */
  174. #define OSCCTRL_INTENSET_DPLLLDRTO_Msk (_U_(0x1) << OSCCTRL_INTENSET_DPLLLDRTO_Pos) /**< (OSCCTRL_INTENSET) DPLL Loop Divider Ratio Update Complete Interrupt Enable Mask */
  175. #define OSCCTRL_INTENSET_DPLLLDRTO OSCCTRL_INTENSET_DPLLLDRTO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTENSET_DPLLLDRTO_Msk instead */
  176. #define OSCCTRL_INTENSET_MASK _U_(0xF0713) /**< \deprecated (OSCCTRL_INTENSET) Register MASK (Use OSCCTRL_INTENSET_Msk instead) */
  177. #define OSCCTRL_INTENSET_Msk _U_(0xF0713) /**< (OSCCTRL_INTENSET) Register Mask */
  178. /* -------- OSCCTRL_INTFLAG : (OSCCTRL Offset: 0x0c) (R/W 32) Interrupt Flag Status and Clear -------- */
  179. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  180. typedef union { // __I to avoid read-modify-write on write-to-clear register
  181. struct {
  182. __I uint32_t XOSCRDY:1; /**< bit: 0 XOSC Ready */
  183. __I uint32_t XOSCFAIL:1; /**< bit: 1 XOSC Clock Failure Detector */
  184. __I uint32_t :2; /**< bit: 2..3 Reserved */
  185. __I uint32_t OSC16MRDY:1; /**< bit: 4 OSC16M Ready */
  186. __I uint32_t :3; /**< bit: 5..7 Reserved */
  187. __I uint32_t DFLLULPRDY:1; /**< bit: 8 DFLLULP Ready */
  188. __I uint32_t DFLLULPLOCK:1; /**< bit: 9 DFLLULP Lock */
  189. __I uint32_t DFLLULPNOLOCK:1; /**< bit: 10 DFLLULP No Lock */
  190. __I uint32_t :5; /**< bit: 11..15 Reserved */
  191. __I uint32_t DPLLLCKR:1; /**< bit: 16 DPLL Lock Rise */
  192. __I uint32_t DPLLLCKF:1; /**< bit: 17 DPLL Lock Fall */
  193. __I uint32_t DPLLLTO:1; /**< bit: 18 DPLL Lock Timeout */
  194. __I uint32_t DPLLLDRTO:1; /**< bit: 19 DPLL Loop Divider Ratio Update Complete */
  195. __I uint32_t :12; /**< bit: 20..31 Reserved */
  196. } bit; /**< Structure used for bit access */
  197. uint32_t reg; /**< Type used for register access */
  198. } OSCCTRL_INTFLAG_Type;
  199. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  200. #define OSCCTRL_INTFLAG_OFFSET (0x0C) /**< (OSCCTRL_INTFLAG) Interrupt Flag Status and Clear Offset */
  201. #define OSCCTRL_INTFLAG_RESETVALUE _U_(0x00) /**< (OSCCTRL_INTFLAG) Interrupt Flag Status and Clear Reset Value */
  202. #define OSCCTRL_INTFLAG_XOSCRDY_Pos 0 /**< (OSCCTRL_INTFLAG) XOSC Ready Position */
  203. #define OSCCTRL_INTFLAG_XOSCRDY_Msk (_U_(0x1) << OSCCTRL_INTFLAG_XOSCRDY_Pos) /**< (OSCCTRL_INTFLAG) XOSC Ready Mask */
  204. #define OSCCTRL_INTFLAG_XOSCRDY OSCCTRL_INTFLAG_XOSCRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_XOSCRDY_Msk instead */
  205. #define OSCCTRL_INTFLAG_XOSCFAIL_Pos 1 /**< (OSCCTRL_INTFLAG) XOSC Clock Failure Detector Position */
  206. #define OSCCTRL_INTFLAG_XOSCFAIL_Msk (_U_(0x1) << OSCCTRL_INTFLAG_XOSCFAIL_Pos) /**< (OSCCTRL_INTFLAG) XOSC Clock Failure Detector Mask */
  207. #define OSCCTRL_INTFLAG_XOSCFAIL OSCCTRL_INTFLAG_XOSCFAIL_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_XOSCFAIL_Msk instead */
  208. #define OSCCTRL_INTFLAG_OSC16MRDY_Pos 4 /**< (OSCCTRL_INTFLAG) OSC16M Ready Position */
  209. #define OSCCTRL_INTFLAG_OSC16MRDY_Msk (_U_(0x1) << OSCCTRL_INTFLAG_OSC16MRDY_Pos) /**< (OSCCTRL_INTFLAG) OSC16M Ready Mask */
  210. #define OSCCTRL_INTFLAG_OSC16MRDY OSCCTRL_INTFLAG_OSC16MRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_OSC16MRDY_Msk instead */
  211. #define OSCCTRL_INTFLAG_DFLLULPRDY_Pos 8 /**< (OSCCTRL_INTFLAG) DFLLULP Ready Position */
  212. #define OSCCTRL_INTFLAG_DFLLULPRDY_Msk (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPRDY_Pos) /**< (OSCCTRL_INTFLAG) DFLLULP Ready Mask */
  213. #define OSCCTRL_INTFLAG_DFLLULPRDY OSCCTRL_INTFLAG_DFLLULPRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPRDY_Msk instead */
  214. #define OSCCTRL_INTFLAG_DFLLULPLOCK_Pos 9 /**< (OSCCTRL_INTFLAG) DFLLULP Lock Position */
  215. #define OSCCTRL_INTFLAG_DFLLULPLOCK_Msk (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPLOCK_Pos) /**< (OSCCTRL_INTFLAG) DFLLULP Lock Mask */
  216. #define OSCCTRL_INTFLAG_DFLLULPLOCK OSCCTRL_INTFLAG_DFLLULPLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPLOCK_Msk instead */
  217. #define OSCCTRL_INTFLAG_DFLLULPNOLOCK_Pos 10 /**< (OSCCTRL_INTFLAG) DFLLULP No Lock Position */
  218. #define OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk (_U_(0x1) << OSCCTRL_INTFLAG_DFLLULPNOLOCK_Pos) /**< (OSCCTRL_INTFLAG) DFLLULP No Lock Mask */
  219. #define OSCCTRL_INTFLAG_DFLLULPNOLOCK OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DFLLULPNOLOCK_Msk instead */
  220. #define OSCCTRL_INTFLAG_DPLLLCKR_Pos 16 /**< (OSCCTRL_INTFLAG) DPLL Lock Rise Position */
  221. #define OSCCTRL_INTFLAG_DPLLLCKR_Msk (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLCKR_Pos) /**< (OSCCTRL_INTFLAG) DPLL Lock Rise Mask */
  222. #define OSCCTRL_INTFLAG_DPLLLCKR OSCCTRL_INTFLAG_DPLLLCKR_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLCKR_Msk instead */
  223. #define OSCCTRL_INTFLAG_DPLLLCKF_Pos 17 /**< (OSCCTRL_INTFLAG) DPLL Lock Fall Position */
  224. #define OSCCTRL_INTFLAG_DPLLLCKF_Msk (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLCKF_Pos) /**< (OSCCTRL_INTFLAG) DPLL Lock Fall Mask */
  225. #define OSCCTRL_INTFLAG_DPLLLCKF OSCCTRL_INTFLAG_DPLLLCKF_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLCKF_Msk instead */
  226. #define OSCCTRL_INTFLAG_DPLLLTO_Pos 18 /**< (OSCCTRL_INTFLAG) DPLL Lock Timeout Position */
  227. #define OSCCTRL_INTFLAG_DPLLLTO_Msk (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLTO_Pos) /**< (OSCCTRL_INTFLAG) DPLL Lock Timeout Mask */
  228. #define OSCCTRL_INTFLAG_DPLLLTO OSCCTRL_INTFLAG_DPLLLTO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLTO_Msk instead */
  229. #define OSCCTRL_INTFLAG_DPLLLDRTO_Pos 19 /**< (OSCCTRL_INTFLAG) DPLL Loop Divider Ratio Update Complete Position */
  230. #define OSCCTRL_INTFLAG_DPLLLDRTO_Msk (_U_(0x1) << OSCCTRL_INTFLAG_DPLLLDRTO_Pos) /**< (OSCCTRL_INTFLAG) DPLL Loop Divider Ratio Update Complete Mask */
  231. #define OSCCTRL_INTFLAG_DPLLLDRTO OSCCTRL_INTFLAG_DPLLLDRTO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_INTFLAG_DPLLLDRTO_Msk instead */
  232. #define OSCCTRL_INTFLAG_MASK _U_(0xF0713) /**< \deprecated (OSCCTRL_INTFLAG) Register MASK (Use OSCCTRL_INTFLAG_Msk instead) */
  233. #define OSCCTRL_INTFLAG_Msk _U_(0xF0713) /**< (OSCCTRL_INTFLAG) Register Mask */
  234. /* -------- OSCCTRL_STATUS : (OSCCTRL Offset: 0x10) (R/ 32) Status -------- */
  235. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  236. typedef union {
  237. struct {
  238. uint32_t XOSCRDY:1; /**< bit: 0 XOSC Ready */
  239. uint32_t XOSCFAIL:1; /**< bit: 1 XOSC Clock Failure Detector */
  240. uint32_t XOSCCKSW:1; /**< bit: 2 XOSC Clock Switch */
  241. uint32_t :1; /**< bit: 3 Reserved */
  242. uint32_t OSC16MRDY:1; /**< bit: 4 OSC16M Ready */
  243. uint32_t :3; /**< bit: 5..7 Reserved */
  244. uint32_t DFLLULPRDY:1; /**< bit: 8 DFLLULP Ready */
  245. uint32_t DFLLULPLOCK:1; /**< bit: 9 DFLLULP Lock */
  246. uint32_t DFLLULPNOLOCK:1; /**< bit: 10 DFLLULP No Lock */
  247. uint32_t :5; /**< bit: 11..15 Reserved */
  248. uint32_t DPLLLCKR:1; /**< bit: 16 DPLL Lock Rise */
  249. uint32_t DPLLLCKF:1; /**< bit: 17 DPLL Lock Fall */
  250. uint32_t DPLLTO:1; /**< bit: 18 DPLL Lock Timeout */
  251. uint32_t DPLLLDRTO:1; /**< bit: 19 DPLL Loop Divider Ratio Update Complete */
  252. uint32_t :12; /**< bit: 20..31 Reserved */
  253. } bit; /**< Structure used for bit access */
  254. uint32_t reg; /**< Type used for register access */
  255. } OSCCTRL_STATUS_Type;
  256. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  257. #define OSCCTRL_STATUS_OFFSET (0x10) /**< (OSCCTRL_STATUS) Status Offset */
  258. #define OSCCTRL_STATUS_RESETVALUE _U_(0x00) /**< (OSCCTRL_STATUS) Status Reset Value */
  259. #define OSCCTRL_STATUS_XOSCRDY_Pos 0 /**< (OSCCTRL_STATUS) XOSC Ready Position */
  260. #define OSCCTRL_STATUS_XOSCRDY_Msk (_U_(0x1) << OSCCTRL_STATUS_XOSCRDY_Pos) /**< (OSCCTRL_STATUS) XOSC Ready Mask */
  261. #define OSCCTRL_STATUS_XOSCRDY OSCCTRL_STATUS_XOSCRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCRDY_Msk instead */
  262. #define OSCCTRL_STATUS_XOSCFAIL_Pos 1 /**< (OSCCTRL_STATUS) XOSC Clock Failure Detector Position */
  263. #define OSCCTRL_STATUS_XOSCFAIL_Msk (_U_(0x1) << OSCCTRL_STATUS_XOSCFAIL_Pos) /**< (OSCCTRL_STATUS) XOSC Clock Failure Detector Mask */
  264. #define OSCCTRL_STATUS_XOSCFAIL OSCCTRL_STATUS_XOSCFAIL_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCFAIL_Msk instead */
  265. #define OSCCTRL_STATUS_XOSCCKSW_Pos 2 /**< (OSCCTRL_STATUS) XOSC Clock Switch Position */
  266. #define OSCCTRL_STATUS_XOSCCKSW_Msk (_U_(0x1) << OSCCTRL_STATUS_XOSCCKSW_Pos) /**< (OSCCTRL_STATUS) XOSC Clock Switch Mask */
  267. #define OSCCTRL_STATUS_XOSCCKSW OSCCTRL_STATUS_XOSCCKSW_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_XOSCCKSW_Msk instead */
  268. #define OSCCTRL_STATUS_OSC16MRDY_Pos 4 /**< (OSCCTRL_STATUS) OSC16M Ready Position */
  269. #define OSCCTRL_STATUS_OSC16MRDY_Msk (_U_(0x1) << OSCCTRL_STATUS_OSC16MRDY_Pos) /**< (OSCCTRL_STATUS) OSC16M Ready Mask */
  270. #define OSCCTRL_STATUS_OSC16MRDY OSCCTRL_STATUS_OSC16MRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_OSC16MRDY_Msk instead */
  271. #define OSCCTRL_STATUS_DFLLULPRDY_Pos 8 /**< (OSCCTRL_STATUS) DFLLULP Ready Position */
  272. #define OSCCTRL_STATUS_DFLLULPRDY_Msk (_U_(0x1) << OSCCTRL_STATUS_DFLLULPRDY_Pos) /**< (OSCCTRL_STATUS) DFLLULP Ready Mask */
  273. #define OSCCTRL_STATUS_DFLLULPRDY OSCCTRL_STATUS_DFLLULPRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPRDY_Msk instead */
  274. #define OSCCTRL_STATUS_DFLLULPLOCK_Pos 9 /**< (OSCCTRL_STATUS) DFLLULP Lock Position */
  275. #define OSCCTRL_STATUS_DFLLULPLOCK_Msk (_U_(0x1) << OSCCTRL_STATUS_DFLLULPLOCK_Pos) /**< (OSCCTRL_STATUS) DFLLULP Lock Mask */
  276. #define OSCCTRL_STATUS_DFLLULPLOCK OSCCTRL_STATUS_DFLLULPLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPLOCK_Msk instead */
  277. #define OSCCTRL_STATUS_DFLLULPNOLOCK_Pos 10 /**< (OSCCTRL_STATUS) DFLLULP No Lock Position */
  278. #define OSCCTRL_STATUS_DFLLULPNOLOCK_Msk (_U_(0x1) << OSCCTRL_STATUS_DFLLULPNOLOCK_Pos) /**< (OSCCTRL_STATUS) DFLLULP No Lock Mask */
  279. #define OSCCTRL_STATUS_DFLLULPNOLOCK OSCCTRL_STATUS_DFLLULPNOLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DFLLULPNOLOCK_Msk instead */
  280. #define OSCCTRL_STATUS_DPLLLCKR_Pos 16 /**< (OSCCTRL_STATUS) DPLL Lock Rise Position */
  281. #define OSCCTRL_STATUS_DPLLLCKR_Msk (_U_(0x1) << OSCCTRL_STATUS_DPLLLCKR_Pos) /**< (OSCCTRL_STATUS) DPLL Lock Rise Mask */
  282. #define OSCCTRL_STATUS_DPLLLCKR OSCCTRL_STATUS_DPLLLCKR_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLCKR_Msk instead */
  283. #define OSCCTRL_STATUS_DPLLLCKF_Pos 17 /**< (OSCCTRL_STATUS) DPLL Lock Fall Position */
  284. #define OSCCTRL_STATUS_DPLLLCKF_Msk (_U_(0x1) << OSCCTRL_STATUS_DPLLLCKF_Pos) /**< (OSCCTRL_STATUS) DPLL Lock Fall Mask */
  285. #define OSCCTRL_STATUS_DPLLLCKF OSCCTRL_STATUS_DPLLLCKF_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLCKF_Msk instead */
  286. #define OSCCTRL_STATUS_DPLLTO_Pos 18 /**< (OSCCTRL_STATUS) DPLL Lock Timeout Position */
  287. #define OSCCTRL_STATUS_DPLLTO_Msk (_U_(0x1) << OSCCTRL_STATUS_DPLLTO_Pos) /**< (OSCCTRL_STATUS) DPLL Lock Timeout Mask */
  288. #define OSCCTRL_STATUS_DPLLTO OSCCTRL_STATUS_DPLLTO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLTO_Msk instead */
  289. #define OSCCTRL_STATUS_DPLLLDRTO_Pos 19 /**< (OSCCTRL_STATUS) DPLL Loop Divider Ratio Update Complete Position */
  290. #define OSCCTRL_STATUS_DPLLLDRTO_Msk (_U_(0x1) << OSCCTRL_STATUS_DPLLLDRTO_Pos) /**< (OSCCTRL_STATUS) DPLL Loop Divider Ratio Update Complete Mask */
  291. #define OSCCTRL_STATUS_DPLLLDRTO OSCCTRL_STATUS_DPLLLDRTO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_STATUS_DPLLLDRTO_Msk instead */
  292. #define OSCCTRL_STATUS_MASK _U_(0xF0717) /**< \deprecated (OSCCTRL_STATUS) Register MASK (Use OSCCTRL_STATUS_Msk instead) */
  293. #define OSCCTRL_STATUS_Msk _U_(0xF0717) /**< (OSCCTRL_STATUS) Register Mask */
  294. /* -------- OSCCTRL_XOSCCTRL : (OSCCTRL Offset: 0x14) (R/W 16) External Multipurpose Crystal Oscillator (XOSC) Control -------- */
  295. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  296. typedef union {
  297. struct {
  298. uint16_t :1; /**< bit: 0 Reserved */
  299. uint16_t ENABLE:1; /**< bit: 1 Oscillator Enable */
  300. uint16_t XTALEN:1; /**< bit: 2 Crystal Oscillator Enable */
  301. uint16_t CFDEN:1; /**< bit: 3 Clock Failure Detector Enable */
  302. uint16_t SWBEN:1; /**< bit: 4 Xosc Clock Switch Enable */
  303. uint16_t :1; /**< bit: 5 Reserved */
  304. uint16_t RUNSTDBY:1; /**< bit: 6 Run in Standby */
  305. uint16_t ONDEMAND:1; /**< bit: 7 On Demand Control */
  306. uint16_t GAIN:3; /**< bit: 8..10 Oscillator Gain */
  307. uint16_t AMPGC:1; /**< bit: 11 Automatic Amplitude Gain Control */
  308. uint16_t STARTUP:4; /**< bit: 12..15 Start-Up Time */
  309. } bit; /**< Structure used for bit access */
  310. uint16_t reg; /**< Type used for register access */
  311. } OSCCTRL_XOSCCTRL_Type;
  312. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  313. #define OSCCTRL_XOSCCTRL_OFFSET (0x14) /**< (OSCCTRL_XOSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control Offset */
  314. #define OSCCTRL_XOSCCTRL_RESETVALUE _U_(0x80) /**< (OSCCTRL_XOSCCTRL) External Multipurpose Crystal Oscillator (XOSC) Control Reset Value */
  315. #define OSCCTRL_XOSCCTRL_ENABLE_Pos 1 /**< (OSCCTRL_XOSCCTRL) Oscillator Enable Position */
  316. #define OSCCTRL_XOSCCTRL_ENABLE_Msk (_U_(0x1) << OSCCTRL_XOSCCTRL_ENABLE_Pos) /**< (OSCCTRL_XOSCCTRL) Oscillator Enable Mask */
  317. #define OSCCTRL_XOSCCTRL_ENABLE OSCCTRL_XOSCCTRL_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_ENABLE_Msk instead */
  318. #define OSCCTRL_XOSCCTRL_XTALEN_Pos 2 /**< (OSCCTRL_XOSCCTRL) Crystal Oscillator Enable Position */
  319. #define OSCCTRL_XOSCCTRL_XTALEN_Msk (_U_(0x1) << OSCCTRL_XOSCCTRL_XTALEN_Pos) /**< (OSCCTRL_XOSCCTRL) Crystal Oscillator Enable Mask */
  320. #define OSCCTRL_XOSCCTRL_XTALEN OSCCTRL_XOSCCTRL_XTALEN_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_XTALEN_Msk instead */
  321. #define OSCCTRL_XOSCCTRL_CFDEN_Pos 3 /**< (OSCCTRL_XOSCCTRL) Clock Failure Detector Enable Position */
  322. #define OSCCTRL_XOSCCTRL_CFDEN_Msk (_U_(0x1) << OSCCTRL_XOSCCTRL_CFDEN_Pos) /**< (OSCCTRL_XOSCCTRL) Clock Failure Detector Enable Mask */
  323. #define OSCCTRL_XOSCCTRL_CFDEN OSCCTRL_XOSCCTRL_CFDEN_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_CFDEN_Msk instead */
  324. #define OSCCTRL_XOSCCTRL_SWBEN_Pos 4 /**< (OSCCTRL_XOSCCTRL) Xosc Clock Switch Enable Position */
  325. #define OSCCTRL_XOSCCTRL_SWBEN_Msk (_U_(0x1) << OSCCTRL_XOSCCTRL_SWBEN_Pos) /**< (OSCCTRL_XOSCCTRL) Xosc Clock Switch Enable Mask */
  326. #define OSCCTRL_XOSCCTRL_SWBEN OSCCTRL_XOSCCTRL_SWBEN_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_SWBEN_Msk instead */
  327. #define OSCCTRL_XOSCCTRL_RUNSTDBY_Pos 6 /**< (OSCCTRL_XOSCCTRL) Run in Standby Position */
  328. #define OSCCTRL_XOSCCTRL_RUNSTDBY_Msk (_U_(0x1) << OSCCTRL_XOSCCTRL_RUNSTDBY_Pos) /**< (OSCCTRL_XOSCCTRL) Run in Standby Mask */
  329. #define OSCCTRL_XOSCCTRL_RUNSTDBY OSCCTRL_XOSCCTRL_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_RUNSTDBY_Msk instead */
  330. #define OSCCTRL_XOSCCTRL_ONDEMAND_Pos 7 /**< (OSCCTRL_XOSCCTRL) On Demand Control Position */
  331. #define OSCCTRL_XOSCCTRL_ONDEMAND_Msk (_U_(0x1) << OSCCTRL_XOSCCTRL_ONDEMAND_Pos) /**< (OSCCTRL_XOSCCTRL) On Demand Control Mask */
  332. #define OSCCTRL_XOSCCTRL_ONDEMAND OSCCTRL_XOSCCTRL_ONDEMAND_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_ONDEMAND_Msk instead */
  333. #define OSCCTRL_XOSCCTRL_GAIN_Pos 8 /**< (OSCCTRL_XOSCCTRL) Oscillator Gain Position */
  334. #define OSCCTRL_XOSCCTRL_GAIN_Msk (_U_(0x7) << OSCCTRL_XOSCCTRL_GAIN_Pos) /**< (OSCCTRL_XOSCCTRL) Oscillator Gain Mask */
  335. #define OSCCTRL_XOSCCTRL_GAIN(value) (OSCCTRL_XOSCCTRL_GAIN_Msk & ((value) << OSCCTRL_XOSCCTRL_GAIN_Pos))
  336. #define OSCCTRL_XOSCCTRL_AMPGC_Pos 11 /**< (OSCCTRL_XOSCCTRL) Automatic Amplitude Gain Control Position */
  337. #define OSCCTRL_XOSCCTRL_AMPGC_Msk (_U_(0x1) << OSCCTRL_XOSCCTRL_AMPGC_Pos) /**< (OSCCTRL_XOSCCTRL) Automatic Amplitude Gain Control Mask */
  338. #define OSCCTRL_XOSCCTRL_AMPGC OSCCTRL_XOSCCTRL_AMPGC_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_XOSCCTRL_AMPGC_Msk instead */
  339. #define OSCCTRL_XOSCCTRL_STARTUP_Pos 12 /**< (OSCCTRL_XOSCCTRL) Start-Up Time Position */
  340. #define OSCCTRL_XOSCCTRL_STARTUP_Msk (_U_(0xF) << OSCCTRL_XOSCCTRL_STARTUP_Pos) /**< (OSCCTRL_XOSCCTRL) Start-Up Time Mask */
  341. #define OSCCTRL_XOSCCTRL_STARTUP(value) (OSCCTRL_XOSCCTRL_STARTUP_Msk & ((value) << OSCCTRL_XOSCCTRL_STARTUP_Pos))
  342. #define OSCCTRL_XOSCCTRL_MASK _U_(0xFFDE) /**< \deprecated (OSCCTRL_XOSCCTRL) Register MASK (Use OSCCTRL_XOSCCTRL_Msk instead) */
  343. #define OSCCTRL_XOSCCTRL_Msk _U_(0xFFDE) /**< (OSCCTRL_XOSCCTRL) Register Mask */
  344. /* -------- OSCCTRL_CFDPRESC : (OSCCTRL Offset: 0x16) (R/W 8) Clock Failure Detector Prescaler -------- */
  345. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  346. typedef union {
  347. struct {
  348. uint8_t CFDPRESC:3; /**< bit: 0..2 Clock Failure Detector Prescaler */
  349. uint8_t :5; /**< bit: 3..7 Reserved */
  350. } bit; /**< Structure used for bit access */
  351. uint8_t reg; /**< Type used for register access */
  352. } OSCCTRL_CFDPRESC_Type;
  353. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  354. #define OSCCTRL_CFDPRESC_OFFSET (0x16) /**< (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler Offset */
  355. #define OSCCTRL_CFDPRESC_RESETVALUE _U_(0x00) /**< (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler Reset Value */
  356. #define OSCCTRL_CFDPRESC_CFDPRESC_Pos 0 /**< (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler Position */
  357. #define OSCCTRL_CFDPRESC_CFDPRESC_Msk (_U_(0x7) << OSCCTRL_CFDPRESC_CFDPRESC_Pos) /**< (OSCCTRL_CFDPRESC) Clock Failure Detector Prescaler Mask */
  358. #define OSCCTRL_CFDPRESC_CFDPRESC(value) (OSCCTRL_CFDPRESC_CFDPRESC_Msk & ((value) << OSCCTRL_CFDPRESC_CFDPRESC_Pos))
  359. #define OSCCTRL_CFDPRESC_MASK _U_(0x07) /**< \deprecated (OSCCTRL_CFDPRESC) Register MASK (Use OSCCTRL_CFDPRESC_Msk instead) */
  360. #define OSCCTRL_CFDPRESC_Msk _U_(0x07) /**< (OSCCTRL_CFDPRESC) Register Mask */
  361. /* -------- OSCCTRL_OSC16MCTRL : (OSCCTRL Offset: 0x18) (R/W 8) 16MHz Internal Oscillator (OSC16M) Control -------- */
  362. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  363. typedef union {
  364. struct {
  365. uint8_t :1; /**< bit: 0 Reserved */
  366. uint8_t ENABLE:1; /**< bit: 1 Oscillator Enable */
  367. uint8_t FSEL:2; /**< bit: 2..3 Oscillator Frequency Selection */
  368. uint8_t :2; /**< bit: 4..5 Reserved */
  369. uint8_t RUNSTDBY:1; /**< bit: 6 Run in Standby */
  370. uint8_t ONDEMAND:1; /**< bit: 7 On Demand Control */
  371. } bit; /**< Structure used for bit access */
  372. uint8_t reg; /**< Type used for register access */
  373. } OSCCTRL_OSC16MCTRL_Type;
  374. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  375. #define OSCCTRL_OSC16MCTRL_OFFSET (0x18) /**< (OSCCTRL_OSC16MCTRL) 16MHz Internal Oscillator (OSC16M) Control Offset */
  376. #define OSCCTRL_OSC16MCTRL_RESETVALUE _U_(0x82) /**< (OSCCTRL_OSC16MCTRL) 16MHz Internal Oscillator (OSC16M) Control Reset Value */
  377. #define OSCCTRL_OSC16MCTRL_ENABLE_Pos 1 /**< (OSCCTRL_OSC16MCTRL) Oscillator Enable Position */
  378. #define OSCCTRL_OSC16MCTRL_ENABLE_Msk (_U_(0x1) << OSCCTRL_OSC16MCTRL_ENABLE_Pos) /**< (OSCCTRL_OSC16MCTRL) Oscillator Enable Mask */
  379. #define OSCCTRL_OSC16MCTRL_ENABLE OSCCTRL_OSC16MCTRL_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_ENABLE_Msk instead */
  380. #define OSCCTRL_OSC16MCTRL_FSEL_Pos 2 /**< (OSCCTRL_OSC16MCTRL) Oscillator Frequency Selection Position */
  381. #define OSCCTRL_OSC16MCTRL_FSEL_Msk (_U_(0x3) << OSCCTRL_OSC16MCTRL_FSEL_Pos) /**< (OSCCTRL_OSC16MCTRL) Oscillator Frequency Selection Mask */
  382. #define OSCCTRL_OSC16MCTRL_FSEL(value) (OSCCTRL_OSC16MCTRL_FSEL_Msk & ((value) << OSCCTRL_OSC16MCTRL_FSEL_Pos))
  383. #define OSCCTRL_OSC16MCTRL_FSEL_4_Val _U_(0x0) /**< (OSCCTRL_OSC16MCTRL) 4MHz */
  384. #define OSCCTRL_OSC16MCTRL_FSEL_8_Val _U_(0x1) /**< (OSCCTRL_OSC16MCTRL) 8MHz */
  385. #define OSCCTRL_OSC16MCTRL_FSEL_12_Val _U_(0x2) /**< (OSCCTRL_OSC16MCTRL) 12MHz */
  386. #define OSCCTRL_OSC16MCTRL_FSEL_16_Val _U_(0x3) /**< (OSCCTRL_OSC16MCTRL) 16MHz */
  387. #define OSCCTRL_OSC16MCTRL_FSEL_4 (OSCCTRL_OSC16MCTRL_FSEL_4_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos) /**< (OSCCTRL_OSC16MCTRL) 4MHz Position */
  388. #define OSCCTRL_OSC16MCTRL_FSEL_8 (OSCCTRL_OSC16MCTRL_FSEL_8_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos) /**< (OSCCTRL_OSC16MCTRL) 8MHz Position */
  389. #define OSCCTRL_OSC16MCTRL_FSEL_12 (OSCCTRL_OSC16MCTRL_FSEL_12_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos) /**< (OSCCTRL_OSC16MCTRL) 12MHz Position */
  390. #define OSCCTRL_OSC16MCTRL_FSEL_16 (OSCCTRL_OSC16MCTRL_FSEL_16_Val << OSCCTRL_OSC16MCTRL_FSEL_Pos) /**< (OSCCTRL_OSC16MCTRL) 16MHz Position */
  391. #define OSCCTRL_OSC16MCTRL_RUNSTDBY_Pos 6 /**< (OSCCTRL_OSC16MCTRL) Run in Standby Position */
  392. #define OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk (_U_(0x1) << OSCCTRL_OSC16MCTRL_RUNSTDBY_Pos) /**< (OSCCTRL_OSC16MCTRL) Run in Standby Mask */
  393. #define OSCCTRL_OSC16MCTRL_RUNSTDBY OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_RUNSTDBY_Msk instead */
  394. #define OSCCTRL_OSC16MCTRL_ONDEMAND_Pos 7 /**< (OSCCTRL_OSC16MCTRL) On Demand Control Position */
  395. #define OSCCTRL_OSC16MCTRL_ONDEMAND_Msk (_U_(0x1) << OSCCTRL_OSC16MCTRL_ONDEMAND_Pos) /**< (OSCCTRL_OSC16MCTRL) On Demand Control Mask */
  396. #define OSCCTRL_OSC16MCTRL_ONDEMAND OSCCTRL_OSC16MCTRL_ONDEMAND_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_OSC16MCTRL_ONDEMAND_Msk instead */
  397. #define OSCCTRL_OSC16MCTRL_MASK _U_(0xCE) /**< \deprecated (OSCCTRL_OSC16MCTRL) Register MASK (Use OSCCTRL_OSC16MCTRL_Msk instead) */
  398. #define OSCCTRL_OSC16MCTRL_Msk _U_(0xCE) /**< (OSCCTRL_OSC16MCTRL) Register Mask */
  399. /* -------- OSCCTRL_DFLLULPCTRL : (OSCCTRL Offset: 0x1c) (R/W 16) DFLLULP Control -------- */
  400. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  401. typedef union {
  402. struct {
  403. uint16_t :1; /**< bit: 0 Reserved */
  404. uint16_t ENABLE:1; /**< bit: 1 Enable */
  405. uint16_t :1; /**< bit: 2 Reserved */
  406. uint16_t BINSE:1; /**< bit: 3 Binary Search Enable */
  407. uint16_t SAFE:1; /**< bit: 4 Tuner Safe Mode */
  408. uint16_t DITHER:1; /**< bit: 5 Tuner Dither Mode */
  409. uint16_t RUNSTDBY:1; /**< bit: 6 Run in Standby */
  410. uint16_t ONDEMAND:1; /**< bit: 7 On Demand */
  411. uint16_t DIV:3; /**< bit: 8..10 Division Factor */
  412. uint16_t :5; /**< bit: 11..15 Reserved */
  413. } bit; /**< Structure used for bit access */
  414. uint16_t reg; /**< Type used for register access */
  415. } OSCCTRL_DFLLULPCTRL_Type;
  416. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  417. #define OSCCTRL_DFLLULPCTRL_OFFSET (0x1C) /**< (OSCCTRL_DFLLULPCTRL) DFLLULP Control Offset */
  418. #define OSCCTRL_DFLLULPCTRL_RESETVALUE _U_(0x504) /**< (OSCCTRL_DFLLULPCTRL) DFLLULP Control Reset Value */
  419. #define OSCCTRL_DFLLULPCTRL_ENABLE_Pos 1 /**< (OSCCTRL_DFLLULPCTRL) Enable Position */
  420. #define OSCCTRL_DFLLULPCTRL_ENABLE_Msk (_U_(0x1) << OSCCTRL_DFLLULPCTRL_ENABLE_Pos) /**< (OSCCTRL_DFLLULPCTRL) Enable Mask */
  421. #define OSCCTRL_DFLLULPCTRL_ENABLE OSCCTRL_DFLLULPCTRL_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_ENABLE_Msk instead */
  422. #define OSCCTRL_DFLLULPCTRL_BINSE_Pos 3 /**< (OSCCTRL_DFLLULPCTRL) Binary Search Enable Position */
  423. #define OSCCTRL_DFLLULPCTRL_BINSE_Msk (_U_(0x1) << OSCCTRL_DFLLULPCTRL_BINSE_Pos) /**< (OSCCTRL_DFLLULPCTRL) Binary Search Enable Mask */
  424. #define OSCCTRL_DFLLULPCTRL_BINSE OSCCTRL_DFLLULPCTRL_BINSE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_BINSE_Msk instead */
  425. #define OSCCTRL_DFLLULPCTRL_SAFE_Pos 4 /**< (OSCCTRL_DFLLULPCTRL) Tuner Safe Mode Position */
  426. #define OSCCTRL_DFLLULPCTRL_SAFE_Msk (_U_(0x1) << OSCCTRL_DFLLULPCTRL_SAFE_Pos) /**< (OSCCTRL_DFLLULPCTRL) Tuner Safe Mode Mask */
  427. #define OSCCTRL_DFLLULPCTRL_SAFE OSCCTRL_DFLLULPCTRL_SAFE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_SAFE_Msk instead */
  428. #define OSCCTRL_DFLLULPCTRL_DITHER_Pos 5 /**< (OSCCTRL_DFLLULPCTRL) Tuner Dither Mode Position */
  429. #define OSCCTRL_DFLLULPCTRL_DITHER_Msk (_U_(0x1) << OSCCTRL_DFLLULPCTRL_DITHER_Pos) /**< (OSCCTRL_DFLLULPCTRL) Tuner Dither Mode Mask */
  430. #define OSCCTRL_DFLLULPCTRL_DITHER OSCCTRL_DFLLULPCTRL_DITHER_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_DITHER_Msk instead */
  431. #define OSCCTRL_DFLLULPCTRL_RUNSTDBY_Pos 6 /**< (OSCCTRL_DFLLULPCTRL) Run in Standby Position */
  432. #define OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk (_U_(0x1) << OSCCTRL_DFLLULPCTRL_RUNSTDBY_Pos) /**< (OSCCTRL_DFLLULPCTRL) Run in Standby Mask */
  433. #define OSCCTRL_DFLLULPCTRL_RUNSTDBY OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_RUNSTDBY_Msk instead */
  434. #define OSCCTRL_DFLLULPCTRL_ONDEMAND_Pos 7 /**< (OSCCTRL_DFLLULPCTRL) On Demand Position */
  435. #define OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk (_U_(0x1) << OSCCTRL_DFLLULPCTRL_ONDEMAND_Pos) /**< (OSCCTRL_DFLLULPCTRL) On Demand Mask */
  436. #define OSCCTRL_DFLLULPCTRL_ONDEMAND OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPCTRL_ONDEMAND_Msk instead */
  437. #define OSCCTRL_DFLLULPCTRL_DIV_Pos 8 /**< (OSCCTRL_DFLLULPCTRL) Division Factor Position */
  438. #define OSCCTRL_DFLLULPCTRL_DIV_Msk (_U_(0x7) << OSCCTRL_DFLLULPCTRL_DIV_Pos) /**< (OSCCTRL_DFLLULPCTRL) Division Factor Mask */
  439. #define OSCCTRL_DFLLULPCTRL_DIV(value) (OSCCTRL_DFLLULPCTRL_DIV_Msk & ((value) << OSCCTRL_DFLLULPCTRL_DIV_Pos))
  440. #define OSCCTRL_DFLLULPCTRL_DIV_DIV1_Val _U_(0x0) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 1 */
  441. #define OSCCTRL_DFLLULPCTRL_DIV_DIV2_Val _U_(0x1) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 2 */
  442. #define OSCCTRL_DFLLULPCTRL_DIV_DIV4_Val _U_(0x2) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 4 */
  443. #define OSCCTRL_DFLLULPCTRL_DIV_DIV8_Val _U_(0x3) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 8 */
  444. #define OSCCTRL_DFLLULPCTRL_DIV_DIV16_Val _U_(0x4) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 16 */
  445. #define OSCCTRL_DFLLULPCTRL_DIV_DIV32_Val _U_(0x5) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 32 */
  446. #define OSCCTRL_DFLLULPCTRL_DIV_DIV1 (OSCCTRL_DFLLULPCTRL_DIV_DIV1_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 1 Position */
  447. #define OSCCTRL_DFLLULPCTRL_DIV_DIV2 (OSCCTRL_DFLLULPCTRL_DIV_DIV2_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 2 Position */
  448. #define OSCCTRL_DFLLULPCTRL_DIV_DIV4 (OSCCTRL_DFLLULPCTRL_DIV_DIV4_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 4 Position */
  449. #define OSCCTRL_DFLLULPCTRL_DIV_DIV8 (OSCCTRL_DFLLULPCTRL_DIV_DIV8_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 8 Position */
  450. #define OSCCTRL_DFLLULPCTRL_DIV_DIV16 (OSCCTRL_DFLLULPCTRL_DIV_DIV16_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 16 Position */
  451. #define OSCCTRL_DFLLULPCTRL_DIV_DIV32 (OSCCTRL_DFLLULPCTRL_DIV_DIV32_Val << OSCCTRL_DFLLULPCTRL_DIV_Pos) /**< (OSCCTRL_DFLLULPCTRL) Frequency Divided by 32 Position */
  452. #define OSCCTRL_DFLLULPCTRL_MASK _U_(0x7FA) /**< \deprecated (OSCCTRL_DFLLULPCTRL) Register MASK (Use OSCCTRL_DFLLULPCTRL_Msk instead) */
  453. #define OSCCTRL_DFLLULPCTRL_Msk _U_(0x7FA) /**< (OSCCTRL_DFLLULPCTRL) Register Mask */
  454. /* -------- OSCCTRL_DFLLULPDITHER : (OSCCTRL Offset: 0x1e) (R/W 8) DFLLULP Dither Control -------- */
  455. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  456. typedef union {
  457. struct {
  458. uint8_t STEP:3; /**< bit: 0..2 Dither Step */
  459. uint8_t :1; /**< bit: 3 Reserved */
  460. uint8_t PER:3; /**< bit: 4..6 Dither Period */
  461. uint8_t :1; /**< bit: 7 Reserved */
  462. } bit; /**< Structure used for bit access */
  463. uint8_t reg; /**< Type used for register access */
  464. } OSCCTRL_DFLLULPDITHER_Type;
  465. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  466. #define OSCCTRL_DFLLULPDITHER_OFFSET (0x1E) /**< (OSCCTRL_DFLLULPDITHER) DFLLULP Dither Control Offset */
  467. #define OSCCTRL_DFLLULPDITHER_RESETVALUE _U_(0x00) /**< (OSCCTRL_DFLLULPDITHER) DFLLULP Dither Control Reset Value */
  468. #define OSCCTRL_DFLLULPDITHER_STEP_Pos 0 /**< (OSCCTRL_DFLLULPDITHER) Dither Step Position */
  469. #define OSCCTRL_DFLLULPDITHER_STEP_Msk (_U_(0x7) << OSCCTRL_DFLLULPDITHER_STEP_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Step Mask */
  470. #define OSCCTRL_DFLLULPDITHER_STEP(value) (OSCCTRL_DFLLULPDITHER_STEP_Msk & ((value) << OSCCTRL_DFLLULPDITHER_STEP_Pos))
  471. #define OSCCTRL_DFLLULPDITHER_STEP_STEP1_Val _U_(0x0) /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 1 */
  472. #define OSCCTRL_DFLLULPDITHER_STEP_STEP2_Val _U_(0x1) /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 2 */
  473. #define OSCCTRL_DFLLULPDITHER_STEP_STEP4_Val _U_(0x2) /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 4 */
  474. #define OSCCTRL_DFLLULPDITHER_STEP_STEP8_Val _U_(0x3) /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 8 */
  475. #define OSCCTRL_DFLLULPDITHER_STEP_STEP1 (OSCCTRL_DFLLULPDITHER_STEP_STEP1_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 1 Position */
  476. #define OSCCTRL_DFLLULPDITHER_STEP_STEP2 (OSCCTRL_DFLLULPDITHER_STEP_STEP2_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 2 Position */
  477. #define OSCCTRL_DFLLULPDITHER_STEP_STEP4 (OSCCTRL_DFLLULPDITHER_STEP_STEP4_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 4 Position */
  478. #define OSCCTRL_DFLLULPDITHER_STEP_STEP8 (OSCCTRL_DFLLULPDITHER_STEP_STEP8_Val << OSCCTRL_DFLLULPDITHER_STEP_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Step = 8 Position */
  479. #define OSCCTRL_DFLLULPDITHER_PER_Pos 4 /**< (OSCCTRL_DFLLULPDITHER) Dither Period Position */
  480. #define OSCCTRL_DFLLULPDITHER_PER_Msk (_U_(0x7) << OSCCTRL_DFLLULPDITHER_PER_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Period Mask */
  481. #define OSCCTRL_DFLLULPDITHER_PER(value) (OSCCTRL_DFLLULPDITHER_PER_Msk & ((value) << OSCCTRL_DFLLULPDITHER_PER_Pos))
  482. #define OSCCTRL_DFLLULPDITHER_PER_PER1_Val _U_(0x0) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 1 Reference Clock Period */
  483. #define OSCCTRL_DFLLULPDITHER_PER_PER2_Val _U_(0x1) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 2 Reference Clock Period */
  484. #define OSCCTRL_DFLLULPDITHER_PER_PER4_Val _U_(0x2) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 4 Reference Clock Period */
  485. #define OSCCTRL_DFLLULPDITHER_PER_PER8_Val _U_(0x3) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 8 Reference Clock Period */
  486. #define OSCCTRL_DFLLULPDITHER_PER_PER16_Val _U_(0x4) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 16 Reference Clock Period */
  487. #define OSCCTRL_DFLLULPDITHER_PER_PER32_Val _U_(0x5) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 32 Reference Clock Period */
  488. #define OSCCTRL_DFLLULPDITHER_PER_PER1 (OSCCTRL_DFLLULPDITHER_PER_PER1_Val << OSCCTRL_DFLLULPDITHER_PER_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 1 Reference Clock Period Position */
  489. #define OSCCTRL_DFLLULPDITHER_PER_PER2 (OSCCTRL_DFLLULPDITHER_PER_PER2_Val << OSCCTRL_DFLLULPDITHER_PER_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 2 Reference Clock Period Position */
  490. #define OSCCTRL_DFLLULPDITHER_PER_PER4 (OSCCTRL_DFLLULPDITHER_PER_PER4_Val << OSCCTRL_DFLLULPDITHER_PER_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 4 Reference Clock Period Position */
  491. #define OSCCTRL_DFLLULPDITHER_PER_PER8 (OSCCTRL_DFLLULPDITHER_PER_PER8_Val << OSCCTRL_DFLLULPDITHER_PER_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 8 Reference Clock Period Position */
  492. #define OSCCTRL_DFLLULPDITHER_PER_PER16 (OSCCTRL_DFLLULPDITHER_PER_PER16_Val << OSCCTRL_DFLLULPDITHER_PER_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 16 Reference Clock Period Position */
  493. #define OSCCTRL_DFLLULPDITHER_PER_PER32 (OSCCTRL_DFLLULPDITHER_PER_PER32_Val << OSCCTRL_DFLLULPDITHER_PER_Pos) /**< (OSCCTRL_DFLLULPDITHER) Dither Over 32 Reference Clock Period Position */
  494. #define OSCCTRL_DFLLULPDITHER_MASK _U_(0x77) /**< \deprecated (OSCCTRL_DFLLULPDITHER) Register MASK (Use OSCCTRL_DFLLULPDITHER_Msk instead) */
  495. #define OSCCTRL_DFLLULPDITHER_Msk _U_(0x77) /**< (OSCCTRL_DFLLULPDITHER) Register Mask */
  496. /* -------- OSCCTRL_DFLLULPRREQ : (OSCCTRL Offset: 0x1f) (R/W 8) DFLLULP Read Request -------- */
  497. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  498. typedef union {
  499. struct {
  500. uint8_t :7; /**< bit: 0..6 Reserved */
  501. uint8_t RREQ:1; /**< bit: 7 Read Request */
  502. } bit; /**< Structure used for bit access */
  503. uint8_t reg; /**< Type used for register access */
  504. } OSCCTRL_DFLLULPRREQ_Type;
  505. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  506. #define OSCCTRL_DFLLULPRREQ_OFFSET (0x1F) /**< (OSCCTRL_DFLLULPRREQ) DFLLULP Read Request Offset */
  507. #define OSCCTRL_DFLLULPRREQ_RESETVALUE _U_(0x00) /**< (OSCCTRL_DFLLULPRREQ) DFLLULP Read Request Reset Value */
  508. #define OSCCTRL_DFLLULPRREQ_RREQ_Pos 7 /**< (OSCCTRL_DFLLULPRREQ) Read Request Position */
  509. #define OSCCTRL_DFLLULPRREQ_RREQ_Msk (_U_(0x1) << OSCCTRL_DFLLULPRREQ_RREQ_Pos) /**< (OSCCTRL_DFLLULPRREQ) Read Request Mask */
  510. #define OSCCTRL_DFLLULPRREQ_RREQ OSCCTRL_DFLLULPRREQ_RREQ_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPRREQ_RREQ_Msk instead */
  511. #define OSCCTRL_DFLLULPRREQ_MASK _U_(0x80) /**< \deprecated (OSCCTRL_DFLLULPRREQ) Register MASK (Use OSCCTRL_DFLLULPRREQ_Msk instead) */
  512. #define OSCCTRL_DFLLULPRREQ_Msk _U_(0x80) /**< (OSCCTRL_DFLLULPRREQ) Register Mask */
  513. /* -------- OSCCTRL_DFLLULPDLY : (OSCCTRL Offset: 0x20) (R/W 32) DFLLULP Delay Value -------- */
  514. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  515. typedef union {
  516. struct {
  517. uint32_t DELAY:8; /**< bit: 0..7 Delay Value */
  518. uint32_t :24; /**< bit: 8..31 Reserved */
  519. } bit; /**< Structure used for bit access */
  520. uint32_t reg; /**< Type used for register access */
  521. } OSCCTRL_DFLLULPDLY_Type;
  522. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  523. #define OSCCTRL_DFLLULPDLY_OFFSET (0x20) /**< (OSCCTRL_DFLLULPDLY) DFLLULP Delay Value Offset */
  524. #define OSCCTRL_DFLLULPDLY_RESETVALUE _U_(0x80) /**< (OSCCTRL_DFLLULPDLY) DFLLULP Delay Value Reset Value */
  525. #define OSCCTRL_DFLLULPDLY_DELAY_Pos 0 /**< (OSCCTRL_DFLLULPDLY) Delay Value Position */
  526. #define OSCCTRL_DFLLULPDLY_DELAY_Msk (_U_(0xFF) << OSCCTRL_DFLLULPDLY_DELAY_Pos) /**< (OSCCTRL_DFLLULPDLY) Delay Value Mask */
  527. #define OSCCTRL_DFLLULPDLY_DELAY(value) (OSCCTRL_DFLLULPDLY_DELAY_Msk & ((value) << OSCCTRL_DFLLULPDLY_DELAY_Pos))
  528. #define OSCCTRL_DFLLULPDLY_MASK _U_(0xFF) /**< \deprecated (OSCCTRL_DFLLULPDLY) Register MASK (Use OSCCTRL_DFLLULPDLY_Msk instead) */
  529. #define OSCCTRL_DFLLULPDLY_Msk _U_(0xFF) /**< (OSCCTRL_DFLLULPDLY) Register Mask */
  530. /* -------- OSCCTRL_DFLLULPRATIO : (OSCCTRL Offset: 0x24) (R/W 32) DFLLULP Target Ratio -------- */
  531. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  532. typedef union {
  533. struct {
  534. uint32_t RATIO:11; /**< bit: 0..10 Target Tuner Ratio */
  535. uint32_t :21; /**< bit: 11..31 Reserved */
  536. } bit; /**< Structure used for bit access */
  537. uint32_t reg; /**< Type used for register access */
  538. } OSCCTRL_DFLLULPRATIO_Type;
  539. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  540. #define OSCCTRL_DFLLULPRATIO_OFFSET (0x24) /**< (OSCCTRL_DFLLULPRATIO) DFLLULP Target Ratio Offset */
  541. #define OSCCTRL_DFLLULPRATIO_RESETVALUE _U_(0x00) /**< (OSCCTRL_DFLLULPRATIO) DFLLULP Target Ratio Reset Value */
  542. #define OSCCTRL_DFLLULPRATIO_RATIO_Pos 0 /**< (OSCCTRL_DFLLULPRATIO) Target Tuner Ratio Position */
  543. #define OSCCTRL_DFLLULPRATIO_RATIO_Msk (_U_(0x7FF) << OSCCTRL_DFLLULPRATIO_RATIO_Pos) /**< (OSCCTRL_DFLLULPRATIO) Target Tuner Ratio Mask */
  544. #define OSCCTRL_DFLLULPRATIO_RATIO(value) (OSCCTRL_DFLLULPRATIO_RATIO_Msk & ((value) << OSCCTRL_DFLLULPRATIO_RATIO_Pos))
  545. #define OSCCTRL_DFLLULPRATIO_MASK _U_(0x7FF) /**< \deprecated (OSCCTRL_DFLLULPRATIO) Register MASK (Use OSCCTRL_DFLLULPRATIO_Msk instead) */
  546. #define OSCCTRL_DFLLULPRATIO_Msk _U_(0x7FF) /**< (OSCCTRL_DFLLULPRATIO) Register Mask */
  547. /* -------- OSCCTRL_DFLLULPSYNCBUSY : (OSCCTRL Offset: 0x28) (R/ 32) DFLLULP Synchronization Busy -------- */
  548. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  549. typedef union {
  550. struct {
  551. uint32_t :1; /**< bit: 0 Reserved */
  552. uint32_t ENABLE:1; /**< bit: 1 Enable Bit Synchronization Busy */
  553. uint32_t TUNE:1; /**< bit: 2 Tune Bit Synchronization Busy */
  554. uint32_t DELAY:1; /**< bit: 3 Delay Register Synchronization Busy */
  555. uint32_t :28; /**< bit: 4..31 Reserved */
  556. } bit; /**< Structure used for bit access */
  557. uint32_t reg; /**< Type used for register access */
  558. } OSCCTRL_DFLLULPSYNCBUSY_Type;
  559. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  560. #define OSCCTRL_DFLLULPSYNCBUSY_OFFSET (0x28) /**< (OSCCTRL_DFLLULPSYNCBUSY) DFLLULP Synchronization Busy Offset */
  561. #define OSCCTRL_DFLLULPSYNCBUSY_RESETVALUE _U_(0x00) /**< (OSCCTRL_DFLLULPSYNCBUSY) DFLLULP Synchronization Busy Reset Value */
  562. #define OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Pos 1 /**< (OSCCTRL_DFLLULPSYNCBUSY) Enable Bit Synchronization Busy Position */
  563. #define OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Pos) /**< (OSCCTRL_DFLLULPSYNCBUSY) Enable Bit Synchronization Busy Mask */
  564. #define OSCCTRL_DFLLULPSYNCBUSY_ENABLE OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_ENABLE_Msk instead */
  565. #define OSCCTRL_DFLLULPSYNCBUSY_TUNE_Pos 2 /**< (OSCCTRL_DFLLULPSYNCBUSY) Tune Bit Synchronization Busy Position */
  566. #define OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_TUNE_Pos) /**< (OSCCTRL_DFLLULPSYNCBUSY) Tune Bit Synchronization Busy Mask */
  567. #define OSCCTRL_DFLLULPSYNCBUSY_TUNE OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_TUNE_Msk instead */
  568. #define OSCCTRL_DFLLULPSYNCBUSY_DELAY_Pos 3 /**< (OSCCTRL_DFLLULPSYNCBUSY) Delay Register Synchronization Busy Position */
  569. #define OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk (_U_(0x1) << OSCCTRL_DFLLULPSYNCBUSY_DELAY_Pos) /**< (OSCCTRL_DFLLULPSYNCBUSY) Delay Register Synchronization Busy Mask */
  570. #define OSCCTRL_DFLLULPSYNCBUSY_DELAY OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DFLLULPSYNCBUSY_DELAY_Msk instead */
  571. #define OSCCTRL_DFLLULPSYNCBUSY_MASK _U_(0x0E) /**< \deprecated (OSCCTRL_DFLLULPSYNCBUSY) Register MASK (Use OSCCTRL_DFLLULPSYNCBUSY_Msk instead) */
  572. #define OSCCTRL_DFLLULPSYNCBUSY_Msk _U_(0x0E) /**< (OSCCTRL_DFLLULPSYNCBUSY) Register Mask */
  573. /* -------- OSCCTRL_DPLLCTRLA : (OSCCTRL Offset: 0x2c) (R/W 8) DPLL Control A -------- */
  574. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  575. typedef union {
  576. struct {
  577. uint8_t :1; /**< bit: 0 Reserved */
  578. uint8_t ENABLE:1; /**< bit: 1 DPLL Enable */
  579. uint8_t :4; /**< bit: 2..5 Reserved */
  580. uint8_t RUNSTDBY:1; /**< bit: 6 Run in Standby */
  581. uint8_t ONDEMAND:1; /**< bit: 7 On Demand Clock Activation */
  582. } bit; /**< Structure used for bit access */
  583. uint8_t reg; /**< Type used for register access */
  584. } OSCCTRL_DPLLCTRLA_Type;
  585. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  586. #define OSCCTRL_DPLLCTRLA_OFFSET (0x2C) /**< (OSCCTRL_DPLLCTRLA) DPLL Control A Offset */
  587. #define OSCCTRL_DPLLCTRLA_RESETVALUE _U_(0x80) /**< (OSCCTRL_DPLLCTRLA) DPLL Control A Reset Value */
  588. #define OSCCTRL_DPLLCTRLA_ENABLE_Pos 1 /**< (OSCCTRL_DPLLCTRLA) DPLL Enable Position */
  589. #define OSCCTRL_DPLLCTRLA_ENABLE_Msk (_U_(0x1) << OSCCTRL_DPLLCTRLA_ENABLE_Pos) /**< (OSCCTRL_DPLLCTRLA) DPLL Enable Mask */
  590. #define OSCCTRL_DPLLCTRLA_ENABLE OSCCTRL_DPLLCTRLA_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_ENABLE_Msk instead */
  591. #define OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos 6 /**< (OSCCTRL_DPLLCTRLA) Run in Standby Position */
  592. #define OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk (_U_(0x1) << OSCCTRL_DPLLCTRLA_RUNSTDBY_Pos) /**< (OSCCTRL_DPLLCTRLA) Run in Standby Mask */
  593. #define OSCCTRL_DPLLCTRLA_RUNSTDBY OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_RUNSTDBY_Msk instead */
  594. #define OSCCTRL_DPLLCTRLA_ONDEMAND_Pos 7 /**< (OSCCTRL_DPLLCTRLA) On Demand Clock Activation Position */
  595. #define OSCCTRL_DPLLCTRLA_ONDEMAND_Msk (_U_(0x1) << OSCCTRL_DPLLCTRLA_ONDEMAND_Pos) /**< (OSCCTRL_DPLLCTRLA) On Demand Clock Activation Mask */
  596. #define OSCCTRL_DPLLCTRLA_ONDEMAND OSCCTRL_DPLLCTRLA_ONDEMAND_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLA_ONDEMAND_Msk instead */
  597. #define OSCCTRL_DPLLCTRLA_MASK _U_(0xC2) /**< \deprecated (OSCCTRL_DPLLCTRLA) Register MASK (Use OSCCTRL_DPLLCTRLA_Msk instead) */
  598. #define OSCCTRL_DPLLCTRLA_Msk _U_(0xC2) /**< (OSCCTRL_DPLLCTRLA) Register Mask */
  599. /* -------- OSCCTRL_DPLLRATIO : (OSCCTRL Offset: 0x30) (R/W 32) DPLL Ratio Control -------- */
  600. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  601. typedef union {
  602. struct {
  603. uint32_t LDR:12; /**< bit: 0..11 Loop Divider Ratio */
  604. uint32_t :4; /**< bit: 12..15 Reserved */
  605. uint32_t LDRFRAC:4; /**< bit: 16..19 Loop Divider Ratio Fractional Part */
  606. uint32_t :12; /**< bit: 20..31 Reserved */
  607. } bit; /**< Structure used for bit access */
  608. uint32_t reg; /**< Type used for register access */
  609. } OSCCTRL_DPLLRATIO_Type;
  610. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  611. #define OSCCTRL_DPLLRATIO_OFFSET (0x30) /**< (OSCCTRL_DPLLRATIO) DPLL Ratio Control Offset */
  612. #define OSCCTRL_DPLLRATIO_RESETVALUE _U_(0x00) /**< (OSCCTRL_DPLLRATIO) DPLL Ratio Control Reset Value */
  613. #define OSCCTRL_DPLLRATIO_LDR_Pos 0 /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Position */
  614. #define OSCCTRL_DPLLRATIO_LDR_Msk (_U_(0xFFF) << OSCCTRL_DPLLRATIO_LDR_Pos) /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Mask */
  615. #define OSCCTRL_DPLLRATIO_LDR(value) (OSCCTRL_DPLLRATIO_LDR_Msk & ((value) << OSCCTRL_DPLLRATIO_LDR_Pos))
  616. #define OSCCTRL_DPLLRATIO_LDRFRAC_Pos 16 /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Fractional Part Position */
  617. #define OSCCTRL_DPLLRATIO_LDRFRAC_Msk (_U_(0xF) << OSCCTRL_DPLLRATIO_LDRFRAC_Pos) /**< (OSCCTRL_DPLLRATIO) Loop Divider Ratio Fractional Part Mask */
  618. #define OSCCTRL_DPLLRATIO_LDRFRAC(value) (OSCCTRL_DPLLRATIO_LDRFRAC_Msk & ((value) << OSCCTRL_DPLLRATIO_LDRFRAC_Pos))
  619. #define OSCCTRL_DPLLRATIO_MASK _U_(0xF0FFF) /**< \deprecated (OSCCTRL_DPLLRATIO) Register MASK (Use OSCCTRL_DPLLRATIO_Msk instead) */
  620. #define OSCCTRL_DPLLRATIO_Msk _U_(0xF0FFF) /**< (OSCCTRL_DPLLRATIO) Register Mask */
  621. /* -------- OSCCTRL_DPLLCTRLB : (OSCCTRL Offset: 0x34) (R/W 32) DPLL Control B -------- */
  622. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  623. typedef union {
  624. struct {
  625. uint32_t FILTER:2; /**< bit: 0..1 Proportional Integral Filter Selection */
  626. uint32_t LPEN:1; /**< bit: 2 Low-Power Enable */
  627. uint32_t WUF:1; /**< bit: 3 Wake Up Fast */
  628. uint32_t REFCLK:2; /**< bit: 4..5 Reference Clock Selection */
  629. uint32_t :2; /**< bit: 6..7 Reserved */
  630. uint32_t LTIME:3; /**< bit: 8..10 Lock Time */
  631. uint32_t :1; /**< bit: 11 Reserved */
  632. uint32_t LBYPASS:1; /**< bit: 12 Lock Bypass */
  633. uint32_t :3; /**< bit: 13..15 Reserved */
  634. uint32_t DIV:11; /**< bit: 16..26 Clock Divider */
  635. uint32_t :5; /**< bit: 27..31 Reserved */
  636. } bit; /**< Structure used for bit access */
  637. uint32_t reg; /**< Type used for register access */
  638. } OSCCTRL_DPLLCTRLB_Type;
  639. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  640. #define OSCCTRL_DPLLCTRLB_OFFSET (0x34) /**< (OSCCTRL_DPLLCTRLB) DPLL Control B Offset */
  641. #define OSCCTRL_DPLLCTRLB_RESETVALUE _U_(0x00) /**< (OSCCTRL_DPLLCTRLB) DPLL Control B Reset Value */
  642. #define OSCCTRL_DPLLCTRLB_FILTER_Pos 0 /**< (OSCCTRL_DPLLCTRLB) Proportional Integral Filter Selection Position */
  643. #define OSCCTRL_DPLLCTRLB_FILTER_Msk (_U_(0x3) << OSCCTRL_DPLLCTRLB_FILTER_Pos) /**< (OSCCTRL_DPLLCTRLB) Proportional Integral Filter Selection Mask */
  644. #define OSCCTRL_DPLLCTRLB_FILTER(value) (OSCCTRL_DPLLCTRLB_FILTER_Msk & ((value) << OSCCTRL_DPLLCTRLB_FILTER_Pos))
  645. #define OSCCTRL_DPLLCTRLB_FILTER_Default_Val _U_(0x0) /**< (OSCCTRL_DPLLCTRLB) Default Filter Mode */
  646. #define OSCCTRL_DPLLCTRLB_FILTER_LBFILT_Val _U_(0x1) /**< (OSCCTRL_DPLLCTRLB) Low Bandwidth Filter */
  647. #define OSCCTRL_DPLLCTRLB_FILTER_HBFILT_Val _U_(0x2) /**< (OSCCTRL_DPLLCTRLB) High Bandwidth Filter */
  648. #define OSCCTRL_DPLLCTRLB_FILTER_HDFILT_Val _U_(0x3) /**< (OSCCTRL_DPLLCTRLB) High Damping Filter */
  649. #define OSCCTRL_DPLLCTRLB_FILTER_Default (OSCCTRL_DPLLCTRLB_FILTER_Default_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos) /**< (OSCCTRL_DPLLCTRLB) Default Filter Mode Position */
  650. #define OSCCTRL_DPLLCTRLB_FILTER_LBFILT (OSCCTRL_DPLLCTRLB_FILTER_LBFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos) /**< (OSCCTRL_DPLLCTRLB) Low Bandwidth Filter Position */
  651. #define OSCCTRL_DPLLCTRLB_FILTER_HBFILT (OSCCTRL_DPLLCTRLB_FILTER_HBFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos) /**< (OSCCTRL_DPLLCTRLB) High Bandwidth Filter Position */
  652. #define OSCCTRL_DPLLCTRLB_FILTER_HDFILT (OSCCTRL_DPLLCTRLB_FILTER_HDFILT_Val << OSCCTRL_DPLLCTRLB_FILTER_Pos) /**< (OSCCTRL_DPLLCTRLB) High Damping Filter Position */
  653. #define OSCCTRL_DPLLCTRLB_LPEN_Pos 2 /**< (OSCCTRL_DPLLCTRLB) Low-Power Enable Position */
  654. #define OSCCTRL_DPLLCTRLB_LPEN_Msk (_U_(0x1) << OSCCTRL_DPLLCTRLB_LPEN_Pos) /**< (OSCCTRL_DPLLCTRLB) Low-Power Enable Mask */
  655. #define OSCCTRL_DPLLCTRLB_LPEN OSCCTRL_DPLLCTRLB_LPEN_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_LPEN_Msk instead */
  656. #define OSCCTRL_DPLLCTRLB_WUF_Pos 3 /**< (OSCCTRL_DPLLCTRLB) Wake Up Fast Position */
  657. #define OSCCTRL_DPLLCTRLB_WUF_Msk (_U_(0x1) << OSCCTRL_DPLLCTRLB_WUF_Pos) /**< (OSCCTRL_DPLLCTRLB) Wake Up Fast Mask */
  658. #define OSCCTRL_DPLLCTRLB_WUF OSCCTRL_DPLLCTRLB_WUF_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_WUF_Msk instead */
  659. #define OSCCTRL_DPLLCTRLB_REFCLK_Pos 4 /**< (OSCCTRL_DPLLCTRLB) Reference Clock Selection Position */
  660. #define OSCCTRL_DPLLCTRLB_REFCLK_Msk (_U_(0x3) << OSCCTRL_DPLLCTRLB_REFCLK_Pos) /**< (OSCCTRL_DPLLCTRLB) Reference Clock Selection Mask */
  661. #define OSCCTRL_DPLLCTRLB_REFCLK(value) (OSCCTRL_DPLLCTRLB_REFCLK_Msk & ((value) << OSCCTRL_DPLLCTRLB_REFCLK_Pos))
  662. #define OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K_Val _U_(0x0) /**< (OSCCTRL_DPLLCTRLB) XOSC32K Clock Reference */
  663. #define OSCCTRL_DPLLCTRLB_REFCLK_XOSC_Val _U_(0x1) /**< (OSCCTRL_DPLLCTRLB) XOSC Clock Reference */
  664. #define OSCCTRL_DPLLCTRLB_REFCLK_GCLK_Val _U_(0x2) /**< (OSCCTRL_DPLLCTRLB) GCLK Clock Reference */
  665. #define OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K (OSCCTRL_DPLLCTRLB_REFCLK_XOSC32K_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos) /**< (OSCCTRL_DPLLCTRLB) XOSC32K Clock Reference Position */
  666. #define OSCCTRL_DPLLCTRLB_REFCLK_XOSC (OSCCTRL_DPLLCTRLB_REFCLK_XOSC_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos) /**< (OSCCTRL_DPLLCTRLB) XOSC Clock Reference Position */
  667. #define OSCCTRL_DPLLCTRLB_REFCLK_GCLK (OSCCTRL_DPLLCTRLB_REFCLK_GCLK_Val << OSCCTRL_DPLLCTRLB_REFCLK_Pos) /**< (OSCCTRL_DPLLCTRLB) GCLK Clock Reference Position */
  668. #define OSCCTRL_DPLLCTRLB_LTIME_Pos 8 /**< (OSCCTRL_DPLLCTRLB) Lock Time Position */
  669. #define OSCCTRL_DPLLCTRLB_LTIME_Msk (_U_(0x7) << OSCCTRL_DPLLCTRLB_LTIME_Pos) /**< (OSCCTRL_DPLLCTRLB) Lock Time Mask */
  670. #define OSCCTRL_DPLLCTRLB_LTIME(value) (OSCCTRL_DPLLCTRLB_LTIME_Msk & ((value) << OSCCTRL_DPLLCTRLB_LTIME_Pos))
  671. #define OSCCTRL_DPLLCTRLB_LTIME_Default_Val _U_(0x0) /**< (OSCCTRL_DPLLCTRLB) No time-out. Automatic lock */
  672. #define OSCCTRL_DPLLCTRLB_LTIME_8MS_Val _U_(0x4) /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 8 ms */
  673. #define OSCCTRL_DPLLCTRLB_LTIME_9MS_Val _U_(0x5) /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 9 ms */
  674. #define OSCCTRL_DPLLCTRLB_LTIME_10MS_Val _U_(0x6) /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 10 ms */
  675. #define OSCCTRL_DPLLCTRLB_LTIME_11MS_Val _U_(0x7) /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 11 ms */
  676. #define OSCCTRL_DPLLCTRLB_LTIME_Default (OSCCTRL_DPLLCTRLB_LTIME_Default_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos) /**< (OSCCTRL_DPLLCTRLB) No time-out. Automatic lock Position */
  677. #define OSCCTRL_DPLLCTRLB_LTIME_8MS (OSCCTRL_DPLLCTRLB_LTIME_8MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos) /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 8 ms Position */
  678. #define OSCCTRL_DPLLCTRLB_LTIME_9MS (OSCCTRL_DPLLCTRLB_LTIME_9MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos) /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 9 ms Position */
  679. #define OSCCTRL_DPLLCTRLB_LTIME_10MS (OSCCTRL_DPLLCTRLB_LTIME_10MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos) /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 10 ms Position */
  680. #define OSCCTRL_DPLLCTRLB_LTIME_11MS (OSCCTRL_DPLLCTRLB_LTIME_11MS_Val << OSCCTRL_DPLLCTRLB_LTIME_Pos) /**< (OSCCTRL_DPLLCTRLB) Time-out if no lock within 11 ms Position */
  681. #define OSCCTRL_DPLLCTRLB_LBYPASS_Pos 12 /**< (OSCCTRL_DPLLCTRLB) Lock Bypass Position */
  682. #define OSCCTRL_DPLLCTRLB_LBYPASS_Msk (_U_(0x1) << OSCCTRL_DPLLCTRLB_LBYPASS_Pos) /**< (OSCCTRL_DPLLCTRLB) Lock Bypass Mask */
  683. #define OSCCTRL_DPLLCTRLB_LBYPASS OSCCTRL_DPLLCTRLB_LBYPASS_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLCTRLB_LBYPASS_Msk instead */
  684. #define OSCCTRL_DPLLCTRLB_DIV_Pos 16 /**< (OSCCTRL_DPLLCTRLB) Clock Divider Position */
  685. #define OSCCTRL_DPLLCTRLB_DIV_Msk (_U_(0x7FF) << OSCCTRL_DPLLCTRLB_DIV_Pos) /**< (OSCCTRL_DPLLCTRLB) Clock Divider Mask */
  686. #define OSCCTRL_DPLLCTRLB_DIV(value) (OSCCTRL_DPLLCTRLB_DIV_Msk & ((value) << OSCCTRL_DPLLCTRLB_DIV_Pos))
  687. #define OSCCTRL_DPLLCTRLB_MASK _U_(0x7FF173F) /**< \deprecated (OSCCTRL_DPLLCTRLB) Register MASK (Use OSCCTRL_DPLLCTRLB_Msk instead) */
  688. #define OSCCTRL_DPLLCTRLB_Msk _U_(0x7FF173F) /**< (OSCCTRL_DPLLCTRLB) Register Mask */
  689. /* -------- OSCCTRL_DPLLPRESC : (OSCCTRL Offset: 0x38) (R/W 8) DPLL Prescaler -------- */
  690. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  691. typedef union {
  692. struct {
  693. uint8_t PRESC:2; /**< bit: 0..1 Output Clock Prescaler */
  694. uint8_t :6; /**< bit: 2..7 Reserved */
  695. } bit; /**< Structure used for bit access */
  696. uint8_t reg; /**< Type used for register access */
  697. } OSCCTRL_DPLLPRESC_Type;
  698. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  699. #define OSCCTRL_DPLLPRESC_OFFSET (0x38) /**< (OSCCTRL_DPLLPRESC) DPLL Prescaler Offset */
  700. #define OSCCTRL_DPLLPRESC_RESETVALUE _U_(0x00) /**< (OSCCTRL_DPLLPRESC) DPLL Prescaler Reset Value */
  701. #define OSCCTRL_DPLLPRESC_PRESC_Pos 0 /**< (OSCCTRL_DPLLPRESC) Output Clock Prescaler Position */
  702. #define OSCCTRL_DPLLPRESC_PRESC_Msk (_U_(0x3) << OSCCTRL_DPLLPRESC_PRESC_Pos) /**< (OSCCTRL_DPLLPRESC) Output Clock Prescaler Mask */
  703. #define OSCCTRL_DPLLPRESC_PRESC(value) (OSCCTRL_DPLLPRESC_PRESC_Msk & ((value) << OSCCTRL_DPLLPRESC_PRESC_Pos))
  704. #define OSCCTRL_DPLLPRESC_PRESC_DIV1_Val _U_(0x0) /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 1 */
  705. #define OSCCTRL_DPLLPRESC_PRESC_DIV2_Val _U_(0x1) /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 2 */
  706. #define OSCCTRL_DPLLPRESC_PRESC_DIV4_Val _U_(0x2) /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 4 */
  707. #define OSCCTRL_DPLLPRESC_PRESC_DIV1 (OSCCTRL_DPLLPRESC_PRESC_DIV1_Val << OSCCTRL_DPLLPRESC_PRESC_Pos) /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 1 Position */
  708. #define OSCCTRL_DPLLPRESC_PRESC_DIV2 (OSCCTRL_DPLLPRESC_PRESC_DIV2_Val << OSCCTRL_DPLLPRESC_PRESC_Pos) /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 2 Position */
  709. #define OSCCTRL_DPLLPRESC_PRESC_DIV4 (OSCCTRL_DPLLPRESC_PRESC_DIV4_Val << OSCCTRL_DPLLPRESC_PRESC_Pos) /**< (OSCCTRL_DPLLPRESC) DPLL output is divided by 4 Position */
  710. #define OSCCTRL_DPLLPRESC_MASK _U_(0x03) /**< \deprecated (OSCCTRL_DPLLPRESC) Register MASK (Use OSCCTRL_DPLLPRESC_Msk instead) */
  711. #define OSCCTRL_DPLLPRESC_Msk _U_(0x03) /**< (OSCCTRL_DPLLPRESC) Register Mask */
  712. /* -------- OSCCTRL_DPLLSYNCBUSY : (OSCCTRL Offset: 0x3c) (R/ 8) DPLL Synchronization Busy -------- */
  713. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  714. typedef union {
  715. struct {
  716. uint8_t :1; /**< bit: 0 Reserved */
  717. uint8_t ENABLE:1; /**< bit: 1 DPLL Enable Synchronization Status */
  718. uint8_t DPLLRATIO:1; /**< bit: 2 DPLL Loop Divider Ratio Synchronization Status */
  719. uint8_t DPLLPRESC:1; /**< bit: 3 DPLL Prescaler Synchronization Status */
  720. uint8_t :4; /**< bit: 4..7 Reserved */
  721. } bit; /**< Structure used for bit access */
  722. uint8_t reg; /**< Type used for register access */
  723. } OSCCTRL_DPLLSYNCBUSY_Type;
  724. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  725. #define OSCCTRL_DPLLSYNCBUSY_OFFSET (0x3C) /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Synchronization Busy Offset */
  726. #define OSCCTRL_DPLLSYNCBUSY_RESETVALUE _U_(0x00) /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Synchronization Busy Reset Value */
  727. #define OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos 1 /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Enable Synchronization Status Position */
  728. #define OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_ENABLE_Pos) /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Enable Synchronization Status Mask */
  729. #define OSCCTRL_DPLLSYNCBUSY_ENABLE OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_ENABLE_Msk instead */
  730. #define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos 2 /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Loop Divider Ratio Synchronization Status Position */
  731. #define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Pos) /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Loop Divider Ratio Synchronization Status Mask */
  732. #define OSCCTRL_DPLLSYNCBUSY_DPLLRATIO OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_DPLLRATIO_Msk instead */
  733. #define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Pos 3 /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Prescaler Synchronization Status Position */
  734. #define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk (_U_(0x1) << OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Pos) /**< (OSCCTRL_DPLLSYNCBUSY) DPLL Prescaler Synchronization Status Mask */
  735. #define OSCCTRL_DPLLSYNCBUSY_DPLLPRESC OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSYNCBUSY_DPLLPRESC_Msk instead */
  736. #define OSCCTRL_DPLLSYNCBUSY_MASK _U_(0x0E) /**< \deprecated (OSCCTRL_DPLLSYNCBUSY) Register MASK (Use OSCCTRL_DPLLSYNCBUSY_Msk instead) */
  737. #define OSCCTRL_DPLLSYNCBUSY_Msk _U_(0x0E) /**< (OSCCTRL_DPLLSYNCBUSY) Register Mask */
  738. /* -------- OSCCTRL_DPLLSTATUS : (OSCCTRL Offset: 0x40) (R/ 8) DPLL Status -------- */
  739. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  740. typedef union {
  741. struct {
  742. uint8_t LOCK:1; /**< bit: 0 DPLL Lock */
  743. uint8_t CLKRDY:1; /**< bit: 1 DPLL Clock Ready */
  744. uint8_t :6; /**< bit: 2..7 Reserved */
  745. } bit; /**< Structure used for bit access */
  746. uint8_t reg; /**< Type used for register access */
  747. } OSCCTRL_DPLLSTATUS_Type;
  748. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  749. #define OSCCTRL_DPLLSTATUS_OFFSET (0x40) /**< (OSCCTRL_DPLLSTATUS) DPLL Status Offset */
  750. #define OSCCTRL_DPLLSTATUS_RESETVALUE _U_(0x00) /**< (OSCCTRL_DPLLSTATUS) DPLL Status Reset Value */
  751. #define OSCCTRL_DPLLSTATUS_LOCK_Pos 0 /**< (OSCCTRL_DPLLSTATUS) DPLL Lock Position */
  752. #define OSCCTRL_DPLLSTATUS_LOCK_Msk (_U_(0x1) << OSCCTRL_DPLLSTATUS_LOCK_Pos) /**< (OSCCTRL_DPLLSTATUS) DPLL Lock Mask */
  753. #define OSCCTRL_DPLLSTATUS_LOCK OSCCTRL_DPLLSTATUS_LOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSTATUS_LOCK_Msk instead */
  754. #define OSCCTRL_DPLLSTATUS_CLKRDY_Pos 1 /**< (OSCCTRL_DPLLSTATUS) DPLL Clock Ready Position */
  755. #define OSCCTRL_DPLLSTATUS_CLKRDY_Msk (_U_(0x1) << OSCCTRL_DPLLSTATUS_CLKRDY_Pos) /**< (OSCCTRL_DPLLSTATUS) DPLL Clock Ready Mask */
  756. #define OSCCTRL_DPLLSTATUS_CLKRDY OSCCTRL_DPLLSTATUS_CLKRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use OSCCTRL_DPLLSTATUS_CLKRDY_Msk instead */
  757. #define OSCCTRL_DPLLSTATUS_MASK _U_(0x03) /**< \deprecated (OSCCTRL_DPLLSTATUS) Register MASK (Use OSCCTRL_DPLLSTATUS_Msk instead) */
  758. #define OSCCTRL_DPLLSTATUS_Msk _U_(0x03) /**< (OSCCTRL_DPLLSTATUS) Register Mask */
  759. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  760. /** \brief OSCCTRL hardware registers */
  761. typedef struct { /* Oscillators Control */
  762. __IO OSCCTRL_EVCTRL_Type EVCTRL; /**< Offset: 0x00 (R/W 8) Event Control */
  763. __I uint8_t Reserved1[3];
  764. __IO OSCCTRL_INTENCLR_Type INTENCLR; /**< Offset: 0x04 (R/W 32) Interrupt Enable Clear */
  765. __IO OSCCTRL_INTENSET_Type INTENSET; /**< Offset: 0x08 (R/W 32) Interrupt Enable Set */
  766. __IO OSCCTRL_INTFLAG_Type INTFLAG; /**< Offset: 0x0C (R/W 32) Interrupt Flag Status and Clear */
  767. __I OSCCTRL_STATUS_Type STATUS; /**< Offset: 0x10 (R/ 32) Status */
  768. __IO OSCCTRL_XOSCCTRL_Type XOSCCTRL; /**< Offset: 0x14 (R/W 16) External Multipurpose Crystal Oscillator (XOSC) Control */
  769. __IO OSCCTRL_CFDPRESC_Type CFDPRESC; /**< Offset: 0x16 (R/W 8) Clock Failure Detector Prescaler */
  770. __I uint8_t Reserved2[1];
  771. __IO OSCCTRL_OSC16MCTRL_Type OSC16MCTRL; /**< Offset: 0x18 (R/W 8) 16MHz Internal Oscillator (OSC16M) Control */
  772. __I uint8_t Reserved3[3];
  773. __IO OSCCTRL_DFLLULPCTRL_Type DFLLULPCTRL; /**< Offset: 0x1C (R/W 16) DFLLULP Control */
  774. __IO OSCCTRL_DFLLULPDITHER_Type DFLLULPDITHER; /**< Offset: 0x1E (R/W 8) DFLLULP Dither Control */
  775. __IO OSCCTRL_DFLLULPRREQ_Type DFLLULPRREQ; /**< Offset: 0x1F (R/W 8) DFLLULP Read Request */
  776. __IO OSCCTRL_DFLLULPDLY_Type DFLLULPDLY; /**< Offset: 0x20 (R/W 32) DFLLULP Delay Value */
  777. __IO OSCCTRL_DFLLULPRATIO_Type DFLLULPRATIO; /**< Offset: 0x24 (R/W 32) DFLLULP Target Ratio */
  778. __I OSCCTRL_DFLLULPSYNCBUSY_Type DFLLULPSYNCBUSY; /**< Offset: 0x28 (R/ 32) DFLLULP Synchronization Busy */
  779. __IO OSCCTRL_DPLLCTRLA_Type DPLLCTRLA; /**< Offset: 0x2C (R/W 8) DPLL Control A */
  780. __I uint8_t Reserved4[3];
  781. __IO OSCCTRL_DPLLRATIO_Type DPLLRATIO; /**< Offset: 0x30 (R/W 32) DPLL Ratio Control */
  782. __IO OSCCTRL_DPLLCTRLB_Type DPLLCTRLB; /**< Offset: 0x34 (R/W 32) DPLL Control B */
  783. __IO OSCCTRL_DPLLPRESC_Type DPLLPRESC; /**< Offset: 0x38 (R/W 8) DPLL Prescaler */
  784. __I uint8_t Reserved5[3];
  785. __I OSCCTRL_DPLLSYNCBUSY_Type DPLLSYNCBUSY; /**< Offset: 0x3C (R/ 8) DPLL Synchronization Busy */
  786. __I uint8_t Reserved6[3];
  787. __I OSCCTRL_DPLLSTATUS_Type DPLLSTATUS; /**< Offset: 0x40 (R/ 8) DPLL Status */
  788. } Oscctrl;
  789. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  790. /** @} end of Oscillators Control */
  791. #endif /* _SAML11_OSCCTRL_COMPONENT_H_ */