#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::{RORegister, RWRegister, WORegister};
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod CR {
pub mod PLLSAI2RDY {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI2ON {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1RDY {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1ON {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLRDY {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLON {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CSSON {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSEBYP {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSERDY {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSEON {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSIASFS {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSIRDY {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSIKERON {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSION {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSIRANGE {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Range100K: u32 = 0b0000;
pub const Range200K: u32 = 0b0001;
pub const Range400K: u32 = 0b0010;
pub const Range800K: u32 = 0b0011;
pub const Range1M: u32 = 0b0100;
pub const Range2M: u32 = 0b0101;
pub const Range4M: u32 = 0b0110;
pub const Range8M: u32 = 0b0111;
pub const Range16M: u32 = 0b1000;
pub const Range24M: u32 = 0b1001;
pub const Range32M: u32 = 0b1010;
pub const Range48M: u32 = 0b1011;
}
}
pub mod MSIRGSEL {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSIPLLEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSIRDY {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSION {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod ICSCR {
pub mod HSITRIM {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSICAL {
pub const offset: u32 = 16;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSITRIM {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSICAL {
pub const offset: u32 = 0;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CFGR {
pub mod MCOPRE {
pub const offset: u32 = 28;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MCOSEL {
pub const offset: u32 = 24;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod STOPWUCK {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PPRE2 {
pub const offset: u32 = 11;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PPRE1 {
pub const offset: u32 = 8;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HPRE {
pub const offset: u32 = 4;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SWS {
pub const offset: u32 = 2;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SW {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod PLLCFGR {
pub mod PLLR {
pub const offset: u32 = 25;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLREN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLQ {
pub const offset: u32 = 21;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLQEN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLP {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLPEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLN {
pub const offset: u32 = 8;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLM {
pub const offset: u32 = 4;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSRC {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod PLLSAI1CFGR {
pub mod PLLSAI1R {
pub const offset: u32 = 25;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1REN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1Q {
pub const offset: u32 = 21;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1QEN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1P {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1PEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1N {
pub const offset: u32 = 8;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod PLLSAI2CFGR {
pub mod PLLSAI2R {
pub const offset: u32 = 25;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI2REN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI2P {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI2PEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI2N {
pub const offset: u32 = 8;
pub const mask: u32 = 0x7f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CIER {
pub mod LSECSSIE {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI2RDYIE {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1RDYIE {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLRDYIE {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSERDYIE {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSIRDYIE {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSIRDYIE {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSERDYIE {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSIRDYIE {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CIFR {
pub mod LSECSSF {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CSSF {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI2RDYF {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1RDYF {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLRDYF {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSERDYF {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSIRDYF {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSIRDYF {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSERDYF {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSIRDYF {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CICR {
pub mod LSECSSC {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CSSC {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI2RDYC {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAI1RDYC {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLRDYC {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSERDYC {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSIRDYC {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSIRDYC {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSERDYC {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSIRDYC {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB1RSTR {
pub mod TSCRST {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CRCRST {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FLASHRST {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA2RST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA1RST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB2RSTR {
pub mod RNGRST {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AESRST {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADCRST {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OTGFSRST {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOHRST {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOGRST {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOFRST {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOERST {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIODRST {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOCRST {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOBRST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOARST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB3RSTR {
pub mod QSPIRST {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FMCRST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod APB1RSTR1 {
pub mod LPTIM1RST {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OPAMPRST {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DAC1RST {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PWRRST {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CAN1RST {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod I2C3RST {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod I2C2RST {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod I2C1RST {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UART5RST {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UART4RST {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USART3RST {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USART2RST {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SPI3RST {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SPI2RST {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LCDRST {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM7RST {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM6RST {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM5RST {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM4RST {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM3RST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM2RST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod APB1RSTR2 {
pub mod LPTIM2RST {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SWPMI1RST {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPUART1RST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod APB2RSTR {
pub mod DFSDMRST {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SAI2RST {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SAI1RST {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM17RST {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM16RST {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM15RST {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USART1RST {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM8RST {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SPI1RST {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM1RST {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SDMMCRST {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SYSCFGRST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB1ENR {
pub mod TSCEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CRCEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FLASHEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA2EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA1EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB2ENR {
pub mod RNGEN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AESEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADCEN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod OTGFSEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOHEN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOGEN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOFEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOEEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIODEN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOCEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOBEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOAEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB3ENR {
pub mod QSPIEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FMCEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod APB1ENR1 {
pub mod LPTIM1EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod OPAMPEN {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DAC1EN {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PWREN {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CAN1EN {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod I2C3EN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod I2C2EN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod I2C1EN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod UART5EN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod UART4EN {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod USART3EN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod USART2EN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod SPI3EN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SPI2EN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WWDGEN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LCDEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM7EN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM6EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM5EN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM4EN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM3EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM2EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RTCAPBEN {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod APB1ENR2 {
pub mod LPTIM2EN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod SWPMI1EN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPUART1EN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
}
pub mod APB2ENR {
pub mod DFSDMEN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SAI2EN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SAI1EN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM17EN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM16EN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM15EN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USART1EN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod TIM8EN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SPI1EN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM1EN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SDMMCEN {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FIREWALLEN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SYSCFGEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB1SMENR {
pub mod TSCSMEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CRCSMEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SRAM1SMEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FLASHSMEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA2SMEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DMA1SMEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB2SMENR {
pub mod RNGSMEN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod AESSMEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADCFSSMEN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OTGFSSMEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SRAM2SMEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOHSMEN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOGSMEN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOFSMEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOESMEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIODSMEN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOCSMEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOBSMEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod GPIOASMEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod AHB3SMENR {
pub mod QSPISMEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FMCSMEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod APB1SMENR1 {
pub mod LPTIM1SMEN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OPAMPSMEN {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod DAC1SMEN {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PWRSMEN {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod CAN1SMEN {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod I2C3SMEN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod I2C2SMEN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod I2C1SMEN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UART5SMEN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UART4SMEN {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USART3SMEN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USART2SMEN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SP3SMEN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SPI2SMEN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WWDGSMEN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LCDSMEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM7SMEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM6SMEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM5SMEN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM4SMEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM3SMEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM2SMEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RTCAPBSMEN {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod APB1SMENR2 {
pub mod LPTIM2SMEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SWPMI1SMEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPUART1SMEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod APB2SMENR {
pub mod DFSDMSMEN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SAI2SMEN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SAI1SMEN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM17SMEN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM16SMEN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM15SMEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USART1SMEN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM8SMEN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SPI1SMEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod TIM1SMEN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SDMMCSMEN {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SYSCFGSMEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CCIPR {
pub mod DFSDMSEL {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SWPMI1SEL {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod ADCSEL {
pub const offset: u32 = 28;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NoClock: u32 = 0b00;
pub const PLLSAI1: u32 = 0b01;
pub const PLLSAI2: u32 = 0b10;
pub const SYSCLK: u32 = 0b11;
}
}
pub mod CLK48SEL {
pub const offset: u32 = 26;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HSI48: u32 = 0b00;
pub const PLLSAI1: u32 = 0b01;
pub const PLL: u32 = 0b10;
pub const MSI: u32 = 0b11;
}
}
pub mod SAI2SEL {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SAI1SEL {
pub const offset: u32 = 22;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LPTIM2SEL {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PCLK: u32 = 0b00;
pub const LSI: u32 = 0b01;
pub const HSI16: u32 = 0b10;
pub const LSE: u32 = 0b11;
}
}
pub mod LPTIM1SEL {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::LPTIM2SEL::RW;
}
pub mod I2C3SEL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PCLK: u32 = 0b00;
pub const SYSCLK: u32 = 0b01;
pub const HSI16: u32 = 0b10;
}
}
pub mod I2C2SEL {
pub const offset: u32 = 14;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::I2C3SEL::RW;
}
pub mod I2C1SEL {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::I2C3SEL::RW;
}
pub mod LPUART1SEL {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PCLK: u32 = 0b00;
pub const SYSCLK: u32 = 0b01;
pub const HSI16: u32 = 0b10;
pub const LSE: u32 = 0b11;
}
}
pub mod UART5SEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod UART4SEL {
pub const offset: u32 = 6;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod USART3SEL {
pub const offset: u32 = 4;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::LPUART1SEL::RW;
}
pub mod USART2SEL {
pub const offset: u32 = 2;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::LPUART1SEL::RW;
}
pub mod USART1SEL {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::LPUART1SEL::RW;
}
}
pub mod BDCR {
pub mod LSCOSEL {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSCOEN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BDRST {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RTCEN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Disabled: u32 = 0b0;
pub const Enabled: u32 = 0b1;
}
}
pub mod RTCSEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NoClock: u32 = 0b00;
pub const LSE: u32 = 0b01;
pub const LSI: u32 = 0b10;
pub const HSE: u32 = 0b11;
}
}
pub mod LSECSSD {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSECSSON {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSEDRV {
pub const offset: u32 = 3;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSEBYP {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSERDY {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSEON {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CSR {
pub mod LPWRSTF {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod WWDGRSTF {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod IWDGRSTF {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod SFTRSTF {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod BORRSTF {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PINRSTF {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod OBLRSTF {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod FIREWALLRSTF {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod RMVF {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MSISRANGE {
pub const offset: u32 = 8;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSIRDY {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod LSION {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CRRCR {
pub mod HSI48CAL {
pub const offset: u32 = 7;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSI48RDY {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSI48ON {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub CR: RWRegister<u32>,
pub ICSCR: RWRegister<u32>,
pub CFGR: RWRegister<u32>,
pub PLLCFGR: RWRegister<u32>,
pub PLLSAI1CFGR: RWRegister<u32>,
pub PLLSAI2CFGR: RWRegister<u32>,
pub CIER: RWRegister<u32>,
pub CIFR: RORegister<u32>,
pub CICR: WORegister<u32>,
_reserved1: [u8; 4],
pub AHB1RSTR: RWRegister<u32>,
pub AHB2RSTR: RWRegister<u32>,
pub AHB3RSTR: RWRegister<u32>,
_reserved2: [u8; 4],
pub APB1RSTR1: RWRegister<u32>,
pub APB1RSTR2: RWRegister<u32>,
pub APB2RSTR: RWRegister<u32>,
_reserved3: [u8; 4],
pub AHB1ENR: RWRegister<u32>,
pub AHB2ENR: RWRegister<u32>,
pub AHB3ENR: RWRegister<u32>,
_reserved4: [u8; 4],
pub APB1ENR1: RWRegister<u32>,
pub APB1ENR2: RWRegister<u32>,
pub APB2ENR: RWRegister<u32>,
_reserved5: [u8; 4],
pub AHB1SMENR: RWRegister<u32>,
pub AHB2SMENR: RWRegister<u32>,
pub AHB3SMENR: RWRegister<u32>,
_reserved6: [u8; 4],
pub APB1SMENR1: RWRegister<u32>,
pub APB1SMENR2: RWRegister<u32>,
pub APB2SMENR: RWRegister<u32>,
_reserved7: [u8; 4],
pub CCIPR: RWRegister<u32>,
_reserved8: [u8; 4],
pub BDCR: RWRegister<u32>,
pub CSR: RWRegister<u32>,
pub CRRCR: RWRegister<u32>,
}
pub struct ResetValues {
pub CR: u32,
pub ICSCR: u32,
pub CFGR: u32,
pub PLLCFGR: u32,
pub PLLSAI1CFGR: u32,
pub PLLSAI2CFGR: u32,
pub CIER: u32,
pub CIFR: u32,
pub CICR: u32,
pub AHB1RSTR: u32,
pub AHB2RSTR: u32,
pub AHB3RSTR: u32,
pub APB1RSTR1: u32,
pub APB1RSTR2: u32,
pub APB2RSTR: u32,
pub AHB1ENR: u32,
pub AHB2ENR: u32,
pub AHB3ENR: u32,
pub APB1ENR1: u32,
pub APB1ENR2: u32,
pub APB2ENR: u32,
pub AHB1SMENR: u32,
pub AHB2SMENR: u32,
pub AHB3SMENR: u32,
pub APB1SMENR1: u32,
pub APB1SMENR2: u32,
pub APB2SMENR: u32,
pub CCIPR: u32,
pub BDCR: u32,
pub CSR: u32,
pub CRRCR: u32,
}
#[cfg(not(feature = "nosync"))]
pub struct Instance {
pub(crate) addr: u32,
pub(crate) _marker: PhantomData<*const RegisterBlock>,
}
#[cfg(not(feature = "nosync"))]
impl ::core::ops::Deref for Instance {
type Target = RegisterBlock;
#[inline(always)]
fn deref(&self) -> &RegisterBlock {
unsafe { &*(self.addr as *const _) }
}
}
#[cfg(feature = "rtic")]
unsafe impl Send for Instance {}
pub mod RCC {
use super::ResetValues;
#[cfg(not(feature = "nosync"))]
use super::Instance;
#[cfg(not(feature = "nosync"))]
const INSTANCE: Instance = Instance {
addr: 0x40021000,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
CR: 0x00000063,
ICSCR: 0x10000000,
CFGR: 0x00000000,
PLLCFGR: 0x00001000,
PLLSAI1CFGR: 0x00001000,
PLLSAI2CFGR: 0x00001000,
CIER: 0x00000000,
CIFR: 0x00000000,
CICR: 0x00000000,
AHB1RSTR: 0x00000000,
AHB2RSTR: 0x00000000,
AHB3RSTR: 0x00000000,
APB1RSTR1: 0x00000000,
APB1RSTR2: 0x00000000,
APB2RSTR: 0x00000000,
AHB1ENR: 0x00000100,
AHB2ENR: 0x00000000,
AHB3ENR: 0x00000000,
APB1ENR1: 0x00000000,
APB1ENR2: 0x00000000,
APB2ENR: 0x00000000,
AHB1SMENR: 0x00011303,
AHB2SMENR: 0x000532FF,
AHB3SMENR: 0x00000101,
APB1SMENR1: 0xF2FECA3F,
APB1SMENR2: 0x00000025,
APB2SMENR: 0x01677C01,
CCIPR: 0x00000000,
BDCR: 0x00000000,
CSR: 0x0C000600,
CRRCR: 0x00000000,
};
#[cfg(not(feature = "nosync"))]
#[allow(renamed_and_removed_lints)]
#[allow(private_no_mangle_statics)]
#[no_mangle]
static mut RCC_TAKEN: bool = false;
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn take() -> Option<Instance> {
external_cortex_m::interrupt::free(|_| unsafe {
if RCC_TAKEN {
None
} else {
RCC_TAKEN = true;
Some(INSTANCE)
}
})
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub fn release(inst: Instance) {
external_cortex_m::interrupt::free(|_| unsafe {
if RCC_TAKEN && inst.addr == INSTANCE.addr {
RCC_TAKEN = false;
} else {
panic!("Released a peripheral which was not taken");
}
});
}
#[cfg(not(feature = "nosync"))]
#[inline]
pub unsafe fn steal() -> Instance {
RCC_TAKEN = true;
INSTANCE
}
}
pub const RCC: *const RegisterBlock = 0x40021000 as *const _;