S32 SDK
rtc_hal.h File Reference
#include <stdbool.h>
#include "device_registers.h"
#include "status.h"

Go to the source code of this file.

Enumerations

enum  rtc_second_int_cfg_t {
  RTC_INT_1HZ = 0x00U, RTC_INT_2HZ = 0x01U, RTC_INT_4HZ = 0x02U, RTC_INT_8HZ = 0x03U,
  RTC_INT_16HZ = 0x04U, RTC_INT_32HZ = 0x05U, RTC_INT_64HZ = 0x06U, RTC_INT_128HZ = 0x07U
}
 RTC Seconds interrupt configuration Implements : rtc_second_int_cfg_t_Class. More...
 
enum  rtc_clk_out_config_t { RTC_CLKOUT_DISABLED = 0x00U, RTC_CLKOUT_SRC_TSIC = 0x01U, RTC_CLKOUT_SRC_32KHZ = 0x02U }
 RTC CLKOUT pin configuration Implements : rtc_clk_out_config_t_Class. More...
 
enum  rtc_clk_select_t { RTC_CLK_SRC_OSC_32KHZ = 0x00U, RTC_CLK_SRC_LPO_1KHZ = 0x01U }
 RTC clock select Implements : rtc_clk_select_t_Class. More...
 
enum  rtc_lock_register_select_t { RTC_LOCK_REG_LOCK = 0x00U, RTC_STATUS_REG_LOCK = 0x01U, RTC_CTRL_REG_LOCK = 0x02U, RTC_TCL_REG_LOCK = 0x03U }
 RTC register lock Implements : rtc_lock_register_select_t_Class. More...
 

Functions

Configuration
status_t RTC_HAL_Init (RTC_Type *const base)
 Initialize RTC instance. More...
 
status_t RTC_HAL_Enable (RTC_Type *const base)
 Enable RTC instance counter. More...
 
status_t RTC_HAL_Disable (RTC_Type *const base)
 Disable RTC instance counter. More...
 
status_t RTC_HAL_ConfigureRegisterLock (RTC_Type *const base, rtc_lock_register_select_t registerToConfig)
 This function configures register lock status. More...
 
bool RTC_HAL_IsRegisterLocked (const RTC_Type *const base, rtc_lock_register_select_t reg)
 This function gets register lock status. More...
 
status_t RTC_HAL_ConfigureClockOut (RTC_Type *const base, rtc_clk_out_config_t config)
 This function configures the Clock Out pin source. More...
 
static uint32_t RTC_HAL_GetTimeSecondsRegister (const RTC_Type *const base)
 Get Time Seconds Register Value. More...
 
status_t RTC_HAL_SetTimeSecondsRegister (RTC_Type *const base, uint32_t seconds)
 Set Time Seconds Register. More...
 
static uint16_t RTC_HAL_GetTimePrescalerRegister (const RTC_Type *const base)
 Get Time Prescaler Register. More...
 
status_t RTC_HAL_SetTimePrescalerRegister (RTC_Type *const base, uint16_t value)
 Set Time Prescaler Register. More...
 
static uint32_t RTC_HAL_GetTimeAlarmRegister (const RTC_Type *const base)
 Get Time Alarm Register. More...
 
static void RTC_HAL_SetTimeAlarmRegister (RTC_Type *const base, uint32_t seconds)
 Set Time Alarm Register. More...
 
static void RTC_HAL_GetTimeCompensation (const RTC_Type *const base, int8_t *compensationValue, uint8_t *compensationInterval)
 Get Time Compensation Value and Interval. More...
 
static void RTC_HAL_SetTimeCompensation (RTC_Type *const base, int8_t compensationValue, uint8_t compensationInterval)
 Set Time Compensation. More...
 
static void RTC_HAL_GetCurrentTimeCompensation (const RTC_Type *const base, int8_t *compensationValue, uint8_t *compensationInterval)
 Get TimeCompensation Value and Interval. More...
 
static void RTC_HAL_SetLPOSelect (RTC_Type *const base, rtc_clk_select_t clk_select)
 Select clock source for RTC prescaler. More...
 
static rtc_clk_select_t RTC_HAL_GetLPOSelect (const RTC_Type *const base)
 Get the selected clock source for RTC prescaler. More...
 
