block/RCC: description: Reset and clock control items: - name: CR description: Clock control register byte_offset: 0 fieldset: CR - name: CFGR description: Clock configuration register (RCC_CFGR) byte_offset: 4 fieldset: CFGR - name: CIR description: Clock interrupt register (RCC_CIR) byte_offset: 8 fieldset: CIR - name: APB2RSTR description: APB2 peripheral reset register (RCC_APB2RSTR) byte_offset: 12 fieldset: APB2RSTR - name: APB1RSTR description: APB1 peripheral reset register (RCC_APB1RSTR) byte_offset: 16 fieldset: APB1RSTR - name: AHBENR description: AHB Peripheral Clock enable register (RCC_AHBENR) byte_offset: 20 fieldset: AHBENR - name: APB2ENR description: APB2 peripheral clock enable register (RCC_APB2ENR) byte_offset: 24 fieldset: APB2ENR - name: APB1ENR description: APB1 peripheral clock enable register (RCC_APB1ENR) byte_offset: 28 fieldset: APB1ENR - name: BDCR description: Backup domain control register (RCC_BDCR) byte_offset: 32 fieldset: BDCR - name: CSR description: Control/status register (RCC_CSR) byte_offset: 36 fieldset: CSR fieldset/AHBENR: description: AHB Peripheral Clock enable register (RCC_AHBENR) fields: - name: DMA1EN description: DMA1 clock enable bit_offset: 0 bit_size: 1 - name: DMA2EN description: DMA2 clock enable bit_offset: 1 bit_size: 1 - name: SRAMEN description: SRAM interface clock enable bit_offset: 2 bit_size: 1 - name: FLASHEN description: FLASH clock enable bit_offset: 4 bit_size: 1 - name: CRCEN description: CRC clock enable bit_offset: 6 bit_size: 1 - name: FSMCEN description: FSMC clock enable bit_offset: 8 bit_size: 1 - name: SDIOEN description: SDIO clock enable bit_offset: 10 bit_size: 1 fieldset/APB1ENR: description: APB1 peripheral clock enable register (RCC_APB1ENR) fields: - name: TIM2EN description: Timer 2 clock enable bit_offset: 0 bit_size: 1 - name: TIM3EN description: Timer 3 clock enable bit_offset: 1 bit_size: 1 - name: TIM4EN description: Timer 4 clock enable bit_offset: 2 bit_size: 1 - name: TIM5EN description: Timer 5 clock enable bit_offset: 3 bit_size: 1 - name: TIM6EN description: Timer 6 clock enable bit_offset: 4 bit_size: 1 - name: TIM7EN description: Timer 7 clock enable bit_offset: 5 bit_size: 1 - name: TIM12EN description: Timer 12 clock enable bit_offset: 6 bit_size: 1 - name: TIM13EN description: Timer 13 clock enable bit_offset: 7 bit_size: 1 - name: TIM14EN description: Timer 14 clock enable bit_offset: 8 bit_size: 1 - name: WWDGEN description: Window watchdog clock enable bit_offset: 11 bit_size: 1 - name: SPI2EN description: SPI 2 clock enable bit_offset: 14 bit_size: 1 - name: SPI3EN description: SPI 3 clock enable bit_offset: 15 bit_size: 1 - name: USART2EN description: USART 2 clock enable bit_offset: 17 bit_size: 1 - name: USART3EN description: USART 3 clock enable bit_offset: 18 bit_size: 1 - name: UART4EN description: UART 4 clock enable bit_offset: 19 bit_size: 1 - name: UART5EN description: UART 5 clock enable bit_offset: 20 bit_size: 1 - name: I2C1EN description: I2C 1 clock enable bit_offset: 21 bit_size: 1 - name: I2C2EN description: I2C 2 clock enable bit_offset: 22 bit_size: 1 - name: USBEN description: USB clock enable bit_offset: 23 bit_size: 1 - name: CANEN description: CAN clock enable bit_offset: 25 bit_size: 1 - name: BKPEN description: Backup interface clock enable bit_offset: 27 bit_size: 1 - name: PWREN description: Power interface clock enable bit_offset: 28 bit_size: 1 - name: DACEN description: DAC interface clock enable bit_offset: 29 bit_size: 1 fieldset/APB1RSTR: description: APB1 peripheral reset register (RCC_APB1RSTR) fields: - name: TIM2RST description: Timer 2 reset bit_offset: 0 bit_size: 1 - name: TIM3RST description: Timer 3 reset bit_offset: 1 bit_size: 1 - name: TIM4RST description: Timer 4 reset bit_offset: 2 bit_size: 1 - name: TIM5RST description: Timer 5 reset bit_offset: 3 bit_size: 1 - name: TIM6RST description: Timer 6 reset bit_offset: 4 bit_size: 1 - name: TIM7RST description: Timer 7 reset bit_offset: 5 bit_size: 1 - name: TIM12RST description: Timer 12 reset bit_offset: 6 bit_size: 1 - name: TIM13RST description: Timer 13 reset bit_offset: 7 bit_size: 1 - name: TIM14RST description: Timer 14 reset bit_offset: 8 bit_size: 1 - name: WWDGRST description: Window watchdog reset bit_offset: 11 bit_size: 1 - name: SPI2RST description: SPI2 reset bit_offset: 14 bit_size: 1 - name: SPI3RST description: SPI3 reset bit_offset: 15 bit_size: 1 - name: USART2RST description: USART 2 reset bit_offset: 17 bit_size: 1 - name: USART3RST description: USART 3 reset bit_offset: 18 bit_size: 1 - name: UART4RST description: USART 4 reset bit_offset: 19 bit_size: 1 - name: UART5RST description: USART 5 reset bit_offset: 20 bit_size: 1 - name: I2C1RST description: I2C1 reset bit_offset: 21 bit_size: 1 - name: I2C2RST description: I2C2 reset bit_offset: 22 bit_size: 1 - name: USBRST description: USB reset bit_offset: 23 bit_size: 1 - name: CANRST description: CAN reset bit_offset: 25 bit_size: 1 - name: BKPRST description: Backup interface reset bit_offset: 27 bit_size: 1 - name: PWRRST description: Power interface reset bit_offset: 28 bit_size: 1 - name: DACRST description: DAC interface reset bit_offset: 29 bit_size: 1 fieldset/APB2ENR: description: APB2 peripheral clock enable register (RCC_APB2ENR) fields: - name: AFIOEN description: Alternate function I/O clock enable bit_offset: 0 bit_size: 1 - name: GPIOAEN description: I/O port A clock enable bit_offset: 2 bit_size: 1 - name: GPIOBEN description: I/O port B clock enable bit_offset: 3 bit_size: 1 - name: GPIOCEN description: I/O port C clock enable bit_offset: 4 bit_size: 1 - name: GPIODEN description: I/O port D clock enable bit_offset: 5 bit_size: 1 - name: GPIOEEN description: I/O port E clock enable bit_offset: 6 bit_size: 1 - name: GPIOFEN description: I/O port F clock enable bit_offset: 7 bit_size: 1 - name: GPIOGEN description: I/O port G clock enable bit_offset: 8 bit_size: 1 - name: ADC1EN description: ADC 1 interface clock enable bit_offset: 9 bit_size: 1 - name: ADC2EN description: ADC 2 interface clock enable bit_offset: 10 bit_size: 1 - name: TIM1EN description: TIM1 Timer clock enable bit_offset: 11 bit_size: 1 - name: SPI1EN description: SPI 1 clock enable bit_offset: 12 bit_size: 1 - name: TIM8EN description: TIM8 Timer clock enable bit_offset: 13 bit_size: 1 - name: USART1EN description: USART1 clock enable bit_offset: 14 bit_size: 1 - name: ADC3EN description: ADC3 interface clock enable bit_offset: 15 bit_size: 1 - name: TIM9EN description: TIM9 Timer clock enable bit_offset: 19 bit_size: 1 - name: TIM10EN description: TIM10 Timer clock enable bit_offset: 20 bit_size: 1 - name: TIM11EN description: TIM11 Timer clock enable bit_offset: 21 bit_size: 1 fieldset/APB2RSTR: description: APB2 peripheral reset register (RCC_APB2RSTR) fields: - name: AFIORST description: Alternate function I/O reset bit_offset: 0 bit_size: 1 - name: GPIOARST description: IO port A reset bit_offset: 2 bit_size: 1 - name: GPIOBRST description: IO port B reset bit_offset: 3 bit_size: 1 - name: GPIOCRST description: IO port C reset bit_offset: 4 bit_size: 1 - name: GPIODRST description: IO port D reset bit_offset: 5 bit_size: 1 - name: GPIOERST description: IO port E reset bit_offset: 6 bit_size: 1 - name: GPIOFRST description: IO port F reset bit_offset: 7 bit_size: 1 - name: GPIOGRST description: IO port G reset bit_offset: 8 bit_size: 1 - name: ADC1RST description: ADC 1 interface reset bit_offset: 9 bit_size: 1 - name: ADC2RST description: ADC 2 interface reset bit_offset: 10 bit_size: 1 - name: TIM1RST description: TIM1 timer reset bit_offset: 11 bit_size: 1 - name: SPI1RST description: SPI 1 reset bit_offset: 12 bit_size: 1 - name: TIM8RST description: TIM8 timer reset bit_offset: 13 bit_size: 1 - name: USART1RST description: USART1 reset bit_offset: 14 bit_size: 1 - name: ADC3RST description: ADC 3 interface reset bit_offset: 15 bit_size: 1 - name: TIM9RST description: TIM9 timer reset bit_offset: 19 bit_size: 1 - name: TIM10RST description: TIM10 timer reset bit_offset: 20 bit_size: 1 - name: TIM11RST description: TIM11 timer reset bit_offset: 21 bit_size: 1 fieldset/BDCR: description: Backup domain control register (RCC_BDCR) fields: - name: LSEON description: External Low Speed oscillator enable bit_offset: 0 bit_size: 1 - name: LSERDY description: External Low Speed oscillator ready bit_offset: 1 bit_size: 1 - name: LSEBYP description: External Low Speed oscillator bypass bit_offset: 2 bit_size: 1 - name: RTCSEL description: RTC clock source selection bit_offset: 8 bit_size: 2 enum: RTCSEL - name: RTCEN description: RTC clock enable bit_offset: 15 bit_size: 1 - name: BDRST description: Backup domain software reset bit_offset: 16 bit_size: 1 fieldset/CFGR: description: Clock configuration register (RCC_CFGR) fields: - name: SW description: System clock Switch bit_offset: 0 bit_size: 2 enum: SW - name: SWS description: System Clock Switch Status bit_offset: 2 bit_size: 2 enum: SW - name: HPRE description: AHB prescaler bit_offset: 4 bit_size: 4 enum: HPRE - name: PPRE1 description: APB Low speed prescaler (APB1) bit_offset: 8 bit_size: 3 enum: PPRE - name: PPRE2 description: APB High speed prescaler (APB2) bit_offset: 11 bit_size: 3 enum: PPRE - name: ADCPRE description: ADC prescaler bit_offset: 14 bit_size: 2 enum: ADCPRE - name: PLLSRC description: PLL entry clock source bit_offset: 16 bit_size: 1 enum: PLLSRC - name: PLLXTPRE description: HSE divider for PLL entry bit_offset: 17 bit_size: 1 enum: PLLXTPRE - name: PLLMUL description: PLL Multiplication Factor bit_offset: 18 bit_size: 4 enum: PLLMUL - name: USBPRE description: USB prescaler bit_offset: 22 bit_size: 1 enum: USBPRE - name: MCOSEL description: Microcontroller clock output bit_offset: 24 bit_size: 3 enum: MCOSEL fieldset/CIR: description: Clock interrupt register (RCC_CIR) fields: - name: LSIRDYF description: LSI Ready Interrupt flag bit_offset: 0 bit_size: 1 - name: LSERDYF description: LSE Ready Interrupt flag bit_offset: 1 bit_size: 1 - name: HSIRDYF description: HSI Ready Interrupt flag bit_offset: 2 bit_size: 1 - name: HSERDYF description: HSE Ready Interrupt flag bit_offset: 3 bit_size: 1 - name: PLLRDYF description: PLL Ready Interrupt flag bit_offset: 4 bit_size: 1 - name: CSSF description: Clock Security System Interrupt flag bit_offset: 7 bit_size: 1 - name: LSIRDYIE description: LSI Ready Interrupt Enable bit_offset: 8 bit_size: 1 - name: LSERDYIE description: LSE Ready Interrupt Enable bit_offset: 9 bit_size: 1 - name: HSIRDYIE description: HSI Ready Interrupt Enable bit_offset: 10 bit_size: 1 - name: HSERDYIE description: HSE Ready Interrupt Enable bit_offset: 11 bit_size: 1 - name: PLLRDYIE description: PLL Ready Interrupt Enable bit_offset: 12 bit_size: 1 - name: LSIRDYC description: LSI Ready Interrupt Clear bit_offset: 16 bit_size: 1 - name: LSERDYC description: LSE Ready Interrupt Clear bit_offset: 17 bit_size: 1 - name: HSIRDYC description: HSI Ready Interrupt Clear bit_offset: 18 bit_size: 1 - name: HSERDYC description: HSE Ready Interrupt Clear bit_offset: 19 bit_size: 1 - name: PLLRDYC description: PLL Ready Interrupt Clear bit_offset: 20 bit_size: 1 - name: CSSC description: Clock security system interrupt clear bit_offset: 23 bit_size: 1 fieldset/CR: description: Clock control register fields: - name: HSION description: Internal High Speed clock enable bit_offset: 0 bit_size: 1 - name: HSIRDY description: Internal High Speed clock ready flag bit_offset: 1 bit_size: 1 - name: HSITRIM description: Internal High Speed clock trimming bit_offset: 3 bit_size: 5 - name: HSICAL description: Internal High Speed clock Calibration bit_offset: 8 bit_size: 8 - name: HSEON description: External High Speed clock enable bit_offset: 16 bit_size: 1 - name: HSERDY description: External High Speed clock ready flag bit_offset: 17 bit_size: 1 - name: HSEBYP description: External High Speed clock Bypass bit_offset: 18 bit_size: 1 - name: CSSON description: Clock Security System enable bit_offset: 19 bit_size: 1 - name: PLLON description: PLL enable bit_offset: 24 bit_size: 1 - name: PLLRDY description: PLL clock ready flag bit_offset: 25 bit_size: 1 fieldset/CSR: description: Control/status register (RCC_CSR) fields: - name: LSION description: Internal low speed oscillator enable bit_offset: 0 bit_size: 1 - name: LSIRDY description: Internal low speed oscillator ready bit_offset: 1 bit_size: 1 - name: RMVF description: Remove reset flag bit_offset: 24 bit_size: 1 - name: PINRSTF description: PIN reset flag bit_offset: 26 bit_size: 1 - name: PORRSTF description: POR/PDR reset flag bit_offset: 27 bit_size: 1 - name: SFTRSTF description: Software reset flag bit_offset: 28 bit_size: 1 - name: IWDGRSTF description: Independent watchdog reset flag bit_offset: 29 bit_size: 1 - name: WWDGRSTF description: Window watchdog reset flag bit_offset: 30 bit_size: 1 - name: LPWRRSTF description: Low-power reset flag bit_offset: 31 bit_size: 1 enum/ADCPRE: bit_size: 2 variants: - name: Div2 description: PCLK2 divided by 2 value: 0 - name: Div4 description: PCLK2 divided by 4 value: 1 - name: Div6 description: PCLK2 divided by 6 value: 2 - name: Div8 description: PCLK2 divided by 8 value: 3 enum/HPRE: bit_size: 4 variants: - name: Div1 description: SYSCLK not divided value: 0 - name: Div2 description: SYSCLK divided by 2 value: 8 - name: Div4 description: SYSCLK divided by 4 value: 9 - name: Div8 description: SYSCLK divided by 8 value: 10 - name: Div16 description: SYSCLK divided by 16 value: 11 - name: Div64 description: SYSCLK divided by 64 value: 12 - name: Div128 description: SYSCLK divided by 128 value: 13 - name: Div256 description: SYSCLK divided by 256 value: 14 - name: Div512 description: SYSCLK divided by 512 value: 15 enum/MCOSEL: bit_size: 3 variants: - name: NoMCO description: MCO output disabled, no clock on MCO value: 0 - name: SYSCLK description: System clock selected value: 4 - name: HSI description: HSI oscillator clock selected value: 5 - name: HSE description: HSE oscillator clock selected value: 6 - name: PLL description: PLL clock divided by 2 selected value: 7 enum/PLLMUL: bit_size: 4 variants: - name: Mul2 description: PLL input clock x2 value: 0 - name: Mul3 description: PLL input clock x3 value: 1 - name: Mul4 description: PLL input clock x4 value: 2 - name: Mul5 description: PLL input clock x5 value: 3 - name: Mul6 description: PLL input clock x6 value: 4 - name: Mul7 description: PLL input clock x7 value: 5 - name: Mul8 description: PLL input clock x8 value: 6 - name: Mul9 description: PLL input clock x9 value: 7 - name: Mul10 description: PLL input clock x10 value: 8 - name: Mul11 description: PLL input clock x11 value: 9 - name: Mul12 description: PLL input clock x12 value: 10 - name: Mul13 description: PLL input clock x13 value: 11 - name: Mul14 description: PLL input clock x14 value: 12 - name: Mul15 description: PLL input clock x15 value: 13 - name: Mul16 description: PLL input clock x16 value: 14 - name: Mul16x description: PLL input clock x16 value: 15 enum/PLLSRC: bit_size: 1 variants: - name: HSI_Div2 description: HSI divided by 2 selected as PLL input clock value: 0 - name: HSE_Div_PREDIV description: HSE divided by PREDIV selected as PLL input clock value: 1 enum/PLLXTPRE: bit_size: 1 variants: - name: Div1 description: HSE clock not divided value: 0 - name: Div2 description: HSE clock divided by 2 value: 1 enum/PPRE: bit_size: 3 variants: - name: Div1 description: HCLK not divided value: 0 - name: Div2 description: HCLK divided by 2 value: 4 - name: Div4 description: HCLK divided by 4 value: 5 - name: Div8 description: HCLK divided by 8 value: 6 - name: Div16 description: HCLK divided by 16 value: 7 enum/RTCSEL: bit_size: 2 variants: - name: NoClock description: No clock value: 0 - name: LSE description: LSE oscillator clock used as RTC clock value: 1 - name: LSI description: LSI oscillator clock used as RTC clock value: 2 - name: HSE description: HSE oscillator clock divided by a prescaler used as RTC clock value: 3 enum/SW: bit_size: 2 variants: - name: HSI description: HSI selected as system clock value: 0 - name: HSE description: HSE selected as system clock value: 1 - name: PLL description: PLL selected as system clock value: 2 enum/USBPRE: bit_size: 1 variants: - name: Div1_5 description: PLL clock is divided by 1.5 value: 0 - name: Div1 description: PLL clock is not divided value: 1