From 49e579e97f7c3ef31def48c83f3408679ee49fc9 Mon Sep 17 00:00:00 2001 From: Dario Nieuwenhuis Date: Thu, 19 Aug 2021 22:12:39 +0200 Subject: [PATCH] Add F2 RCC --- data/registers/rcc_f2.yaml | 1487 ++++++++++++++++++++++++++++++++++++ parse.py | 1 + 2 files changed, 1488 insertions(+) create mode 100644 data/registers/rcc_f2.yaml diff --git a/data/registers/rcc_f2.yaml b/data/registers/rcc_f2.yaml new file mode 100644 index 0000000..aae064d --- /dev/null +++ b/data/registers/rcc_f2.yaml @@ -0,0 +1,1487 @@ +--- +block/RCC: + description: Reset and clock control + items: + - name: CR + description: clock control register + byte_offset: 0 + fieldset: CR + - name: PLLCFGR + description: PLL configuration register + byte_offset: 4 + fieldset: PLLCFGR + - name: CFGR + description: clock configuration register + byte_offset: 8 + fieldset: CFGR + - name: CIR + description: clock interrupt register + byte_offset: 12 + fieldset: CIR + - name: AHB1RSTR + description: AHB1 peripheral reset register + byte_offset: 16 + fieldset: AHB1RSTR + - name: AHB2RSTR + description: AHB2 peripheral reset register + byte_offset: 20 + fieldset: AHB2RSTR + - name: AHB3RSTR + description: AHB3 peripheral reset register + byte_offset: 24 + fieldset: AHB3RSTR + - name: APB1RSTR + description: APB1 peripheral reset register + byte_offset: 32 + fieldset: APB1RSTR + - name: APB2RSTR + description: APB2 peripheral reset register + byte_offset: 36 + fieldset: APB2RSTR + - name: AHB1ENR + description: AHB1 peripheral clock register + byte_offset: 48 + fieldset: AHB1ENR + - name: AHB2ENR + description: AHB2 peripheral clock enable register + byte_offset: 52 + fieldset: AHB2ENR + - name: AHB3ENR + description: AHB3 peripheral clock enable register + byte_offset: 56 + fieldset: AHB3ENR + - name: APB1ENR + description: APB1 peripheral clock enable register + byte_offset: 64 + fieldset: APB1ENR + - name: APB2ENR + description: APB2 peripheral clock enable register + byte_offset: 68 + fieldset: APB2ENR + - name: AHB1LPENR + description: AHB1 peripheral clock enable in low power mode register + byte_offset: 80 + fieldset: AHB1LPENR + - name: AHB2LPENR + description: AHB2 peripheral clock enable in low power mode register + byte_offset: 84 + fieldset: AHB2LPENR + - name: AHB3LPENR + description: AHB3 peripheral clock enable in low power mode register + byte_offset: 88 + fieldset: AHB3LPENR + - name: APB1LPENR + description: APB1 peripheral clock enable in low power mode register + byte_offset: 96 + fieldset: APB1LPENR + - name: APB2LPENR + description: APB2 peripheral clock enabled in low power mode register + byte_offset: 100 + fieldset: APB2LPENR + - name: BDCR + description: Backup domain control register + byte_offset: 112 + fieldset: BDCR + - name: CSR + description: clock control & status register + byte_offset: 116 + fieldset: CSR + - name: SSCGR + description: spread spectrum clock generation register + byte_offset: 128 + fieldset: SSCGR + - name: PLLI2SCFGR + description: PLLI2S configuration register + byte_offset: 132 + fieldset: PLLI2SCFGR +fieldset/AHB1ENR: + description: AHB1 peripheral clock register + fields: + - name: GPIOAEN + description: IO port A clock enable + bit_offset: 0 + bit_size: 1 + - name: GPIOBEN + description: IO port B clock enable + bit_offset: 1 + bit_size: 1 + - name: GPIOCEN + description: IO port C clock enable + bit_offset: 2 + bit_size: 1 + - name: GPIODEN + description: IO port D clock enable + bit_offset: 3 + bit_size: 1 + - name: GPIOEEN + description: IO port E clock enable + bit_offset: 4 + bit_size: 1 + - name: GPIOFEN + description: IO port F clock enable + bit_offset: 5 + bit_size: 1 + - name: GPIOGEN + description: IO port G clock enable + bit_offset: 6 + bit_size: 1 + - name: GPIOHEN + description: IO port H clock enable + bit_offset: 7 + bit_size: 1 + - name: GPIOIEN + description: IO port I clock enable + bit_offset: 8 + bit_size: 1 + - name: CRCEN + description: CRC clock enable + bit_offset: 12 + bit_size: 1 + - name: BKPSRAMEN + description: Backup SRAM interface clock enable + bit_offset: 18 + bit_size: 1 + - name: DMA1EN + description: DMA1 clock enable + bit_offset: 21 + bit_size: 1 + - name: DMA2EN + description: DMA2 clock enable + bit_offset: 22 + bit_size: 1 + - name: ETHMACEN + description: Ethernet MAC clock enable + bit_offset: 25 + bit_size: 1 + - name: ETHMACTXEN + description: Ethernet Transmission clock enable + bit_offset: 26 + bit_size: 1 + - name: ETHMACRXEN + description: Ethernet Reception clock enable + bit_offset: 27 + bit_size: 1 + - name: ETHMACPTPEN + description: Ethernet PTP clock enable + bit_offset: 28 + bit_size: 1 + - name: OTGHSEN + description: USB OTG HS clock enable + bit_offset: 29 + bit_size: 1 + - name: OTGHSULPIEN + description: USB OTG HSULPI clock enable + bit_offset: 30 + bit_size: 1 +fieldset/AHB1LPENR: + description: AHB1 peripheral clock enable in low power mode register + fields: + - name: GPIOALPEN + description: IO port A clock enable during sleep mode + bit_offset: 0 + bit_size: 1 + - name: GPIOBLPEN + description: IO port B clock enable during Sleep mode + bit_offset: 1 + bit_size: 1 + - name: GPIOCLPEN + description: IO port C clock enable during Sleep mode + bit_offset: 2 + bit_size: 1 + - name: GPIODLPEN + description: IO port D clock enable during Sleep mode + bit_offset: 3 + bit_size: 1 + - name: GPIOELPEN + description: IO port E clock enable during Sleep mode + bit_offset: 4 + bit_size: 1 + - name: GPIOFLPEN + description: IO port F clock enable during Sleep mode + bit_offset: 5 + bit_size: 1 + - name: GPIOGLPEN + description: IO port G clock enable during Sleep mode + bit_offset: 6 + bit_size: 1 + - name: GPIOHLPEN + description: IO port H clock enable during Sleep mode + bit_offset: 7 + bit_size: 1 + - name: GPIOILPEN + description: IO port I clock enable during Sleep mode + bit_offset: 8 + bit_size: 1 + - name: CRCLPEN + description: CRC clock enable during Sleep mode + bit_offset: 12 + bit_size: 1 + - name: FLITFLPEN + description: Flash interface clock enable during Sleep mode + bit_offset: 15 + bit_size: 1 + - name: SRAM1LPEN + description: SRAM 1interface clock enable during Sleep mode + bit_offset: 16 + bit_size: 1 + - name: SRAM2LPEN + description: SRAM 2 interface clock enable during Sleep mode + bit_offset: 17 + bit_size: 1 + - name: BKPSRAMLPEN + description: Backup SRAM interface clock enable during Sleep mode + bit_offset: 18 + bit_size: 1 + - name: DMA1LPEN + description: DMA1 clock enable during Sleep mode + bit_offset: 21 + bit_size: 1 + - name: DMA2LPEN + description: DMA2 clock enable during Sleep mode + bit_offset: 22 + bit_size: 1 + - name: ETHMACLPEN + description: Ethernet MAC clock enable during Sleep mode + bit_offset: 25 + bit_size: 1 + - name: ETHMACTXLPEN + description: Ethernet transmission clock enable during Sleep mode + bit_offset: 26 + bit_size: 1 + - name: ETHMACRXLPEN + description: Ethernet reception clock enable during Sleep mode + bit_offset: 27 + bit_size: 1 + - name: ETHMACPTPLPEN + description: Ethernet PTP clock enable during Sleep mode + bit_offset: 28 + bit_size: 1 + - name: OTGHSLPEN + description: USB OTG HS clock enable during Sleep mode + bit_offset: 29 + bit_size: 1 + - name: OTGHSULPILPEN + description: USB OTG HS ULPI clock enable during Sleep mode + bit_offset: 30 + bit_size: 1 +fieldset/AHB1RSTR: + description: AHB1 peripheral reset register + fields: + - name: GPIOARST + description: IO port A reset + bit_offset: 0 + bit_size: 1 + - name: GPIOBRST + description: IO port B reset + bit_offset: 1 + bit_size: 1 + - name: GPIOCRST + description: IO port C reset + bit_offset: 2 + bit_size: 1 + - name: GPIODRST + description: IO port D reset + bit_offset: 3 + bit_size: 1 + - name: GPIOERST + description: IO port E reset + bit_offset: 4 + bit_size: 1 + - name: GPIOFRST + description: IO port F reset + bit_offset: 5 + bit_size: 1 + - name: GPIOGRST + description: IO port G reset + bit_offset: 6 + bit_size: 1 + - name: GPIOHRST + description: IO port H reset + bit_offset: 7 + bit_size: 1 + - name: GPIOIRST + description: IO port I reset + bit_offset: 8 + bit_size: 1 + - name: CRCRST + description: CRC reset + bit_offset: 12 + bit_size: 1 + - name: DMA1RST + description: DMA2 reset + bit_offset: 21 + bit_size: 1 + - name: DMA2RST + description: DMA2 reset + bit_offset: 22 + bit_size: 1 + - name: ETHMACRST + description: Ethernet MAC reset + bit_offset: 25 + bit_size: 1 + - name: OTGHSRST + description: USB OTG HS module reset + bit_offset: 29 + bit_size: 1 +fieldset/AHB2ENR: + description: AHB2 peripheral clock enable register + fields: + - name: DCMIEN + description: Camera interface enable + bit_offset: 0 + bit_size: 1 + - name: CRYPEN + description: Cryptographic modules clock enable + bit_offset: 4 + bit_size: 1 + - name: HASHEN + description: Hash modules clock enable + bit_offset: 5 + bit_size: 1 + - name: RNGEN + description: Random number generator clock enable + bit_offset: 6 + bit_size: 1 + - name: OTGFSEN + description: USB OTG FS clock enable + bit_offset: 7 + bit_size: 1 +fieldset/AHB2LPENR: + description: AHB2 peripheral clock enable in low power mode register + fields: + - name: DCMILPEN + description: Camera interface enable during Sleep mode + bit_offset: 0 + bit_size: 1 + - name: CRYPLPEN + description: Cryptography modules clock enable during Sleep mode + bit_offset: 4 + bit_size: 1 + - name: HASHLPEN + description: Hash modules clock enable during Sleep mode + bit_offset: 5 + bit_size: 1 + - name: RNGLPEN + description: Random number generator clock enable during Sleep mode + bit_offset: 6 + bit_size: 1 + - name: OTGFSLPEN + description: USB OTG FS clock enable during Sleep mode + bit_offset: 7 + bit_size: 1 +fieldset/AHB2RSTR: + description: AHB2 peripheral reset register + fields: + - name: DCMIRST + description: Camera interface reset + bit_offset: 0 + bit_size: 1 + - name: CRYPRST + description: Cryptographic module reset + bit_offset: 4 + bit_size: 1 + - name: HSAHRST + description: Hash module reset + bit_offset: 5 + bit_size: 1 + - name: RNGRST + description: Random number generator module reset + bit_offset: 6 + bit_size: 1 + - name: OTGFSRST + description: USB OTG FS module reset + bit_offset: 7 + bit_size: 1 +fieldset/AHB3ENR: + description: AHB3 peripheral clock enable register + fields: + - name: FSMCEN + description: Flexible static memory controller module clock enable + bit_offset: 0 + bit_size: 1 +fieldset/AHB3LPENR: + description: AHB3 peripheral clock enable in low power mode register + fields: + - name: FSMCLPEN + description: Flexible static memory controller module clock enable during Sleep mode + bit_offset: 0 + bit_size: 1 +fieldset/AHB3RSTR: + description: AHB3 peripheral reset register + fields: + - name: FSMCRST + description: Flexible static memory controller module reset + bit_offset: 0 + bit_size: 1 +fieldset/APB1ENR: + description: APB1 peripheral clock enable register + fields: + - name: TIM2EN + description: TIM2 clock enable + bit_offset: 0 + bit_size: 1 + - name: TIM3EN + description: TIM3 clock enable + bit_offset: 1 + bit_size: 1 + - name: TIM4EN + description: TIM4 clock enable + bit_offset: 2 + bit_size: 1 + - name: TIM5EN + description: TIM5 clock enable + bit_offset: 3 + bit_size: 1 + - name: TIM6EN + description: TIM6 clock enable + bit_offset: 4 + bit_size: 1 + - name: TIM7EN + description: TIM7 clock enable + bit_offset: 5 + bit_size: 1 + - name: TIM12EN + description: TIM12 clock enable + bit_offset: 6 + bit_size: 1 + - name: TIM13EN + description: TIM13 clock enable + bit_offset: 7 + bit_size: 1 + - name: TIM14EN + description: TIM14 clock enable + bit_offset: 8 + bit_size: 1 + - name: WWDGEN + description: Window watchdog clock enable + bit_offset: 11 + bit_size: 1 + - name: SPI2EN + description: SPI2 clock enable + bit_offset: 14 + bit_size: 1 + - name: SPI3EN + description: SPI3 clock enable + bit_offset: 15 + bit_size: 1 + - name: USART2EN + description: USART 2 clock enable + bit_offset: 17 + bit_size: 1 + - name: USART3EN + description: USART3 clock enable + bit_offset: 18 + bit_size: 1 + - name: UART4EN + description: UART4 clock enable + bit_offset: 19 + bit_size: 1 + - name: UART5EN + description: UART5 clock enable + bit_offset: 20 + bit_size: 1 + - name: I2C1EN + description: I2C1 clock enable + bit_offset: 21 + bit_size: 1 + - name: I2C2EN + description: I2C2 clock enable + bit_offset: 22 + bit_size: 1 + - name: I2C3EN + description: I2C3 clock enable + bit_offset: 23 + bit_size: 1 + - name: CAN1EN + description: CAN 1 clock enable + bit_offset: 25 + bit_size: 1 + - name: CAN2EN + description: CAN 2 clock enable + bit_offset: 26 + 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/APB1LPENR: + description: APB1 peripheral clock enable in low power mode register + fields: + - name: TIM2LPEN + description: TIM2 clock enable during Sleep mode + bit_offset: 0 + bit_size: 1 + - name: TIM3LPEN + description: TIM3 clock enable during Sleep mode + bit_offset: 1 + bit_size: 1 + - name: TIM4LPEN + description: TIM4 clock enable during Sleep mode + bit_offset: 2 + bit_size: 1 + - name: TIM5LPEN + description: TIM5 clock enable during Sleep mode + bit_offset: 3 + bit_size: 1 + - name: TIM6LPEN + description: TIM6 clock enable during Sleep mode + bit_offset: 4 + bit_size: 1 + - name: TIM7LPEN + description: TIM7 clock enable during Sleep mode + bit_offset: 5 + bit_size: 1 + - name: TIM12LPEN + description: TIM12 clock enable during Sleep mode + bit_offset: 6 + bit_size: 1 + - name: TIM13LPEN + description: TIM13 clock enable during Sleep mode + bit_offset: 7 + bit_size: 1 + - name: TIM14LPEN + description: TIM14 clock enable during Sleep mode + bit_offset: 8 + bit_size: 1 + - name: WWDGLPEN + description: Window watchdog clock enable during Sleep mode + bit_offset: 11 + bit_size: 1 + - name: SPI2LPEN + description: SPI2 clock enable during Sleep mode + bit_offset: 14 + bit_size: 1 + - name: SPI3LPEN + description: SPI3 clock enable during Sleep mode + bit_offset: 15 + bit_size: 1 + - name: USART2LPEN + description: USART2 clock enable during Sleep mode + bit_offset: 17 + bit_size: 1 + - name: USART3LPEN + description: USART3 clock enable during Sleep mode + bit_offset: 18 + bit_size: 1 + - name: UART4LPEN + description: UART4 clock enable during Sleep mode + bit_offset: 19 + bit_size: 1 + - name: UART5LPEN + description: UART5 clock enable during Sleep mode + bit_offset: 20 + bit_size: 1 + - name: I2C1LPEN + description: I2C1 clock enable during Sleep mode + bit_offset: 21 + bit_size: 1 + - name: I2C2LPEN + description: I2C2 clock enable during Sleep mode + bit_offset: 22 + bit_size: 1 + - name: I2C3LPEN + description: I2C3 clock enable during Sleep mode + bit_offset: 23 + bit_size: 1 + - name: CAN1LPEN + description: CAN 1 clock enable during Sleep mode + bit_offset: 25 + bit_size: 1 + - name: CAN2LPEN + description: CAN 2 clock enable during Sleep mode + bit_offset: 26 + bit_size: 1 + - name: PWRLPEN + description: Power interface clock enable during Sleep mode + bit_offset: 28 + bit_size: 1 + - name: DACLPEN + description: DAC interface clock enable during Sleep mode + bit_offset: 29 + bit_size: 1 +fieldset/APB1RSTR: + description: APB1 peripheral reset register + fields: + - name: TIM2RST + description: TIM2 reset + bit_offset: 0 + bit_size: 1 + - name: TIM3RST + description: TIM3 reset + bit_offset: 1 + bit_size: 1 + - name: TIM4RST + description: TIM4 reset + bit_offset: 2 + bit_size: 1 + - name: TIM5RST + description: TIM5 reset + bit_offset: 3 + bit_size: 1 + - name: TIM6RST + description: TIM6 reset + bit_offset: 4 + bit_size: 1 + - name: TIM7RST + description: TIM7 reset + bit_offset: 5 + bit_size: 1 + - name: TIM12RST + description: TIM12 reset + bit_offset: 6 + bit_size: 1 + - name: TIM13RST + description: TIM13 reset + bit_offset: 7 + bit_size: 1 + - name: TIM14RST + description: TIM14 reset + bit_offset: 8 + bit_size: 1 + - name: WWDGRST + description: Window watchdog reset + bit_offset: 11 + bit_size: 1 + - name: SPI2RST + description: SPI 2 reset + bit_offset: 14 + bit_size: 1 + - name: SPI3RST + description: SPI 3 reset + bit_offset: 15 + bit_size: 1 + - name: UART2RST + description: USART 2 reset + bit_offset: 17 + bit_size: 1 + - name: UART3RST + 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: I2C 1 reset + bit_offset: 21 + bit_size: 1 + - name: I2C2RST + description: I2C 2 reset + bit_offset: 22 + bit_size: 1 + - name: I2C3RST + description: I2C3 reset + bit_offset: 23 + bit_size: 1 + - name: CAN1RST + description: CAN1 reset + bit_offset: 25 + bit_size: 1 + - name: CAN2RST + description: CAN2 reset + bit_offset: 26 + bit_size: 1 + - name: PWRRST + description: Power interface reset + bit_offset: 28 + bit_size: 1 + - name: DACRST + description: DAC reset + bit_offset: 29 + bit_size: 1 +fieldset/APB2ENR: + description: APB2 peripheral clock enable register + fields: + - name: TIM1EN + description: TIM1 clock enable + bit_offset: 0 + bit_size: 1 + - name: TIM8EN + description: TIM8 clock enable + bit_offset: 1 + bit_size: 1 + - name: USART1EN + description: USART1 clock enable + bit_offset: 4 + bit_size: 1 + - name: USART6EN + description: USART6 clock enable + bit_offset: 5 + bit_size: 1 + - name: ADC1EN + description: ADC1 clock enable + bit_offset: 8 + bit_size: 1 + - name: ADC2EN + description: ADC2 clock enable + bit_offset: 9 + bit_size: 1 + - name: ADC3EN + description: ADC3 clock enable + bit_offset: 10 + bit_size: 1 + - name: SDIOEN + description: SDIO clock enable + bit_offset: 11 + bit_size: 1 + - name: SPI1EN + description: SPI1 clock enable + bit_offset: 12 + bit_size: 1 + - name: SYSCFGEN + description: System configuration controller clock enable + bit_offset: 14 + bit_size: 1 + - name: TIM9EN + description: TIM9 clock enable + bit_offset: 16 + bit_size: 1 + - name: TIM10EN + description: TIM10 clock enable + bit_offset: 17 + bit_size: 1 + - name: TIM11EN + description: TIM11 clock enable + bit_offset: 18 + bit_size: 1 +fieldset/APB2LPENR: + description: APB2 peripheral clock enabled in low power mode register + fields: + - name: TIM1LPEN + description: TIM1 clock enable during Sleep mode + bit_offset: 0 + bit_size: 1 + - name: TIM8LPEN + description: TIM8 clock enable during Sleep mode + bit_offset: 1 + bit_size: 1 + - name: USART1LPEN + description: USART1 clock enable during Sleep mode + bit_offset: 4 + bit_size: 1 + - name: USART6LPEN + description: USART6 clock enable during Sleep mode + bit_offset: 5 + bit_size: 1 + - name: ADC1LPEN + description: ADC1 clock enable during Sleep mode + bit_offset: 8 + bit_size: 1 + - name: ADC2LPEN + description: ADC2 clock enable during Sleep mode + bit_offset: 9 + bit_size: 1 + - name: ADC3LPEN + description: ADC 3 clock enable during Sleep mode + bit_offset: 10 + bit_size: 1 + - name: SDIOLPEN + description: SDIO clock enable during Sleep mode + bit_offset: 11 + bit_size: 1 + - name: SPI1LPEN + description: SPI 1 clock enable during Sleep mode + bit_offset: 12 + bit_size: 1 + - name: SYSCFGLPEN + description: System configuration controller clock enable during Sleep mode + bit_offset: 14 + bit_size: 1 + - name: TIM9LPEN + description: TIM9 clock enable during sleep mode + bit_offset: 16 + bit_size: 1 + - name: TIM10LPEN + description: TIM10 clock enable during Sleep mode + bit_offset: 17 + bit_size: 1 + - name: TIM11LPEN + description: TIM11 clock enable during Sleep mode + bit_offset: 18 + bit_size: 1 +fieldset/APB2RSTR: + description: APB2 peripheral reset register + fields: + - name: TIM1RST + description: TIM1 reset + bit_offset: 0 + bit_size: 1 + - name: TIM8RST + description: TIM8 reset + bit_offset: 1 + bit_size: 1 + - name: USART1RST + description: USART1 reset + bit_offset: 4 + bit_size: 1 + - name: USART6RST + description: USART6 reset + bit_offset: 5 + bit_size: 1 + - name: ADCRST + description: ADC interface reset (common to all ADCs) + bit_offset: 8 + bit_size: 1 + - name: SDIORST + description: SDIO reset + bit_offset: 11 + bit_size: 1 + - name: SPI1RST + description: SPI 1 reset + bit_offset: 12 + bit_size: 1 + - name: SYSCFGRST + description: System configuration controller reset + bit_offset: 14 + bit_size: 1 + - name: TIM9RST + description: TIM9 reset + bit_offset: 16 + bit_size: 1 + - name: TIM10RST + description: TIM10 reset + bit_offset: 17 + bit_size: 1 + - name: TIM11RST + description: TIM11 reset + bit_offset: 18 + bit_size: 1 +fieldset/BDCR: + description: Backup domain control register + 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 + enum_read: LSERDYR + - name: LSEBYP + description: External low-speed oscillator bypass + bit_offset: 2 + bit_size: 1 + enum: LSEBYP + - 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 + 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_read: SWSR + - name: HPRE + description: AHB prescaler + bit_offset: 4 + bit_size: 4 + enum: HPRE + - name: PPRE1 + description: APB Low speed prescaler (APB1) + bit_offset: 10 + bit_size: 3 + enum: PPRE + - name: PPRE2 + description: APB high-speed prescaler (APB2) + bit_offset: 13 + bit_size: 3 + enum: PPRE + - name: RTCPRE + description: HSE division factor for RTC clock + bit_offset: 16 + bit_size: 5 + - name: MCO1 + description: Microcontroller clock output 1 + bit_offset: 21 + bit_size: 2 + enum: MCO1 + - name: I2SSRC + description: I2S clock selection + bit_offset: 23 + bit_size: 1 + enum: ISSRC + - name: MCO1PRE + description: MCO1 prescaler + bit_offset: 24 + bit_size: 3 + enum: MCOPRE + - name: MCO2PRE + description: MCO2 prescaler + bit_offset: 27 + bit_size: 3 + enum: MCOPRE + - name: MCO2 + description: Microcontroller clock output 2 + bit_offset: 30 + bit_size: 2 + enum: MCO2 +fieldset/CIR: + description: clock interrupt register + fields: + - name: LSIRDYF + description: LSI ready interrupt flag + bit_offset: 0 + bit_size: 1 + enum_read: PLLISRDYFR + - name: LSERDYF + description: LSE ready interrupt flag + bit_offset: 1 + bit_size: 1 + enum_read: PLLISRDYFR + - name: HSIRDYF + description: HSI ready interrupt flag + bit_offset: 2 + bit_size: 1 + enum_read: PLLISRDYFR + - name: HSERDYF + description: HSE ready interrupt flag + bit_offset: 3 + bit_size: 1 + enum_read: PLLISRDYFR + - name: PLLRDYF + description: Main PLL (PLL) ready interrupt flag + bit_offset: 4 + bit_size: 1 + enum_read: PLLISRDYFR + - name: PLLI2SRDYF + description: PLLI2S ready interrupt flag + bit_offset: 5 + bit_size: 1 + enum_read: PLLISRDYFR + - name: CSSF + description: Clock security system interrupt flag + bit_offset: 7 + bit_size: 1 + enum_read: CSSFR + - name: LSIRDYIE + description: LSI ready interrupt enable + bit_offset: 8 + bit_size: 1 + enum: PLLISRDYIE + - name: LSERDYIE + description: LSE ready interrupt enable + bit_offset: 9 + bit_size: 1 + enum: PLLISRDYIE + - name: HSIRDYIE + description: HSI ready interrupt enable + bit_offset: 10 + bit_size: 1 + enum: PLLISRDYIE + - name: HSERDYIE + description: HSE ready interrupt enable + bit_offset: 11 + bit_size: 1 + enum: PLLISRDYIE + - name: PLLRDYIE + description: Main PLL (PLL) ready interrupt enable + bit_offset: 12 + bit_size: 1 + enum: PLLISRDYIE + - name: PLLI2SRDYIE + description: PLLI2S ready interrupt enable + bit_offset: 13 + bit_size: 1 + enum: PLLISRDYIE + - name: LSIRDYC + description: LSI ready interrupt clear + bit_offset: 16 + bit_size: 1 + enum_write: PLLISRDYCW + - name: LSERDYC + description: LSE ready interrupt clear + bit_offset: 17 + bit_size: 1 + enum_write: PLLISRDYCW + - name: HSIRDYC + description: HSI ready interrupt clear + bit_offset: 18 + bit_size: 1 + enum_write: PLLISRDYCW + - name: HSERDYC + description: HSE ready interrupt clear + bit_offset: 19 + bit_size: 1 + enum_write: PLLISRDYCW + - name: PLLRDYC + description: Main PLL(PLL) ready interrupt clear + bit_offset: 20 + bit_size: 1 + enum_write: PLLISRDYCW + - name: PLLI2SRDYC + description: PLLI2S ready interrupt clear + bit_offset: 21 + bit_size: 1 + enum_write: PLLISRDYCW + - name: CSSC + description: Clock security system interrupt clear + bit_offset: 23 + bit_size: 1 + enum_write: CSSCW +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 + enum_read: PLLISRDYR + - 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: HSE clock enable + bit_offset: 16 + bit_size: 1 + - name: HSERDY + description: HSE clock ready flag + bit_offset: 17 + bit_size: 1 + enum_read: PLLISRDYR + - name: HSEBYP + description: HSE clock bypass + bit_offset: 18 + bit_size: 1 + enum: HSEBYP + - name: CSSON + description: Clock security system enable + bit_offset: 19 + bit_size: 1 + - name: PLLON + description: Main PLL (PLL) enable + bit_offset: 24 + bit_size: 1 + - name: PLLRDY + description: Main PLL (PLL) clock ready flag + bit_offset: 25 + bit_size: 1 + enum_read: PLLISRDYR + - name: PLLI2SON + description: PLLI2S enable + bit_offset: 26 + bit_size: 1 + - name: PLLI2SRDY + description: PLLI2S clock ready flag + bit_offset: 27 + bit_size: 1 + enum_read: PLLISRDYR +fieldset/CSR: + description: clock control & status register + 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 + enum_read: LSIRDYR + - name: RMVF + description: Remove reset flag + bit_offset: 24 + bit_size: 1 + enum_write: RMVFW + - name: BORRSTF + description: BOR reset flag + bit_offset: 25 + bit_size: 1 + enum_read: LPWRRSTFR + - name: PADRSTF + description: PIN reset flag + bit_offset: 26 + bit_size: 1 + enum_read: LPWRRSTFR + - name: PORRSTF + description: POR/PDR reset flag + bit_offset: 27 + bit_size: 1 + enum_read: LPWRRSTFR + - name: SFTRSTF + description: Software reset flag + bit_offset: 28 + bit_size: 1 + enum_read: LPWRRSTFR + - name: WDGRSTF + description: Independent watchdog reset flag + bit_offset: 29 + bit_size: 1 + enum_read: LPWRRSTFR + - name: WWDGRSTF + description: Window watchdog reset flag + bit_offset: 30 + bit_size: 1 + enum_read: LPWRRSTFR + - name: LPWRRSTF + description: Low-power reset flag + bit_offset: 31 + bit_size: 1 + enum_read: LPWRRSTFR +fieldset/PLLCFGR: + description: PLL configuration register + fields: + - name: PLLM + description: Division factor for the main PLL (PLL) and audio PLL (PLLI2S) input clock + bit_offset: 0 + bit_size: 6 + - name: PLLN + description: Main PLL (PLL) multiplication factor for VCO + bit_offset: 6 + bit_size: 9 + - name: PLLP + description: Main PLL (PLL) division factor for main system clock + bit_offset: 16 + bit_size: 2 + enum: PLLP + - name: PLLSRC + description: Main PLL(PLL) and audio PLL (PLLI2S) entry clock source + bit_offset: 22 + bit_size: 1 + enum: PLLSRC + - name: PLLQ + description: "Main PLL (PLL) division factor for USB OTG FS, SDIO and random number generator clocks" + bit_offset: 24 + bit_size: 4 +fieldset/PLLI2SCFGR: + description: PLLI2S configuration register + fields: + - name: PLLI2SN + description: PLLI2S multiplication factor for VCO + bit_offset: 6 + bit_size: 9 + - name: PLLI2SR + description: PLLI2S division factor for I2S clocks + bit_offset: 28 + bit_size: 3 +fieldset/SSCGR: + description: spread spectrum clock generation register + fields: + - name: MODPER + description: Modulation period + bit_offset: 0 + bit_size: 13 + - name: INCSTEP + description: Incrementation step + bit_offset: 13 + bit_size: 15 + - name: SPREADSEL + description: Spread Select + bit_offset: 30 + bit_size: 1 + enum: SPREADSEL + - name: SSCGEN + description: Spread spectrum modulation enable + bit_offset: 31 + bit_size: 1 +enum/CSSCW: + bit_size: 1 + variants: + - name: Clear + description: Clear CSSF flag + value: 1 +enum/CSSFR: + bit_size: 1 + variants: + - name: NotInterrupted + description: No clock security interrupt caused by HSE clock failure + value: 0 + - name: Interrupted + description: Clock security interrupt caused by HSE clock failure + value: 1 +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/HSEBYP: + bit_size: 1 + variants: + - name: NotBypassed + description: HSE crystal oscillator not bypassed + value: 0 + - name: Bypassed + description: HSE crystal oscillator bypassed with external clock + value: 1 +enum/ISSRC: + bit_size: 1 + variants: + - name: PLLI2S + description: PLLI2S clock used as I2S clock source + value: 0 + - name: CKIN + description: External clock mapped on the I2S_CKIN pin used as I2S clock source + value: 1 +enum/LPWRRSTFR: + bit_size: 1 + variants: + - name: NoReset + description: No reset has occured + value: 0 + - name: Reset + description: A reset has occured + value: 1 +enum/LSEBYP: + bit_size: 1 + variants: + - name: NotBypassed + description: LSE crystal oscillator not bypassed + value: 0 + - name: Bypassed + description: LSE crystal oscillator bypassed with external clock + value: 1 +enum/LSERDYR: + bit_size: 1 + variants: + - name: NotReady + description: LSE oscillator not ready + value: 0 + - name: Ready + description: LSE oscillator ready + value: 1 +enum/LSIRDYR: + bit_size: 1 + variants: + - name: NotReady + description: LSI oscillator not ready + value: 0 + - name: Ready + description: LSI oscillator ready + value: 1 +enum/MCO1: + bit_size: 2 + variants: + - name: HSI + description: HSI clock selected + value: 0 + - name: LSE + description: LSE oscillator selected + value: 1 + - name: HSE + description: HSE oscillator clock selected + value: 2 + - name: PLL + description: PLL clock selected + value: 3 +enum/MCO2: + bit_size: 2 + variants: + - name: SYSCLK + description: System clock (SYSCLK) selected + value: 0 + - name: PLLI2S + description: PLLI2S clock selected + value: 1 + - name: HSE + description: HSE oscillator clock selected + value: 2 + - name: PLL + description: PLL clock selected + value: 3 +enum/MCOPRE: + bit_size: 3 + variants: + - name: Div1 + description: No division + value: 0 + - name: Div2 + description: Division by 2 + value: 4 + - name: Div3 + description: Division by 3 + value: 5 + - name: Div4 + description: Division by 4 + value: 6 + - name: Div5 + description: Division by 5 + value: 7 +enum/PLLISRDYCW: + bit_size: 1 + variants: + - name: Clear + description: Clear interrupt flag + value: 1 +enum/PLLISRDYFR: + bit_size: 1 + variants: + - name: NotInterrupted + description: No clock ready interrupt + value: 0 + - name: Interrupted + description: Clock ready interrupt + value: 1 +enum/PLLISRDYIE: + bit_size: 1 + variants: + - name: Disabled + description: Interrupt disabled + value: 0 + - name: Enabled + description: Interrupt enabled + value: 1 +enum/PLLISRDYR: + bit_size: 1 + variants: + - name: NotReady + description: Clock not ready + value: 0 + - name: Ready + description: Clock ready + value: 1 +enum/PLLP: + bit_size: 2 + variants: + - name: Div2 + description: PLLP=2 + value: 0 + - name: Div4 + description: PLLP=4 + value: 1 + - name: Div6 + description: PLLP=6 + value: 2 + - name: Div8 + description: PLLP=8 + value: 3 +enum/PLLSRC: + bit_size: 1 + variants: + - name: HSI + description: HSI clock selected as PLL and PLLI2S clock entry + value: 0 + - name: HSE + description: HSE oscillator clock selected as PLL and PLLI2S clock entry + 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/RMVFW: + bit_size: 1 + variants: + - name: Clear + description: Clears the reset flag + value: 1 +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/SPREADSEL: + bit_size: 1 + variants: + - name: Center + description: Center spread + value: 0 + - name: Down + description: Down spread + value: 1 +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/SWSR: + bit_size: 2 + variants: + - name: HSI + description: HSI oscillator used as system clock + value: 0 + - name: HSE + description: HSE oscillator used as system clock + value: 1 + - name: PLL + description: PLL used as system clock + value: 2 diff --git a/parse.py b/parse.py index 6f04e10..440dd40 100755 --- a/parse.py +++ b/parse.py @@ -357,6 +357,7 @@ perimap = [ ('STM32F0.0.*:RCC:.*', 'rcc_f0x0/RCC'), ('STM32F0.*:RCC:.*', 'rcc_f0/RCC'), ('STM32F1.*:RCC:.*', 'rcc_f1/RCC'), + ('STM32F2.*:RCC:.*', 'rcc_f2/RCC'), ('STM32F3.*:RCC:.*', 'rcc_f3/RCC'), ('STM32F410.*:RCC:.*', 'rcc_f410/RCC'), ('STM32F4.*:RCC:.*', 'rcc_f4/RCC'),