#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Power Mode Control"]
    pub pwr_control: crate::Reg<pwr_control::PWR_CONTROL_SPEC>,
    #[doc = "0x04 - Power System Interrupt Register"]
    pub pwr_intr: crate::Reg<pwr_intr::PWR_INTR_SPEC>,
    #[doc = "0x08 - Power System Interrupt Mask Register"]
    pub pwr_intr_mask: crate::Reg<pwr_intr_mask::PWR_INTR_MASK_SPEC>,
    #[doc = "0x0c - Power System Key&Delay Register"]
    pub pwr_key_delay: crate::Reg<pwr_key_delay::PWR_KEY_DELAY_SPEC>,
    #[doc = "0x10 - Power System Trim and Configuration"]
    pub pwr_pwrsys_config: crate::Reg<pwr_pwrsys_config::PWR_PWRSYS_CONFIG_SPEC>,
    #[doc = "0x14 - Bandgap Trim and Configuration"]
    pub pwr_bg_config: crate::Reg<pwr_bg_config::PWR_BG_CONFIG_SPEC>,
    #[doc = "0x18 - Voltage Monitoring Trim and Configuration"]
    pub pwr_vmon_config: crate::Reg<pwr_vmon_config::PWR_VMON_CONFIG_SPEC>,
    #[doc = "0x1c - Power DFT Mode Selection Register"]
    pub pwr_dft_select: crate::Reg<pwr_dft_select::PWR_DFT_SELECT_SPEC>,
    #[doc = "0x20 - Digital DFT Select"]
    pub pwr_ddft_select: crate::Reg<pwr_ddft_select::PWR_DDFT_SELECT_SPEC>,
    #[doc = "0x24 - DFT Safety Override"]
    pub pwr_dft_key: crate::Reg<pwr_dft_key::PWR_DFT_KEY_SPEC>,
    #[doc = "0x28 - BOD Detection Key"]
    pub pwr_bod_key: crate::Reg<pwr_bod_key::PWR_BOD_KEY_SPEC>,
    #[doc = "0x2c - STOP Mode Register"]
    pub pwr_stop: crate::Reg<pwr_stop::PWR_STOP_SPEC>,
    _reserved12: [u8; 208usize],
    #[doc = "0x100 - Clock Select Register"]
    pub clk_select: crate::Reg<clk_select::CLK_SELECT_SPEC>,
    #[doc = "0x104 - ILO Configuration"]
    pub clk_ilo_config: crate::Reg<clk_ilo_config::CLK_ILO_CONFIG_SPEC>,
    #[doc = "0x108 - IMO Configuration"]
    pub clk_imo_config: crate::Reg<clk_imo_config::CLK_IMO_CONFIG_SPEC>,
    #[doc = "0x10c - IMO Spread Spectrum Configuration"]
    pub clk_imo_spread: crate::Reg<clk_imo_spread::CLK_IMO_SPREAD_SPEC>,
    #[doc = "0x110 - Clock DFT Mode Selection Register"]
    pub clk_dft_select: crate::Reg<clk_dft_select::CLK_DFT_SELECT_SPEC>,
    _reserved17: [u8; 236usize],
    #[doc = "0x200 - Watchdog Counters 0/1"]
    pub wdt_ctrlow: crate::Reg<wdt_ctrlow::WDT_CTRLOW_SPEC>,
    #[doc = "0x204 - Watchdog Counter 2"]
    pub wdt_ctrhigh: crate::Reg<wdt_ctrhigh::WDT_CTRHIGH_SPEC>,
    #[doc = "0x208 - Watchdog counter match values"]
    pub wdt_match: crate::Reg<wdt_match::WDT_MATCH_SPEC>,
    #[doc = "0x20c - Watchdog Counters Configuration"]
    pub wdt_config: crate::Reg<wdt_config::WDT_CONFIG_SPEC>,
    #[doc = "0x210 - Watchdog Counters Control"]
    pub wdt_control: crate::Reg<wdt_control::WDT_CONTROL_SPEC>,
    _reserved22: [u8; 236usize],
    #[doc = "0x300 - Reset Cause Observation Register"]
    pub res_cause: crate::Reg<res_cause::RES_CAUSE_SPEC>,
    _reserved23: [u8; 64508usize],
    #[doc = "0xff00 - Power System Trim Register"]
    pub pwr_pwrsys_trim1: crate::Reg<pwr_pwrsys_trim1::PWR_PWRSYS_TRIM1_SPEC>,
    #[doc = "0xff04 - Power System Trim Register"]
    pub pwr_pwrsys_trim2: crate::Reg<pwr_pwrsys_trim2::PWR_PWRSYS_TRIM2_SPEC>,
    #[doc = "0xff08 - Power System Trim Register"]
    pub pwr_pwrsys_trim3: crate::Reg<pwr_pwrsys_trim3::PWR_PWRSYS_TRIM3_SPEC>,
    #[doc = "0xff0c - Power System Trim Register"]
    pub pwr_pwrsys_trim4: crate::Reg<pwr_pwrsys_trim4::PWR_PWRSYS_TRIM4_SPEC>,
    #[doc = "0xff10 - Bandgap Trim Register"]
    pub pwr_bg_trim1: crate::Reg<pwr_bg_trim1::PWR_BG_TRIM1_SPEC>,
    #[doc = "0xff14 - Bandgap Trim Register"]
    pub pwr_bg_trim2: crate::Reg<pwr_bg_trim2::PWR_BG_TRIM2_SPEC>,
    #[doc = "0xff18 - Bandgap Trim Register"]
    pub pwr_bg_trim3: crate::Reg<pwr_bg_trim3::PWR_BG_TRIM3_SPEC>,
    #[doc = "0xff1c - Bandgap Trim Register"]
    pub pwr_bg_trim4: crate::Reg<pwr_bg_trim4::PWR_BG_TRIM4_SPEC>,
    #[doc = "0xff20 - Bandgap Trim Register"]
    pub pwr_bg_trim5: crate::Reg<pwr_bg_trim5::PWR_BG_TRIM5_SPEC>,
    #[doc = "0xff24 - ILO Trim Register"]
    pub clk_ilo_trim: crate::Reg<clk_ilo_trim::CLK_ILO_TRIM_SPEC>,
    #[doc = "0xff28 - IMO Trim Register"]
    pub clk_imo_trim1: crate::Reg<clk_imo_trim1::CLK_IMO_TRIM1_SPEC>,
    #[doc = "0xff2c - IMO Trim Register"]
    pub clk_imo_trim2: crate::Reg<clk_imo_trim2::CLK_IMO_TRIM2_SPEC>,
    #[doc = "0xff30 - IMO Trim Register"]
    pub clk_imo_trim3: crate::Reg<clk_imo_trim3::CLK_IMO_TRIM3_SPEC>,
    #[doc = "0xff34 - IMO Trim Register"]
    pub clk_imo_trim4: crate::Reg<clk_imo_trim4::CLK_IMO_TRIM4_SPEC>,
    #[doc = "0xff38 - Reserved, unused registers"]
    pub pwr_rsvd_trim: crate::Reg<pwr_rsvd_trim::PWR_RSVD_TRIM_SPEC>,
}
#[doc = "PWR_CONTROL register accessor: an alias for `Reg<PWR_CONTROL_SPEC>`"]
pub type PWR_CONTROL = crate::Reg<pwr_control::PWR_CONTROL_SPEC>;
#[doc = "Power Mode Control"]
pub mod pwr_control;
#[doc = "PWR_INTR register accessor: an alias for `Reg<PWR_INTR_SPEC>`"]
pub type PWR_INTR = crate::Reg<pwr_intr::PWR_INTR_SPEC>;
#[doc = "Power System Interrupt Register"]
pub mod pwr_intr;
#[doc = "PWR_INTR_MASK register accessor: an alias for `Reg<PWR_INTR_MASK_SPEC>`"]
pub type PWR_INTR_MASK = crate::Reg<pwr_intr_mask::PWR_INTR_MASK_SPEC>;
#[doc = "Power System Interrupt Mask Register"]
pub mod pwr_intr_mask;
#[doc = "PWR_KEY_DELAY register accessor: an alias for `Reg<PWR_KEY_DELAY_SPEC>`"]
pub type PWR_KEY_DELAY = crate::Reg<pwr_key_delay::PWR_KEY_DELAY_SPEC>;
#[doc = "Power System Key&Delay Register"]
pub mod pwr_key_delay;
#[doc = "PWR_PWRSYS_CONFIG register accessor: an alias for `Reg<PWR_PWRSYS_CONFIG_SPEC>`"]
pub type PWR_PWRSYS_CONFIG = crate::Reg<pwr_pwrsys_config::PWR_PWRSYS_CONFIG_SPEC>;
#[doc = "Power System Trim and Configuration"]
pub mod pwr_pwrsys_config;
#[doc = "PWR_BG_CONFIG register accessor: an alias for `Reg<PWR_BG_CONFIG_SPEC>`"]
pub type PWR_BG_CONFIG = crate::Reg<pwr_bg_config::PWR_BG_CONFIG_SPEC>;
#[doc = "Bandgap Trim and Configuration"]
pub mod pwr_bg_config;
#[doc = "PWR_VMON_CONFIG register accessor: an alias for `Reg<PWR_VMON_CONFIG_SPEC>`"]
pub type PWR_VMON_CONFIG = crate::Reg<pwr_vmon_config::PWR_VMON_CONFIG_SPEC>;
#[doc = "Voltage Monitoring Trim and Configuration"]
pub mod pwr_vmon_config;
#[doc = "PWR_DFT_SELECT register accessor: an alias for `Reg<PWR_DFT_SELECT_SPEC>`"]
pub type PWR_DFT_SELECT = crate::Reg<pwr_dft_select::PWR_DFT_SELECT_SPEC>;
#[doc = "Power DFT Mode Selection Register"]
pub mod pwr_dft_select;
#[doc = "PWR_DDFT_SELECT register accessor: an alias for `Reg<PWR_DDFT_SELECT_SPEC>`"]
pub type PWR_DDFT_SELECT = crate::Reg<pwr_ddft_select::PWR_DDFT_SELECT_SPEC>;
#[doc = "Digital DFT Select"]
pub mod pwr_ddft_select;
#[doc = "PWR_DFT_KEY register accessor: an alias for `Reg<PWR_DFT_KEY_SPEC>`"]
pub type PWR_DFT_KEY = crate::Reg<pwr_dft_key::PWR_DFT_KEY_SPEC>;
#[doc = "DFT Safety Override"]
pub mod pwr_dft_key;
#[doc = "PWR_BOD_KEY register accessor: an alias for `Reg<PWR_BOD_KEY_SPEC>`"]
pub type PWR_BOD_KEY = crate::Reg<pwr_bod_key::PWR_BOD_KEY_SPEC>;
#[doc = "BOD Detection Key"]
pub mod pwr_bod_key;
#[doc = "PWR_STOP register accessor: an alias for `Reg<PWR_STOP_SPEC>`"]
pub type PWR_STOP = crate::Reg<pwr_stop::PWR_STOP_SPEC>;
#[doc = "STOP Mode Register"]
pub mod pwr_stop;
#[doc = "CLK_SELECT register accessor: an alias for `Reg<CLK_SELECT_SPEC>`"]
pub type CLK_SELECT = crate::Reg<clk_select::CLK_SELECT_SPEC>;
#[doc = "Clock Select Register"]
pub mod clk_select;
#[doc = "CLK_ILO_CONFIG register accessor: an alias for `Reg<CLK_ILO_CONFIG_SPEC>`"]
pub type CLK_ILO_CONFIG = crate::Reg<clk_ilo_config::CLK_ILO_CONFIG_SPEC>;
#[doc = "ILO Configuration"]
pub mod clk_ilo_config;
#[doc = "CLK_IMO_CONFIG register accessor: an alias for `Reg<CLK_IMO_CONFIG_SPEC>`"]
pub type CLK_IMO_CONFIG = crate::Reg<clk_imo_config::CLK_IMO_CONFIG_SPEC>;
#[doc = "IMO Configuration"]
pub mod clk_imo_config;
#[doc = "CLK_IMO_SPREAD register accessor: an alias for `Reg<CLK_IMO_SPREAD_SPEC>`"]
pub type CLK_IMO_SPREAD = crate::Reg<clk_imo_spread::CLK_IMO_SPREAD_SPEC>;
#[doc = "IMO Spread Spectrum Configuration"]
pub mod clk_imo_spread;
#[doc = "CLK_DFT_SELECT register accessor: an alias for `Reg<CLK_DFT_SELECT_SPEC>`"]
pub type CLK_DFT_SELECT = crate::Reg<clk_dft_select::CLK_DFT_SELECT_SPEC>;
#[doc = "Clock DFT Mode Selection Register"]
pub mod clk_dft_select;
#[doc = "WDT_CTRLOW register accessor: an alias for `Reg<WDT_CTRLOW_SPEC>`"]
pub type WDT_CTRLOW = crate::Reg<wdt_ctrlow::WDT_CTRLOW_SPEC>;
#[doc = "Watchdog Counters 0/1"]
pub mod wdt_ctrlow;
#[doc = "WDT_CTRHIGH register accessor: an alias for `Reg<WDT_CTRHIGH_SPEC>`"]
pub type WDT_CTRHIGH = crate::Reg<wdt_ctrhigh::WDT_CTRHIGH_SPEC>;
#[doc = "Watchdog Counter 2"]
pub mod wdt_ctrhigh;
#[doc = "WDT_MATCH register accessor: an alias for `Reg<WDT_MATCH_SPEC>`"]
pub type WDT_MATCH = crate::Reg<wdt_match::WDT_MATCH_SPEC>;
#[doc = "Watchdog counter match values"]
pub mod wdt_match;
#[doc = "WDT_CONFIG register accessor: an alias for `Reg<WDT_CONFIG_SPEC>`"]
pub type WDT_CONFIG = crate::Reg<wdt_config::WDT_CONFIG_SPEC>;
#[doc = "Watchdog Counters Configuration"]
pub mod wdt_config;
#[doc = "WDT_CONTROL register accessor: an alias for `Reg<WDT_CONTROL_SPEC>`"]
pub type WDT_CONTROL = crate::Reg<wdt_control::WDT_CONTROL_SPEC>;
#[doc = "Watchdog Counters Control"]
pub mod wdt_control;
#[doc = "RES_CAUSE register accessor: an alias for `Reg<RES_CAUSE_SPEC>`"]
pub type RES_CAUSE = crate::Reg<res_cause::RES_CAUSE_SPEC>;
#[doc = "Reset Cause Observation Register"]
pub mod res_cause;
#[doc = "PWR_PWRSYS_TRIM1 register accessor: an alias for `Reg<PWR_PWRSYS_TRIM1_SPEC>`"]
pub type PWR_PWRSYS_TRIM1 = crate::Reg<pwr_pwrsys_trim1::PWR_PWRSYS_TRIM1_SPEC>;
#[doc = "Power System Trim Register"]
pub mod pwr_pwrsys_trim1;
#[doc = "PWR_PWRSYS_TRIM2 register accessor: an alias for `Reg<PWR_PWRSYS_TRIM2_SPEC>`"]
pub type PWR_PWRSYS_TRIM2 = crate::Reg<pwr_pwrsys_trim2::PWR_PWRSYS_TRIM2_SPEC>;
#[doc = "Power System Trim Register"]
pub mod pwr_pwrsys_trim2;
#[doc = "PWR_PWRSYS_TRIM3 register accessor: an alias for `Reg<PWR_PWRSYS_TRIM3_SPEC>`"]
pub type PWR_PWRSYS_TRIM3 = crate::Reg<pwr_pwrsys_trim3::PWR_PWRSYS_TRIM3_SPEC>;
#[doc = "Power System Trim Register"]
pub mod pwr_pwrsys_trim3;
#[doc = "PWR_PWRSYS_TRIM4 register accessor: an alias for `Reg<PWR_PWRSYS_TRIM4_SPEC>`"]
pub type PWR_PWRSYS_TRIM4 = crate::Reg<pwr_pwrsys_trim4::PWR_PWRSYS_TRIM4_SPEC>;
#[doc = "Power System Trim Register"]
pub mod pwr_pwrsys_trim4;
#[doc = "PWR_BG_TRIM1 register accessor: an alias for `Reg<PWR_BG_TRIM1_SPEC>`"]
pub type PWR_BG_TRIM1 = crate::Reg<pwr_bg_trim1::PWR_BG_TRIM1_SPEC>;
#[doc = "Bandgap Trim Register"]
pub mod pwr_bg_trim1;
#[doc = "PWR_BG_TRIM2 register accessor: an alias for `Reg<PWR_BG_TRIM2_SPEC>`"]
pub type PWR_BG_TRIM2 = crate::Reg<pwr_bg_trim2::PWR_BG_TRIM2_SPEC>;
#[doc = "Bandgap Trim Register"]
pub mod pwr_bg_trim2;
#[doc = "PWR_BG_TRIM3 register accessor: an alias for `Reg<PWR_BG_TRIM3_SPEC>`"]
pub type PWR_BG_TRIM3 = crate::Reg<pwr_bg_trim3::PWR_BG_TRIM3_SPEC>;
#[doc = "Bandgap Trim Register"]
pub mod pwr_bg_trim3;
#[doc = "PWR_BG_TRIM4 register accessor: an alias for `Reg<PWR_BG_TRIM4_SPEC>`"]
pub type PWR_BG_TRIM4 = crate::Reg<pwr_bg_trim4::PWR_BG_TRIM4_SPEC>;
#[doc = "Bandgap Trim Register"]
pub mod pwr_bg_trim4;
#[doc = "PWR_BG_TRIM5 register accessor: an alias for `Reg<PWR_BG_TRIM5_SPEC>`"]
pub type PWR_BG_TRIM5 = crate::Reg<pwr_bg_trim5::PWR_BG_TRIM5_SPEC>;
#[doc = "Bandgap Trim Register"]
pub mod pwr_bg_trim5;
#[doc = "CLK_ILO_TRIM register accessor: an alias for `Reg<CLK_ILO_TRIM_SPEC>`"]
pub type CLK_ILO_TRIM = crate::Reg<clk_ilo_trim::CLK_ILO_TRIM_SPEC>;
#[doc = "ILO Trim Register"]
pub mod clk_ilo_trim;
#[doc = "CLK_IMO_TRIM1 register accessor: an alias for `Reg<CLK_IMO_TRIM1_SPEC>`"]
pub type CLK_IMO_TRIM1 = crate::Reg<clk_imo_trim1::CLK_IMO_TRIM1_SPEC>;
#[doc = "IMO Trim Register"]
pub mod clk_imo_trim1;
#[doc = "CLK_IMO_TRIM2 register accessor: an alias for `Reg<CLK_IMO_TRIM2_SPEC>`"]
pub type CLK_IMO_TRIM2 = crate::Reg<clk_imo_trim2::CLK_IMO_TRIM2_SPEC>;
#[doc = "IMO Trim Register"]
pub mod clk_imo_trim2;
#[doc = "CLK_IMO_TRIM3 register accessor: an alias for `Reg<CLK_IMO_TRIM3_SPEC>`"]
pub type CLK_IMO_TRIM3 = crate::Reg<clk_imo_trim3::CLK_IMO_TRIM3_SPEC>;
#[doc = "IMO Trim Register"]
pub mod clk_imo_trim3;
#[doc = "CLK_IMO_TRIM4 register accessor: an alias for `Reg<CLK_IMO_TRIM4_SPEC>`"]
pub type CLK_IMO_TRIM4 = crate::Reg<clk_imo_trim4::CLK_IMO_TRIM4_SPEC>;
#[doc = "IMO Trim Register"]
pub mod clk_imo_trim4;
#[doc = "PWR_RSVD_TRIM register accessor: an alias for `Reg<PWR_RSVD_TRIM_SPEC>`"]
pub type PWR_RSVD_TRIM = crate::Reg<pwr_rsvd_trim::PWR_RSVD_TRIM_SPEC>;
#[doc = "Reserved, unused registers"]
pub mod pwr_rsvd_trim;
