Go to the documentation of this file.
30 #ifndef _SAME54_OSC32KCTRL_COMPONENT_
31 #define _SAME54_OSC32KCTRL_COMPONENT_
39 #define OSC32KCTRL_U2400
40 #define REV_OSC32KCTRL 0x100
43 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
55 #define OSC32KCTRL_INTENCLR_OFFSET 0x00
56 #define OSC32KCTRL_INTENCLR_RESETVALUE _U_(0x00000000)
58 #define OSC32KCTRL_INTENCLR_XOSC32KRDY_Pos 0
59 #define OSC32KCTRL_INTENCLR_XOSC32KRDY (_U_(0x1) << OSC32KCTRL_INTENCLR_XOSC32KRDY_Pos)
60 #define OSC32KCTRL_INTENCLR_XOSC32KFAIL_Pos 2
61 #define OSC32KCTRL_INTENCLR_XOSC32KFAIL (_U_(0x1) << OSC32KCTRL_INTENCLR_XOSC32KFAIL_Pos)
62 #define OSC32KCTRL_INTENCLR_MASK _U_(0x00000005)
65 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
77 #define OSC32KCTRL_INTENSET_OFFSET 0x04
78 #define OSC32KCTRL_INTENSET_RESETVALUE _U_(0x00000000)
80 #define OSC32KCTRL_INTENSET_XOSC32KRDY_Pos 0
81 #define OSC32KCTRL_INTENSET_XOSC32KRDY (_U_(0x1) << OSC32KCTRL_INTENSET_XOSC32KRDY_Pos)
82 #define OSC32KCTRL_INTENSET_XOSC32KFAIL_Pos 2
83 #define OSC32KCTRL_INTENSET_XOSC32KFAIL (_U_(0x1) << OSC32KCTRL_INTENSET_XOSC32KFAIL_Pos)
84 #define OSC32KCTRL_INTENSET_MASK _U_(0x00000005)
87 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
99 #define OSC32KCTRL_INTFLAG_OFFSET 0x08
100 #define OSC32KCTRL_INTFLAG_RESETVALUE _U_(0x00000000)
102 #define OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos 0
103 #define OSC32KCTRL_INTFLAG_XOSC32KRDY (_U_(0x1) << OSC32KCTRL_INTFLAG_XOSC32KRDY_Pos)
104 #define OSC32KCTRL_INTFLAG_XOSC32KFAIL_Pos 2
105 #define OSC32KCTRL_INTFLAG_XOSC32KFAIL (_U_(0x1) << OSC32KCTRL_INTFLAG_XOSC32KFAIL_Pos)
106 #define OSC32KCTRL_INTFLAG_MASK _U_(0x00000005)
109 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
122 #define OSC32KCTRL_STATUS_OFFSET 0x0C
123 #define OSC32KCTRL_STATUS_RESETVALUE _U_(0x00000000)
125 #define OSC32KCTRL_STATUS_XOSC32KRDY_Pos 0
126 #define OSC32KCTRL_STATUS_XOSC32KRDY (_U_(0x1) << OSC32KCTRL_STATUS_XOSC32KRDY_Pos)
127 #define OSC32KCTRL_STATUS_XOSC32KFAIL_Pos 2
128 #define OSC32KCTRL_STATUS_XOSC32KFAIL (_U_(0x1) << OSC32KCTRL_STATUS_XOSC32KFAIL_Pos)
129 #define OSC32KCTRL_STATUS_XOSC32KSW_Pos 3
130 #define OSC32KCTRL_STATUS_XOSC32KSW (_U_(0x1) << OSC32KCTRL_STATUS_XOSC32KSW_Pos)
131 #define OSC32KCTRL_STATUS_MASK _U_(0x0000000D)
134 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
144 #define OSC32KCTRL_RTCCTRL_OFFSET 0x10
145 #define OSC32KCTRL_RTCCTRL_RESETVALUE _U_(0x00)
147 #define OSC32KCTRL_RTCCTRL_RTCSEL_Pos 0
148 #define OSC32KCTRL_RTCCTRL_RTCSEL_Msk (_U_(0x7) << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)
149 #define OSC32KCTRL_RTCCTRL_RTCSEL(value) (OSC32KCTRL_RTCCTRL_RTCSEL_Msk & ((value) << OSC32KCTRL_RTCCTRL_RTCSEL_Pos))
150 #define OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K_Val _U_(0x0)
151 #define OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K_Val _U_(0x1)
152 #define OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K_Val _U_(0x4)
153 #define OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K_Val _U_(0x5)
154 #define OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K (OSC32KCTRL_RTCCTRL_RTCSEL_ULP1K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)
155 #define OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K (OSC32KCTRL_RTCCTRL_RTCSEL_ULP32K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)
156 #define OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K (OSC32KCTRL_RTCCTRL_RTCSEL_XOSC1K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)
157 #define OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K (OSC32KCTRL_RTCCTRL_RTCSEL_XOSC32K_Val << OSC32KCTRL_RTCCTRL_RTCSEL_Pos)
158 #define OSC32KCTRL_RTCCTRL_MASK _U_(0x07)
161 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
182 #define OSC32KCTRL_XOSC32K_OFFSET 0x14
183 #define OSC32KCTRL_XOSC32K_RESETVALUE _U_(0x2080)
185 #define OSC32KCTRL_XOSC32K_ENABLE_Pos 1
186 #define OSC32KCTRL_XOSC32K_ENABLE (_U_(0x1) << OSC32KCTRL_XOSC32K_ENABLE_Pos)
187 #define OSC32KCTRL_XOSC32K_XTALEN_Pos 2
188 #define OSC32KCTRL_XOSC32K_XTALEN (_U_(0x1) << OSC32KCTRL_XOSC32K_XTALEN_Pos)
189 #define OSC32KCTRL_XOSC32K_EN32K_Pos 3
190 #define OSC32KCTRL_XOSC32K_EN32K (_U_(0x1) << OSC32KCTRL_XOSC32K_EN32K_Pos)
191 #define OSC32KCTRL_XOSC32K_EN1K_Pos 4
192 #define OSC32KCTRL_XOSC32K_EN1K (_U_(0x1) << OSC32KCTRL_XOSC32K_EN1K_Pos)
193 #define OSC32KCTRL_XOSC32K_RUNSTDBY_Pos 6
194 #define OSC32KCTRL_XOSC32K_RUNSTDBY (_U_(0x1) << OSC32KCTRL_XOSC32K_RUNSTDBY_Pos)
195 #define OSC32KCTRL_XOSC32K_ONDEMAND_Pos 7
196 #define OSC32KCTRL_XOSC32K_ONDEMAND (_U_(0x1) << OSC32KCTRL_XOSC32K_ONDEMAND_Pos)
197 #define OSC32KCTRL_XOSC32K_STARTUP_Pos 8
198 #define OSC32KCTRL_XOSC32K_STARTUP_Msk (_U_(0x7) << OSC32KCTRL_XOSC32K_STARTUP_Pos)
199 #define OSC32KCTRL_XOSC32K_STARTUP(value) (OSC32KCTRL_XOSC32K_STARTUP_Msk & ((value) << OSC32KCTRL_XOSC32K_STARTUP_Pos))
200 #define OSC32KCTRL_XOSC32K_WRTLOCK_Pos 12
201 #define OSC32KCTRL_XOSC32K_WRTLOCK (_U_(0x1) << OSC32KCTRL_XOSC32K_WRTLOCK_Pos)
202 #define OSC32KCTRL_XOSC32K_CGM_Pos 13
203 #define OSC32KCTRL_XOSC32K_CGM_Msk (_U_(0x3) << OSC32KCTRL_XOSC32K_CGM_Pos)
204 #define OSC32KCTRL_XOSC32K_CGM(value) (OSC32KCTRL_XOSC32K_CGM_Msk & ((value) << OSC32KCTRL_XOSC32K_CGM_Pos))
205 #define OSC32KCTRL_XOSC32K_CGM_XT_Val _U_(0x1)
206 #define OSC32KCTRL_XOSC32K_CGM_HS_Val _U_(0x2)
207 #define OSC32KCTRL_XOSC32K_CGM_XT (OSC32KCTRL_XOSC32K_CGM_XT_Val << OSC32KCTRL_XOSC32K_CGM_Pos)
208 #define OSC32KCTRL_XOSC32K_CGM_HS (OSC32KCTRL_XOSC32K_CGM_HS_Val << OSC32KCTRL_XOSC32K_CGM_Pos)
209 #define OSC32KCTRL_XOSC32K_MASK _U_(0x77DE)
212 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
224 #define OSC32KCTRL_CFDCTRL_OFFSET 0x16
225 #define OSC32KCTRL_CFDCTRL_RESETVALUE _U_(0x00)
227 #define OSC32KCTRL_CFDCTRL_CFDEN_Pos 0
228 #define OSC32KCTRL_CFDCTRL_CFDEN (_U_(0x1) << OSC32KCTRL_CFDCTRL_CFDEN_Pos)
229 #define OSC32KCTRL_CFDCTRL_SWBACK_Pos 1
230 #define OSC32KCTRL_CFDCTRL_SWBACK (_U_(0x1) << OSC32KCTRL_CFDCTRL_SWBACK_Pos)
231 #define OSC32KCTRL_CFDCTRL_CFDPRESC_Pos 2
232 #define OSC32KCTRL_CFDCTRL_CFDPRESC (_U_(0x1) << OSC32KCTRL_CFDCTRL_CFDPRESC_Pos)
233 #define OSC32KCTRL_CFDCTRL_MASK _U_(0x07)
236 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
246 #define OSC32KCTRL_EVCTRL_OFFSET 0x17
247 #define OSC32KCTRL_EVCTRL_RESETVALUE _U_(0x00)
249 #define OSC32KCTRL_EVCTRL_CFDEO_Pos 0
250 #define OSC32KCTRL_EVCTRL_CFDEO (_U_(0x1) << OSC32KCTRL_EVCTRL_CFDEO_Pos)
251 #define OSC32KCTRL_EVCTRL_MASK _U_(0x01)
254 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
270 #define OSC32KCTRL_OSCULP32K_OFFSET 0x1C
271 #define OSC32KCTRL_OSCULP32K_RESETVALUE _U_(0x00000000)
273 #define OSC32KCTRL_OSCULP32K_EN32K_Pos 1
274 #define OSC32KCTRL_OSCULP32K_EN32K (_U_(0x1) << OSC32KCTRL_OSCULP32K_EN32K_Pos)
275 #define OSC32KCTRL_OSCULP32K_EN1K_Pos 2
276 #define OSC32KCTRL_OSCULP32K_EN1K (_U_(0x1) << OSC32KCTRL_OSCULP32K_EN1K_Pos)
277 #define OSC32KCTRL_OSCULP32K_CALIB_Pos 8
278 #define OSC32KCTRL_OSCULP32K_CALIB_Msk (_U_(0x3F) << OSC32KCTRL_OSCULP32K_CALIB_Pos)
279 #define OSC32KCTRL_OSCULP32K_CALIB(value) (OSC32KCTRL_OSCULP32K_CALIB_Msk & ((value) << OSC32KCTRL_OSCULP32K_CALIB_Pos))
280 #define OSC32KCTRL_OSCULP32K_WRTLOCK_Pos 15
281 #define OSC32KCTRL_OSCULP32K_WRTLOCK (_U_(0x1) << OSC32KCTRL_OSCULP32K_WRTLOCK_Pos)
282 #define OSC32KCTRL_OSCULP32K_MASK _U_(0x0000BF06)
285 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
OSC32KCTRL hardware registers.
__IO OSC32KCTRL_EVCTRL_Type EVCTRL
Offset: 0x17 (R/W 8) Event Control.
__I OSC32KCTRL_STATUS_Type STATUS
Offset: 0x0C (R/ 32) Power and Clocks Status.
__IO OSC32KCTRL_CFDCTRL_Type CFDCTRL
Offset: 0x16 (R/W 8) Clock Failure Detector Control.
__IO OSC32KCTRL_INTFLAG_Type INTFLAG
Offset: 0x08 (R/W 32) Interrupt Flag Status and Clear.
__IO OSC32KCTRL_XOSC32K_Type XOSC32K
Offset: 0x14 (R/W 16) 32kHz External Crystal Oscillator (XOSC32K) Control.
__IO OSC32KCTRL_RTCCTRL_Type RTCCTRL
Offset: 0x10 (R/W 8) RTC Clock Selection.
__IO OSC32KCTRL_OSCULP32K_Type OSCULP32K
Offset: 0x1C (R/W 32) 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control.
__IO OSC32KCTRL_INTENSET_Type INTENSET
Offset: 0x04 (R/W 32) Interrupt Enable Set.
__IO OSC32KCTRL_INTENCLR_Type INTENCLR
Offset: 0x00 (R/W 32) Interrupt Enable Clear.
volatile const uint8_t RoReg8