supc.h 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. /**
  2. * \file
  3. *
  4. * \brief Component description for SUPC
  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_SUPC_COMPONENT_H_
  31. #define _SAML11_SUPC_COMPONENT_H_
  32. #define _SAML11_SUPC_COMPONENT_ /**< \deprecated Backward compatibility for ASF */
  33. /** \addtogroup SAML_SAML11 Supply Controller
  34. * @{
  35. */
  36. /* ========================================================================== */
  37. /** SOFTWARE API DEFINITION FOR SUPC */
  38. /* ========================================================================== */
  39. #define SUPC_U2117 /**< (SUPC) Module ID */
  40. #define REV_SUPC 0x400 /**< (SUPC) Module revision */
  41. /* -------- SUPC_INTENCLR : (SUPC Offset: 0x00) (R/W 32) Interrupt Enable Clear -------- */
  42. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  43. typedef union {
  44. struct {
  45. uint32_t BOD33RDY:1; /**< bit: 0 BOD33 Ready */
  46. uint32_t BOD33DET:1; /**< bit: 1 BOD33 Detection */
  47. uint32_t B33SRDY:1; /**< bit: 2 BOD33 Synchronization Ready */
  48. uint32_t BOD12RDY:1; /**< bit: 3 BOD12 Ready */
  49. uint32_t BOD12DET:1; /**< bit: 4 BOD12 Detection */
  50. uint32_t B12SRDY:1; /**< bit: 5 BOD12 Synchronization Ready */
  51. uint32_t :2; /**< bit: 6..7 Reserved */
  52. uint32_t VREGRDY:1; /**< bit: 8 Voltage Regulator Ready */
  53. uint32_t :1; /**< bit: 9 Reserved */
  54. uint32_t VCORERDY:1; /**< bit: 10 VDDCORE Ready */
  55. uint32_t ULPVREFRDY:1; /**< bit: 11 ULPVREF Voltage Reference Ready */
  56. uint32_t :20; /**< bit: 12..31 Reserved */
  57. } bit; /**< Structure used for bit access */
  58. uint32_t reg; /**< Type used for register access */
  59. } SUPC_INTENCLR_Type;
  60. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  61. #define SUPC_INTENCLR_OFFSET (0x00) /**< (SUPC_INTENCLR) Interrupt Enable Clear Offset */
  62. #define SUPC_INTENCLR_RESETVALUE _U_(0x00) /**< (SUPC_INTENCLR) Interrupt Enable Clear Reset Value */
  63. #define SUPC_INTENCLR_BOD33RDY_Pos 0 /**< (SUPC_INTENCLR) BOD33 Ready Position */
  64. #define SUPC_INTENCLR_BOD33RDY_Msk (_U_(0x1) << SUPC_INTENCLR_BOD33RDY_Pos) /**< (SUPC_INTENCLR) BOD33 Ready Mask */
  65. #define SUPC_INTENCLR_BOD33RDY SUPC_INTENCLR_BOD33RDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD33RDY_Msk instead */
  66. #define SUPC_INTENCLR_BOD33DET_Pos 1 /**< (SUPC_INTENCLR) BOD33 Detection Position */
  67. #define SUPC_INTENCLR_BOD33DET_Msk (_U_(0x1) << SUPC_INTENCLR_BOD33DET_Pos) /**< (SUPC_INTENCLR) BOD33 Detection Mask */
  68. #define SUPC_INTENCLR_BOD33DET SUPC_INTENCLR_BOD33DET_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD33DET_Msk instead */
  69. #define SUPC_INTENCLR_B33SRDY_Pos 2 /**< (SUPC_INTENCLR) BOD33 Synchronization Ready Position */
  70. #define SUPC_INTENCLR_B33SRDY_Msk (_U_(0x1) << SUPC_INTENCLR_B33SRDY_Pos) /**< (SUPC_INTENCLR) BOD33 Synchronization Ready Mask */
  71. #define SUPC_INTENCLR_B33SRDY SUPC_INTENCLR_B33SRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_B33SRDY_Msk instead */
  72. #define SUPC_INTENCLR_BOD12RDY_Pos 3 /**< (SUPC_INTENCLR) BOD12 Ready Position */
  73. #define SUPC_INTENCLR_BOD12RDY_Msk (_U_(0x1) << SUPC_INTENCLR_BOD12RDY_Pos) /**< (SUPC_INTENCLR) BOD12 Ready Mask */
  74. #define SUPC_INTENCLR_BOD12RDY SUPC_INTENCLR_BOD12RDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD12RDY_Msk instead */
  75. #define SUPC_INTENCLR_BOD12DET_Pos 4 /**< (SUPC_INTENCLR) BOD12 Detection Position */
  76. #define SUPC_INTENCLR_BOD12DET_Msk (_U_(0x1) << SUPC_INTENCLR_BOD12DET_Pos) /**< (SUPC_INTENCLR) BOD12 Detection Mask */
  77. #define SUPC_INTENCLR_BOD12DET SUPC_INTENCLR_BOD12DET_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_BOD12DET_Msk instead */
  78. #define SUPC_INTENCLR_B12SRDY_Pos 5 /**< (SUPC_INTENCLR) BOD12 Synchronization Ready Position */
  79. #define SUPC_INTENCLR_B12SRDY_Msk (_U_(0x1) << SUPC_INTENCLR_B12SRDY_Pos) /**< (SUPC_INTENCLR) BOD12 Synchronization Ready Mask */
  80. #define SUPC_INTENCLR_B12SRDY SUPC_INTENCLR_B12SRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_B12SRDY_Msk instead */
  81. #define SUPC_INTENCLR_VREGRDY_Pos 8 /**< (SUPC_INTENCLR) Voltage Regulator Ready Position */
  82. #define SUPC_INTENCLR_VREGRDY_Msk (_U_(0x1) << SUPC_INTENCLR_VREGRDY_Pos) /**< (SUPC_INTENCLR) Voltage Regulator Ready Mask */
  83. #define SUPC_INTENCLR_VREGRDY SUPC_INTENCLR_VREGRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_VREGRDY_Msk instead */
  84. #define SUPC_INTENCLR_VCORERDY_Pos 10 /**< (SUPC_INTENCLR) VDDCORE Ready Position */
  85. #define SUPC_INTENCLR_VCORERDY_Msk (_U_(0x1) << SUPC_INTENCLR_VCORERDY_Pos) /**< (SUPC_INTENCLR) VDDCORE Ready Mask */
  86. #define SUPC_INTENCLR_VCORERDY SUPC_INTENCLR_VCORERDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_VCORERDY_Msk instead */
  87. #define SUPC_INTENCLR_ULPVREFRDY_Pos 11 /**< (SUPC_INTENCLR) ULPVREF Voltage Reference Ready Position */
  88. #define SUPC_INTENCLR_ULPVREFRDY_Msk (_U_(0x1) << SUPC_INTENCLR_ULPVREFRDY_Pos) /**< (SUPC_INTENCLR) ULPVREF Voltage Reference Ready Mask */
  89. #define SUPC_INTENCLR_ULPVREFRDY SUPC_INTENCLR_ULPVREFRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENCLR_ULPVREFRDY_Msk instead */
  90. #define SUPC_INTENCLR_MASK _U_(0xD3F) /**< \deprecated (SUPC_INTENCLR) Register MASK (Use SUPC_INTENCLR_Msk instead) */
  91. #define SUPC_INTENCLR_Msk _U_(0xD3F) /**< (SUPC_INTENCLR) Register Mask */
  92. /* -------- SUPC_INTENSET : (SUPC Offset: 0x04) (R/W 32) Interrupt Enable Set -------- */
  93. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  94. typedef union {
  95. struct {
  96. uint32_t BOD33RDY:1; /**< bit: 0 BOD33 Ready */
  97. uint32_t BOD33DET:1; /**< bit: 1 BOD33 Detection */
  98. uint32_t B33SRDY:1; /**< bit: 2 BOD33 Synchronization Ready */
  99. uint32_t BOD12RDY:1; /**< bit: 3 BOD12 Ready */
  100. uint32_t BOD12DET:1; /**< bit: 4 BOD12 Detection */
  101. uint32_t B12SRDY:1; /**< bit: 5 BOD12 Synchronization Ready */
  102. uint32_t :2; /**< bit: 6..7 Reserved */
  103. uint32_t VREGRDY:1; /**< bit: 8 Voltage Regulator Ready */
  104. uint32_t :1; /**< bit: 9 Reserved */
  105. uint32_t VCORERDY:1; /**< bit: 10 VDDCORE Ready */
  106. uint32_t ULPVREFRDY:1; /**< bit: 11 ULPVREF Voltage Reference Ready */
  107. uint32_t :20; /**< bit: 12..31 Reserved */
  108. } bit; /**< Structure used for bit access */
  109. uint32_t reg; /**< Type used for register access */
  110. } SUPC_INTENSET_Type;
  111. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  112. #define SUPC_INTENSET_OFFSET (0x04) /**< (SUPC_INTENSET) Interrupt Enable Set Offset */
  113. #define SUPC_INTENSET_RESETVALUE _U_(0x00) /**< (SUPC_INTENSET) Interrupt Enable Set Reset Value */
  114. #define SUPC_INTENSET_BOD33RDY_Pos 0 /**< (SUPC_INTENSET) BOD33 Ready Position */
  115. #define SUPC_INTENSET_BOD33RDY_Msk (_U_(0x1) << SUPC_INTENSET_BOD33RDY_Pos) /**< (SUPC_INTENSET) BOD33 Ready Mask */
  116. #define SUPC_INTENSET_BOD33RDY SUPC_INTENSET_BOD33RDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD33RDY_Msk instead */
  117. #define SUPC_INTENSET_BOD33DET_Pos 1 /**< (SUPC_INTENSET) BOD33 Detection Position */
  118. #define SUPC_INTENSET_BOD33DET_Msk (_U_(0x1) << SUPC_INTENSET_BOD33DET_Pos) /**< (SUPC_INTENSET) BOD33 Detection Mask */
  119. #define SUPC_INTENSET_BOD33DET SUPC_INTENSET_BOD33DET_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD33DET_Msk instead */
  120. #define SUPC_INTENSET_B33SRDY_Pos 2 /**< (SUPC_INTENSET) BOD33 Synchronization Ready Position */
  121. #define SUPC_INTENSET_B33SRDY_Msk (_U_(0x1) << SUPC_INTENSET_B33SRDY_Pos) /**< (SUPC_INTENSET) BOD33 Synchronization Ready Mask */
  122. #define SUPC_INTENSET_B33SRDY SUPC_INTENSET_B33SRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_B33SRDY_Msk instead */
  123. #define SUPC_INTENSET_BOD12RDY_Pos 3 /**< (SUPC_INTENSET) BOD12 Ready Position */
  124. #define SUPC_INTENSET_BOD12RDY_Msk (_U_(0x1) << SUPC_INTENSET_BOD12RDY_Pos) /**< (SUPC_INTENSET) BOD12 Ready Mask */
  125. #define SUPC_INTENSET_BOD12RDY SUPC_INTENSET_BOD12RDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD12RDY_Msk instead */
  126. #define SUPC_INTENSET_BOD12DET_Pos 4 /**< (SUPC_INTENSET) BOD12 Detection Position */
  127. #define SUPC_INTENSET_BOD12DET_Msk (_U_(0x1) << SUPC_INTENSET_BOD12DET_Pos) /**< (SUPC_INTENSET) BOD12 Detection Mask */
  128. #define SUPC_INTENSET_BOD12DET SUPC_INTENSET_BOD12DET_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_BOD12DET_Msk instead */
  129. #define SUPC_INTENSET_B12SRDY_Pos 5 /**< (SUPC_INTENSET) BOD12 Synchronization Ready Position */
  130. #define SUPC_INTENSET_B12SRDY_Msk (_U_(0x1) << SUPC_INTENSET_B12SRDY_Pos) /**< (SUPC_INTENSET) BOD12 Synchronization Ready Mask */
  131. #define SUPC_INTENSET_B12SRDY SUPC_INTENSET_B12SRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_B12SRDY_Msk instead */
  132. #define SUPC_INTENSET_VREGRDY_Pos 8 /**< (SUPC_INTENSET) Voltage Regulator Ready Position */
  133. #define SUPC_INTENSET_VREGRDY_Msk (_U_(0x1) << SUPC_INTENSET_VREGRDY_Pos) /**< (SUPC_INTENSET) Voltage Regulator Ready Mask */
  134. #define SUPC_INTENSET_VREGRDY SUPC_INTENSET_VREGRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_VREGRDY_Msk instead */
  135. #define SUPC_INTENSET_VCORERDY_Pos 10 /**< (SUPC_INTENSET) VDDCORE Ready Position */
  136. #define SUPC_INTENSET_VCORERDY_Msk (_U_(0x1) << SUPC_INTENSET_VCORERDY_Pos) /**< (SUPC_INTENSET) VDDCORE Ready Mask */
  137. #define SUPC_INTENSET_VCORERDY SUPC_INTENSET_VCORERDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_VCORERDY_Msk instead */
  138. #define SUPC_INTENSET_ULPVREFRDY_Pos 11 /**< (SUPC_INTENSET) ULPVREF Voltage Reference Ready Position */
  139. #define SUPC_INTENSET_ULPVREFRDY_Msk (_U_(0x1) << SUPC_INTENSET_ULPVREFRDY_Pos) /**< (SUPC_INTENSET) ULPVREF Voltage Reference Ready Mask */
  140. #define SUPC_INTENSET_ULPVREFRDY SUPC_INTENSET_ULPVREFRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTENSET_ULPVREFRDY_Msk instead */
  141. #define SUPC_INTENSET_MASK _U_(0xD3F) /**< \deprecated (SUPC_INTENSET) Register MASK (Use SUPC_INTENSET_Msk instead) */
  142. #define SUPC_INTENSET_Msk _U_(0xD3F) /**< (SUPC_INTENSET) Register Mask */
  143. /* -------- SUPC_INTFLAG : (SUPC Offset: 0x08) (R/W 32) Interrupt Flag Status and Clear -------- */
  144. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  145. typedef union { // __I to avoid read-modify-write on write-to-clear register
  146. struct {
  147. __I uint32_t BOD33RDY:1; /**< bit: 0 BOD33 Ready */
  148. __I uint32_t BOD33DET:1; /**< bit: 1 BOD33 Detection */
  149. __I uint32_t B33SRDY:1; /**< bit: 2 BOD33 Synchronization Ready */
  150. __I uint32_t BOD12RDY:1; /**< bit: 3 BOD12 Ready */
  151. __I uint32_t BOD12DET:1; /**< bit: 4 BOD12 Detection */
  152. __I uint32_t B12SRDY:1; /**< bit: 5 BOD12 Synchronization Ready */
  153. __I uint32_t :2; /**< bit: 6..7 Reserved */
  154. __I uint32_t VREGRDY:1; /**< bit: 8 Voltage Regulator Ready */
  155. __I uint32_t :1; /**< bit: 9 Reserved */
  156. __I uint32_t VCORERDY:1; /**< bit: 10 VDDCORE Ready */
  157. __I uint32_t ULPVREFRDY:1; /**< bit: 11 ULPVREF Voltage Reference Ready */
  158. __I uint32_t :20; /**< bit: 12..31 Reserved */
  159. } bit; /**< Structure used for bit access */
  160. uint32_t reg; /**< Type used for register access */
  161. } SUPC_INTFLAG_Type;
  162. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  163. #define SUPC_INTFLAG_OFFSET (0x08) /**< (SUPC_INTFLAG) Interrupt Flag Status and Clear Offset */
  164. #define SUPC_INTFLAG_RESETVALUE _U_(0x00) /**< (SUPC_INTFLAG) Interrupt Flag Status and Clear Reset Value */
  165. #define SUPC_INTFLAG_BOD33RDY_Pos 0 /**< (SUPC_INTFLAG) BOD33 Ready Position */
  166. #define SUPC_INTFLAG_BOD33RDY_Msk (_U_(0x1) << SUPC_INTFLAG_BOD33RDY_Pos) /**< (SUPC_INTFLAG) BOD33 Ready Mask */
  167. #define SUPC_INTFLAG_BOD33RDY SUPC_INTFLAG_BOD33RDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD33RDY_Msk instead */
  168. #define SUPC_INTFLAG_BOD33DET_Pos 1 /**< (SUPC_INTFLAG) BOD33 Detection Position */
  169. #define SUPC_INTFLAG_BOD33DET_Msk (_U_(0x1) << SUPC_INTFLAG_BOD33DET_Pos) /**< (SUPC_INTFLAG) BOD33 Detection Mask */
  170. #define SUPC_INTFLAG_BOD33DET SUPC_INTFLAG_BOD33DET_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD33DET_Msk instead */
  171. #define SUPC_INTFLAG_B33SRDY_Pos 2 /**< (SUPC_INTFLAG) BOD33 Synchronization Ready Position */
  172. #define SUPC_INTFLAG_B33SRDY_Msk (_U_(0x1) << SUPC_INTFLAG_B33SRDY_Pos) /**< (SUPC_INTFLAG) BOD33 Synchronization Ready Mask */
  173. #define SUPC_INTFLAG_B33SRDY SUPC_INTFLAG_B33SRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_B33SRDY_Msk instead */
  174. #define SUPC_INTFLAG_BOD12RDY_Pos 3 /**< (SUPC_INTFLAG) BOD12 Ready Position */
  175. #define SUPC_INTFLAG_BOD12RDY_Msk (_U_(0x1) << SUPC_INTFLAG_BOD12RDY_Pos) /**< (SUPC_INTFLAG) BOD12 Ready Mask */
  176. #define SUPC_INTFLAG_BOD12RDY SUPC_INTFLAG_BOD12RDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD12RDY_Msk instead */
  177. #define SUPC_INTFLAG_BOD12DET_Pos 4 /**< (SUPC_INTFLAG) BOD12 Detection Position */
  178. #define SUPC_INTFLAG_BOD12DET_Msk (_U_(0x1) << SUPC_INTFLAG_BOD12DET_Pos) /**< (SUPC_INTFLAG) BOD12 Detection Mask */
  179. #define SUPC_INTFLAG_BOD12DET SUPC_INTFLAG_BOD12DET_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_BOD12DET_Msk instead */
  180. #define SUPC_INTFLAG_B12SRDY_Pos 5 /**< (SUPC_INTFLAG) BOD12 Synchronization Ready Position */
  181. #define SUPC_INTFLAG_B12SRDY_Msk (_U_(0x1) << SUPC_INTFLAG_B12SRDY_Pos) /**< (SUPC_INTFLAG) BOD12 Synchronization Ready Mask */
  182. #define SUPC_INTFLAG_B12SRDY SUPC_INTFLAG_B12SRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_B12SRDY_Msk instead */
  183. #define SUPC_INTFLAG_VREGRDY_Pos 8 /**< (SUPC_INTFLAG) Voltage Regulator Ready Position */
  184. #define SUPC_INTFLAG_VREGRDY_Msk (_U_(0x1) << SUPC_INTFLAG_VREGRDY_Pos) /**< (SUPC_INTFLAG) Voltage Regulator Ready Mask */
  185. #define SUPC_INTFLAG_VREGRDY SUPC_INTFLAG_VREGRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_VREGRDY_Msk instead */
  186. #define SUPC_INTFLAG_VCORERDY_Pos 10 /**< (SUPC_INTFLAG) VDDCORE Ready Position */
  187. #define SUPC_INTFLAG_VCORERDY_Msk (_U_(0x1) << SUPC_INTFLAG_VCORERDY_Pos) /**< (SUPC_INTFLAG) VDDCORE Ready Mask */
  188. #define SUPC_INTFLAG_VCORERDY SUPC_INTFLAG_VCORERDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_VCORERDY_Msk instead */
  189. #define SUPC_INTFLAG_ULPVREFRDY_Pos 11 /**< (SUPC_INTFLAG) ULPVREF Voltage Reference Ready Position */
  190. #define SUPC_INTFLAG_ULPVREFRDY_Msk (_U_(0x1) << SUPC_INTFLAG_ULPVREFRDY_Pos) /**< (SUPC_INTFLAG) ULPVREF Voltage Reference Ready Mask */
  191. #define SUPC_INTFLAG_ULPVREFRDY SUPC_INTFLAG_ULPVREFRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_INTFLAG_ULPVREFRDY_Msk instead */
  192. #define SUPC_INTFLAG_MASK _U_(0xD3F) /**< \deprecated (SUPC_INTFLAG) Register MASK (Use SUPC_INTFLAG_Msk instead) */
  193. #define SUPC_INTFLAG_Msk _U_(0xD3F) /**< (SUPC_INTFLAG) Register Mask */
  194. /* -------- SUPC_STATUS : (SUPC Offset: 0x0c) (R/ 32) Power and Clocks Status -------- */
  195. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  196. typedef union {
  197. struct {
  198. uint32_t BOD33RDY:1; /**< bit: 0 BOD33 Ready */
  199. uint32_t BOD33DET:1; /**< bit: 1 BOD33 Detection */
  200. uint32_t B33SRDY:1; /**< bit: 2 BOD33 Synchronization Ready */
  201. uint32_t BOD12RDY:1; /**< bit: 3 BOD12 Ready */
  202. uint32_t BOD12DET:1; /**< bit: 4 BOD12 Detection */
  203. uint32_t B12SRDY:1; /**< bit: 5 BOD12 Synchronization Ready */
  204. uint32_t :2; /**< bit: 6..7 Reserved */
  205. uint32_t VREGRDY:1; /**< bit: 8 Voltage Regulator Ready */
  206. uint32_t :1; /**< bit: 9 Reserved */
  207. uint32_t VCORERDY:1; /**< bit: 10 VDDCORE Ready */
  208. uint32_t :1; /**< bit: 11 Reserved */
  209. uint32_t ULPVREFRDY:1; /**< bit: 12 Low Power Voltage Reference Ready */
  210. uint32_t ULPBIASRDY:1; /**< bit: 13 Low Power Voltage Bias Ready */
  211. uint32_t :18; /**< bit: 14..31 Reserved */
  212. } bit; /**< Structure used for bit access */
  213. uint32_t reg; /**< Type used for register access */
  214. } SUPC_STATUS_Type;
  215. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  216. #define SUPC_STATUS_OFFSET (0x0C) /**< (SUPC_STATUS) Power and Clocks Status Offset */
  217. #define SUPC_STATUS_RESETVALUE _U_(0x00) /**< (SUPC_STATUS) Power and Clocks Status Reset Value */
  218. #define SUPC_STATUS_BOD33RDY_Pos 0 /**< (SUPC_STATUS) BOD33 Ready Position */
  219. #define SUPC_STATUS_BOD33RDY_Msk (_U_(0x1) << SUPC_STATUS_BOD33RDY_Pos) /**< (SUPC_STATUS) BOD33 Ready Mask */
  220. #define SUPC_STATUS_BOD33RDY SUPC_STATUS_BOD33RDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD33RDY_Msk instead */
  221. #define SUPC_STATUS_BOD33DET_Pos 1 /**< (SUPC_STATUS) BOD33 Detection Position */
  222. #define SUPC_STATUS_BOD33DET_Msk (_U_(0x1) << SUPC_STATUS_BOD33DET_Pos) /**< (SUPC_STATUS) BOD33 Detection Mask */
  223. #define SUPC_STATUS_BOD33DET SUPC_STATUS_BOD33DET_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD33DET_Msk instead */
  224. #define SUPC_STATUS_B33SRDY_Pos 2 /**< (SUPC_STATUS) BOD33 Synchronization Ready Position */
  225. #define SUPC_STATUS_B33SRDY_Msk (_U_(0x1) << SUPC_STATUS_B33SRDY_Pos) /**< (SUPC_STATUS) BOD33 Synchronization Ready Mask */
  226. #define SUPC_STATUS_B33SRDY SUPC_STATUS_B33SRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_B33SRDY_Msk instead */
  227. #define SUPC_STATUS_BOD12RDY_Pos 3 /**< (SUPC_STATUS) BOD12 Ready Position */
  228. #define SUPC_STATUS_BOD12RDY_Msk (_U_(0x1) << SUPC_STATUS_BOD12RDY_Pos) /**< (SUPC_STATUS) BOD12 Ready Mask */
  229. #define SUPC_STATUS_BOD12RDY SUPC_STATUS_BOD12RDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD12RDY_Msk instead */
  230. #define SUPC_STATUS_BOD12DET_Pos 4 /**< (SUPC_STATUS) BOD12 Detection Position */
  231. #define SUPC_STATUS_BOD12DET_Msk (_U_(0x1) << SUPC_STATUS_BOD12DET_Pos) /**< (SUPC_STATUS) BOD12 Detection Mask */
  232. #define SUPC_STATUS_BOD12DET SUPC_STATUS_BOD12DET_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_BOD12DET_Msk instead */
  233. #define SUPC_STATUS_B12SRDY_Pos 5 /**< (SUPC_STATUS) BOD12 Synchronization Ready Position */
  234. #define SUPC_STATUS_B12SRDY_Msk (_U_(0x1) << SUPC_STATUS_B12SRDY_Pos) /**< (SUPC_STATUS) BOD12 Synchronization Ready Mask */
  235. #define SUPC_STATUS_B12SRDY SUPC_STATUS_B12SRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_B12SRDY_Msk instead */
  236. #define SUPC_STATUS_VREGRDY_Pos 8 /**< (SUPC_STATUS) Voltage Regulator Ready Position */
  237. #define SUPC_STATUS_VREGRDY_Msk (_U_(0x1) << SUPC_STATUS_VREGRDY_Pos) /**< (SUPC_STATUS) Voltage Regulator Ready Mask */
  238. #define SUPC_STATUS_VREGRDY SUPC_STATUS_VREGRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_VREGRDY_Msk instead */
  239. #define SUPC_STATUS_VCORERDY_Pos 10 /**< (SUPC_STATUS) VDDCORE Ready Position */
  240. #define SUPC_STATUS_VCORERDY_Msk (_U_(0x1) << SUPC_STATUS_VCORERDY_Pos) /**< (SUPC_STATUS) VDDCORE Ready Mask */
  241. #define SUPC_STATUS_VCORERDY SUPC_STATUS_VCORERDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_VCORERDY_Msk instead */
  242. #define SUPC_STATUS_ULPVREFRDY_Pos 12 /**< (SUPC_STATUS) Low Power Voltage Reference Ready Position */
  243. #define SUPC_STATUS_ULPVREFRDY_Msk (_U_(0x1) << SUPC_STATUS_ULPVREFRDY_Pos) /**< (SUPC_STATUS) Low Power Voltage Reference Ready Mask */
  244. #define SUPC_STATUS_ULPVREFRDY SUPC_STATUS_ULPVREFRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_ULPVREFRDY_Msk instead */
  245. #define SUPC_STATUS_ULPBIASRDY_Pos 13 /**< (SUPC_STATUS) Low Power Voltage Bias Ready Position */
  246. #define SUPC_STATUS_ULPBIASRDY_Msk (_U_(0x1) << SUPC_STATUS_ULPBIASRDY_Pos) /**< (SUPC_STATUS) Low Power Voltage Bias Ready Mask */
  247. #define SUPC_STATUS_ULPBIASRDY SUPC_STATUS_ULPBIASRDY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_STATUS_ULPBIASRDY_Msk instead */
  248. #define SUPC_STATUS_MASK _U_(0x353F) /**< \deprecated (SUPC_STATUS) Register MASK (Use SUPC_STATUS_Msk instead) */
  249. #define SUPC_STATUS_Msk _U_(0x353F) /**< (SUPC_STATUS) Register Mask */
  250. /* -------- SUPC_BOD33 : (SUPC Offset: 0x10) (R/W 32) BOD33 Control -------- */
  251. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  252. typedef union {
  253. struct {
  254. uint32_t :1; /**< bit: 0 Reserved */
  255. uint32_t ENABLE:1; /**< bit: 1 Enable */
  256. uint32_t HYST:1; /**< bit: 2 Hysteresis Enable */
  257. uint32_t ACTION:2; /**< bit: 3..4 Action when Threshold Crossed */
  258. uint32_t STDBYCFG:1; /**< bit: 5 Configuration in Standby mode */
  259. uint32_t RUNSTDBY:1; /**< bit: 6 Run during Standby */
  260. uint32_t :1; /**< bit: 7 Reserved */
  261. uint32_t ACTCFG:1; /**< bit: 8 Configuration in Active mode */
  262. uint32_t :2; /**< bit: 9..10 Reserved */
  263. uint32_t REFSEL:1; /**< bit: 11 BOD33 Voltage Reference Selection */
  264. uint32_t PSEL:4; /**< bit: 12..15 Prescaler Select */
  265. uint32_t LEVEL:6; /**< bit: 16..21 Threshold Level for VDD */
  266. uint32_t :10; /**< bit: 22..31 Reserved */
  267. } bit; /**< Structure used for bit access */
  268. uint32_t reg; /**< Type used for register access */
  269. } SUPC_BOD33_Type;
  270. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  271. #define SUPC_BOD33_OFFSET (0x10) /**< (SUPC_BOD33) BOD33 Control Offset */
  272. #define SUPC_BOD33_RESETVALUE _U_(0x00) /**< (SUPC_BOD33) BOD33 Control Reset Value */
  273. #define SUPC_BOD33_ENABLE_Pos 1 /**< (SUPC_BOD33) Enable Position */
  274. #define SUPC_BOD33_ENABLE_Msk (_U_(0x1) << SUPC_BOD33_ENABLE_Pos) /**< (SUPC_BOD33) Enable Mask */
  275. #define SUPC_BOD33_ENABLE SUPC_BOD33_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_ENABLE_Msk instead */
  276. #define SUPC_BOD33_HYST_Pos 2 /**< (SUPC_BOD33) Hysteresis Enable Position */
  277. #define SUPC_BOD33_HYST_Msk (_U_(0x1) << SUPC_BOD33_HYST_Pos) /**< (SUPC_BOD33) Hysteresis Enable Mask */
  278. #define SUPC_BOD33_HYST SUPC_BOD33_HYST_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_HYST_Msk instead */
  279. #define SUPC_BOD33_ACTION_Pos 3 /**< (SUPC_BOD33) Action when Threshold Crossed Position */
  280. #define SUPC_BOD33_ACTION_Msk (_U_(0x3) << SUPC_BOD33_ACTION_Pos) /**< (SUPC_BOD33) Action when Threshold Crossed Mask */
  281. #define SUPC_BOD33_ACTION(value) (SUPC_BOD33_ACTION_Msk & ((value) << SUPC_BOD33_ACTION_Pos))
  282. #define SUPC_BOD33_ACTION_NONE_Val _U_(0x0) /**< (SUPC_BOD33) No action */
  283. #define SUPC_BOD33_ACTION_RESET_Val _U_(0x1) /**< (SUPC_BOD33) The BOD33 generates a reset */
  284. #define SUPC_BOD33_ACTION_INT_Val _U_(0x2) /**< (SUPC_BOD33) The BOD33 generates an interrupt */
  285. #define SUPC_BOD33_ACTION_BKUP_Val _U_(0x3) /**< (SUPC_BOD33) The BOD33 puts the device in backup sleep mode if VMON=0 */
  286. #define SUPC_BOD33_ACTION_NONE (SUPC_BOD33_ACTION_NONE_Val << SUPC_BOD33_ACTION_Pos) /**< (SUPC_BOD33) No action Position */
  287. #define SUPC_BOD33_ACTION_RESET (SUPC_BOD33_ACTION_RESET_Val << SUPC_BOD33_ACTION_Pos) /**< (SUPC_BOD33) The BOD33 generates a reset Position */
  288. #define SUPC_BOD33_ACTION_INT (SUPC_BOD33_ACTION_INT_Val << SUPC_BOD33_ACTION_Pos) /**< (SUPC_BOD33) The BOD33 generates an interrupt Position */
  289. #define SUPC_BOD33_ACTION_BKUP (SUPC_BOD33_ACTION_BKUP_Val << SUPC_BOD33_ACTION_Pos) /**< (SUPC_BOD33) The BOD33 puts the device in backup sleep mode if VMON=0 Position */
  290. #define SUPC_BOD33_STDBYCFG_Pos 5 /**< (SUPC_BOD33) Configuration in Standby mode Position */
  291. #define SUPC_BOD33_STDBYCFG_Msk (_U_(0x1) << SUPC_BOD33_STDBYCFG_Pos) /**< (SUPC_BOD33) Configuration in Standby mode Mask */
  292. #define SUPC_BOD33_STDBYCFG SUPC_BOD33_STDBYCFG_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_STDBYCFG_Msk instead */
  293. #define SUPC_BOD33_RUNSTDBY_Pos 6 /**< (SUPC_BOD33) Run during Standby Position */
  294. #define SUPC_BOD33_RUNSTDBY_Msk (_U_(0x1) << SUPC_BOD33_RUNSTDBY_Pos) /**< (SUPC_BOD33) Run during Standby Mask */
  295. #define SUPC_BOD33_RUNSTDBY SUPC_BOD33_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_RUNSTDBY_Msk instead */
  296. #define SUPC_BOD33_ACTCFG_Pos 8 /**< (SUPC_BOD33) Configuration in Active mode Position */
  297. #define SUPC_BOD33_ACTCFG_Msk (_U_(0x1) << SUPC_BOD33_ACTCFG_Pos) /**< (SUPC_BOD33) Configuration in Active mode Mask */
  298. #define SUPC_BOD33_ACTCFG SUPC_BOD33_ACTCFG_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_ACTCFG_Msk instead */
  299. #define SUPC_BOD33_REFSEL_Pos 11 /**< (SUPC_BOD33) BOD33 Voltage Reference Selection Position */
  300. #define SUPC_BOD33_REFSEL_Msk (_U_(0x1) << SUPC_BOD33_REFSEL_Pos) /**< (SUPC_BOD33) BOD33 Voltage Reference Selection Mask */
  301. #define SUPC_BOD33_REFSEL SUPC_BOD33_REFSEL_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD33_REFSEL_Msk instead */
  302. #define SUPC_BOD33_REFSEL_SEL_VREFDETREF_Val _U_(0x0) /**< (SUPC_BOD33) Selects VREFDETREF for the BOD33 */
  303. #define SUPC_BOD33_REFSEL_SEL_ULPVREF_Val _U_(0x1) /**< (SUPC_BOD33) Selects ULPVREF for the BOD33 */
  304. #define SUPC_BOD33_REFSEL_SEL_VREFDETREF (SUPC_BOD33_REFSEL_SEL_VREFDETREF_Val << SUPC_BOD33_REFSEL_Pos) /**< (SUPC_BOD33) Selects VREFDETREF for the BOD33 Position */
  305. #define SUPC_BOD33_REFSEL_SEL_ULPVREF (SUPC_BOD33_REFSEL_SEL_ULPVREF_Val << SUPC_BOD33_REFSEL_Pos) /**< (SUPC_BOD33) Selects ULPVREF for the BOD33 Position */
  306. #define SUPC_BOD33_PSEL_Pos 12 /**< (SUPC_BOD33) Prescaler Select Position */
  307. #define SUPC_BOD33_PSEL_Msk (_U_(0xF) << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Prescaler Select Mask */
  308. #define SUPC_BOD33_PSEL(value) (SUPC_BOD33_PSEL_Msk & ((value) << SUPC_BOD33_PSEL_Pos))
  309. #define SUPC_BOD33_PSEL_DIV2_Val _U_(0x0) /**< (SUPC_BOD33) Divide clock by 2 */
  310. #define SUPC_BOD33_PSEL_DIV4_Val _U_(0x1) /**< (SUPC_BOD33) Divide clock by 4 */
  311. #define SUPC_BOD33_PSEL_DIV8_Val _U_(0x2) /**< (SUPC_BOD33) Divide clock by 8 */
  312. #define SUPC_BOD33_PSEL_DIV16_Val _U_(0x3) /**< (SUPC_BOD33) Divide clock by 16 */
  313. #define SUPC_BOD33_PSEL_DIV32_Val _U_(0x4) /**< (SUPC_BOD33) Divide clock by 32 */
  314. #define SUPC_BOD33_PSEL_DIV64_Val _U_(0x5) /**< (SUPC_BOD33) Divide clock by 64 */
  315. #define SUPC_BOD33_PSEL_DIV128_Val _U_(0x6) /**< (SUPC_BOD33) Divide clock by 128 */
  316. #define SUPC_BOD33_PSEL_DIV256_Val _U_(0x7) /**< (SUPC_BOD33) Divide clock by 256 */
  317. #define SUPC_BOD33_PSEL_DIV512_Val _U_(0x8) /**< (SUPC_BOD33) Divide clock by 512 */
  318. #define SUPC_BOD33_PSEL_DIV1024_Val _U_(0x9) /**< (SUPC_BOD33) Divide clock by 1024 */
  319. #define SUPC_BOD33_PSEL_DIV2048_Val _U_(0xA) /**< (SUPC_BOD33) Divide clock by 2048 */
  320. #define SUPC_BOD33_PSEL_DIV4096_Val _U_(0xB) /**< (SUPC_BOD33) Divide clock by 4096 */
  321. #define SUPC_BOD33_PSEL_DIV8192_Val _U_(0xC) /**< (SUPC_BOD33) Divide clock by 8192 */
  322. #define SUPC_BOD33_PSEL_DIV16384_Val _U_(0xD) /**< (SUPC_BOD33) Divide clock by 16384 */
  323. #define SUPC_BOD33_PSEL_DIV32768_Val _U_(0xE) /**< (SUPC_BOD33) Divide clock by 32768 */
  324. #define SUPC_BOD33_PSEL_DIV65536_Val _U_(0xF) /**< (SUPC_BOD33) Divide clock by 65536 */
  325. #define SUPC_BOD33_PSEL_DIV2 (SUPC_BOD33_PSEL_DIV2_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 2 Position */
  326. #define SUPC_BOD33_PSEL_DIV4 (SUPC_BOD33_PSEL_DIV4_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 4 Position */
  327. #define SUPC_BOD33_PSEL_DIV8 (SUPC_BOD33_PSEL_DIV8_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 8 Position */
  328. #define SUPC_BOD33_PSEL_DIV16 (SUPC_BOD33_PSEL_DIV16_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 16 Position */
  329. #define SUPC_BOD33_PSEL_DIV32 (SUPC_BOD33_PSEL_DIV32_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 32 Position */
  330. #define SUPC_BOD33_PSEL_DIV64 (SUPC_BOD33_PSEL_DIV64_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 64 Position */
  331. #define SUPC_BOD33_PSEL_DIV128 (SUPC_BOD33_PSEL_DIV128_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 128 Position */
  332. #define SUPC_BOD33_PSEL_DIV256 (SUPC_BOD33_PSEL_DIV256_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 256 Position */
  333. #define SUPC_BOD33_PSEL_DIV512 (SUPC_BOD33_PSEL_DIV512_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 512 Position */
  334. #define SUPC_BOD33_PSEL_DIV1024 (SUPC_BOD33_PSEL_DIV1024_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 1024 Position */
  335. #define SUPC_BOD33_PSEL_DIV2048 (SUPC_BOD33_PSEL_DIV2048_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 2048 Position */
  336. #define SUPC_BOD33_PSEL_DIV4096 (SUPC_BOD33_PSEL_DIV4096_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 4096 Position */
  337. #define SUPC_BOD33_PSEL_DIV8192 (SUPC_BOD33_PSEL_DIV8192_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 8192 Position */
  338. #define SUPC_BOD33_PSEL_DIV16384 (SUPC_BOD33_PSEL_DIV16384_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 16384 Position */
  339. #define SUPC_BOD33_PSEL_DIV32768 (SUPC_BOD33_PSEL_DIV32768_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 32768 Position */
  340. #define SUPC_BOD33_PSEL_DIV65536 (SUPC_BOD33_PSEL_DIV65536_Val << SUPC_BOD33_PSEL_Pos) /**< (SUPC_BOD33) Divide clock by 65536 Position */
  341. #define SUPC_BOD33_LEVEL_Pos 16 /**< (SUPC_BOD33) Threshold Level for VDD Position */
  342. #define SUPC_BOD33_LEVEL_Msk (_U_(0x3F) << SUPC_BOD33_LEVEL_Pos) /**< (SUPC_BOD33) Threshold Level for VDD Mask */
  343. #define SUPC_BOD33_LEVEL(value) (SUPC_BOD33_LEVEL_Msk & ((value) << SUPC_BOD33_LEVEL_Pos))
  344. #define SUPC_BOD33_MASK _U_(0x3FF97E) /**< \deprecated (SUPC_BOD33) Register MASK (Use SUPC_BOD33_Msk instead) */
  345. #define SUPC_BOD33_Msk _U_(0x3FF97E) /**< (SUPC_BOD33) Register Mask */
  346. /* -------- SUPC_BOD12 : (SUPC Offset: 0x14) (R/W 32) BOD12 Control -------- */
  347. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  348. typedef union {
  349. struct {
  350. uint32_t :1; /**< bit: 0 Reserved */
  351. uint32_t ENABLE:1; /**< bit: 1 Enable */
  352. uint32_t HYST:1; /**< bit: 2 Hysteresis Enable */
  353. uint32_t ACTION:2; /**< bit: 3..4 Action when Threshold Crossed */
  354. uint32_t STDBYCFG:1; /**< bit: 5 Configuration in Standby mode */
  355. uint32_t RUNSTDBY:1; /**< bit: 6 Run during Standby */
  356. uint32_t :1; /**< bit: 7 Reserved */
  357. uint32_t ACTCFG:1; /**< bit: 8 Configuration in Active mode */
  358. uint32_t :3; /**< bit: 9..11 Reserved */
  359. uint32_t PSEL:4; /**< bit: 12..15 Prescaler Select */
  360. uint32_t LEVEL:6; /**< bit: 16..21 Threshold Level */
  361. uint32_t :10; /**< bit: 22..31 Reserved */
  362. } bit; /**< Structure used for bit access */
  363. uint32_t reg; /**< Type used for register access */
  364. } SUPC_BOD12_Type;
  365. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  366. #define SUPC_BOD12_OFFSET (0x14) /**< (SUPC_BOD12) BOD12 Control Offset */
  367. #define SUPC_BOD12_RESETVALUE _U_(0x00) /**< (SUPC_BOD12) BOD12 Control Reset Value */
  368. #define SUPC_BOD12_ENABLE_Pos 1 /**< (SUPC_BOD12) Enable Position */
  369. #define SUPC_BOD12_ENABLE_Msk (_U_(0x1) << SUPC_BOD12_ENABLE_Pos) /**< (SUPC_BOD12) Enable Mask */
  370. #define SUPC_BOD12_ENABLE SUPC_BOD12_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_ENABLE_Msk instead */
  371. #define SUPC_BOD12_HYST_Pos 2 /**< (SUPC_BOD12) Hysteresis Enable Position */
  372. #define SUPC_BOD12_HYST_Msk (_U_(0x1) << SUPC_BOD12_HYST_Pos) /**< (SUPC_BOD12) Hysteresis Enable Mask */
  373. #define SUPC_BOD12_HYST SUPC_BOD12_HYST_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_HYST_Msk instead */
  374. #define SUPC_BOD12_ACTION_Pos 3 /**< (SUPC_BOD12) Action when Threshold Crossed Position */
  375. #define SUPC_BOD12_ACTION_Msk (_U_(0x3) << SUPC_BOD12_ACTION_Pos) /**< (SUPC_BOD12) Action when Threshold Crossed Mask */
  376. #define SUPC_BOD12_ACTION(value) (SUPC_BOD12_ACTION_Msk & ((value) << SUPC_BOD12_ACTION_Pos))
  377. #define SUPC_BOD12_ACTION_NONE_Val _U_(0x0) /**< (SUPC_BOD12) No action */
  378. #define SUPC_BOD12_ACTION_RESET_Val _U_(0x1) /**< (SUPC_BOD12) The BOD12 generates a reset */
  379. #define SUPC_BOD12_ACTION_INT_Val _U_(0x2) /**< (SUPC_BOD12) The BOD12 generates an interrupt */
  380. #define SUPC_BOD12_ACTION_NONE (SUPC_BOD12_ACTION_NONE_Val << SUPC_BOD12_ACTION_Pos) /**< (SUPC_BOD12) No action Position */
  381. #define SUPC_BOD12_ACTION_RESET (SUPC_BOD12_ACTION_RESET_Val << SUPC_BOD12_ACTION_Pos) /**< (SUPC_BOD12) The BOD12 generates a reset Position */
  382. #define SUPC_BOD12_ACTION_INT (SUPC_BOD12_ACTION_INT_Val << SUPC_BOD12_ACTION_Pos) /**< (SUPC_BOD12) The BOD12 generates an interrupt Position */
  383. #define SUPC_BOD12_STDBYCFG_Pos 5 /**< (SUPC_BOD12) Configuration in Standby mode Position */
  384. #define SUPC_BOD12_STDBYCFG_Msk (_U_(0x1) << SUPC_BOD12_STDBYCFG_Pos) /**< (SUPC_BOD12) Configuration in Standby mode Mask */
  385. #define SUPC_BOD12_STDBYCFG SUPC_BOD12_STDBYCFG_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_STDBYCFG_Msk instead */
  386. #define SUPC_BOD12_RUNSTDBY_Pos 6 /**< (SUPC_BOD12) Run during Standby Position */
  387. #define SUPC_BOD12_RUNSTDBY_Msk (_U_(0x1) << SUPC_BOD12_RUNSTDBY_Pos) /**< (SUPC_BOD12) Run during Standby Mask */
  388. #define SUPC_BOD12_RUNSTDBY SUPC_BOD12_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_RUNSTDBY_Msk instead */
  389. #define SUPC_BOD12_ACTCFG_Pos 8 /**< (SUPC_BOD12) Configuration in Active mode Position */
  390. #define SUPC_BOD12_ACTCFG_Msk (_U_(0x1) << SUPC_BOD12_ACTCFG_Pos) /**< (SUPC_BOD12) Configuration in Active mode Mask */
  391. #define SUPC_BOD12_ACTCFG SUPC_BOD12_ACTCFG_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_BOD12_ACTCFG_Msk instead */
  392. #define SUPC_BOD12_PSEL_Pos 12 /**< (SUPC_BOD12) Prescaler Select Position */
  393. #define SUPC_BOD12_PSEL_Msk (_U_(0xF) << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Prescaler Select Mask */
  394. #define SUPC_BOD12_PSEL(value) (SUPC_BOD12_PSEL_Msk & ((value) << SUPC_BOD12_PSEL_Pos))
  395. #define SUPC_BOD12_PSEL_DIV2_Val _U_(0x0) /**< (SUPC_BOD12) Divide clock by 2 */
  396. #define SUPC_BOD12_PSEL_DIV4_Val _U_(0x1) /**< (SUPC_BOD12) Divide clock by 4 */
  397. #define SUPC_BOD12_PSEL_DIV8_Val _U_(0x2) /**< (SUPC_BOD12) Divide clock by 8 */
  398. #define SUPC_BOD12_PSEL_DIV16_Val _U_(0x3) /**< (SUPC_BOD12) Divide clock by 16 */
  399. #define SUPC_BOD12_PSEL_DIV32_Val _U_(0x4) /**< (SUPC_BOD12) Divide clock by 32 */
  400. #define SUPC_BOD12_PSEL_DIV64_Val _U_(0x5) /**< (SUPC_BOD12) Divide clock by 64 */
  401. #define SUPC_BOD12_PSEL_DIV128_Val _U_(0x6) /**< (SUPC_BOD12) Divide clock by 128 */
  402. #define SUPC_BOD12_PSEL_DIV256_Val _U_(0x7) /**< (SUPC_BOD12) Divide clock by 256 */
  403. #define SUPC_BOD12_PSEL_DIV512_Val _U_(0x8) /**< (SUPC_BOD12) Divide clock by 512 */
  404. #define SUPC_BOD12_PSEL_DIV1024_Val _U_(0x9) /**< (SUPC_BOD12) Divide clock by 1024 */
  405. #define SUPC_BOD12_PSEL_DIV2048_Val _U_(0xA) /**< (SUPC_BOD12) Divide clock by 2048 */
  406. #define SUPC_BOD12_PSEL_DIV4096_Val _U_(0xB) /**< (SUPC_BOD12) Divide clock by 4096 */
  407. #define SUPC_BOD12_PSEL_DIV8192_Val _U_(0xC) /**< (SUPC_BOD12) Divide clock by 8192 */
  408. #define SUPC_BOD12_PSEL_DIV16384_Val _U_(0xD) /**< (SUPC_BOD12) Divide clock by 16384 */
  409. #define SUPC_BOD12_PSEL_DIV32768_Val _U_(0xE) /**< (SUPC_BOD12) Divide clock by 32768 */
  410. #define SUPC_BOD12_PSEL_DIV65536_Val _U_(0xF) /**< (SUPC_BOD12) Divide clock by 65536 */
  411. #define SUPC_BOD12_PSEL_DIV2 (SUPC_BOD12_PSEL_DIV2_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 2 Position */
  412. #define SUPC_BOD12_PSEL_DIV4 (SUPC_BOD12_PSEL_DIV4_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 4 Position */
  413. #define SUPC_BOD12_PSEL_DIV8 (SUPC_BOD12_PSEL_DIV8_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 8 Position */
  414. #define SUPC_BOD12_PSEL_DIV16 (SUPC_BOD12_PSEL_DIV16_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 16 Position */
  415. #define SUPC_BOD12_PSEL_DIV32 (SUPC_BOD12_PSEL_DIV32_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 32 Position */
  416. #define SUPC_BOD12_PSEL_DIV64 (SUPC_BOD12_PSEL_DIV64_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 64 Position */
  417. #define SUPC_BOD12_PSEL_DIV128 (SUPC_BOD12_PSEL_DIV128_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 128 Position */
  418. #define SUPC_BOD12_PSEL_DIV256 (SUPC_BOD12_PSEL_DIV256_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 256 Position */
  419. #define SUPC_BOD12_PSEL_DIV512 (SUPC_BOD12_PSEL_DIV512_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 512 Position */
  420. #define SUPC_BOD12_PSEL_DIV1024 (SUPC_BOD12_PSEL_DIV1024_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 1024 Position */
  421. #define SUPC_BOD12_PSEL_DIV2048 (SUPC_BOD12_PSEL_DIV2048_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 2048 Position */
  422. #define SUPC_BOD12_PSEL_DIV4096 (SUPC_BOD12_PSEL_DIV4096_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 4096 Position */
  423. #define SUPC_BOD12_PSEL_DIV8192 (SUPC_BOD12_PSEL_DIV8192_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 8192 Position */
  424. #define SUPC_BOD12_PSEL_DIV16384 (SUPC_BOD12_PSEL_DIV16384_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 16384 Position */
  425. #define SUPC_BOD12_PSEL_DIV32768 (SUPC_BOD12_PSEL_DIV32768_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 32768 Position */
  426. #define SUPC_BOD12_PSEL_DIV65536 (SUPC_BOD12_PSEL_DIV65536_Val << SUPC_BOD12_PSEL_Pos) /**< (SUPC_BOD12) Divide clock by 65536 Position */
  427. #define SUPC_BOD12_LEVEL_Pos 16 /**< (SUPC_BOD12) Threshold Level Position */
  428. #define SUPC_BOD12_LEVEL_Msk (_U_(0x3F) << SUPC_BOD12_LEVEL_Pos) /**< (SUPC_BOD12) Threshold Level Mask */
  429. #define SUPC_BOD12_LEVEL(value) (SUPC_BOD12_LEVEL_Msk & ((value) << SUPC_BOD12_LEVEL_Pos))
  430. #define SUPC_BOD12_MASK _U_(0x3FF17E) /**< \deprecated (SUPC_BOD12) Register MASK (Use SUPC_BOD12_Msk instead) */
  431. #define SUPC_BOD12_Msk _U_(0x3FF17E) /**< (SUPC_BOD12) Register Mask */
  432. /* -------- SUPC_VREG : (SUPC Offset: 0x18) (R/W 32) VREG Control -------- */
  433. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  434. typedef union {
  435. struct {
  436. uint32_t :1; /**< bit: 0 Reserved */
  437. uint32_t ENABLE:1; /**< bit: 1 Enable */
  438. uint32_t SEL:2; /**< bit: 2..3 Voltage Regulator Selection in active mode */
  439. uint32_t :1; /**< bit: 4 Reserved */
  440. uint32_t STDBYPL0:1; /**< bit: 5 Standby in PL0 */
  441. uint32_t RUNSTDBY:1; /**< bit: 6 Run during Standby */
  442. uint32_t :1; /**< bit: 7 Reserved */
  443. uint32_t LPEFF:1; /**< bit: 8 Low Power efficiency */
  444. uint32_t VREFSEL:1; /**< bit: 9 Voltage Regulator Voltage Reference Selection */
  445. uint32_t :6; /**< bit: 10..15 Reserved */
  446. uint32_t VSVSTEP:4; /**< bit: 16..19 Voltage Scaling Voltage Step */
  447. uint32_t :4; /**< bit: 20..23 Reserved */
  448. uint32_t VSPER:8; /**< bit: 24..31 Voltage Scaling Period */
  449. } bit; /**< Structure used for bit access */
  450. struct {
  451. uint32_t :5; /**< bit: 0..4 Reserved */
  452. uint32_t STDBYPL:1; /**< bit: 5 Standby in PLx */
  453. uint32_t :26; /**< bit: 6..31 Reserved */
  454. } vec; /**< Structure used for vec access */
  455. uint32_t reg; /**< Type used for register access */
  456. } SUPC_VREG_Type;
  457. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  458. #define SUPC_VREG_OFFSET (0x18) /**< (SUPC_VREG) VREG Control Offset */
  459. #define SUPC_VREG_RESETVALUE _U_(0x02) /**< (SUPC_VREG) VREG Control Reset Value */
  460. #define SUPC_VREG_ENABLE_Pos 1 /**< (SUPC_VREG) Enable Position */
  461. #define SUPC_VREG_ENABLE_Msk (_U_(0x1) << SUPC_VREG_ENABLE_Pos) /**< (SUPC_VREG) Enable Mask */
  462. #define SUPC_VREG_ENABLE SUPC_VREG_ENABLE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_ENABLE_Msk instead */
  463. #define SUPC_VREG_SEL_Pos 2 /**< (SUPC_VREG) Voltage Regulator Selection in active mode Position */
  464. #define SUPC_VREG_SEL_Msk (_U_(0x3) << SUPC_VREG_SEL_Pos) /**< (SUPC_VREG) Voltage Regulator Selection in active mode Mask */
  465. #define SUPC_VREG_SEL(value) (SUPC_VREG_SEL_Msk & ((value) << SUPC_VREG_SEL_Pos))
  466. #define SUPC_VREG_SEL_LDO_Val _U_(0x0) /**< (SUPC_VREG) LDO selection */
  467. #define SUPC_VREG_SEL_BUCK_Val _U_(0x1) /**< (SUPC_VREG) Buck selection */
  468. #define SUPC_VREG_SEL_LDO (SUPC_VREG_SEL_LDO_Val << SUPC_VREG_SEL_Pos) /**< (SUPC_VREG) LDO selection Position */
  469. #define SUPC_VREG_SEL_BUCK (SUPC_VREG_SEL_BUCK_Val << SUPC_VREG_SEL_Pos) /**< (SUPC_VREG) Buck selection Position */
  470. #define SUPC_VREG_STDBYPL0_Pos 5 /**< (SUPC_VREG) Standby in PL0 Position */
  471. #define SUPC_VREG_STDBYPL0_Msk (_U_(0x1) << SUPC_VREG_STDBYPL0_Pos) /**< (SUPC_VREG) Standby in PL0 Mask */
  472. #define SUPC_VREG_STDBYPL0 SUPC_VREG_STDBYPL0_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_STDBYPL0_Msk instead */
  473. #define SUPC_VREG_RUNSTDBY_Pos 6 /**< (SUPC_VREG) Run during Standby Position */
  474. #define SUPC_VREG_RUNSTDBY_Msk (_U_(0x1) << SUPC_VREG_RUNSTDBY_Pos) /**< (SUPC_VREG) Run during Standby Mask */
  475. #define SUPC_VREG_RUNSTDBY SUPC_VREG_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_RUNSTDBY_Msk instead */
  476. #define SUPC_VREG_LPEFF_Pos 8 /**< (SUPC_VREG) Low Power efficiency Position */
  477. #define SUPC_VREG_LPEFF_Msk (_U_(0x1) << SUPC_VREG_LPEFF_Pos) /**< (SUPC_VREG) Low Power efficiency Mask */
  478. #define SUPC_VREG_LPEFF SUPC_VREG_LPEFF_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_LPEFF_Msk instead */
  479. #define SUPC_VREG_VREFSEL_Pos 9 /**< (SUPC_VREG) Voltage Regulator Voltage Reference Selection Position */
  480. #define SUPC_VREG_VREFSEL_Msk (_U_(0x1) << SUPC_VREG_VREFSEL_Pos) /**< (SUPC_VREG) Voltage Regulator Voltage Reference Selection Mask */
  481. #define SUPC_VREG_VREFSEL SUPC_VREG_VREFSEL_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREG_VREFSEL_Msk instead */
  482. #define SUPC_VREG_VSVSTEP_Pos 16 /**< (SUPC_VREG) Voltage Scaling Voltage Step Position */
  483. #define SUPC_VREG_VSVSTEP_Msk (_U_(0xF) << SUPC_VREG_VSVSTEP_Pos) /**< (SUPC_VREG) Voltage Scaling Voltage Step Mask */
  484. #define SUPC_VREG_VSVSTEP(value) (SUPC_VREG_VSVSTEP_Msk & ((value) << SUPC_VREG_VSVSTEP_Pos))
  485. #define SUPC_VREG_VSPER_Pos 24 /**< (SUPC_VREG) Voltage Scaling Period Position */
  486. #define SUPC_VREG_VSPER_Msk (_U_(0xFF) << SUPC_VREG_VSPER_Pos) /**< (SUPC_VREG) Voltage Scaling Period Mask */
  487. #define SUPC_VREG_VSPER(value) (SUPC_VREG_VSPER_Msk & ((value) << SUPC_VREG_VSPER_Pos))
  488. #define SUPC_VREG_MASK _U_(0xFF0F036E) /**< \deprecated (SUPC_VREG) Register MASK (Use SUPC_VREG_Msk instead) */
  489. #define SUPC_VREG_Msk _U_(0xFF0F036E) /**< (SUPC_VREG) Register Mask */
  490. #define SUPC_VREG_STDBYPL_Pos 5 /**< (SUPC_VREG Position) Standby in PLx */
  491. #define SUPC_VREG_STDBYPL_Msk (_U_(0x1) << SUPC_VREG_STDBYPL_Pos) /**< (SUPC_VREG Mask) STDBYPL */
  492. #define SUPC_VREG_STDBYPL(value) (SUPC_VREG_STDBYPL_Msk & ((value) << SUPC_VREG_STDBYPL_Pos))
  493. /* -------- SUPC_VREF : (SUPC Offset: 0x1c) (R/W 32) VREF Control -------- */
  494. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  495. typedef union {
  496. struct {
  497. uint32_t :1; /**< bit: 0 Reserved */
  498. uint32_t TSEN:1; /**< bit: 1 Temperature Sensor Output Enable */
  499. uint32_t VREFOE:1; /**< bit: 2 Voltage Reference Output Enable */
  500. uint32_t TSSEL:1; /**< bit: 3 Temperature Sensor Selection */
  501. uint32_t :2; /**< bit: 4..5 Reserved */
  502. uint32_t RUNSTDBY:1; /**< bit: 6 Run during Standby */
  503. uint32_t ONDEMAND:1; /**< bit: 7 On Demand Control */
  504. uint32_t :8; /**< bit: 8..15 Reserved */
  505. uint32_t SEL:4; /**< bit: 16..19 Voltage Reference Selection */
  506. uint32_t :12; /**< bit: 20..31 Reserved */
  507. } bit; /**< Structure used for bit access */
  508. uint32_t reg; /**< Type used for register access */
  509. } SUPC_VREF_Type;
  510. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  511. #define SUPC_VREF_OFFSET (0x1C) /**< (SUPC_VREF) VREF Control Offset */
  512. #define SUPC_VREF_RESETVALUE _U_(0x00) /**< (SUPC_VREF) VREF Control Reset Value */
  513. #define SUPC_VREF_TSEN_Pos 1 /**< (SUPC_VREF) Temperature Sensor Output Enable Position */
  514. #define SUPC_VREF_TSEN_Msk (_U_(0x1) << SUPC_VREF_TSEN_Pos) /**< (SUPC_VREF) Temperature Sensor Output Enable Mask */
  515. #define SUPC_VREF_TSEN SUPC_VREF_TSEN_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_TSEN_Msk instead */
  516. #define SUPC_VREF_VREFOE_Pos 2 /**< (SUPC_VREF) Voltage Reference Output Enable Position */
  517. #define SUPC_VREF_VREFOE_Msk (_U_(0x1) << SUPC_VREF_VREFOE_Pos) /**< (SUPC_VREF) Voltage Reference Output Enable Mask */
  518. #define SUPC_VREF_VREFOE SUPC_VREF_VREFOE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_VREFOE_Msk instead */
  519. #define SUPC_VREF_TSSEL_Pos 3 /**< (SUPC_VREF) Temperature Sensor Selection Position */
  520. #define SUPC_VREF_TSSEL_Msk (_U_(0x1) << SUPC_VREF_TSSEL_Pos) /**< (SUPC_VREF) Temperature Sensor Selection Mask */
  521. #define SUPC_VREF_TSSEL SUPC_VREF_TSSEL_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_TSSEL_Msk instead */
  522. #define SUPC_VREF_RUNSTDBY_Pos 6 /**< (SUPC_VREF) Run during Standby Position */
  523. #define SUPC_VREF_RUNSTDBY_Msk (_U_(0x1) << SUPC_VREF_RUNSTDBY_Pos) /**< (SUPC_VREF) Run during Standby Mask */
  524. #define SUPC_VREF_RUNSTDBY SUPC_VREF_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_RUNSTDBY_Msk instead */
  525. #define SUPC_VREF_ONDEMAND_Pos 7 /**< (SUPC_VREF) On Demand Control Position */
  526. #define SUPC_VREF_ONDEMAND_Msk (_U_(0x1) << SUPC_VREF_ONDEMAND_Pos) /**< (SUPC_VREF) On Demand Control Mask */
  527. #define SUPC_VREF_ONDEMAND SUPC_VREF_ONDEMAND_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREF_ONDEMAND_Msk instead */
  528. #define SUPC_VREF_SEL_Pos 16 /**< (SUPC_VREF) Voltage Reference Selection Position */
  529. #define SUPC_VREF_SEL_Msk (_U_(0xF) << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) Voltage Reference Selection Mask */
  530. #define SUPC_VREF_SEL(value) (SUPC_VREF_SEL_Msk & ((value) << SUPC_VREF_SEL_Pos))
  531. #define SUPC_VREF_SEL_1V0_Val _U_(0x0) /**< (SUPC_VREF) 1.0V voltage reference typical value */
  532. #define SUPC_VREF_SEL_1V1_Val _U_(0x1) /**< (SUPC_VREF) 1.1V voltage reference typical value */
  533. #define SUPC_VREF_SEL_1V2_Val _U_(0x2) /**< (SUPC_VREF) 1.2V voltage reference typical value */
  534. #define SUPC_VREF_SEL_1V25_Val _U_(0x3) /**< (SUPC_VREF) 1.25V voltage reference typical value */
  535. #define SUPC_VREF_SEL_2V0_Val _U_(0x4) /**< (SUPC_VREF) 2.0V voltage reference typical value */
  536. #define SUPC_VREF_SEL_2V2_Val _U_(0x5) /**< (SUPC_VREF) 2.2V voltage reference typical value */
  537. #define SUPC_VREF_SEL_2V4_Val _U_(0x6) /**< (SUPC_VREF) 2.4V voltage reference typical value */
  538. #define SUPC_VREF_SEL_2V5_Val _U_(0x7) /**< (SUPC_VREF) 2.5V voltage reference typical value */
  539. #define SUPC_VREF_SEL_1V0 (SUPC_VREF_SEL_1V0_Val << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) 1.0V voltage reference typical value Position */
  540. #define SUPC_VREF_SEL_1V1 (SUPC_VREF_SEL_1V1_Val << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) 1.1V voltage reference typical value Position */
  541. #define SUPC_VREF_SEL_1V2 (SUPC_VREF_SEL_1V2_Val << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) 1.2V voltage reference typical value Position */
  542. #define SUPC_VREF_SEL_1V25 (SUPC_VREF_SEL_1V25_Val << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) 1.25V voltage reference typical value Position */
  543. #define SUPC_VREF_SEL_2V0 (SUPC_VREF_SEL_2V0_Val << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) 2.0V voltage reference typical value Position */
  544. #define SUPC_VREF_SEL_2V2 (SUPC_VREF_SEL_2V2_Val << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) 2.2V voltage reference typical value Position */
  545. #define SUPC_VREF_SEL_2V4 (SUPC_VREF_SEL_2V4_Val << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) 2.4V voltage reference typical value Position */
  546. #define SUPC_VREF_SEL_2V5 (SUPC_VREF_SEL_2V5_Val << SUPC_VREF_SEL_Pos) /**< (SUPC_VREF) 2.5V voltage reference typical value Position */
  547. #define SUPC_VREF_MASK _U_(0xF00CE) /**< \deprecated (SUPC_VREF) Register MASK (Use SUPC_VREF_Msk instead) */
  548. #define SUPC_VREF_Msk _U_(0xF00CE) /**< (SUPC_VREF) Register Mask */
  549. /* -------- SUPC_EVCTRL : (SUPC Offset: 0x2c) (R/W 32) Event Control -------- */
  550. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  551. typedef union {
  552. struct {
  553. uint32_t :1; /**< bit: 0 Reserved */
  554. uint32_t BOD33DETEO:1; /**< bit: 1 BOD33 Detection Event Output Enable */
  555. uint32_t :2; /**< bit: 2..3 Reserved */
  556. uint32_t BOD12DETEO:1; /**< bit: 4 BOD12 Detection Event Output Enable */
  557. uint32_t :27; /**< bit: 5..31 Reserved */
  558. } bit; /**< Structure used for bit access */
  559. uint32_t reg; /**< Type used for register access */
  560. } SUPC_EVCTRL_Type;
  561. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  562. #define SUPC_EVCTRL_OFFSET (0x2C) /**< (SUPC_EVCTRL) Event Control Offset */
  563. #define SUPC_EVCTRL_RESETVALUE _U_(0x00) /**< (SUPC_EVCTRL) Event Control Reset Value */
  564. #define SUPC_EVCTRL_BOD33DETEO_Pos 1 /**< (SUPC_EVCTRL) BOD33 Detection Event Output Enable Position */
  565. #define SUPC_EVCTRL_BOD33DETEO_Msk (_U_(0x1) << SUPC_EVCTRL_BOD33DETEO_Pos) /**< (SUPC_EVCTRL) BOD33 Detection Event Output Enable Mask */
  566. #define SUPC_EVCTRL_BOD33DETEO SUPC_EVCTRL_BOD33DETEO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_EVCTRL_BOD33DETEO_Msk instead */
  567. #define SUPC_EVCTRL_BOD12DETEO_Pos 4 /**< (SUPC_EVCTRL) BOD12 Detection Event Output Enable Position */
  568. #define SUPC_EVCTRL_BOD12DETEO_Msk (_U_(0x1) << SUPC_EVCTRL_BOD12DETEO_Pos) /**< (SUPC_EVCTRL) BOD12 Detection Event Output Enable Mask */
  569. #define SUPC_EVCTRL_BOD12DETEO SUPC_EVCTRL_BOD12DETEO_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_EVCTRL_BOD12DETEO_Msk instead */
  570. #define SUPC_EVCTRL_MASK _U_(0x12) /**< \deprecated (SUPC_EVCTRL) Register MASK (Use SUPC_EVCTRL_Msk instead) */
  571. #define SUPC_EVCTRL_Msk _U_(0x12) /**< (SUPC_EVCTRL) Register Mask */
  572. /* -------- SUPC_VREGSUSP : (SUPC Offset: 0x30) (R/W 32) VREG Suspend Control -------- */
  573. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  574. typedef union {
  575. struct {
  576. uint32_t VREGSEN:1; /**< bit: 0 Enable Voltage Regulator Suspend */
  577. uint32_t :31; /**< bit: 1..31 Reserved */
  578. } bit; /**< Structure used for bit access */
  579. uint32_t reg; /**< Type used for register access */
  580. } SUPC_VREGSUSP_Type;
  581. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  582. #define SUPC_VREGSUSP_OFFSET (0x30) /**< (SUPC_VREGSUSP) VREG Suspend Control Offset */
  583. #define SUPC_VREGSUSP_RESETVALUE _U_(0x00) /**< (SUPC_VREGSUSP) VREG Suspend Control Reset Value */
  584. #define SUPC_VREGSUSP_VREGSEN_Pos 0 /**< (SUPC_VREGSUSP) Enable Voltage Regulator Suspend Position */
  585. #define SUPC_VREGSUSP_VREGSEN_Msk (_U_(0x1) << SUPC_VREGSUSP_VREGSEN_Pos) /**< (SUPC_VREGSUSP) Enable Voltage Regulator Suspend Mask */
  586. #define SUPC_VREGSUSP_VREGSEN SUPC_VREGSUSP_VREGSEN_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use SUPC_VREGSUSP_VREGSEN_Msk instead */
  587. #define SUPC_VREGSUSP_MASK _U_(0x01) /**< \deprecated (SUPC_VREGSUSP) Register MASK (Use SUPC_VREGSUSP_Msk instead) */
  588. #define SUPC_VREGSUSP_Msk _U_(0x01) /**< (SUPC_VREGSUSP) Register Mask */
  589. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  590. /** \brief SUPC hardware registers */
  591. typedef struct { /* Supply Controller */
  592. __IO SUPC_INTENCLR_Type INTENCLR; /**< Offset: 0x00 (R/W 32) Interrupt Enable Clear */
  593. __IO SUPC_INTENSET_Type INTENSET; /**< Offset: 0x04 (R/W 32) Interrupt Enable Set */
  594. __IO SUPC_INTFLAG_Type INTFLAG; /**< Offset: 0x08 (R/W 32) Interrupt Flag Status and Clear */
  595. __I SUPC_STATUS_Type STATUS; /**< Offset: 0x0C (R/ 32) Power and Clocks Status */
  596. __IO SUPC_BOD33_Type BOD33; /**< Offset: 0x10 (R/W 32) BOD33 Control */
  597. __IO SUPC_BOD12_Type BOD12; /**< Offset: 0x14 (R/W 32) BOD12 Control */
  598. __IO SUPC_VREG_Type VREG; /**< Offset: 0x18 (R/W 32) VREG Control */
  599. __IO SUPC_VREF_Type VREF; /**< Offset: 0x1C (R/W 32) VREF Control */
  600. __I uint8_t Reserved1[12];
  601. __IO SUPC_EVCTRL_Type EVCTRL; /**< Offset: 0x2C (R/W 32) Event Control */
  602. __IO SUPC_VREGSUSP_Type VREGSUSP; /**< Offset: 0x30 (R/W 32) VREG Suspend Control */
  603. } Supc;
  604. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  605. /** @} end of Supply Controller */
  606. #endif /* _SAML11_SUPC_COMPONENT_H_ */