text: #[doc = r"Register block"]
  #[repr(C)]
  pub struct RegisterBlock {
      #[doc = "0x00 - Control A"]
      pub ctrla: CTRLA,
      #[doc = "0x04 - Control B Clear"]
      pub ctrlbclr: CTRLBCLR,
      #[doc = "0x05 - Control B Set"]
      pub ctrlbset: CTRLBSET,
      _reserved3: [u8; 2usize],
      #[doc = "0x08 - Synchronization Busy"]
      pub syncbusy: SYNCBUSY,
      #[doc = "0x0c - Recoverable Fault A Configuration"]
      pub fctrla: FCTRLA,
      #[doc = "0x10 - Recoverable Fault B Configuration"]
      pub fctrlb: FCTRLB,
      #[doc = "0x14 - Waveform Extension Configuration"]
      pub wexctrl: WEXCTRL,
      #[doc = "0x18 - Driver Control"]
      pub drvctrl: DRVCTRL,
      _reserved8: [u8; 2usize],
      #[doc = "0x1e - Debug Control"]
      pub dbgctrl: DBGCTRL,
      _reserved9: [u8; 1usize],
      #[doc = "0x20 - Event Control"]
      pub evctrl: EVCTRL,
      #[doc = "0x24 - Interrupt Enable Clear"]
      pub intenclr: INTENCLR,
      #[doc = "0x28 - Interrupt Enable Set"]
      pub intenset: INTENSET,
      #[doc = "0x2c - Interrupt Flag Status and Clear"]
      pub intflag: INTFLAG,
      #[doc = "0x30 - Status"]
      pub status: STATUS,
      _reserved_14_count: [u8; 4usize],
      #[doc = "0x38 - Pattern"]
      pub patt: PATT,
      _reserved16: [u8; 2usize],
      #[doc = "0x3c - Waveform Control"]
      pub wave: WAVE,
      _reserved_17_per: [u8; 4usize],
      _reserved_18_cc: [u8; 16usize],
      _reserved19: [u8; 16usize],
      #[doc = "0x64 - Pattern Buffer"]
      pub pattb: PATTB,
      _reserved20: [u8; 2usize],
      #[doc = "0x68 - Waveform Control Buffer"]
      pub waveb: WAVEB,
      _reserved_21_perb: [u8; 4usize],
      _reserved_22_ccb: [u8; 16usize],
  }
  impl RegisterBlock {
      #[doc = "0x34 - Count"]
      #[inline(always)]
      pub fn count_dith6(&self) -> &COUNT_DITH6 {
          unsafe { &*(((self as *const Self) as *const u8).add(52usize) as *const COUNT_DITH6) }
      }
      #[doc = "0x34 - Count"]
      #[inline(always)]
      pub fn count_dith6_mut(&self) -> &mut COUNT_DITH6 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(52usize) as *mut COUNT_DITH6) }
      }
      #[doc = "0x34 - Count"]
      #[inline(always)]
      pub fn count_dith5(&self) -> &COUNT_DITH5 {
          unsafe { &*(((self as *const Self) as *const u8).add(52usize) as *const COUNT_DITH5) }
      }
      #[doc = "0x34 - Count"]
      #[inline(always)]
      pub fn count_dith5_mut(&self) -> &mut COUNT_DITH5 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(52usize) as *mut COUNT_DITH5) }
      }
      #[doc = "0x34 - Count"]
      #[inline(always)]
      pub fn count_dith4(&self) -> &COUNT_DITH4 {
          unsafe { &*(((self as *const Self) as *const u8).add(52usize) as *const COUNT_DITH4) }
      }
      #[doc = "0x34 - Count"]
      #[inline(always)]
      pub fn count_dith4_mut(&self) -> &mut COUNT_DITH4 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(52usize) as *mut COUNT_DITH4) }
      }
      #[doc = "0x34 - Count"]
      #[inline(always)]
      pub fn count(&self) -> &COUNT {
          unsafe { &*(((self as *const Self) as *const u8).add(52usize) as *const COUNT) }
      }
      #[doc = "0x34 - Count"]
      #[inline(always)]
      pub fn count_mut(&self) -> &mut COUNT {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(52usize) as *mut COUNT) }
      }
      #[doc = "0x40 - Period"]
      #[inline(always)]
      pub fn per_dith6(&self) -> &PER_DITH6 {
          unsafe { &*(((self as *const Self) as *const u8).add(64usize) as *const PER_DITH6) }
      }
      #[doc = "0x40 - Period"]
      #[inline(always)]
      pub fn per_dith6_mut(&self) -> &mut PER_DITH6 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(64usize) as *mut PER_DITH6) }
      }
      #[doc = "0x40 - Period"]
      #[inline(always)]
      pub fn per_dith5(&self) -> &PER_DITH5 {
          unsafe { &*(((self as *const Self) as *const u8).add(64usize) as *const PER_DITH5) }
      }
      #[doc = "0x40 - Period"]
      #[inline(always)]
      pub fn per_dith5_mut(&self) -> &mut PER_DITH5 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(64usize) as *mut PER_DITH5) }
      }
      #[doc = "0x40 - Period"]
      #[inline(always)]
      pub fn per_dith4(&self) -> &PER_DITH4 {
          unsafe { &*(((self as *const Self) as *const u8).add(64usize) as *const PER_DITH4) }
      }
      #[doc = "0x40 - Period"]
      #[inline(always)]
      pub fn per_dith4_mut(&self) -> &mut PER_DITH4 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(64usize) as *mut PER_DITH4) }
      }
      #[doc = "0x40 - Period"]
      #[inline(always)]
      pub fn per(&self) -> &PER {
          unsafe { &*(((self as *const Self) as *const u8).add(64usize) as *const PER) }
      }
      #[doc = "0x40 - Period"]
      #[inline(always)]
      pub fn per_mut(&self) -> &mut PER {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(64usize) as *mut PER) }
      }
      #[doc = "0x44 - Compare and Capture"]
      #[inline(always)]
      pub fn cc_dith6(&self) -> &[CC_DITH6; 4] {
          unsafe { &*(((self as *const Self) as *const u8).add(68usize) as *const [CC_DITH6; 4]) }
      }
      #[doc = "0x44 - Compare and Capture"]
      #[inline(always)]
      pub fn cc_dith6_mut(&self) -> &mut [CC_DITH6; 4] {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(68usize) as *mut [CC_DITH6; 4]) }
      }
      #[doc = "0x44 - Compare and Capture"]
      #[inline(always)]
      pub fn cc_dith5(&self) -> &[CC_DITH5; 4] {
          unsafe { &*(((self as *const Self) as *const u8).add(68usize) as *const [CC_DITH5; 4]) }
      }
      #[doc = "0x44 - Compare and Capture"]
      #[inline(always)]
      pub fn cc_dith5_mut(&self) -> &mut [CC_DITH5; 4] {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(68usize) as *mut [CC_DITH5; 4]) }
      }
      #[doc = "0x44 - Compare and Capture"]
      #[inline(always)]
      pub fn cc_dith4(&self) -> &[CC_DITH4; 4] {
          unsafe { &*(((self as *const Self) as *const u8).add(68usize) as *const [CC_DITH4; 4]) }
      }
      #[doc = "0x44 - Compare and Capture"]
      #[inline(always)]
      pub fn cc_dith4_mut(&self) -> &mut [CC_DITH4; 4] {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(68usize) as *mut [CC_DITH4; 4]) }
      }
      #[doc = "0x44 - Compare and Capture"]
      #[inline(always)]
      pub fn cc(&self) -> &[CC; 4] {
          unsafe { &*(((self as *const Self) as *const u8).add(68usize) as *const [CC; 4]) }
      }
      #[doc = "0x44 - Compare and Capture"]
      #[inline(always)]
      pub fn cc_mut(&self) -> &mut [CC; 4] {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(68usize) as *mut [CC; 4]) }
      }
      #[doc = "0x6c - Period Buffer"]
      #[inline(always)]
      pub fn perb_dith6(&self) -> &PERB_DITH6 {
          unsafe { &*(((self as *const Self) as *const u8).add(108usize) as *const PERB_DITH6) }
      }
      #[doc = "0x6c - Period Buffer"]
      #[inline(always)]
      pub fn perb_dith6_mut(&self) -> &mut PERB_DITH6 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(108usize) as *mut PERB_DITH6) }
      }
      #[doc = "0x6c - Period Buffer"]
      #[inline(always)]
      pub fn perb_dith5(&self) -> &PERB_DITH5 {
          unsafe { &*(((self as *const Self) as *const u8).add(108usize) as *const PERB_DITH5) }
      }
      #[doc = "0x6c - Period Buffer"]
      #[inline(always)]
      pub fn perb_dith5_mut(&self) -> &mut PERB_DITH5 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(108usize) as *mut PERB_DITH5) }
      }
      #[doc = "0x6c - Period Buffer"]
      #[inline(always)]
      pub fn perb_dith4(&self) -> &PERB_DITH4 {
          unsafe { &*(((self as *const Self) as *const u8).add(108usize) as *const PERB_DITH4) }
      }
      #[doc = "0x6c - Period Buffer"]
      #[inline(always)]
      pub fn perb_dith4_mut(&self) -> &mut PERB_DITH4 {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(108usize) as *mut PERB_DITH4) }
      }
      #[doc = "0x6c - Period Buffer"]
      #[inline(always)]
      pub fn perb(&self) -> &PERB {
          unsafe { &*(((self as *const Self) as *const u8).add(108usize) as *const PERB) }
      }
      #[doc = "0x6c - Period Buffer"]
      #[inline(always)]
      pub fn perb_mut(&self) -> &mut PERB {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(108usize) as *mut PERB) }
      }
      #[doc = "0x70 - Compare and Capture Buffer"]
      #[inline(always)]
      pub fn ccb_dith6(&self) -> &[CCB_DITH6; 4] {
          unsafe { &*(((self as *const Self) as *const u8).add(112usize) as *const [CCB_DITH6; 4]) }
      }
      #[doc = "0x70 - Compare and Capture Buffer"]
      #[inline(always)]
      pub fn ccb_dith6_mut(&self) -> &mut [CCB_DITH6; 4] {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(112usize) as *mut [CCB_DITH6; 4]) }
      }
      #[doc = "0x70 - Compare and Capture Buffer"]
      #[inline(always)]
      pub fn ccb_dith5(&self) -> &[CCB_DITH5; 4] {
          unsafe { &*(((self as *const Self) as *const u8).add(112usize) as *const [CCB_DITH5; 4]) }
      }
      #[doc = "0x70 - Compare and Capture Buffer"]
      #[inline(always)]
      pub fn ccb_dith5_mut(&self) -> &mut [CCB_DITH5; 4] {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(112usize) as *mut [CCB_DITH5; 4]) }
      }
      #[doc = "0x70 - Compare and Capture Buffer"]
      #[inline(always)]
      pub fn ccb_dith4(&self) -> &[CCB_DITH4; 4] {
          unsafe { &*(((self as *const Self) as *const u8).add(112usize) as *const [CCB_DITH4; 4]) }
      }
      #[doc = "0x70 - Compare and Capture Buffer"]
      #[inline(always)]
      pub fn ccb_dith4_mut(&self) -> &mut [CCB_DITH4; 4] {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(112usize) as *mut [CCB_DITH4; 4]) }
      }
      #[doc = "0x70 - Compare and Capture Buffer"]
      #[inline(always)]
      pub fn ccb(&self) -> &[CCB; 4] {
          unsafe { &*(((self as *const Self) as *const u8).add(112usize) as *const [CCB; 4]) }
      }
      #[doc = "0x70 - Compare and Capture Buffer"]
      #[inline(always)]
      pub fn ccb_mut(&self) -> &mut [CCB; 4] {
          unsafe { &mut *(((self as *const Self) as *mut u8).add(112usize) as *mut [CCB; 4]) }
      }
  }
  #[doc = "Control A\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ctrla](ctrla) module"]
  pub type CTRLA = crate::Reg<u32, _CTRLA>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CTRLA;
  #[doc = "`read()` method returns [ctrla::R](ctrla::R) reader structure"]
  impl crate::Readable for CTRLA {}
  #[doc = "`write(|w| ..)` method takes [ctrla::W](ctrla::W) writer structure"]
  impl crate::Writable for CTRLA {}
  #[doc = "Control A"]
  pub mod ctrla;
  #[doc = "Control B Clear\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ctrlbclr](ctrlbclr) module"]
  pub type CTRLBCLR = crate::Reg<u8, _CTRLBCLR>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CTRLBCLR;
  #[doc = "`read()` method returns [ctrlbclr::R](ctrlbclr::R) reader structure"]
  impl crate::Readable for CTRLBCLR {}
  #[doc = "`write(|w| ..)` method takes [ctrlbclr::W](ctrlbclr::W) writer structure"]
  impl crate::Writable for CTRLBCLR {}
  #[doc = "Control B Clear"]
  pub mod ctrlbclr;
  #[doc = "Control B Set\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ctrlbset](ctrlbset) module"]
  pub type CTRLBSET = crate::Reg<u8, _CTRLBSET>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CTRLBSET;
  #[doc = "`read()` method returns [ctrlbset::R](ctrlbset::R) reader structure"]
  impl crate::Readable for CTRLBSET {}
  #[doc = "`write(|w| ..)` method takes [ctrlbset::W](ctrlbset::W) writer structure"]
  impl crate::Writable for CTRLBSET {}
  #[doc = "Control B Set"]
  pub mod ctrlbset;
  #[doc = "Synchronization Busy\n\nThis register you can [`read`](crate::generic::Reg::read). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [syncbusy](syncbusy) module"]
  pub type SYNCBUSY = crate::Reg<u32, _SYNCBUSY>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _SYNCBUSY;
  #[doc = "`read()` method returns [syncbusy::R](syncbusy::R) reader structure"]
  impl crate::Readable for SYNCBUSY {}
  #[doc = "Synchronization Busy"]
  pub mod syncbusy;
  #[doc = "Recoverable Fault A Configuration\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [fctrla](fctrla) module"]
  pub type FCTRLA = crate::Reg<u32, _FCTRLA>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _FCTRLA;
  #[doc = "`read()` method returns [fctrla::R](fctrla::R) reader structure"]
  impl crate::Readable for FCTRLA {}
  #[doc = "`write(|w| ..)` method takes [fctrla::W](fctrla::W) writer structure"]
  impl crate::Writable for FCTRLA {}
  #[doc = "Recoverable Fault A Configuration"]
  pub mod fctrla;
  #[doc = "Recoverable Fault B Configuration\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [fctrlb](fctrlb) module"]
  pub type FCTRLB = crate::Reg<u32, _FCTRLB>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _FCTRLB;
  #[doc = "`read()` method returns [fctrlb::R](fctrlb::R) reader structure"]
  impl crate::Readable for FCTRLB {}
  #[doc = "`write(|w| ..)` method takes [fctrlb::W](fctrlb::W) writer structure"]
  impl crate::Writable for FCTRLB {}
  #[doc = "Recoverable Fault B Configuration"]
  pub mod fctrlb;
  #[doc = "Waveform Extension Configuration\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [wexctrl](wexctrl) module"]
  pub type WEXCTRL = crate::Reg<u32, _WEXCTRL>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _WEXCTRL;
  #[doc = "`read()` method returns [wexctrl::R](wexctrl::R) reader structure"]
  impl crate::Readable for WEXCTRL {}
  #[doc = "`write(|w| ..)` method takes [wexctrl::W](wexctrl::W) writer structure"]
  impl crate::Writable for WEXCTRL {}
  #[doc = "Waveform Extension Configuration"]
  pub mod wexctrl;
  #[doc = "Driver Control\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [drvctrl](drvctrl) module"]
  pub type DRVCTRL = crate::Reg<u32, _DRVCTRL>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _DRVCTRL;
  #[doc = "`read()` method returns [drvctrl::R](drvctrl::R) reader structure"]
  impl crate::Readable for DRVCTRL {}
  #[doc = "`write(|w| ..)` method takes [drvctrl::W](drvctrl::W) writer structure"]
  impl crate::Writable for DRVCTRL {}
  #[doc = "Driver Control"]
  pub mod drvctrl;
  #[doc = "Debug Control\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [dbgctrl](dbgctrl) module"]
  pub type DBGCTRL = crate::Reg<u8, _DBGCTRL>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _DBGCTRL;
  #[doc = "`read()` method returns [dbgctrl::R](dbgctrl::R) reader structure"]
  impl crate::Readable for DBGCTRL {}
  #[doc = "`write(|w| ..)` method takes [dbgctrl::W](dbgctrl::W) writer structure"]
  impl crate::Writable for DBGCTRL {}
  #[doc = "Debug Control"]
  pub mod dbgctrl;
  #[doc = "Event Control\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [evctrl](evctrl) module"]
  pub type EVCTRL = crate::Reg<u32, _EVCTRL>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _EVCTRL;
  #[doc = "`read()` method returns [evctrl::R](evctrl::R) reader structure"]
  impl crate::Readable for EVCTRL {}
  #[doc = "`write(|w| ..)` method takes [evctrl::W](evctrl::W) writer structure"]
  impl crate::Writable for EVCTRL {}
  #[doc = "Event Control"]
  pub mod evctrl;
  #[doc = "Interrupt Enable Clear\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [intenclr](intenclr) module"]
  pub type INTENCLR = crate::Reg<u32, _INTENCLR>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _INTENCLR;
  #[doc = "`read()` method returns [intenclr::R](intenclr::R) reader structure"]
  impl crate::Readable for INTENCLR {}
  #[doc = "`write(|w| ..)` method takes [intenclr::W](intenclr::W) writer structure"]
  impl crate::Writable for INTENCLR {}
  #[doc = "Interrupt Enable Clear"]
  pub mod intenclr;
  #[doc = "Interrupt Enable Set\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [intenset](intenset) module"]
  pub type INTENSET = crate::Reg<u32, _INTENSET>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _INTENSET;
  #[doc = "`read()` method returns [intenset::R](intenset::R) reader structure"]
  impl crate::Readable for INTENSET {}
  #[doc = "`write(|w| ..)` method takes [intenset::W](intenset::W) writer structure"]
  impl crate::Writable for INTENSET {}
  #[doc = "Interrupt Enable Set"]
  pub mod intenset;
  #[doc = "Interrupt Flag Status and Clear\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [intflag](intflag) module"]
  pub type INTFLAG = crate::Reg<u32, _INTFLAG>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _INTFLAG;
  #[doc = "`read()` method returns [intflag::R](intflag::R) reader structure"]
  impl crate::Readable for INTFLAG {}
  #[doc = "`write(|w| ..)` method takes [intflag::W](intflag::W) writer structure"]
  impl crate::Writable for INTFLAG {}
  #[doc = "Interrupt Flag Status and Clear"]
  pub mod intflag;
  #[doc = "Status\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [status](status) module"]
  pub type STATUS = crate::Reg<u32, _STATUS>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _STATUS;
  #[doc = "`read()` method returns [status::R](status::R) reader structure"]
  impl crate::Readable for STATUS {}
  #[doc = "`write(|w| ..)` method takes [status::W](status::W) writer structure"]
  impl crate::Writable for STATUS {}
  #[doc = "Status"]
  pub mod status;
  #[doc = "Count\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [count](count) module"]
  pub type COUNT = crate::Reg<u32, _COUNT>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _COUNT;
  #[doc = "`read()` method returns [count::R](count::R) reader structure"]
  impl crate::Readable for COUNT {}
  #[doc = "`write(|w| ..)` method takes [count::W](count::W) writer structure"]
  impl crate::Writable for COUNT {}
  #[doc = "Count"]
  pub mod count;
  #[doc = "Count\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [count_dith4](count_dith4) module"]
  pub type COUNT_DITH4 = crate::Reg<u32, _COUNT_DITH4>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _COUNT_DITH4;
  #[doc = "`read()` method returns [count_dith4::R](count_dith4::R) reader structure"]
  impl crate::Readable for COUNT_DITH4 {}
  #[doc = "`write(|w| ..)` method takes [count_dith4::W](count_dith4::W) writer structure"]
  impl crate::Writable for COUNT_DITH4 {}
  #[doc = "Count"]
  pub mod count_dith4;
  #[doc = "Count\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [count_dith5](count_dith5) module"]
  pub type COUNT_DITH5 = crate::Reg<u32, _COUNT_DITH5>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _COUNT_DITH5;
  #[doc = "`read()` method returns [count_dith5::R](count_dith5::R) reader structure"]
  impl crate::Readable for COUNT_DITH5 {}
  #[doc = "`write(|w| ..)` method takes [count_dith5::W](count_dith5::W) writer structure"]
  impl crate::Writable for COUNT_DITH5 {}
  #[doc = "Count"]
  pub mod count_dith5;
  #[doc = "Count\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [count_dith6](count_dith6) module"]
  pub type COUNT_DITH6 = crate::Reg<u32, _COUNT_DITH6>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _COUNT_DITH6;
  #[doc = "`read()` method returns [count_dith6::R](count_dith6::R) reader structure"]
  impl crate::Readable for COUNT_DITH6 {}
  #[doc = "`write(|w| ..)` method takes [count_dith6::W](count_dith6::W) writer structure"]
  impl crate::Writable for COUNT_DITH6 {}
  #[doc = "Count"]
  pub mod count_dith6;
  #[doc = "Pattern\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [patt](patt) module"]
  pub type PATT = crate::Reg<u16, _PATT>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PATT;
  #[doc = "`read()` method returns [patt::R](patt::R) reader structure"]
  impl crate::Readable for PATT {}
  #[doc = "`write(|w| ..)` method takes [patt::W](patt::W) writer structure"]
  impl crate::Writable for PATT {}
  #[doc = "Pattern"]
  pub mod patt;
  #[doc = "Waveform Control\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [wave](wave) module"]
  pub type WAVE = crate::Reg<u32, _WAVE>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _WAVE;
  #[doc = "`read()` method returns [wave::R](wave::R) reader structure"]
  impl crate::Readable for WAVE {}
  #[doc = "`write(|w| ..)` method takes [wave::W](wave::W) writer structure"]
  impl crate::Writable for WAVE {}
  #[doc = "Waveform Control"]
  pub mod wave;
  #[doc = "Period\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [per](per) module"]
  pub type PER = crate::Reg<u32, _PER>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PER;
  #[doc = "`read()` method returns [per::R](per::R) reader structure"]
  impl crate::Readable for PER {}
  #[doc = "`write(|w| ..)` method takes [per::W](per::W) writer structure"]
  impl crate::Writable for PER {}
  #[doc = "Period"]
  pub mod per;
  #[doc = "Period\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [per_dith4](per_dith4) module"]
  pub type PER_DITH4 = crate::Reg<u32, _PER_DITH4>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PER_DITH4;
  #[doc = "`read()` method returns [per_dith4::R](per_dith4::R) reader structure"]
  impl crate::Readable for PER_DITH4 {}
  #[doc = "`write(|w| ..)` method takes [per_dith4::W](per_dith4::W) writer structure"]
  impl crate::Writable for PER_DITH4 {}
  #[doc = "Period"]
  pub mod per_dith4;
  #[doc = "Period\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [per_dith5](per_dith5) module"]
  pub type PER_DITH5 = crate::Reg<u32, _PER_DITH5>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PER_DITH5;
  #[doc = "`read()` method returns [per_dith5::R](per_dith5::R) reader structure"]
  impl crate::Readable for PER_DITH5 {}
  #[doc = "`write(|w| ..)` method takes [per_dith5::W](per_dith5::W) writer structure"]
  impl crate::Writable for PER_DITH5 {}
  #[doc = "Period"]
  pub mod per_dith5;
  #[doc = "Period\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [per_dith6](per_dith6) module"]
  pub type PER_DITH6 = crate::Reg<u32, _PER_DITH6>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PER_DITH6;
  #[doc = "`read()` method returns [per_dith6::R](per_dith6::R) reader structure"]
  impl crate::Readable for PER_DITH6 {}
  #[doc = "`write(|w| ..)` method takes [per_dith6::W](per_dith6::W) writer structure"]
  impl crate::Writable for PER_DITH6 {}
  #[doc = "Period"]
  pub mod per_dith6;
  #[doc = "Compare and Capture\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cc](cc) module"]
  pub type CC = crate::Reg<u32, _CC>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CC;
  #[doc = "`read()` method returns [cc::R](cc::R) reader structure"]
  impl crate::Readable for CC {}
  #[doc = "`write(|w| ..)` method takes [cc::W](cc::W) writer structure"]
  impl crate::Writable for CC {}
  #[doc = "Compare and Capture"]
  pub mod cc;
  #[doc = "Compare and Capture\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cc_dith4](cc_dith4) module"]
  pub type CC_DITH4 = crate::Reg<u32, _CC_DITH4>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CC_DITH4;
  #[doc = "`read()` method returns [cc_dith4::R](cc_dith4::R) reader structure"]
  impl crate::Readable for CC_DITH4 {}
  #[doc = "`write(|w| ..)` method takes [cc_dith4::W](cc_dith4::W) writer structure"]
  impl crate::Writable for CC_DITH4 {}
  #[doc = "Compare and Capture"]
  pub mod cc_dith4;
  #[doc = "Compare and Capture\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cc_dith5](cc_dith5) module"]
  pub type CC_DITH5 = crate::Reg<u32, _CC_DITH5>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CC_DITH5;
  #[doc = "`read()` method returns [cc_dith5::R](cc_dith5::R) reader structure"]
  impl crate::Readable for CC_DITH5 {}
  #[doc = "`write(|w| ..)` method takes [cc_dith5::W](cc_dith5::W) writer structure"]
  impl crate::Writable for CC_DITH5 {}
  #[doc = "Compare and Capture"]
  pub mod cc_dith5;
  #[doc = "Compare and Capture\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [cc_dith6](cc_dith6) module"]
  pub type CC_DITH6 = crate::Reg<u32, _CC_DITH6>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CC_DITH6;
  #[doc = "`read()` method returns [cc_dith6::R](cc_dith6::R) reader structure"]
  impl crate::Readable for CC_DITH6 {}
  #[doc = "`write(|w| ..)` method takes [cc_dith6::W](cc_dith6::W) writer structure"]
  impl crate::Writable for CC_DITH6 {}
  #[doc = "Compare and Capture"]
  pub mod cc_dith6;
  #[doc = "Pattern Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [pattb](pattb) module"]
  pub type PATTB = crate::Reg<u16, _PATTB>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PATTB;
  #[doc = "`read()` method returns [pattb::R](pattb::R) reader structure"]
  impl crate::Readable for PATTB {}
  #[doc = "`write(|w| ..)` method takes [pattb::W](pattb::W) writer structure"]
  impl crate::Writable for PATTB {}
  #[doc = "Pattern Buffer"]
  pub mod pattb;
  #[doc = "Waveform Control Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [waveb](waveb) module"]
  pub type WAVEB = crate::Reg<u32, _WAVEB>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _WAVEB;
  #[doc = "`read()` method returns [waveb::R](waveb::R) reader structure"]
  impl crate::Readable for WAVEB {}
  #[doc = "`write(|w| ..)` method takes [waveb::W](waveb::W) writer structure"]
  impl crate::Writable for WAVEB {}
  #[doc = "Waveform Control Buffer"]
  pub mod waveb;
  #[doc = "Period Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [perb](perb) module"]
  pub type PERB = crate::Reg<u32, _PERB>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PERB;
  #[doc = "`read()` method returns [perb::R](perb::R) reader structure"]
  impl crate::Readable for PERB {}
  #[doc = "`write(|w| ..)` method takes [perb::W](perb::W) writer structure"]
  impl crate::Writable for PERB {}
  #[doc = "Period Buffer"]
  pub mod perb;
  #[doc = "Period Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [perb_dith4](perb_dith4) module"]
  pub type PERB_DITH4 = crate::Reg<u32, _PERB_DITH4>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PERB_DITH4;
  #[doc = "`read()` method returns [perb_dith4::R](perb_dith4::R) reader structure"]
  impl crate::Readable for PERB_DITH4 {}
  #[doc = "`write(|w| ..)` method takes [perb_dith4::W](perb_dith4::W) writer structure"]
  impl crate::Writable for PERB_DITH4 {}
  #[doc = "Period Buffer"]
  pub mod perb_dith4;
  #[doc = "Period Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [perb_dith5](perb_dith5) module"]
  pub type PERB_DITH5 = crate::Reg<u32, _PERB_DITH5>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PERB_DITH5;
  #[doc = "`read()` method returns [perb_dith5::R](perb_dith5::R) reader structure"]
  impl crate::Readable for PERB_DITH5 {}
  #[doc = "`write(|w| ..)` method takes [perb_dith5::W](perb_dith5::W) writer structure"]
  impl crate::Writable for PERB_DITH5 {}
  #[doc = "Period Buffer"]
  pub mod perb_dith5;
  #[doc = "Period Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [perb_dith6](perb_dith6) module"]
  pub type PERB_DITH6 = crate::Reg<u32, _PERB_DITH6>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _PERB_DITH6;
  #[doc = "`read()` method returns [perb_dith6::R](perb_dith6::R) reader structure"]
  impl crate::Readable for PERB_DITH6 {}
  #[doc = "`write(|w| ..)` method takes [perb_dith6::W](perb_dith6::W) writer structure"]
  impl crate::Writable for PERB_DITH6 {}
  #[doc = "Period Buffer"]
  pub mod perb_dith6;
  #[doc = "Compare and Capture Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccb](ccb) module"]
  pub type CCB = crate::Reg<u32, _CCB>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CCB;
  #[doc = "`read()` method returns [ccb::R](ccb::R) reader structure"]
  impl crate::Readable for CCB {}
  #[doc = "`write(|w| ..)` method takes [ccb::W](ccb::W) writer structure"]
  impl crate::Writable for CCB {}
  #[doc = "Compare and Capture Buffer"]
  pub mod ccb;
  #[doc = "Compare and Capture Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccb_dith4](ccb_dith4) module"]
  pub type CCB_DITH4 = crate::Reg<u32, _CCB_DITH4>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CCB_DITH4;
  #[doc = "`read()` method returns [ccb_dith4::R](ccb_dith4::R) reader structure"]
  impl crate::Readable for CCB_DITH4 {}
  #[doc = "`write(|w| ..)` method takes [ccb_dith4::W](ccb_dith4::W) writer structure"]
  impl crate::Writable for CCB_DITH4 {}
  #[doc = "Compare and Capture Buffer"]
  pub mod ccb_dith4;
  #[doc = "Compare and Capture Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccb_dith5](ccb_dith5) module"]
  pub type CCB_DITH5 = crate::Reg<u32, _CCB_DITH5>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CCB_DITH5;
  #[doc = "`read()` method returns [ccb_dith5::R](ccb_dith5::R) reader structure"]
  impl crate::Readable for CCB_DITH5 {}
  #[doc = "`write(|w| ..)` method takes [ccb_dith5::W](ccb_dith5::W) writer structure"]
  impl crate::Writable for CCB_DITH5 {}
  #[doc = "Compare and Capture Buffer"]
  pub mod ccb_dith5;
  #[doc = "Compare and Capture Buffer\n\nThis register you can [`read`](crate::generic::Reg::read), [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero), [`modify`](crate::generic::Reg::modify). See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [ccb_dith6](ccb_dith6) module"]
  pub type CCB_DITH6 = crate::Reg<u32, _CCB_DITH6>;
  #[allow(missing_docs)]
  #[doc(hidden)]
  pub struct _CCB_DITH6;
  #[doc = "`read()` method returns [ccb_dith6::R](ccb_dith6::R) reader structure"]
  impl crate::Readable for CCB_DITH6 {}
  #[doc = "`write(|w| ..)` method takes [ccb_dith6::W](ccb_dith6::W) writer structure"]
  impl crate::Writable for CCB_DITH6 {}
  #[doc = "Compare and Capture Buffer"]
  pub mod ccb_dith6;
  