#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Power Control Register"]
    pub power_ctrl: crate::Reg<power_ctrl::POWER_CTRL_SPEC>,
    #[doc = "0x04 - Charger Detection Control Register"]
    pub chgdet_ctrl: crate::Reg<chgdet_ctrl::CHGDET_CTRL_SPEC>,
    #[doc = "0x08 - USB IO Control Register"]
    pub usbio_ctrl: crate::Reg<usbio_ctrl::USBIO_CTRL_SPEC>,
    #[doc = "0x0c - Flow Control Register"]
    pub flow_ctrl: crate::Reg<flow_ctrl::FLOW_CTRL_SPEC>,
    #[doc = "0x10 - LPM Control Register"]
    pub lpm_ctrl: crate::Reg<lpm_ctrl::LPM_CTRL_SPEC>,
    #[doc = "0x14 - LPM Status register"]
    pub lpm_stat: crate::Reg<lpm_stat::LPM_STAT_SPEC>,
    _reserved6: [u8; 8usize],
    #[doc = "0x20 - USB SOF, BUS RESET and EP0 Interrupt Status"]
    pub intr_sie: crate::Reg<intr_sie::INTR_SIE_SPEC>,
    #[doc = "0x24 - USB SOF, BUS RESET and EP0 Interrupt Set"]
    pub intr_sie_set: crate::Reg<intr_sie_set::INTR_SIE_SET_SPEC>,
    #[doc = "0x28 - USB SOF, BUS RESET and EP0 Interrupt Mask"]
    pub intr_sie_mask: crate::Reg<intr_sie_mask::INTR_SIE_MASK_SPEC>,
    #[doc = "0x2c - USB SOF, BUS RESET and EP0 Interrupt Masked"]
    pub intr_sie_masked: crate::Reg<intr_sie_masked::INTR_SIE_MASKED_SPEC>,
    #[doc = "0x30 - Select interrupt level for each interrupt source"]
    pub intr_lvl_sel: crate::Reg<intr_lvl_sel::INTR_LVL_SEL_SPEC>,
    #[doc = "0x34 - High priority interrupt Cause register"]
    pub intr_cause_hi: crate::Reg<intr_cause_hi::INTR_CAUSE_HI_SPEC>,
    #[doc = "0x38 - Medium priority interrupt Cause register"]
    pub intr_cause_med: crate::Reg<intr_cause_med::INTR_CAUSE_MED_SPEC>,
    #[doc = "0x3c - Low priority interrupt Cause register"]
    pub intr_cause_lo: crate::Reg<intr_cause_lo::INTR_CAUSE_LO_SPEC>,
    _reserved14: [u8; 48usize],
    #[doc = "0x70 - DFT control"]
    pub dft_ctrl: crate::Reg<dft_ctrl::DFT_CTRL_SPEC>,
    _reserved15: [u8; 3724usize],
    #[doc = "0xf00 - PHY trim control register."]
    pub phy_trim0: crate::Reg<phy_trim0::PHY_TRIM0_SPEC>,
    #[doc = "0xf04 - PHY trim control register."]
    pub phy_trim1: crate::Reg<phy_trim1::PHY_TRIM1_SPEC>,
    #[doc = "0xf08 - PHY trim control register."]
    pub phy_trim2: crate::Reg<phy_trim2::PHY_TRIM2_SPEC>,
    #[doc = "0xf0c - PHY trim control register."]
    pub phy_trim3: crate::Reg<phy_trim3::PHY_TRIM3_SPEC>,
    #[doc = "0xf10 - Charger detect trim values"]
    pub chgdet_trim: crate::Reg<chgdet_trim::CHGDET_TRIM_SPEC>,
    #[doc = "0xf14 - trim values"]
    pub trim: crate::Reg<trim::TRIM_SPEC>,
    #[doc = "0xf18 - trim values for IOs"]
    pub usbio_trim: crate::Reg<usbio_trim::USBIO_TRIM_SPEC>,
}
#[doc = "POWER_CTRL register accessor: an alias for `Reg<POWER_CTRL_SPEC>`"]
pub type POWER_CTRL = crate::Reg<power_ctrl::POWER_CTRL_SPEC>;
#[doc = "Power Control Register"]
pub mod power_ctrl;
#[doc = "CHGDET_CTRL register accessor: an alias for `Reg<CHGDET_CTRL_SPEC>`"]
pub type CHGDET_CTRL = crate::Reg<chgdet_ctrl::CHGDET_CTRL_SPEC>;
#[doc = "Charger Detection Control Register"]
pub mod chgdet_ctrl;
#[doc = "USBIO_CTRL register accessor: an alias for `Reg<USBIO_CTRL_SPEC>`"]
pub type USBIO_CTRL = crate::Reg<usbio_ctrl::USBIO_CTRL_SPEC>;
#[doc = "USB IO Control Register"]
pub mod usbio_ctrl;
#[doc = "FLOW_CTRL register accessor: an alias for `Reg<FLOW_CTRL_SPEC>`"]
pub type FLOW_CTRL = crate::Reg<flow_ctrl::FLOW_CTRL_SPEC>;
#[doc = "Flow Control Register"]
pub mod flow_ctrl;
#[doc = "LPM_CTRL register accessor: an alias for `Reg<LPM_CTRL_SPEC>`"]
pub type LPM_CTRL = crate::Reg<lpm_ctrl::LPM_CTRL_SPEC>;
#[doc = "LPM Control Register"]
pub mod lpm_ctrl;
#[doc = "LPM_STAT register accessor: an alias for `Reg<LPM_STAT_SPEC>`"]
pub type LPM_STAT = crate::Reg<lpm_stat::LPM_STAT_SPEC>;
#[doc = "LPM Status register"]
pub mod lpm_stat;
#[doc = "INTR_SIE register accessor: an alias for `Reg<INTR_SIE_SPEC>`"]
pub type INTR_SIE = crate::Reg<intr_sie::INTR_SIE_SPEC>;
#[doc = "USB SOF, BUS RESET and EP0 Interrupt Status"]
pub mod intr_sie;
#[doc = "INTR_SIE_SET register accessor: an alias for `Reg<INTR_SIE_SET_SPEC>`"]
pub type INTR_SIE_SET = crate::Reg<intr_sie_set::INTR_SIE_SET_SPEC>;
#[doc = "USB SOF, BUS RESET and EP0 Interrupt Set"]
pub mod intr_sie_set;
#[doc = "INTR_SIE_MASK register accessor: an alias for `Reg<INTR_SIE_MASK_SPEC>`"]
pub type INTR_SIE_MASK = crate::Reg<intr_sie_mask::INTR_SIE_MASK_SPEC>;
#[doc = "USB SOF, BUS RESET and EP0 Interrupt Mask"]
pub mod intr_sie_mask;
#[doc = "INTR_SIE_MASKED register accessor: an alias for `Reg<INTR_SIE_MASKED_SPEC>`"]
pub type INTR_SIE_MASKED = crate::Reg<intr_sie_masked::INTR_SIE_MASKED_SPEC>;
#[doc = "USB SOF, BUS RESET and EP0 Interrupt Masked"]
pub mod intr_sie_masked;
#[doc = "INTR_LVL_SEL register accessor: an alias for `Reg<INTR_LVL_SEL_SPEC>`"]
pub type INTR_LVL_SEL = crate::Reg<intr_lvl_sel::INTR_LVL_SEL_SPEC>;
#[doc = "Select interrupt level for each interrupt source"]
pub mod intr_lvl_sel;
#[doc = "INTR_CAUSE_HI register accessor: an alias for `Reg<INTR_CAUSE_HI_SPEC>`"]
pub type INTR_CAUSE_HI = crate::Reg<intr_cause_hi::INTR_CAUSE_HI_SPEC>;
#[doc = "High priority interrupt Cause register"]
pub mod intr_cause_hi;
#[doc = "INTR_CAUSE_MED register accessor: an alias for `Reg<INTR_CAUSE_MED_SPEC>`"]
pub type INTR_CAUSE_MED = crate::Reg<intr_cause_med::INTR_CAUSE_MED_SPEC>;
#[doc = "Medium priority interrupt Cause register"]
pub mod intr_cause_med;
#[doc = "INTR_CAUSE_LO register accessor: an alias for `Reg<INTR_CAUSE_LO_SPEC>`"]
pub type INTR_CAUSE_LO = crate::Reg<intr_cause_lo::INTR_CAUSE_LO_SPEC>;
#[doc = "Low priority interrupt Cause register"]
pub mod intr_cause_lo;
#[doc = "DFT_CTRL register accessor: an alias for `Reg<DFT_CTRL_SPEC>`"]
pub type DFT_CTRL = crate::Reg<dft_ctrl::DFT_CTRL_SPEC>;
#[doc = "DFT control"]
pub mod dft_ctrl;
#[doc = "PHY_TRIM0 register accessor: an alias for `Reg<PHY_TRIM0_SPEC>`"]
pub type PHY_TRIM0 = crate::Reg<phy_trim0::PHY_TRIM0_SPEC>;
#[doc = "PHY trim control register."]
pub mod phy_trim0;
#[doc = "PHY_TRIM1 register accessor: an alias for `Reg<PHY_TRIM1_SPEC>`"]
pub type PHY_TRIM1 = crate::Reg<phy_trim1::PHY_TRIM1_SPEC>;
#[doc = "PHY trim control register."]
pub mod phy_trim1;
#[doc = "PHY_TRIM2 register accessor: an alias for `Reg<PHY_TRIM2_SPEC>`"]
pub type PHY_TRIM2 = crate::Reg<phy_trim2::PHY_TRIM2_SPEC>;
#[doc = "PHY trim control register."]
pub mod phy_trim2;
#[doc = "PHY_TRIM3 register accessor: an alias for `Reg<PHY_TRIM3_SPEC>`"]
pub type PHY_TRIM3 = crate::Reg<phy_trim3::PHY_TRIM3_SPEC>;
#[doc = "PHY trim control register."]
pub mod phy_trim3;
#[doc = "CHGDET_TRIM register accessor: an alias for `Reg<CHGDET_TRIM_SPEC>`"]
pub type CHGDET_TRIM = crate::Reg<chgdet_trim::CHGDET_TRIM_SPEC>;
#[doc = "Charger detect trim values"]
pub mod chgdet_trim;
#[doc = "TRIM register accessor: an alias for `Reg<TRIM_SPEC>`"]
pub type TRIM = crate::Reg<trim::TRIM_SPEC>;
#[doc = "trim values"]
pub mod trim;
#[doc = "USBIO_TRIM register accessor: an alias for `Reg<USBIO_TRIM_SPEC>`"]
pub type USBIO_TRIM = crate::Reg<usbio_trim::USBIO_TRIM_SPEC>;
#[doc = "trim values for IOs"]
pub mod usbio_trim;
