gclk.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  1. /**
  2. * \file
  3. *
  4. * \brief Component description for GCLK
  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_GCLK_COMPONENT_H_
  31. #define _SAML11_GCLK_COMPONENT_H_
  32. #define _SAML11_GCLK_COMPONENT_ /**< \deprecated Backward compatibility for ASF */
  33. /** \addtogroup SAML_SAML11 Generic Clock Generator
  34. * @{
  35. */
  36. /* ========================================================================== */
  37. /** SOFTWARE API DEFINITION FOR GCLK */
  38. /* ========================================================================== */
  39. #define GCLK_U2122 /**< (GCLK) Module ID */
  40. #define REV_GCLK 0x112 /**< (GCLK) Module revision */
  41. /* -------- GCLK_CTRLA : (GCLK Offset: 0x00) (R/W 8) Control -------- */
  42. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  43. typedef union {
  44. struct {
  45. uint8_t SWRST:1; /**< bit: 0 Software Reset */
  46. uint8_t :7; /**< bit: 1..7 Reserved */
  47. } bit; /**< Structure used for bit access */
  48. uint8_t reg; /**< Type used for register access */
  49. } GCLK_CTRLA_Type;
  50. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  51. #define GCLK_CTRLA_OFFSET (0x00) /**< (GCLK_CTRLA) Control Offset */
  52. #define GCLK_CTRLA_RESETVALUE _U_(0x00) /**< (GCLK_CTRLA) Control Reset Value */
  53. #define GCLK_CTRLA_SWRST_Pos 0 /**< (GCLK_CTRLA) Software Reset Position */
  54. #define GCLK_CTRLA_SWRST_Msk (_U_(0x1) << GCLK_CTRLA_SWRST_Pos) /**< (GCLK_CTRLA) Software Reset Mask */
  55. #define GCLK_CTRLA_SWRST GCLK_CTRLA_SWRST_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_CTRLA_SWRST_Msk instead */
  56. #define GCLK_CTRLA_MASK _U_(0x01) /**< \deprecated (GCLK_CTRLA) Register MASK (Use GCLK_CTRLA_Msk instead) */
  57. #define GCLK_CTRLA_Msk _U_(0x01) /**< (GCLK_CTRLA) Register Mask */
  58. /* -------- GCLK_SYNCBUSY : (GCLK Offset: 0x04) (R/ 32) Synchronization Busy -------- */
  59. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  60. typedef union {
  61. struct {
  62. uint32_t SWRST:1; /**< bit: 0 Software Reset Synchroniation Busy bit */
  63. uint32_t :1; /**< bit: 1 Reserved */
  64. uint32_t GENCTRL0:1; /**< bit: 2 Generic Clock Generator Control 0 Synchronization Busy bit */
  65. uint32_t GENCTRL1:1; /**< bit: 3 Generic Clock Generator Control 1 Synchronization Busy bit */
  66. uint32_t GENCTRL2:1; /**< bit: 4 Generic Clock Generator Control 2 Synchronization Busy bit */
  67. uint32_t GENCTRL3:1; /**< bit: 5 Generic Clock Generator Control 3 Synchronization Busy bit */
  68. uint32_t GENCTRL4:1; /**< bit: 6 Generic Clock Generator Control 4 Synchronization Busy bit */
  69. uint32_t :25; /**< bit: 7..31 Reserved */
  70. } bit; /**< Structure used for bit access */
  71. struct {
  72. uint32_t :2; /**< bit: 0..1 Reserved */
  73. uint32_t GENCTRL:5; /**< bit: 2..6 Generic Clock Generator Control 4 Synchronization Busy bit */
  74. uint32_t :25; /**< bit: 7..31 Reserved */
  75. } vec; /**< Structure used for vec access */
  76. uint32_t reg; /**< Type used for register access */
  77. } GCLK_SYNCBUSY_Type;
  78. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  79. #define GCLK_SYNCBUSY_OFFSET (0x04) /**< (GCLK_SYNCBUSY) Synchronization Busy Offset */
  80. #define GCLK_SYNCBUSY_RESETVALUE _U_(0x00) /**< (GCLK_SYNCBUSY) Synchronization Busy Reset Value */
  81. #define GCLK_SYNCBUSY_SWRST_Pos 0 /**< (GCLK_SYNCBUSY) Software Reset Synchroniation Busy bit Position */
  82. #define GCLK_SYNCBUSY_SWRST_Msk (_U_(0x1) << GCLK_SYNCBUSY_SWRST_Pos) /**< (GCLK_SYNCBUSY) Software Reset Synchroniation Busy bit Mask */
  83. #define GCLK_SYNCBUSY_SWRST GCLK_SYNCBUSY_SWRST_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_SWRST_Msk instead */
  84. #define GCLK_SYNCBUSY_GENCTRL0_Pos 2 /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 0 Synchronization Busy bit Position */
  85. #define GCLK_SYNCBUSY_GENCTRL0_Msk (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL0_Pos) /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 0 Synchronization Busy bit Mask */
  86. #define GCLK_SYNCBUSY_GENCTRL0 GCLK_SYNCBUSY_GENCTRL0_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL0_Msk instead */
  87. #define GCLK_SYNCBUSY_GENCTRL1_Pos 3 /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 1 Synchronization Busy bit Position */
  88. #define GCLK_SYNCBUSY_GENCTRL1_Msk (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL1_Pos) /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 1 Synchronization Busy bit Mask */
  89. #define GCLK_SYNCBUSY_GENCTRL1 GCLK_SYNCBUSY_GENCTRL1_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL1_Msk instead */
  90. #define GCLK_SYNCBUSY_GENCTRL2_Pos 4 /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 2 Synchronization Busy bit Position */
  91. #define GCLK_SYNCBUSY_GENCTRL2_Msk (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL2_Pos) /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 2 Synchronization Busy bit Mask */
  92. #define GCLK_SYNCBUSY_GENCTRL2 GCLK_SYNCBUSY_GENCTRL2_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL2_Msk instead */
  93. #define GCLK_SYNCBUSY_GENCTRL3_Pos 5 /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 3 Synchronization Busy bit Position */
  94. #define GCLK_SYNCBUSY_GENCTRL3_Msk (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL3_Pos) /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 3 Synchronization Busy bit Mask */
  95. #define GCLK_SYNCBUSY_GENCTRL3 GCLK_SYNCBUSY_GENCTRL3_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL3_Msk instead */
  96. #define GCLK_SYNCBUSY_GENCTRL4_Pos 6 /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 4 Synchronization Busy bit Position */
  97. #define GCLK_SYNCBUSY_GENCTRL4_Msk (_U_(0x1) << GCLK_SYNCBUSY_GENCTRL4_Pos) /**< (GCLK_SYNCBUSY) Generic Clock Generator Control 4 Synchronization Busy bit Mask */
  98. #define GCLK_SYNCBUSY_GENCTRL4 GCLK_SYNCBUSY_GENCTRL4_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_SYNCBUSY_GENCTRL4_Msk instead */
  99. #define GCLK_SYNCBUSY_MASK _U_(0x7D) /**< \deprecated (GCLK_SYNCBUSY) Register MASK (Use GCLK_SYNCBUSY_Msk instead) */
  100. #define GCLK_SYNCBUSY_Msk _U_(0x7D) /**< (GCLK_SYNCBUSY) Register Mask */
  101. #define GCLK_SYNCBUSY_GENCTRL_Pos 2 /**< (GCLK_SYNCBUSY Position) Generic Clock Generator Control 4 Synchronization Busy bit */
  102. #define GCLK_SYNCBUSY_GENCTRL_Msk (_U_(0x1F) << GCLK_SYNCBUSY_GENCTRL_Pos) /**< (GCLK_SYNCBUSY Mask) GENCTRL */
  103. #define GCLK_SYNCBUSY_GENCTRL(value) (GCLK_SYNCBUSY_GENCTRL_Msk & ((value) << GCLK_SYNCBUSY_GENCTRL_Pos))
  104. /* -------- GCLK_GENCTRL : (GCLK Offset: 0x20) (R/W 32) Generic Clock Generator Control -------- */
  105. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  106. typedef union {
  107. struct {
  108. uint32_t SRC:3; /**< bit: 0..2 Source Select */
  109. uint32_t :5; /**< bit: 3..7 Reserved */
  110. uint32_t GENEN:1; /**< bit: 8 Generic Clock Generator Enable */
  111. uint32_t IDC:1; /**< bit: 9 Improve Duty Cycle */
  112. uint32_t OOV:1; /**< bit: 10 Output Off Value */
  113. uint32_t OE:1; /**< bit: 11 Output Enable */
  114. uint32_t DIVSEL:1; /**< bit: 12 Divide Selection */
  115. uint32_t RUNSTDBY:1; /**< bit: 13 Run in Standby */
  116. uint32_t :2; /**< bit: 14..15 Reserved */
  117. uint32_t DIV:16; /**< bit: 16..31 Division Factor */
  118. } bit; /**< Structure used for bit access */
  119. uint32_t reg; /**< Type used for register access */
  120. } GCLK_GENCTRL_Type;
  121. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  122. #define GCLK_GENCTRL_OFFSET (0x20) /**< (GCLK_GENCTRL) Generic Clock Generator Control Offset */
  123. #define GCLK_GENCTRL_RESETVALUE _U_(0x00) /**< (GCLK_GENCTRL) Generic Clock Generator Control Reset Value */
  124. #define GCLK_GENCTRL_SRC_Pos 0 /**< (GCLK_GENCTRL) Source Select Position */
  125. #define GCLK_GENCTRL_SRC_Msk (_U_(0x7) << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) Source Select Mask */
  126. #define GCLK_GENCTRL_SRC(value) (GCLK_GENCTRL_SRC_Msk & ((value) << GCLK_GENCTRL_SRC_Pos))
  127. #define GCLK_GENCTRL_SRC_XOSC_Val _U_(0x0) /**< (GCLK_GENCTRL) XOSC oscillator output */
  128. #define GCLK_GENCTRL_SRC_GCLKIN_Val _U_(0x1) /**< (GCLK_GENCTRL) Generator input pad */
  129. #define GCLK_GENCTRL_SRC_GCLKGEN1_Val _U_(0x2) /**< (GCLK_GENCTRL) Generic clock generator 1 output */
  130. #define GCLK_GENCTRL_SRC_OSCULP32K_Val _U_(0x3) /**< (GCLK_GENCTRL) OSCULP32K oscillator output */
  131. #define GCLK_GENCTRL_SRC_XOSC32K_Val _U_(0x4) /**< (GCLK_GENCTRL) XOSC32K oscillator output */
  132. #define GCLK_GENCTRL_SRC_OSC16M_Val _U_(0x5) /**< (GCLK_GENCTRL) OSC16M oscillator output */
  133. #define GCLK_GENCTRL_SRC_DFLLULP_Val _U_(0x6) /**< (GCLK_GENCTRL) DFLLULP output */
  134. #define GCLK_GENCTRL_SRC_FDPLL96M_Val _U_(0x7) /**< (GCLK_GENCTRL) FDPLL output */
  135. #define GCLK_GENCTRL_SRC_XOSC (GCLK_GENCTRL_SRC_XOSC_Val << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) XOSC oscillator output Position */
  136. #define GCLK_GENCTRL_SRC_GCLKIN (GCLK_GENCTRL_SRC_GCLKIN_Val << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) Generator input pad Position */
  137. #define GCLK_GENCTRL_SRC_GCLKGEN1 (GCLK_GENCTRL_SRC_GCLKGEN1_Val << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) Generic clock generator 1 output Position */
  138. #define GCLK_GENCTRL_SRC_OSCULP32K (GCLK_GENCTRL_SRC_OSCULP32K_Val << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) OSCULP32K oscillator output Position */
  139. #define GCLK_GENCTRL_SRC_XOSC32K (GCLK_GENCTRL_SRC_XOSC32K_Val << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) XOSC32K oscillator output Position */
  140. #define GCLK_GENCTRL_SRC_OSC16M (GCLK_GENCTRL_SRC_OSC16M_Val << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) OSC16M oscillator output Position */
  141. #define GCLK_GENCTRL_SRC_DFLLULP (GCLK_GENCTRL_SRC_DFLLULP_Val << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) DFLLULP output Position */
  142. #define GCLK_GENCTRL_SRC_FDPLL96M (GCLK_GENCTRL_SRC_FDPLL96M_Val << GCLK_GENCTRL_SRC_Pos) /**< (GCLK_GENCTRL) FDPLL output Position */
  143. #define GCLK_GENCTRL_GENEN_Pos 8 /**< (GCLK_GENCTRL) Generic Clock Generator Enable Position */
  144. #define GCLK_GENCTRL_GENEN_Msk (_U_(0x1) << GCLK_GENCTRL_GENEN_Pos) /**< (GCLK_GENCTRL) Generic Clock Generator Enable Mask */
  145. #define GCLK_GENCTRL_GENEN GCLK_GENCTRL_GENEN_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_GENEN_Msk instead */
  146. #define GCLK_GENCTRL_IDC_Pos 9 /**< (GCLK_GENCTRL) Improve Duty Cycle Position */
  147. #define GCLK_GENCTRL_IDC_Msk (_U_(0x1) << GCLK_GENCTRL_IDC_Pos) /**< (GCLK_GENCTRL) Improve Duty Cycle Mask */
  148. #define GCLK_GENCTRL_IDC GCLK_GENCTRL_IDC_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_IDC_Msk instead */
  149. #define GCLK_GENCTRL_OOV_Pos 10 /**< (GCLK_GENCTRL) Output Off Value Position */
  150. #define GCLK_GENCTRL_OOV_Msk (_U_(0x1) << GCLK_GENCTRL_OOV_Pos) /**< (GCLK_GENCTRL) Output Off Value Mask */
  151. #define GCLK_GENCTRL_OOV GCLK_GENCTRL_OOV_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_OOV_Msk instead */
  152. #define GCLK_GENCTRL_OE_Pos 11 /**< (GCLK_GENCTRL) Output Enable Position */
  153. #define GCLK_GENCTRL_OE_Msk (_U_(0x1) << GCLK_GENCTRL_OE_Pos) /**< (GCLK_GENCTRL) Output Enable Mask */
  154. #define GCLK_GENCTRL_OE GCLK_GENCTRL_OE_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_OE_Msk instead */
  155. #define GCLK_GENCTRL_DIVSEL_Pos 12 /**< (GCLK_GENCTRL) Divide Selection Position */
  156. #define GCLK_GENCTRL_DIVSEL_Msk (_U_(0x1) << GCLK_GENCTRL_DIVSEL_Pos) /**< (GCLK_GENCTRL) Divide Selection Mask */
  157. #define GCLK_GENCTRL_DIVSEL GCLK_GENCTRL_DIVSEL_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_DIVSEL_Msk instead */
  158. #define GCLK_GENCTRL_RUNSTDBY_Pos 13 /**< (GCLK_GENCTRL) Run in Standby Position */
  159. #define GCLK_GENCTRL_RUNSTDBY_Msk (_U_(0x1) << GCLK_GENCTRL_RUNSTDBY_Pos) /**< (GCLK_GENCTRL) Run in Standby Mask */
  160. #define GCLK_GENCTRL_RUNSTDBY GCLK_GENCTRL_RUNSTDBY_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_GENCTRL_RUNSTDBY_Msk instead */
  161. #define GCLK_GENCTRL_DIV_Pos 16 /**< (GCLK_GENCTRL) Division Factor Position */
  162. #define GCLK_GENCTRL_DIV_Msk (_U_(0xFFFF) << GCLK_GENCTRL_DIV_Pos) /**< (GCLK_GENCTRL) Division Factor Mask */
  163. #define GCLK_GENCTRL_DIV(value) (GCLK_GENCTRL_DIV_Msk & ((value) << GCLK_GENCTRL_DIV_Pos))
  164. #define GCLK_GENCTRL_MASK _U_(0xFFFF3F07) /**< \deprecated (GCLK_GENCTRL) Register MASK (Use GCLK_GENCTRL_Msk instead) */
  165. #define GCLK_GENCTRL_Msk _U_(0xFFFF3F07) /**< (GCLK_GENCTRL) Register Mask */
  166. /* -------- GCLK_PCHCTRL : (GCLK Offset: 0x80) (R/W 32) Peripheral Clock Control -------- */
  167. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  168. typedef union {
  169. struct {
  170. uint32_t GEN:3; /**< bit: 0..2 Generic Clock Generator */
  171. uint32_t :3; /**< bit: 3..5 Reserved */
  172. uint32_t CHEN:1; /**< bit: 6 Channel Enable */
  173. uint32_t WRTLOCK:1; /**< bit: 7 Write Lock */
  174. uint32_t :24; /**< bit: 8..31 Reserved */
  175. } bit; /**< Structure used for bit access */
  176. uint32_t reg; /**< Type used for register access */
  177. } GCLK_PCHCTRL_Type;
  178. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  179. #define GCLK_PCHCTRL_OFFSET (0x80) /**< (GCLK_PCHCTRL) Peripheral Clock Control Offset */
  180. #define GCLK_PCHCTRL_RESETVALUE _U_(0x00) /**< (GCLK_PCHCTRL) Peripheral Clock Control Reset Value */
  181. #define GCLK_PCHCTRL_GEN_Pos 0 /**< (GCLK_PCHCTRL) Generic Clock Generator Position */
  182. #define GCLK_PCHCTRL_GEN_Msk (_U_(0x7) << GCLK_PCHCTRL_GEN_Pos) /**< (GCLK_PCHCTRL) Generic Clock Generator Mask */
  183. #define GCLK_PCHCTRL_GEN(value) (GCLK_PCHCTRL_GEN_Msk & ((value) << GCLK_PCHCTRL_GEN_Pos))
  184. #define GCLK_PCHCTRL_GEN_GCLK0_Val _U_(0x0) /**< (GCLK_PCHCTRL) Generic clock generator 0 */
  185. #define GCLK_PCHCTRL_GEN_GCLK1_Val _U_(0x1) /**< (GCLK_PCHCTRL) Generic clock generator 1 */
  186. #define GCLK_PCHCTRL_GEN_GCLK2_Val _U_(0x2) /**< (GCLK_PCHCTRL) Generic clock generator 2 */
  187. #define GCLK_PCHCTRL_GEN_GCLK3_Val _U_(0x3) /**< (GCLK_PCHCTRL) Generic clock generator 3 */
  188. #define GCLK_PCHCTRL_GEN_GCLK4_Val _U_(0x4) /**< (GCLK_PCHCTRL) Generic clock generator 4 */
  189. #define GCLK_PCHCTRL_GEN_GCLK0 (GCLK_PCHCTRL_GEN_GCLK0_Val << GCLK_PCHCTRL_GEN_Pos) /**< (GCLK_PCHCTRL) Generic clock generator 0 Position */
  190. #define GCLK_PCHCTRL_GEN_GCLK1 (GCLK_PCHCTRL_GEN_GCLK1_Val << GCLK_PCHCTRL_GEN_Pos) /**< (GCLK_PCHCTRL) Generic clock generator 1 Position */
  191. #define GCLK_PCHCTRL_GEN_GCLK2 (GCLK_PCHCTRL_GEN_GCLK2_Val << GCLK_PCHCTRL_GEN_Pos) /**< (GCLK_PCHCTRL) Generic clock generator 2 Position */
  192. #define GCLK_PCHCTRL_GEN_GCLK3 (GCLK_PCHCTRL_GEN_GCLK3_Val << GCLK_PCHCTRL_GEN_Pos) /**< (GCLK_PCHCTRL) Generic clock generator 3 Position */
  193. #define GCLK_PCHCTRL_GEN_GCLK4 (GCLK_PCHCTRL_GEN_GCLK4_Val << GCLK_PCHCTRL_GEN_Pos) /**< (GCLK_PCHCTRL) Generic clock generator 4 Position */
  194. #define GCLK_PCHCTRL_CHEN_Pos 6 /**< (GCLK_PCHCTRL) Channel Enable Position */
  195. #define GCLK_PCHCTRL_CHEN_Msk (_U_(0x1) << GCLK_PCHCTRL_CHEN_Pos) /**< (GCLK_PCHCTRL) Channel Enable Mask */
  196. #define GCLK_PCHCTRL_CHEN GCLK_PCHCTRL_CHEN_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_PCHCTRL_CHEN_Msk instead */
  197. #define GCLK_PCHCTRL_WRTLOCK_Pos 7 /**< (GCLK_PCHCTRL) Write Lock Position */
  198. #define GCLK_PCHCTRL_WRTLOCK_Msk (_U_(0x1) << GCLK_PCHCTRL_WRTLOCK_Pos) /**< (GCLK_PCHCTRL) Write Lock Mask */
  199. #define GCLK_PCHCTRL_WRTLOCK GCLK_PCHCTRL_WRTLOCK_Msk /**< \deprecated Old style mask definition for 1 bit bitfield. Use GCLK_PCHCTRL_WRTLOCK_Msk instead */
  200. #define GCLK_PCHCTRL_MASK _U_(0xC7) /**< \deprecated (GCLK_PCHCTRL) Register MASK (Use GCLK_PCHCTRL_Msk instead) */
  201. #define GCLK_PCHCTRL_Msk _U_(0xC7) /**< (GCLK_PCHCTRL) Register Mask */
  202. #if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
  203. /** \brief GCLK hardware registers */
  204. typedef struct { /* Generic Clock Generator */
  205. __IO GCLK_CTRLA_Type CTRLA; /**< Offset: 0x00 (R/W 8) Control */
  206. __I uint8_t Reserved1[3];
  207. __I GCLK_SYNCBUSY_Type SYNCBUSY; /**< Offset: 0x04 (R/ 32) Synchronization Busy */
  208. __I uint8_t Reserved2[24];
  209. __IO GCLK_GENCTRL_Type GENCTRL[5]; /**< Offset: 0x20 (R/W 32) Generic Clock Generator Control */
  210. __I uint8_t Reserved3[76];
  211. __IO GCLK_PCHCTRL_Type PCHCTRL[21]; /**< Offset: 0x80 (R/W 32) Peripheral Clock Control */
  212. } Gclk;
  213. #endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
  214. /** @} end of Generic Clock Generator */
  215. #endif /* _SAML11_GCLK_COMPONENT_H_ */