#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Control register"]
    pub ctl: crate::Reg<ctl::CTL_SPEC>,
    _reserved1: [u8; 12usize],
    #[doc = "0x10 - Status register"]
    pub status: crate::Reg<status::STATUS_SPEC>,
    #[doc = "0x14 - Source address status register"]
    pub status_src_addr: crate::Reg<status_src_addr::STATUS_SRC_ADDR_SPEC>,
    #[doc = "0x18 - Destination address register"]
    pub status_dst_addr: crate::Reg<status_dst_addr::STATUS_DST_ADDR_SPEC>,
    #[doc = "0x1c - Channel activation status register"]
    pub status_ch_act: crate::Reg<status_ch_act::STATUS_CH_ACT_SPEC>,
    _reserved5: [u8; 96usize],
    #[doc = "0x80 - Channel control register"]
    pub ch_ctl0: crate::Reg<ch_ctl0::CH_CTL0_SPEC>,
    #[doc = "0x84 - Channel control register"]
    pub ch_ctl1: crate::Reg<ch_ctl1::CH_CTL1_SPEC>,
    #[doc = "0x88 - Channel control register"]
    pub ch_ctl2: crate::Reg<ch_ctl2::CH_CTL2_SPEC>,
    #[doc = "0x8c - Channel control register"]
    pub ch_ctl3: crate::Reg<ch_ctl3::CH_CTL3_SPEC>,
    #[doc = "0x90 - Channel control register"]
    pub ch_ctl4: crate::Reg<ch_ctl4::CH_CTL4_SPEC>,
    #[doc = "0x94 - Channel control register"]
    pub ch_ctl5: crate::Reg<ch_ctl5::CH_CTL5_SPEC>,
    #[doc = "0x98 - Channel control register"]
    pub ch_ctl6: crate::Reg<ch_ctl6::CH_CTL6_SPEC>,
    #[doc = "0x9c - Channel control register"]
    pub ch_ctl7: crate::Reg<ch_ctl7::CH_CTL7_SPEC>,
    #[doc = "0xa0 - Channel control register"]
    pub ch_ctl8: crate::Reg<ch_ctl8::CH_CTL8_SPEC>,
    #[doc = "0xa4 - Channel control register"]
    pub ch_ctl9: crate::Reg<ch_ctl9::CH_CTL9_SPEC>,
    #[doc = "0xa8 - Channel control register"]
    pub ch_ctl10: crate::Reg<ch_ctl10::CH_CTL10_SPEC>,
    #[doc = "0xac - Channel control register"]
    pub ch_ctl11: crate::Reg<ch_ctl11::CH_CTL11_SPEC>,
    #[doc = "0xb0 - Channel control register"]
    pub ch_ctl12: crate::Reg<ch_ctl12::CH_CTL12_SPEC>,
    #[doc = "0xb4 - Channel control register"]
    pub ch_ctl13: crate::Reg<ch_ctl13::CH_CTL13_SPEC>,
    #[doc = "0xb8 - Channel control register"]
    pub ch_ctl14: crate::Reg<ch_ctl14::CH_CTL14_SPEC>,
    #[doc = "0xbc - Channel control register"]
    pub ch_ctl15: crate::Reg<ch_ctl15::CH_CTL15_SPEC>,
    #[doc = "0xc0 - Channel control register"]
    pub ch_ctl16: crate::Reg<ch_ctl16::CH_CTL16_SPEC>,
    #[doc = "0xc4 - Channel control register"]
    pub ch_ctl17: crate::Reg<ch_ctl17::CH_CTL17_SPEC>,
    #[doc = "0xc8 - Channel control register"]
    pub ch_ctl18: crate::Reg<ch_ctl18::CH_CTL18_SPEC>,
    #[doc = "0xcc - Channel control register"]
    pub ch_ctl19: crate::Reg<ch_ctl19::CH_CTL19_SPEC>,
    #[doc = "0xd0 - Channel control register"]
    pub ch_ctl20: crate::Reg<ch_ctl20::CH_CTL20_SPEC>,
    #[doc = "0xd4 - Channel control register"]
    pub ch_ctl21: crate::Reg<ch_ctl21::CH_CTL21_SPEC>,
    #[doc = "0xd8 - Channel control register"]
    pub ch_ctl22: crate::Reg<ch_ctl22::CH_CTL22_SPEC>,
    #[doc = "0xdc - Channel control register"]
    pub ch_ctl23: crate::Reg<ch_ctl23::CH_CTL23_SPEC>,
    #[doc = "0xe0 - Channel control register"]
    pub ch_ctl24: crate::Reg<ch_ctl24::CH_CTL24_SPEC>,
    #[doc = "0xe4 - Channel control register"]
    pub ch_ctl25: crate::Reg<ch_ctl25::CH_CTL25_SPEC>,
    #[doc = "0xe8 - Channel control register"]
    pub ch_ctl26: crate::Reg<ch_ctl26::CH_CTL26_SPEC>,
    #[doc = "0xec - Channel control register"]
    pub ch_ctl27: crate::Reg<ch_ctl27::CH_CTL27_SPEC>,
    #[doc = "0xf0 - Channel control register"]
    pub ch_ctl28: crate::Reg<ch_ctl28::CH_CTL28_SPEC>,
    #[doc = "0xf4 - Channel control register"]
    pub ch_ctl29: crate::Reg<ch_ctl29::CH_CTL29_SPEC>,
    #[doc = "0xf8 - Channel control register"]
    pub ch_ctl30: crate::Reg<ch_ctl30::CH_CTL30_SPEC>,
    #[doc = "0xfc - Channel control register"]
    pub ch_ctl31: crate::Reg<ch_ctl31::CH_CTL31_SPEC>,
    _reserved37: [u8; 1776usize],
    #[doc = "0x7f0 - Interrupt register"]
    pub intr: crate::Reg<intr::INTR_SPEC>,
    #[doc = "0x7f4 - Interrupt set register"]
    pub intr_set: crate::Reg<intr_set::INTR_SET_SPEC>,
    #[doc = "0x7f8 - Interrupt mask register"]
    pub intr_mask: crate::Reg<intr_mask::INTR_MASK_SPEC>,
    #[doc = "0x7fc - Interrupt masked register"]
    pub intr_masked: crate::Reg<intr_masked::INTR_MASKED_SPEC>,
}
#[doc = "CTL register accessor: an alias for `Reg<CTL_SPEC>`"]
pub type CTL = crate::Reg<ctl::CTL_SPEC>;
#[doc = "Control register"]
pub mod ctl;
#[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 = "STATUS_SRC_ADDR register accessor: an alias for `Reg<STATUS_SRC_ADDR_SPEC>`"]
pub type STATUS_SRC_ADDR = crate::Reg<status_src_addr::STATUS_SRC_ADDR_SPEC>;
#[doc = "Source address status register"]
pub mod status_src_addr;
#[doc = "STATUS_DST_ADDR register accessor: an alias for `Reg<STATUS_DST_ADDR_SPEC>`"]
pub type STATUS_DST_ADDR = crate::Reg<status_dst_addr::STATUS_DST_ADDR_SPEC>;
#[doc = "Destination address register"]
pub mod status_dst_addr;
#[doc = "STATUS_CH_ACT register accessor: an alias for `Reg<STATUS_CH_ACT_SPEC>`"]
pub type STATUS_CH_ACT = crate::Reg<status_ch_act::STATUS_CH_ACT_SPEC>;
#[doc = "Channel activation status register"]
pub mod status_ch_act;
#[doc = "CH_CTL0 register accessor: an alias for `Reg<CH_CTL0_SPEC>`"]
pub type CH_CTL0 = crate::Reg<ch_ctl0::CH_CTL0_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl0;
#[doc = "CH_CTL1 register accessor: an alias for `Reg<CH_CTL1_SPEC>`"]
pub type CH_CTL1 = crate::Reg<ch_ctl1::CH_CTL1_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl1;
#[doc = "CH_CTL2 register accessor: an alias for `Reg<CH_CTL2_SPEC>`"]
pub type CH_CTL2 = crate::Reg<ch_ctl2::CH_CTL2_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl2;
#[doc = "CH_CTL3 register accessor: an alias for `Reg<CH_CTL3_SPEC>`"]
pub type CH_CTL3 = crate::Reg<ch_ctl3::CH_CTL3_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl3;
#[doc = "CH_CTL4 register accessor: an alias for `Reg<CH_CTL4_SPEC>`"]
pub type CH_CTL4 = crate::Reg<ch_ctl4::CH_CTL4_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl4;
#[doc = "CH_CTL5 register accessor: an alias for `Reg<CH_CTL5_SPEC>`"]
pub type CH_CTL5 = crate::Reg<ch_ctl5::CH_CTL5_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl5;
#[doc = "CH_CTL6 register accessor: an alias for `Reg<CH_CTL6_SPEC>`"]
pub type CH_CTL6 = crate::Reg<ch_ctl6::CH_CTL6_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl6;
#[doc = "CH_CTL7 register accessor: an alias for `Reg<CH_CTL7_SPEC>`"]
pub type CH_CTL7 = crate::Reg<ch_ctl7::CH_CTL7_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl7;
#[doc = "CH_CTL8 register accessor: an alias for `Reg<CH_CTL8_SPEC>`"]
pub type CH_CTL8 = crate::Reg<ch_ctl8::CH_CTL8_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl8;
#[doc = "CH_CTL9 register accessor: an alias for `Reg<CH_CTL9_SPEC>`"]
pub type CH_CTL9 = crate::Reg<ch_ctl9::CH_CTL9_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl9;
#[doc = "CH_CTL10 register accessor: an alias for `Reg<CH_CTL10_SPEC>`"]
pub type CH_CTL10 = crate::Reg<ch_ctl10::CH_CTL10_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl10;
#[doc = "CH_CTL11 register accessor: an alias for `Reg<CH_CTL11_SPEC>`"]
pub type CH_CTL11 = crate::Reg<ch_ctl11::CH_CTL11_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl11;
#[doc = "CH_CTL12 register accessor: an alias for `Reg<CH_CTL12_SPEC>`"]
pub type CH_CTL12 = crate::Reg<ch_ctl12::CH_CTL12_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl12;
#[doc = "CH_CTL13 register accessor: an alias for `Reg<CH_CTL13_SPEC>`"]
pub type CH_CTL13 = crate::Reg<ch_ctl13::CH_CTL13_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl13;
#[doc = "CH_CTL14 register accessor: an alias for `Reg<CH_CTL14_SPEC>`"]
pub type CH_CTL14 = crate::Reg<ch_ctl14::CH_CTL14_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl14;
#[doc = "CH_CTL15 register accessor: an alias for `Reg<CH_CTL15_SPEC>`"]
pub type CH_CTL15 = crate::Reg<ch_ctl15::CH_CTL15_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl15;
#[doc = "CH_CTL16 register accessor: an alias for `Reg<CH_CTL16_SPEC>`"]
pub type CH_CTL16 = crate::Reg<ch_ctl16::CH_CTL16_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl16;
#[doc = "CH_CTL17 register accessor: an alias for `Reg<CH_CTL17_SPEC>`"]
pub type CH_CTL17 = crate::Reg<ch_ctl17::CH_CTL17_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl17;
#[doc = "CH_CTL18 register accessor: an alias for `Reg<CH_CTL18_SPEC>`"]
pub type CH_CTL18 = crate::Reg<ch_ctl18::CH_CTL18_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl18;
#[doc = "CH_CTL19 register accessor: an alias for `Reg<CH_CTL19_SPEC>`"]
pub type CH_CTL19 = crate::Reg<ch_ctl19::CH_CTL19_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl19;
#[doc = "CH_CTL20 register accessor: an alias for `Reg<CH_CTL20_SPEC>`"]
pub type CH_CTL20 = crate::Reg<ch_ctl20::CH_CTL20_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl20;
#[doc = "CH_CTL21 register accessor: an alias for `Reg<CH_CTL21_SPEC>`"]
pub type CH_CTL21 = crate::Reg<ch_ctl21::CH_CTL21_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl21;
#[doc = "CH_CTL22 register accessor: an alias for `Reg<CH_CTL22_SPEC>`"]
pub type CH_CTL22 = crate::Reg<ch_ctl22::CH_CTL22_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl22;
#[doc = "CH_CTL23 register accessor: an alias for `Reg<CH_CTL23_SPEC>`"]
pub type CH_CTL23 = crate::Reg<ch_ctl23::CH_CTL23_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl23;
#[doc = "CH_CTL24 register accessor: an alias for `Reg<CH_CTL24_SPEC>`"]
pub type CH_CTL24 = crate::Reg<ch_ctl24::CH_CTL24_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl24;
#[doc = "CH_CTL25 register accessor: an alias for `Reg<CH_CTL25_SPEC>`"]
pub type CH_CTL25 = crate::Reg<ch_ctl25::CH_CTL25_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl25;
#[doc = "CH_CTL26 register accessor: an alias for `Reg<CH_CTL26_SPEC>`"]
pub type CH_CTL26 = crate::Reg<ch_ctl26::CH_CTL26_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl26;
#[doc = "CH_CTL27 register accessor: an alias for `Reg<CH_CTL27_SPEC>`"]
pub type CH_CTL27 = crate::Reg<ch_ctl27::CH_CTL27_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl27;
#[doc = "CH_CTL28 register accessor: an alias for `Reg<CH_CTL28_SPEC>`"]
pub type CH_CTL28 = crate::Reg<ch_ctl28::CH_CTL28_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl28;
#[doc = "CH_CTL29 register accessor: an alias for `Reg<CH_CTL29_SPEC>`"]
pub type CH_CTL29 = crate::Reg<ch_ctl29::CH_CTL29_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl29;
#[doc = "CH_CTL30 register accessor: an alias for `Reg<CH_CTL30_SPEC>`"]
pub type CH_CTL30 = crate::Reg<ch_ctl30::CH_CTL30_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl30;
#[doc = "CH_CTL31 register accessor: an alias for `Reg<CH_CTL31_SPEC>`"]
pub type CH_CTL31 = crate::Reg<ch_ctl31::CH_CTL31_SPEC>;
#[doc = "Channel control register"]
pub mod ch_ctl31;
#[doc = "INTR register accessor: an alias for `Reg<INTR_SPEC>`"]
pub type INTR = crate::Reg<intr::INTR_SPEC>;
#[doc = "Interrupt 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 = "Interrupt set register"]
pub mod intr_set;
#[doc = "INTR_MASK register accessor: an alias for `Reg<INTR_MASK_SPEC>`"]
pub type INTR_MASK = crate::Reg<intr_mask::INTR_MASK_SPEC>;
#[doc = "Interrupt mask register"]
pub mod intr_mask;
#[doc = "INTR_MASKED register accessor: an alias for `Reg<INTR_MASKED_SPEC>`"]
pub type INTR_MASKED = crate::Reg<intr_masked::INTR_MASKED_SPEC>;
#[doc = "Interrupt masked register"]
pub mod intr_masked;
