#[doc = r"Register block"]
#[repr(C)]
pub struct RegisterBlock {
#[doc = "0x00 - endpoint 0 register"]
pub ep0cs: EP0CS,
_reserved1: [u8; 2usize],
#[doc = "0x04 - endpoint 1 register"]
pub ep1cs: EP1CS,
_reserved2: [u8; 2usize],
#[doc = "0x08 - endpoint 2 register"]
pub ep2cs: EP2CS,
_reserved3: [u8; 2usize],
#[doc = "0x0c - endpoint 3 register"]
pub ep3cs: EP3CS,
_reserved4: [u8; 2usize],
#[doc = "0x10 - endpoint 4 register"]
pub ep4cs: EP4CS,
_reserved5: [u8; 2usize],
#[doc = "0x14 - endpoint 5 register"]
pub ep5cs: EP5CS,
_reserved6: [u8; 2usize],
#[doc = "0x18 - endpoint 6 register"]
pub ep6cs: EP6CS,
_reserved7: [u8; 2usize],
#[doc = "0x1c - endpoint 7 register"]
pub ep7cs: EP7CS,
_reserved8: [u8; 34usize],
#[doc = "0x40 - control register"]
pub ctl: CTL,
_reserved9: [u8; 2usize],
#[doc = "0x44 - interrupt flag register"]
pub intf: INTF,
_reserved10: [u8; 2usize],
#[doc = "0x48 - Status register"]
pub stat: STAT,
_reserved11: [u8; 2usize],
#[doc = "0x4c - device address register"]
pub daddr: DADDR,
_reserved12: [u8; 2usize],
#[doc = "0x50 - Buffer address register"]
pub baddr: BADDR,
_reserved13: [u8; 174usize],
#[doc = "0x100 - USB sub-endpoint 0 register"]
pub sep0: SEP0,
_reserved14: [u8; 2usize],
#[doc = "0x104 - USB sub-endpoint 1 register"]
pub sep1: SEP1,
_reserved15: [u8; 2usize],
#[doc = "0x108 - USB sub-endpoint 2 register"]
pub sep2: SEP2,
_reserved16: [u8; 2usize],
#[doc = "0x10c - USB sub-endpoint 3 register"]
pub sep3: SEP3,
_reserved17: [u8; 2usize],
#[doc = "0x110 - USB sub-endpoint 4 register"]
pub sep4: SEP4,
_reserved18: [u8; 2usize],
#[doc = "0x114 - USB sub-endpoint 5 register"]
pub sep5: SEP5,
_reserved19: [u8; 2usize],
#[doc = "0x118 - USB sub-endpoint 6 register"]
pub sep6: SEP6,
_reserved20: [u8; 2usize],
#[doc = "0x11c - USB sub-endpoint 7 register"]
pub sep7: SEP7,
_reserved21: [u8; 34usize],
#[doc = "0x140 - USB LPM control register"]
pub lpmctl: LPMCTL,
_reserved22: [u8; 2usize],
#[doc = "0x144 - USB LPM interrupt flag register"]
pub lpmintf: LPMINTF,
}
#[doc = "endpoint 0 register\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 [ep0cs](ep0cs) module"]
pub type EP0CS = crate::Reg<u16, _EP0CS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EP0CS;
#[doc = "`read()` method returns [ep0cs::R](ep0cs::R) reader structure"]
impl crate::Readable for EP0CS {}
#[doc = "`write(|w| ..)` method takes [ep0cs::W](ep0cs::W) writer structure"]
impl crate::Writable for EP0CS {}
#[doc = "endpoint 0 register"]
pub mod ep0cs;
#[doc = "endpoint 1 register\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 [ep1cs](ep1cs) module"]
pub type EP1CS = crate::Reg<u16, _EP1CS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EP1CS;
#[doc = "`read()` method returns [ep1cs::R](ep1cs::R) reader structure"]
impl crate::Readable for EP1CS {}
#[doc = "`write(|w| ..)` method takes [ep1cs::W](ep1cs::W) writer structure"]
impl crate::Writable for EP1CS {}
#[doc = "endpoint 1 register"]
pub mod ep1cs;
#[doc = "endpoint 2 register\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 [ep2cs](ep2cs) module"]
pub type EP2CS = crate::Reg<u16, _EP2CS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EP2CS;
#[doc = "`read()` method returns [ep2cs::R](ep2cs::R) reader structure"]
impl crate::Readable for EP2CS {}
#[doc = "`write(|w| ..)` method takes [ep2cs::W](ep2cs::W) writer structure"]
impl crate::Writable for EP2CS {}
#[doc = "endpoint 2 register"]
pub mod ep2cs;
#[doc = "endpoint 3 register\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 [ep3cs](ep3cs) module"]
pub type EP3CS = crate::Reg<u16, _EP3CS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EP3CS;
#[doc = "`read()` method returns [ep3cs::R](ep3cs::R) reader structure"]
impl crate::Readable for EP3CS {}
#[doc = "`write(|w| ..)` method takes [ep3cs::W](ep3cs::W) writer structure"]
impl crate::Writable for EP3CS {}
#[doc = "endpoint 3 register"]
pub mod ep3cs;
#[doc = "endpoint 4 register\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 [ep4cs](ep4cs) module"]
pub type EP4CS = crate::Reg<u16, _EP4CS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EP4CS;
#[doc = "`read()` method returns [ep4cs::R](ep4cs::R) reader structure"]
impl crate::Readable for EP4CS {}
#[doc = "`write(|w| ..)` method takes [ep4cs::W](ep4cs::W) writer structure"]
impl crate::Writable for EP4CS {}
#[doc = "endpoint 4 register"]
pub mod ep4cs;
#[doc = "endpoint 5 register\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 [ep5cs](ep5cs) module"]
pub type EP5CS = crate::Reg<u16, _EP5CS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EP5CS;
#[doc = "`read()` method returns [ep5cs::R](ep5cs::R) reader structure"]
impl crate::Readable for EP5CS {}
#[doc = "`write(|w| ..)` method takes [ep5cs::W](ep5cs::W) writer structure"]
impl crate::Writable for EP5CS {}
#[doc = "endpoint 5 register"]
pub mod ep5cs;
#[doc = "endpoint 6 register\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 [ep6cs](ep6cs) module"]
pub type EP6CS = crate::Reg<u16, _EP6CS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EP6CS;
#[doc = "`read()` method returns [ep6cs::R](ep6cs::R) reader structure"]
impl crate::Readable for EP6CS {}
#[doc = "`write(|w| ..)` method takes [ep6cs::W](ep6cs::W) writer structure"]
impl crate::Writable for EP6CS {}
#[doc = "endpoint 6 register"]
pub mod ep6cs;
#[doc = "endpoint 7 register\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 [ep7cs](ep7cs) module"]
pub type EP7CS = crate::Reg<u16, _EP7CS>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _EP7CS;
#[doc = "`read()` method returns [ep7cs::R](ep7cs::R) reader structure"]
impl crate::Readable for EP7CS {}
#[doc = "`write(|w| ..)` method takes [ep7cs::W](ep7cs::W) writer structure"]
impl crate::Writable for EP7CS {}
#[doc = "endpoint 7 register"]
pub mod ep7cs;
#[doc = "control register\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 [ctl](ctl) module"]
pub type CTL = crate::Reg<u16, _CTL>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _CTL;
#[doc = "`read()` method returns [ctl::R](ctl::R) reader structure"]
impl crate::Readable for CTL {}
#[doc = "`write(|w| ..)` method takes [ctl::W](ctl::W) writer structure"]
impl crate::Writable for CTL {}
#[doc = "control register"]
pub mod ctl;
#[doc = "interrupt flag register\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 [intf](intf) module"]
pub type INTF = crate::Reg<u16, _INTF>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _INTF;
#[doc = "`read()` method returns [intf::R](intf::R) reader structure"]
impl crate::Readable for INTF {}
#[doc = "`write(|w| ..)` method takes [intf::W](intf::W) writer structure"]
impl crate::Writable for INTF {}
#[doc = "interrupt flag register"]
pub mod intf;
#[doc = "Status register\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 [stat](stat) module"]
pub type STAT = crate::Reg<u16, _STAT>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _STAT;
#[doc = "`read()` method returns [stat::R](stat::R) reader structure"]
impl crate::Readable for STAT {}
#[doc = "Status register"]
pub mod stat;
#[doc = "device address register\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 [daddr](daddr) module"]
pub type DADDR = crate::Reg<u16, _DADDR>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _DADDR;
#[doc = "`read()` method returns [daddr::R](daddr::R) reader structure"]
impl crate::Readable for DADDR {}
#[doc = "`write(|w| ..)` method takes [daddr::W](daddr::W) writer structure"]
impl crate::Writable for DADDR {}
#[doc = "device address register"]
pub mod daddr;
#[doc = "Buffer address register\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 [baddr](baddr) module"]
pub type BADDR = crate::Reg<u16, _BADDR>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _BADDR;
#[doc = "`read()` method returns [baddr::R](baddr::R) reader structure"]
impl crate::Readable for BADDR {}
#[doc = "`write(|w| ..)` method takes [baddr::W](baddr::W) writer structure"]
impl crate::Writable for BADDR {}
#[doc = "Buffer address register"]
pub mod baddr;
#[doc = "USB sub-endpoint 0 register\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 [sep0](sep0) module"]
pub type SEP0 = crate::Reg<u16, _SEP0>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SEP0;
#[doc = "`read()` method returns [sep0::R](sep0::R) reader structure"]
impl crate::Readable for SEP0 {}
#[doc = "`write(|w| ..)` method takes [sep0::W](sep0::W) writer structure"]
impl crate::Writable for SEP0 {}
#[doc = "USB sub-endpoint 0 register"]
pub mod sep0;
#[doc = "USB sub-endpoint 1 register\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 [sep1](sep1) module"]
pub type SEP1 = crate::Reg<u16, _SEP1>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SEP1;
#[doc = "`read()` method returns [sep1::R](sep1::R) reader structure"]
impl crate::Readable for SEP1 {}
#[doc = "`write(|w| ..)` method takes [sep1::W](sep1::W) writer structure"]
impl crate::Writable for SEP1 {}
#[doc = "USB sub-endpoint 1 register"]
pub mod sep1;
#[doc = "USB sub-endpoint 2 register\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 [sep2](sep2) module"]
pub type SEP2 = crate::Reg<u16, _SEP2>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SEP2;
#[doc = "`read()` method returns [sep2::R](sep2::R) reader structure"]
impl crate::Readable for SEP2 {}
#[doc = "`write(|w| ..)` method takes [sep2::W](sep2::W) writer structure"]
impl crate::Writable for SEP2 {}
#[doc = "USB sub-endpoint 2 register"]
pub mod sep2;
#[doc = "USB sub-endpoint 3 register\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 [sep3](sep3) module"]
pub type SEP3 = crate::Reg<u16, _SEP3>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SEP3;
#[doc = "`read()` method returns [sep3::R](sep3::R) reader structure"]
impl crate::Readable for SEP3 {}
#[doc = "`write(|w| ..)` method takes [sep3::W](sep3::W) writer structure"]
impl crate::Writable for SEP3 {}
#[doc = "USB sub-endpoint 3 register"]
pub mod sep3;
#[doc = "USB sub-endpoint 4 register\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 [sep4](sep4) module"]
pub type SEP4 = crate::Reg<u16, _SEP4>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SEP4;
#[doc = "`read()` method returns [sep4::R](sep4::R) reader structure"]
impl crate::Readable for SEP4 {}
#[doc = "`write(|w| ..)` method takes [sep4::W](sep4::W) writer structure"]
impl crate::Writable for SEP4 {}
#[doc = "USB sub-endpoint 4 register"]
pub mod sep4;
#[doc = "USB sub-endpoint 5 register\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 [sep5](sep5) module"]
pub type SEP5 = crate::Reg<u16, _SEP5>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SEP5;
#[doc = "`read()` method returns [sep5::R](sep5::R) reader structure"]
impl crate::Readable for SEP5 {}
#[doc = "`write(|w| ..)` method takes [sep5::W](sep5::W) writer structure"]
impl crate::Writable for SEP5 {}
#[doc = "USB sub-endpoint 5 register"]
pub mod sep5;
#[doc = "USB sub-endpoint 6 register\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 [sep6](sep6) module"]
pub type SEP6 = crate::Reg<u16, _SEP6>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SEP6;
#[doc = "`read()` method returns [sep6::R](sep6::R) reader structure"]
impl crate::Readable for SEP6 {}
#[doc = "`write(|w| ..)` method takes [sep6::W](sep6::W) writer structure"]
impl crate::Writable for SEP6 {}
#[doc = "USB sub-endpoint 6 register"]
pub mod sep6;
#[doc = "USB sub-endpoint 7 register\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 [sep7](sep7) module"]
pub type SEP7 = crate::Reg<u16, _SEP7>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _SEP7;
#[doc = "`read()` method returns [sep7::R](sep7::R) reader structure"]
impl crate::Readable for SEP7 {}
#[doc = "`write(|w| ..)` method takes [sep7::W](sep7::W) writer structure"]
impl crate::Writable for SEP7 {}
#[doc = "USB sub-endpoint 7 register"]
pub mod sep7;
#[doc = "USB LPM control register\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 [lpmctl](lpmctl) module"]
pub type LPMCTL = crate::Reg<u16, _LPMCTL>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _LPMCTL;
#[doc = "`read()` method returns [lpmctl::R](lpmctl::R) reader structure"]
impl crate::Readable for LPMCTL {}
#[doc = "`write(|w| ..)` method takes [lpmctl::W](lpmctl::W) writer structure"]
impl crate::Writable for LPMCTL {}
#[doc = "USB LPM control register"]
pub mod lpmctl;
#[doc = "USB LPM interrupt flag register\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 [lpmintf](lpmintf) module"]
pub type LPMINTF = crate::Reg<u16, _LPMINTF>;
#[allow(missing_docs)]
#[doc(hidden)]
pub struct _LPMINTF;
#[doc = "`read()` method returns [lpmintf::R](lpmintf::R) reader structure"]
impl crate::Readable for LPMINTF {}
#[doc = "`write(|w| ..)` method takes [lpmintf::W](lpmintf::W) writer structure"]
impl crate::Writable for LPMINTF {}
#[doc = "USB LPM interrupt flag register"]
pub mod lpmintf;