1 /***************************************************************************//** 2 * \file cyip_backup_v3_3.h 3 * 4 * \brief 5 * BACKUP IP definitions 6 * 7 ******************************************************************************** 8 * \copyright 9 * (c) (2016-2024), 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_V3_3_H_ 28 #define _CYIP_BACKUP_V3_3_H_ 29 30 #include "cyip_headers.h" 31 32 /******************************************************************************* 33 * BACKUP 34 *******************************************************************************/ 35 36 #define BACKUP_CSV_BAK_CSV_SECTION_SIZE 0x00000010UL 37 #define BACKUP_CSV_BAK_SECTION_SIZE 0x00000010UL 38 #define BACKUP_SECTION_SIZE 0x00010000UL 39 40 /** 41 * \brief clk_bak Backup domain Clock Supervisor registers (BACKUP_CSV_BAK_CSV) 42 */ 43 typedef struct { 44 __IOM uint32_t REF_CTL; /*!< 0x00000000 Clock Supervision Reference Control */ 45 __IOM uint32_t REF_LIMIT; /*!< 0x00000004 Clock Supervision Reference Limits */ 46 __IOM uint32_t MON_CTL; /*!< 0x00000008 Clock Supervision Monitor Control */ 47 __IM uint32_t RESERVED; 48 } BACKUP_CSV_BAK_CSV_Type; /*!< Size = 16 (0x10) */ 49 50 /** 51 * \brief CSV registers for clk_bak clock (BACKUP_CSV_BAK) 52 */ 53 typedef struct { 54 BACKUP_CSV_BAK_CSV_Type CSV; /*!< 0x00000000 clk_bak Backup domain Clock Supervisor registers */ 55 } BACKUP_CSV_BAK_Type; /*!< Size = 16 (0x10) */ 56 57 /** 58 * \brief SRSS Backup Domain (ver3p3) (BACKUP) 59 */ 60 typedef struct { 61 __IOM uint32_t CTL; /*!< 0x00000000 Control */ 62 __IM uint32_t RESERVED; 63 __IOM uint32_t RTC_RW; /*!< 0x00000008 RTC Read Write register */ 64 __IOM uint32_t CAL_CTL; /*!< 0x0000000C Oscillator calibration for absolute frequency */ 65 __IM uint32_t STATUS; /*!< 0x00000010 Status */ 66 __IOM uint32_t RTC_TIME; /*!< 0x00000014 Calendar Seconds, Minutes, Hours, Day of Week */ 67 __IOM uint32_t RTC_DATE; /*!< 0x00000018 Calendar Day of Month, Month, Year */ 68 __IOM uint32_t ALM1_TIME; /*!< 0x0000001C Alarm 1 Seconds, Minute, Hours, Day of Week */ 69 __IOM uint32_t ALM1_DATE; /*!< 0x00000020 Alarm 1 Day of Month, Month */ 70 __IOM uint32_t ALM2_TIME; /*!< 0x00000024 Alarm 2 Seconds, Minute, Hours, Day of Week */ 71 __IOM uint32_t ALM2_DATE; /*!< 0x00000028 Alarm 2 Day of Month, Month */ 72 __IOM uint32_t INTR; /*!< 0x0000002C Interrupt request register */ 73 __IOM uint32_t INTR_SET; /*!< 0x00000030 Interrupt set request register */ 74 __IOM uint32_t INTR_MASK; /*!< 0x00000034 Interrupt mask register */ 75 __IM uint32_t INTR_MASKED; /*!< 0x00000038 Interrupt masked request register */ 76 __IM uint32_t RESERVED1[2]; 77 __IOM uint32_t PMIC_CTL; /*!< 0x00000044 PMIC control register */ 78 __IOM uint32_t RESET; /*!< 0x00000048 Backup reset register */ 79 __IM uint32_t RESERVED2[13]; 80 __IOM uint32_t LPECO_CTL; /*!< 0x00000080 Low-power external crystal oscillator control */ 81 __IOM uint32_t LPECO_PRESCALE; /*!< 0x00000084 Low-power external crystal oscillator prescaler */ 82 __IM uint32_t LPECO_STATUS; /*!< 0x00000088 Low-power external crystal oscillator status */ 83 __IM uint32_t RESERVED3[29]; 84 BACKUP_CSV_BAK_Type CSV_BAK; /*!< 0x00000100 CSV registers for clk_bak clock */ 85 __IM uint32_t RESERVED4[956]; 86 __IOM uint32_t BREG[64]; /*!< 0x00001000 Backup register region */ 87 } BACKUP_Type; /*!< Size = 4352 (0x1100) */ 88 89 90 /* BACKUP_CSV_BAK_CSV.REF_CTL */ 91 #define BACKUP_CSV_BAK_CSV_REF_CTL_STARTUP_Pos 0UL 92 #define BACKUP_CSV_BAK_CSV_REF_CTL_STARTUP_Msk 0x1FFUL 93 #define BACKUP_CSV_BAK_CSV_REF_CTL_CSV_EN_Pos 31UL 94 #define BACKUP_CSV_BAK_CSV_REF_CTL_CSV_EN_Msk 0x80000000UL 95 /* BACKUP_CSV_BAK_CSV.REF_LIMIT */ 96 #define BACKUP_CSV_BAK_CSV_REF_LIMIT_LOWER_Pos 0UL 97 #define BACKUP_CSV_BAK_CSV_REF_LIMIT_LOWER_Msk 0xFFUL 98 #define BACKUP_CSV_BAK_CSV_REF_LIMIT_UPPER_Pos 16UL 99 #define BACKUP_CSV_BAK_CSV_REF_LIMIT_UPPER_Msk 0xFF0000UL 100 /* BACKUP_CSV_BAK_CSV.MON_CTL */ 101 #define BACKUP_CSV_BAK_CSV_MON_CTL_PERIOD_Pos 0UL 102 #define BACKUP_CSV_BAK_CSV_MON_CTL_PERIOD_Msk 0xFFUL 103 104 105 /* BACKUP.CTL */ 106 #define BACKUP_CTL_WCO_EN_Pos 3UL 107 #define BACKUP_CTL_WCO_EN_Msk 0x8UL 108 #define BACKUP_CTL_CLK_SEL_Pos 8UL 109 #define BACKUP_CTL_CLK_SEL_Msk 0x300UL 110 #define BACKUP_CTL_PRESCALER_Pos 12UL 111 #define BACKUP_CTL_PRESCALER_Msk 0x3000UL 112 #define BACKUP_CTL_WCO_BYPASS_Pos 16UL 113 #define BACKUP_CTL_WCO_BYPASS_Msk 0x10000UL 114 #define BACKUP_CTL_VDDBAK_CTL_Pos 17UL 115 #define BACKUP_CTL_VDDBAK_CTL_Msk 0x60000UL 116 #define BACKUP_CTL_VBACKUP_MEAS_Pos 19UL 117 #define BACKUP_CTL_VBACKUP_MEAS_Msk 0x80000UL 118 #define BACKUP_CTL_EN_CHARGE_KEY_Pos 24UL 119 #define BACKUP_CTL_EN_CHARGE_KEY_Msk 0xFF000000UL 120 /* BACKUP.RTC_RW */ 121 #define BACKUP_RTC_RW_READ_Pos 0UL 122 #define BACKUP_RTC_RW_READ_Msk 0x1UL 123 #define BACKUP_RTC_RW_WRITE_Pos 1UL 124 #define BACKUP_RTC_RW_WRITE_Msk 0x2UL 125 /* BACKUP.CAL_CTL */ 126 #define BACKUP_CAL_CTL_CALIB_VAL_Pos 0UL 127 #define BACKUP_CAL_CTL_CALIB_VAL_Msk 0x3FUL 128 #define BACKUP_CAL_CTL_CALIB_SIGN_Pos 6UL 129 #define BACKUP_CAL_CTL_CALIB_SIGN_Msk 0x40UL 130 #define BACKUP_CAL_CTL_CAL_COMP_PER_MIN_Pos 16UL 131 #define BACKUP_CAL_CTL_CAL_COMP_PER_MIN_Msk 0x30000UL 132 #define BACKUP_CAL_CTL_CAL_SEL_Pos 28UL 133 #define BACKUP_CAL_CTL_CAL_SEL_Msk 0x30000000UL 134 #define BACKUP_CAL_CTL_CAL_OUT_Pos 31UL 135 #define BACKUP_CAL_CTL_CAL_OUT_Msk 0x80000000UL 136 /* BACKUP.STATUS */ 137 #define BACKUP_STATUS_RTC_BUSY_Pos 0UL 138 #define BACKUP_STATUS_RTC_BUSY_Msk 0x1UL 139 #define BACKUP_STATUS_WCO_OK_Pos 2UL 140 #define BACKUP_STATUS_WCO_OK_Msk 0x4UL 141 /* BACKUP.RTC_TIME */ 142 #define BACKUP_RTC_TIME_RTC_SEC_Pos 0UL 143 #define BACKUP_RTC_TIME_RTC_SEC_Msk 0x3FUL 144 #define BACKUP_RTC_TIME_RTC_MIN_Pos 8UL 145 #define BACKUP_RTC_TIME_RTC_MIN_Msk 0x3F00UL 146 #define BACKUP_RTC_TIME_RTC_HOUR_Pos 16UL 147 #define BACKUP_RTC_TIME_RTC_HOUR_Msk 0x1F0000UL 148 #define BACKUP_RTC_TIME_CTRL_12HR_Pos 22UL 149 #define BACKUP_RTC_TIME_CTRL_12HR_Msk 0x400000UL 150 #define BACKUP_RTC_TIME_RTC_DAY_Pos 24UL 151 #define BACKUP_RTC_TIME_RTC_DAY_Msk 0x7000000UL 152 /* BACKUP.RTC_DATE */ 153 #define BACKUP_RTC_DATE_RTC_DATE_Pos 0UL 154 #define BACKUP_RTC_DATE_RTC_DATE_Msk 0x1FUL 155 #define BACKUP_RTC_DATE_RTC_MON_Pos 8UL 156 #define BACKUP_RTC_DATE_RTC_MON_Msk 0xF00UL 157 #define BACKUP_RTC_DATE_RTC_YEAR_Pos 16UL 158 #define BACKUP_RTC_DATE_RTC_YEAR_Msk 0x7F0000UL 159 /* BACKUP.ALM1_TIME */ 160 #define BACKUP_ALM1_TIME_ALM_SEC_Pos 0UL 161 #define BACKUP_ALM1_TIME_ALM_SEC_Msk 0x3FUL 162 #define BACKUP_ALM1_TIME_ALM_SEC_EN_Pos 7UL 163 #define BACKUP_ALM1_TIME_ALM_SEC_EN_Msk 0x80UL 164 #define BACKUP_ALM1_TIME_ALM_MIN_Pos 8UL 165 #define BACKUP_ALM1_TIME_ALM_MIN_Msk 0x3F00UL 166 #define BACKUP_ALM1_TIME_ALM_MIN_EN_Pos 15UL 167 #define BACKUP_ALM1_TIME_ALM_MIN_EN_Msk 0x8000UL 168 #define BACKUP_ALM1_TIME_ALM_HOUR_Pos 16UL 169 #define BACKUP_ALM1_TIME_ALM_HOUR_Msk 0x1F0000UL 170 #define BACKUP_ALM1_TIME_ALM_HOUR_EN_Pos 23UL 171 #define BACKUP_ALM1_TIME_ALM_HOUR_EN_Msk 0x800000UL 172 #define BACKUP_ALM1_TIME_ALM_DAY_Pos 24UL 173 #define BACKUP_ALM1_TIME_ALM_DAY_Msk 0x7000000UL 174 #define BACKUP_ALM1_TIME_ALM_DAY_EN_Pos 31UL 175 #define BACKUP_ALM1_TIME_ALM_DAY_EN_Msk 0x80000000UL 176 /* BACKUP.ALM1_DATE */ 177 #define BACKUP_ALM1_DATE_ALM_DATE_Pos 0UL 178 #define BACKUP_ALM1_DATE_ALM_DATE_Msk 0x1FUL 179 #define BACKUP_ALM1_DATE_ALM_DATE_EN_Pos 7UL 180 #define BACKUP_ALM1_DATE_ALM_DATE_EN_Msk 0x80UL 181 #define BACKUP_ALM1_DATE_ALM_MON_Pos 8UL 182 #define BACKUP_ALM1_DATE_ALM_MON_Msk 0xF00UL 183 #define BACKUP_ALM1_DATE_ALM_MON_EN_Pos 15UL 184 #define BACKUP_ALM1_DATE_ALM_MON_EN_Msk 0x8000UL 185 #define BACKUP_ALM1_DATE_ALM_EN_Pos 31UL 186 #define BACKUP_ALM1_DATE_ALM_EN_Msk 0x80000000UL 187 /* BACKUP.ALM2_TIME */ 188 #define BACKUP_ALM2_TIME_ALM_SEC_Pos 0UL 189 #define BACKUP_ALM2_TIME_ALM_SEC_Msk 0x3FUL 190 #define BACKUP_ALM2_TIME_ALM_SEC_EN_Pos 7UL 191 #define BACKUP_ALM2_TIME_ALM_SEC_EN_Msk 0x80UL 192 #define BACKUP_ALM2_TIME_ALM_MIN_Pos 8UL 193 #define BACKUP_ALM2_TIME_ALM_MIN_Msk 0x3F00UL 194 #define BACKUP_ALM2_TIME_ALM_MIN_EN_Pos 15UL 195 #define BACKUP_ALM2_TIME_ALM_MIN_EN_Msk 0x8000UL 196 #define BACKUP_ALM2_TIME_ALM_HOUR_Pos 16UL 197 #define BACKUP_ALM2_TIME_ALM_HOUR_Msk 0x1F0000UL 198 #define BACKUP_ALM2_TIME_ALM_HOUR_EN_Pos 23UL 199 #define BACKUP_ALM2_TIME_ALM_HOUR_EN_Msk 0x800000UL 200 #define BACKUP_ALM2_TIME_ALM_DAY_Pos 24UL 201 #define BACKUP_ALM2_TIME_ALM_DAY_Msk 0x7000000UL 202 #define BACKUP_ALM2_TIME_ALM_DAY_EN_Pos 31UL 203 #define BACKUP_ALM2_TIME_ALM_DAY_EN_Msk 0x80000000UL 204 /* BACKUP.ALM2_DATE */ 205 #define BACKUP_ALM2_DATE_ALM_DATE_Pos 0UL 206 #define BACKUP_ALM2_DATE_ALM_DATE_Msk 0x1FUL 207 #define BACKUP_ALM2_DATE_ALM_DATE_EN_Pos 7UL 208 #define BACKUP_ALM2_DATE_ALM_DATE_EN_Msk 0x80UL 209 #define BACKUP_ALM2_DATE_ALM_MON_Pos 8UL 210 #define BACKUP_ALM2_DATE_ALM_MON_Msk 0xF00UL 211 #define BACKUP_ALM2_DATE_ALM_MON_EN_Pos 15UL 212 #define BACKUP_ALM2_DATE_ALM_MON_EN_Msk 0x8000UL 213 #define BACKUP_ALM2_DATE_ALM_EN_Pos 31UL 214 #define BACKUP_ALM2_DATE_ALM_EN_Msk 0x80000000UL 215 /* BACKUP.INTR */ 216 #define BACKUP_INTR_ALARM1_Pos 0UL 217 #define BACKUP_INTR_ALARM1_Msk 0x1UL 218 #define BACKUP_INTR_ALARM2_Pos 1UL 219 #define BACKUP_INTR_ALARM2_Msk 0x2UL 220 #define BACKUP_INTR_CENTURY_Pos 2UL 221 #define BACKUP_INTR_CENTURY_Msk 0x4UL 222 /* BACKUP.INTR_SET */ 223 #define BACKUP_INTR_SET_ALARM1_Pos 0UL 224 #define BACKUP_INTR_SET_ALARM1_Msk 0x1UL 225 #define BACKUP_INTR_SET_ALARM2_Pos 1UL 226 #define BACKUP_INTR_SET_ALARM2_Msk 0x2UL 227 #define BACKUP_INTR_SET_CENTURY_Pos 2UL 228 #define BACKUP_INTR_SET_CENTURY_Msk 0x4UL 229 /* BACKUP.INTR_MASK */ 230 #define BACKUP_INTR_MASK_ALARM1_Pos 0UL 231 #define BACKUP_INTR_MASK_ALARM1_Msk 0x1UL 232 #define BACKUP_INTR_MASK_ALARM2_Pos 1UL 233 #define BACKUP_INTR_MASK_ALARM2_Msk 0x2UL 234 #define BACKUP_INTR_MASK_CENTURY_Pos 2UL 235 #define BACKUP_INTR_MASK_CENTURY_Msk 0x4UL 236 /* BACKUP.INTR_MASKED */ 237 #define BACKUP_INTR_MASKED_ALARM1_Pos 0UL 238 #define BACKUP_INTR_MASKED_ALARM1_Msk 0x1UL 239 #define BACKUP_INTR_MASKED_ALARM2_Pos 1UL 240 #define BACKUP_INTR_MASKED_ALARM2_Msk 0x2UL 241 #define BACKUP_INTR_MASKED_CENTURY_Pos 2UL 242 #define BACKUP_INTR_MASKED_CENTURY_Msk 0x4UL 243 /* BACKUP.PMIC_CTL */ 244 #define BACKUP_PMIC_CTL_UNLOCK_Pos 8UL 245 #define BACKUP_PMIC_CTL_UNLOCK_Msk 0xFF00UL 246 #define BACKUP_PMIC_CTL_POLARITY_Pos 16UL 247 #define BACKUP_PMIC_CTL_POLARITY_Msk 0x10000UL 248 #define BACKUP_PMIC_CTL_PMIC_EN_OUTEN_Pos 29UL 249 #define BACKUP_PMIC_CTL_PMIC_EN_OUTEN_Msk 0x20000000UL 250 #define BACKUP_PMIC_CTL_PMIC_ALWAYSEN_Pos 30UL 251 #define BACKUP_PMIC_CTL_PMIC_ALWAYSEN_Msk 0x40000000UL 252 #define BACKUP_PMIC_CTL_PMIC_EN_Pos 31UL 253 #define BACKUP_PMIC_CTL_PMIC_EN_Msk 0x80000000UL 254 /* BACKUP.RESET */ 255 #define BACKUP_RESET_RESET_Pos 31UL 256 #define BACKUP_RESET_RESET_Msk 0x80000000UL 257 /* BACKUP.LPECO_CTL */ 258 #define BACKUP_LPECO_CTL_LPECO_CRANGE_Pos 4UL 259 #define BACKUP_LPECO_CTL_LPECO_CRANGE_Msk 0x30UL 260 #define BACKUP_LPECO_CTL_LPECO_FRANGE_Pos 8UL 261 #define BACKUP_LPECO_CTL_LPECO_FRANGE_Msk 0x100UL 262 #define BACKUP_LPECO_CTL_LPECO_AMP_SEL_Pos 12UL 263 #define BACKUP_LPECO_CTL_LPECO_AMP_SEL_Msk 0x1000UL 264 #define BACKUP_LPECO_CTL_LPECO_DIV_ENABLE_Pos 28UL 265 #define BACKUP_LPECO_CTL_LPECO_DIV_ENABLE_Msk 0x10000000UL 266 #define BACKUP_LPECO_CTL_LPECO_AMPDET_EN_Pos 30UL 267 #define BACKUP_LPECO_CTL_LPECO_AMPDET_EN_Msk 0x40000000UL 268 #define BACKUP_LPECO_CTL_LPECO_EN_Pos 31UL 269 #define BACKUP_LPECO_CTL_LPECO_EN_Msk 0x80000000UL 270 /* BACKUP.LPECO_PRESCALE */ 271 #define BACKUP_LPECO_PRESCALE_LPECO_DIV_ENABLED_Pos 0UL 272 #define BACKUP_LPECO_PRESCALE_LPECO_DIV_ENABLED_Msk 0x1UL 273 #define BACKUP_LPECO_PRESCALE_LPECO_FRAC_DIV_Pos 8UL 274 #define BACKUP_LPECO_PRESCALE_LPECO_FRAC_DIV_Msk 0xFF00UL 275 #define BACKUP_LPECO_PRESCALE_LPECO_INT_DIV_Pos 16UL 276 #define BACKUP_LPECO_PRESCALE_LPECO_INT_DIV_Msk 0x3FF0000UL 277 /* BACKUP.LPECO_STATUS */ 278 #define BACKUP_LPECO_STATUS_LPECO_AMPDET_OK_Pos 0UL 279 #define BACKUP_LPECO_STATUS_LPECO_AMPDET_OK_Msk 0x1UL 280 #define BACKUP_LPECO_STATUS_LPECO_READY_Pos 1UL 281 #define BACKUP_LPECO_STATUS_LPECO_READY_Msk 0x2UL 282 /* BACKUP.BREG */ 283 #define BACKUP_BREG_BREG_Pos 0UL 284 #define BACKUP_BREG_BREG_Msk 0xFFFFFFFFUL 285 286 287 #endif /* _CYIP_BACKUP_V3_3_H_ */ 288 289 290 /* [] END OF FILE */ 291