#![allow(non_snake_case, non_upper_case_globals)]
#![allow(non_camel_case_types)]
use crate::RWRegister;
#[cfg(not(feature = "nosync"))]
use core::marker::PhantomData;
pub mod CR {
pub mod PLLI2SRDY {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotReady: u32 = 0b0;
pub const Ready: u32 = 0b1;
}
pub mod W {}
pub mod RW {}
}
pub mod PLLI2SON {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Off: u32 = 0b0;
pub const On: u32 = 0b1;
}
}
pub mod PLLRDY {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub use super::PLLI2SRDY::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 use super::PLLI2SON::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 const Off: u32 = 0b0;
pub const On: u32 = 0b1;
}
}
pub mod HSEBYP {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NotBypassed: u32 = 0b0;
pub const Bypassed: u32 = 0b1;
}
}
pub mod HSERDY {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub use super::PLLI2SRDY::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 use super::PLLI2SON::RW;
}
pub mod HSICAL {
pub const offset: u32 = 8;
pub const mask: u32 = 0xff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSITRIM {
pub const offset: u32 = 3;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod HSIRDY {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub use super::PLLI2SRDY::R;
pub mod W {}
pub mod RW {}
}
pub mod HSION {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::PLLI2SON::RW;
}
pub mod PLLSAIRDY {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub use super::PLLI2SRDY::R;
pub mod W {}
pub mod RW {}
}
pub mod PLLSAION {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::PLLI2SON::RW;
}
}
pub mod PLLCFGR {
pub mod PLLSRC {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HSI: u32 = 0b0;
pub const HSE: u32 = 0b1;
}
}
pub mod PLLR {
pub const offset: u32 = 28;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLM {
pub const offset: u32 = 0;
pub const mask: u32 = 0x3f << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLN {
pub const offset: u32 = 6;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLP {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Div2: u32 = 0b00;
pub const Div4: u32 = 0b01;
pub const Div6: u32 = 0b10;
pub const Div8: u32 = 0b11;
}
}
pub mod PLLQ {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod CFGR {
pub mod MCO2 {
pub const offset: u32 = 30;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SYSCLK: u32 = 0b00;
pub const PLLI2S: u32 = 0b01;
pub const HSE: u32 = 0b10;
pub const PLL: u32 = 0b11;
}
}
pub mod MCO2PRE {
pub const offset: u32 = 27;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Div1: u32 = 0b000;
pub const Div2: u32 = 0b100;
pub const Div3: u32 = 0b101;
pub const Div4: u32 = 0b110;
pub const Div5: u32 = 0b111;
}
}
pub mod MCO1PRE {
pub const offset: u32 = 24;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::MCO2PRE::RW;
}
pub mod I2SSRC {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PLLI2S: u32 = 0b0;
pub const CKIN: u32 = 0b1;
}
}
pub mod MCO1 {
pub const offset: u32 = 21;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HSI: u32 = 0b00;
pub const LSE: u32 = 0b01;
pub const HSE: u32 = 0b10;
pub const PLL: u32 = 0b11;
}
}
pub mod RTCPRE {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PPRE2 {
pub const offset: u32 = 13;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Div1: u32 = 0b000;
pub const Div2: u32 = 0b100;
pub const Div4: u32 = 0b101;
pub const Div8: u32 = 0b110;
pub const Div16: u32 = 0b111;
}
}
pub mod PPRE1 {
pub const offset: u32 = 10;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub use super::PPRE2::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 const Div1: u32 = 0b0000;
pub const Div2: u32 = 0b1000;
pub const Div4: u32 = 0b1001;
pub const Div8: u32 = 0b1010;
pub const Div16: u32 = 0b1011;
pub const Div64: u32 = 0b1100;
pub const Div128: u32 = 0b1101;
pub const Div256: u32 = 0b1110;
pub const Div512: u32 = 0b1111;
}
}
pub mod SW {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const HSI: u32 = 0b00;
pub const HSE: u32 = 0b01;
pub const PLL: u32 = 0b10;
}
}
pub mod SWS {
pub const offset: u32 = 2;
pub const mask: u32 = 0b11 << offset;
pub mod R {
pub const HSI: u32 = 0b00;
pub const HSE: u32 = 0b01;
pub const PLL: u32 = 0b10;
}
pub mod W {}
pub mod RW {}
}
}
pub mod CIR {
pub mod CSSC {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod PLLSAIRDYC {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod PLLI2SRDYC {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub use super::PLLSAIRDYC::W;
pub mod RW {}
}
pub mod PLLRDYC {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub use super::PLLSAIRDYC::W;
pub mod RW {}
}
pub mod HSERDYC {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub use super::PLLSAIRDYC::W;
pub mod RW {}
}
pub mod HSIRDYC {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub use super::PLLSAIRDYC::W;
pub mod RW {}
}
pub mod LSERDYC {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub use super::PLLSAIRDYC::W;
pub mod RW {}
}
pub mod LSIRDYC {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub use super::PLLSAIRDYC::W;
pub mod RW {}
}
pub mod PLLSAIRDYIE {
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 PLLI2SRDYIE {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::PLLSAIRDYIE::RW;
}
pub mod PLLRDYIE {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::PLLSAIRDYIE::RW;
}
pub mod HSERDYIE {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::PLLSAIRDYIE::RW;
}
pub mod HSIRDYIE {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::PLLSAIRDYIE::RW;
}
pub mod LSERDYIE {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::PLLSAIRDYIE::RW;
}
pub mod LSIRDYIE {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::PLLSAIRDYIE::RW;
}
pub mod CSSF {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotInterrupted: u32 = 0b0;
pub const Interrupted: u32 = 0b1;
}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAIRDYF {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotInterrupted: u32 = 0b0;
pub const Interrupted: u32 = 0b1;
}
pub mod W {}
pub mod RW {}
}
pub mod PLLI2SRDYF {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub use super::PLLSAIRDYF::R;
pub mod W {}
pub mod RW {}
}
pub mod PLLRDYF {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub use super::PLLSAIRDYF::R;
pub mod W {}
pub mod RW {}
}
pub mod HSERDYF {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub use super::PLLSAIRDYF::R;
pub mod W {}
pub mod RW {}
}
pub mod HSIRDYF {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub use super::PLLSAIRDYF::R;
pub mod W {}
pub mod RW {}
}
pub mod LSERDYF {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub use super::PLLSAIRDYF::R;
pub mod W {}
pub mod RW {}
}
pub mod LSIRDYF {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub use super::PLLSAIRDYF::R;
pub mod W {}
pub mod RW {}
}
}
pub mod AHB1RSTR {
pub mod OTGHSRST {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Reset: u32 = 0b1;
}
}
pub mod ETHMACRST {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod DMA2DRST {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod DMA2RST {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod DMA1RST {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod CRCRST {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOKRST {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOJRST {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOIRST {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOHRST {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOGRST {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOFRST {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOERST {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIODRST {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOCRST {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOBRST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
pub mod GPIOARST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSRST::RW;
}
}
pub mod AHB2RSTR {
pub mod OTGFSRST {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Reset: u32 = 0b1;
}
}
pub mod RNGRST {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSRST::RW;
}
pub mod HSAHRST {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSRST::RW;
}
pub mod CRYPRST {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSRST::RW;
}
pub mod DCMIRST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSRST::RW;
}
}
pub mod AHB3RSTR {
pub mod FMCRST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Reset: u32 = 0b1;
}
}
pub mod QSPIRST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::FMCRST::RW;
}
}
pub mod APB1RSTR {
pub mod TIM2RST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Reset: u32 = 0b1;
}
}
pub mod TIM3RST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod TIM4RST {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod TIM5RST {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod TIM6RST {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod TIM7RST {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod TIM12RST {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod TIM13RST {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod TIM14RST {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod WWDGRST {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod SPI2RST {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod SPI3RST {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod UART2RST {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod UART3RST {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod UART4RST {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod UART5RST {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod I2C1RST {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod I2C2RST {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod I2C3RST {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod CAN1RST {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod CAN2RST {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod PWRRST {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod DACRST {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod UART7RST {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod UART8RST {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod SPDIFRXRST {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod CECRST {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod LPTIM1RST {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
pub mod I2C4RST {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2RST::RW;
}
}
pub mod APB2RSTR {
pub mod TIM1RST {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Reset: u32 = 0b1;
}
}
pub mod TIM8RST {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod USART1RST {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod USART6RST {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod ADCRST {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod SPI1RST {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod SPI4RST {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod SYSCFGRST {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod TIM9RST {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod TIM10RST {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod TIM11RST {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod SPI5RST {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod SPI6RST {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod SAI1RST {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod LTDCRST {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod SAI2RST {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
pub mod SDMMC1RST {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1RST::RW;
}
}
pub mod AHB1ENR {
pub mod OTGHSULPIEN {
pub const offset: u32 = 30;
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 OTGHSEN {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod ETHMACPTPEN {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod ETHMACRXEN {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod ETHMACTXEN {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod ETHMACEN {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod DMA2DEN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod DMA2EN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod DMA1EN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod CCMDATARAMEN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod BKPSRAMEN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod CRCEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOKEN {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOJEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOIEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOHEN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOGEN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOFEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOEEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIODEN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOCEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOBEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod GPIOAEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
pub mod DTCMRAMEN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGHSULPIEN::RW;
}
}
pub mod AHB2ENR {
pub mod OTGFSEN {
pub const offset: u32 = 7;
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 RNGEN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSEN::RW;
}
pub mod HASHEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSEN::RW;
}
pub mod CRYPEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSEN::RW;
}
pub mod DCMIEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSEN::RW;
}
}
pub mod AHB3ENR {
pub mod FMCEN {
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 QSPIEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::FMCEN::RW;
}
}
pub mod APB1ENR {
pub mod TIM2EN {
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 TIM3EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod TIM4EN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod TIM5EN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod TIM6EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod TIM7EN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod TIM12EN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod TIM13EN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod TIM14EN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod WWDGEN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod SPI2EN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod SPI3EN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod USART2EN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod USART3EN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod UART4EN {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod UART5EN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod I2C1EN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod I2C2EN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod I2C3EN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod CAN1EN {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod CAN2EN {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod PWREN {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod DACEN {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod UART7EN {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod UART8EN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod SPDIFRXEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod CECEN {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod LPTMI1EN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
pub mod I2C4EN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2EN::RW;
}
}
pub mod APB2ENR {
pub mod TIM1EN {
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 TIM8EN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod USART1EN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod USART6EN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod ADC1EN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod ADC2EN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod ADC3EN {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod SPI1EN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod SPI4EN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod SYSCFGEN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod TIM9EN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod TIM10EN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod TIM11EN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod SPI5EN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod SPI6EN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod SAI1EN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod LTDCEN {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod SAI2EN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod SDMMC1EN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
pub mod MDIOEN {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1EN::RW;
}
}
pub mod AHB1LPENR {
pub mod GPIOALPEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DisabledInSleep: u32 = 0b0;
pub const EnabledInSleep: u32 = 0b1;
}
}
pub mod GPIOBLPEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIOCLPEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIODLPEN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIOELPEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIOFLPEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIOGLPEN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIOHLPEN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIOILPEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIOJLPEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod GPIOKLPEN {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod CRCLPEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod FLITFLPEN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod SRAM1LPEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod SRAM2LPEN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod BKPSRAMLPEN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod SRAM3LPEN {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod DMA1LPEN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod DMA2LPEN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod DMA2DLPEN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod ETHMACLPEN {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod ETHMACTXLPEN {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod ETHMACRXLPEN {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod ETHMACPTPLPEN {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod OTGHSLPEN {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
pub mod OTGHSULPILPEN {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::GPIOALPEN::RW;
}
}
pub mod AHB2LPENR {
pub mod OTGFSLPEN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DisabledInSleep: u32 = 0b0;
pub const EnabledInSleep: u32 = 0b1;
}
}
pub mod RNGLPEN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSLPEN::RW;
}
pub mod HASHLPEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSLPEN::RW;
}
pub mod CRYPLPEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSLPEN::RW;
}
pub mod DCMILPEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::OTGFSLPEN::RW;
}
}
pub mod AHB3LPENR {
pub mod FMCLPEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DisabledInSleep: u32 = 0b0;
pub const EnabledInSleep: u32 = 0b1;
}
}
pub mod QSPILPEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::FMCLPEN::RW;
}
}
pub mod APB1LPENR {
pub mod TIM2LPEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DisabledInSleep: u32 = 0b0;
pub const EnabledInSleep: u32 = 0b1;
}
}
pub mod TIM3LPEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod TIM4LPEN {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod TIM5LPEN {
pub const offset: u32 = 3;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod TIM6LPEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod TIM7LPEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod TIM12LPEN {
pub const offset: u32 = 6;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod TIM13LPEN {
pub const offset: u32 = 7;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod TIM14LPEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod WWDGLPEN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod SPI2LPEN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod SPI3LPEN {
pub const offset: u32 = 15;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod USART2LPEN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod USART3LPEN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod UART4LPEN {
pub const offset: u32 = 19;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod UART5LPEN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod I2C1LPEN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod I2C2LPEN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod I2C3LPEN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod CAN1LPEN {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod CAN2LPEN {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod PWRLPEN {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod DACLPEN {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod UART7LPEN {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod UART8LPEN {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod SPDIFRXLPEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod CECLPEN {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod LPTIM1LPEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
pub mod I2C4LPEN {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM2LPEN::RW;
}
}
pub mod APB2LPENR {
pub mod TIM1LPEN {
pub const offset: u32 = 0;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DisabledInSleep: u32 = 0b0;
pub const EnabledInSleep: u32 = 0b1;
}
}
pub mod TIM8LPEN {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod USART1LPEN {
pub const offset: u32 = 4;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod USART6LPEN {
pub const offset: u32 = 5;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod ADC1LPEN {
pub const offset: u32 = 8;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod ADC2LPEN {
pub const offset: u32 = 9;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod ADC3LPEN {
pub const offset: u32 = 10;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod SPI1LPEN {
pub const offset: u32 = 12;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod SPI4LPEN {
pub const offset: u32 = 13;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod SYSCFGLPEN {
pub const offset: u32 = 14;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod TIM9LPEN {
pub const offset: u32 = 16;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod TIM10LPEN {
pub const offset: u32 = 17;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod TIM11LPEN {
pub const offset: u32 = 18;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod SPI5LPEN {
pub const offset: u32 = 20;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod SPI6LPEN {
pub const offset: u32 = 21;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod SAI1LPEN {
pub const offset: u32 = 22;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod LTDCLPEN {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod SAI2LPEN {
pub const offset: u32 = 23;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
pub mod SDMMC1LPEN {
pub const offset: u32 = 11;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::TIM1LPEN::RW;
}
}
pub mod BDCR {
pub mod BDRST {
pub const offset: u32 = 16;
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 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 LSEBYP {
pub const offset: u32 = 2;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const NotBypassed: u32 = 0b0;
pub const Bypassed: u32 = 0b1;
}
}
pub mod LSERDY {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotReady: u32 = 0b0;
pub const Ready: u32 = 0b1;
}
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 const Off: u32 = 0b0;
pub const On: u32 = 0b1;
}
}
pub mod LSEDRV {
pub const offset: u32 = 3;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Low: u32 = 0b00;
pub const MediumHigh: u32 = 0b01;
pub const MediumLow: u32 = 0b10;
pub const High: u32 = 0b11;
}
}
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 CSR {
pub mod LPWRRSTF {
pub const offset: u32 = 31;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NoReset: u32 = 0b0;
pub const Reset: u32 = 0b1;
}
pub mod W {}
pub mod RW {}
}
pub mod WWDGRSTF {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub use super::LPWRRSTF::R;
pub mod W {}
pub mod RW {}
}
pub mod WDGRSTF {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub use super::LPWRRSTF::R;
pub mod W {}
pub mod RW {}
}
pub mod SFTRSTF {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub use super::LPWRRSTF::R;
pub mod W {}
pub mod RW {}
}
pub mod PORRSTF {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub use super::LPWRRSTF::R;
pub mod W {}
pub mod RW {}
}
pub mod PADRSTF {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub use super::LPWRRSTF::R;
pub mod W {}
pub mod RW {}
}
pub mod BORRSTF {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub use super::LPWRRSTF::R;
pub mod W {}
pub mod RW {}
}
pub mod RMVF {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {
pub const Clear: u32 = 0b1;
}
pub mod RW {}
}
pub mod LSIRDY {
pub const offset: u32 = 1;
pub const mask: u32 = 1 << offset;
pub mod R {
pub const NotReady: u32 = 0b0;
pub const Ready: u32 = 0b1;
}
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 const Off: u32 = 0b0;
pub const On: u32 = 0b1;
}
}
}
pub mod SSCGR {
pub mod SSCGEN {
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 SPREADSEL {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Center: u32 = 0b0;
pub const Down: u32 = 0b1;
}
}
pub mod INCSTEP {
pub const offset: u32 = 13;
pub const mask: u32 = 0x7fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod MODPER {
pub const offset: u32 = 0;
pub const mask: u32 = 0x1fff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod PLLI2SCFGR {
pub mod PLLI2SR {
pub const offset: u32 = 28;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLI2SQ {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLI2SN {
pub const offset: u32 = 6;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLI2SP {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Div2: u32 = 0b00;
pub const Div4: u32 = 0b01;
pub const Div6: u32 = 0b10;
pub const Div8: u32 = 0b11;
}
}
}
pub mod PLLSAICFGR {
pub mod PLLSAIN {
pub const offset: u32 = 6;
pub const mask: u32 = 0x1ff << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAIP {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Div2: u32 = 0b00;
pub const Div4: u32 = 0b01;
pub const Div6: u32 = 0b10;
pub const Div8: u32 = 0b11;
}
}
pub mod PLLSAIQ {
pub const offset: u32 = 24;
pub const mask: u32 = 0b1111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
pub mod PLLSAIR {
pub const offset: u32 = 28;
pub const mask: u32 = 0b111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {}
}
}
pub mod DCKCFGR1 {
pub mod PLLI2SDIVQ {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Div1: u32 = 0b00000;
pub const Div2: u32 = 0b00001;
pub const Div3: u32 = 0b00010;
pub const Div4: u32 = 0b00011;
pub const Div5: u32 = 0b00100;
pub const Div6: u32 = 0b00101;
pub const Div7: u32 = 0b00110;
pub const Div8: u32 = 0b00111;
pub const Div9: u32 = 0b01000;
pub const Div10: u32 = 0b01001;
pub const Div11: u32 = 0b01010;
pub const Div12: u32 = 0b01011;
pub const Div13: u32 = 0b01100;
pub const Div14: u32 = 0b01101;
pub const Div15: u32 = 0b01110;
pub const Div16: u32 = 0b01111;
pub const Div17: u32 = 0b10000;
pub const Div18: u32 = 0b10001;
pub const Div19: u32 = 0b10010;
pub const Div20: u32 = 0b10011;
pub const Div21: u32 = 0b10100;
pub const Div22: u32 = 0b10101;
pub const Div23: u32 = 0b10110;
pub const Div24: u32 = 0b10111;
pub const Div25: u32 = 0b11000;
pub const Div26: u32 = 0b11001;
pub const Div27: u32 = 0b11010;
pub const Div28: u32 = 0b11011;
pub const Div29: u32 = 0b11100;
pub const Div30: u32 = 0b11101;
pub const Div31: u32 = 0b11110;
pub const Div32: u32 = 0b11111;
}
}
pub mod PLLSAIDIVQ {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11111 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Div1: u32 = 0b00000;
pub const Div2: u32 = 0b00001;
pub const Div3: u32 = 0b00010;
pub const Div4: u32 = 0b00011;
pub const Div5: u32 = 0b00100;
pub const Div6: u32 = 0b00101;
pub const Div7: u32 = 0b00110;
pub const Div8: u32 = 0b00111;
pub const Div9: u32 = 0b01000;
pub const Div10: u32 = 0b01001;
pub const Div11: u32 = 0b01010;
pub const Div12: u32 = 0b01011;
pub const Div13: u32 = 0b01100;
pub const Div14: u32 = 0b01101;
pub const Div15: u32 = 0b01110;
pub const Div16: u32 = 0b01111;
pub const Div17: u32 = 0b10000;
pub const Div18: u32 = 0b10001;
pub const Div19: u32 = 0b10010;
pub const Div20: u32 = 0b10011;
pub const Div21: u32 = 0b10100;
pub const Div22: u32 = 0b10101;
pub const Div23: u32 = 0b10110;
pub const Div24: u32 = 0b10111;
pub const Div25: u32 = 0b11000;
pub const Div26: u32 = 0b11001;
pub const Div27: u32 = 0b11010;
pub const Div28: u32 = 0b11011;
pub const Div29: u32 = 0b11100;
pub const Div30: u32 = 0b11101;
pub const Div31: u32 = 0b11110;
pub const Div32: u32 = 0b11111;
}
}
pub mod PLLSAIDIVR {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Div2: u32 = 0b00;
pub const Div4: u32 = 0b01;
pub const Div8: u32 = 0b10;
pub const Div16: u32 = 0b11;
}
}
pub mod SAI1SEL {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PLLSAI: u32 = 0b00;
pub const PLLI2S: u32 = 0b01;
pub const AFIF: u32 = 0b10;
pub const HSI_HSE: u32 = 0b11;
}
}
pub mod SAI2SEL {
pub const offset: u32 = 22;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PLLSAI: u32 = 0b00;
pub const PLLI2S: u32 = 0b01;
pub const AFIF: u32 = 0b10;
pub const HSI_HSE: u32 = 0b11;
}
}
pub mod TIMPRE {
pub const offset: u32 = 24;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const Mul2: u32 = 0b0;
pub const Mul4: u32 = 0b1;
}
}
pub mod DFSDM1SEL {
pub const offset: u32 = 25;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const APB2: u32 = 0b0;
pub const SYSCLK: u32 = 0b1;
}
}
pub mod ADFSDM1SEL {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const SAI1: u32 = 0b0;
pub const SAI2: u32 = 0b1;
}
}
}
pub mod DCKCFGR2 {
pub mod USART1SEL {
pub const offset: u32 = 0;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const APB2: u32 = 0b00;
pub const SYSCLK: u32 = 0b01;
pub const HSI: u32 = 0b10;
pub const LSE: u32 = 0b11;
}
}
pub mod USART2SEL {
pub const offset: u32 = 2;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const APB1: u32 = 0b00;
pub const SYSCLK: u32 = 0b01;
pub const HSI: u32 = 0b10;
pub const LSE: u32 = 0b11;
}
}
pub mod USART3SEL {
pub const offset: u32 = 4;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::USART2SEL::RW;
}
pub mod UART4SEL {
pub const offset: u32 = 6;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::USART2SEL::RW;
}
pub mod UART5SEL {
pub const offset: u32 = 8;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::USART2SEL::RW;
}
pub mod USART6SEL {
pub const offset: u32 = 10;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::USART1SEL::RW;
}
pub mod UART7SEL {
pub const offset: u32 = 12;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::USART2SEL::RW;
}
pub mod UART8SEL {
pub const offset: u32 = 14;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::USART2SEL::RW;
}
pub mod I2C1SEL {
pub const offset: u32 = 16;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const APB: u32 = 0b00;
pub const SYSCLK: u32 = 0b01;
pub const HSI: u32 = 0b10;
}
}
pub mod I2C2SEL {
pub const offset: u32 = 18;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::I2C1SEL::RW;
}
pub mod I2C3SEL {
pub const offset: u32 = 20;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::I2C1SEL::RW;
}
pub mod I2C4SEL {
pub const offset: u32 = 22;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub use super::I2C1SEL::RW;
}
pub mod LPTIM1SEL {
pub const offset: u32 = 24;
pub const mask: u32 = 0b11 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const APB1: u32 = 0b00;
pub const LSI: u32 = 0b01;
pub const HSI: u32 = 0b10;
pub const LSE: u32 = 0b11;
}
}
pub mod CECSEL {
pub const offset: u32 = 26;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const LSE: u32 = 0b0;
pub const HSI_Div488: u32 = 0b1;
}
}
pub mod CK48MSEL {
pub const offset: u32 = 27;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const PLL: u32 = 0b0;
pub const PLLSAI: u32 = 0b1;
}
}
pub mod SDMMC1SEL {
pub const offset: u32 = 28;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const CK48M: u32 = 0b0;
pub const SYSCLK: u32 = 0b1;
}
}
pub mod SDMMC2SEL {
pub const offset: u32 = 29;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub use super::SDMMC1SEL::RW;
}
pub mod DSISEL {
pub const offset: u32 = 30;
pub const mask: u32 = 1 << offset;
pub mod R {}
pub mod W {}
pub mod RW {
pub const DSI_PHY: u32 = 0b0;
pub const PLLR: u32 = 0b1;
}
}
}
#[repr(C)]
pub struct RegisterBlock {
pub CR: RWRegister<u32>,
pub PLLCFGR: RWRegister<u32>,
pub CFGR: RWRegister<u32>,
pub CIR: RWRegister<u32>,
pub AHB1RSTR: RWRegister<u32>,
pub AHB2RSTR: RWRegister<u32>,
pub AHB3RSTR: RWRegister<u32>,
_reserved1: [u32; 1],
pub APB1RSTR: RWRegister<u32>,
pub APB2RSTR: RWRegister<u32>,
_reserved2: [u32; 2],
pub AHB1ENR: RWRegister<u32>,
pub AHB2ENR: RWRegister<u32>,
pub AHB3ENR: RWRegister<u32>,
_reserved3: [u32; 1],
pub APB1ENR: RWRegister<u32>,
pub APB2ENR: RWRegister<u32>,
_reserved4: [u32; 2],
pub AHB1LPENR: RWRegister<u32>,
pub AHB2LPENR: RWRegister<u32>,
pub AHB3LPENR: RWRegister<u32>,
_reserved5: [u32; 1],
pub APB1LPENR: RWRegister<u32>,
pub APB2LPENR: RWRegister<u32>,
_reserved6: [u32; 2],
pub BDCR: RWRegister<u32>,
pub CSR: RWRegister<u32>,
_reserved7: [u32; 2],
pub SSCGR: RWRegister<u32>,
pub PLLI2SCFGR: RWRegister<u32>,
pub PLLSAICFGR: RWRegister<u32>,
pub DCKCFGR1: RWRegister<u32>,
pub DCKCFGR2: RWRegister<u32>,
}
pub struct ResetValues {
pub CR: u32,
pub PLLCFGR: u32,
pub CFGR: u32,
pub CIR: u32,
pub AHB1RSTR: u32,
pub AHB2RSTR: u32,
pub AHB3RSTR: u32,
pub APB1RSTR: u32,
pub APB2RSTR: u32,
pub AHB1ENR: u32,
pub AHB2ENR: u32,
pub AHB3ENR: u32,
pub APB1ENR: u32,
pub APB2ENR: u32,
pub AHB1LPENR: u32,
pub AHB2LPENR: u32,
pub AHB3LPENR: u32,
pub APB1LPENR: u32,
pub APB2LPENR: u32,
pub BDCR: u32,
pub CSR: u32,
pub SSCGR: u32,
pub PLLI2SCFGR: u32,
pub PLLSAICFGR: u32,
pub DCKCFGR1: u32,
pub DCKCFGR2: 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: 0x40023800,
_marker: ::core::marker::PhantomData,
};
pub const reset: ResetValues = ResetValues {
CR: 0x00000083,
PLLCFGR: 0x24003010,
CFGR: 0x00000000,
CIR: 0x00000000,
AHB1RSTR: 0x00000000,
AHB2RSTR: 0x00000000,
AHB3RSTR: 0x00000000,
APB1RSTR: 0x00000000,
APB2RSTR: 0x00000000,
AHB1ENR: 0x00100000,
AHB2ENR: 0x00000000,
AHB3ENR: 0x00000000,
APB1ENR: 0x00000000,
APB2ENR: 0x00000000,
AHB1LPENR: 0x7E6791FF,
AHB2LPENR: 0x000000F1,
AHB3LPENR: 0x00000001,
APB1LPENR: 0x36FEC9FF,
APB2LPENR: 0x00075F33,
BDCR: 0x00000000,
CSR: 0x0E000000,
SSCGR: 0x00000000,
PLLI2SCFGR: 0x20003000,
PLLSAICFGR: 0x20003000,
DCKCFGR1: 0x20003000,
DCKCFGR2: 0x20003000,
};
#[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 = 0x40023800 as *const _;