Lines Matching refs:rtc

54 int RTC_EnableTimeofdayInterrupt(mxc_rtc_regs_t *rtc)  in RTC_EnableTimeofdayInterrupt()  argument
60 rtc->ctrl |= MXC_F_RTC_CTRL_ADE; // Enable Time-of-day Interrupt in RTC_EnableTimeofdayInterrupt()
65 int RTC_DisableTimeofdayInterrupt(mxc_rtc_regs_t *rtc) in RTC_DisableTimeofdayInterrupt() argument
72 rtc->ctrl &= ~MXC_F_RTC_CTRL_ADE; // Disable Time-of-day Interrupt in RTC_DisableTimeofdayInterrupt()
82 int RTC_EnableSubsecondInterrupt(mxc_rtc_regs_t *rtc) in RTC_EnableSubsecondInterrupt() argument
88 rtc->ctrl |= MXC_F_RTC_CTRL_ASE; // Enable Sub-Second Interrupt in RTC_EnableSubsecondInterrupt()
94 int RTC_DisableSubsecondInterrupt(mxc_rtc_regs_t *rtc) in RTC_DisableSubsecondInterrupt() argument
101 rtc->ctrl &= ~MXC_F_RTC_CTRL_ASE; // Alarm Sub-Second Interrupt disabled in RTC_DisableSubsecondInterrupt()
111 int RTC_SetTimeofdayAlarm(mxc_rtc_regs_t *rtc, uint32_t ras) in RTC_SetTimeofdayAlarm() argument
116 if(RTC_DisableTimeofdayInterrupt(rtc) == E_BUSY) { in RTC_SetTimeofdayAlarm()
124 rtc->ras = (ras << MXC_F_RTC_RAS_RAS_POS) & MXC_F_RTC_RAS_RAS; in RTC_SetTimeofdayAlarm()
126 if(RTC_EnableTimeofdayInterrupt(rtc) == E_BUSY) { in RTC_SetTimeofdayAlarm()
134 int RTC_SetSubsecondAlarm(mxc_rtc_regs_t *rtc, uint32_t rssa) in RTC_SetSubsecondAlarm() argument
138 if(RTC_DisableSubsecondInterrupt(rtc) == E_BUSY) { in RTC_SetSubsecondAlarm()
146 rtc->rssa = (rssa << MXC_F_RTC_RSSA_RSSA_POS) & MXC_F_RTC_RSSA_RSSA; in RTC_SetSubsecondAlarm()
148 if(RTC_EnableSubsecondInterrupt(rtc) == E_BUSY) { in RTC_SetSubsecondAlarm()
157 int RTC_EnableRTCE(mxc_rtc_regs_t *rtc) in RTC_EnableRTCE() argument
163 rtc->ctrl |= MXC_F_RTC_CTRL_WE; // Allow writing to registers in RTC_EnableRTCE()
168 rtc->ctrl |= MXC_F_RTC_CTRL_RTCE; // setting RTCE = 1 in RTC_EnableRTCE()
173 rtc->ctrl &= ~MXC_F_RTC_CTRL_WE; // Prevent Writing... in RTC_EnableRTCE()
179 int RTC_DisableRTCE(mxc_rtc_regs_t *rtc) in RTC_DisableRTCE() argument
185 rtc->ctrl |= MXC_F_RTC_CTRL_WE; // Allow writing to registers in RTC_DisableRTCE()
191 rtc->ctrl &= ~MXC_F_RTC_CTRL_RTCE; // setting RTCE = 0 in RTC_DisableRTCE()
196 rtc->ctrl &= ~MXC_F_RTC_CTRL_WE; // Prevent Writing... in RTC_DisableRTCE()
203 int RTC_Init(mxc_rtc_regs_t *rtc, uint32_t sec, uint8_t ssec, sys_cfg_rtc_t *sys_cfg) in RTC_Init() argument
215 rtc->ctrl = MXC_F_RTC_CTRL_WE; // Allow Writes in RTC_Init()
220 rtc->ctrl = RTC_CTRL_RESET_DEFAULT; // Start with a Clean Register in RTC_Init()
225 rtc->ctrl |= MXC_F_RTC_CTRL_WE; // Set Write Enable, allow writing to reg. in RTC_Init()
230 rtc->ssec = ssec; in RTC_Init()
235 rtc->sec = sec; in RTC_Init()
240 rtc->ctrl &= ~MXC_F_RTC_CTRL_WE; // Prevent Writing... in RTC_Init()
246 int RTC_SquareWave(mxc_rtc_regs_t *rtc, rtc_sqwave_en_t sqe, rtc_freq_sel_t ft, in RTC_SquareWave() argument
256 rtc->ctrl |= MXC_F_RTC_CTRL_WE; // Allow writing to registers in RTC_SquareWave()
264 rtc->oscctrl |= MXC_F_RTC_OSCCTRL_OUT32K; // Enable 32KHz wave in RTC_SquareWave()
268 rtc->ctrl |= MXC_F_RTC_CTRL_SQE; // Enable output on the pin in RTC_SquareWave()
271 rtc->oscctrl &= ~MXC_F_RTC_OSCCTRL_OUT32K; // Must make sure that the 32KHz is disabled in RTC_SquareWave()
275 rtc->ctrl &= ~(MXC_F_RTC_CTRL_FT | MXC_F_RTC_CTRL_X32KMD); in RTC_SquareWave()
279 rtc->ctrl |= (MXC_F_RTC_CTRL_SQE | ft | x32kmd); // Enable Sq. wave, in RTC_SquareWave()
285 rtc->ctrl |= MXC_F_RTC_CTRL_RTCE; // Enable Real Time Clock in RTC_SquareWave()
288 rtc->oscctrl &= ~MXC_F_RTC_OSCCTRL_OUT32K; // Must make sure that the 32KHz is disabled in RTC_SquareWave()
292 rtc->ctrl &= ~MXC_F_RTC_CTRL_SQE; // No sq. wave output in RTC_SquareWave()
298 rtc->ctrl &= ~MXC_F_RTC_CTRL_WE; // Disable Writing to register in RTC_SquareWave()
304 int RTC_Trim(mxc_rtc_regs_t *rtc, int8_t trim) in RTC_Trim() argument
311 rtc->ctrl |= MXC_F_RTC_CTRL_WE; in RTC_Trim()
317 MXC_SETFIELD(rtc->trim, MXC_F_RTC_TRIM_TRIM, trim << MXC_F_RTC_TRIM_TRIM_POS); in RTC_Trim()
322 rtc->ctrl &= ~MXC_F_RTC_CTRL_WE; // Disable Writing to register in RTC_Trim()