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_DCDC_A_REGISTERS_H__ 27 #define __SI32_DCDC_A_REGISTERS_H__ 28 29 #include <stdint.h> 30 31 #ifdef __cplusplus 32 extern "C" { 33 #endif 34 35 struct SI32_DCDC_A_CONTROL_Struct 36 { 37 union 38 { 39 struct 40 { 41 // DC-DC Converter Ready Low Flag 42 volatile uint32_t RDYLOWF: 1; 43 // DC-DC Converter Ready High Flag 44 volatile uint32_t RDYHIGHF: 1; 45 // DC-DC Converter Dropout Flag 46 volatile uint32_t DROPOUTF: 1; 47 // Bandgap Ready Flag 48 volatile uint32_t BGRDYF: 1; 49 uint32_t reserved0: 4; 50 // Oscillator Disable 51 volatile uint32_t OSCDIS: 1; 52 // Clock Source Select 53 volatile uint32_t CLKSEL: 1; 54 // Clock Divider 55 volatile uint32_t CLKDIV: 3; 56 // ADC Synchronization Enable 57 volatile uint32_t ADCSYNCEN: 1; 58 // Clock Inversion Enable 59 volatile uint32_t CLKINVEN: 1; 60 // ADC Clock Inversion Enable 61 volatile uint32_t ADCCLKINVEN: 1; 62 // Output Voltage Select 63 volatile uint32_t OUTVSEL: 5; 64 uint32_t reserved1: 1; 65 // Module Interrupt Enable 66 volatile uint32_t MIEN: 1; 67 uint32_t reserved2: 1; 68 // Minimum Pulse Width Select 69 volatile uint32_t MINPWSEL: 2; 70 // Power Switch Mode 71 volatile uint32_t PSMD: 2; 72 // Asynchronous Mode Enable 73 volatile uint32_t ASYNCEN: 1; 74 // Automatic Bypass Enable 75 volatile uint32_t ABEN: 1; 76 // Bypass Enable 77 volatile uint32_t BEN: 1; 78 // DC-DC Converter Enable 79 volatile uint32_t DCDCEN: 1; 80 }; 81 volatile uint32_t U32; 82 }; 83 }; 84 85 #define SI32_DCDC_A_CONTROL_RDYLOWF_MASK 0x00000001 86 #define SI32_DCDC_A_CONTROL_RDYLOWF_SHIFT 0 87 // The output voltage (VDC) is below the threshold set in the RDYLOWTH threshold 88 // field (RDYLOWTH). 89 #define SI32_DCDC_A_CONTROL_RDYLOWF_NOT_SET_VALUE 0 90 #define SI32_DCDC_A_CONTROL_RDYLOWF_NOT_SET_U32 \ 91 (SI32_DCDC_A_CONTROL_RDYLOWF_NOT_SET_VALUE << SI32_DCDC_A_CONTROL_RDYLOWF_SHIFT) 92 // The output voltage (VDC) is above the threshold set in the RDYLOWTH threshold 93 // field (RDYLOWTH). 94 #define SI32_DCDC_A_CONTROL_RDYLOWF_SET_VALUE 1 95 #define SI32_DCDC_A_CONTROL_RDYLOWF_SET_U32 \ 96 (SI32_DCDC_A_CONTROL_RDYLOWF_SET_VALUE << SI32_DCDC_A_CONTROL_RDYLOWF_SHIFT) 97 98 #define SI32_DCDC_A_CONTROL_RDYHIGHF_MASK 0x00000002 99 #define SI32_DCDC_A_CONTROL_RDYHIGHF_SHIFT 1 100 // The output voltage (VDC) has not exceeded 105% of the programmed output value. 101 #define SI32_DCDC_A_CONTROL_RDYHIGHF_NOT_SET_VALUE 0 102 #define SI32_DCDC_A_CONTROL_RDYHIGHF_NOT_SET_U32 \ 103 (SI32_DCDC_A_CONTROL_RDYHIGHF_NOT_SET_VALUE << SI32_DCDC_A_CONTROL_RDYHIGHF_SHIFT) 104 // The output voltage (VDC) has exceeded 105% of the programmed output value. 105 #define SI32_DCDC_A_CONTROL_RDYHIGHF_SET_VALUE 1 106 #define SI32_DCDC_A_CONTROL_RDYHIGHF_SET_U32 \ 107 (SI32_DCDC_A_CONTROL_RDYHIGHF_SET_VALUE << SI32_DCDC_A_CONTROL_RDYHIGHF_SHIFT) 108 109 #define SI32_DCDC_A_CONTROL_DROPOUTF_MASK 0x00000004 110 #define SI32_DCDC_A_CONTROL_DROPOUTF_SHIFT 2 111 // The input voltage (VBATDC) is more than 0.4 V above the output voltage (VDC). 112 // The DC-DC converter is not in dropout. 113 #define SI32_DCDC_A_CONTROL_DROPOUTF_NOT_SET_VALUE 0 114 #define SI32_DCDC_A_CONTROL_DROPOUTF_NOT_SET_U32 \ 115 (SI32_DCDC_A_CONTROL_DROPOUTF_NOT_SET_VALUE << SI32_DCDC_A_CONTROL_DROPOUTF_SHIFT) 116 // The input voltage (VBATDC) is less than 0.4 V above the output voltage (VDC). 117 // The DC-DC converter is in dropout, and firmware should enable the bypass switch 118 // (BEN=1). 119 #define SI32_DCDC_A_CONTROL_DROPOUTF_SET_VALUE 1 120 #define SI32_DCDC_A_CONTROL_DROPOUTF_SET_U32 \ 121 (SI32_DCDC_A_CONTROL_DROPOUTF_SET_VALUE << SI32_DCDC_A_CONTROL_DROPOUTF_SHIFT) 122 123 #define SI32_DCDC_A_CONTROL_BGRDYF_MASK 0x00000008 124 #define SI32_DCDC_A_CONTROL_BGRDYF_SHIFT 3 125 // The bandgap voltage is not above the threshold. 126 #define SI32_DCDC_A_CONTROL_BGRDYF_NOT_SET_VALUE 0 127 #define SI32_DCDC_A_CONTROL_BGRDYF_NOT_SET_U32 \ 128 (SI32_DCDC_A_CONTROL_BGRDYF_NOT_SET_VALUE << SI32_DCDC_A_CONTROL_BGRDYF_SHIFT) 129 // The bandgap voltage is above the threshold. 130 #define SI32_DCDC_A_CONTROL_BGRDYF_SET_VALUE 1 131 #define SI32_DCDC_A_CONTROL_BGRDYF_SET_U32 \ 132 (SI32_DCDC_A_CONTROL_BGRDYF_SET_VALUE << SI32_DCDC_A_CONTROL_BGRDYF_SHIFT) 133 134 #define SI32_DCDC_A_CONTROL_OSCDIS_MASK 0x00000100 135 #define SI32_DCDC_A_CONTROL_OSCDIS_SHIFT 8 136 // Enable the DC-DC local oscillator. 137 #define SI32_DCDC_A_CONTROL_OSCDIS_INACTIVE_VALUE 0 138 #define SI32_DCDC_A_CONTROL_OSCDIS_INACTIVE_U32 \ 139 (SI32_DCDC_A_CONTROL_OSCDIS_INACTIVE_VALUE << SI32_DCDC_A_CONTROL_OSCDIS_SHIFT) 140 // Disable the DC-DC local oscillator. 141 #define SI32_DCDC_A_CONTROL_OSCDIS_ACTIVE_VALUE 1 142 #define SI32_DCDC_A_CONTROL_OSCDIS_ACTIVE_U32 \ 143 (SI32_DCDC_A_CONTROL_OSCDIS_ACTIVE_VALUE << SI32_DCDC_A_CONTROL_OSCDIS_SHIFT) 144 145 #define SI32_DCDC_A_CONTROL_CLKSEL_MASK 0x00000200 146 #define SI32_DCDC_A_CONTROL_CLKSEL_SHIFT 9 147 // Select the local DC-DC oscillator as the clock source. 148 #define SI32_DCDC_A_CONTROL_CLKSEL_DCDCOSC_VALUE 0 149 #define SI32_DCDC_A_CONTROL_CLKSEL_DCDCOSC_U32 \ 150 (SI32_DCDC_A_CONTROL_CLKSEL_DCDCOSC_VALUE << SI32_DCDC_A_CONTROL_CLKSEL_SHIFT) 151 // Select the APB clock as the clock source. 152 #define SI32_DCDC_A_CONTROL_CLKSEL_APB_VALUE 1 153 #define SI32_DCDC_A_CONTROL_CLKSEL_APB_U32 \ 154 (SI32_DCDC_A_CONTROL_CLKSEL_APB_VALUE << SI32_DCDC_A_CONTROL_CLKSEL_SHIFT) 155 156 #define SI32_DCDC_A_CONTROL_CLKDIV_MASK 0x00001C00 157 #define SI32_DCDC_A_CONTROL_CLKDIV_SHIFT 10 158 // Use the APB clock divided by 1 as the converter switching frequency. 159 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV1_VALUE 0 160 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV1_U32 \ 161 (SI32_DCDC_A_CONTROL_CLKDIV_DIV1_VALUE << SI32_DCDC_A_CONTROL_CLKDIV_SHIFT) 162 // Use the APB clock divided by 2 as the converter switching frequency. 163 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV2_VALUE 1 164 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV2_U32 \ 165 (SI32_DCDC_A_CONTROL_CLKDIV_DIV2_VALUE << SI32_DCDC_A_CONTROL_CLKDIV_SHIFT) 166 // Use the APB clock divided by 4 as the converter switching frequency. 167 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV4_VALUE 2 168 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV4_U32 \ 169 (SI32_DCDC_A_CONTROL_CLKDIV_DIV4_VALUE << SI32_DCDC_A_CONTROL_CLKDIV_SHIFT) 170 // Use the APB clock divided by 8 as the converter switching frequency. 171 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV8_VALUE 3 172 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV8_U32 \ 173 (SI32_DCDC_A_CONTROL_CLKDIV_DIV8_VALUE << SI32_DCDC_A_CONTROL_CLKDIV_SHIFT) 174 // Use the APB clock divided by 16 as the converter switching frequency. 175 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV16_VALUE 4 176 #define SI32_DCDC_A_CONTROL_CLKDIV_DIV16_U32 \ 177 (SI32_DCDC_A_CONTROL_CLKDIV_DIV16_VALUE << SI32_DCDC_A_CONTROL_CLKDIV_SHIFT) 178 179 #define SI32_DCDC_A_CONTROL_ADCSYNCEN_MASK 0x00002000 180 #define SI32_DCDC_A_CONTROL_ADCSYNCEN_SHIFT 13 181 // Do not synchronize the ADC to the DC-DC converter. 182 #define SI32_DCDC_A_CONTROL_ADCSYNCEN_DISABLED_VALUE 0 183 #define SI32_DCDC_A_CONTROL_ADCSYNCEN_DISABLED_U32 \ 184 (SI32_DCDC_A_CONTROL_ADCSYNCEN_DISABLED_VALUE << SI32_DCDC_A_CONTROL_ADCSYNCEN_SHIFT) 185 // Synchronize the ADC to the DC-DC converter. 186 #define SI32_DCDC_A_CONTROL_ADCSYNCEN_ENABLED_VALUE 1 187 #define SI32_DCDC_A_CONTROL_ADCSYNCEN_ENABLED_U32 \ 188 (SI32_DCDC_A_CONTROL_ADCSYNCEN_ENABLED_VALUE << SI32_DCDC_A_CONTROL_ADCSYNCEN_SHIFT) 189 190 #define SI32_DCDC_A_CONTROL_CLKINVEN_MASK 0x00004000 191 #define SI32_DCDC_A_CONTROL_CLKINVEN_SHIFT 14 192 // Do not invert the APB clock input. 193 #define SI32_DCDC_A_CONTROL_CLKINVEN_DISABLED_VALUE 0 194 #define SI32_DCDC_A_CONTROL_CLKINVEN_DISABLED_U32 \ 195 (SI32_DCDC_A_CONTROL_CLKINVEN_DISABLED_VALUE << SI32_DCDC_A_CONTROL_CLKINVEN_SHIFT) 196 // Invert the APB clock input. 197 #define SI32_DCDC_A_CONTROL_CLKINVEN_ENABLED_VALUE 1 198 #define SI32_DCDC_A_CONTROL_CLKINVEN_ENABLED_U32 \ 199 (SI32_DCDC_A_CONTROL_CLKINVEN_ENABLED_VALUE << SI32_DCDC_A_CONTROL_CLKINVEN_SHIFT) 200 201 #define SI32_DCDC_A_CONTROL_ADCCLKINVEN_MASK 0x00008000 202 #define SI32_DCDC_A_CONTROL_ADCCLKINVEN_SHIFT 15 203 // Do not invert the ADC clock derived from the DC-DC switching frequency. 204 #define SI32_DCDC_A_CONTROL_ADCCLKINVEN_DISABLED_VALUE 0 205 #define SI32_DCDC_A_CONTROL_ADCCLKINVEN_DISABLED_U32 \ 206 (SI32_DCDC_A_CONTROL_ADCCLKINVEN_DISABLED_VALUE << SI32_DCDC_A_CONTROL_ADCCLKINVEN_SHIFT) 207 // Invert the ADC clock derived from the DC-DC switching frequency. 208 #define SI32_DCDC_A_CONTROL_ADCCLKINVEN_ENABLED_VALUE 1 209 #define SI32_DCDC_A_CONTROL_ADCCLKINVEN_ENABLED_U32 \ 210 (SI32_DCDC_A_CONTROL_ADCCLKINVEN_ENABLED_VALUE << SI32_DCDC_A_CONTROL_ADCCLKINVEN_SHIFT) 211 212 #define SI32_DCDC_A_CONTROL_OUTVSEL_MASK 0x001F0000 213 #define SI32_DCDC_A_CONTROL_OUTVSEL_SHIFT 16 214 215 #define SI32_DCDC_A_CONTROL_MIEN_MASK 0x00400000 216 #define SI32_DCDC_A_CONTROL_MIEN_SHIFT 22 217 // Disable DC-DC module interrupts. 218 #define SI32_DCDC_A_CONTROL_MIEN_DISABLED_VALUE 0 219 #define SI32_DCDC_A_CONTROL_MIEN_DISABLED_U32 \ 220 (SI32_DCDC_A_CONTROL_MIEN_DISABLED_VALUE << SI32_DCDC_A_CONTROL_MIEN_SHIFT) 221 // Enable DC-DC module interrupts. 222 #define SI32_DCDC_A_CONTROL_MIEN_ENABLED_VALUE 1 223 #define SI32_DCDC_A_CONTROL_MIEN_ENABLED_U32 \ 224 (SI32_DCDC_A_CONTROL_MIEN_ENABLED_VALUE << SI32_DCDC_A_CONTROL_MIEN_SHIFT) 225 226 #define SI32_DCDC_A_CONTROL_MINPWSEL_MASK 0x03000000 227 #define SI32_DCDC_A_CONTROL_MINPWSEL_SHIFT 24 228 // Disable pulse skipping. 229 #define SI32_DCDC_A_CONTROL_MINPWSEL_DISABLED_VALUE 0 230 #define SI32_DCDC_A_CONTROL_MINPWSEL_DISABLED_U32 \ 231 (SI32_DCDC_A_CONTROL_MINPWSEL_DISABLED_VALUE << SI32_DCDC_A_CONTROL_MINPWSEL_SHIFT) 232 // Set the minimum pulse width to 10 ns. 233 #define SI32_DCDC_A_CONTROL_MINPWSEL_10_NS_VALUE 1 234 #define SI32_DCDC_A_CONTROL_MINPWSEL_10_NS_U32 \ 235 (SI32_DCDC_A_CONTROL_MINPWSEL_10_NS_VALUE << SI32_DCDC_A_CONTROL_MINPWSEL_SHIFT) 236 // Set the minimum pulse width to 20 ns. 237 #define SI32_DCDC_A_CONTROL_MINPWSEL_20_NS_VALUE 2 238 #define SI32_DCDC_A_CONTROL_MINPWSEL_20_NS_U32 \ 239 (SI32_DCDC_A_CONTROL_MINPWSEL_20_NS_VALUE << SI32_DCDC_A_CONTROL_MINPWSEL_SHIFT) 240 // Set the minimum pulse width to 40 ns. 241 #define SI32_DCDC_A_CONTROL_MINPWSEL_40_NS_VALUE 3 242 #define SI32_DCDC_A_CONTROL_MINPWSEL_40_NS_U32 \ 243 (SI32_DCDC_A_CONTROL_MINPWSEL_40_NS_VALUE << SI32_DCDC_A_CONTROL_MINPWSEL_SHIFT) 244 245 #define SI32_DCDC_A_CONTROL_PSMD_MASK 0x0C000000 246 #define SI32_DCDC_A_CONTROL_PSMD_SHIFT 26 247 // Mode 0. Set the M1 and M2 power switches to each use one MOSFET only. 248 #define SI32_DCDC_A_CONTROL_PSMD_SWSEL0_VALUE 0 249 #define SI32_DCDC_A_CONTROL_PSMD_SWSEL0_U32 \ 250 (SI32_DCDC_A_CONTROL_PSMD_SWSEL0_VALUE << SI32_DCDC_A_CONTROL_PSMD_SHIFT) 251 // Mode 1. Set the M1 and M2 power switches to each use 2 MOSFETS in parallel. 252 #define SI32_DCDC_A_CONTROL_PSMD_SWSEL1_VALUE 1 253 #define SI32_DCDC_A_CONTROL_PSMD_SWSEL1_U32 \ 254 (SI32_DCDC_A_CONTROL_PSMD_SWSEL1_VALUE << SI32_DCDC_A_CONTROL_PSMD_SHIFT) 255 // Mode 2. Set the M1 and M2 power switches to each use 3 MOSFETS in parallel. 256 #define SI32_DCDC_A_CONTROL_PSMD_SWSEL2_VALUE 2 257 #define SI32_DCDC_A_CONTROL_PSMD_SWSEL2_U32 \ 258 (SI32_DCDC_A_CONTROL_PSMD_SWSEL2_VALUE << SI32_DCDC_A_CONTROL_PSMD_SHIFT) 259 // Mode 3. Set the M1 and M2 power switches to each use 4 MOSFETS in parallel. 260 #define SI32_DCDC_A_CONTROL_PSMD_SWSEL3_VALUE 3 261 #define SI32_DCDC_A_CONTROL_PSMD_SWSEL3_U32 \ 262 (SI32_DCDC_A_CONTROL_PSMD_SWSEL3_VALUE << SI32_DCDC_A_CONTROL_PSMD_SHIFT) 263 264 #define SI32_DCDC_A_CONTROL_ASYNCEN_MASK 0x10000000 265 #define SI32_DCDC_A_CONTROL_ASYNCEN_SHIFT 28 266 // Enable DC-DC synchronous mode. 267 #define SI32_DCDC_A_CONTROL_ASYNCEN_DISABLED_VALUE 0 268 #define SI32_DCDC_A_CONTROL_ASYNCEN_DISABLED_U32 \ 269 (SI32_DCDC_A_CONTROL_ASYNCEN_DISABLED_VALUE << SI32_DCDC_A_CONTROL_ASYNCEN_SHIFT) 270 // Enable DC-DC asynchronous mode. This mode is more efficient for very light 271 // output loads. 272 #define SI32_DCDC_A_CONTROL_ASYNCEN_ENABLED_VALUE 1 273 #define SI32_DCDC_A_CONTROL_ASYNCEN_ENABLED_U32 \ 274 (SI32_DCDC_A_CONTROL_ASYNCEN_ENABLED_VALUE << SI32_DCDC_A_CONTROL_ASYNCEN_SHIFT) 275 276 #define SI32_DCDC_A_CONTROL_ABEN_MASK 0x20000000 277 #define SI32_DCDC_A_CONTROL_ABEN_SHIFT 29 278 // Disable automatic bypass. 279 #define SI32_DCDC_A_CONTROL_ABEN_DISABLED_VALUE 0 280 #define SI32_DCDC_A_CONTROL_ABEN_DISABLED_U32 \ 281 (SI32_DCDC_A_CONTROL_ABEN_DISABLED_VALUE << SI32_DCDC_A_CONTROL_ABEN_SHIFT) 282 // Enable automatic bypass. 283 #define SI32_DCDC_A_CONTROL_ABEN_ENABLED_VALUE 1 284 #define SI32_DCDC_A_CONTROL_ABEN_ENABLED_U32 \ 285 (SI32_DCDC_A_CONTROL_ABEN_ENABLED_VALUE << SI32_DCDC_A_CONTROL_ABEN_SHIFT) 286 287 #define SI32_DCDC_A_CONTROL_BEN_MASK 0x40000000 288 #define SI32_DCDC_A_CONTROL_BEN_SHIFT 30 289 // Disable the MBYP bypass switch. 290 #define SI32_DCDC_A_CONTROL_BEN_DISABLED_VALUE 0 291 #define SI32_DCDC_A_CONTROL_BEN_DISABLED_U32 \ 292 (SI32_DCDC_A_CONTROL_BEN_DISABLED_VALUE << SI32_DCDC_A_CONTROL_BEN_SHIFT) 293 // Enable the MBYP bypass switch. 294 #define SI32_DCDC_A_CONTROL_BEN_ENABLED_VALUE 1 295 #define SI32_DCDC_A_CONTROL_BEN_ENABLED_U32 \ 296 (SI32_DCDC_A_CONTROL_BEN_ENABLED_VALUE << SI32_DCDC_A_CONTROL_BEN_SHIFT) 297 298 #define SI32_DCDC_A_CONTROL_DCDCEN_MASK 0x80000000 299 #define SI32_DCDC_A_CONTROL_DCDCEN_SHIFT 31 300 // Disable the DC-DC converter. 301 #define SI32_DCDC_A_CONTROL_DCDCEN_DISABLED_VALUE 0U 302 #define SI32_DCDC_A_CONTROL_DCDCEN_DISABLED_U32 \ 303 (SI32_DCDC_A_CONTROL_DCDCEN_DISABLED_VALUE << SI32_DCDC_A_CONTROL_DCDCEN_SHIFT) 304 // Enable the DC-DC converter. 305 #define SI32_DCDC_A_CONTROL_DCDCEN_ENABLED_VALUE 1U 306 #define SI32_DCDC_A_CONTROL_DCDCEN_ENABLED_U32 \ 307 (SI32_DCDC_A_CONTROL_DCDCEN_ENABLED_VALUE << SI32_DCDC_A_CONTROL_DCDCEN_SHIFT) 308 309 310 311 struct SI32_DCDC_A_CONFIG_Struct 312 { 313 union 314 { 315 struct 316 { 317 uint32_t reserved0: 4; 318 // Inductor Peak Current Limit 319 volatile uint32_t ILIMIT: 3; 320 uint32_t reserved1: 9; 321 // Interrupt Mode 322 volatile uint32_t INTMD: 2; 323 uint32_t reserved2: 2; 324 // Converter Ready Low Threshold 325 volatile uint32_t RDYLOWTH: 2; 326 uint32_t reserved3: 10; 327 }; 328 volatile uint32_t U32; 329 }; 330 }; 331 332 #define SI32_DCDC_A_CONFIG_ILIMIT_MASK 0x00000070 333 #define SI32_DCDC_A_CONFIG_ILIMIT_SHIFT 4 334 // Limit the peak inductor current to 200 mA. 335 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT1_VALUE 1 336 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT1_U32 \ 337 (SI32_DCDC_A_CONFIG_ILIMIT_LIMIT1_VALUE << SI32_DCDC_A_CONFIG_ILIMIT_SHIFT) 338 // Limit the peak inductor current to 300 mA. 339 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT2_VALUE 2 340 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT2_U32 \ 341 (SI32_DCDC_A_CONFIG_ILIMIT_LIMIT2_VALUE << SI32_DCDC_A_CONFIG_ILIMIT_SHIFT) 342 // Limit the peak inductor current to 400 mA. 343 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT3_VALUE 3 344 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT3_U32 \ 345 (SI32_DCDC_A_CONFIG_ILIMIT_LIMIT3_VALUE << SI32_DCDC_A_CONFIG_ILIMIT_SHIFT) 346 // Limit the peak inductor current to 500 mA. 347 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT4_VALUE 4 348 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT4_U32 \ 349 (SI32_DCDC_A_CONFIG_ILIMIT_LIMIT4_VALUE << SI32_DCDC_A_CONFIG_ILIMIT_SHIFT) 350 // Limit the peak inductor current to 600 mA. 351 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT5_VALUE 5 352 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT5_U32 \ 353 (SI32_DCDC_A_CONFIG_ILIMIT_LIMIT5_VALUE << SI32_DCDC_A_CONFIG_ILIMIT_SHIFT) 354 // Limit the peak inductor current to 700 mA. 355 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT6_VALUE 6 356 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT6_U32 \ 357 (SI32_DCDC_A_CONFIG_ILIMIT_LIMIT6_VALUE << SI32_DCDC_A_CONFIG_ILIMIT_SHIFT) 358 // Limit the peak inductor current to 800 mA. 359 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT7_VALUE 7 360 #define SI32_DCDC_A_CONFIG_ILIMIT_LIMIT7_U32 \ 361 (SI32_DCDC_A_CONFIG_ILIMIT_LIMIT7_VALUE << SI32_DCDC_A_CONFIG_ILIMIT_SHIFT) 362 363 #define SI32_DCDC_A_CONFIG_INTMD_MASK 0x00030000 364 #define SI32_DCDC_A_CONFIG_INTMD_SHIFT 16 365 // Generate an interrupt when the regulated converter output voltage is too low, 366 // according to the RDYLOWF flag. 367 #define SI32_DCDC_A_CONFIG_INTMD_OUTPUT_TOO_LOW_VALUE 0 368 #define SI32_DCDC_A_CONFIG_INTMD_OUTPUT_TOO_LOW_U32 \ 369 (SI32_DCDC_A_CONFIG_INTMD_OUTPUT_TOO_LOW_VALUE << SI32_DCDC_A_CONFIG_INTMD_SHIFT) 370 // Generate an interrupt when the regulated converter output voltage is not too low 371 // according to the RDYLOWF flag. 372 #define SI32_DCDC_A_CONFIG_INTMD_OUTPUT_NOT_TOO_LOW_VALUE 1 373 #define SI32_DCDC_A_CONFIG_INTMD_OUTPUT_NOT_TOO_LOW_U32 \ 374 (SI32_DCDC_A_CONFIG_INTMD_OUTPUT_NOT_TOO_LOW_VALUE << SI32_DCDC_A_CONFIG_INTMD_SHIFT) 375 // Generate an interrupt when the output voltage is out of regulation. The 376 // converter output can be either too high or too low, according to the RDYLOWF and 377 // RDYHIGHF flags. 378 #define SI32_DCDC_A_CONFIG_INTMD_OUT_OF_REG_VALUE 2 379 #define SI32_DCDC_A_CONFIG_INTMD_OUT_OF_REG_U32 \ 380 (SI32_DCDC_A_CONFIG_INTMD_OUT_OF_REG_VALUE << SI32_DCDC_A_CONFIG_INTMD_SHIFT) 381 // Generate an interrupt when the output voltage is in regulation. 382 #define SI32_DCDC_A_CONFIG_INTMD_IN_REG_VALUE 3 383 #define SI32_DCDC_A_CONFIG_INTMD_IN_REG_U32 \ 384 (SI32_DCDC_A_CONFIG_INTMD_IN_REG_VALUE << SI32_DCDC_A_CONFIG_INTMD_SHIFT) 385 386 #define SI32_DCDC_A_CONFIG_RDYLOWTH_MASK 0x00300000 387 #define SI32_DCDC_A_CONFIG_RDYLOWTH_SHIFT 20 388 // Hardware sets the RDYLOWF flag if the regulated output voltage is greater than 389 // 95% of the programmed output voltage. 390 #define SI32_DCDC_A_CONFIG_RDYLOWTH_95_PERCENT_VALUE 0 391 #define SI32_DCDC_A_CONFIG_RDYLOWTH_95_PERCENT_U32 \ 392 (SI32_DCDC_A_CONFIG_RDYLOWTH_95_PERCENT_VALUE << SI32_DCDC_A_CONFIG_RDYLOWTH_SHIFT) 393 // Hardware sets the RDYLOWF flag if the regulated output voltage is greater than 394 // 90% of the programmed output voltage. 395 #define SI32_DCDC_A_CONFIG_RDYLOWTH_90_PERCENT_VALUE 1 396 #define SI32_DCDC_A_CONFIG_RDYLOWTH_90_PERCENT_U32 \ 397 (SI32_DCDC_A_CONFIG_RDYLOWTH_90_PERCENT_VALUE << SI32_DCDC_A_CONFIG_RDYLOWTH_SHIFT) 398 // Hardware sets the RDYLOWF flag if the regulated output voltage is greater than 399 // 85% of the programmed output voltage. 400 #define SI32_DCDC_A_CONFIG_RDYLOWTH_85_PERCENT_VALUE 2 401 #define SI32_DCDC_A_CONFIG_RDYLOWTH_85_PERCENT_U32 \ 402 (SI32_DCDC_A_CONFIG_RDYLOWTH_85_PERCENT_VALUE << SI32_DCDC_A_CONFIG_RDYLOWTH_SHIFT) 403 // Hardware sets the RDYLOWF flag if the regulated output voltage is greater than 404 // 80% of the programmed output voltage. 405 #define SI32_DCDC_A_CONFIG_RDYLOWTH_80_PERCENT_VALUE 3 406 #define SI32_DCDC_A_CONFIG_RDYLOWTH_80_PERCENT_U32 \ 407 (SI32_DCDC_A_CONFIG_RDYLOWTH_80_PERCENT_VALUE << SI32_DCDC_A_CONFIG_RDYLOWTH_SHIFT) 408 409 410 411 typedef struct SI32_DCDC_A_Struct 412 { 413 struct SI32_DCDC_A_CONTROL_Struct CONTROL ; // Base Address + 0x0 414 volatile uint32_t CONTROL_SET; 415 volatile uint32_t CONTROL_CLR; 416 uint32_t reserved0; 417 struct SI32_DCDC_A_CONFIG_Struct CONFIG ; // Base Address + 0x10 418 uint32_t reserved1; 419 uint32_t reserved2; 420 uint32_t reserved3; 421 uint32_t reserved4[4]; 422 uint32_t reserved5[4]; 423 } SI32_DCDC_A_Type; 424 425 #ifdef __cplusplus 426 } 427 #endif 428 429 #endif // __SI32_DCDC_A_REGISTERS_H__ 430 431 //-eof-------------------------------------------------------------------------- 432 433