1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 devcmdstat: Devcmdstat,
6 info: Info,
7 epliststart: Epliststart,
8 databufstart: Databufstart,
9 lpm: Lpm,
10 epskip: Epskip,
11 epinuse: Epinuse,
12 epbufcfg: Epbufcfg,
13 intstat: Intstat,
14 inten: Inten,
15 intsetstat: Intsetstat,
16 _reserved11: [u8; 0x08],
17 eptoggle: Eptoggle,
18}
19impl RegisterBlock {
20 #[doc = "0x00 - USB Device Command/Status register"]
21 #[inline(always)]
22 pub const fn devcmdstat(&self) -> &Devcmdstat {
23 &self.devcmdstat
24 }
25 #[doc = "0x04 - USB Info register"]
26 #[inline(always)]
27 pub const fn info(&self) -> &Info {
28 &self.info
29 }
30 #[doc = "0x08 - USB EP Command/Status List start address"]
31 #[inline(always)]
32 pub const fn epliststart(&self) -> &Epliststart {
33 &self.epliststart
34 }
35 #[doc = "0x0c - USB Data buffer start address"]
36 #[inline(always)]
37 pub const fn databufstart(&self) -> &Databufstart {
38 &self.databufstart
39 }
40 #[doc = "0x10 - USB Link Power Management register"]
41 #[inline(always)]
42 pub const fn lpm(&self) -> &Lpm {
43 &self.lpm
44 }
45 #[doc = "0x14 - USB Endpoint skip"]
46 #[inline(always)]
47 pub const fn epskip(&self) -> &Epskip {
48 &self.epskip
49 }
50 #[doc = "0x18 - USB Endpoint Buffer in use"]
51 #[inline(always)]
52 pub const fn epinuse(&self) -> &Epinuse {
53 &self.epinuse
54 }
55 #[doc = "0x1c - USB Endpoint Buffer Configuration register"]
56 #[inline(always)]
57 pub const fn epbufcfg(&self) -> &Epbufcfg {
58 &self.epbufcfg
59 }
60 #[doc = "0x20 - USB interrupt status register"]
61 #[inline(always)]
62 pub const fn intstat(&self) -> &Intstat {
63 &self.intstat
64 }
65 #[doc = "0x24 - USB interrupt enable register"]
66 #[inline(always)]
67 pub const fn inten(&self) -> &Inten {
68 &self.inten
69 }
70 #[doc = "0x28 - USB set interrupt status register"]
71 #[inline(always)]
72 pub const fn intsetstat(&self) -> &Intsetstat {
73 &self.intsetstat
74 }
75 #[doc = "0x34 - USB Endpoint toggle register"]
76 #[inline(always)]
77 pub const fn eptoggle(&self) -> &Eptoggle {
78 &self.eptoggle
79 }
80}
81#[doc = "DEVCMDSTAT (rw) register accessor: USB Device Command/Status register\n\nYou can [`read`](crate::Reg::read) this register and get [`devcmdstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`devcmdstat::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@devcmdstat`]
82module"]
83#[doc(alias = "DEVCMDSTAT")]
84pub type Devcmdstat = crate::Reg<devcmdstat::DevcmdstatSpec>;
85#[doc = "USB Device Command/Status register"]
86pub mod devcmdstat;
87#[doc = "INFO (r) register accessor: USB Info register\n\nYou can [`read`](crate::Reg::read) this register and get [`info::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@info`]
88module"]
89#[doc(alias = "INFO")]
90pub type Info = crate::Reg<info::InfoSpec>;
91#[doc = "USB Info register"]
92pub mod info;
93#[doc = "EPLISTSTART (rw) register accessor: USB EP Command/Status List start address\n\nYou can [`read`](crate::Reg::read) this register and get [`epliststart::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epliststart::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@epliststart`]
94module"]
95#[doc(alias = "EPLISTSTART")]
96pub type Epliststart = crate::Reg<epliststart::EpliststartSpec>;
97#[doc = "USB EP Command/Status List start address"]
98pub mod epliststart;
99#[doc = "DATABUFSTART (rw) register accessor: USB Data buffer start address\n\nYou can [`read`](crate::Reg::read) this register and get [`databufstart::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`databufstart::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@databufstart`]
100module"]
101#[doc(alias = "DATABUFSTART")]
102pub type Databufstart = crate::Reg<databufstart::DatabufstartSpec>;
103#[doc = "USB Data buffer start address"]
104pub mod databufstart;
105#[doc = "LPM (rw) register accessor: USB Link Power Management register\n\nYou can [`read`](crate::Reg::read) this register and get [`lpm::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`lpm::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@lpm`]
106module"]
107#[doc(alias = "LPM")]
108pub type Lpm = crate::Reg<lpm::LpmSpec>;
109#[doc = "USB Link Power Management register"]
110pub mod lpm;
111#[doc = "EPSKIP (rw) register accessor: USB Endpoint skip\n\nYou can [`read`](crate::Reg::read) this register and get [`epskip::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epskip::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@epskip`]
112module"]
113#[doc(alias = "EPSKIP")]
114pub type Epskip = crate::Reg<epskip::EpskipSpec>;
115#[doc = "USB Endpoint skip"]
116pub mod epskip;
117#[doc = "EPINUSE (rw) register accessor: USB Endpoint Buffer in use\n\nYou can [`read`](crate::Reg::read) this register and get [`epinuse::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epinuse::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@epinuse`]
118module"]
119#[doc(alias = "EPINUSE")]
120pub type Epinuse = crate::Reg<epinuse::EpinuseSpec>;
121#[doc = "USB Endpoint Buffer in use"]
122pub mod epinuse;
123#[doc = "EPBUFCFG (rw) register accessor: USB Endpoint Buffer Configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`epbufcfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`epbufcfg::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@epbufcfg`]
124module"]
125#[doc(alias = "EPBUFCFG")]
126pub type Epbufcfg = crate::Reg<epbufcfg::EpbufcfgSpec>;
127#[doc = "USB Endpoint Buffer Configuration register"]
128pub mod epbufcfg;
129#[doc = "INTSTAT (rw) register accessor: USB interrupt status register\n\nYou can [`read`](crate::Reg::read) this register and get [`intstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intstat::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intstat`]
130module"]
131#[doc(alias = "INTSTAT")]
132pub type Intstat = crate::Reg<intstat::IntstatSpec>;
133#[doc = "USB interrupt status register"]
134pub mod intstat;
135#[doc = "INTEN (rw) register accessor: USB interrupt enable register\n\nYou can [`read`](crate::Reg::read) this register and get [`inten::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`inten::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@inten`]
136module"]
137#[doc(alias = "INTEN")]
138pub type Inten = crate::Reg<inten::IntenSpec>;
139#[doc = "USB interrupt enable register"]
140pub mod inten;
141#[doc = "INTSETSTAT (rw) register accessor: USB set interrupt status register\n\nYou can [`read`](crate::Reg::read) this register and get [`intsetstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intsetstat::W`]. You can also [`modify`](crate::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@intsetstat`]
142module"]
143#[doc(alias = "INTSETSTAT")]
144pub type Intsetstat = crate::Reg<intsetstat::IntsetstatSpec>;
145#[doc = "USB set interrupt status register"]
146pub mod intsetstat;
147#[doc = "EPTOGGLE (r) register accessor: USB Endpoint toggle register\n\nYou can [`read`](crate::Reg::read) this register and get [`eptoggle::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@eptoggle`]
148module"]
149#[doc(alias = "EPTOGGLE")]
150pub type Eptoggle = crate::Reg<eptoggle::EptoggleSpec>;
151#[doc = "USB Endpoint toggle register"]
152pub mod eptoggle;