1 /***************************************************************************//** 2 * @file 3 * @brief EFM32GG12B_RTC register and bit field definitions 4 ******************************************************************************* 5 * # License 6 * <b>Copyright 2022 Silicon Laboratories Inc. www.silabs.com</b> 7 ******************************************************************************* 8 * 9 * SPDX-License-Identifier: Zlib 10 * 11 * The licensor of this software is Silicon Laboratories Inc. 12 * 13 * This software is provided 'as-is', without any express or implied 14 * warranty. In no event will the authors be held liable for any damages 15 * arising from the use of this software. 16 * 17 * Permission is granted to anyone to use this software for any purpose, 18 * including commercial applications, and to alter it and redistribute it 19 * freely, subject to the following restrictions: 20 * 21 * 1. The origin of this software must not be misrepresented; you must not 22 * claim that you wrote the original software. If you use this software 23 * in a product, an acknowledgment in the product documentation would be 24 * appreciated but is not required. 25 * 2. Altered source versions must be plainly marked as such, and must not be 26 * misrepresented as being the original software. 27 * 3. This notice may not be removed or altered from any source distribution. 28 * 29 ******************************************************************************/ 30 31 #if defined(__ICCARM__) 32 #pragma system_include /* Treat file as system include file. */ 33 #elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050) 34 #pragma clang system_header /* Treat file as system include file. */ 35 #endif 36 37 /***************************************************************************//** 38 * @addtogroup Parts 39 * @{ 40 ******************************************************************************/ 41 /***************************************************************************//** 42 * @defgroup EFM32GG12B_RTC RTC 43 * @{ 44 * @brief EFM32GG12B_RTC Register Declaration 45 ******************************************************************************/ 46 /** RTC Register Declaration */ 47 typedef struct { 48 __IOM uint32_t CTRL; /**< Control Register */ 49 __IOM uint32_t CNT; /**< Counter Value Register */ 50 __IM uint32_t IF; /**< Interrupt Flag Register */ 51 __IOM uint32_t IFS; /**< Interrupt Flag Set Register */ 52 __IOM uint32_t IFC; /**< Interrupt Flag Clear Register */ 53 __IOM uint32_t IEN; /**< Interrupt Enable Register */ 54 55 uint32_t RESERVED0[2U]; /**< Reserved registers */ 56 RTC_COMP_TypeDef COMP[6U]; /**< Compare channels */ 57 } RTC_TypeDef; /** @} */ 58 59 /***************************************************************************//** 60 * @addtogroup EFM32GG12B_RTC 61 * @{ 62 * @defgroup EFM32GG12B_RTC_BitFields RTC Bit Fields 63 * @{ 64 ******************************************************************************/ 65 66 /* Bit fields for RTC CTRL */ 67 #define _RTC_CTRL_RESETVALUE 0x00000000UL /**< Default value for RTC_CTRL */ 68 #define _RTC_CTRL_MASK 0x00000007UL /**< Mask for RTC_CTRL */ 69 #define RTC_CTRL_EN (0x1UL << 0) /**< RTC Enable */ 70 #define _RTC_CTRL_EN_SHIFT 0 /**< Shift value for RTC_EN */ 71 #define _RTC_CTRL_EN_MASK 0x1UL /**< Bit mask for RTC_EN */ 72 #define _RTC_CTRL_EN_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_CTRL */ 73 #define RTC_CTRL_EN_DEFAULT (_RTC_CTRL_EN_DEFAULT << 0) /**< Shifted mode DEFAULT for RTC_CTRL */ 74 #define RTC_CTRL_DEBUGRUN (0x1UL << 1) /**< Debug Mode Run Enable */ 75 #define _RTC_CTRL_DEBUGRUN_SHIFT 1 /**< Shift value for RTC_DEBUGRUN */ 76 #define _RTC_CTRL_DEBUGRUN_MASK 0x2UL /**< Bit mask for RTC_DEBUGRUN */ 77 #define _RTC_CTRL_DEBUGRUN_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_CTRL */ 78 #define RTC_CTRL_DEBUGRUN_DEFAULT (_RTC_CTRL_DEBUGRUN_DEFAULT << 1) /**< Shifted mode DEFAULT for RTC_CTRL */ 79 #define RTC_CTRL_COMP0TOP (0x1UL << 2) /**< Compare Channel 0 is Top Value */ 80 #define _RTC_CTRL_COMP0TOP_SHIFT 2 /**< Shift value for RTC_COMP0TOP */ 81 #define _RTC_CTRL_COMP0TOP_MASK 0x4UL /**< Bit mask for RTC_COMP0TOP */ 82 #define _RTC_CTRL_COMP0TOP_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_CTRL */ 83 #define _RTC_CTRL_COMP0TOP_DISABLE 0x00000000UL /**< Mode DISABLE for RTC_CTRL */ 84 #define _RTC_CTRL_COMP0TOP_ENABLE 0x00000001UL /**< Mode ENABLE for RTC_CTRL */ 85 #define RTC_CTRL_COMP0TOP_DEFAULT (_RTC_CTRL_COMP0TOP_DEFAULT << 2) /**< Shifted mode DEFAULT for RTC_CTRL */ 86 #define RTC_CTRL_COMP0TOP_DISABLE (_RTC_CTRL_COMP0TOP_DISABLE << 2) /**< Shifted mode DISABLE for RTC_CTRL */ 87 #define RTC_CTRL_COMP0TOP_ENABLE (_RTC_CTRL_COMP0TOP_ENABLE << 2) /**< Shifted mode ENABLE for RTC_CTRL */ 88 89 /* Bit fields for RTC CNT */ 90 #define _RTC_CNT_RESETVALUE 0x00000000UL /**< Default value for RTC_CNT */ 91 #define _RTC_CNT_MASK 0x00FFFFFFUL /**< Mask for RTC_CNT */ 92 #define _RTC_CNT_CNT_SHIFT 0 /**< Shift value for RTC_CNT */ 93 #define _RTC_CNT_CNT_MASK 0xFFFFFFUL /**< Bit mask for RTC_CNT */ 94 #define _RTC_CNT_CNT_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_CNT */ 95 #define RTC_CNT_CNT_DEFAULT (_RTC_CNT_CNT_DEFAULT << 0) /**< Shifted mode DEFAULT for RTC_CNT */ 96 97 /* Bit fields for RTC IF */ 98 #define _RTC_IF_RESETVALUE 0x00000000UL /**< Default value for RTC_IF */ 99 #define _RTC_IF_MASK 0x0000007FUL /**< Mask for RTC_IF */ 100 #define RTC_IF_OF (0x1UL << 0) /**< Overflow Interrupt Flag */ 101 #define _RTC_IF_OF_SHIFT 0 /**< Shift value for RTC_OF */ 102 #define _RTC_IF_OF_MASK 0x1UL /**< Bit mask for RTC_OF */ 103 #define _RTC_IF_OF_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_IF */ 104 #define RTC_IF_OF_DEFAULT (_RTC_IF_OF_DEFAULT << 0) /**< Shifted mode DEFAULT for RTC_IF */ 105 #define _RTC_IF_COMP_SHIFT 1 /**< Shift value for RTC_COMP */ 106 #define _RTC_IF_COMP_MASK 0x7EUL /**< Bit mask for RTC_COMP */ 107 #define _RTC_IF_COMP_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_IF */ 108 #define RTC_IF_COMP_DEFAULT (_RTC_IF_COMP_DEFAULT << 1) /**< Shifted mode DEFAULT for RTC_IF */ 109 110 /* Bit fields for RTC IFS */ 111 #define _RTC_IFS_RESETVALUE 0x00000000UL /**< Default value for RTC_IFS */ 112 #define _RTC_IFS_MASK 0x0000007FUL /**< Mask for RTC_IFS */ 113 #define RTC_IFS_OF (0x1UL << 0) /**< Set OF Interrupt Flag */ 114 #define _RTC_IFS_OF_SHIFT 0 /**< Shift value for RTC_OF */ 115 #define _RTC_IFS_OF_MASK 0x1UL /**< Bit mask for RTC_OF */ 116 #define _RTC_IFS_OF_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_IFS */ 117 #define RTC_IFS_OF_DEFAULT (_RTC_IFS_OF_DEFAULT << 0) /**< Shifted mode DEFAULT for RTC_IFS */ 118 #define _RTC_IFS_COMP_SHIFT 1 /**< Shift value for RTC_COMP */ 119 #define _RTC_IFS_COMP_MASK 0x7EUL /**< Bit mask for RTC_COMP */ 120 #define _RTC_IFS_COMP_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_IFS */ 121 #define RTC_IFS_COMP_DEFAULT (_RTC_IFS_COMP_DEFAULT << 1) /**< Shifted mode DEFAULT for RTC_IFS */ 122 123 /* Bit fields for RTC IFC */ 124 #define _RTC_IFC_RESETVALUE 0x00000000UL /**< Default value for RTC_IFC */ 125 #define _RTC_IFC_MASK 0x0000007FUL /**< Mask for RTC_IFC */ 126 #define RTC_IFC_OF (0x1UL << 0) /**< Clear OF Interrupt Flag */ 127 #define _RTC_IFC_OF_SHIFT 0 /**< Shift value for RTC_OF */ 128 #define _RTC_IFC_OF_MASK 0x1UL /**< Bit mask for RTC_OF */ 129 #define _RTC_IFC_OF_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_IFC */ 130 #define RTC_IFC_OF_DEFAULT (_RTC_IFC_OF_DEFAULT << 0) /**< Shifted mode DEFAULT for RTC_IFC */ 131 #define _RTC_IFC_COMP_SHIFT 1 /**< Shift value for RTC_COMP */ 132 #define _RTC_IFC_COMP_MASK 0x7EUL /**< Bit mask for RTC_COMP */ 133 #define _RTC_IFC_COMP_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_IFC */ 134 #define RTC_IFC_COMP_DEFAULT (_RTC_IFC_COMP_DEFAULT << 1) /**< Shifted mode DEFAULT for RTC_IFC */ 135 136 /* Bit fields for RTC IEN */ 137 #define _RTC_IEN_RESETVALUE 0x00000000UL /**< Default value for RTC_IEN */ 138 #define _RTC_IEN_MASK 0x0000007FUL /**< Mask for RTC_IEN */ 139 #define RTC_IEN_OF (0x1UL << 0) /**< OF Interrupt Enable */ 140 #define _RTC_IEN_OF_SHIFT 0 /**< Shift value for RTC_OF */ 141 #define _RTC_IEN_OF_MASK 0x1UL /**< Bit mask for RTC_OF */ 142 #define _RTC_IEN_OF_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_IEN */ 143 #define RTC_IEN_OF_DEFAULT (_RTC_IEN_OF_DEFAULT << 0) /**< Shifted mode DEFAULT for RTC_IEN */ 144 #define _RTC_IEN_COMP_SHIFT 1 /**< Shift value for RTC_COMP */ 145 #define _RTC_IEN_COMP_MASK 0x7EUL /**< Bit mask for RTC_COMP */ 146 #define _RTC_IEN_COMP_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_IEN */ 147 #define RTC_IEN_COMP_DEFAULT (_RTC_IEN_COMP_DEFAULT << 1) /**< Shifted mode DEFAULT for RTC_IEN */ 148 149 /* Bit fields for RTC COMP_COMP */ 150 #define _RTC_COMP_COMP_RESETVALUE 0x00000000UL /**< Default value for RTC_COMP_COMP */ 151 #define _RTC_COMP_COMP_MASK 0x00FFFFFFUL /**< Mask for RTC_COMP_COMP */ 152 #define _RTC_COMP_COMP_COMP_SHIFT 0 /**< Shift value for RTC_COMP */ 153 #define _RTC_COMP_COMP_COMP_MASK 0xFFFFFFUL /**< Bit mask for RTC_COMP */ 154 #define _RTC_COMP_COMP_COMP_DEFAULT 0x00000000UL /**< Mode DEFAULT for RTC_COMP_COMP */ 155 #define RTC_COMP_COMP_COMP_DEFAULT (_RTC_COMP_COMP_COMP_DEFAULT << 0) /**< Shifted mode DEFAULT for RTC_COMP_COMP */ 156 157 /** @} */ 158 /** @} End of group EFM32GG12B_RTC */ 159 /** @} End of group Parts */ 160