static void RTC_HAL_SetUpdateMode (RTC_Type *const base, bool updateEnable)
 Set Update Mode of the registers when locked. More...
 
static bool RTC_HAL_GetUpdateMode (const RTC_Type *const base)
 Get the Update Mode of the registers when locked. More...
 
static void RTC_HAL_SetNonSupervisorAccess (RTC_Type *const base, bool enable)
 Set Non-Supervisor access mode. More...
 
static bool RTC_HAL_GetNonSupervisorAccess (const RTC_Type *const base)
 Get Non-Supervisor access mode. More...
 
static void RTC_HAL_SetSoftwareReset (RTC_Type *const base)
 Trigger a software reset. More...
 
static void RTC_HAL_ClearSoftwareReset (RTC_Type *const base)
 Clear Software reset flag. More...
 
static void RTC_HAL_SetTimeCounterEnable (RTC_Type *const base, bool enable)
 Enable or disable the Time counter. More...
 
static bool RTC_HAL_GetTimeCounterEnable (const RTC_Type *const base)
 Get the Time Counter Enable value. More...
 
static bool RTC_HAL_GetTimeAlarmFlag (const RTC_Type *const base)
 Get the Time alarm flag. More...
 
static bool RTC_HAL_GetTimeOverflowFlag (const RTC_Type *const base)
 Get Time Overflow Flag. More...
 
static bool RTC_HAL_GetTimeInvalidFlag (const RTC_Type *const base)
 Get Time Invalid flag. More...
 
static void RTC_HAL_LockRegisterLock (RTC_Type *const base)
 Lock the Lock Register. More...
 
static bool RTC_HAL_GetLockRegisterLock (const RTC_Type *const base)
 Get the Lock Register Lock state. More...
 
static void RTC_HAL_StatusRegisterLock (RTC_Type *const base)
 Lock the Status Register. More...
 
static bool RTC_HAL_GetStatusRegisterLock (const RTC_Type *const base)
 Get the Status Register Lock state. More...
 
static bool RTC_HAL_GetControlRegisterLock (const RTC_Type *const base)
 Get the Control Register Lock state. More...
 
static void RTC_HAL_ControlRegisterLock (RTC_Type *const base)
 Lock the Control Register. More...
 
static bool RTC_HAL_GetTimeCompensationLock (const RTC_Type *const base)
 Get the TimeCompensation Register Lock state. More...
 
static void RTC_HAL_TimeCompensationLock (RTC_Type *const base)
 Lock the TimeCompensation Register. More...
 
static void RTC_HAL_SetTimeSecondsIntConf (RTC_Type *const base, rtc_second_int_cfg_t intCfg)
 Configure Time Seconds interrupt. More...
 
static rtc_second_int_cfg_t RTC_HAL_GetTimeSecondsIntConf (const RTC_Type *const base)
 Get Time Seconds interrupt configuration. More...
 
static void RTC_HAL_SetTimeSecondsIntEnable (RTC_Type *const base, bool enable)
 Enable TimeSeconds interrupt. More...
 
static bool RTC_HAL_GetTimeSecondsIntEnable (const RTC_Type *const base)
 Get the TimeSeconds interrupt enable status. More...
 
static void RTC_HAL_SetTimeAlarmIntEnable (RTC_Type *const base, bool enable)
 Enable TimeAlarm interrupt. More...
 
static bool RTC_HAL_GetTimeAlarmIntEnable (const RTC_Type *const base)
 Get the TimeAlarm interrupt enable status. More...
 
static void RTC_HAL_SetTimeOverflowIntEnable (RTC_Type *const base, bool enable)
 Enable TimeOverflow interrupt. More...
 
static bool RTC_HAL_GetTimeOverflowIntEnable (const RTC_Type *const base)
 Get the TimeAlarm interrupt enable status. More...
 
static void RTC_HAL_SetTimeInvalidIntEnable (RTC_Type *const base, bool enable)
 Enable TimeInvalid interrupt. More...
 
static bool RTC_HAL_GetTimeInvalidIntEnable (const RTC_Type *const base)
 Get the TimeInvalid interrupt enable status. More...