From 369401ca071c00e2c0789aac5451ff9233e66461 Mon Sep 17 00:00:00 2001 From: Grant Miller Date: Mon, 26 Jul 2021 18:51:38 -0500 Subject: [PATCH] Add F1 RCC --- data/registers/rcc_f1.yaml | 1478 ++++++++++++++++++++++++++++++++++++ parse.py | 1 + 2 files changed, 1479 insertions(+) create mode 100644 data/registers/rcc_f1.yaml diff --git a/data/registers/rcc_f1.yaml b/data/registers/rcc_f1.yaml new file mode 100644 index 0000000..6549042 --- /dev/null +++ b/data/registers/rcc_f1.yaml @@ -0,0 +1,1478 @@ +block/RCC: + description: Reset and clock control + items: + - byte_offset: 0 + description: Clock control register + fieldset: CR + name: CR + - byte_offset: 4 + description: Clock configuration register (RCC_CFGR) + fieldset: CFGR + name: CFGR + - byte_offset: 8 + description: Clock interrupt register (RCC_CIR) + fieldset: CIR + name: CIR + - byte_offset: 12 + description: APB2 peripheral reset register (RCC_APB2RSTR) + fieldset: APB2RSTR + name: APB2RSTR + - byte_offset: 16 + description: APB1 peripheral reset register (RCC_APB1RSTR) + fieldset: APB1RSTR + name: APB1RSTR + - byte_offset: 20 + description: AHB Peripheral Clock enable register (RCC_AHBENR) + fieldset: AHBENR + name: AHBENR + - byte_offset: 24 + description: APB2 peripheral clock enable register (RCC_APB2ENR) + fieldset: APB2ENR + name: APB2ENR + - byte_offset: 28 + description: APB1 peripheral clock enable register (RCC_APB1ENR) + fieldset: APB1ENR + name: APB1ENR + - byte_offset: 32 + description: Backup domain control register (RCC_BDCR) + fieldset: BDCR + name: BDCR + - byte_offset: 36 + description: Control/status register (RCC_CSR) + fieldset: CSR + name: CSR + - byte_offset: 40 + description: AHB peripheral clock reset register (RCC_AHBRSTR) + fieldset: AHBRSTR + name: AHBRSTR + - byte_offset: 44 + description: Clock configuration register 2 + fieldset: CFGR2 + name: CFGR2 +enum/ADCPRE: + bit_size: 2 + variants: + - description: PCLK2 divided by 2 + name: Div2 + value: 0 + - description: PCLK2 divided by 4 + name: Div4 + value: 1 + - description: PCLK2 divided by 8 + name: Div6 + value: 2 + - description: PCLK2 divided by 16 + name: Div8 + value: 3 +enum/AFIOEN: + bit_size: 1 + variants: + - description: The selected clock is disabled + name: Disabled + value: 0 + - description: The selected clock is enabled + name: Enabled + value: 1 +enum/AFIORST: + bit_size: 1 + variants: + - description: Reset the selected module + name: Reset + value: 1 +enum/BDRST: + bit_size: 1 + variants: + - description: Reset not activated + name: Disabled + value: 0 + - description: Reset the entire RTC domain + name: Enabled + value: 1 +enum/CSSCW: + bit_size: 1 + variants: + - description: Clear CSSF flag + name: Clear + value: 1 +enum/CSSFR: + bit_size: 1 + variants: + - description: No clock security interrupt caused by HSE clock failure + name: NotInterrupted + value: 0 + - description: Clock security interrupt caused by HSE clock failure + name: Interrupted + value: 1 +enum/CSSON: + bit_size: 1 + variants: + - description: Clock security system disabled (clock detector OFF) + name: 'Off' + value: 0 + - description: Clock security system enable (clock detector ON if the HSE is ready, + OFF if not) + name: 'On' + value: 1 +enum/DMA1EN: + bit_size: 1 + variants: + - description: The selected clock is disabled + name: Disabled + value: 0 + - description: The selected clock is enabled + name: Enabled + value: 1 +enum/HPRE: + bit_size: 4 + variants: + - description: SYSCLK not divided + name: Div1 + value: 0 + - description: SYSCLK divided by 2 + name: Div2 + value: 8 + - description: SYSCLK divided by 4 + name: Div4 + value: 9 + - description: SYSCLK divided by 8 + name: Div8 + value: 10 + - description: SYSCLK divided by 16 + name: Div16 + value: 11 + - description: SYSCLK divided by 64 + name: Div64 + value: 12 + - description: SYSCLK divided by 128 + name: Div128 + value: 13 + - description: SYSCLK divided by 256 + name: Div256 + value: 14 + - description: SYSCLK divided by 512 + name: Div512 + value: 15 +enum/HSEBYP: + bit_size: 1 + variants: + - description: HSE crystal oscillator not bypassed + name: NotBypassed + value: 0 + - description: HSE crystal oscillator bypassed with external clock + name: Bypassed + value: 1 +enum/HSION: + bit_size: 1 + variants: + - description: Clock Off + name: 'Off' + value: 0 + - description: Clock On + name: 'On' + value: 1 +enum/HSIRDYR: + bit_size: 1 + variants: + - description: Clock not ready + name: NotReady + value: 0 + - description: Clock ready + name: Ready + value: 1 +enum/I2S2SRC: + bit_size: 1 + variants: + - description: System clock (SYSCLK) selected as I2S clock entry + name: SYSCLK + value: 0 + - description: PLL3 VCO clock selected as I2S clock entry + name: PLL3 + value: 1 +enum/LSEBYP: + bit_size: 1 + variants: + - description: LSE crystal oscillator not bypassed + name: NotBypassed + value: 0 + - description: LSE crystal oscillator bypassed with external clock + name: Bypassed + value: 1 +enum/LSEON: + bit_size: 1 + variants: + - description: LSE oscillator Off + name: 'Off' + value: 0 + - description: LSE oscillator On + name: 'On' + value: 1 +enum/LSERDYR: + bit_size: 1 + variants: + - description: LSE oscillator not ready + name: NotReady + value: 0 + - description: LSE oscillator ready + name: Ready + value: 1 +enum/LSION: + bit_size: 1 + variants: + - description: LSI oscillator Off + name: 'Off' + value: 0 + - description: LSI oscillator On + name: 'On' + value: 1 +enum/LSIRDYCW: + bit_size: 1 + variants: + - description: Clear interrupt flag + name: Clear + value: 1 +enum/LSIRDYFR: + bit_size: 1 + variants: + - description: No clock ready interrupt + name: NotInterrupted + value: 0 + - description: Clock ready interrupt + name: Interrupted + value: 1 +enum/LSIRDYIE: + bit_size: 1 + variants: + - description: Interrupt disabled + name: Disabled + value: 0 + - description: Interrupt enabled + name: Enabled + value: 1 +enum/LSIRDYR: + bit_size: 1 + variants: + - description: LSI oscillator not ready + name: NotReady + value: 0 + - description: LSI oscillator ready + name: Ready + value: 1 +enum/MCO: + bit_size: 4 + variants: + - description: MCO output disabled, no clock on MCO + name: NoMCO + value: 0 + - description: System clock selected + name: SYSCLK + value: 4 + - description: HSI oscillator clock selected + name: HSI + value: 5 + - description: HSE oscillator clock selected + name: HSE + value: 6 + - description: PLL clock selected (divided by 1 or 2, depending en PLLNODIV) + name: PLL + value: 7 +enum/OTGFSPRE: + bit_size: 1 + variants: + - description: PLL clock is divided by 1.5 + name: DIV1_5 + value: 0 + - description: PLL clock is not divided + name: DIV1 + value: 1 +enum/OTGFSRST: + bit_size: 1 + variants: + - description: Reset the selected module + name: Reset + value: 1 +enum/PINRSTFR: + bit_size: 1 + variants: + - description: No reset has occured + name: NoReset + value: 0 + - description: A reset has occured + name: Reset + value: 1 +enum/PLL2MUL: + bit_size: 4 + variants: + - description: PLL clock entry x8 + name: Mul8 + value: 6 + - description: PLL clock entry x9 + name: Mul9 + value: 7 + - description: PLL clock entry x10 + name: Mul10 + value: 8 + - description: PLL clock entry x11 + name: Mul11 + value: 9 + - description: PLL clock entry x12 + name: Mul12 + value: 10 + - description: PLL clock entry x13 + name: Mul13 + value: 11 + - description: PLL clock entry x14 + name: Mul14 + value: 12 + - description: PLL clock entry x16 + name: Mul16 + value: 14 + - description: PLL clock entry x20 + name: Mul20 + value: 15 +enum/PLLMUL: + bit_size: 4 + variants: + - description: PLL input clock x2 + name: Mul2 + value: 0 + - description: PLL input clock x3 + name: Mul3 + value: 1 + - description: PLL input clock x4 + name: Mul4 + value: 2 + - description: PLL input clock x5 + name: Mul5 + value: 3 + - description: PLL input clock x6 + name: Mul6 + value: 4 + - description: PLL input clock x7 + name: Mul7 + value: 5 + - description: PLL input clock x8 + name: Mul8 + value: 6 + - description: PLL input clock x9 + name: Mul9 + value: 7 + - description: PLL input clock x10 + name: Mul10 + value: 8 + - description: PLL input clock x11 + name: Mul11 + value: 9 + - description: PLL input clock x12 + name: Mul12 + value: 10 + - description: PLL input clock x13 + name: Mul13 + value: 11 + - description: PLL input clock x14 + name: Mul14 + value: 12 + - description: PLL input clock x15 + name: Mul15 + value: 13 + - description: PLL input clock x16 + name: Mul16 + value: 14 + - description: PLL input clock x16 + name: Mul16x + value: 15 +enum/PLLSRC: + bit_size: 1 + variants: + - description: HSI divided by 2 selected as PLL input clock + name: HSI_Div2 + value: 0 + - description: HSE divided by PREDIV selected as PLL input clock + name: HSE_Div_PREDIV + value: 1 +enum/PLLXTPRE: + bit_size: 1 + variants: + - description: HSE clock not divided + name: Div1 + value: 0 + - description: HSE clock divided by 2 + name: Div2 + value: 1 +enum/PPRE1: + bit_size: 3 + variants: + - description: HCLK not divided + name: Div1 + value: 0 + - description: HCLK divided by 2 + name: Div2 + value: 4 + - description: HCLK divided by 4 + name: Div4 + value: 5 + - description: HCLK divided by 8 + name: Div8 + value: 6 + - description: HCLK divided by 16 + name: Div16 + value: 7 +enum/PREDIV1: + bit_size: 4 + variants: + - description: PREDIV input clock not divided + name: Div1 + value: 0 + - description: PREDIV input clock divided by 2 + name: Div2 + value: 1 + - description: PREDIV input clock divided by 3 + name: Div3 + value: 2 + - description: PREDIV input clock divided by 4 + name: Div4 + value: 3 + - description: PREDIV input clock divided by 5 + name: Div5 + value: 4 + - description: PREDIV input clock divided by 6 + name: Div6 + value: 5 + - description: PREDIV input clock divided by 7 + name: Div7 + value: 6 + - description: PREDIV input clock divided by 8 + name: Div8 + value: 7 + - description: PREDIV input clock divided by 9 + name: Div9 + value: 8 + - description: PREDIV input clock divided by 10 + name: Div10 + value: 9 + - description: PREDIV input clock divided by 11 + name: Div11 + value: 10 + - description: PREDIV input clock divided by 12 + name: Div12 + value: 11 + - description: PREDIV input clock divided by 13 + name: Div13 + value: 12 + - description: PREDIV input clock divided by 14 + name: Div14 + value: 13 + - description: PREDIV input clock divided by 15 + name: Div15 + value: 14 + - description: PREDIV input clock divided by 16 + name: Div16 + value: 15 +enum/PREDIV1SRC: + bit_size: 1 + variants: + - description: HSE oscillator clock selected as PREDIV1 clock entry + name: HSE + value: 0 + - description: PLL2 selected as PREDIV1 clock entry + name: PLL2 + value: 1 +enum/RMVFW: + bit_size: 1 + variants: + - description: Clears the reset flag + name: Clear + value: 1 +enum/RTCEN: + bit_size: 1 + variants: + - description: RTC clock disabled + name: Disabled + value: 0 + - description: RTC clock enabled + name: Enabled + value: 1 +enum/RTCSEL: + bit_size: 2 + variants: + - description: No clock + name: NoClock + value: 0 + - description: LSE oscillator clock used as RTC clock + name: LSE + value: 1 + - description: LSI oscillator clock used as RTC clock + name: LSI + value: 2 + - description: HSE oscillator clock divided by a prescaler used as RTC clock + name: HSE + value: 3 +enum/SW: + bit_size: 2 + variants: + - description: HSI selected as system clock + name: HSI + value: 0 + - description: HSE selected as system clock + name: HSE + value: 1 + - description: PLL selected as system clock + name: PLL + value: 2 +enum/SWSR: + bit_size: 2 + variants: + - description: HSI oscillator used as system clock + name: HSI + value: 0 + - description: HSE oscillator used as system clock + name: HSE + value: 1 + - description: PLL used as system clock + name: PLL + value: 2 +enum/TIM2EN: + bit_size: 1 + variants: + - description: The selected clock is disabled + name: Disabled + value: 0 + - description: The selected clock is enabled + name: Enabled + value: 1 +enum/TIM2RST: + bit_size: 1 + variants: + - description: Reset the selected module + name: Reset + value: 1 +enum/USBPRE: + bit_size: 1 + variants: + - description: PLL clock is divided by 1.5 + name: DIV1_5 + value: 0 + - description: PLL clock is not divided + name: DIV1 + value: 1 +fieldset/AHBENR: + description: AHB Peripheral Clock enable register (RCC_AHBENR) + fields: + - bit_offset: 0 + bit_size: 1 + description: DMA1 clock enable + enum: DMA1EN + name: DMA1EN + - bit_offset: 1 + bit_size: 1 + description: DMA2 clock enable + enum: DMA1EN + name: DMA2EN + - bit_offset: 2 + bit_size: 1 + description: SRAM interface clock enable + enum: DMA1EN + name: SRAMEN + - bit_offset: 4 + bit_size: 1 + description: FLITF clock enable + enum: DMA1EN + name: FLITFEN + - bit_offset: 6 + bit_size: 1 + description: CRC clock enable + enum: DMA1EN + name: CRCEN + - bit_offset: 8 + bit_size: 1 + description: FSMC clock enable + enum: DMA1EN + name: FSMCEN + - bit_offset: 10 + bit_size: 1 + description: SDIO clock enable + enum: DMA1EN + name: SDIOEN + - bit_offset: 12 + bit_size: 1 + description: USB OTG FS clock enable + enum: DMA1EN + name: OTGFSEN + - bit_offset: 14 + bit_size: 1 + description: Ethernet MAC clock enable + enum: DMA1EN + name: ETHMACEN + - bit_offset: 15 + bit_size: 1 + description: Ethernet MAC TX clock enable + enum: DMA1EN + name: ETHMACTXEN + - bit_offset: 16 + bit_size: 1 + description: Ethernet MAC RX clock enable + enum: DMA1EN + name: ETHMACRXEN +fieldset/AHBRSTR: + description: AHB peripheral clock reset register (RCC_AHBRSTR) + fields: + - bit_offset: 12 + bit_size: 1 + description: USB OTG FS reset + enum: OTGFSRST + name: OTGFSRST + - bit_offset: 14 + bit_size: 1 + description: Ethernet MAC reset + enum: OTGFSRST + name: ETHMACRST +fieldset/APB1ENR: + description: APB1 peripheral clock enable register (RCC_APB1ENR) + fields: + - bit_offset: 0 + bit_size: 1 + description: Timer 2 clock enable + enum: TIM2EN + name: TIM2EN + - bit_offset: 1 + bit_size: 1 + description: Timer 3 clock enable + enum: TIM2EN + name: TIM3EN + - bit_offset: 2 + bit_size: 1 + description: Timer 4 clock enable + enum: TIM2EN + name: TIM4EN + - bit_offset: 3 + bit_size: 1 + description: Timer 5 clock enable + enum: TIM2EN + name: TIM5EN + - bit_offset: 4 + bit_size: 1 + description: Timer 6 clock enable + enum: TIM2EN + name: TIM6EN + - bit_offset: 5 + bit_size: 1 + description: Timer 7 clock enable + enum: TIM2EN + name: TIM7EN + - bit_offset: 6 + bit_size: 1 + description: Timer 12 clock enable + enum: TIM2EN + name: TIM12EN + - bit_offset: 7 + bit_size: 1 + description: Timer 13 clock enable + enum: TIM2EN + name: TIM13EN + - bit_offset: 8 + bit_size: 1 + description: Timer 14 clock enable + enum: TIM2EN + name: TIM14EN + - bit_offset: 11 + bit_size: 1 + description: Window watchdog clock enable + enum: TIM2EN + name: WWDGEN + - bit_offset: 14 + bit_size: 1 + description: SPI 2 clock enable + enum: TIM2EN + name: SPI2EN + - bit_offset: 15 + bit_size: 1 + description: SPI 3 clock enable + enum: TIM2EN + name: SPI3EN + - bit_offset: 17 + bit_size: 1 + description: USART 2 clock enable + enum: TIM2EN + name: USART2EN + - bit_offset: 18 + bit_size: 1 + description: USART 3 clock enable + enum: TIM2EN + name: USART3EN + - bit_offset: 19 + bit_size: 1 + description: UART 4 clock enable + enum: TIM2EN + name: UART4EN + - bit_offset: 20 + bit_size: 1 + description: UART 5 clock enable + enum: TIM2EN + name: UART5EN + - bit_offset: 21 + bit_size: 1 + description: I2C 1 clock enable + enum: TIM2EN + name: I2C1EN + - bit_offset: 22 + bit_size: 1 + description: I2C 2 clock enable + enum: TIM2EN + name: I2C2EN + - bit_offset: 23 + bit_size: 1 + description: USB clock enable + enum: TIM2EN + name: USBEN + - bit_offset: 25 + bit_size: 1 + description: CAN clock enable + enum: TIM2EN + name: CANEN + - bit_offset: 25 + bit_size: 1 + description: CAN1 clock enable + enum: TIM2EN + name: CAN1EN + - bit_offset: 26 + bit_size: 1 + description: CAN2 clock enable + enum: TIM2EN + name: CAN2EN + - bit_offset: 27 + bit_size: 1 + description: Backup interface clock enable + enum: TIM2EN + name: BKPEN + - bit_offset: 28 + bit_size: 1 + description: Power interface clock enable + enum: TIM2EN + name: PWREN + - bit_offset: 29 + bit_size: 1 + description: DAC interface clock enable + enum: TIM2EN + name: DACEN + - bit_offset: 30 + bit_size: 1 + description: CEC clock enable + enum: TIM2EN + name: CECEN +fieldset/APB1RSTR: + description: APB1 peripheral reset register (RCC_APB1RSTR) + fields: + - bit_offset: 0 + bit_size: 1 + description: Timer 2 reset + enum: TIM2RST + name: TIM2RST + - bit_offset: 1 + bit_size: 1 + description: Timer 3 reset + enum: TIM2RST + name: TIM3RST + - bit_offset: 2 + bit_size: 1 + description: Timer 4 reset + enum: TIM2RST + name: TIM4RST + - bit_offset: 3 + bit_size: 1 + description: Timer 5 reset + enum: TIM2RST + name: TIM5RST + - bit_offset: 4 + bit_size: 1 + description: Timer 6 reset + enum: TIM2RST + name: TIM6RST + - bit_offset: 5 + bit_size: 1 + description: Timer 7 reset + enum: TIM2RST + name: TIM7RST + - bit_offset: 6 + bit_size: 1 + description: Timer 12 reset + enum: TIM2RST + name: TIM12RST + - bit_offset: 7 + bit_size: 1 + description: Timer 13 reset + enum: TIM2RST + name: TIM13RST + - bit_offset: 8 + bit_size: 1 + description: Timer 14 reset + enum: TIM2RST + name: TIM14RST + - bit_offset: 11 + bit_size: 1 + description: Window watchdog reset + enum: TIM2RST + name: WWDGRST + - bit_offset: 14 + bit_size: 1 + description: SPI2 reset + enum: TIM2RST + name: SPI2RST + - bit_offset: 15 + bit_size: 1 + description: SPI3 reset + enum: TIM2RST + name: SPI3RST + - bit_offset: 17 + bit_size: 1 + description: USART 2 reset + enum: TIM2RST + name: USART2RST + - bit_offset: 18 + bit_size: 1 + description: USART 3 reset + enum: TIM2RST + name: USART3RST + - bit_offset: 19 + bit_size: 1 + description: USART 4 reset + enum: TIM2RST + name: UART4RST + - bit_offset: 20 + bit_size: 1 + description: USART 5 reset + enum: TIM2RST + name: UART5RST + - bit_offset: 21 + bit_size: 1 + description: I2C1 reset + enum: TIM2RST + name: I2C1RST + - bit_offset: 22 + bit_size: 1 + description: I2C2 reset + enum: TIM2RST + name: I2C2RST + - bit_offset: 23 + bit_size: 1 + description: USB reset + enum: TIM2RST + name: USBRST + - bit_offset: 25 + bit_size: 1 + description: CAN reset + enum: TIM2RST + name: CANRST + - bit_offset: 25 + bit_size: 1 + description: CAN1 reset + enum: TIM2RST + name: CAN1RST + - bit_offset: 26 + bit_size: 1 + description: CAN2 reset + enum: TIM2RST + name: CAN2RST + - bit_offset: 27 + bit_size: 1 + description: Backup interface reset + enum: TIM2RST + name: BKPRST + - bit_offset: 28 + bit_size: 1 + description: Power interface reset + enum: TIM2RST + name: PWRRST + - bit_offset: 29 + bit_size: 1 + description: DAC interface reset + enum: TIM2RST + name: DACRST + - bit_offset: 30 + bit_size: 1 + description: CEC reset + enum: TIM2RST + name: CECRST +fieldset/APB2ENR: + description: APB2 peripheral clock enable register (RCC_APB2ENR) + fields: + - bit_offset: 0 + bit_size: 1 + description: Alternate function I/O clock enable + enum: AFIOEN + name: AFIOEN + - bit_offset: 2 + bit_size: 1 + description: I/O port A clock enable + enum: AFIOEN + name: IOPAEN + - bit_offset: 3 + bit_size: 1 + description: I/O port B clock enable + enum: AFIOEN + name: IOPBEN + - bit_offset: 4 + bit_size: 1 + description: I/O port C clock enable + enum: AFIOEN + name: IOPCEN + - bit_offset: 5 + bit_size: 1 + description: I/O port D clock enable + enum: AFIOEN + name: IOPDEN + - bit_offset: 6 + bit_size: 1 + description: I/O port E clock enable + enum: AFIOEN + name: IOPEEN + - bit_offset: 7 + bit_size: 1 + description: I/O port F clock enable + enum: AFIOEN + name: IOPFEN + - bit_offset: 8 + bit_size: 1 + description: I/O port G clock enable + enum: AFIOEN + name: IOPGEN + - bit_offset: 9 + bit_size: 1 + description: ADC 1 interface clock enable + enum: AFIOEN + name: ADC1EN + - bit_offset: 10 + bit_size: 1 + description: ADC 2 interface clock enable + enum: AFIOEN + name: ADC2EN + - bit_offset: 11 + bit_size: 1 + description: TIM1 Timer clock enable + enum: AFIOEN + name: TIM1EN + - bit_offset: 12 + bit_size: 1 + description: SPI 1 clock enable + enum: AFIOEN + name: SPI1EN + - bit_offset: 13 + bit_size: 1 + description: TIM8 Timer clock enable + enum: AFIOEN + name: TIM8EN + - bit_offset: 14 + bit_size: 1 + description: USART1 clock enable + enum: AFIOEN + name: USART1EN + - bit_offset: 15 + bit_size: 1 + description: ADC3 interface clock enable + enum: AFIOEN + name: ADC3EN + - bit_offset: 16 + bit_size: 1 + description: TIM15 Timer clock enable + enum: AFIOEN + name: TIM15EN + - bit_offset: 17 + bit_size: 1 + description: TIM16 Timer clock enable + enum: AFIOEN + name: TIM16EN + - bit_offset: 18 + bit_size: 1 + description: TIM17 Timer clock enable + enum: AFIOEN + name: TIM17EN + - bit_offset: 19 + bit_size: 1 + description: TIM9 Timer clock enable + enum: AFIOEN + name: TIM9EN + - bit_offset: 20 + bit_size: 1 + description: TIM10 Timer clock enable + enum: AFIOEN + name: TIM10EN + - bit_offset: 21 + bit_size: 1 + description: TIM11 Timer clock enable + enum: AFIOEN + name: TIM11EN +fieldset/APB2RSTR: + description: APB2 peripheral reset register (RCC_APB2RSTR) + fields: + - bit_offset: 0 + bit_size: 1 + description: Alternate function I/O reset + enum: AFIORST + name: AFIORST + - bit_offset: 2 + bit_size: 1 + description: IO port A reset + enum: AFIORST + name: IOPARST + - bit_offset: 3 + bit_size: 1 + description: IO port B reset + enum: AFIORST + name: IOPBRST + - bit_offset: 4 + bit_size: 1 + description: IO port C reset + enum: AFIORST + name: IOPCRST + - bit_offset: 5 + bit_size: 1 + description: IO port D reset + enum: AFIORST + name: IOPDRST + - bit_offset: 6 + bit_size: 1 + description: IO port E reset + enum: AFIORST + name: IOPERST + - bit_offset: 7 + bit_size: 1 + description: IO port F reset + enum: AFIORST + name: IOPFRST + - bit_offset: 8 + bit_size: 1 + description: IO port G reset + enum: AFIORST + name: IOPGRST + - bit_offset: 9 + bit_size: 1 + description: ADC 1 interface reset + enum: AFIORST + name: ADC1RST + - bit_offset: 10 + bit_size: 1 + description: ADC 2 interface reset + enum: AFIORST + name: ADC2RST + - bit_offset: 11 + bit_size: 1 + description: TIM1 timer reset + enum: AFIORST + name: TIM1RST + - bit_offset: 12 + bit_size: 1 + description: SPI 1 reset + enum: AFIORST + name: SPI1RST + - bit_offset: 13 + bit_size: 1 + description: TIM8 timer reset + enum: AFIORST + name: TIM8RST + - bit_offset: 14 + bit_size: 1 + description: USART1 reset + enum: AFIORST + name: USART1RST + - bit_offset: 15 + bit_size: 1 + description: ADC 3 interface reset + enum: AFIORST + name: ADC3RST + - bit_offset: 16 + bit_size: 1 + description: TIM15 timer reset + enum: AFIORST + name: TIM15RST + - bit_offset: 17 + bit_size: 1 + description: TIM16 timer reset + enum: AFIORST + name: TIM16RST + - bit_offset: 18 + bit_size: 1 + description: TIM17 timer reset + enum: AFIORST + name: TIM17RST + - bit_offset: 19 + bit_size: 1 + description: TIM9 timer reset + enum: AFIORST + name: TIM9RST + - bit_offset: 20 + bit_size: 1 + description: TIM10 timer reset + enum: AFIORST + name: TIM10RST + - bit_offset: 21 + bit_size: 1 + description: TIM11 timer reset + enum: AFIORST + name: TIM11RST +fieldset/BDCR: + description: Backup domain control register (RCC_BDCR) + fields: + - bit_offset: 0 + bit_size: 1 + description: External Low Speed oscillator enable + enum: LSEON + name: LSEON + - bit_offset: 1 + bit_size: 1 + description: External Low Speed oscillator ready + enum_read: LSERDYR + name: LSERDY + - bit_offset: 2 + bit_size: 1 + description: External Low Speed oscillator bypass + enum: LSEBYP + name: LSEBYP + - bit_offset: 8 + bit_size: 2 + description: RTC clock source selection + enum: RTCSEL + name: RTCSEL + - bit_offset: 15 + bit_size: 1 + description: RTC clock enable + enum: RTCEN + name: RTCEN + - bit_offset: 16 + bit_size: 1 + description: Backup domain software reset + enum: BDRST + name: BDRST +fieldset/CFGR: + description: Clock configuration register (RCC_CFGR) + fields: + - bit_offset: 0 + bit_size: 2 + description: System clock Switch + enum: SW + name: SW + - bit_offset: 2 + bit_size: 2 + description: System Clock Switch Status + enum_read: SWSR + name: SWS + - bit_offset: 4 + bit_size: 4 + description: AHB prescaler + enum: HPRE + name: HPRE + - bit_offset: 8 + bit_size: 3 + description: APB Low speed prescaler (APB1) + enum: PPRE1 + name: PPRE1 + - bit_offset: 11 + bit_size: 3 + description: APB High speed prescaler (APB2) + enum: PPRE1 + name: PPRE2 + - bit_offset: 14 + bit_size: 2 + description: ADC prescaler + enum: ADCPRE + name: ADCPRE + - bit_offset: 16 + bit_size: 1 + description: PLL entry clock source + enum: PLLSRC + name: PLLSRC + - bit_offset: 17 + bit_size: 1 + description: HSE divider for PLL entry + enum: PLLXTPRE + name: PLLXTPRE + - bit_offset: 18 + bit_size: 4 + description: PLL Multiplication Factor + enum: PLLMUL + name: PLLMUL + - bit_offset: 22 + bit_size: 1 + description: USB prescaler + enum: USBPRE + name: USBPRE + - bit_offset: 22 + bit_size: 1 + description: USB OTG FS prescaler + enum: OTGFSPRE + name: OTGFSPRE + - bit_offset: 24 + bit_size: 3 + description: Microcontroller clock output + enum: MCO + name: MCO +fieldset/CFGR2: + description: Clock configuration register2 (RCC_CFGR2) + fields: + - bit_offset: 0 + bit_size: 4 + description: PREDIV1 division factor + enum: PREDIV1 + name: PREDIV1 + - bit_offset: 4 + bit_size: 4 + description: PREDIV2 division factor + enum: PREDIV1 + name: PREDIV2 + - bit_offset: 8 + bit_size: 4 + description: PLL2 Multiplication Factor + enum: PLL2MUL + name: PLL2MUL + - bit_offset: 12 + bit_size: 4 + description: PLL3 Multiplication Factor + enum: PLL2MUL + name: PLL3MUL + - bit_offset: 16 + bit_size: 1 + description: PREDIV1 entry clock source + enum: PREDIV1SRC + name: PREDIV1SRC + - bit_offset: 17 + bit_size: 1 + description: I2S2 clock source + enum: I2S2SRC + name: I2S2SRC + - bit_offset: 18 + bit_size: 1 + description: I2S3 clock source + enum: I2S2SRC + name: I2S3SRC +fieldset/CIR: + description: Clock interrupt register (RCC_CIR) + fields: + - bit_offset: 0 + bit_size: 1 + description: LSI Ready Interrupt flag + enum_read: LSIRDYFR + name: LSIRDYF + - bit_offset: 1 + bit_size: 1 + description: LSE Ready Interrupt flag + enum_read: LSIRDYFR + name: LSERDYF + - bit_offset: 2 + bit_size: 1 + description: HSI Ready Interrupt flag + enum_read: LSIRDYFR + name: HSIRDYF + - bit_offset: 3 + bit_size: 1 + description: HSE Ready Interrupt flag + enum_read: LSIRDYFR + name: HSERDYF + - bit_offset: 4 + bit_size: 1 + description: PLL Ready Interrupt flag + enum_read: LSIRDYFR + name: PLLRDYF + - bit_offset: 5 + bit_size: 1 + description: PLL2 Ready Interrupt flag + enum_read: LSIRDYFR + name: PLL2RDYF + - bit_offset: 6 + bit_size: 1 + description: PLL3 Ready Interrupt flag + enum_read: LSIRDYFR + name: PLL3RDYF + - bit_offset: 7 + bit_size: 1 + description: Clock Security System Interrupt flag + enum_read: CSSFR + name: CSSF + - bit_offset: 8 + bit_size: 1 + description: LSI Ready Interrupt Enable + enum: LSIRDYIE + name: LSIRDYIE + - bit_offset: 9 + bit_size: 1 + description: LSE Ready Interrupt Enable + enum: LSIRDYIE + name: LSERDYIE + - bit_offset: 10 + bit_size: 1 + description: HSI Ready Interrupt Enable + enum: LSIRDYIE + name: HSIRDYIE + - bit_offset: 11 + bit_size: 1 + description: HSE Ready Interrupt Enable + enum: LSIRDYIE + name: HSERDYIE + - bit_offset: 12 + bit_size: 1 + description: PLL Ready Interrupt Enable + enum: LSIRDYIE + name: PLLRDYIE + - bit_offset: 13 + bit_size: 1 + description: PLL2 Ready Interrupt Enable + enum: LSIRDYIE + name: PLL2RDYIE + - bit_offset: 14 + bit_size: 1 + description: PLL3 Ready Interrupt Enable + enum: LSIRDYIE + name: PLL3RDYIE + - bit_offset: 16 + bit_size: 1 + description: LSI Ready Interrupt Clear + enum_write: LSIRDYCW + name: LSIRDYC + - bit_offset: 17 + bit_size: 1 + description: LSE Ready Interrupt Clear + enum_write: LSIRDYCW + name: LSERDYC + - bit_offset: 18 + bit_size: 1 + description: HSI Ready Interrupt Clear + enum_write: LSIRDYCW + name: HSIRDYC + - bit_offset: 19 + bit_size: 1 + description: HSE Ready Interrupt Clear + enum_write: LSIRDYCW + name: HSERDYC + - bit_offset: 20 + bit_size: 1 + description: PLL Ready Interrupt Clear + enum_write: LSIRDYCW + name: PLLRDYC + - bit_offset: 21 + bit_size: 1 + description: PLL2 Ready Interrupt Clear + enum_write: LSIRDYCW + name: PLL2RDYC + - bit_offset: 22 + bit_size: 1 + description: PLL3 Ready Interrupt Clear + enum_write: LSIRDYCW + name: PLL3RDYC + - bit_offset: 23 + bit_size: 1 + description: Clock security system interrupt clear + enum_write: CSSCW + name: CSSC +fieldset/CR: + description: Clock control register + fields: + - bit_offset: 0 + bit_size: 1 + description: Internal High Speed clock enable + enum: HSION + name: HSION + - bit_offset: 1 + bit_size: 1 + description: Internal High Speed clock ready flag + enum_read: HSIRDYR + name: HSIRDY + - bit_offset: 3 + bit_size: 5 + description: Internal High Speed clock trimming + name: HSITRIM + - bit_offset: 8 + bit_size: 8 + description: Internal High Speed clock Calibration + name: HSICAL + - bit_offset: 16 + bit_size: 1 + description: External High Speed clock enable + enum: HSION + name: HSEON + - bit_offset: 17 + bit_size: 1 + description: External High Speed clock ready flag + enum_read: HSIRDYR + name: HSERDY + - bit_offset: 18 + bit_size: 1 + description: External High Speed clock Bypass + enum: HSEBYP + name: HSEBYP + - bit_offset: 19 + bit_size: 1 + description: Clock Security System enable + enum: CSSON + name: CSSON + - bit_offset: 24 + bit_size: 1 + description: PLL enable + enum: HSION + name: PLLON + - bit_offset: 25 + bit_size: 1 + description: PLL clock ready flag + enum_read: HSIRDYR + name: PLLRDY + - bit_offset: 26 + bit_size: 1 + description: PLL2 enable + name: PLL2ON + - bit_offset: 27 + bit_size: 1 + description: PLL2 clock ready flag + enum_read: HSIRDYR + name: PLL2RDY + - bit_offset: 28 + bit_size: 1 + description: PLL3 enable + name: PLL3ON + - bit_offset: 29 + bit_size: 1 + description: PLL3 clock ready flag + enum_read: HSIRDYR + name: PLL3RDY +fieldset/CSR: + description: Control/status register (RCC_CSR) + fields: + - bit_offset: 0 + bit_size: 1 + description: Internal low speed oscillator enable + enum: LSION + name: LSION + - bit_offset: 1 + bit_size: 1 + description: Internal low speed oscillator ready + enum_read: LSIRDYR + name: LSIRDY + - bit_offset: 24 + bit_size: 1 + description: Remove reset flag + enum_write: RMVFW + name: RMVF + - bit_offset: 26 + bit_size: 1 + description: PIN reset flag + enum_read: PINRSTFR + name: PINRSTF + - bit_offset: 27 + bit_size: 1 + description: POR/PDR reset flag + enum_read: PINRSTFR + name: PORRSTF + - bit_offset: 28 + bit_size: 1 + description: Software reset flag + enum_read: PINRSTFR + name: SFTRSTF + - bit_offset: 29 + bit_size: 1 + description: Independent watchdog reset flag + enum_read: PINRSTFR + name: IWDGRSTF + - bit_offset: 30 + bit_size: 1 + description: Window watchdog reset flag + enum_read: PINRSTFR + name: WWDGRSTF + - bit_offset: 31 + bit_size: 1 + description: Low-power reset flag + enum_read: PINRSTFR + name: LPWRRSTF diff --git a/parse.py b/parse.py index baa823c..54e78ae 100755 --- a/parse.py +++ b/parse.py @@ -323,6 +323,7 @@ perimap = [ ('STM32WL.*:RCC:.*', 'rcc_wl5x/RCC'), ('STM32F0.0.*:RCC:.*', 'rcc_f0x0/RCC'), ('STM32F0.*:RCC:.*', 'rcc_f0/RCC'), + ('STM32F1.*:RCC:.*', 'rcc_f1/RCC'), ('.*:STM32H7AB_rcc_v1_0', ''), # rcc_h7ab/RCC ('.*:STM32H7_rcc_v1_0', 'rcc_h7/RCC'), ('.*:STM32W_rcc_v1_0', 'rcc_wb55/RCC'),