1 /** 2 * @file pwrseq_regs.h 3 * @brief Registers, Bit Masks and Bit Positions for the PWRSEQ Peripheral Module. 4 * @note This file is @generated. 5 * @ingroup pwrseq_registers 6 */ 7 8 /****************************************************************************** 9 * 10 * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by 11 * Analog Devices, Inc.), 12 * Copyright (C) 2023-2024 Analog Devices, Inc. 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 28 #ifndef LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32680_INCLUDE_PWRSEQ_REGS_H_ 29 #define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32680_INCLUDE_PWRSEQ_REGS_H_ 30 31 /* **** Includes **** */ 32 #include <stdint.h> 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 #if defined (__ICCARM__) 39 #pragma system_include 40 #endif 41 42 #if defined (__CC_ARM) 43 #pragma anon_unions 44 #endif 45 /// @cond 46 /* 47 If types are not defined elsewhere (CMSIS) define them here 48 */ 49 #ifndef __IO 50 #define __IO volatile 51 #endif 52 #ifndef __I 53 #define __I volatile const 54 #endif 55 #ifndef __O 56 #define __O volatile 57 #endif 58 #ifndef __R 59 #define __R volatile const 60 #endif 61 /// @endcond 62 63 /* **** Definitions **** */ 64 65 /** 66 * @ingroup pwrseq 67 * @defgroup pwrseq_registers PWRSEQ_Registers 68 * @brief Registers, Bit Masks and Bit Positions for the PWRSEQ Peripheral Module. 69 * @details Power Sequencer / Low Power Control Register. 70 */ 71 72 /** 73 * @ingroup pwrseq_registers 74 * Structure type to access the PWRSEQ Registers. 75 */ 76 typedef struct { 77 __IO uint32_t lpcn; /**< <tt>\b 0x00:</tt> PWRSEQ LPCN Register */ 78 __IO uint32_t lpwkst0; /**< <tt>\b 0x04:</tt> PWRSEQ LPWKST0 Register */ 79 __IO uint32_t lpwken0; /**< <tt>\b 0x08:</tt> PWRSEQ LPWKEN0 Register */ 80 __IO uint32_t lpwkst1; /**< <tt>\b 0x0C:</tt> PWRSEQ LPWKST1 Register */ 81 __IO uint32_t lpwken1; /**< <tt>\b 0x10:</tt> PWRSEQ LPWKEN1 Register */ 82 __IO uint32_t lpwkst2; /**< <tt>\b 0x14:</tt> PWRSEQ LPWKST2 Register */ 83 __IO uint32_t lpwken2; /**< <tt>\b 0x18:</tt> PWRSEQ LPWKEN2 Register */ 84 __IO uint32_t lpwkst3; /**< <tt>\b 0x1C:</tt> PWRSEQ LPWKST3 Register */ 85 __IO uint32_t lpwken3; /**< <tt>\b 0x20:</tt> PWRSEQ LPWKEN3 Register */ 86 __R uint32_t rsv_0x24_0x2f[3]; 87 __IO uint32_t lppwst; /**< <tt>\b 0x30:</tt> PWRSEQ LPPWST Register */ 88 __IO uint32_t lppwen; /**< <tt>\b 0x34:</tt> PWRSEQ LPPWEN Register */ 89 __R uint32_t rsv_0x38_0x43[3]; 90 __IO uint32_t vbtlepd; /**< <tt>\b 0x44:</tt> PWRSEQ VBTLEPD Register */ 91 __IO uint32_t gp0; /**< <tt>\b 0x48:</tt> PWRSEQ GP0 Register */ 92 __IO uint32_t gp1; /**< <tt>\b 0x4C:</tt> PWRSEQ GP1 Register */ 93 } mxc_pwrseq_regs_t; 94 95 /* Register offsets for module PWRSEQ */ 96 /** 97 * @ingroup pwrseq_registers 98 * @defgroup PWRSEQ_Register_Offsets Register Offsets 99 * @brief PWRSEQ Peripheral Register Offsets from the PWRSEQ Base Peripheral Address. 100 * @{ 101 */ 102 #define MXC_R_PWRSEQ_LPCN ((uint32_t)0x00000000UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0000</tt> */ 103 #define MXC_R_PWRSEQ_LPWKST0 ((uint32_t)0x00000004UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0004</tt> */ 104 #define MXC_R_PWRSEQ_LPWKEN0 ((uint32_t)0x00000008UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0008</tt> */ 105 #define MXC_R_PWRSEQ_LPWKST1 ((uint32_t)0x0000000CUL) /**< Offset from PWRSEQ Base Address: <tt> 0x000C</tt> */ 106 #define MXC_R_PWRSEQ_LPWKEN1 ((uint32_t)0x00000010UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0010</tt> */ 107 #define MXC_R_PWRSEQ_LPWKST2 ((uint32_t)0x00000014UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0014</tt> */ 108 #define MXC_R_PWRSEQ_LPWKEN2 ((uint32_t)0x00000018UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0018</tt> */ 109 #define MXC_R_PWRSEQ_LPWKST3 ((uint32_t)0x0000001CUL) /**< Offset from PWRSEQ Base Address: <tt> 0x001C</tt> */ 110 #define MXC_R_PWRSEQ_LPWKEN3 ((uint32_t)0x00000020UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0020</tt> */ 111 #define MXC_R_PWRSEQ_LPPWST ((uint32_t)0x00000030UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0030</tt> */ 112 #define MXC_R_PWRSEQ_LPPWEN ((uint32_t)0x00000034UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0034</tt> */ 113 #define MXC_R_PWRSEQ_VBTLEPD ((uint32_t)0x00000044UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0044</tt> */ 114 #define MXC_R_PWRSEQ_GP0 ((uint32_t)0x00000048UL) /**< Offset from PWRSEQ Base Address: <tt> 0x0048</tt> */ 115 #define MXC_R_PWRSEQ_GP1 ((uint32_t)0x0000004CUL) /**< Offset from PWRSEQ Base Address: <tt> 0x004C</tt> */ 116 /**@} end of group pwrseq_registers */ 117 118 /** 119 * @ingroup pwrseq_registers 120 * @defgroup PWRSEQ_LPCN PWRSEQ_LPCN 121 * @brief Low Power Control Register. 122 * @{ 123 */ 124 #define MXC_F_PWRSEQ_LPCN_RAMRET0_POS 0 /**< LPCN_RAMRET0 Position */ 125 #define MXC_F_PWRSEQ_LPCN_RAMRET0 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPCN_RAMRET0_POS)) /**< LPCN_RAMRET0 Mask */ 126 127 #define MXC_F_PWRSEQ_LPCN_RAMRET1_POS 1 /**< LPCN_RAMRET1 Position */ 128 #define MXC_F_PWRSEQ_LPCN_RAMRET1 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPCN_RAMRET1_POS)) /**< LPCN_RAMRET1 Mask */ 129 130 #define MXC_F_PWRSEQ_LPCN_RAMRET2_POS 2 /**< LPCN_RAMRET2 Position */ 131 #define MXC_F_PWRSEQ_LPCN_RAMRET2 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPCN_RAMRET2_POS)) /**< LPCN_RAMRET2 Mask */ 132 133 #define MXC_F_PWRSEQ_LPCN_RAMRET3_POS 3 /**< LPCN_RAMRET3 Position */ 134 #define MXC_F_PWRSEQ_LPCN_RAMRET3 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPCN_RAMRET3_POS)) /**< LPCN_RAMRET3 Mask */ 135 136 #define MXC_F_PWRSEQ_LPCN_LPMCLKSEL_POS 8 /**< LPCN_LPMCLKSEL Position */ 137 #define MXC_F_PWRSEQ_LPCN_LPMCLKSEL ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPCN_LPMCLKSEL_POS)) /**< LPCN_LPMCLKSEL Mask */ 138 139 #define MXC_F_PWRSEQ_LPCN_LPMFAST_POS 9 /**< LPCN_LPMFAST Position */ 140 #define MXC_F_PWRSEQ_LPCN_LPMFAST ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPCN_LPMFAST_POS)) /**< LPCN_LPMFAST Mask */ 141 142 #define MXC_F_PWRSEQ_LPCN_BG_DIS_POS 11 /**< LPCN_BG_DIS Position */ 143 #define MXC_F_PWRSEQ_LPCN_BG_DIS ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPCN_BG_DIS_POS)) /**< LPCN_BG_DIS Mask */ 144 145 #define MXC_F_PWRSEQ_LPCN_LPWKST_CLR_POS 31 /**< LPCN_LPWKST_CLR Position */ 146 #define MXC_F_PWRSEQ_LPCN_LPWKST_CLR ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPCN_LPWKST_CLR_POS)) /**< LPCN_LPWKST_CLR Mask */ 147 148 /**@} end of group PWRSEQ_LPCN_Register */ 149 150 /** 151 * @ingroup pwrseq_registers 152 * @defgroup PWRSEQ_LPWKST0 PWRSEQ_LPWKST0 153 * @brief Low Power I/O Wakeup Status Register 0. This register indicates the low power 154 * wakeup status for GPIO0. 155 * @{ 156 */ 157 #define MXC_F_PWRSEQ_LPWKST0_WAKEST_POS 0 /**< LPWKST0_WAKEST Position */ 158 #define MXC_F_PWRSEQ_LPWKST0_WAKEST ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPWKST0_WAKEST_POS)) /**< LPWKST0_WAKEST Mask */ 159 160 /**@} end of group PWRSEQ_LPWKST0_Register */ 161 162 /** 163 * @ingroup pwrseq_registers 164 * @defgroup PWRSEQ_LPWKEN0 PWRSEQ_LPWKEN0 165 * @brief Low Power I/O Wakeup Enable Register 0. This register enables low power wakeup 166 * functionality for GPIO0. 167 * @{ 168 */ 169 #define MXC_F_PWRSEQ_LPWKEN0_WAKEEN_POS 0 /**< LPWKEN0_WAKEEN Position */ 170 #define MXC_F_PWRSEQ_LPWKEN0_WAKEEN ((uint32_t)(0x7FFFFFFFUL << MXC_F_PWRSEQ_LPWKEN0_WAKEEN_POS)) /**< LPWKEN0_WAKEEN Mask */ 171 172 /**@} end of group PWRSEQ_LPWKEN0_Register */ 173 174 /** 175 * @ingroup pwrseq_registers 176 * @defgroup PWRSEQ_LPPWST PWRSEQ_LPPWST 177 * @brief Low Power Peripheral Wakeup Status Register. 178 * @{ 179 */ 180 #define MXC_F_PWRSEQ_LPPWST_AINCOMP0_POS 4 /**< LPPWST_AINCOMP0 Position */ 181 #define MXC_F_PWRSEQ_LPPWST_AINCOMP0 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWST_AINCOMP0_POS)) /**< LPPWST_AINCOMP0 Mask */ 182 183 #define MXC_F_PWRSEQ_LPPWST_BACKUP_POS 16 /**< LPPWST_BACKUP Position */ 184 #define MXC_F_PWRSEQ_LPPWST_BACKUP ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWST_BACKUP_POS)) /**< LPPWST_BACKUP Mask */ 185 186 #define MXC_F_PWRSEQ_LPPWST_RESET_POS 17 /**< LPPWST_RESET Position */ 187 #define MXC_F_PWRSEQ_LPPWST_RESET ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWST_RESET_POS)) /**< LPPWST_RESET Mask */ 188 189 /**@} end of group PWRSEQ_LPPWST_Register */ 190 191 /** 192 * @ingroup pwrseq_registers 193 * @defgroup PWRSEQ_LPPWEN PWRSEQ_LPPWEN 194 * @brief Low Power Peripheral Wakeup Enable Register. 195 * @{ 196 */ 197 #define MXC_F_PWRSEQ_LPPWEN_AINCOMP0_POS 4 /**< LPPWEN_AINCOMP0 Position */ 198 #define MXC_F_PWRSEQ_LPPWEN_AINCOMP0 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_AINCOMP0_POS)) /**< LPPWEN_AINCOMP0 Mask */ 199 200 #define MXC_F_PWRSEQ_LPPWEN_WDT0_POS 8 /**< LPPWEN_WDT0 Position */ 201 #define MXC_F_PWRSEQ_LPPWEN_WDT0 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_WDT0_POS)) /**< LPPWEN_WDT0 Mask */ 202 203 #define MXC_F_PWRSEQ_LPPWEN_WDT1_POS 9 /**< LPPWEN_WDT1 Position */ 204 #define MXC_F_PWRSEQ_LPPWEN_WDT1 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_WDT1_POS)) /**< LPPWEN_WDT1 Mask */ 205 206 #define MXC_F_PWRSEQ_LPPWEN_CPU1_POS 10 /**< LPPWEN_CPU1 Position */ 207 #define MXC_F_PWRSEQ_LPPWEN_CPU1 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_CPU1_POS)) /**< LPPWEN_CPU1 Mask */ 208 209 #define MXC_F_PWRSEQ_LPPWEN_TMR0_POS 11 /**< LPPWEN_TMR0 Position */ 210 #define MXC_F_PWRSEQ_LPPWEN_TMR0 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_TMR0_POS)) /**< LPPWEN_TMR0 Mask */ 211 212 #define MXC_F_PWRSEQ_LPPWEN_TMR1_POS 12 /**< LPPWEN_TMR1 Position */ 213 #define MXC_F_PWRSEQ_LPPWEN_TMR1 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_TMR1_POS)) /**< LPPWEN_TMR1 Mask */ 214 215 #define MXC_F_PWRSEQ_LPPWEN_TMR2_POS 13 /**< LPPWEN_TMR2 Position */ 216 #define MXC_F_PWRSEQ_LPPWEN_TMR2 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_TMR2_POS)) /**< LPPWEN_TMR2 Mask */ 217 218 #define MXC_F_PWRSEQ_LPPWEN_TMR3_POS 14 /**< LPPWEN_TMR3 Position */ 219 #define MXC_F_PWRSEQ_LPPWEN_TMR3 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_TMR3_POS)) /**< LPPWEN_TMR3 Mask */ 220 221 #define MXC_F_PWRSEQ_LPPWEN_TMR4_POS 15 /**< LPPWEN_TMR4 Position */ 222 #define MXC_F_PWRSEQ_LPPWEN_TMR4 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_TMR4_POS)) /**< LPPWEN_TMR4 Mask */ 223 224 #define MXC_F_PWRSEQ_LPPWEN_TMR5_POS 16 /**< LPPWEN_TMR5 Position */ 225 #define MXC_F_PWRSEQ_LPPWEN_TMR5 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_TMR5_POS)) /**< LPPWEN_TMR5 Mask */ 226 227 #define MXC_F_PWRSEQ_LPPWEN_UART0_POS 17 /**< LPPWEN_UART0 Position */ 228 #define MXC_F_PWRSEQ_LPPWEN_UART0 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_UART0_POS)) /**< LPPWEN_UART0 Mask */ 229 230 #define MXC_F_PWRSEQ_LPPWEN_UART1_POS 18 /**< LPPWEN_UART1 Position */ 231 #define MXC_F_PWRSEQ_LPPWEN_UART1 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_UART1_POS)) /**< LPPWEN_UART1 Mask */ 232 233 #define MXC_F_PWRSEQ_LPPWEN_UART2_POS 19 /**< LPPWEN_UART2 Position */ 234 #define MXC_F_PWRSEQ_LPPWEN_UART2 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_UART2_POS)) /**< LPPWEN_UART2 Mask */ 235 236 #define MXC_F_PWRSEQ_LPPWEN_UART3_POS 20 /**< LPPWEN_UART3 Position */ 237 #define MXC_F_PWRSEQ_LPPWEN_UART3 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_UART3_POS)) /**< LPPWEN_UART3 Mask */ 238 239 #define MXC_F_PWRSEQ_LPPWEN_I2C0_POS 21 /**< LPPWEN_I2C0 Position */ 240 #define MXC_F_PWRSEQ_LPPWEN_I2C0 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_I2C0_POS)) /**< LPPWEN_I2C0 Mask */ 241 242 #define MXC_F_PWRSEQ_LPPWEN_I2C1_POS 22 /**< LPPWEN_I2C1 Position */ 243 #define MXC_F_PWRSEQ_LPPWEN_I2C1 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_I2C1_POS)) /**< LPPWEN_I2C1 Mask */ 244 245 #define MXC_F_PWRSEQ_LPPWEN_I2C2_POS 23 /**< LPPWEN_I2C2 Position */ 246 #define MXC_F_PWRSEQ_LPPWEN_I2C2 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_I2C2_POS)) /**< LPPWEN_I2C2 Mask */ 247 248 #define MXC_F_PWRSEQ_LPPWEN_I2S_POS 24 /**< LPPWEN_I2S Position */ 249 #define MXC_F_PWRSEQ_LPPWEN_I2S ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_I2S_POS)) /**< LPPWEN_I2S Mask */ 250 251 #define MXC_F_PWRSEQ_LPPWEN_SPI1_POS 25 /**< LPPWEN_SPI1 Position */ 252 #define MXC_F_PWRSEQ_LPPWEN_SPI1 ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_SPI1_POS)) /**< LPPWEN_SPI1 Mask */ 253 254 #define MXC_F_PWRSEQ_LPPWEN_LPCMP_POS 26 /**< LPPWEN_LPCMP Position */ 255 #define MXC_F_PWRSEQ_LPPWEN_LPCMP ((uint32_t)(0x1UL << MXC_F_PWRSEQ_LPPWEN_LPCMP_POS)) /**< LPPWEN_LPCMP Mask */ 256 257 /**@} end of group PWRSEQ_LPPWEN_Register */ 258 259 /** 260 * @ingroup pwrseq_registers 261 * @defgroup PWRSEQ_VBTLEPD PWRSEQ_VBTLEPD 262 * @brief Low-Power VBTLE Power Down Register. 263 * @{ 264 */ 265 #define MXC_F_PWRSEQ_VBTLEPD_BTLE_POS 1 /**< VBTLEPD_BTLE Position */ 266 #define MXC_F_PWRSEQ_VBTLEPD_BTLE ((uint32_t)(0x1UL << MXC_F_PWRSEQ_VBTLEPD_BTLE_POS)) /**< VBTLEPD_BTLE Mask */ 267 268 /**@} end of group PWRSEQ_VBTLEPD_Register */ 269 270 #ifdef __cplusplus 271 } 272 #endif 273 274 #endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32680_INCLUDE_PWRSEQ_REGS_H_ 275