1 /***************************************************************************//** 2 * \file cyip_backup_v2.h 3 * 4 * \brief 5 * BACKUP IP definitions 6 * 7 ******************************************************************************** 8 * \copyright 9 * (c) (2016-2023), Cypress Semiconductor Corporation (an Infineon company) or 10 * an affiliate of Cypress Semiconductor Corporation. 11 * 12 * SPDX-License-Identifier: Apache-2.0 13 * 14 * Licensed under the Apache License, Version 2.0 (the "License"); 15 * you may not use this file except in compliance with the License. 16 * You may obtain a copy of the License at 17 * 18 * http://www.apache.org/licenses/LICENSE-2.0 19 * 20 * Unless required by applicable law or agreed to in writing, software 21 * distributed under the License is distributed on an "AS IS" BASIS, 22 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 23 * See the License for the specific language governing permissions and 24 * limitations under the License. 25 *******************************************************************************/ 26 27 #ifndef _CYIP_BACKUP_V2_H_ 28 #define _CYIP_BACKUP_V2_H_ 29 30 #include "cyip_headers.h" 31 32 /******************************************************************************* 33 * BACKUP 34 *******************************************************************************/ 35 36 #define BACKUP_V2_SECTION_SIZE 0x00010000UL 37 38 /** 39 * \brief SRSS Backup Domain (ver2) (BACKUP) 40 */ 41 typedef struct { 42 __IOM uint32_t CTL; /*!< 0x00000000 Control */ 43 __IM uint32_t RESERVED; 44 __IOM uint32_t RTC_RW; /*!< 0x00000008 RTC Read Write register */ 45 __IOM uint32_t CAL_CTL; /*!< 0x0000000C Oscillator calibration for absolute frequency */ 46 __IM uint32_t STATUS; /*!< 0x00000010 Status */ 47 __IOM uint32_t RTC_TIME; /*!< 0x00000014 Calendar Seconds, Minutes, Hours, Day of Week */ 48 __IOM uint32_t RTC_DATE; /*!< 0x00000018 Calendar Day of Month, Month, Year */ 49 __IOM uint32_t ALM1_TIME; /*!< 0x0000001C Alarm 1 Seconds, Minute, Hours, Day of Week */ 50 __IOM uint32_t ALM1_DATE; /*!< 0x00000020 Alarm 1 Day of Month, Month */ 51 __IOM uint32_t ALM2_TIME; /*!< 0x00000024 Alarm 2 Seconds, Minute, Hours, Day of Week */ 52 __IOM uint32_t ALM2_DATE; /*!< 0x00000028 Alarm 2 Day of Month, Month */ 53 __IOM uint32_t INTR; /*!< 0x0000002C Interrupt request register */ 54 __IOM uint32_t INTR_SET; /*!< 0x00000030 Interrupt set request register */ 55 __IOM uint32_t INTR_MASK; /*!< 0x00000034 Interrupt mask register */ 56 __IM uint32_t INTR_MASKED; /*!< 0x00000038 Interrupt masked request register */ 57 __IM uint32_t RESERVED1[2]; 58 __IOM uint32_t PMIC_CTL; /*!< 0x00000044 PMIC control register */ 59 __IOM uint32_t RESET; /*!< 0x00000048 Backup reset register */ 60 __IM uint32_t RESERVED2[1005]; 61 __IOM uint32_t BREG[64]; /*!< 0x00001000 Backup register region */ 62 } BACKUP_V2_Type; /*!< Size = 4352 (0x1100) */ 63 64 65 /* BACKUP.CTL */ 66 #define BACKUP_V2_CTL_WCO_EN_Pos 3UL 67 #define BACKUP_V2_CTL_WCO_EN_Msk 0x8UL 68 #define BACKUP_V2_CTL_CLK_SEL_Pos 8UL 69 #define BACKUP_V2_CTL_CLK_SEL_Msk 0x300UL 70 #define BACKUP_V2_CTL_PRESCALER_Pos 12UL 71 #define BACKUP_V2_CTL_PRESCALER_Msk 0x3000UL 72 #define BACKUP_V2_CTL_WCO_BYPASS_Pos 16UL 73 #define BACKUP_V2_CTL_WCO_BYPASS_Msk 0x10000UL 74 #define BACKUP_V2_CTL_VDDBAK_CTL_Pos 17UL 75 #define BACKUP_V2_CTL_VDDBAK_CTL_Msk 0x60000UL 76 #define BACKUP_V2_CTL_VBACKUP_MEAS_Pos 19UL 77 #define BACKUP_V2_CTL_VBACKUP_MEAS_Msk 0x80000UL 78 #define BACKUP_V2_CTL_EN_CHARGE_KEY_Pos 24UL 79 #define BACKUP_V2_CTL_EN_CHARGE_KEY_Msk 0xFF000000UL 80 /* BACKUP.RTC_RW */ 81 #define BACKUP_V2_RTC_RW_READ_Pos 0UL 82 #define BACKUP_V2_RTC_RW_READ_Msk 0x1UL 83 #define BACKUP_V2_RTC_RW_WRITE_Pos 1UL 84 #define BACKUP_V2_RTC_RW_WRITE_Msk 0x2UL 85 /* BACKUP.CAL_CTL */ 86 #define BACKUP_V2_CAL_CTL_CALIB_VAL_Pos 0UL 87 #define BACKUP_V2_CAL_CTL_CALIB_VAL_Msk 0x3FUL 88 #define BACKUP_V2_CAL_CTL_CALIB_SIGN_Pos 6UL 89 #define BACKUP_V2_CAL_CTL_CALIB_SIGN_Msk 0x40UL 90 #define BACKUP_V2_CAL_CTL_CAL_SEL_Pos 28UL 91 #define BACKUP_V2_CAL_CTL_CAL_SEL_Msk 0x30000000UL 92 #define BACKUP_V2_CAL_CTL_CAL_OUT_Pos 31UL 93 #define BACKUP_V2_CAL_CTL_CAL_OUT_Msk 0x80000000UL 94 /* BACKUP.STATUS */ 95 #define BACKUP_V2_STATUS_RTC_BUSY_Pos 0UL 96 #define BACKUP_V2_STATUS_RTC_BUSY_Msk 0x1UL 97 #define BACKUP_V2_STATUS_WCO_OK_Pos 2UL 98 #define BACKUP_V2_STATUS_WCO_OK_Msk 0x4UL 99 /* BACKUP.RTC_TIME */ 100 #define BACKUP_V2_RTC_TIME_RTC_SEC_Pos 0UL 101 #define BACKUP_V2_RTC_TIME_RTC_SEC_Msk 0x3FUL 102 #define BACKUP_V2_RTC_TIME_RTC_MIN_Pos 8UL 103 #define BACKUP_V2_RTC_TIME_RTC_MIN_Msk 0x3F00UL 104 #define BACKUP_V2_RTC_TIME_RTC_HOUR_Pos 16UL 105 #define BACKUP_V2_RTC_TIME_RTC_HOUR_Msk 0x1F0000UL 106 #define BACKUP_V2_RTC_TIME_CTRL_12HR_Pos 22UL 107 #define BACKUP_V2_RTC_TIME_CTRL_12HR_Msk 0x400000UL 108 #define BACKUP_V2_RTC_TIME_RTC_DAY_Pos 24UL 109 #define BACKUP_V2_RTC_TIME_RTC_DAY_Msk 0x7000000UL 110 /* BACKUP.RTC_DATE */ 111 #define BACKUP_V2_RTC_DATE_RTC_DATE_Pos 0UL 112 #define BACKUP_V2_RTC_DATE_RTC_DATE_Msk 0x1FUL 113 #define BACKUP_V2_RTC_DATE_RTC_MON_Pos 8UL 114 #define BACKUP_V2_RTC_DATE_RTC_MON_Msk 0xF00UL 115 #define BACKUP_V2_RTC_DATE_RTC_YEAR_Pos 16UL 116 #define BACKUP_V2_RTC_DATE_RTC_YEAR_Msk 0x7F0000UL 117 /* BACKUP.ALM1_TIME */ 118 #define BACKUP_V2_ALM1_TIME_ALM_SEC_Pos 0UL 119 #define BACKUP_V2_ALM1_TIME_ALM_SEC_Msk 0x3FUL 120 #define BACKUP_V2_ALM1_TIME_ALM_SEC_EN_Pos 7UL 121 #define BACKUP_V2_ALM1_TIME_ALM_SEC_EN_Msk 0x80UL 122 #define BACKUP_V2_ALM1_TIME_ALM_MIN_Pos 8UL 123 #define BACKUP_V2_ALM1_TIME_ALM_MIN_Msk 0x3F00UL 124 #define BACKUP_V2_ALM1_TIME_ALM_MIN_EN_Pos 15UL 125 #define BACKUP_V2_ALM1_TIME_ALM_MIN_EN_Msk 0x8000UL 126 #define BACKUP_V2_ALM1_TIME_ALM_HOUR_Pos 16UL 127 #define BACKUP_V2_ALM1_TIME_ALM_HOUR_Msk 0x1F0000UL 128 #define BACKUP_V2_ALM1_TIME_ALM_HOUR_EN_Pos 23UL 129 #define BACKUP_V2_ALM1_TIME_ALM_HOUR_EN_Msk 0x800000UL 130 #define BACKUP_V2_ALM1_TIME_ALM_DAY_Pos 24UL 131 #define BACKUP_V2_ALM1_TIME_ALM_DAY_Msk 0x7000000UL 132 #define BACKUP_V2_ALM1_TIME_ALM_DAY_EN_Pos 31UL 133 #define BACKUP_V2_ALM1_TIME_ALM_DAY_EN_Msk 0x80000000UL 134 /* BACKUP.ALM1_DATE */ 135 #define BACKUP_V2_ALM1_DATE_ALM_DATE_Pos 0UL 136 #define BACKUP_V2_ALM1_DATE_ALM_DATE_Msk 0x1FUL 137 #define BACKUP_V2_ALM1_DATE_ALM_DATE_EN_Pos 7UL 138 #define BACKUP_V2_ALM1_DATE_ALM_DATE_EN_Msk 0x80UL 139 #define BACKUP_V2_ALM1_DATE_ALM_MON_Pos 8UL 140 #define BACKUP_V2_ALM1_DATE_ALM_MON_Msk 0xF00UL 141 #define BACKUP_V2_ALM1_DATE_ALM_MON_EN_Pos 15UL 142 #define BACKUP_V2_ALM1_DATE_ALM_MON_EN_Msk 0x8000UL 143 #define BACKUP_V2_ALM1_DATE_ALM_EN_Pos 31UL 144 #define BACKUP_V2_ALM1_DATE_ALM_EN_Msk 0x80000000UL 145 /* BACKUP.ALM2_TIME */ 146 #define BACKUP_V2_ALM2_TIME_ALM_SEC_Pos 0UL 147 #define BACKUP_V2_ALM2_TIME_ALM_SEC_Msk 0x3FUL 148 #define BACKUP_V2_ALM2_TIME_ALM_SEC_EN_Pos 7UL 149 #define BACKUP_V2_ALM2_TIME_ALM_SEC_EN_Msk 0x80UL 150 #define BACKUP_V2_ALM2_TIME_ALM_MIN_Pos 8UL 151 #define BACKUP_V2_ALM2_TIME_ALM_MIN_Msk 0x3F00UL 152 #define BACKUP_V2_ALM2_TIME_ALM_MIN_EN_Pos 15UL 153 #define BACKUP_V2_ALM2_TIME_ALM_MIN_EN_Msk 0x8000UL 154 #define BACKUP_V2_ALM2_TIME_ALM_HOUR_Pos 16UL 155 #define BACKUP_V2_ALM2_TIME_ALM_HOUR_Msk 0x1F0000UL 156 #define BACKUP_V2_ALM2_TIME_ALM_HOUR_EN_Pos 23UL 157 #define BACKUP_V2_ALM2_TIME_ALM_HOUR_EN_Msk 0x800000UL 158 #define BACKUP_V2_ALM2_TIME_ALM_DAY_Pos 24UL 159 #define BACKUP_V2_ALM2_TIME_ALM_DAY_Msk 0x7000000UL 160 #define BACKUP_V2_ALM2_TIME_ALM_DAY_EN_Pos 31UL 161 #define BACKUP_V2_ALM2_TIME_ALM_DAY_EN_Msk 0x80000000UL 162 /* BACKUP.ALM2_DATE */ 163 #define BACKUP_V2_ALM2_DATE_ALM_DATE_Pos 0UL 164 #define BACKUP_V2_ALM2_DATE_ALM_DATE_Msk 0x1FUL 165 #define BACKUP_V2_ALM2_DATE_ALM_DATE_EN_Pos 7UL 166 #define BACKUP_V2_ALM2_DATE_ALM_DATE_EN_Msk 0x80UL 167 #define BACKUP_V2_ALM2_DATE_ALM_MON_Pos 8UL 168 #define BACKUP_V2_ALM2_DATE_ALM_MON_Msk 0xF00UL 169 #define BACKUP_V2_ALM2_DATE_ALM_MON_EN_Pos 15UL 170 #define BACKUP_V2_ALM2_DATE_ALM_MON_EN_Msk 0x8000UL 171 #define BACKUP_V2_ALM2_DATE_ALM_EN_Pos 31UL 172 #define BACKUP_V2_ALM2_DATE_ALM_EN_Msk 0x80000000UL 173 /* BACKUP.INTR */ 174 #define BACKUP_V2_INTR_ALARM1_Pos 0UL 175 #define BACKUP_V2_INTR_ALARM1_Msk 0x1UL 176 #define BACKUP_V2_INTR_ALARM2_Pos 1UL 177 #define BACKUP_V2_INTR_ALARM2_Msk 0x2UL 178 #define BACKUP_V2_INTR_CENTURY_Pos 2UL 179 #define BACKUP_V2_INTR_CENTURY_Msk 0x4UL 180 /* BACKUP.INTR_SET */ 181 #define BACKUP_V2_INTR_SET_ALARM1_Pos 0UL 182 #define BACKUP_V2_INTR_SET_ALARM1_Msk 0x1UL 183 #define BACKUP_V2_INTR_SET_ALARM2_Pos 1UL 184 #define BACKUP_V2_INTR_SET_ALARM2_Msk 0x2UL 185 #define BACKUP_V2_INTR_SET_CENTURY_Pos 2UL 186 #define BACKUP_V2_INTR_SET_CENTURY_Msk 0x4UL 187 /* BACKUP.INTR_MASK */ 188 #define BACKUP_V2_INTR_MASK_ALARM1_Pos 0UL 189 #define BACKUP_V2_INTR_MASK_ALARM1_Msk 0x1UL 190 #define BACKUP_V2_INTR_MASK_ALARM2_Pos 1UL 191 #define BACKUP_V2_INTR_MASK_ALARM2_Msk 0x2UL 192 #define BACKUP_V2_INTR_MASK_CENTURY_Pos 2UL 193 #define BACKUP_V2_INTR_MASK_CENTURY_Msk 0x4UL 194 /* BACKUP.INTR_MASKED */ 195 #define BACKUP_V2_INTR_MASKED_ALARM1_Pos 0UL 196 #define BACKUP_V2_INTR_MASKED_ALARM1_Msk 0x1UL 197 #define BACKUP_V2_INTR_MASKED_ALARM2_Pos 1UL 198 #define BACKUP_V2_INTR_MASKED_ALARM2_Msk 0x2UL 199 #define BACKUP_V2_INTR_MASKED_CENTURY_Pos 2UL 200 #define BACKUP_V2_INTR_MASKED_CENTURY_Msk 0x4UL 201 /* BACKUP.PMIC_CTL */ 202 #define BACKUP_V2_PMIC_CTL_UNLOCK_Pos 8UL 203 #define BACKUP_V2_PMIC_CTL_UNLOCK_Msk 0xFF00UL 204 #define BACKUP_V2_PMIC_CTL_POLARITY_Pos 16UL 205 #define BACKUP_V2_PMIC_CTL_POLARITY_Msk 0x10000UL 206 #define BACKUP_V2_PMIC_CTL_PMIC_EN_OUTEN_Pos 29UL 207 #define BACKUP_V2_PMIC_CTL_PMIC_EN_OUTEN_Msk 0x20000000UL 208 #define BACKUP_V2_PMIC_CTL_PMIC_ALWAYSEN_Pos 30UL 209 #define BACKUP_V2_PMIC_CTL_PMIC_ALWAYSEN_Msk 0x40000000UL 210 #define BACKUP_V2_PMIC_CTL_PMIC_EN_Pos 31UL 211 #define BACKUP_V2_PMIC_CTL_PMIC_EN_Msk 0x80000000UL 212 /* BACKUP.RESET */ 213 #define BACKUP_V2_RESET_RESET_Pos 31UL 214 #define BACKUP_V2_RESET_RESET_Msk 0x80000000UL 215 /* BACKUP.BREG */ 216 #define BACKUP_V2_BREG_BREG_Pos 0UL 217 #define BACKUP_V2_BREG_BREG_Msk 0xFFFFFFFFUL 218 219 220 #endif /* _CYIP_BACKUP_V2_H_ */ 221 222 223 /* [] END OF FILE */ 224