|
SmartSnippets DA1459x SDK
|
Definition of API for the Real Time Clock Low Level Driver. More...
Go to the source code of this file.
Data Structures | |
| struct | hw_rtc_calendar_t |
| Calendar configuration for RTC. More... | |
| struct | hw_rtc_alarm_calendar_t |
| Alarm Calendar configuration for RTC. More... | |
| struct | hw_rtc_time_t |
| Time configuration for RTC. More... | |
| struct | hw_rtc_config_pdc_evt_t |
| RTC to Power Domain Controller event configuration. More... | |
Macros | |
| #define | HW_RTC_REG_GETF(reg, field) ((RTC->reg & (RTC_##reg##_##field##_Msk)) >> (RTC_##reg##_##field##_Pos)) |
| Get the value of a field of an RTC register. More... | |
| #define | HW_RTC_REG_SETF(reg, field, val) |
| Set the value of a field of a RTC register. More... | |
| #define | RTC_PDC_EVENT_PERIOD_MAX_VAL 0x1fff |
| Maximum value of RTC to PDC event period (13bits). More... | |
| #define | RTC_ALL_STATUS_VALID 0xf |
| All entries are valid in the RTC status register. More... | |
| #define | RTC_TIME_CLDR_STATUS_VALID 0x3 |
| Time and Calendar entries are valid in the RTC status register. More... | |
| #define | RTC_ALARM_TIME_CLDR_STATUS_VALID 0xc |
| Alarm Time and Calendar entries are valid in the RTC status register. More... | |
Typedefs | |
| typedef void(* | hw_rtc_interrupt_cb) (uint8_t event) |
| Callback that is fired on RTC events. More... | |
Enumerations | |
| enum | HW_RTC_LP_CLK |
| RTC lp_clk sources. More... | |
| enum | HW_RTC_HOUR_MODE { RTC_24H_CLK = 0, RTC_12H_CLK } |
| Hour clock mode. More... | |
| enum | HW_RTC_DIV_DENOM { RTC_DIV_DENOM_1000 = 0x0, RTC_DIV_DENOM_1024 = 0x1 } |
| RTC denominator for the fractional division of the source clock. More... | |
| enum | HW_RTC_INTR { HW_RTC_INT_ALRM = RTC_RTC_INTERRUPT_MASK_REG_RTC_ALRM_INT_MSK_Msk, HW_RTC_INT_MONTH = RTC_RTC_INTERRUPT_MASK_REG_RTC_MNTH_INT_MSK_Msk, HW_RTC_INT_MDAY = RTC_RTC_INTERRUPT_MASK_REG_RTC_DATE_INT_MSK_Msk, HW_RTC_INT_HOUR = RTC_RTC_INTERRUPT_MASK_REG_RTC_HOUR_INT_MSK_Msk, HW_RTC_INT_MIN = RTC_RTC_INTERRUPT_MASK_REG_RTC_MIN_INT_MSK_Msk, HW_RTC_INT_SEC = RTC_RTC_INTERRUPT_MASK_REG_RTC_SEC_INT_MSK_Msk, HW_RTC_INT_HSEC = RTC_RTC_INTERRUPT_MASK_REG_RTC_HOS_INT_MSK_Msk } |
| RTC interrupt source. More... | |
| enum | HW_RTC_EVENT { HW_RTC_EVENT_ALRM = RTC_RTC_EVENT_FLAGS_REG_RTC_EVENT_ALRM_Msk, HW_RTC_EVENT_MONTH = RTC_RTC_EVENT_FLAGS_REG_RTC_EVENT_MNTH_Msk, HW_RTC_EVENT_MDAY = RTC_RTC_EVENT_FLAGS_REG_RTC_EVENT_DATE_Msk, HW_RTC_EVENT_HOUR = RTC_RTC_EVENT_FLAGS_REG_RTC_EVENT_HOUR_Msk, HW_RTC_EVENT_MIN = RTC_RTC_EVENT_FLAGS_REG_RTC_EVENT_MIN_Msk, HW_RTC_EVENT_SEC = RTC_RTC_EVENT_FLAGS_REG_RTC_EVENT_SEC_Msk, HW_RTC_EVENT_HSEC = RTC_RTC_EVENT_FLAGS_REG_RTC_EVENT_HOS_Msk } |
| RTC Events. More... | |
| enum | HW_RTC_ALARM_EN { HW_RTC_ALARM_MONTH = RTC_RTC_ALARM_ENABLE_REG_RTC_ALARM_MNTH_EN_Msk, HW_RTC_ALARM_MDAY = RTC_RTC_ALARM_ENABLE_REG_RTC_ALARM_DATE_EN_Msk, HW_RTC_ALARM_HOUR = RTC_RTC_ALARM_ENABLE_REG_RTC_ALARM_HOUR_EN_Msk, HW_RTC_ALARM_MIN = RTC_RTC_ALARM_ENABLE_REG_RTC_ALARM_MIN_EN_Msk, HW_RTC_ALARM_SEC = RTC_RTC_ALARM_ENABLE_REG_RTC_ALARM_SEC_EN_Msk, HW_RTC_ALARM_HSEC = RTC_RTC_ALARM_ENABLE_REG_RTC_ALARM_HOS_EN_Msk } |
| RTC Alarm enable mask. More... | |
| enum | HW_RTC_STATUS { HW_RTC_VALID_CLNDR_ALM = RTC_RTC_STATUS_REG_RTC_VALID_CAL_ALM_Msk, HW_RTC_VALID_TIME_ALM = RTC_RTC_STATUS_REG_RTC_VALID_TIME_ALM_Msk, HW_RTC_VALID_CLNDR = RTC_RTC_STATUS_REG_RTC_VALID_CAL_Msk, HW_RTC_VALID_TIME = RTC_RTC_STATUS_REG_RTC_VALID_TIME_Msk } |
| RTC status. More... | |
| enum | HW_RTC_SET_REG_STATUS { HW_RTC_VALID_ENTRY = 0x1, HW_RTC_INVALID_TIME_HOUR_MODE_ALM = 0x3, HW_RTC_INVALID_CLNDR_ALM = 0x7, HW_RTC_INVALID_TIME_ALM = 0xB, HW_RTC_INVALID_CLNDR = 0xD, HW_RTC_INVALID_TIME = 0xE, HW_RTC_INVALID_TIME_CLNDR = 0xC } |
| RTC status. More... | |
Functions | |
| void | hw_rtc_config_RTC_to_PDC_evt (const hw_rtc_config_pdc_evt_t *cfg) |
| RTC to PDC event configuration. More... | |
| void | hw_rtc_register_intr (hw_rtc_interrupt_cb handler, uint8_t mask) |
| Register an interrupt handler. More... | |
| void | hw_rtc_unregister_intr (void) |
| Unregister the event handler and disable RTC interrupt (NVIC) More... | |
| HW_RTC_SET_REG_STATUS | hw_rtc_set_time_clndr (const hw_rtc_time_t *time, const hw_rtc_calendar_t *clndr) |
| Set RTC time and/or calendar date. More... | |
| __STATIC_INLINE void | hw_rtc_set_time_bcd (uint32_t time_bcd) |
| Set RTC time. More... | |
| __STATIC_INLINE void | hw_rtc_set_clndr_bcd (uint32_t clndr_bcd) |
| Set RTC Calendar date. More... | |
| void | hw_rtc_get_time_clndr (hw_rtc_time_t *time, hw_rtc_calendar_t *clndr) |
| Get RTC time and/or calendar date. More... | |
| __STATIC_INLINE uint32_t | hw_rtc_get_time_bcd (void) |
| Get RTC time. More... | |
| __STATIC_INLINE uint32_t | hw_rtc_get_clndr_bcd (void) |
| Get RTC Calendar date. More... | |
| __STATIC_INLINE void | hw_rtc_time_start (void) |
| Start RTC time. More... | |
| __STATIC_INLINE void | hw_rtc_time_stop (void) |
| Stop RTC time. More... | |
| __STATIC_INLINE void | hw_rtc_clndr_start (void) |
| Start RTC Calendar. More... | |
| __STATIC_INLINE void | hw_rtc_clndr_stop (void) |
| Stop RTC Calendar. More... | |
| __STATIC_INLINE void | hw_rtc_start (void) |
| Start RTC. Starts both time and calendar. More... | |
| __STATIC_INLINE void | hw_rtc_stop (void) |
| Stop RTC. Stops both time and calendar. More... | |
| HW_RTC_SET_REG_STATUS | hw_rtc_set_alarm (const hw_rtc_time_t *time, const hw_rtc_alarm_calendar_t *clndr, const uint8_t mask) |
| Set RTC alarm. More... | |
| __STATIC_INLINE void | hw_rtc_set_alarm_time_bcd (uint32_t time_bcd) |
| Set RTC alarm time. More... | |
| __STATIC_INLINE void | hw_rtc_set_alarm_clndr_bcd (uint32_t clndr_bcd) |
| Set RTC alarm Calendar. More... | |
| void | hw_rtc_get_alarm (hw_rtc_time_t *time, hw_rtc_alarm_calendar_t *clndr, uint8_t *mask) |
| Get RTC time and/or calendar alarms. More... | |
| __STATIC_INLINE uint32_t | hw_rtc_get_alarm_time_bcd (void) |
| Get RTC alarm time. More... | |
| __STATIC_INLINE uint32_t | hw_rtc_get_alarm_clndr_bcd (void) |
| Get RTC alarm calendar. More... | |
| __STATIC_INLINE void | hw_rtc_alarm_enable (const uint8_t mask) |
| RTC alarm enable. More... | |
| __STATIC_INLINE uint8_t | hw_rtc_get_alarm_enable_msk (void) |
| Get RTC alarm enable bitmask. More... | |
| __STATIC_INLINE void | hw_rtc_interrupt_enable (const uint8_t mask) |
| Enable RTC interrupt(s) More... | |
| __STATIC_INLINE void | hw_rtc_interrupt_disable (const uint8_t mask) |
| Disable RTC interrupt(s) More... | |
| __STATIC_INLINE uint8_t | hw_rtc_get_event_flags (void) |
| Get RTC event flags. More... | |
| __STATIC_INLINE uint8_t | hw_rtc_get_interrupt_mask (void) |
| Get RTC interrupt mask. More... | |
| __STATIC_INLINE void | hw_rtc_set_hour_clk_mode (HW_RTC_HOUR_MODE mode) |
| Set RTC hour clock mode. More... | |
| __STATIC_INLINE HW_RTC_HOUR_MODE | hw_rtc_get_hour_clk_mode (void) |
| Get RTC hour clock mode. More... | |
| __STATIC_INLINE uint8_t | hw_rtc_get_status (void) |
| Get RTC status. More... | |
| __STATIC_INLINE void | hw_rtc_set_keep_reg_on_reset (bool keep) |
| Configure RTC to keep or reset its registers after reset. More... | |
| __STATIC_INLINE bool | hw_rtc_get_keep_reg_on_reset (void) |
| Get RTC keep register status. More... | |
| __STATIC_INLINE void | hw_rtc_pdc_event_enable (void) |
| Enable RTC to Power Domains Controller (PDC) event. More... | |
| __STATIC_INLINE void | hw_rtc_pdc_event_disable (void) |
| Disable RTC to Power Domains Controller event. More... | |
| __STATIC_INLINE bool | hw_rtc_get_pdc_event_cntrl (void) |
| Get status of control of RTC to Power Domains Controller event. More... | |
| __STATIC_INLINE void | hw_rtc_set_pdc_event_period (uint16_t period) |
| Set RTC to PDC event period. More... | |
| __STATIC_INLINE uint16_t | hw_rtc_get_pdc_event_period (void) |
| Get RTC to PDC event period. More... | |
| __STATIC_INLINE bool | hw_rtc_pdc_event_clear (void) |
| Clear RTC to PDC event. More... | |
| __STATIC_INLINE uint16_t | hw_rtc_get_pdc_event_cnt (void) |
| Get PDC event count. More... | |
| __STATIC_INLINE void | hw_rtc_reset (void) |
| Reset RTC module. More... | |
| __STATIC_INLINE void | hw_rtc_reset_set (void) |
| Set RTC reset high. More... | |
| __STATIC_INLINE void | hw_rtc_reset_clear (void) |
| Clear RTC reset. More... | |
| __STATIC_INLINE void | hw_rtc_clk_config (HW_RTC_DIV_DENOM div_denom, uint16_t div_int, uint16_t div_frac) |
| Configure RTC clock. More... | |
| __STATIC_INLINE void | hw_rtc_clock_enable (void) |
| Enable for the 100 Hz generation for the RTC block. More... | |
Definition of API for the Real Time Clock Low Level Driver.
Copyright (C) 2017-2023 Renesas Electronics Corporation and/or its affiliates. All rights reserved. Confidential Information.
This software ("Software") is supplied by Renesas Electronics Corporation and/or its affiliates ("Renesas"). Renesas grants you a personal, non-exclusive, non-transferable, revocable, non-sub-licensable right and license to use the Software, solely if used in or together with Renesas products. You may make copies of this Software, provided this copyright notice and disclaimer ("Notice") is included in all such copies. Renesas reserves the right to change or discontinue the Software at any time without notice.
THE SOFTWARE IS PROVIDED "AS IS". RENESAS DISCLAIMS ALL WARRANTIES OF ANY KIND, WHETHER EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED UNDER LAW, IN NO EVENT SHALL RENESAS BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE, EVEN IF RENESAS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. USE OF THIS SOFTWARE MAY BE SUBJECT TO TERMS AND CONDITIONS CONTAINED IN AN ADDITIONAL AGREEMENT BETWEEN YOU AND RENESAS. IN CASE OF CONFLICT BETWEEN THE TERMS OF THIS NOTICE AND ANY SUCH ADDITIONAL LICENSE AGREEMENT, THE TERMS OF THE AGREEMENT SHALL TAKE PRECEDENCE. BY CONTINUING TO USE THIS SOFTWARE, YOU AGREE TO THE TERMS OF THIS NOTICE.IF YOU DO NOT AGREE TO THESE TERMS, YOU ARE NOT PERMITTED TO USE THIS SOFTWARE.
1.8.16