efm32gg11b820 0.5.0

Peripheral access API for EFM32GG11B820 microcontrollers
Documentation
#[doc = r" Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Control Register"]
    pub ctrl: CTRL,
    #[doc = "0x04 - Status Register"]
    pub status: STATUS,
    #[doc = "0x08 - Configuration Lock Register"]
    pub lock: LOCK,
    #[doc = "0x0c - Memory Control Register"]
    pub ram0ctrl: RAM0CTRL,
    #[doc = "0x10 - Command Register"]
    pub cmd: CMD,
    _reserved0: [u8; 4usize],
    #[doc = "0x18 - EM4 Control Register"]
    pub em4ctrl: EM4CTRL,
    #[doc = "0x1c - Temperature Limits for Interrupt Generation"]
    pub templimits: TEMPLIMITS,
    #[doc = "0x20 - Value of Last Temperature Measurement"]
    pub temp: TEMP,
    #[doc = "0x24 - Interrupt Flag Register"]
    pub if_: IF,
    #[doc = "0x28 - Interrupt Flag Set Register"]
    pub ifs: IFS,
    #[doc = "0x2c - Interrupt Flag Clear Register"]
    pub ifc: IFC,
    #[doc = "0x30 - Interrupt Enable Register"]
    pub ien: IEN,
    #[doc = "0x34 - Regulator and Supply Lock Register"]
    pub pwrlock: PWRLOCK,
    _reserved1: [u8; 4usize],
    #[doc = "0x3c - Power Control Register"]
    pub pwrctrl: PWRCTRL,
    #[doc = "0x40 - DCDC Control"]
    pub dcdcctrl: DCDCCTRL,
    _reserved2: [u8; 8usize],
    #[doc = "0x4c - DCDC Miscellaneous Control Register"]
    pub dcdcmiscctrl: DCDCMISCCTRL,
    #[doc = "0x50 - DCDC Power Train NFET Zero Current Detector Control Register"]
    pub dcdczdetctrl: DCDCZDETCTRL,
    #[doc = "0x54 - DCDC Power Train PFET Current Limiter Control Register"]
    pub dcdcclimctrl: DCDCCLIMCTRL,
    #[doc = "0x58 - DCDC Low Noise Compensator Control Register"]
    pub dcdclncompctrl: DCDCLNCOMPCTRL,
    #[doc = "0x5c - DCDC Low Noise Voltage Register"]
    pub dcdclnvctrl: DCDCLNVCTRL,
    _reserved3: [u8; 4usize],
    #[doc = "0x64 - DCDC Low Power Voltage Register"]
    pub dcdclpvctrl: DCDCLPVCTRL,
    _reserved4: [u8; 4usize],
    #[doc = "0x6c - DCDC Low Power Control Register"]
    pub dcdclpctrl: DCDCLPCTRL,
    #[doc = "0x70 - DCDC Low Noise Controller Frequency Control"]
    pub dcdclnfreqctrl: DCDCLNFREQCTRL,
    _reserved5: [u8; 4usize],
    #[doc = "0x78 - DCDC Read Status Register"]
    pub dcdcsync: DCDCSYNC,
    _reserved6: [u8; 20usize],
    #[doc = "0x90 - VMON AVDD Channel Control"]
    pub vmonavddctrl: VMONAVDDCTRL,
    #[doc = "0x94 - Alternate VMON AVDD Channel Control"]
    pub vmonaltavddctrl: VMONALTAVDDCTRL,
    #[doc = "0x98 - VMON DVDD Channel Control"]
    pub vmondvddctrl: VMONDVDDCTRL,
    #[doc = "0x9c - VMON IOVDD0 Channel Control"]
    pub vmonio0ctrl: VMONIO0CTRL,
    #[doc = "0xa0 - VMON IOVDD1 Channel Control"]
    pub vmonio1ctrl: VMONIO1CTRL,
    #[doc = "0xa4 - VMON BUVDD Channel Control"]
    pub vmonbuvddctrl: VMONBUVDDCTRL,
    _reserved7: [u8; 12usize],
    #[doc = "0xb4 - Memory Control Register"]
    pub ram1ctrl: RAM1CTRL,
    #[doc = "0xb8 - Memory Control Register"]
    pub ram2ctrl: RAM2CTRL,
    #[doc = "0xbc - Backup Power Configuration Register"]
    pub buctrl: BUCTRL,
    _reserved8: [u8; 8usize],
    #[doc = "0xc8 - 5V Regulator Control"]
    pub r5vctrl: R5VCTRL,
    #[doc = "0xcc - 5V Regulator Control"]
    pub r5vadcctrl: R5VADCCTRL,
    #[doc = "0xd0 - 5V Regulator Voltage Select"]
    pub r5voutlevel: R5VOUTLEVEL,
    _reserved9: [u8; 8usize],
    #[doc = "0xdc - 5V Detector Enables"]
    pub r5vdetctrl: R5VDETCTRL,
    _reserved10: [u8; 12usize],
    #[doc = "0xec - Configuration Bits for Low Power Mode to Be Applied During EM01, This Field is Only Relevant If LP Mode is Used in EM01"]
    pub dcdclpem01cfg: DCDCLPEM01CFG,
    #[doc = "0xf0 - 5V Detector Status Register"]
    pub r5vstatus: R5VSTATUS,
    _reserved11: [u8; 4usize],
    #[doc = "0xf8 - 5V Read Status Register"]
    pub r5vsync: R5VSYNC,
    _reserved12: [u8; 4usize],
    #[doc = "0x100 - Clears Corresponding Bits in EM23PERNORETAINSTATUS Unlocking Access to Peripheral"]
    pub em23pernoretaincmd: EM23PERNORETAINCMD,
    #[doc = "0x104 - Status Indicating If Peripherals Were Powered Down in EM23, Subsequently Locking Access to It"]
    pub em23pernoretainstatus: EM23PERNORETAINSTATUS,
    #[doc = "0x108 - When Set Corresponding Peripherals May Get Powered Down in EM23"]
    pub em23pernoretainctrl: EM23PERNORETAINCTRL,
}
#[doc = "Control Register"]
pub struct CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Control Register"]
pub mod ctrl;
#[doc = "Status Register"]
pub struct STATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Status Register"]
pub mod status;
#[doc = "Configuration Lock Register"]
pub struct LOCK {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Configuration Lock Register"]
pub mod lock;
#[doc = "Memory Control Register"]
pub struct RAM0CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Memory Control Register"]
pub mod ram0ctrl;
#[doc = "Command Register"]
pub struct CMD {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Command Register"]
pub mod cmd;
#[doc = "EM4 Control Register"]
pub struct EM4CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "EM4 Control Register"]
pub mod em4ctrl;
#[doc = "Temperature Limits for Interrupt Generation"]
pub struct TEMPLIMITS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Temperature Limits for Interrupt Generation"]
pub mod templimits;
#[doc = "Value of Last Temperature Measurement"]
pub struct TEMP {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Value of Last Temperature Measurement"]
pub mod temp;
#[doc = "Interrupt Flag Register"]
pub struct IF {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Flag Register"]
pub mod if_;
#[doc = "Interrupt Flag Set Register"]
pub struct IFS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Flag Set Register"]
pub mod ifs;
#[doc = "Interrupt Flag Clear Register"]
pub struct IFC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Flag Clear Register"]
pub mod ifc;
#[doc = "Interrupt Enable Register"]
pub struct IEN {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Interrupt Enable Register"]
pub mod ien;
#[doc = "Regulator and Supply Lock Register"]
pub struct PWRLOCK {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Regulator and Supply Lock Register"]
pub mod pwrlock;
#[doc = "Power Control Register"]
pub struct PWRCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Power Control Register"]
pub mod pwrctrl;
#[doc = "DCDC Control"]
pub struct DCDCCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Control"]
pub mod dcdcctrl;
#[doc = "DCDC Miscellaneous Control Register"]
pub struct DCDCMISCCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Miscellaneous Control Register"]
pub mod dcdcmiscctrl;
#[doc = "DCDC Power Train NFET Zero Current Detector Control Register"]
pub struct DCDCZDETCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Power Train NFET Zero Current Detector Control Register"]
pub mod dcdczdetctrl;
#[doc = "DCDC Power Train PFET Current Limiter Control Register"]
pub struct DCDCCLIMCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Power Train PFET Current Limiter Control Register"]
pub mod dcdcclimctrl;
#[doc = "DCDC Low Noise Compensator Control Register"]
pub struct DCDCLNCOMPCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Low Noise Compensator Control Register"]
pub mod dcdclncompctrl;
#[doc = "DCDC Low Noise Voltage Register"]
pub struct DCDCLNVCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Low Noise Voltage Register"]
pub mod dcdclnvctrl;
#[doc = "DCDC Low Power Voltage Register"]
pub struct DCDCLPVCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Low Power Voltage Register"]
pub mod dcdclpvctrl;
#[doc = "DCDC Low Power Control Register"]
pub struct DCDCLPCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Low Power Control Register"]
pub mod dcdclpctrl;
#[doc = "DCDC Low Noise Controller Frequency Control"]
pub struct DCDCLNFREQCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Low Noise Controller Frequency Control"]
pub mod dcdclnfreqctrl;
#[doc = "DCDC Read Status Register"]
pub struct DCDCSYNC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "DCDC Read Status Register"]
pub mod dcdcsync;
#[doc = "VMON AVDD Channel Control"]
pub struct VMONAVDDCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "VMON AVDD Channel Control"]
pub mod vmonavddctrl;
#[doc = "Alternate VMON AVDD Channel Control"]
pub struct VMONALTAVDDCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Alternate VMON AVDD Channel Control"]
pub mod vmonaltavddctrl;
#[doc = "VMON DVDD Channel Control"]
pub struct VMONDVDDCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "VMON DVDD Channel Control"]
pub mod vmondvddctrl;
#[doc = "VMON IOVDD0 Channel Control"]
pub struct VMONIO0CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "VMON IOVDD0 Channel Control"]
pub mod vmonio0ctrl;
#[doc = "VMON IOVDD1 Channel Control"]
pub struct VMONIO1CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "VMON IOVDD1 Channel Control"]
pub mod vmonio1ctrl;
#[doc = "VMON BUVDD Channel Control"]
pub struct VMONBUVDDCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "VMON BUVDD Channel Control"]
pub mod vmonbuvddctrl;
#[doc = "Memory Control Register"]
pub struct RAM1CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Memory Control Register"]
pub mod ram1ctrl;
#[doc = "Memory Control Register"]
pub struct RAM2CTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Memory Control Register"]
pub mod ram2ctrl;
#[doc = "Backup Power Configuration Register"]
pub struct BUCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Backup Power Configuration Register"]
pub mod buctrl;
#[doc = "5V Regulator Control"]
pub struct R5VCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "5V Regulator Control"]
pub mod r5vctrl;
#[doc = "5V Regulator Control"]
pub struct R5VADCCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "5V Regulator Control"]
pub mod r5vadcctrl;
#[doc = "5V Regulator Voltage Select"]
pub struct R5VOUTLEVEL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "5V Regulator Voltage Select"]
pub mod r5voutlevel;
#[doc = "5V Detector Enables"]
pub struct R5VDETCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "5V Detector Enables"]
pub mod r5vdetctrl;
#[doc = "Configuration Bits for Low Power Mode to Be Applied During EM01, This Field is Only Relevant If LP Mode is Used in EM01"]
pub struct DCDCLPEM01CFG {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Configuration Bits for Low Power Mode to Be Applied During EM01, This Field is Only Relevant If LP Mode is Used in EM01"]
pub mod dcdclpem01cfg;
#[doc = "5V Detector Status Register"]
pub struct R5VSTATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "5V Detector Status Register"]
pub mod r5vstatus;
#[doc = "5V Read Status Register"]
pub struct R5VSYNC {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "5V Read Status Register"]
pub mod r5vsync;
#[doc = "Clears Corresponding Bits in EM23PERNORETAINSTATUS Unlocking Access to Peripheral"]
pub struct EM23PERNORETAINCMD {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Clears Corresponding Bits in EM23PERNORETAINSTATUS Unlocking Access to Peripheral"]
pub mod em23pernoretaincmd;
#[doc = "Status Indicating If Peripherals Were Powered Down in EM23, Subsequently Locking Access to It"]
pub struct EM23PERNORETAINSTATUS {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "Status Indicating If Peripherals Were Powered Down in EM23, Subsequently Locking Access to It"]
pub mod em23pernoretainstatus;
#[doc = "When Set Corresponding Peripherals May Get Powered Down in EM23"]
pub struct EM23PERNORETAINCTRL {
    register: ::vcell::VolatileCell<u32>,
}
#[doc = "When Set Corresponding Peripherals May Get Powered Down in EM23"]
pub mod em23pernoretainctrl;