#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - Clock control register"]
pub cr: CR,
#[doc = "0x04 - Internal clock sources calibration register"]
pub icscr: ICSCR,
#[doc = "0x08 - Clock configuration register"]
pub cfgr: CFGR,
#[doc = "0x0c - Clock interrupt register"]
pub cir: CIR,
#[doc = "0x10 - AHB peripheral reset register"]
pub ahbrstr: AHBRSTR,
#[doc = "0x14 - APB2 peripheral reset register"]
pub apb2rstr: APB2RSTR,
#[doc = "0x18 - APB1 peripheral reset register"]
pub apb1rstr: APB1RSTR,
#[doc = "0x1c - AHB peripheral clock enable register"]
pub ahbenr: AHBENR,
#[doc = "0x20 - APB2 peripheral clock enable register"]
pub apb2enr: APB2ENR,
#[doc = "0x24 - APB1 peripheral clock enable register"]
pub apb1enr: APB1ENR,
#[doc = "0x28 - AHB peripheral clock enable in low power mode register"]
pub ahblpenr: AHBLPENR,
#[doc = "0x2c - APB2 peripheral clock enable in low power mode register"]
pub apb2lpenr: APB2LPENR,
#[doc = "0x30 - APB1 peripheral clock enable in low power mode register"]
pub apb1lpenr: APB1LPENR,
#[doc = "0x34 - Control/status register"]
pub csr: CSR,
}
#[doc = "Clock control register"]
pub struct CR {
register: vcell::VolatileCell<u32>,
}
#[doc = "Clock control register"]
pub mod cr;
#[doc = "Internal clock sources calibration register"]
pub struct ICSCR {
register: vcell::VolatileCell<u32>,
}
#[doc = "Internal clock sources calibration register"]
pub mod icscr;
#[doc = "Clock configuration register"]
pub struct CFGR {
register: vcell::VolatileCell<u32>,
}
#[doc = "Clock configuration register"]
pub mod cfgr;
#[doc = "Clock interrupt register"]
pub struct CIR {
register: vcell::VolatileCell<u32>,
}
#[doc = "Clock interrupt register"]
pub mod cir;
#[doc = "AHB peripheral reset register"]
pub struct AHBRSTR {
register: vcell::VolatileCell<u32>,
}
#[doc = "AHB peripheral reset register"]
pub mod ahbrstr;
#[doc = "APB2 peripheral reset register"]
pub struct APB2RSTR {
register: vcell::VolatileCell<u32>,
}
#[doc = "APB2 peripheral reset register"]
pub mod apb2rstr;
#[doc = "APB1 peripheral reset register"]
pub struct APB1RSTR {
register: vcell::VolatileCell<u32>,
}
#[doc = "APB1 peripheral reset register"]
pub mod apb1rstr;
#[doc = "AHB peripheral clock enable register"]
pub struct AHBENR {
register: vcell::VolatileCell<u32>,
}
#[doc = "AHB peripheral clock enable register"]
pub mod ahbenr;
#[doc = "APB2 peripheral clock enable register"]
pub struct APB2ENR {
register: vcell::VolatileCell<u32>,
}
#[doc = "APB2 peripheral clock enable register"]
pub mod apb2enr;
#[doc = "APB1 peripheral clock enable register"]
pub struct APB1ENR {
register: vcell::VolatileCell<u32>,
}
#[doc = "APB1 peripheral clock enable register"]
pub mod apb1enr;
#[doc = "AHB peripheral clock enable in low power mode register"]
pub struct AHBLPENR {
register: vcell::VolatileCell<u32>,
}
#[doc = "AHB peripheral clock enable in low power mode register"]
pub mod ahblpenr;
#[doc = "APB2 peripheral clock enable in low power mode register"]
pub struct APB2LPENR {
register: vcell::VolatileCell<u32>,
}
#[doc = "APB2 peripheral clock enable in low power mode register"]
pub mod apb2lpenr;
#[doc = "APB1 peripheral clock enable in low power mode register"]
pub struct APB1LPENR {
register: vcell::VolatileCell<u32>,
}
#[doc = "APB1 peripheral clock enable in low power mode register"]
pub mod apb1lpenr;
#[doc = "Control/status register"]
pub struct CSR {
register: vcell::VolatileCell<u32>,
}
#[doc = "Control/status register"]
pub mod csr;