#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - ID & Revision Number"]
    pub id: crate::Reg<id::ID_SPEC>,
    #[doc = "0x04 - Configuration and Control"]
    pub config: crate::Reg<config::CONFIG_SPEC>,
    #[doc = "0x08 - IDAC Configuration"]
    pub idac: crate::Reg<idac::IDAC_SPEC>,
    #[doc = "0x0c - CSD Counter Register"]
    pub counter: crate::Reg<counter::COUNTER_SPEC>,
    #[doc = "0x10 - Status Register"]
    pub status: crate::Reg<status::STATUS_SPEC>,
    #[doc = "0x14 - CSD Interrupt Request Register"]
    pub intr: crate::Reg<intr::INTR_SPEC>,
    #[doc = "0x18 - CSD Interrupt set register"]
    pub intr_set: crate::Reg<intr_set::INTR_SET_SPEC>,
    #[doc = "0x1c - CSD PWM Register"]
    pub pwm: crate::Reg<pwm::PWM_SPEC>,
    _reserved8: [u8; 65248usize],
    #[doc = "0xff00 - CSD Trim Register"]
    pub trim1: crate::Reg<trim1::TRIM1_SPEC>,
    #[doc = "0xff04 - CSD Trim Register"]
    pub trim2: crate::Reg<trim2::TRIM2_SPEC>,
}
#[doc = "ID register accessor: an alias for `Reg<ID_SPEC>`"]
pub type ID = crate::Reg<id::ID_SPEC>;
#[doc = "ID & Revision Number"]
pub mod id;
#[doc = "CONFIG register accessor: an alias for `Reg<CONFIG_SPEC>`"]
pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
#[doc = "Configuration and Control"]
pub mod config;
#[doc = "IDAC register accessor: an alias for `Reg<IDAC_SPEC>`"]
pub type IDAC = crate::Reg<idac::IDAC_SPEC>;
#[doc = "IDAC Configuration"]
pub mod idac;
#[doc = "COUNTER register accessor: an alias for `Reg<COUNTER_SPEC>`"]
pub type COUNTER = crate::Reg<counter::COUNTER_SPEC>;
#[doc = "CSD Counter Register"]
pub mod counter;
#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
pub type STATUS = crate::Reg<status::STATUS_SPEC>;
#[doc = "Status Register"]
pub mod status;
#[doc = "INTR register accessor: an alias for `Reg<INTR_SPEC>`"]
pub type INTR = crate::Reg<intr::INTR_SPEC>;
#[doc = "CSD Interrupt Request Register"]
pub mod intr;
#[doc = "INTR_SET register accessor: an alias for `Reg<INTR_SET_SPEC>`"]
pub type INTR_SET = crate::Reg<intr_set::INTR_SET_SPEC>;
#[doc = "CSD Interrupt set register"]
pub mod intr_set;
#[doc = "PWM register accessor: an alias for `Reg<PWM_SPEC>`"]
pub type PWM = crate::Reg<pwm::PWM_SPEC>;
#[doc = "CSD PWM Register"]
pub mod pwm;
#[doc = "TRIM1 register accessor: an alias for `Reg<TRIM1_SPEC>`"]
pub type TRIM1 = crate::Reg<trim1::TRIM1_SPEC>;
#[doc = "CSD Trim Register"]
pub mod trim1;
#[doc = "TRIM2 register accessor: an alias for `Reg<TRIM2_SPEC>`"]
pub type TRIM2 = crate::Reg<trim2::TRIM2_SPEC>;
#[doc = "CSD Trim Register"]
pub mod trim2;
