#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Interrupt Status"]
    pub int_status: crate::Reg<int_status::INT_STATUS_SPEC>,
    #[doc = "0x04 - Interrupt Enable"]
    pub int_ebl: crate::Reg<int_ebl::INT_EBL_SPEC>,
    #[doc = "0x08 - RxMessage and TxMessage Buffer Status"]
    pub buffer_status: crate::Reg<buffer_status::BUFFER_STATUS_SPEC>,
    #[doc = "0x0c - CAN Error Status"]
    pub error_status: crate::Reg<error_status::ERROR_STATUS_SPEC>,
    #[doc = "0x10 - CAN Command Register"]
    pub command: crate::Reg<command::COMMAND_SPEC>,
    #[doc = "0x14 - CAN Configuration"]
    pub config: crate::Reg<config::CONFIG_SPEC>,
    #[doc = "0x18 - Error Capture Register"]
    pub ecr: crate::Reg<ecr::ECR_SPEC>,
    _reserved7: [u8; 996usize],
    #[doc = "0x400 - Control"]
    pub cntl: crate::Reg<cntl::CNTL_SPEC>,
    #[doc = "0x404 - TTCAN Level1 16-Bit local time counter"]
    pub ttcan_counter: crate::Reg<ttcan_counter::TTCAN_COUNTER_SPEC>,
    #[doc = "0x408 - TTCAN Level1 compare configuration"]
    pub ttcan_compare: crate::Reg<ttcan_compare::TTCAN_COMPARE_SPEC>,
    #[doc = "0x40c - TTCAN Level1 capture configuration"]
    pub ttcan_capture: crate::Reg<ttcan_capture::TTCAN_CAPTURE_SPEC>,
    #[doc = "0x410 - TTCAN Level1 timing configuration, duplicate of CONFIG fields"]
    pub ttcan_timing: crate::Reg<ttcan_timing::TTCAN_TIMING_SPEC>,
    #[doc = "0x414 - CAN Interrupt Cause (TTCAN + INT_STATUS Or)"]
    pub intr_can: crate::Reg<intr_can::INTR_CAN_SPEC>,
    #[doc = "0x418 - CAN Interrupt Set (TTCAN + INT_STATUS Or)"]
    pub intr_can_set: crate::Reg<intr_can_set::INTR_CAN_SET_SPEC>,
    #[doc = "0x41c - CAN Interrupt Mask (TTCAN + INT_STATUS Or)"]
    pub intr_can_mask: crate::Reg<intr_can_mask::INTR_CAN_MASK_SPEC>,
    #[doc = "0x420 - Can Interrupt Masked (TTCAN + INT_STATUS Or)"]
    pub intr_can_masked: crate::Reg<intr_can_masked::INTR_CAN_MASKED_SPEC>,
}
#[doc = "INT_STATUS register accessor: an alias for `Reg<INT_STATUS_SPEC>`"]
pub type INT_STATUS = crate::Reg<int_status::INT_STATUS_SPEC>;
#[doc = "Interrupt Status"]
pub mod int_status;
#[doc = "INT_EBL register accessor: an alias for `Reg<INT_EBL_SPEC>`"]
pub type INT_EBL = crate::Reg<int_ebl::INT_EBL_SPEC>;
#[doc = "Interrupt Enable"]
pub mod int_ebl;
#[doc = "BUFFER_STATUS register accessor: an alias for `Reg<BUFFER_STATUS_SPEC>`"]
pub type BUFFER_STATUS = crate::Reg<buffer_status::BUFFER_STATUS_SPEC>;
#[doc = "RxMessage and TxMessage Buffer Status"]
pub mod buffer_status;
#[doc = "ERROR_STATUS register accessor: an alias for `Reg<ERROR_STATUS_SPEC>`"]
pub type ERROR_STATUS = crate::Reg<error_status::ERROR_STATUS_SPEC>;
#[doc = "CAN Error Status"]
pub mod error_status;
#[doc = "COMMAND register accessor: an alias for `Reg<COMMAND_SPEC>`"]
pub type COMMAND = crate::Reg<command::COMMAND_SPEC>;
#[doc = "CAN Command Register"]
pub mod command;
#[doc = "CONFIG register accessor: an alias for `Reg<CONFIG_SPEC>`"]
pub type CONFIG = crate::Reg<config::CONFIG_SPEC>;
#[doc = "CAN Configuration"]
pub mod config;
#[doc = "ECR register accessor: an alias for `Reg<ECR_SPEC>`"]
pub type ECR = crate::Reg<ecr::ECR_SPEC>;
#[doc = "Error Capture Register"]
pub mod ecr;
#[doc = "CNTL register accessor: an alias for `Reg<CNTL_SPEC>`"]
pub type CNTL = crate::Reg<cntl::CNTL_SPEC>;
#[doc = "Control"]
pub mod cntl;
#[doc = "TTCAN_COUNTER register accessor: an alias for `Reg<TTCAN_COUNTER_SPEC>`"]
pub type TTCAN_COUNTER = crate::Reg<ttcan_counter::TTCAN_COUNTER_SPEC>;
#[doc = "TTCAN Level1 16-Bit local time counter"]
pub mod ttcan_counter;
#[doc = "TTCAN_COMPARE register accessor: an alias for `Reg<TTCAN_COMPARE_SPEC>`"]
pub type TTCAN_COMPARE = crate::Reg<ttcan_compare::TTCAN_COMPARE_SPEC>;
#[doc = "TTCAN Level1 compare configuration"]
pub mod ttcan_compare;
#[doc = "TTCAN_CAPTURE register accessor: an alias for `Reg<TTCAN_CAPTURE_SPEC>`"]
pub type TTCAN_CAPTURE = crate::Reg<ttcan_capture::TTCAN_CAPTURE_SPEC>;
#[doc = "TTCAN Level1 capture configuration"]
pub mod ttcan_capture;
#[doc = "TTCAN_TIMING register accessor: an alias for `Reg<TTCAN_TIMING_SPEC>`"]
pub type TTCAN_TIMING = crate::Reg<ttcan_timing::TTCAN_TIMING_SPEC>;
#[doc = "TTCAN Level1 timing configuration, duplicate of CONFIG fields"]
pub mod ttcan_timing;
#[doc = "INTR_CAN register accessor: an alias for `Reg<INTR_CAN_SPEC>`"]
pub type INTR_CAN = crate::Reg<intr_can::INTR_CAN_SPEC>;
#[doc = "CAN Interrupt Cause (TTCAN + INT_STATUS Or)"]
pub mod intr_can;
#[doc = "INTR_CAN_SET register accessor: an alias for `Reg<INTR_CAN_SET_SPEC>`"]
pub type INTR_CAN_SET = crate::Reg<intr_can_set::INTR_CAN_SET_SPEC>;
#[doc = "CAN Interrupt Set (TTCAN + INT_STATUS Or)"]
pub mod intr_can_set;
#[doc = "INTR_CAN_MASK register accessor: an alias for `Reg<INTR_CAN_MASK_SPEC>`"]
pub type INTR_CAN_MASK = crate::Reg<intr_can_mask::INTR_CAN_MASK_SPEC>;
#[doc = "CAN Interrupt Mask (TTCAN + INT_STATUS Or)"]
pub mod intr_can_mask;
#[doc = "INTR_CAN_MASKED register accessor: an alias for `Reg<INTR_CAN_MASKED_SPEC>`"]
pub type INTR_CAN_MASKED = crate::Reg<intr_can_masked::INTR_CAN_MASKED_SPEC>;
#[doc = "Can Interrupt Masked (TTCAN + INT_STATUS Or)"]
pub mod intr_can_masked;
