#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
    #[doc = "0x00 - Analog control register."]
    pub ctrl: crate::Reg<ctrl::CTRL_SPEC>,
    #[doc = "0x04 - Sample control register."]
    pub sample_ctrl: crate::Reg<sample_ctrl::SAMPLE_CTRL_SPEC>,
    _reserved2: [u8; 8usize],
    #[doc = "0x10 - Sample time specification ST0 and ST1"]
    pub sample_time01: crate::Reg<sample_time01::SAMPLE_TIME01_SPEC>,
    #[doc = "0x14 - Sample time specification ST2 and ST3"]
    pub sample_time23: crate::Reg<sample_time23::SAMPLE_TIME23_SPEC>,
    #[doc = "0x18 - Global range detect threshold register."]
    pub range_thres: crate::Reg<range_thres::RANGE_THRES_SPEC>,
    #[doc = "0x1c - Global range detect mode register."]
    pub range_cond: crate::Reg<range_cond::RANGE_COND_SPEC>,
    #[doc = "0x20 - Enable bits for the channels"]
    pub chan_en: crate::Reg<chan_en::CHAN_EN_SPEC>,
    #[doc = "0x24 - Start control register (firmware trigger)."]
    pub start_ctrl: crate::Reg<start_ctrl::START_CTRL_SPEC>,
    _reserved8: [u8; 8usize],
    #[doc = "0x30 - DFT control register."]
    pub dft_ctrl: crate::Reg<dft_ctrl::DFT_CTRL_SPEC>,
    _reserved9: [u8; 76usize],
    #[doc = "0x80 - Channel configuration register."]
    pub chan_config0: crate::Reg<chan_config0::CHAN_CONFIG0_SPEC>,
    #[doc = "0x84 - Channel configuration register."]
    pub chan_config1: crate::Reg<chan_config1::CHAN_CONFIG1_SPEC>,
    #[doc = "0x88 - Channel configuration register."]
    pub chan_config2: crate::Reg<chan_config2::CHAN_CONFIG2_SPEC>,
    #[doc = "0x8c - Channel configuration register."]
    pub chan_config3: crate::Reg<chan_config3::CHAN_CONFIG3_SPEC>,
    #[doc = "0x90 - Channel configuration register."]
    pub chan_config4: crate::Reg<chan_config4::CHAN_CONFIG4_SPEC>,
    #[doc = "0x94 - Channel configuration register."]
    pub chan_config5: crate::Reg<chan_config5::CHAN_CONFIG5_SPEC>,
    #[doc = "0x98 - Channel configuration register."]
    pub chan_config6: crate::Reg<chan_config6::CHAN_CONFIG6_SPEC>,
    #[doc = "0x9c - Channel configuration register."]
    pub chan_config7: crate::Reg<chan_config7::CHAN_CONFIG7_SPEC>,
    #[doc = "0xa0 - Channel configuration register."]
    pub chan_config8: crate::Reg<chan_config8::CHAN_CONFIG8_SPEC>,
    #[doc = "0xa4 - Channel configuration register."]
    pub chan_config9: crate::Reg<chan_config9::CHAN_CONFIG9_SPEC>,
    #[doc = "0xa8 - Channel configuration register."]
    pub chan_config10: crate::Reg<chan_config10::CHAN_CONFIG10_SPEC>,
    #[doc = "0xac - Channel configuration register."]
    pub chan_config11: crate::Reg<chan_config11::CHAN_CONFIG11_SPEC>,
    #[doc = "0xb0 - Channel configuration register."]
    pub chan_config12: crate::Reg<chan_config12::CHAN_CONFIG12_SPEC>,
    #[doc = "0xb4 - Channel configuration register."]
    pub chan_config13: crate::Reg<chan_config13::CHAN_CONFIG13_SPEC>,
    #[doc = "0xb8 - Channel configuration register."]
    pub chan_config14: crate::Reg<chan_config14::CHAN_CONFIG14_SPEC>,
    #[doc = "0xbc - Channel configuration register."]
    pub chan_config15: crate::Reg<chan_config15::CHAN_CONFIG15_SPEC>,
    _reserved25: [u8; 64usize],
    #[doc = "0x100 - Channel working data register"]
    pub chan_work0: crate::Reg<chan_work0::CHAN_WORK0_SPEC>,
    #[doc = "0x104 - Channel working data register"]
    pub chan_work1: crate::Reg<chan_work1::CHAN_WORK1_SPEC>,
    #[doc = "0x108 - Channel working data register"]
    pub chan_work2: crate::Reg<chan_work2::CHAN_WORK2_SPEC>,
    #[doc = "0x10c - Channel working data register"]
    pub chan_work3: crate::Reg<chan_work3::CHAN_WORK3_SPEC>,
    #[doc = "0x110 - Channel working data register"]
    pub chan_work4: crate::Reg<chan_work4::CHAN_WORK4_SPEC>,
    #[doc = "0x114 - Channel working data register"]
    pub chan_work5: crate::Reg<chan_work5::CHAN_WORK5_SPEC>,
    #[doc = "0x118 - Channel working data register"]
    pub chan_work6: crate::Reg<chan_work6::CHAN_WORK6_SPEC>,
    #[doc = "0x11c - Channel working data register"]
    pub chan_work7: crate::Reg<chan_work7::CHAN_WORK7_SPEC>,
    #[doc = "0x120 - Channel working data register"]
    pub chan_work8: crate::Reg<chan_work8::CHAN_WORK8_SPEC>,
    #[doc = "0x124 - Channel working data register"]
    pub chan_work9: crate::Reg<chan_work9::CHAN_WORK9_SPEC>,
    #[doc = "0x128 - Channel working data register"]
    pub chan_work10: crate::Reg<chan_work10::CHAN_WORK10_SPEC>,
    #[doc = "0x12c - Channel working data register"]
    pub chan_work11: crate::Reg<chan_work11::CHAN_WORK11_SPEC>,
    #[doc = "0x130 - Channel working data register"]
    pub chan_work12: crate::Reg<chan_work12::CHAN_WORK12_SPEC>,
    #[doc = "0x134 - Channel working data register"]
    pub chan_work13: crate::Reg<chan_work13::CHAN_WORK13_SPEC>,
    #[doc = "0x138 - Channel working data register"]
    pub chan_work14: crate::Reg<chan_work14::CHAN_WORK14_SPEC>,
    #[doc = "0x13c - Channel working data register"]
    pub chan_work15: crate::Reg<chan_work15::CHAN_WORK15_SPEC>,
    _reserved41: [u8; 64usize],
    #[doc = "0x180 - Channel result data register"]
    pub chan_result0: crate::Reg<chan_result0::CHAN_RESULT0_SPEC>,
    #[doc = "0x184 - Channel result data register"]
    pub chan_result1: crate::Reg<chan_result1::CHAN_RESULT1_SPEC>,
    #[doc = "0x188 - Channel result data register"]
    pub chan_result2: crate::Reg<chan_result2::CHAN_RESULT2_SPEC>,
    #[doc = "0x18c - Channel result data register"]
    pub chan_result3: crate::Reg<chan_result3::CHAN_RESULT3_SPEC>,
    #[doc = "0x190 - Channel result data register"]
    pub chan_result4: crate::Reg<chan_result4::CHAN_RESULT4_SPEC>,
    #[doc = "0x194 - Channel result data register"]
    pub chan_result5: crate::Reg<chan_result5::CHAN_RESULT5_SPEC>,
    #[doc = "0x198 - Channel result data register"]
    pub chan_result6: crate::Reg<chan_result6::CHAN_RESULT6_SPEC>,
    #[doc = "0x19c - Channel result data register"]
    pub chan_result7: crate::Reg<chan_result7::CHAN_RESULT7_SPEC>,
    #[doc = "0x1a0 - Channel result data register"]
    pub chan_result8: crate::Reg<chan_result8::CHAN_RESULT8_SPEC>,
    #[doc = "0x1a4 - Channel result data register"]
    pub chan_result9: crate::Reg<chan_result9::CHAN_RESULT9_SPEC>,
    #[doc = "0x1a8 - Channel result data register"]
    pub chan_result10: crate::Reg<chan_result10::CHAN_RESULT10_SPEC>,
    #[doc = "0x1ac - Channel result data register"]
    pub chan_result11: crate::Reg<chan_result11::CHAN_RESULT11_SPEC>,
    #[doc = "0x1b0 - Channel result data register"]
    pub chan_result12: crate::Reg<chan_result12::CHAN_RESULT12_SPEC>,
    #[doc = "0x1b4 - Channel result data register"]
    pub chan_result13: crate::Reg<chan_result13::CHAN_RESULT13_SPEC>,
    #[doc = "0x1b8 - Channel result data register"]
    pub chan_result14: crate::Reg<chan_result14::CHAN_RESULT14_SPEC>,
    #[doc = "0x1bc - Channel result data register"]
    pub chan_result15: crate::Reg<chan_result15::CHAN_RESULT15_SPEC>,
    _reserved57: [u8; 64usize],
    #[doc = "0x200 - Channel working data register valid bits"]
    pub chan_work_valid: crate::Reg<chan_work_valid::CHAN_WORK_VALID_SPEC>,
    #[doc = "0x204 - Channel result data register valid bits"]
    pub chan_result_valid: crate::Reg<chan_result_valid::CHAN_RESULT_VALID_SPEC>,
    #[doc = "0x208 - Current status of internal SAR registers (mostly for debug)"]
    pub status: crate::Reg<status::STATUS_SPEC>,
    #[doc = "0x20c - Current averaging status (for debug)"]
    pub avg_stat: crate::Reg<avg_stat::AVG_STAT_SPEC>,
    #[doc = "0x210 - Interrupt request register."]
    pub intr: crate::Reg<intr::INTR_SPEC>,
    #[doc = "0x214 - Interrupt set request register"]
    pub intr_set: crate::Reg<intr_set::INTR_SET_SPEC>,
    #[doc = "0x218 - Interrupt mask register."]
    pub intr_mask: crate::Reg<intr_mask::INTR_MASK_SPEC>,
    #[doc = "0x21c - Interrupt masked request register"]
    pub intr_masked: crate::Reg<intr_masked::INTR_MASKED_SPEC>,
    #[doc = "0x220 - Saturate interrupt request register."]
    pub saturate_intr: crate::Reg<saturate_intr::SATURATE_INTR_SPEC>,
    #[doc = "0x224 - Saturate interrupt set request register"]
    pub saturate_intr_set: crate::Reg<saturate_intr_set::SATURATE_INTR_SET_SPEC>,
    #[doc = "0x228 - Saturate interrupt mask register."]
    pub saturate_intr_mask: crate::Reg<saturate_intr_mask::SATURATE_INTR_MASK_SPEC>,
    #[doc = "0x22c - Saturate interrupt masked request register"]
    pub saturate_intr_masked: crate::Reg<saturate_intr_masked::SATURATE_INTR_MASKED_SPEC>,
    #[doc = "0x230 - Range detect interrupt request register."]
    pub range_intr: crate::Reg<range_intr::RANGE_INTR_SPEC>,
    #[doc = "0x234 - Range detect interrupt set request register"]
    pub range_intr_set: crate::Reg<range_intr_set::RANGE_INTR_SET_SPEC>,
    #[doc = "0x238 - Range detect interrupt mask register."]
    pub range_intr_mask: crate::Reg<range_intr_mask::RANGE_INTR_MASK_SPEC>,
    #[doc = "0x23c - Range interrupt masked request register"]
    pub range_intr_masked: crate::Reg<range_intr_masked::RANGE_INTR_MASKED_SPEC>,
    #[doc = "0x240 - Interrupt cause register"]
    pub intr_cause: crate::Reg<intr_cause::INTR_CAUSE_SPEC>,
    _reserved74: [u8; 60usize],
    #[doc = "0x280 - Injection channel configuration register."]
    pub inj_chan_config: crate::Reg<inj_chan_config::INJ_CHAN_CONFIG_SPEC>,
    _reserved75: [u8; 12usize],
    #[doc = "0x290 - Injection channel result register"]
    pub inj_result: crate::Reg<inj_result::INJ_RESULT_SPEC>,
    _reserved76: [u8; 108usize],
    #[doc = "0x300 - SARMUX Firmware switch controls"]
    pub mux_switch0: crate::Reg<mux_switch0::MUX_SWITCH0_SPEC>,
    #[doc = "0x304 - SARMUX Firmware switch control clear"]
    pub mux_switch_clear0: crate::Reg<mux_switch_clear0::MUX_SWITCH_CLEAR0_SPEC>,
    #[doc = "0x308 - SARMUX Firmware switch controls"]
    pub mux_switch1: crate::Reg<mux_switch1::MUX_SWITCH1_SPEC>,
    #[doc = "0x30c - SARMUX Firmware switch control clear"]
    pub mux_switch_clear1: crate::Reg<mux_switch_clear1::MUX_SWITCH_CLEAR1_SPEC>,
    _reserved80: [u8; 48usize],
    #[doc = "0x340 - SARMUX switch hardware control"]
    pub mux_switch_hw_ctrl: crate::Reg<mux_switch_hw_ctrl::MUX_SWITCH_HW_CTRL_SPEC>,
    _reserved81: [u8; 4usize],
    #[doc = "0x348 - SARMUX switch status"]
    pub mux_switch_status: crate::Reg<mux_switch_status::MUX_SWITCH_STATUS_SPEC>,
    _reserved82: [u8; 52usize],
    #[doc = "0x380 - Switch pump control"]
    pub pump_ctrl: crate::Reg<pump_ctrl::PUMP_CTRL_SPEC>,
    _reserved83: [u8; 2940usize],
    #[doc = "0xf00 - Analog trim register."]
    pub ana_trim: crate::Reg<ana_trim::ANA_TRIM_SPEC>,
    #[doc = "0xf04 - SAR wounding register"]
    pub wounding: crate::Reg<wounding::WOUNDING_SPEC>,
}
#[doc = "CTRL register accessor: an alias for `Reg<CTRL_SPEC>`"]
pub type CTRL = crate::Reg<ctrl::CTRL_SPEC>;
#[doc = "Analog control register."]
pub mod ctrl;
#[doc = "SAMPLE_CTRL register accessor: an alias for `Reg<SAMPLE_CTRL_SPEC>`"]
pub type SAMPLE_CTRL = crate::Reg<sample_ctrl::SAMPLE_CTRL_SPEC>;
#[doc = "Sample control register."]
pub mod sample_ctrl;
#[doc = "SAMPLE_TIME01 register accessor: an alias for `Reg<SAMPLE_TIME01_SPEC>`"]
pub type SAMPLE_TIME01 = crate::Reg<sample_time01::SAMPLE_TIME01_SPEC>;
#[doc = "Sample time specification ST0 and ST1"]
pub mod sample_time01;
#[doc = "SAMPLE_TIME23 register accessor: an alias for `Reg<SAMPLE_TIME23_SPEC>`"]
pub type SAMPLE_TIME23 = crate::Reg<sample_time23::SAMPLE_TIME23_SPEC>;
#[doc = "Sample time specification ST2 and ST3"]
pub mod sample_time23;
#[doc = "RANGE_THRES register accessor: an alias for `Reg<RANGE_THRES_SPEC>`"]
pub type RANGE_THRES = crate::Reg<range_thres::RANGE_THRES_SPEC>;
#[doc = "Global range detect threshold register."]
pub mod range_thres;
#[doc = "RANGE_COND register accessor: an alias for `Reg<RANGE_COND_SPEC>`"]
pub type RANGE_COND = crate::Reg<range_cond::RANGE_COND_SPEC>;
#[doc = "Global range detect mode register."]
pub mod range_cond;
#[doc = "CHAN_EN register accessor: an alias for `Reg<CHAN_EN_SPEC>`"]
pub type CHAN_EN = crate::Reg<chan_en::CHAN_EN_SPEC>;
#[doc = "Enable bits for the channels"]
pub mod chan_en;
#[doc = "START_CTRL register accessor: an alias for `Reg<START_CTRL_SPEC>`"]
pub type START_CTRL = crate::Reg<start_ctrl::START_CTRL_SPEC>;
#[doc = "Start control register (firmware trigger)."]
pub mod start_ctrl;
#[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 register."]
pub mod dft_ctrl;
#[doc = "CHAN_CONFIG0 register accessor: an alias for `Reg<CHAN_CONFIG0_SPEC>`"]
pub type CHAN_CONFIG0 = crate::Reg<chan_config0::CHAN_CONFIG0_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config0;
#[doc = "CHAN_CONFIG1 register accessor: an alias for `Reg<CHAN_CONFIG1_SPEC>`"]
pub type CHAN_CONFIG1 = crate::Reg<chan_config1::CHAN_CONFIG1_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config1;
#[doc = "CHAN_CONFIG2 register accessor: an alias for `Reg<CHAN_CONFIG2_SPEC>`"]
pub type CHAN_CONFIG2 = crate::Reg<chan_config2::CHAN_CONFIG2_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config2;
#[doc = "CHAN_CONFIG3 register accessor: an alias for `Reg<CHAN_CONFIG3_SPEC>`"]
pub type CHAN_CONFIG3 = crate::Reg<chan_config3::CHAN_CONFIG3_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config3;
#[doc = "CHAN_CONFIG4 register accessor: an alias for `Reg<CHAN_CONFIG4_SPEC>`"]
pub type CHAN_CONFIG4 = crate::Reg<chan_config4::CHAN_CONFIG4_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config4;
#[doc = "CHAN_CONFIG5 register accessor: an alias for `Reg<CHAN_CONFIG5_SPEC>`"]
pub type CHAN_CONFIG5 = crate::Reg<chan_config5::CHAN_CONFIG5_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config5;
#[doc = "CHAN_CONFIG6 register accessor: an alias for `Reg<CHAN_CONFIG6_SPEC>`"]
pub type CHAN_CONFIG6 = crate::Reg<chan_config6::CHAN_CONFIG6_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config6;
#[doc = "CHAN_CONFIG7 register accessor: an alias for `Reg<CHAN_CONFIG7_SPEC>`"]
pub type CHAN_CONFIG7 = crate::Reg<chan_config7::CHAN_CONFIG7_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config7;
#[doc = "CHAN_CONFIG8 register accessor: an alias for `Reg<CHAN_CONFIG8_SPEC>`"]
pub type CHAN_CONFIG8 = crate::Reg<chan_config8::CHAN_CONFIG8_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config8;
#[doc = "CHAN_CONFIG9 register accessor: an alias for `Reg<CHAN_CONFIG9_SPEC>`"]
pub type CHAN_CONFIG9 = crate::Reg<chan_config9::CHAN_CONFIG9_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config9;
#[doc = "CHAN_CONFIG10 register accessor: an alias for `Reg<CHAN_CONFIG10_SPEC>`"]
pub type CHAN_CONFIG10 = crate::Reg<chan_config10::CHAN_CONFIG10_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config10;
#[doc = "CHAN_CONFIG11 register accessor: an alias for `Reg<CHAN_CONFIG11_SPEC>`"]
pub type CHAN_CONFIG11 = crate::Reg<chan_config11::CHAN_CONFIG11_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config11;
#[doc = "CHAN_CONFIG12 register accessor: an alias for `Reg<CHAN_CONFIG12_SPEC>`"]
pub type CHAN_CONFIG12 = crate::Reg<chan_config12::CHAN_CONFIG12_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config12;
#[doc = "CHAN_CONFIG13 register accessor: an alias for `Reg<CHAN_CONFIG13_SPEC>`"]
pub type CHAN_CONFIG13 = crate::Reg<chan_config13::CHAN_CONFIG13_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config13;
#[doc = "CHAN_CONFIG14 register accessor: an alias for `Reg<CHAN_CONFIG14_SPEC>`"]
pub type CHAN_CONFIG14 = crate::Reg<chan_config14::CHAN_CONFIG14_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config14;
#[doc = "CHAN_CONFIG15 register accessor: an alias for `Reg<CHAN_CONFIG15_SPEC>`"]
pub type CHAN_CONFIG15 = crate::Reg<chan_config15::CHAN_CONFIG15_SPEC>;
#[doc = "Channel configuration register."]
pub mod chan_config15;
#[doc = "CHAN_WORK0 register accessor: an alias for `Reg<CHAN_WORK0_SPEC>`"]
pub type CHAN_WORK0 = crate::Reg<chan_work0::CHAN_WORK0_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work0;
#[doc = "CHAN_WORK1 register accessor: an alias for `Reg<CHAN_WORK1_SPEC>`"]
pub type CHAN_WORK1 = crate::Reg<chan_work1::CHAN_WORK1_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work1;
#[doc = "CHAN_WORK2 register accessor: an alias for `Reg<CHAN_WORK2_SPEC>`"]
pub type CHAN_WORK2 = crate::Reg<chan_work2::CHAN_WORK2_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work2;
#[doc = "CHAN_WORK3 register accessor: an alias for `Reg<CHAN_WORK3_SPEC>`"]
pub type CHAN_WORK3 = crate::Reg<chan_work3::CHAN_WORK3_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work3;
#[doc = "CHAN_WORK4 register accessor: an alias for `Reg<CHAN_WORK4_SPEC>`"]
pub type CHAN_WORK4 = crate::Reg<chan_work4::CHAN_WORK4_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work4;
#[doc = "CHAN_WORK5 register accessor: an alias for `Reg<CHAN_WORK5_SPEC>`"]
pub type CHAN_WORK5 = crate::Reg<chan_work5::CHAN_WORK5_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work5;
#[doc = "CHAN_WORK6 register accessor: an alias for `Reg<CHAN_WORK6_SPEC>`"]
pub type CHAN_WORK6 = crate::Reg<chan_work6::CHAN_WORK6_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work6;
#[doc = "CHAN_WORK7 register accessor: an alias for `Reg<CHAN_WORK7_SPEC>`"]
pub type CHAN_WORK7 = crate::Reg<chan_work7::CHAN_WORK7_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work7;
#[doc = "CHAN_WORK8 register accessor: an alias for `Reg<CHAN_WORK8_SPEC>`"]
pub type CHAN_WORK8 = crate::Reg<chan_work8::CHAN_WORK8_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work8;
#[doc = "CHAN_WORK9 register accessor: an alias for `Reg<CHAN_WORK9_SPEC>`"]
pub type CHAN_WORK9 = crate::Reg<chan_work9::CHAN_WORK9_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work9;
#[doc = "CHAN_WORK10 register accessor: an alias for `Reg<CHAN_WORK10_SPEC>`"]
pub type CHAN_WORK10 = crate::Reg<chan_work10::CHAN_WORK10_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work10;
#[doc = "CHAN_WORK11 register accessor: an alias for `Reg<CHAN_WORK11_SPEC>`"]
pub type CHAN_WORK11 = crate::Reg<chan_work11::CHAN_WORK11_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work11;
#[doc = "CHAN_WORK12 register accessor: an alias for `Reg<CHAN_WORK12_SPEC>`"]
pub type CHAN_WORK12 = crate::Reg<chan_work12::CHAN_WORK12_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work12;
#[doc = "CHAN_WORK13 register accessor: an alias for `Reg<CHAN_WORK13_SPEC>`"]
pub type CHAN_WORK13 = crate::Reg<chan_work13::CHAN_WORK13_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work13;
#[doc = "CHAN_WORK14 register accessor: an alias for `Reg<CHAN_WORK14_SPEC>`"]
pub type CHAN_WORK14 = crate::Reg<chan_work14::CHAN_WORK14_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work14;
#[doc = "CHAN_WORK15 register accessor: an alias for `Reg<CHAN_WORK15_SPEC>`"]
pub type CHAN_WORK15 = crate::Reg<chan_work15::CHAN_WORK15_SPEC>;
#[doc = "Channel working data register"]
pub mod chan_work15;
#[doc = "CHAN_RESULT0 register accessor: an alias for `Reg<CHAN_RESULT0_SPEC>`"]
pub type CHAN_RESULT0 = crate::Reg<chan_result0::CHAN_RESULT0_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result0;
#[doc = "CHAN_RESULT1 register accessor: an alias for `Reg<CHAN_RESULT1_SPEC>`"]
pub type CHAN_RESULT1 = crate::Reg<chan_result1::CHAN_RESULT1_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result1;
#[doc = "CHAN_RESULT2 register accessor: an alias for `Reg<CHAN_RESULT2_SPEC>`"]
pub type CHAN_RESULT2 = crate::Reg<chan_result2::CHAN_RESULT2_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result2;
#[doc = "CHAN_RESULT3 register accessor: an alias for `Reg<CHAN_RESULT3_SPEC>`"]
pub type CHAN_RESULT3 = crate::Reg<chan_result3::CHAN_RESULT3_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result3;
#[doc = "CHAN_RESULT4 register accessor: an alias for `Reg<CHAN_RESULT4_SPEC>`"]
pub type CHAN_RESULT4 = crate::Reg<chan_result4::CHAN_RESULT4_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result4;
#[doc = "CHAN_RESULT5 register accessor: an alias for `Reg<CHAN_RESULT5_SPEC>`"]
pub type CHAN_RESULT5 = crate::Reg<chan_result5::CHAN_RESULT5_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result5;
#[doc = "CHAN_RESULT6 register accessor: an alias for `Reg<CHAN_RESULT6_SPEC>`"]
pub type CHAN_RESULT6 = crate::Reg<chan_result6::CHAN_RESULT6_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result6;
#[doc = "CHAN_RESULT7 register accessor: an alias for `Reg<CHAN_RESULT7_SPEC>`"]
pub type CHAN_RESULT7 = crate::Reg<chan_result7::CHAN_RESULT7_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result7;
#[doc = "CHAN_RESULT8 register accessor: an alias for `Reg<CHAN_RESULT8_SPEC>`"]
pub type CHAN_RESULT8 = crate::Reg<chan_result8::CHAN_RESULT8_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result8;
#[doc = "CHAN_RESULT9 register accessor: an alias for `Reg<CHAN_RESULT9_SPEC>`"]
pub type CHAN_RESULT9 = crate::Reg<chan_result9::CHAN_RESULT9_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result9;
#[doc = "CHAN_RESULT10 register accessor: an alias for `Reg<CHAN_RESULT10_SPEC>`"]
pub type CHAN_RESULT10 = crate::Reg<chan_result10::CHAN_RESULT10_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result10;
#[doc = "CHAN_RESULT11 register accessor: an alias for `Reg<CHAN_RESULT11_SPEC>`"]
pub type CHAN_RESULT11 = crate::Reg<chan_result11::CHAN_RESULT11_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result11;
#[doc = "CHAN_RESULT12 register accessor: an alias for `Reg<CHAN_RESULT12_SPEC>`"]
pub type CHAN_RESULT12 = crate::Reg<chan_result12::CHAN_RESULT12_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result12;
#[doc = "CHAN_RESULT13 register accessor: an alias for `Reg<CHAN_RESULT13_SPEC>`"]
pub type CHAN_RESULT13 = crate::Reg<chan_result13::CHAN_RESULT13_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result13;
#[doc = "CHAN_RESULT14 register accessor: an alias for `Reg<CHAN_RESULT14_SPEC>`"]
pub type CHAN_RESULT14 = crate::Reg<chan_result14::CHAN_RESULT14_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result14;
#[doc = "CHAN_RESULT15 register accessor: an alias for `Reg<CHAN_RESULT15_SPEC>`"]
pub type CHAN_RESULT15 = crate::Reg<chan_result15::CHAN_RESULT15_SPEC>;
#[doc = "Channel result data register"]
pub mod chan_result15;
#[doc = "CHAN_WORK_VALID register accessor: an alias for `Reg<CHAN_WORK_VALID_SPEC>`"]
pub type CHAN_WORK_VALID = crate::Reg<chan_work_valid::CHAN_WORK_VALID_SPEC>;
#[doc = "Channel working data register valid bits"]
pub mod chan_work_valid;
#[doc = "CHAN_RESULT_VALID register accessor: an alias for `Reg<CHAN_RESULT_VALID_SPEC>`"]
pub type CHAN_RESULT_VALID = crate::Reg<chan_result_valid::CHAN_RESULT_VALID_SPEC>;
#[doc = "Channel result data register valid bits"]
pub mod chan_result_valid;
#[doc = "STATUS register accessor: an alias for `Reg<STATUS_SPEC>`"]
pub type STATUS = crate::Reg<status::STATUS_SPEC>;
#[doc = "Current status of internal SAR registers (mostly for debug)"]
pub mod status;
#[doc = "AVG_STAT register accessor: an alias for `Reg<AVG_STAT_SPEC>`"]
pub type AVG_STAT = crate::Reg<avg_stat::AVG_STAT_SPEC>;
#[doc = "Current averaging status (for debug)"]
pub mod avg_stat;
#[doc = "INTR register accessor: an alias for `Reg<INTR_SPEC>`"]
pub type INTR = crate::Reg<intr::INTR_SPEC>;
#[doc = "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 = "Interrupt set request 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 request register"]
pub mod intr_masked;
#[doc = "SATURATE_INTR register accessor: an alias for `Reg<SATURATE_INTR_SPEC>`"]
pub type SATURATE_INTR = crate::Reg<saturate_intr::SATURATE_INTR_SPEC>;
#[doc = "Saturate interrupt request register."]
pub mod saturate_intr;
#[doc = "SATURATE_INTR_SET register accessor: an alias for `Reg<SATURATE_INTR_SET_SPEC>`"]
pub type SATURATE_INTR_SET = crate::Reg<saturate_intr_set::SATURATE_INTR_SET_SPEC>;
#[doc = "Saturate interrupt set request register"]
pub mod saturate_intr_set;
#[doc = "SATURATE_INTR_MASK register accessor: an alias for `Reg<SATURATE_INTR_MASK_SPEC>`"]
pub type SATURATE_INTR_MASK = crate::Reg<saturate_intr_mask::SATURATE_INTR_MASK_SPEC>;
#[doc = "Saturate interrupt mask register."]
pub mod saturate_intr_mask;
#[doc = "SATURATE_INTR_MASKED register accessor: an alias for `Reg<SATURATE_INTR_MASKED_SPEC>`"]
pub type SATURATE_INTR_MASKED = crate::Reg<saturate_intr_masked::SATURATE_INTR_MASKED_SPEC>;
#[doc = "Saturate interrupt masked request register"]
pub mod saturate_intr_masked;
#[doc = "RANGE_INTR register accessor: an alias for `Reg<RANGE_INTR_SPEC>`"]
pub type RANGE_INTR = crate::Reg<range_intr::RANGE_INTR_SPEC>;
#[doc = "Range detect interrupt request register."]
pub mod range_intr;
#[doc = "RANGE_INTR_SET register accessor: an alias for `Reg<RANGE_INTR_SET_SPEC>`"]
pub type RANGE_INTR_SET = crate::Reg<range_intr_set::RANGE_INTR_SET_SPEC>;
#[doc = "Range detect interrupt set request register"]
pub mod range_intr_set;
#[doc = "RANGE_INTR_MASK register accessor: an alias for `Reg<RANGE_INTR_MASK_SPEC>`"]
pub type RANGE_INTR_MASK = crate::Reg<range_intr_mask::RANGE_INTR_MASK_SPEC>;
#[doc = "Range detect interrupt mask register."]
pub mod range_intr_mask;
#[doc = "RANGE_INTR_MASKED register accessor: an alias for `Reg<RANGE_INTR_MASKED_SPEC>`"]
pub type RANGE_INTR_MASKED = crate::Reg<range_intr_masked::RANGE_INTR_MASKED_SPEC>;
#[doc = "Range interrupt masked request register"]
pub mod range_intr_masked;
#[doc = "INTR_CAUSE register accessor: an alias for `Reg<INTR_CAUSE_SPEC>`"]
pub type INTR_CAUSE = crate::Reg<intr_cause::INTR_CAUSE_SPEC>;
#[doc = "Interrupt cause register"]
pub mod intr_cause;
#[doc = "INJ_CHAN_CONFIG register accessor: an alias for `Reg<INJ_CHAN_CONFIG_SPEC>`"]
pub type INJ_CHAN_CONFIG = crate::Reg<inj_chan_config::INJ_CHAN_CONFIG_SPEC>;
#[doc = "Injection channel configuration register."]
pub mod inj_chan_config;
#[doc = "INJ_RESULT register accessor: an alias for `Reg<INJ_RESULT_SPEC>`"]
pub type INJ_RESULT = crate::Reg<inj_result::INJ_RESULT_SPEC>;
#[doc = "Injection channel result register"]
pub mod inj_result;
#[doc = "MUX_SWITCH0 register accessor: an alias for `Reg<MUX_SWITCH0_SPEC>`"]
pub type MUX_SWITCH0 = crate::Reg<mux_switch0::MUX_SWITCH0_SPEC>;
#[doc = "SARMUX Firmware switch controls"]
pub mod mux_switch0;
#[doc = "MUX_SWITCH_CLEAR0 register accessor: an alias for `Reg<MUX_SWITCH_CLEAR0_SPEC>`"]
pub type MUX_SWITCH_CLEAR0 = crate::Reg<mux_switch_clear0::MUX_SWITCH_CLEAR0_SPEC>;
#[doc = "SARMUX Firmware switch control clear"]
pub mod mux_switch_clear0;
#[doc = "MUX_SWITCH1 register accessor: an alias for `Reg<MUX_SWITCH1_SPEC>`"]
pub type MUX_SWITCH1 = crate::Reg<mux_switch1::MUX_SWITCH1_SPEC>;
#[doc = "SARMUX Firmware switch controls"]
pub mod mux_switch1;
#[doc = "MUX_SWITCH_CLEAR1 register accessor: an alias for `Reg<MUX_SWITCH_CLEAR1_SPEC>`"]
pub type MUX_SWITCH_CLEAR1 = crate::Reg<mux_switch_clear1::MUX_SWITCH_CLEAR1_SPEC>;
#[doc = "SARMUX Firmware switch control clear"]
pub mod mux_switch_clear1;
#[doc = "MUX_SWITCH_HW_CTRL register accessor: an alias for `Reg<MUX_SWITCH_HW_CTRL_SPEC>`"]
pub type MUX_SWITCH_HW_CTRL = crate::Reg<mux_switch_hw_ctrl::MUX_SWITCH_HW_CTRL_SPEC>;
#[doc = "SARMUX switch hardware control"]
pub mod mux_switch_hw_ctrl;
#[doc = "MUX_SWITCH_STATUS register accessor: an alias for `Reg<MUX_SWITCH_STATUS_SPEC>`"]
pub type MUX_SWITCH_STATUS = crate::Reg<mux_switch_status::MUX_SWITCH_STATUS_SPEC>;
#[doc = "SARMUX switch status"]
pub mod mux_switch_status;
#[doc = "PUMP_CTRL register accessor: an alias for `Reg<PUMP_CTRL_SPEC>`"]
pub type PUMP_CTRL = crate::Reg<pump_ctrl::PUMP_CTRL_SPEC>;
#[doc = "Switch pump control"]
pub mod pump_ctrl;
#[doc = "ANA_TRIM register accessor: an alias for `Reg<ANA_TRIM_SPEC>`"]
pub type ANA_TRIM = crate::Reg<ana_trim::ANA_TRIM_SPEC>;
#[doc = "Analog trim register."]
pub mod ana_trim;
#[doc = "WOUNDING register accessor: an alias for `Reg<WOUNDING_SPEC>`"]
pub type WOUNDING = crate::Reg<wounding::WOUNDING_SPEC>;
#[doc = "SAR wounding register"]
pub mod wounding;
