1 //----------------------------------------------------------------------------- 2 // Copyright 2012 (c) Silicon Laboratories Inc. 3 // 4 // SPDX-License-Identifier: Zlib 5 // 6 // This siHAL software is provided 'as-is', without any express or implied 7 // warranty. In no event will the authors be held liable for any damages 8 // arising from the use of this software. 9 // 10 // Permission is granted to anyone to use this software for any purpose, 11 // including commercial applications, and to alter it and redistribute it 12 // freely, subject to the following restrictions: 13 // 14 // 1. The origin of this software must not be misrepresented; you must not 15 // claim that you wrote the original software. If you use this software 16 // in a product, an acknowledgment in the product documentation would be 17 // appreciated but is not required. 18 // 2. Altered source versions must be plainly marked as such, and must not be 19 // misrepresented as being the original software. 20 // 3. This notice may not be removed or altered from any source distribution. 21 //----------------------------------------------------------------------------- 22 // 23 // Script: 0.61 24 // Version: 1 25 26 #ifndef __SI32_CMP_A_REGISTERS_H__ 27 #define __SI32_CMP_A_REGISTERS_H__ 28 29 #include <stdint.h> 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 struct SI32_CMP_A_CONTROL_Struct 36 { 37 union 38 { 39 struct 40 { 41 uint32_t reserved0: 13; 42 // Falling Edge Interrupt Flag 43 volatile uint32_t CMPFI: 1; 44 // Rising Edge Interrupt Flag 45 volatile uint32_t CMPRI: 1; 46 uint32_t reserved1: 15; 47 // Output State 48 volatile uint32_t CMPOUT: 1; 49 // Comparator Enable 50 volatile uint32_t CMPEN: 1; 51 }; 52 volatile uint32_t U32; 53 }; 54 }; 55 56 #define SI32_CMP_A_CONTROL_CMPFI_MASK 0x00002000 57 #define SI32_CMP_A_CONTROL_CMPFI_SHIFT 13 58 // No comparator falling edge has occurred since this flag was last cleared. 59 #define SI32_CMP_A_CONTROL_CMPFI_NOT_SET_VALUE 0 60 #define SI32_CMP_A_CONTROL_CMPFI_NOT_SET_U32 \ 61 (SI32_CMP_A_CONTROL_CMPFI_NOT_SET_VALUE << SI32_CMP_A_CONTROL_CMPFI_SHIFT) 62 // A comparator falling edge occurred since last flag was cleared. 63 #define SI32_CMP_A_CONTROL_CMPFI_SET_VALUE 1 64 #define SI32_CMP_A_CONTROL_CMPFI_SET_U32 \ 65 (SI32_CMP_A_CONTROL_CMPFI_SET_VALUE << SI32_CMP_A_CONTROL_CMPFI_SHIFT) 66 67 #define SI32_CMP_A_CONTROL_CMPRI_MASK 0x00004000 68 #define SI32_CMP_A_CONTROL_CMPRI_SHIFT 14 69 // No comparator rising edge has occurred since this flag was last cleared. 70 #define SI32_CMP_A_CONTROL_CMPRI_NOT_SET_VALUE 0 71 #define SI32_CMP_A_CONTROL_CMPRI_NOT_SET_U32 \ 72 (SI32_CMP_A_CONTROL_CMPRI_NOT_SET_VALUE << SI32_CMP_A_CONTROL_CMPRI_SHIFT) 73 // A comparator rising edge occurred since last flag was cleared. 74 #define SI32_CMP_A_CONTROL_CMPRI_SET_VALUE 1 75 #define SI32_CMP_A_CONTROL_CMPRI_SET_U32 \ 76 (SI32_CMP_A_CONTROL_CMPRI_SET_VALUE << SI32_CMP_A_CONTROL_CMPRI_SHIFT) 77 78 #define SI32_CMP_A_CONTROL_CMPOUT_MASK 0x40000000 79 #define SI32_CMP_A_CONTROL_CMPOUT_SHIFT 30 80 // Voltage on CMP+ < CMP- (INVEN = 0). 81 #define SI32_CMP_A_CONTROL_CMPOUT_POS_LT_NEG_VALUE 0 82 #define SI32_CMP_A_CONTROL_CMPOUT_POS_LT_NEG_U32 \ 83 (SI32_CMP_A_CONTROL_CMPOUT_POS_LT_NEG_VALUE << SI32_CMP_A_CONTROL_CMPOUT_SHIFT) 84 // Voltage on CMP+ > CMP- (INVEN = 0). 85 #define SI32_CMP_A_CONTROL_CMPOUT_POS_GT_NEG_VALUE 1 86 #define SI32_CMP_A_CONTROL_CMPOUT_POS_GT_NEG_U32 \ 87 (SI32_CMP_A_CONTROL_CMPOUT_POS_GT_NEG_VALUE << SI32_CMP_A_CONTROL_CMPOUT_SHIFT) 88 89 #define SI32_CMP_A_CONTROL_CMPEN_MASK 0x80000000 90 #define SI32_CMP_A_CONTROL_CMPEN_SHIFT 31 91 // Disable the comparator. 92 #define SI32_CMP_A_CONTROL_CMPEN_DISABLED_VALUE 0U 93 #define SI32_CMP_A_CONTROL_CMPEN_DISABLED_U32 \ 94 (SI32_CMP_A_CONTROL_CMPEN_DISABLED_VALUE << SI32_CMP_A_CONTROL_CMPEN_SHIFT) 95 // Enable the comparator. 96 #define SI32_CMP_A_CONTROL_CMPEN_ENABLED_VALUE 1U 97 #define SI32_CMP_A_CONTROL_CMPEN_ENABLED_U32 \ 98 (SI32_CMP_A_CONTROL_CMPEN_ENABLED_VALUE << SI32_CMP_A_CONTROL_CMPEN_SHIFT) 99 100 101 102 struct SI32_CMP_A_MODE_Struct 103 { 104 union 105 { 106 struct 107 { 108 // Negative Input Select 109 volatile uint32_t NMUX: 4; 110 // Positive Input Select 111 volatile uint32_t PMUX: 4; 112 // Input MUX Select 113 volatile uint32_t INMUX: 2; 114 // Comparator Mode 115 volatile uint32_t CMPMD: 2; 116 uint32_t reserved0: 1; 117 // Falling Edge Interrupt Enable 118 volatile uint32_t FIEN: 1; 119 // Rising Edge Interrupt Enable 120 volatile uint32_t RIEN: 1; 121 uint32_t reserved1: 1; 122 // Comparator DAC Output Level 123 volatile uint32_t DACLVL: 6; 124 // Negative Input Weak Pullup Enable 125 volatile uint32_t NWPUEN: 1; 126 // Positive Input Weak Pullup Enable 127 volatile uint32_t PWPUEN: 1; 128 // Negative Hysteresis Control 129 volatile uint32_t CMPHYN: 2; 130 // Positive Hysteresis Control 131 volatile uint32_t CMPHYP: 2; 132 uint32_t reserved2: 2; 133 // Invert Comparator Output Enable 134 volatile uint32_t INVEN: 1; 135 uint32_t reserved3: 1; 136 }; 137 volatile uint32_t U32; 138 }; 139 }; 140 141 #define SI32_CMP_A_MODE_NMUX_MASK 0x0000000F 142 #define SI32_CMP_A_MODE_NMUX_SHIFT 0 143 // Select CMPnN.0. 144 #define SI32_CMP_A_MODE_NMUX_CMPNN0_VALUE 0 145 #define SI32_CMP_A_MODE_NMUX_CMPNN0_U32 \ 146 (SI32_CMP_A_MODE_NMUX_CMPNN0_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 147 // Select CMPnN.1. 148 #define SI32_CMP_A_MODE_NMUX_CMPNN1_VALUE 1 149 #define SI32_CMP_A_MODE_NMUX_CMPNN1_U32 \ 150 (SI32_CMP_A_MODE_NMUX_CMPNN1_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 151 // Select CMPnN.2. 152 #define SI32_CMP_A_MODE_NMUX_CMPNN2_VALUE 2 153 #define SI32_CMP_A_MODE_NMUX_CMPNN2_U32 \ 154 (SI32_CMP_A_MODE_NMUX_CMPNN2_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 155 // Select CMPnN.3. 156 #define SI32_CMP_A_MODE_NMUX_CMPNN3_VALUE 3 157 #define SI32_CMP_A_MODE_NMUX_CMPNN3_U32 \ 158 (SI32_CMP_A_MODE_NMUX_CMPNN3_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 159 // Select CMPnN.4. 160 #define SI32_CMP_A_MODE_NMUX_CMPNN4_VALUE 4 161 #define SI32_CMP_A_MODE_NMUX_CMPNN4_U32 \ 162 (SI32_CMP_A_MODE_NMUX_CMPNN4_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 163 // Select CMPnN.5. 164 #define SI32_CMP_A_MODE_NMUX_CMPNN5_VALUE 5 165 #define SI32_CMP_A_MODE_NMUX_CMPNN5_U32 \ 166 (SI32_CMP_A_MODE_NMUX_CMPNN5_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 167 // Select CMPnN.6. 168 #define SI32_CMP_A_MODE_NMUX_CMPNN6_VALUE 6 169 #define SI32_CMP_A_MODE_NMUX_CMPNN6_U32 \ 170 (SI32_CMP_A_MODE_NMUX_CMPNN6_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 171 // Select CMPnN.7. 172 #define SI32_CMP_A_MODE_NMUX_CMPNN7_VALUE 7 173 #define SI32_CMP_A_MODE_NMUX_CMPNN7_U32 \ 174 (SI32_CMP_A_MODE_NMUX_CMPNN7_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 175 // Select CMPnN.8. 176 #define SI32_CMP_A_MODE_NMUX_CMPNN8_VALUE 8 177 #define SI32_CMP_A_MODE_NMUX_CMPNN8_U32 \ 178 (SI32_CMP_A_MODE_NMUX_CMPNN8_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 179 // Select CMPnN.9. 180 #define SI32_CMP_A_MODE_NMUX_CMPNN9_VALUE 9 181 #define SI32_CMP_A_MODE_NMUX_CMPNN9_U32 \ 182 (SI32_CMP_A_MODE_NMUX_CMPNN9_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 183 // Select CMPnN.10. 184 #define SI32_CMP_A_MODE_NMUX_CMPNN10_VALUE 10 185 #define SI32_CMP_A_MODE_NMUX_CMPNN10_U32 \ 186 (SI32_CMP_A_MODE_NMUX_CMPNN10_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 187 // Select CMPnN.11. 188 #define SI32_CMP_A_MODE_NMUX_CMPNN11_VALUE 11 189 #define SI32_CMP_A_MODE_NMUX_CMPNN11_U32 \ 190 (SI32_CMP_A_MODE_NMUX_CMPNN11_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 191 // Select CMPnN.12. 192 #define SI32_CMP_A_MODE_NMUX_CMPNN12_VALUE 12 193 #define SI32_CMP_A_MODE_NMUX_CMPNN12_U32 \ 194 (SI32_CMP_A_MODE_NMUX_CMPNN12_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 195 // Select CMPnN.13. 196 #define SI32_CMP_A_MODE_NMUX_CMPNN13_VALUE 13 197 #define SI32_CMP_A_MODE_NMUX_CMPNN13_U32 \ 198 (SI32_CMP_A_MODE_NMUX_CMPNN13_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 199 // Select CMPnN.14. 200 #define SI32_CMP_A_MODE_NMUX_CMPNN14_VALUE 14 201 #define SI32_CMP_A_MODE_NMUX_CMPNN14_U32 \ 202 (SI32_CMP_A_MODE_NMUX_CMPNN14_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 203 // Select CMPnN.15. 204 #define SI32_CMP_A_MODE_NMUX_CMPNN15_VALUE 15 205 #define SI32_CMP_A_MODE_NMUX_CMPNN15_U32 \ 206 (SI32_CMP_A_MODE_NMUX_CMPNN15_VALUE << SI32_CMP_A_MODE_NMUX_SHIFT) 207 208 #define SI32_CMP_A_MODE_PMUX_MASK 0x000000F0 209 #define SI32_CMP_A_MODE_PMUX_SHIFT 4 210 // Select CMPnP.0. 211 #define SI32_CMP_A_MODE_PMUX_CMPNP0_VALUE 0 212 #define SI32_CMP_A_MODE_PMUX_CMPNP0_U32 \ 213 (SI32_CMP_A_MODE_PMUX_CMPNP0_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 214 // Select CMPnP.1. 215 #define SI32_CMP_A_MODE_PMUX_CMPNP1_VALUE 1 216 #define SI32_CMP_A_MODE_PMUX_CMPNP1_U32 \ 217 (SI32_CMP_A_MODE_PMUX_CMPNP1_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 218 // Select CMPnP.2. 219 #define SI32_CMP_A_MODE_PMUX_CMPNP2_VALUE 2 220 #define SI32_CMP_A_MODE_PMUX_CMPNP2_U32 \ 221 (SI32_CMP_A_MODE_PMUX_CMPNP2_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 222 // Select CMPnP.3. 223 #define SI32_CMP_A_MODE_PMUX_CMPNP3_VALUE 3 224 #define SI32_CMP_A_MODE_PMUX_CMPNP3_U32 \ 225 (SI32_CMP_A_MODE_PMUX_CMPNP3_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 226 // Select CMPnP.4. 227 #define SI32_CMP_A_MODE_PMUX_CMPNP4_VALUE 4 228 #define SI32_CMP_A_MODE_PMUX_CMPNP4_U32 \ 229 (SI32_CMP_A_MODE_PMUX_CMPNP4_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 230 // Select CMPnP.5. 231 #define SI32_CMP_A_MODE_PMUX_CMPNP5_VALUE 5 232 #define SI32_CMP_A_MODE_PMUX_CMPNP5_U32 \ 233 (SI32_CMP_A_MODE_PMUX_CMPNP5_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 234 // Select CMPnP.6. 235 #define SI32_CMP_A_MODE_PMUX_CMPNP6_VALUE 6 236 #define SI32_CMP_A_MODE_PMUX_CMPNP6_U32 \ 237 (SI32_CMP_A_MODE_PMUX_CMPNP6_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 238 // Select CMPnP.7. 239 #define SI32_CMP_A_MODE_PMUX_CMPNP7_VALUE 7 240 #define SI32_CMP_A_MODE_PMUX_CMPNP7_U32 \ 241 (SI32_CMP_A_MODE_PMUX_CMPNP7_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 242 // Select CMPnP.8. 243 #define SI32_CMP_A_MODE_PMUX_CMPNP8_VALUE 8 244 #define SI32_CMP_A_MODE_PMUX_CMPNP8_U32 \ 245 (SI32_CMP_A_MODE_PMUX_CMPNP8_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 246 // Select CMPnP.9. 247 #define SI32_CMP_A_MODE_PMUX_CMPNP9_VALUE 9 248 #define SI32_CMP_A_MODE_PMUX_CMPNP9_U32 \ 249 (SI32_CMP_A_MODE_PMUX_CMPNP9_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 250 // Select CMPnP.10. 251 #define SI32_CMP_A_MODE_PMUX_CMPNP10_VALUE 10 252 #define SI32_CMP_A_MODE_PMUX_CMPNP10_U32 \ 253 (SI32_CMP_A_MODE_PMUX_CMPNP10_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 254 // Select CMPnP.11. 255 #define SI32_CMP_A_MODE_PMUX_CMPNP11_VALUE 11 256 #define SI32_CMP_A_MODE_PMUX_CMPNP11_U32 \ 257 (SI32_CMP_A_MODE_PMUX_CMPNP11_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 258 // Select CMPnP.12. 259 #define SI32_CMP_A_MODE_PMUX_CMPNP12_VALUE 12 260 #define SI32_CMP_A_MODE_PMUX_CMPNP12_U32 \ 261 (SI32_CMP_A_MODE_PMUX_CMPNP12_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 262 // Select CMPnP.13. 263 #define SI32_CMP_A_MODE_PMUX_CMPNP13_VALUE 13 264 #define SI32_CMP_A_MODE_PMUX_CMPNP13_U32 \ 265 (SI32_CMP_A_MODE_PMUX_CMPNP13_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 266 // Select CMPnP.14. 267 #define SI32_CMP_A_MODE_PMUX_CMPNP14_VALUE 14 268 #define SI32_CMP_A_MODE_PMUX_CMPNP14_U32 \ 269 (SI32_CMP_A_MODE_PMUX_CMPNP14_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 270 // Select CMPnP.15. 271 #define SI32_CMP_A_MODE_PMUX_CMPNP15_VALUE 15 272 #define SI32_CMP_A_MODE_PMUX_CMPNP15_U32 \ 273 (SI32_CMP_A_MODE_PMUX_CMPNP15_VALUE << SI32_CMP_A_MODE_PMUX_SHIFT) 274 275 #define SI32_CMP_A_MODE_INMUX_MASK 0x00000300 276 #define SI32_CMP_A_MODE_INMUX_SHIFT 8 277 // Connects the NMUX signal to CMP- and the PMUX signal to CMP+. 278 #define SI32_CMP_A_MODE_INMUX_DIRECT_VALUE 0 279 #define SI32_CMP_A_MODE_INMUX_DIRECT_U32 \ 280 (SI32_CMP_A_MODE_INMUX_DIRECT_VALUE << SI32_CMP_A_MODE_INMUX_SHIFT) 281 // Connects VSS to CMP- and the PMUX signal to CMP+. 282 #define SI32_CMP_A_MODE_INMUX_CMPP_VSS_VALUE 1 283 #define SI32_CMP_A_MODE_INMUX_CMPP_VSS_U32 \ 284 (SI32_CMP_A_MODE_INMUX_CMPP_VSS_VALUE << SI32_CMP_A_MODE_INMUX_SHIFT) 285 // Connects the NMUX signal to CMP-, the PMUX signal to the Comparator DAC voltage 286 // reference, and the DAC output to CMP+. 287 #define SI32_CMP_A_MODE_INMUX_CMPP_DAC_VALUE 2 288 #define SI32_CMP_A_MODE_INMUX_CMPP_DAC_U32 \ 289 (SI32_CMP_A_MODE_INMUX_CMPP_DAC_VALUE << SI32_CMP_A_MODE_INMUX_SHIFT) 290 // Connects the PMUX signal to CMP+, the NMUX signal to the Comparator DAC voltage 291 // reference, and the DAC output to CMP-. 292 #define SI32_CMP_A_MODE_INMUX_CMPN_DAC_VALUE 3 293 #define SI32_CMP_A_MODE_INMUX_CMPN_DAC_U32 \ 294 (SI32_CMP_A_MODE_INMUX_CMPN_DAC_VALUE << SI32_CMP_A_MODE_INMUX_SHIFT) 295 296 #define SI32_CMP_A_MODE_CMPMD_MASK 0x00000C00 297 #define SI32_CMP_A_MODE_CMPMD_SHIFT 10 298 // Mode 0 (fastest response time, highest power consumption). 299 #define SI32_CMP_A_MODE_CMPMD_MODE0_VALUE 0 300 #define SI32_CMP_A_MODE_CMPMD_MODE0_U32 \ 301 (SI32_CMP_A_MODE_CMPMD_MODE0_VALUE << SI32_CMP_A_MODE_CMPMD_SHIFT) 302 // Mode 1. 303 #define SI32_CMP_A_MODE_CMPMD_MODE1_VALUE 1 304 #define SI32_CMP_A_MODE_CMPMD_MODE1_U32 \ 305 (SI32_CMP_A_MODE_CMPMD_MODE1_VALUE << SI32_CMP_A_MODE_CMPMD_SHIFT) 306 // Mode 2. 307 #define SI32_CMP_A_MODE_CMPMD_MODE2_VALUE 2 308 #define SI32_CMP_A_MODE_CMPMD_MODE2_U32 \ 309 (SI32_CMP_A_MODE_CMPMD_MODE2_VALUE << SI32_CMP_A_MODE_CMPMD_SHIFT) 310 // Mode 3 (slowest response time, lowest power consumption). 311 #define SI32_CMP_A_MODE_CMPMD_MODE3_VALUE 3 312 #define SI32_CMP_A_MODE_CMPMD_MODE3_U32 \ 313 (SI32_CMP_A_MODE_CMPMD_MODE3_VALUE << SI32_CMP_A_MODE_CMPMD_SHIFT) 314 315 #define SI32_CMP_A_MODE_FIEN_MASK 0x00002000 316 #define SI32_CMP_A_MODE_FIEN_SHIFT 13 317 // Disable the comparator falling edge interrupt. 318 #define SI32_CMP_A_MODE_FIEN_DISABLED_VALUE 0 319 #define SI32_CMP_A_MODE_FIEN_DISABLED_U32 \ 320 (SI32_CMP_A_MODE_FIEN_DISABLED_VALUE << SI32_CMP_A_MODE_FIEN_SHIFT) 321 // Enable the comparator falling edge interrupt. 322 #define SI32_CMP_A_MODE_FIEN_ENABLED_VALUE 1 323 #define SI32_CMP_A_MODE_FIEN_ENABLED_U32 \ 324 (SI32_CMP_A_MODE_FIEN_ENABLED_VALUE << SI32_CMP_A_MODE_FIEN_SHIFT) 325 326 #define SI32_CMP_A_MODE_RIEN_MASK 0x00004000 327 #define SI32_CMP_A_MODE_RIEN_SHIFT 14 328 // Disable the comparator rising edge interrupt. 329 #define SI32_CMP_A_MODE_RIEN_DISABLED_VALUE 0 330 #define SI32_CMP_A_MODE_RIEN_DISABLED_U32 \ 331 (SI32_CMP_A_MODE_RIEN_DISABLED_VALUE << SI32_CMP_A_MODE_RIEN_SHIFT) 332 // Enable the comparator rising edge interrupt. 333 #define SI32_CMP_A_MODE_RIEN_ENABLED_VALUE 1 334 #define SI32_CMP_A_MODE_RIEN_ENABLED_U32 \ 335 (SI32_CMP_A_MODE_RIEN_ENABLED_VALUE << SI32_CMP_A_MODE_RIEN_SHIFT) 336 337 #define SI32_CMP_A_MODE_DACLVL_MASK 0x003F0000 338 #define SI32_CMP_A_MODE_DACLVL_SHIFT 16 339 340 #define SI32_CMP_A_MODE_NWPUEN_MASK 0x00400000 341 #define SI32_CMP_A_MODE_NWPUEN_SHIFT 22 342 // Disable the negative input weak pull up. 343 #define SI32_CMP_A_MODE_NWPUEN_DISABLED_VALUE 0 344 #define SI32_CMP_A_MODE_NWPUEN_DISABLED_U32 \ 345 (SI32_CMP_A_MODE_NWPUEN_DISABLED_VALUE << SI32_CMP_A_MODE_NWPUEN_SHIFT) 346 // Enable the negative input weak pull up. 347 #define SI32_CMP_A_MODE_NWPUEN_ENABLED_VALUE 1 348 #define SI32_CMP_A_MODE_NWPUEN_ENABLED_U32 \ 349 (SI32_CMP_A_MODE_NWPUEN_ENABLED_VALUE << SI32_CMP_A_MODE_NWPUEN_SHIFT) 350 351 #define SI32_CMP_A_MODE_PWPUEN_MASK 0x00800000 352 #define SI32_CMP_A_MODE_PWPUEN_SHIFT 23 353 // Disable the positive input weak pull up. 354 #define SI32_CMP_A_MODE_PWPUEN_DISABLED_VALUE 0 355 #define SI32_CMP_A_MODE_PWPUEN_DISABLED_U32 \ 356 (SI32_CMP_A_MODE_PWPUEN_DISABLED_VALUE << SI32_CMP_A_MODE_PWPUEN_SHIFT) 357 // Enable the positive input weak pull up. 358 #define SI32_CMP_A_MODE_PWPUEN_ENABLED_VALUE 1 359 #define SI32_CMP_A_MODE_PWPUEN_ENABLED_U32 \ 360 (SI32_CMP_A_MODE_PWPUEN_ENABLED_VALUE << SI32_CMP_A_MODE_PWPUEN_SHIFT) 361 362 #define SI32_CMP_A_MODE_CMPHYN_MASK 0x03000000 363 #define SI32_CMP_A_MODE_CMPHYN_SHIFT 24 364 // Disable negative hysteresis. 365 #define SI32_CMP_A_MODE_CMPHYN_DISABLED_VALUE 0 366 #define SI32_CMP_A_MODE_CMPHYN_DISABLED_U32 \ 367 (SI32_CMP_A_MODE_CMPHYN_DISABLED_VALUE << SI32_CMP_A_MODE_CMPHYN_SHIFT) 368 // Set negative hysteresis to 5 mV. 369 #define SI32_CMP_A_MODE_CMPHYN_NEG_5_MV_VALUE 1 370 #define SI32_CMP_A_MODE_CMPHYN_NEG_5_MV_U32 \ 371 (SI32_CMP_A_MODE_CMPHYN_NEG_5_MV_VALUE << SI32_CMP_A_MODE_CMPHYN_SHIFT) 372 // Set negative hysteresis to 10 mV. 373 #define SI32_CMP_A_MODE_CMPHYN_NEG_10_MV_VALUE 2 374 #define SI32_CMP_A_MODE_CMPHYN_NEG_10_MV_U32 \ 375 (SI32_CMP_A_MODE_CMPHYN_NEG_10_MV_VALUE << SI32_CMP_A_MODE_CMPHYN_SHIFT) 376 // Set negative hysteresis to 20 mV. 377 #define SI32_CMP_A_MODE_CMPHYN_NEG_20_MV_VALUE 3 378 #define SI32_CMP_A_MODE_CMPHYN_NEG_20_MV_U32 \ 379 (SI32_CMP_A_MODE_CMPHYN_NEG_20_MV_VALUE << SI32_CMP_A_MODE_CMPHYN_SHIFT) 380 381 #define SI32_CMP_A_MODE_CMPHYP_MASK 0x0C000000 382 #define SI32_CMP_A_MODE_CMPHYP_SHIFT 26 383 // Disable positive hysteresis. 384 #define SI32_CMP_A_MODE_CMPHYP_DISABLED_VALUE 0 385 #define SI32_CMP_A_MODE_CMPHYP_DISABLED_U32 \ 386 (SI32_CMP_A_MODE_CMPHYP_DISABLED_VALUE << SI32_CMP_A_MODE_CMPHYP_SHIFT) 387 // Set positive hysteresis to 5 mV. 388 #define SI32_CMP_A_MODE_CMPHYP_POS_5_MV_VALUE 1 389 #define SI32_CMP_A_MODE_CMPHYP_POS_5_MV_U32 \ 390 (SI32_CMP_A_MODE_CMPHYP_POS_5_MV_VALUE << SI32_CMP_A_MODE_CMPHYP_SHIFT) 391 // Set positive hysteresis to 10 mV. 392 #define SI32_CMP_A_MODE_CMPHYP_POS_10_MV_VALUE 2 393 #define SI32_CMP_A_MODE_CMPHYP_POS_10_MV_U32 \ 394 (SI32_CMP_A_MODE_CMPHYP_POS_10_MV_VALUE << SI32_CMP_A_MODE_CMPHYP_SHIFT) 395 // Set positive hysteresis to 20 mV. 396 #define SI32_CMP_A_MODE_CMPHYP_POS_20_MV_VALUE 3 397 #define SI32_CMP_A_MODE_CMPHYP_POS_20_MV_U32 \ 398 (SI32_CMP_A_MODE_CMPHYP_POS_20_MV_VALUE << SI32_CMP_A_MODE_CMPHYP_SHIFT) 399 400 #define SI32_CMP_A_MODE_INVEN_MASK 0x40000000 401 #define SI32_CMP_A_MODE_INVEN_SHIFT 30 402 // Do not invert the comparator output. 403 #define SI32_CMP_A_MODE_INVEN_DISABLED_VALUE 0 404 #define SI32_CMP_A_MODE_INVEN_DISABLED_U32 \ 405 (SI32_CMP_A_MODE_INVEN_DISABLED_VALUE << SI32_CMP_A_MODE_INVEN_SHIFT) 406 // Invert the comparator output. 407 #define SI32_CMP_A_MODE_INVEN_ENABLED_VALUE 1 408 #define SI32_CMP_A_MODE_INVEN_ENABLED_U32 \ 409 (SI32_CMP_A_MODE_INVEN_ENABLED_VALUE << SI32_CMP_A_MODE_INVEN_SHIFT) 410 411 412 413 typedef struct SI32_CMP_A_Struct 414 { 415 struct SI32_CMP_A_CONTROL_Struct CONTROL ; // Base Address + 0x0 416 volatile uint32_t CONTROL_SET; 417 volatile uint32_t CONTROL_CLR; 418 uint32_t reserved0; 419 struct SI32_CMP_A_MODE_Struct MODE ; // Base Address + 0x10 420 volatile uint32_t MODE_SET; 421 volatile uint32_t MODE_CLR; 422 uint32_t reserved1; 423 } SI32_CMP_A_Type; 424 425 #ifdef __cplusplus 426 } 427 #endif 428 429 #endif // __SI32_CMP_A_REGISTERS_H__ 430 431 //-eof-------------------------------------------------------------------------- 432 433