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 // This file applies to the SIM3U1XX_CLKCTRL_A module 24 // 25 // Script: 0.57 26 // Version: 1 27 28 #ifndef __SI32_CLKCTRL_A_REGISTERS_H__ 29 #define __SI32_CLKCTRL_A_REGISTERS_H__ 30 31 #include <stdint.h> 32 33 #ifdef __cplusplus 34 extern "C" { 35 #endif 36 37 struct SI32_CLKCTRL_A_CONTROL_Struct 38 { 39 union 40 { 41 struct 42 { 43 // AHB Clock Source Select 44 volatile uint32_t AHBSEL: 3; 45 uint32_t reserved0: 5; 46 // AHB Clock Divider 47 volatile uint32_t AHBDIV: 3; 48 uint32_t reserved1: 5; 49 // APB Clock Divider 50 volatile uint32_t APBDIV: 1; 51 uint32_t reserved2: 11; 52 // External Clock Edge Select 53 volatile uint32_t EXTESEL: 1; 54 // Oscillators Busy Flag 55 volatile uint32_t OBUSYF: 1; 56 uint32_t reserved3: 2; 57 }; 58 volatile uint32_t U32; 59 }; 60 }; 61 62 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_MASK 0x00000007 63 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_SHIFT 0 64 // AHB clock source is the Low-Power Oscillator. 65 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_LPOSC0_VALUE 0 66 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_LPOSC0_U32 \ 67 (SI32_CLKCTRL_A_CONTROL_AHBSEL_LPOSC0_VALUE << SI32_CLKCTRL_A_CONTROL_AHBSEL_SHIFT) 68 // AHB clock source is the Low-Frequency Oscillator. 69 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_LFOSC0_VALUE 1 70 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_LFOSC0_U32 \ 71 (SI32_CLKCTRL_A_CONTROL_AHBSEL_LFOSC0_VALUE << SI32_CLKCTRL_A_CONTROL_AHBSEL_SHIFT) 72 // AHB clock source is the RTC Oscillator. 73 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_RTC0OSC_VALUE 2 74 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_RTC0OSC_U32 \ 75 (SI32_CLKCTRL_A_CONTROL_AHBSEL_RTC0OSC_VALUE << SI32_CLKCTRL_A_CONTROL_AHBSEL_SHIFT) 76 // AHB clock source is the External Oscillator. 77 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_EXTOSC0_VALUE 3 78 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_EXTOSC0_U32 \ 79 (SI32_CLKCTRL_A_CONTROL_AHBSEL_EXTOSC0_VALUE << SI32_CLKCTRL_A_CONTROL_AHBSEL_SHIFT) 80 // AHB clock source is the USB Oscillator. 81 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_USB0OSC_VALUE 4 82 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_USB0OSC_U32 \ 83 (SI32_CLKCTRL_A_CONTROL_AHBSEL_USB0OSC_VALUE << SI32_CLKCTRL_A_CONTROL_AHBSEL_SHIFT) 84 // AHB clock source is the PLL. 85 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_PLL0OSC_VALUE 5 86 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_PLL0OSC_U32 \ 87 (SI32_CLKCTRL_A_CONTROL_AHBSEL_PLL0OSC_VALUE << SI32_CLKCTRL_A_CONTROL_AHBSEL_SHIFT) 88 // AHB clock source is a divided version of the Low-Power Oscillator. 89 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_LPOSC0_DIV_VALUE 6 90 #define SI32_CLKCTRL_A_CONTROL_AHBSEL_LPOSC0_DIV_U32 \ 91 (SI32_CLKCTRL_A_CONTROL_AHBSEL_LPOSC0_DIV_VALUE << SI32_CLKCTRL_A_CONTROL_AHBSEL_SHIFT) 92 93 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_MASK 0x00000700 94 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT 8 95 // AHB clock divided by 1. 96 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV1_VALUE 0 97 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV1_U32 \ 98 (SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV1_VALUE << SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT) 99 // AHB clock divided by 2. 100 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV2_VALUE 1 101 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV2_U32 \ 102 (SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV2_VALUE << SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT) 103 // AHB clock divided by 4. 104 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV4_VALUE 2 105 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV4_U32 \ 106 (SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV4_VALUE << SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT) 107 // AHB clock divided by 8. 108 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV8_VALUE 3 109 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV8_U32 \ 110 (SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV8_VALUE << SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT) 111 // AHB clock divided by 16. 112 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV16_VALUE 4 113 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV16_U32 \ 114 (SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV16_VALUE << SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT) 115 // AHB clock divided by 32. 116 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV32_VALUE 5 117 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV32_U32 \ 118 (SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV32_VALUE << SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT) 119 // AHB clock divided by 64. 120 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV64_VALUE 6 121 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV64_U32 \ 122 (SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV64_VALUE << SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT) 123 // AHB clock divided by 128. 124 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV128_VALUE 7 125 #define SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV128_U32 \ 126 (SI32_CLKCTRL_A_CONTROL_AHBDIV_DIV128_VALUE << SI32_CLKCTRL_A_CONTROL_AHBDIV_SHIFT) 127 128 #define SI32_CLKCTRL_A_CONTROL_APBDIV_MASK 0x00010000 129 #define SI32_CLKCTRL_A_CONTROL_APBDIV_SHIFT 16 130 // APB clock is the same as the AHB clock (divided by 1). 131 #define SI32_CLKCTRL_A_CONTROL_APBDIV_DIV1_VALUE 0 132 #define SI32_CLKCTRL_A_CONTROL_APBDIV_DIV1_U32 \ 133 (SI32_CLKCTRL_A_CONTROL_APBDIV_DIV1_VALUE << SI32_CLKCTRL_A_CONTROL_APBDIV_SHIFT) 134 // APB clock is the AHB clock divided by 2. 135 #define SI32_CLKCTRL_A_CONTROL_APBDIV_DIV2_VALUE 1 136 #define SI32_CLKCTRL_A_CONTROL_APBDIV_DIV2_U32 \ 137 (SI32_CLKCTRL_A_CONTROL_APBDIV_DIV2_VALUE << SI32_CLKCTRL_A_CONTROL_APBDIV_SHIFT) 138 139 #define SI32_CLKCTRL_A_CONTROL_EXTESEL_MASK 0x10000000 140 #define SI32_CLKCTRL_A_CONTROL_EXTESEL_SHIFT 28 141 // External clock generated by both rising and falling edges of the external 142 // oscillator. 143 #define SI32_CLKCTRL_A_CONTROL_EXTESEL_BOTH_EDGES_VALUE 0 144 #define SI32_CLKCTRL_A_CONTROL_EXTESEL_BOTH_EDGES_U32 \ 145 (SI32_CLKCTRL_A_CONTROL_EXTESEL_BOTH_EDGES_VALUE << SI32_CLKCTRL_A_CONTROL_EXTESEL_SHIFT) 146 // External clock generated by only rising edges of the external oscillator. 147 #define SI32_CLKCTRL_A_CONTROL_EXTESEL_RISING_ONLY_VALUE 1 148 #define SI32_CLKCTRL_A_CONTROL_EXTESEL_RISING_ONLY_U32 \ 149 (SI32_CLKCTRL_A_CONTROL_EXTESEL_RISING_ONLY_VALUE << SI32_CLKCTRL_A_CONTROL_EXTESEL_SHIFT) 150 151 #define SI32_CLKCTRL_A_CONTROL_OBUSYF_MASK 0x20000000 152 #define SI32_CLKCTRL_A_CONTROL_OBUSYF_SHIFT 29 153 // AHB and APB oscillators are not busy. 154 #define SI32_CLKCTRL_A_CONTROL_OBUSYF_NOT_SET_VALUE 0 155 #define SI32_CLKCTRL_A_CONTROL_OBUSYF_NOT_SET_U32 \ 156 (SI32_CLKCTRL_A_CONTROL_OBUSYF_NOT_SET_VALUE << SI32_CLKCTRL_A_CONTROL_OBUSYF_SHIFT) 157 // AHB and APB oscillators are busy and the AHBSEL, AHBDIV, and APBDIV fields 158 // should not be modified. 159 #define SI32_CLKCTRL_A_CONTROL_OBUSYF_SET_VALUE 1 160 #define SI32_CLKCTRL_A_CONTROL_OBUSYF_SET_U32 \ 161 (SI32_CLKCTRL_A_CONTROL_OBUSYF_SET_VALUE << SI32_CLKCTRL_A_CONTROL_OBUSYF_SHIFT) 162 163 164 165 struct SI32_CLKCTRL_A_AHBCLKG_Struct 166 { 167 union 168 { 169 struct 170 { 171 // RAM Clock Enable 172 volatile uint32_t RAMCEN: 1; 173 // DMA Controller Clock Enable 174 volatile uint32_t DMACEN: 1; 175 // Flash Clock Enable 176 volatile uint32_t FLASHCEN: 1; 177 // EMIF Clock Enable 178 volatile uint32_t EMIF0CEN: 1; 179 // USB0 Buffer Clock Enable 180 volatile uint32_t USB0BCEN: 1; 181 uint32_t reserved0: 27; 182 }; 183 volatile uint32_t U32; 184 }; 185 }; 186 187 #define SI32_CLKCTRL_A_AHBCLKG_RAMCEN_MASK 0x00000001 188 #define SI32_CLKCTRL_A_AHBCLKG_RAMCEN_SHIFT 0 189 // Disable the AHB clock to the RAM. 190 #define SI32_CLKCTRL_A_AHBCLKG_RAMCEN_DISABLED_VALUE 0 191 #define SI32_CLKCTRL_A_AHBCLKG_RAMCEN_DISABLED_U32 \ 192 (SI32_CLKCTRL_A_AHBCLKG_RAMCEN_DISABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_RAMCEN_SHIFT) 193 // Enable the AHB clock to the RAM (default). 194 #define SI32_CLKCTRL_A_AHBCLKG_RAMCEN_ENABLED_VALUE 1 195 #define SI32_CLKCTRL_A_AHBCLKG_RAMCEN_ENABLED_U32 \ 196 (SI32_CLKCTRL_A_AHBCLKG_RAMCEN_ENABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_RAMCEN_SHIFT) 197 198 #define SI32_CLKCTRL_A_AHBCLKG_DMACEN_MASK 0x00000002 199 #define SI32_CLKCTRL_A_AHBCLKG_DMACEN_SHIFT 1 200 // Disable the AHB clock to the DMA Controller (default). 201 #define SI32_CLKCTRL_A_AHBCLKG_DMACEN_DISABLED_VALUE 0 202 #define SI32_CLKCTRL_A_AHBCLKG_DMACEN_DISABLED_U32 \ 203 (SI32_CLKCTRL_A_AHBCLKG_DMACEN_DISABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_DMACEN_SHIFT) 204 // Enable the AHB clock to the DMA Controller. 205 #define SI32_CLKCTRL_A_AHBCLKG_DMACEN_ENABLED_VALUE 1 206 #define SI32_CLKCTRL_A_AHBCLKG_DMACEN_ENABLED_U32 \ 207 (SI32_CLKCTRL_A_AHBCLKG_DMACEN_ENABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_DMACEN_SHIFT) 208 209 #define SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_MASK 0x00000004 210 #define SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_SHIFT 2 211 // Disable the AHB clock to the Flash. 212 #define SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_DISABLED_VALUE 0 213 #define SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_DISABLED_U32 \ 214 (SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_DISABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_SHIFT) 215 // Enable the AHB clock to the Flash (default). 216 #define SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_ENABLED_VALUE 1 217 #define SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_ENABLED_U32 \ 218 (SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_ENABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_FLASHCEN_SHIFT) 219 220 #define SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_MASK 0x00000008 221 #define SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_SHIFT 3 222 // Disable the AHB clock to the External Memory Interface (EMIF) (default). 223 #define SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_DISABLED_VALUE 0 224 #define SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_DISABLED_U32 \ 225 (SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_SHIFT) 226 // Enable the AHB clock to the External Memory Interface (EMIF). 227 #define SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_ENABLED_VALUE 1 228 #define SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_ENABLED_U32 \ 229 (SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_EMIF0CEN_SHIFT) 230 231 #define SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_MASK 0x00000010 232 #define SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_SHIFT 4 233 // Disable the AHB clock to the USB0 Buffer (default). 234 #define SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_DISABLED_VALUE 0 235 #define SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_DISABLED_U32 \ 236 (SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_DISABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_SHIFT) 237 // Enable the AHB clock to the USB0 Buffer. 238 #define SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_ENABLED_VALUE 1 239 #define SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_ENABLED_U32 \ 240 (SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_ENABLED_VALUE << SI32_CLKCTRL_A_AHBCLKG_USB0BCEN_SHIFT) 241 242 243 244 struct SI32_CLKCTRL_A_APBCLKG0_Struct 245 { 246 union 247 { 248 struct 249 { 250 // PLL Module Clock Enable 251 volatile uint32_t PLL0CEN: 1; 252 // Port Bank Module Clock Enable 253 volatile uint32_t PB0CEN: 1; 254 // USART0 Module Clock Enable 255 volatile uint32_t USART0CEN: 1; 256 // USART1 Module Clock Enable 257 volatile uint32_t USART1CEN: 1; 258 // UART0 Module Clock Enable 259 volatile uint32_t UART0CEN: 1; 260 // UART1 Module Clock Enable 261 volatile uint32_t UART1CEN: 1; 262 // SPI0 Module Clock Enable 263 volatile uint32_t SPI0CEN: 1; 264 // SPI1 Module Clock Enable 265 volatile uint32_t SPI1CEN: 1; 266 // SPI2 Module Clock Enable 267 volatile uint32_t SPI2CEN: 1; 268 // I2C0 Module Clock Enable 269 volatile uint32_t I2C0CEN: 1; 270 // I2C1 Module Clock Enable 271 volatile uint32_t I2C1CEN: 1; 272 // EPCA0 Module Clock Enable 273 volatile uint32_t EPCA0CEN: 1; 274 // PCA0 Module Clock Enable 275 volatile uint32_t PCA0CEN: 1; 276 // PCA1 Module Clock Enable 277 volatile uint32_t PCA1CEN: 1; 278 // SSG0 Module Clock Enable 279 volatile uint32_t SSG0CEN: 1; 280 // TIMER0 Module Clock Enable 281 volatile uint32_t TIMER0CEN: 1; 282 // TIMER1 Module Clock Enable 283 volatile uint32_t TIMER1CEN: 1; 284 // SARADC0 Module Clock Enable 285 volatile uint32_t ADC0CEN: 1; 286 // SARADC1 Module Clock Enable 287 volatile uint32_t ADC1CEN: 1; 288 // Comparator 0 Module Clock Enable 289 volatile uint32_t CMP0CEN: 1; 290 // Comparator 1 Module Clock Enable 291 volatile uint32_t CMP1CEN: 1; 292 // Capacitive Sensing (CAPSENSE0) Module Clock Enable 293 volatile uint32_t CS0CEN: 1; 294 // AES0 Module Clock Enable 295 volatile uint32_t AES0CEN: 1; 296 // CRC0 Module Clock Enable 297 volatile uint32_t CRC0CEN: 1; 298 // IDAC0 Module Clock Enable 299 volatile uint32_t IDAC0CEN: 1; 300 // IDAC1 Module Clock Enable 301 volatile uint32_t IDAC1CEN: 1; 302 // Low Power Timer (LPTIMER0) Module Clock Enable 303 volatile uint32_t LPT0CEN: 1; 304 // I2S0 Module Clock Enable 305 volatile uint32_t I2S0CEN: 1; 306 // USB0 Module Clock Enable 307 volatile uint32_t USB0CEN: 1; 308 // External Regulator Clock Enable 309 volatile uint32_t EVREGCEN: 1; 310 // Flash Controller Clock Enable 311 volatile uint32_t FLCTRLCEN: 1; 312 uint32_t reserved0: 1; 313 }; 314 volatile uint32_t U32; 315 }; 316 }; 317 318 #define SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_MASK 0x00000001 319 #define SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_SHIFT 0 320 // Disable the APB clock to the PLL0 registers (default). 321 #define SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_DISABLED_VALUE 0 322 #define SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_DISABLED_U32 \ 323 (SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_SHIFT) 324 // Enable the APB clock to the PLL0 registers. 325 #define SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_ENABLED_VALUE 1 326 #define SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_ENABLED_U32 \ 327 (SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_PLL0CEN_SHIFT) 328 329 #define SI32_CLKCTRL_A_APBCLKG0_PB0CEN_MASK 0x00000002 330 #define SI32_CLKCTRL_A_APBCLKG0_PB0CEN_SHIFT 1 331 // Disable the APB clock to the Port Bank Modules (default). 332 #define SI32_CLKCTRL_A_APBCLKG0_PB0CEN_DISABLED_VALUE 0 333 #define SI32_CLKCTRL_A_APBCLKG0_PB0CEN_DISABLED_U32 \ 334 (SI32_CLKCTRL_A_APBCLKG0_PB0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_PB0CEN_SHIFT) 335 // Enable the APB clock to the Port Bank Modules. 336 #define SI32_CLKCTRL_A_APBCLKG0_PB0CEN_ENABLED_VALUE 1 337 #define SI32_CLKCTRL_A_APBCLKG0_PB0CEN_ENABLED_U32 \ 338 (SI32_CLKCTRL_A_APBCLKG0_PB0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_PB0CEN_SHIFT) 339 340 #define SI32_CLKCTRL_A_APBCLKG0_USART0CEN_MASK 0x00000004 341 #define SI32_CLKCTRL_A_APBCLKG0_USART0CEN_SHIFT 2 342 // Disable the APB clock to the USART0 Module (default). 343 #define SI32_CLKCTRL_A_APBCLKG0_USART0CEN_DISABLED_VALUE 0 344 #define SI32_CLKCTRL_A_APBCLKG0_USART0CEN_DISABLED_U32 \ 345 (SI32_CLKCTRL_A_APBCLKG0_USART0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_USART0CEN_SHIFT) 346 // Enable the APB clock to the USART0 Module. 347 #define SI32_CLKCTRL_A_APBCLKG0_USART0CEN_ENABLED_VALUE 1 348 #define SI32_CLKCTRL_A_APBCLKG0_USART0CEN_ENABLED_U32 \ 349 (SI32_CLKCTRL_A_APBCLKG0_USART0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_USART0CEN_SHIFT) 350 351 #define SI32_CLKCTRL_A_APBCLKG0_USART1CEN_MASK 0x00000008 352 #define SI32_CLKCTRL_A_APBCLKG0_USART1CEN_SHIFT 3 353 // Disable the APB clock to the USART1 Module (default). 354 #define SI32_CLKCTRL_A_APBCLKG0_USART1CEN_DISABLED_VALUE 0 355 #define SI32_CLKCTRL_A_APBCLKG0_USART1CEN_DISABLED_U32 \ 356 (SI32_CLKCTRL_A_APBCLKG0_USART1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_USART1CEN_SHIFT) 357 // Enable the APB clock to the USART1 Module. 358 #define SI32_CLKCTRL_A_APBCLKG0_USART1CEN_ENABLED_VALUE 1 359 #define SI32_CLKCTRL_A_APBCLKG0_USART1CEN_ENABLED_U32 \ 360 (SI32_CLKCTRL_A_APBCLKG0_USART1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_USART1CEN_SHIFT) 361 362 #define SI32_CLKCTRL_A_APBCLKG0_UART0CEN_MASK 0x00000010 363 #define SI32_CLKCTRL_A_APBCLKG0_UART0CEN_SHIFT 4 364 // Disable the APB clock to the UART0 Module (default). 365 #define SI32_CLKCTRL_A_APBCLKG0_UART0CEN_DISABLED_VALUE 0 366 #define SI32_CLKCTRL_A_APBCLKG0_UART0CEN_DISABLED_U32 \ 367 (SI32_CLKCTRL_A_APBCLKG0_UART0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_UART0CEN_SHIFT) 368 // Enable the APB clock to the UART0 Module. 369 #define SI32_CLKCTRL_A_APBCLKG0_UART0CEN_ENABLED_VALUE 1 370 #define SI32_CLKCTRL_A_APBCLKG0_UART0CEN_ENABLED_U32 \ 371 (SI32_CLKCTRL_A_APBCLKG0_UART0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_UART0CEN_SHIFT) 372 373 #define SI32_CLKCTRL_A_APBCLKG0_UART1CEN_MASK 0x00000020 374 #define SI32_CLKCTRL_A_APBCLKG0_UART1CEN_SHIFT 5 375 // Disable the APB clock to the UART1 Module (default). 376 #define SI32_CLKCTRL_A_APBCLKG0_UART1CEN_DISABLED_VALUE 0 377 #define SI32_CLKCTRL_A_APBCLKG0_UART1CEN_DISABLED_U32 \ 378 (SI32_CLKCTRL_A_APBCLKG0_UART1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_UART1CEN_SHIFT) 379 // Enable the APB clock to the UART1 Module. 380 #define SI32_CLKCTRL_A_APBCLKG0_UART1CEN_ENABLED_VALUE 1 381 #define SI32_CLKCTRL_A_APBCLKG0_UART1CEN_ENABLED_U32 \ 382 (SI32_CLKCTRL_A_APBCLKG0_UART1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_UART1CEN_SHIFT) 383 384 #define SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_MASK 0x00000040 385 #define SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_SHIFT 6 386 // Disable the APB clock to the SPI0 Module (default). 387 #define SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_DISABLED_VALUE 0 388 #define SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_DISABLED_U32 \ 389 (SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_SHIFT) 390 // Enable the APB clock to the SPI0 Module. 391 #define SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_ENABLED_VALUE 1 392 #define SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_ENABLED_U32 \ 393 (SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_SPI0CEN_SHIFT) 394 395 #define SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_MASK 0x00000080 396 #define SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_SHIFT 7 397 // Disable the APB clock to the SPI1 Module (default). 398 #define SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_DISABLED_VALUE 0 399 #define SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_DISABLED_U32 \ 400 (SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_SHIFT) 401 // Enable the APB clock to the SPI1 Module. 402 #define SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_ENABLED_VALUE 1 403 #define SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_ENABLED_U32 \ 404 (SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_SPI1CEN_SHIFT) 405 406 #define SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_MASK 0x00000100 407 #define SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_SHIFT 8 408 // Disable the APB clock to the SPI2 Module (default). 409 #define SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_DISABLED_VALUE 0 410 #define SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_DISABLED_U32 \ 411 (SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_SHIFT) 412 // Enable the APB clock to the SPI2 Module. 413 #define SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_ENABLED_VALUE 1 414 #define SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_ENABLED_U32 \ 415 (SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_SPI2CEN_SHIFT) 416 417 #define SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_MASK 0x00000200 418 #define SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_SHIFT 9 419 // Disable the APB clock to the I2C0 Module (default). 420 #define SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_DISABLED_VALUE 0 421 #define SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_DISABLED_U32 \ 422 (SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_SHIFT) 423 // Enable the APB clock to the I2C0 Module. 424 #define SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_ENABLED_VALUE 1 425 #define SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_ENABLED_U32 \ 426 (SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_I2C0CEN_SHIFT) 427 428 #define SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_MASK 0x00000400 429 #define SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_SHIFT 10 430 // Disable the APB clock to the I2C1 Module (default). 431 #define SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_DISABLED_VALUE 0 432 #define SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_DISABLED_U32 \ 433 (SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_SHIFT) 434 // Enable the APB clock to the I2C1 Module. 435 #define SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_ENABLED_VALUE 1 436 #define SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_ENABLED_U32 \ 437 (SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_I2C1CEN_SHIFT) 438 439 #define SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_MASK 0x00000800 440 #define SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_SHIFT 11 441 // Disable the APB clock to the EPCA0 Module (default). 442 #define SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_DISABLED_VALUE 0 443 #define SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_DISABLED_U32 \ 444 (SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_SHIFT) 445 // Enable the APB clock to the EPCA0 Module. 446 #define SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_ENABLED_VALUE 1 447 #define SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_ENABLED_U32 \ 448 (SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_EPCA0CEN_SHIFT) 449 450 #define SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_MASK 0x00001000 451 #define SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_SHIFT 12 452 // Disable the APB clock to the PCA0 Module (default). 453 #define SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_DISABLED_VALUE 0 454 #define SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_DISABLED_U32 \ 455 (SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_SHIFT) 456 // Enable the APB clock to the PCA0 Module. 457 #define SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_ENABLED_VALUE 1 458 #define SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_ENABLED_U32 \ 459 (SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_PCA0CEN_SHIFT) 460 461 #define SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_MASK 0x00002000 462 #define SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_SHIFT 13 463 // Disable the APB clock to the PCA1 Module (default). 464 #define SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_DISABLED_VALUE 0 465 #define SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_DISABLED_U32 \ 466 (SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_SHIFT) 467 // Enable the APB clock to the PCA1 Module. 468 #define SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_ENABLED_VALUE 1 469 #define SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_ENABLED_U32 \ 470 (SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_PCA1CEN_SHIFT) 471 472 #define SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_MASK 0x00004000 473 #define SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_SHIFT 14 474 // Disable the APB clock to the SSG0 Module (default). 475 #define SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_DISABLED_VALUE 0 476 #define SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_DISABLED_U32 \ 477 (SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_SHIFT) 478 // Enable the APB clock to the SSG0 Module. 479 #define SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_ENABLED_VALUE 1 480 #define SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_ENABLED_U32 \ 481 (SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_SSG0CEN_SHIFT) 482 483 #define SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_MASK 0x00008000 484 #define SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_SHIFT 15 485 // Disable the APB clock to the TIMER0 Module (default). 486 #define SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_DISABLED_VALUE 0 487 #define SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_DISABLED_U32 \ 488 (SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_SHIFT) 489 // Enable the APB clock to the TIMER0 Module. 490 #define SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_ENABLED_VALUE 1 491 #define SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_ENABLED_U32 \ 492 (SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_TIMER0CEN_SHIFT) 493 494 #define SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_MASK 0x00010000 495 #define SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_SHIFT 16 496 // Disable the APB clock to the TIMER1 Module (default). 497 #define SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_DISABLED_VALUE 0 498 #define SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_DISABLED_U32 \ 499 (SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_SHIFT) 500 // Enable the APB clock to the TIMER1 Module. 501 #define SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_ENABLED_VALUE 1 502 #define SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_ENABLED_U32 \ 503 (SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_TIMER1CEN_SHIFT) 504 505 #define SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_MASK 0x00020000 506 #define SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_SHIFT 17 507 // Disable the APB clock to the SARADC0 Module (default). 508 #define SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_DISABLED_VALUE 0 509 #define SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_DISABLED_U32 \ 510 (SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_SHIFT) 511 // Enable the APB clock to the SARADC0 Module. 512 #define SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_ENABLED_VALUE 1 513 #define SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_ENABLED_U32 \ 514 (SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_ADC0CEN_SHIFT) 515 516 #define SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_MASK 0x00040000 517 #define SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_SHIFT 18 518 // Disable the APB clock to the SARADC1 Module (default). 519 #define SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_DISABLED_VALUE 0 520 #define SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_DISABLED_U32 \ 521 (SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_SHIFT) 522 // Enable the APB clock to the SARADC1 Module. 523 #define SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_ENABLED_VALUE 1 524 #define SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_ENABLED_U32 \ 525 (SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_ADC1CEN_SHIFT) 526 527 #define SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_MASK 0x00080000 528 #define SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_SHIFT 19 529 // Disable the APB clock to the Comparator 0 Module (default). 530 #define SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_DISABLED_VALUE 0 531 #define SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_DISABLED_U32 \ 532 (SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_SHIFT) 533 // Enable the APB clock to the Comparator 0 Module. 534 #define SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_ENABLED_VALUE 1 535 #define SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_ENABLED_U32 \ 536 (SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_CMP0CEN_SHIFT) 537 538 #define SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_MASK 0x00100000 539 #define SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_SHIFT 20 540 // Disable the APB clock to the Comparator 1 Module (default). 541 #define SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_DISABLED_VALUE 0 542 #define SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_DISABLED_U32 \ 543 (SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_SHIFT) 544 // Enable the APB clock to the Comparator 1 Module. 545 #define SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_ENABLED_VALUE 1 546 #define SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_ENABLED_U32 \ 547 (SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_CMP1CEN_SHIFT) 548 549 #define SI32_CLKCTRL_A_APBCLKG0_CS0CEN_MASK 0x00200000 550 #define SI32_CLKCTRL_A_APBCLKG0_CS0CEN_SHIFT 21 551 // Disable the APB clock to the CAPSENSE0 Module (default). 552 #define SI32_CLKCTRL_A_APBCLKG0_CS0CEN_DISABLED_VALUE 0 553 #define SI32_CLKCTRL_A_APBCLKG0_CS0CEN_DISABLED_U32 \ 554 (SI32_CLKCTRL_A_APBCLKG0_CS0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_CS0CEN_SHIFT) 555 // Enable the APB clock to the CAPSENSE0 Module. 556 #define SI32_CLKCTRL_A_APBCLKG0_CS0CEN_ENABLED_VALUE 1 557 #define SI32_CLKCTRL_A_APBCLKG0_CS0CEN_ENABLED_U32 \ 558 (SI32_CLKCTRL_A_APBCLKG0_CS0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_CS0CEN_SHIFT) 559 560 #define SI32_CLKCTRL_A_APBCLKG0_AES0CEN_MASK 0x00400000 561 #define SI32_CLKCTRL_A_APBCLKG0_AES0CEN_SHIFT 22 562 // Disable the APB clock to the AES0 Module (default). 563 #define SI32_CLKCTRL_A_APBCLKG0_AES0CEN_DISABLED_VALUE 0 564 #define SI32_CLKCTRL_A_APBCLKG0_AES0CEN_DISABLED_U32 \ 565 (SI32_CLKCTRL_A_APBCLKG0_AES0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_AES0CEN_SHIFT) 566 // Enable the APB clock to the AES0 Module. 567 #define SI32_CLKCTRL_A_APBCLKG0_AES0CEN_ENABLED_VALUE 1 568 #define SI32_CLKCTRL_A_APBCLKG0_AES0CEN_ENABLED_U32 \ 569 (SI32_CLKCTRL_A_APBCLKG0_AES0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_AES0CEN_SHIFT) 570 571 #define SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_MASK 0x00800000 572 #define SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_SHIFT 23 573 // Disable the APB clock to the CRC0 Module (default). 574 #define SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_DISABLED_VALUE 0 575 #define SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_DISABLED_U32 \ 576 (SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_SHIFT) 577 // Enable the APB clock to the CRC0 Module. 578 #define SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_ENABLED_VALUE 1 579 #define SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_ENABLED_U32 \ 580 (SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_CRC0CEN_SHIFT) 581 582 #define SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_MASK 0x01000000 583 #define SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_SHIFT 24 584 // Disable the APB clock to the IDAC0 Module (default). 585 #define SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_DISABLED_VALUE 0 586 #define SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_DISABLED_U32 \ 587 (SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_SHIFT) 588 // Enable the APB clock to the IDAC0 Module. 589 #define SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_ENABLED_VALUE 1 590 #define SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_ENABLED_U32 \ 591 (SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_IDAC0CEN_SHIFT) 592 593 #define SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_MASK 0x02000000 594 #define SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_SHIFT 25 595 // Disable the APB clock to the IDAC1 Module (default). 596 #define SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_DISABLED_VALUE 0 597 #define SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_DISABLED_U32 \ 598 (SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_SHIFT) 599 // Enable the APB clock to the IDAC1 Module. 600 #define SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_ENABLED_VALUE 1 601 #define SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_ENABLED_U32 \ 602 (SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_IDAC1CEN_SHIFT) 603 604 #define SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_MASK 0x04000000 605 #define SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_SHIFT 26 606 // Disable the APB clock to the LPTIMER0 Module (default). 607 #define SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_DISABLED_VALUE 0 608 #define SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_DISABLED_U32 \ 609 (SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_SHIFT) 610 // Enable the APB clock to the LPTIMER0 Module. 611 #define SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_ENABLED_VALUE 1 612 #define SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_ENABLED_U32 \ 613 (SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_LPT0CEN_SHIFT) 614 615 #define SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_MASK 0x08000000 616 #define SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_SHIFT 27 617 // Disable the APB clock to the I2S0 Module (default). 618 #define SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_DISABLED_VALUE 0 619 #define SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_DISABLED_U32 \ 620 (SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_SHIFT) 621 // Enable the APB clock to the I2S0 Module. 622 #define SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_ENABLED_VALUE 1 623 #define SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_ENABLED_U32 \ 624 (SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_I2S0CEN_SHIFT) 625 626 #define SI32_CLKCTRL_A_APBCLKG0_USB0CEN_MASK 0x10000000 627 #define SI32_CLKCTRL_A_APBCLKG0_USB0CEN_SHIFT 28 628 // Disable the APB clock to the USB0 Module (default). 629 #define SI32_CLKCTRL_A_APBCLKG0_USB0CEN_DISABLED_VALUE 0 630 #define SI32_CLKCTRL_A_APBCLKG0_USB0CEN_DISABLED_U32 \ 631 (SI32_CLKCTRL_A_APBCLKG0_USB0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_USB0CEN_SHIFT) 632 // Enable the APB clock to the USB0 Module. 633 #define SI32_CLKCTRL_A_APBCLKG0_USB0CEN_ENABLED_VALUE 1 634 #define SI32_CLKCTRL_A_APBCLKG0_USB0CEN_ENABLED_U32 \ 635 (SI32_CLKCTRL_A_APBCLKG0_USB0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_USB0CEN_SHIFT) 636 637 #define SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_MASK 0x20000000 638 #define SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_SHIFT 29 639 // Disable the APB clock to the External Regulator Module (EXTVREG0) (default). 640 #define SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_DISABLED_VALUE 0 641 #define SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_DISABLED_U32 \ 642 (SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_SHIFT) 643 // Enable the APB clock to the External Regulator Module (EXTVREG0). 644 #define SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_ENABLED_VALUE 1 645 #define SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_ENABLED_U32 \ 646 (SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_EVREGCEN_SHIFT) 647 648 #define SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_MASK 0x40000000 649 #define SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_SHIFT 30 650 // Disable the APB clock to the Flash Controller Module (FLASHCTRL0) (default). 651 #define SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_DISABLED_VALUE 0 652 #define SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_DISABLED_U32 \ 653 (SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_SHIFT) 654 // Enable the APB clock to the Flash Controller Module (FLASHCTRL0). 655 #define SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_ENABLED_VALUE 1 656 #define SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_ENABLED_U32 \ 657 (SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG0_FLCTRLCEN_SHIFT) 658 659 660 661 struct SI32_CLKCTRL_A_APBCLKG1_Struct 662 { 663 union 664 { 665 struct 666 { 667 // Miscellaneous 0 Clock Enable 668 volatile uint32_t MISC0CEN: 1; 669 // Miscellaneous 1 Clock Enable 670 volatile uint32_t MISC1CEN: 1; 671 // Miscellaneous 2 Clock Enable 672 volatile uint32_t MISC2CEN: 1; 673 uint32_t reserved0: 29; 674 }; 675 volatile uint32_t U32; 676 }; 677 }; 678 679 #define SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_MASK 0x00000001 680 #define SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_SHIFT 0 681 // Disable the APB clock to the RSTSRC0, LOCK0, VMON0, VREG0, LDO0, VREF0, EXTOSC0, 682 // LPOSC0, EXTVREG0, IVC0 and RTC0 modules (default). 683 #define SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_DISABLED_VALUE 0 684 #define SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_DISABLED_U32 \ 685 (SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_SHIFT) 686 // Enable the APB clock to the RSTSRC0, LOCK0, VMON0, VREG0, LDO0, VREF0, EXTOSC0, 687 // LPOSC0, EXTVREG0, IVC0 and RTC0 modules. 688 #define SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_ENABLED_VALUE 1 689 #define SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_ENABLED_U32 \ 690 (SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG1_MISC0CEN_SHIFT) 691 692 #define SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_MASK 0x00000002 693 #define SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_SHIFT 1 694 // Disable the APB clock to the Watchdog Timer (WDTIMER0), EMIF0, and DMA Crossbar 695 // (DMAXBAR0) modules. 696 #define SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_DISABLED_VALUE 0 697 #define SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_DISABLED_U32 \ 698 (SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_SHIFT) 699 // Enable the APB clock to the Watchdog Timer (WDTIMER0), EMIF0, and DMA Crossbar 700 // (DMAXBAR0) modules (default). 701 #define SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_ENABLED_VALUE 1 702 #define SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_ENABLED_U32 \ 703 (SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG1_MISC1CEN_SHIFT) 704 705 #define SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_MASK 0x00000004 706 #define SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_SHIFT 2 707 // Disable the APB clock to the OSCVLDF flag in the EXTOSC module (default). 708 #define SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_DISABLED_VALUE 0 709 #define SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_DISABLED_U32 \ 710 (SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_DISABLED_VALUE << SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_SHIFT) 711 // Enable the APB clock to the OSCVLDF flag in the EXTOSC module. 712 #define SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_ENABLED_VALUE 1 713 #define SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_ENABLED_U32 \ 714 (SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_ENABLED_VALUE << SI32_CLKCTRL_A_APBCLKG1_MISC2CEN_SHIFT) 715 716 717 718 struct SI32_CLKCTRL_A_PM3CN_Struct 719 { 720 union 721 { 722 struct 723 { 724 // Power Mode 3 Fast-Wake Clock Source 725 volatile uint32_t PM3CSEL: 3; 726 uint32_t reserved0: 13; 727 // Power Mode 3 Fast-Wake Clock Enable 728 volatile uint32_t PM3CEN: 1; 729 uint32_t reserved1: 15; 730 }; 731 volatile uint32_t U32; 732 }; 733 }; 734 735 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_MASK 0x00000007 736 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_SHIFT 0 737 // Power Mode 3 clock source is the Low-Power Oscillator. 738 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_LPOSC0_VALUE 0 739 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_LPOSC0_U32 \ 740 (SI32_CLKCTRL_A_PM3CN_PM3CSEL_LPOSC0_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CSEL_SHIFT) 741 // Power Mode 3 clock source is the Low-Frequency Oscillator. 742 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_LFOSC0_VALUE 1 743 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_LFOSC0_U32 \ 744 (SI32_CLKCTRL_A_PM3CN_PM3CSEL_LFOSC0_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CSEL_SHIFT) 745 // Power Mode 3 clock source is the RTC Oscillator. 746 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_RTC0OSC_VALUE 2 747 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_RTC0OSC_U32 \ 748 (SI32_CLKCTRL_A_PM3CN_PM3CSEL_RTC0OSC_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CSEL_SHIFT) 749 // Power Mode 3 clock source is the External Oscillator. 750 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_EXTOSC0_VALUE 3 751 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_EXTOSC0_U32 \ 752 (SI32_CLKCTRL_A_PM3CN_PM3CSEL_EXTOSC0_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CSEL_SHIFT) 753 // Power Mode 3 clock source is the USB Oscillator. 754 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_USB0OSC_VALUE 4 755 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_USB0OSC_U32 \ 756 (SI32_CLKCTRL_A_PM3CN_PM3CSEL_USB0OSC_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CSEL_SHIFT) 757 // Power Mode 3 clock source is the PLL. 758 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_PLL0OSC_VALUE 5 759 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_PLL0OSC_U32 \ 760 (SI32_CLKCTRL_A_PM3CN_PM3CSEL_PLL0OSC_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CSEL_SHIFT) 761 // Power Mode 3 clock source is a divided version of the Low-Power Oscillator. 762 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_LPOSC0_DIV_VALUE 6 763 #define SI32_CLKCTRL_A_PM3CN_PM3CSEL_LPOSC0_DIV_U32 \ 764 (SI32_CLKCTRL_A_PM3CN_PM3CSEL_LPOSC0_DIV_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CSEL_SHIFT) 765 766 #define SI32_CLKCTRL_A_PM3CN_PM3CEN_MASK 0x00010000 767 #define SI32_CLKCTRL_A_PM3CN_PM3CEN_SHIFT 16 768 // Disable the core clock when in Power Mode 3. 769 #define SI32_CLKCTRL_A_PM3CN_PM3CEN_DISABLED_VALUE 0 770 #define SI32_CLKCTRL_A_PM3CN_PM3CEN_DISABLED_U32 \ 771 (SI32_CLKCTRL_A_PM3CN_PM3CEN_DISABLED_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CEN_SHIFT) 772 // The core clock is enabled and runs off the clock selected by PM3CSEL in Power 773 // Mode 3. 774 #define SI32_CLKCTRL_A_PM3CN_PM3CEN_ENABLED_VALUE 1 775 #define SI32_CLKCTRL_A_PM3CN_PM3CEN_ENABLED_U32 \ 776 (SI32_CLKCTRL_A_PM3CN_PM3CEN_ENABLED_VALUE << SI32_CLKCTRL_A_PM3CN_PM3CEN_SHIFT) 777 778 779 780 typedef struct SI32_CLKCTRL_A_Struct 781 { 782 struct SI32_CLKCTRL_A_CONTROL_Struct CONTROL ; // Base Address + 0x0 783 uint32_t reserved0; 784 uint32_t reserved1; 785 uint32_t reserved2; 786 struct SI32_CLKCTRL_A_AHBCLKG_Struct AHBCLKG ; // Base Address + 0x10 787 volatile uint32_t AHBCLKG_SET; 788 volatile uint32_t AHBCLKG_CLR; 789 uint32_t reserved3; 790 struct SI32_CLKCTRL_A_APBCLKG0_Struct APBCLKG0 ; // Base Address + 0x20 791 volatile uint32_t APBCLKG0_SET; 792 volatile uint32_t APBCLKG0_CLR; 793 uint32_t reserved4; 794 struct SI32_CLKCTRL_A_APBCLKG1_Struct APBCLKG1 ; // Base Address + 0x30 795 volatile uint32_t APBCLKG1_SET; 796 volatile uint32_t APBCLKG1_CLR; 797 uint32_t reserved5; 798 struct SI32_CLKCTRL_A_PM3CN_Struct PM3CN ; // Base Address + 0x40 799 uint32_t reserved6; 800 uint32_t reserved7; 801 uint32_t reserved8; 802 } SI32_CLKCTRL_A_Type; 803 804 #ifdef __cplusplus 805 } 806 #endif 807 808 #endif // __SI32_CLKCTRL_A_REGISTERS_H__ 809 810 //-eof-------------------------------------------------------------------------- 811 812