1 /** 2 * @file fcr_regs.h 3 * @brief Registers, Bit Masks and Bit Positions for the FCR Peripheral Module. 4 * @note This file is @generated. 5 * @ingroup fcr_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_MAX32572_INCLUDE_FCR_REGS_H_ 29 #define LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32572_INCLUDE_FCR_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 fcr 67 * @defgroup fcr_registers FCR_Registers 68 * @brief Registers, Bit Masks and Bit Positions for the FCR Peripheral Module. 69 * @details Function Control Register. 70 */ 71 72 /** 73 * @ingroup fcr_registers 74 * Structure type to access the FCR Registers. 75 */ 76 typedef struct { 77 __IO uint32_t fctrl0; /**< <tt>\b 0x00:</tt> FCR FCTRL0 Register */ 78 __IO uint32_t fctrl1; /**< <tt>\b 0x04:</tt> FCR FCTRL1 Register */ 79 __R uint32_t rsv_0x8; 80 __IO uint32_t fctrl3; /**< <tt>\b 0x0C:</tt> FCR FCTRL3 Register */ 81 __IO uint32_t urvbootaddr; /**< <tt>\b 0x10:</tt> FCR URVBOOTADDR Register */ 82 __IO uint32_t urvctrl; /**< <tt>\b 0x14:</tt> FCR URVCTRL Register */ 83 __R uint32_t rsv_0x18; 84 __IO uint32_t gp; /**< <tt>\b 0x1C:</tt> FCR GP Register */ 85 __IO uint32_t trimctrl; /**< <tt>\b 0x20:</tt> FCR TRIMCTRL Register */ 86 __IO uint32_t erfoks; /**< <tt>\b 0x24:</tt> FCR ERFOKS Register */ 87 } mxc_fcr_regs_t; 88 89 /* Register offsets for module FCR */ 90 /** 91 * @ingroup fcr_registers 92 * @defgroup FCR_Register_Offsets Register Offsets 93 * @brief FCR Peripheral Register Offsets from the FCR Base Peripheral Address. 94 * @{ 95 */ 96 #define MXC_R_FCR_FCTRL0 ((uint32_t)0x00000000UL) /**< Offset from FCR Base Address: <tt> 0x0000</tt> */ 97 #define MXC_R_FCR_FCTRL1 ((uint32_t)0x00000004UL) /**< Offset from FCR Base Address: <tt> 0x0004</tt> */ 98 #define MXC_R_FCR_FCTRL3 ((uint32_t)0x0000000CUL) /**< Offset from FCR Base Address: <tt> 0x000C</tt> */ 99 #define MXC_R_FCR_URVBOOTADDR ((uint32_t)0x00000010UL) /**< Offset from FCR Base Address: <tt> 0x0010</tt> */ 100 #define MXC_R_FCR_URVCTRL ((uint32_t)0x00000014UL) /**< Offset from FCR Base Address: <tt> 0x0014</tt> */ 101 #define MXC_R_FCR_GP ((uint32_t)0x0000001CUL) /**< Offset from FCR Base Address: <tt> 0x001C</tt> */ 102 #define MXC_R_FCR_TRIMCTRL ((uint32_t)0x00000020UL) /**< Offset from FCR Base Address: <tt> 0x0020</tt> */ 103 #define MXC_R_FCR_ERFOKS ((uint32_t)0x00000024UL) /**< Offset from FCR Base Address: <tt> 0x0024</tt> */ 104 /**@} end of group fcr_registers */ 105 106 /** 107 * @ingroup fcr_registers 108 * @defgroup FCR_FCTRL0 FCR_FCTRL0 109 * @brief Register 0. 110 * @{ 111 */ 112 #define MXC_F_FCR_FCTRL0_USBCLKSEL_POS 16 /**< FCTRL0_USBCLKSEL Position */ 113 #define MXC_F_FCR_FCTRL0_USBCLKSEL ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL0_USBCLKSEL_POS)) /**< FCTRL0_USBCLKSEL Mask */ 114 115 #define MXC_F_FCR_FCTRL0_I2C0DGEN0_POS 20 /**< FCTRL0_I2C0DGEN0 Position */ 116 #define MXC_F_FCR_FCTRL0_I2C0DGEN0 ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL0_I2C0DGEN0_POS)) /**< FCTRL0_I2C0DGEN0 Mask */ 117 118 #define MXC_F_FCR_FCTRL0_I2C0DGEN1_POS 21 /**< FCTRL0_I2C0DGEN1 Position */ 119 #define MXC_F_FCR_FCTRL0_I2C0DGEN1 ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL0_I2C0DGEN1_POS)) /**< FCTRL0_I2C0DGEN1 Mask */ 120 121 #define MXC_F_FCR_FCTRL0_I2C1DGEN0_POS 22 /**< FCTRL0_I2C1DGEN0 Position */ 122 #define MXC_F_FCR_FCTRL0_I2C1DGEN0 ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL0_I2C1DGEN0_POS)) /**< FCTRL0_I2C1DGEN0 Mask */ 123 124 #define MXC_F_FCR_FCTRL0_I2C1DGEN1_POS 23 /**< FCTRL0_I2C1DGEN1 Position */ 125 #define MXC_F_FCR_FCTRL0_I2C1DGEN1 ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL0_I2C1DGEN1_POS)) /**< FCTRL0_I2C1DGEN1 Mask */ 126 127 /**@} end of group FCR_FCTRL0_Register */ 128 129 /** 130 * @ingroup fcr_registers 131 * @defgroup FCR_FCTRL1 FCR_FCTRL1 132 * @brief Register 1. 133 * @{ 134 */ 135 #define MXC_F_FCR_FCTRL1_AC_EN_POS 0 /**< FCTRL1_AC_EN Position */ 136 #define MXC_F_FCR_FCTRL1_AC_EN ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL1_AC_EN_POS)) /**< FCTRL1_AC_EN Mask */ 137 138 #define MXC_F_FCR_FCTRL1_AC_RUN_POS 1 /**< FCTRL1_AC_RUN Position */ 139 #define MXC_F_FCR_FCTRL1_AC_RUN ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL1_AC_RUN_POS)) /**< FCTRL1_AC_RUN Mask */ 140 141 #define MXC_F_FCR_FCTRL1_LOAD_POS 2 /**< FCTRL1_LOAD Position */ 142 #define MXC_F_FCR_FCTRL1_LOAD ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL1_LOAD_POS)) /**< FCTRL1_LOAD Mask */ 143 144 #define MXC_F_FCR_FCTRL1_INV_GAIN_POS 3 /**< FCTRL1_INV_GAIN Position */ 145 #define MXC_F_FCR_FCTRL1_INV_GAIN ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL1_INV_GAIN_POS)) /**< FCTRL1_INV_GAIN Mask */ 146 147 #define MXC_F_FCR_FCTRL1_ATOMIC_POS 4 /**< FCTRL1_ATOMIC Position */ 148 #define MXC_F_FCR_FCTRL1_ATOMIC ((uint32_t)(0x1UL << MXC_F_FCR_FCTRL1_ATOMIC_POS)) /**< FCTRL1_ATOMIC Mask */ 149 150 #define MXC_F_FCR_FCTRL1_MU_POS 8 /**< FCTRL1_MU Position */ 151 #define MXC_F_FCR_FCTRL1_MU ((uint32_t)(0xFFFUL << MXC_F_FCR_FCTRL1_MU_POS)) /**< FCTRL1_MU Mask */ 152 153 #define MXC_F_FCR_FCTRL1_AC_TRIM_POS 23 /**< FCTRL1_AC_TRIM Position */ 154 #define MXC_F_FCR_FCTRL1_AC_TRIM ((uint32_t)(0x1FFUL << MXC_F_FCR_FCTRL1_AC_TRIM_POS)) /**< FCTRL1_AC_TRIM Mask */ 155 156 /**@} end of group FCR_FCTRL1_Register */ 157 158 /** 159 * @ingroup fcr_registers 160 * @defgroup FCR_FCTRL3 FCR_FCTRL3 161 * @brief Register 3. 162 * @{ 163 */ 164 #define MXC_F_FCR_FCTRL3_DONECNT_POS 0 /**< FCTRL3_DONECNT Position */ 165 #define MXC_F_FCR_FCTRL3_DONECNT ((uint32_t)(0xFFUL << MXC_F_FCR_FCTRL3_DONECNT_POS)) /**< FCTRL3_DONECNT Mask */ 166 167 /**@} end of group FCR_FCTRL3_Register */ 168 169 /** 170 * @ingroup fcr_registers 171 * @defgroup FCR_URVBOOTADDR FCR_URVBOOTADDR 172 * @brief Register 4. 173 * @{ 174 */ 175 #define MXC_F_FCR_URVBOOTADDR_BOOTADDR_POS 0 /**< URVBOOTADDR_BOOTADDR Position */ 176 #define MXC_F_FCR_URVBOOTADDR_BOOTADDR ((uint32_t)(0xFFFFFFFFUL << MXC_F_FCR_URVBOOTADDR_BOOTADDR_POS)) /**< URVBOOTADDR_BOOTADDR Mask */ 177 178 /**@} end of group FCR_URVBOOTADDR_Register */ 179 180 /** 181 * @ingroup fcr_registers 182 * @defgroup FCR_URVCTRL FCR_URVCTRL 183 * @brief Register 5. 184 * @{ 185 */ 186 #define MXC_F_FCR_URVCTRL_SLEEP_REQ_POS 0 /**< URVCTRL_SLEEP_REQ Position */ 187 #define MXC_F_FCR_URVCTRL_SLEEP_REQ ((uint32_t)(0x1UL << MXC_F_FCR_URVCTRL_SLEEP_REQ_POS)) /**< URVCTRL_SLEEP_REQ Mask */ 188 189 #define MXC_F_FCR_URVCTRL_SLEEP_ACK_POS 1 /**< URVCTRL_SLEEP_ACK Position */ 190 #define MXC_F_FCR_URVCTRL_SLEEP_ACK ((uint32_t)(0x1UL << MXC_F_FCR_URVCTRL_SLEEP_ACK_POS)) /**< URVCTRL_SLEEP_ACK Mask */ 191 192 /**@} end of group FCR_URVCTRL_Register */ 193 194 /** 195 * @ingroup fcr_registers 196 * @defgroup FCR_GP FCR_GP 197 * @brief General Purpose Register. 198 * @{ 199 */ 200 #define MXC_F_FCR_GP_GP_POS 0 /**< GP_GP Position */ 201 #define MXC_F_FCR_GP_GP ((uint32_t)(0xFFFFFFFFUL << MXC_F_FCR_GP_GP_POS)) /**< GP_GP Mask */ 202 203 /**@} end of group FCR_GP_Register */ 204 205 /** 206 * @ingroup fcr_registers 207 * @defgroup FCR_TRIMCTRL FCR_TRIMCTRL 208 * @brief MSR ADC Trim Register. 209 * @{ 210 */ 211 #define MXC_F_FCR_TRIMCTRL_MSR_R1_POS 0 /**< TRIMCTRL_MSR_R1 Position */ 212 #define MXC_F_FCR_TRIMCTRL_MSR_R1 ((uint32_t)(0x3UL << MXC_F_FCR_TRIMCTRL_MSR_R1_POS)) /**< TRIMCTRL_MSR_R1 Mask */ 213 #define MXC_V_FCR_TRIMCTRL_MSR_R1_0K ((uint32_t)0x0UL) /**< TRIMCTRL_MSR_R1_0K Value */ 214 #define MXC_S_FCR_TRIMCTRL_MSR_R1_0K (MXC_V_FCR_TRIMCTRL_MSR_R1_0K << MXC_F_FCR_TRIMCTRL_MSR_R1_POS) /**< TRIMCTRL_MSR_R1_0K Setting */ 215 #define MXC_V_FCR_TRIMCTRL_MSR_R1_1P2K ((uint32_t)0x1UL) /**< TRIMCTRL_MSR_R1_1P2K Value */ 216 #define MXC_S_FCR_TRIMCTRL_MSR_R1_1P2K (MXC_V_FCR_TRIMCTRL_MSR_R1_1P2K << MXC_F_FCR_TRIMCTRL_MSR_R1_POS) /**< TRIMCTRL_MSR_R1_1P2K Setting */ 217 #define MXC_V_FCR_TRIMCTRL_MSR_R1_2P4K ((uint32_t)0x2UL) /**< TRIMCTRL_MSR_R1_2P4K Value */ 218 #define MXC_S_FCR_TRIMCTRL_MSR_R1_2P4K (MXC_V_FCR_TRIMCTRL_MSR_R1_2P4K << MXC_F_FCR_TRIMCTRL_MSR_R1_POS) /**< TRIMCTRL_MSR_R1_2P4K Setting */ 219 #define MXC_V_FCR_TRIMCTRL_MSR_R1_4P8K ((uint32_t)0x3UL) /**< TRIMCTRL_MSR_R1_4P8K Value */ 220 #define MXC_S_FCR_TRIMCTRL_MSR_R1_4P8K (MXC_V_FCR_TRIMCTRL_MSR_R1_4P8K << MXC_F_FCR_TRIMCTRL_MSR_R1_POS) /**< TRIMCTRL_MSR_R1_4P8K Setting */ 221 222 #define MXC_F_FCR_TRIMCTRL_MSR_R2_POS 2 /**< TRIMCTRL_MSR_R2 Position */ 223 #define MXC_F_FCR_TRIMCTRL_MSR_R2 ((uint32_t)(0x7UL << MXC_F_FCR_TRIMCTRL_MSR_R2_POS)) /**< TRIMCTRL_MSR_R2 Mask */ 224 #define MXC_V_FCR_TRIMCTRL_MSR_R2_OPEN ((uint32_t)0x0UL) /**< TRIMCTRL_MSR_R2_OPEN Value */ 225 #define MXC_S_FCR_TRIMCTRL_MSR_R2_OPEN (MXC_V_FCR_TRIMCTRL_MSR_R2_OPEN << MXC_F_FCR_TRIMCTRL_MSR_R2_POS) /**< TRIMCTRL_MSR_R2_OPEN Setting */ 226 #define MXC_V_FCR_TRIMCTRL_MSR_R2_3K ((uint32_t)0x4UL) /**< TRIMCTRL_MSR_R2_3K Value */ 227 #define MXC_S_FCR_TRIMCTRL_MSR_R2_3K (MXC_V_FCR_TRIMCTRL_MSR_R2_3K << MXC_F_FCR_TRIMCTRL_MSR_R2_POS) /**< TRIMCTRL_MSR_R2_3K Setting */ 228 #define MXC_V_FCR_TRIMCTRL_MSR_R2_6K ((uint32_t)0x5UL) /**< TRIMCTRL_MSR_R2_6K Value */ 229 #define MXC_S_FCR_TRIMCTRL_MSR_R2_6K (MXC_V_FCR_TRIMCTRL_MSR_R2_6K << MXC_F_FCR_TRIMCTRL_MSR_R2_POS) /**< TRIMCTRL_MSR_R2_6K Setting */ 230 #define MXC_V_FCR_TRIMCTRL_MSR_R2_12K ((uint32_t)0x6UL) /**< TRIMCTRL_MSR_R2_12K Value */ 231 #define MXC_S_FCR_TRIMCTRL_MSR_R2_12K (MXC_V_FCR_TRIMCTRL_MSR_R2_12K << MXC_F_FCR_TRIMCTRL_MSR_R2_POS) /**< TRIMCTRL_MSR_R2_12K Setting */ 232 #define MXC_V_FCR_TRIMCTRL_MSR_R2_24K ((uint32_t)0x7UL) /**< TRIMCTRL_MSR_R2_24K Value */ 233 #define MXC_S_FCR_TRIMCTRL_MSR_R2_24K (MXC_V_FCR_TRIMCTRL_MSR_R2_24K << MXC_F_FCR_TRIMCTRL_MSR_R2_POS) /**< TRIMCTRL_MSR_R2_24K Setting */ 234 235 /**@} end of group FCR_TRIMCTRL_Register */ 236 237 /** 238 * @ingroup fcr_registers 239 * @defgroup FCR_ERFOKS FCR_ERFOKS 240 * @brief ERFO Kick Start Register. 241 * @{ 242 */ 243 #define MXC_F_FCR_ERFOKS_CTRL_POS 0 /**< ERFOKS_CTRL Position */ 244 #define MXC_F_FCR_ERFOKS_CTRL ((uint32_t)(0xFFFFUL << MXC_F_FCR_ERFOKS_CTRL_POS)) /**< ERFOKS_CTRL Mask */ 245 246 /**@} end of group FCR_ERFOKS_Register */ 247 248 #ifdef __cplusplus 249 } 250 #endif 251 252 #endif // LIBRARIES_CMSIS_DEVICE_MAXIM_MAX32572_INCLUDE_FCR_REGS_H_ 253