Commit 4e5611c5 authored by robert-hh's avatar robert-hh Committed by Damien George

mimxrt/machine_rtc: Improve the RTC init at boot.

By clearing the tamper bits and enabling access to the registers for all
code, just in case that this was set.  It keeps the clock running on
battery and the calibration setting.
Signed-off-by: default avatarrobert-hh <robert@hammelrath.com>
parent 6482eb14
......@@ -137,6 +137,7 @@ SRC_HAL_IMX_C += \
$(MCU_DIR)/drivers/fsl_pit.c \
$(MCU_DIR)/drivers/fsl_pwm.c \
$(MCU_DIR)/drivers/fsl_sai.c \
$(MCU_DIR)/drivers/fsl_snvs_hp.c \
$(MCU_DIR)/drivers/fsl_snvs_lp.c \
$(MCU_DIR)/drivers/fsl_wdog.c \
$(MCU_DIR)/system_$(MCU_SERIES)$(MCU_CORE).c \
......
......@@ -30,6 +30,7 @@
#include "modmachine.h"
#include "ticks.h"
#include "fsl_snvs_lp.h"
#include "fsl_snvs_hp.h"
typedef struct _machine_rtc_obj_t {
mp_obj_base_t base;
......@@ -41,6 +42,12 @@ STATIC const machine_rtc_obj_t machine_rtc_obj = {{&machine_rtc_type}};
// Start the RTC Timer.
void machine_rtc_start(void) {
// Enable Non-Privileged Software Access
SNVS->HPCOMR |= SNVS_HPCOMR_NPSWA_EN_MASK;
// Do a basic init.
SNVS_LP_Init(SNVS);
// Disable all external Tamper
SNVS_LP_DisableAllExternalTamper(SNVS);
SNVS_LP_SRTC_StartTimer(SNVS);
// If the date is not set, set it to a more recent start date,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment