xmc4100/
usb0.rs

1#[repr(C)]
2#[doc = "Register block"]
3pub struct RegisterBlock {
4    _reserved0: [u8; 0x08],
5    gahbcfg: GAHBCFG,
6    gusbcfg: GUSBCFG,
7    grstctl: GRSTCTL,
8    gintsts: GINTSTS,
9    gintmsk: GINTMSK,
10    grxstsr: GRXSTSR,
11    grxstsp: GRXSTSP,
12    grxfsiz: GRXFSIZ,
13    gnptxfsiz: GNPTXFSIZ,
14    _reserved9: [u8; 0x10],
15    guid: GUID,
16    _reserved10: [u8; 0x1c],
17    gdfifocfg: GDFIFOCFG,
18    _reserved11: [u8; 0xa4],
19    dieptxf1: DIEPTXF1,
20    dieptxf2: DIEPTXF2,
21    dieptxf3: DIEPTXF3,
22    dieptxf4: DIEPTXF4,
23    dieptxf5: DIEPTXF5,
24    dieptxf6: DIEPTXF6,
25    _reserved17: [u8; 0x06e4],
26    dcfg: DCFG,
27    dctl: DCTL,
28    dsts: DSTS,
29    _reserved20: [u8; 0x04],
30    diepmsk: DIEPMSK,
31    doepmsk: DOEPMSK,
32    daint: DAINT,
33    daintmsk: DAINTMSK,
34    _reserved24: [u8; 0x08],
35    dvbusdis: DVBUSDIS,
36    dvbuspulse: DVBUSPULSE,
37    _reserved26: [u8; 0x04],
38    diepempmsk: DIEPEMPMSK,
39    _reserved27: [u8; 0x05c8],
40    pcgcctl: PCGCCTL,
41}
42impl RegisterBlock {
43    #[doc = "0x08 - AHB Configuration Register"]
44    #[inline(always)]
45    pub const fn gahbcfg(&self) -> &GAHBCFG {
46        &self.gahbcfg
47    }
48    #[doc = "0x0c - USB Configuration Register"]
49    #[inline(always)]
50    pub const fn gusbcfg(&self) -> &GUSBCFG {
51        &self.gusbcfg
52    }
53    #[doc = "0x10 - Reset Register"]
54    #[inline(always)]
55    pub const fn grstctl(&self) -> &GRSTCTL {
56        &self.grstctl
57    }
58    #[doc = "0x14 - Interrupt Register"]
59    #[inline(always)]
60    pub const fn gintsts(&self) -> &GINTSTS {
61        &self.gintsts
62    }
63    #[doc = "0x18 - Interrupt Mask Register"]
64    #[inline(always)]
65    pub const fn gintmsk(&self) -> &GINTMSK {
66        &self.gintmsk
67    }
68    #[doc = "0x1c - Receive Status Debug Read Register"]
69    #[inline(always)]
70    pub const fn grxstsr(&self) -> &GRXSTSR {
71        &self.grxstsr
72    }
73    #[doc = "0x20 - Receive Status Read and Pop Register"]
74    #[inline(always)]
75    pub const fn grxstsp(&self) -> &GRXSTSP {
76        &self.grxstsp
77    }
78    #[doc = "0x24 - Receive FIFO Size Register"]
79    #[inline(always)]
80    pub const fn grxfsiz(&self) -> &GRXFSIZ {
81        &self.grxfsiz
82    }
83    #[doc = "0x28 - Non-Periodic Transmit FIFO Size Register"]
84    #[inline(always)]
85    pub const fn gnptxfsiz(&self) -> &GNPTXFSIZ {
86        &self.gnptxfsiz
87    }
88    #[doc = "0x3c - USB Module Identification Register"]
89    #[inline(always)]
90    pub const fn guid(&self) -> &GUID {
91        &self.guid
92    }
93    #[doc = "0x5c - Global DFIFO Software Config Register"]
94    #[inline(always)]
95    pub const fn gdfifocfg(&self) -> &GDFIFOCFG {
96        &self.gdfifocfg
97    }
98    #[doc = "0x104 - Device IN Endpoint 1 Transmit FIFO Size Register"]
99    #[inline(always)]
100    pub const fn dieptxf1(&self) -> &DIEPTXF1 {
101        &self.dieptxf1
102    }
103    #[doc = "0x108 - Device IN Endpoint 2 Transmit FIFO Size Register"]
104    #[inline(always)]
105    pub const fn dieptxf2(&self) -> &DIEPTXF2 {
106        &self.dieptxf2
107    }
108    #[doc = "0x10c - Device IN Endpoint 3 Transmit FIFO Size Register"]
109    #[inline(always)]
110    pub const fn dieptxf3(&self) -> &DIEPTXF3 {
111        &self.dieptxf3
112    }
113    #[doc = "0x110 - Device IN Endpoint 4 Transmit FIFO Size Register"]
114    #[inline(always)]
115    pub const fn dieptxf4(&self) -> &DIEPTXF4 {
116        &self.dieptxf4
117    }
118    #[doc = "0x114 - Device IN Endpoint 5 Transmit FIFO Size Register"]
119    #[inline(always)]
120    pub const fn dieptxf5(&self) -> &DIEPTXF5 {
121        &self.dieptxf5
122    }
123    #[doc = "0x118 - Device IN Endpoint 6 Transmit FIFO Size Register"]
124    #[inline(always)]
125    pub const fn dieptxf6(&self) -> &DIEPTXF6 {
126        &self.dieptxf6
127    }
128    #[doc = "0x800 - Device Configuration Register"]
129    #[inline(always)]
130    pub const fn dcfg(&self) -> &DCFG {
131        &self.dcfg
132    }
133    #[doc = "0x804 - Device Control Register"]
134    #[inline(always)]
135    pub const fn dctl(&self) -> &DCTL {
136        &self.dctl
137    }
138    #[doc = "0x808 - Device Status Register"]
139    #[inline(always)]
140    pub const fn dsts(&self) -> &DSTS {
141        &self.dsts
142    }
143    #[doc = "0x810 - Device IN Endpoint Common Interrupt Mask Register"]
144    #[inline(always)]
145    pub const fn diepmsk(&self) -> &DIEPMSK {
146        &self.diepmsk
147    }
148    #[doc = "0x814 - Device OUT Endpoint Common Interrupt Mask Register"]
149    #[inline(always)]
150    pub const fn doepmsk(&self) -> &DOEPMSK {
151        &self.doepmsk
152    }
153    #[doc = "0x818 - Device All Endpoints Interrupt Register"]
154    #[inline(always)]
155    pub const fn daint(&self) -> &DAINT {
156        &self.daint
157    }
158    #[doc = "0x81c - Device All Endpoints Interrupt Mask Register"]
159    #[inline(always)]
160    pub const fn daintmsk(&self) -> &DAINTMSK {
161        &self.daintmsk
162    }
163    #[doc = "0x828 - Device VBUS Discharge Time Register"]
164    #[inline(always)]
165    pub const fn dvbusdis(&self) -> &DVBUSDIS {
166        &self.dvbusdis
167    }
168    #[doc = "0x82c - Device VBUS Pulsing Time Register"]
169    #[inline(always)]
170    pub const fn dvbuspulse(&self) -> &DVBUSPULSE {
171        &self.dvbuspulse
172    }
173    #[doc = "0x834 - Device IN Endpoint FIFO Empty Interrupt Mask Register"]
174    #[inline(always)]
175    pub const fn diepempmsk(&self) -> &DIEPEMPMSK {
176        &self.diepempmsk
177    }
178    #[doc = "0xe00 - Power and Clock Gating Control Register"]
179    #[inline(always)]
180    pub const fn pcgcctl(&self) -> &PCGCCTL {
181        &self.pcgcctl
182    }
183}
184#[doc = "GAHBCFG (rw) register accessor: AHB Configuration Register\n\nYou can [`read`](crate::Reg::read) this register and get [`gahbcfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gahbcfg::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@gahbcfg`]
185module"]
186pub type GAHBCFG = crate::Reg<gahbcfg::GAHBCFG_SPEC>;
187#[doc = "AHB Configuration Register"]
188pub mod gahbcfg;
189#[doc = "GUSBCFG (rw) register accessor: USB Configuration Register\n\nYou can [`read`](crate::Reg::read) this register and get [`gusbcfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gusbcfg::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@gusbcfg`]
190module"]
191pub type GUSBCFG = crate::Reg<gusbcfg::GUSBCFG_SPEC>;
192#[doc = "USB Configuration Register"]
193pub mod gusbcfg;
194#[doc = "GRSTCTL (rw) register accessor: Reset Register\n\nYou can [`read`](crate::Reg::read) this register and get [`grstctl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`grstctl::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@grstctl`]
195module"]
196pub type GRSTCTL = crate::Reg<grstctl::GRSTCTL_SPEC>;
197#[doc = "Reset Register"]
198pub mod grstctl;
199#[doc = "GINTSTS (rw) register accessor: Interrupt Register\n\nYou can [`read`](crate::Reg::read) this register and get [`gintsts::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gintsts::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@gintsts`]
200module"]
201pub type GINTSTS = crate::Reg<gintsts::GINTSTS_SPEC>;
202#[doc = "Interrupt Register"]
203pub mod gintsts;
204#[doc = "GINTMSK (rw) register accessor: Interrupt Mask Register\n\nYou can [`read`](crate::Reg::read) this register and get [`gintmsk::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gintmsk::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@gintmsk`]
205module"]
206pub type GINTMSK = crate::Reg<gintmsk::GINTMSK_SPEC>;
207#[doc = "Interrupt Mask Register"]
208pub mod gintmsk;
209#[doc = "GRXSTSR (r) register accessor: Receive Status Debug Read Register\n\nYou can [`read`](crate::Reg::read) this register and get [`grxstsr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@grxstsr`]
210module"]
211pub type GRXSTSR = crate::Reg<grxstsr::GRXSTSR_SPEC>;
212#[doc = "Receive Status Debug Read Register"]
213pub mod grxstsr;
214#[doc = "GRXSTSP (r) register accessor: Receive Status Read and Pop Register\n\nYou can [`read`](crate::Reg::read) this register and get [`grxstsp::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\n<div class=\"warning\">One or more dependent resources other than the current register are immediately affected by a read operation.</div>\n\nFor information about available fields see [`mod@grxstsp`]
215module"]
216pub type GRXSTSP = crate::Reg<grxstsp::GRXSTSP_SPEC>;
217#[doc = "Receive Status Read and Pop Register"]
218pub mod grxstsp;
219#[doc = "GRXFSIZ (rw) register accessor: Receive FIFO Size Register\n\nYou can [`read`](crate::Reg::read) this register and get [`grxfsiz::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`grxfsiz::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@grxfsiz`]
220module"]
221pub type GRXFSIZ = crate::Reg<grxfsiz::GRXFSIZ_SPEC>;
222#[doc = "Receive FIFO Size Register"]
223pub mod grxfsiz;
224#[doc = "GNPTXFSIZ (rw) register accessor: Non-Periodic Transmit FIFO Size Register\n\nYou can [`read`](crate::Reg::read) this register and get [`gnptxfsiz::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gnptxfsiz::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@gnptxfsiz`]
225module"]
226pub type GNPTXFSIZ = crate::Reg<gnptxfsiz::GNPTXFSIZ_SPEC>;
227#[doc = "Non-Periodic Transmit FIFO Size Register"]
228pub mod gnptxfsiz;
229#[doc = "GUID (rw) register accessor: USB Module Identification Register\n\nYou can [`read`](crate::Reg::read) this register and get [`guid::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`guid::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@guid`]
230module"]
231pub type GUID = crate::Reg<guid::GUID_SPEC>;
232#[doc = "USB Module Identification Register"]
233pub mod guid;
234#[doc = "GDFIFOCFG (rw) register accessor: Global DFIFO Software Config Register\n\nYou can [`read`](crate::Reg::read) this register and get [`gdfifocfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gdfifocfg::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@gdfifocfg`]
235module"]
236pub type GDFIFOCFG = crate::Reg<gdfifocfg::GDFIFOCFG_SPEC>;
237#[doc = "Global DFIFO Software Config Register"]
238pub mod gdfifocfg;
239#[doc = "DIEPTXF1 (rw) register accessor: Device IN Endpoint 1 Transmit FIFO Size Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dieptxf1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dieptxf1::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@dieptxf1`]
240module"]
241pub type DIEPTXF1 = crate::Reg<dieptxf1::DIEPTXF1_SPEC>;
242#[doc = "Device IN Endpoint 1 Transmit FIFO Size Register"]
243pub mod dieptxf1;
244#[doc = "DIEPTXF2 (rw) register accessor: Device IN Endpoint 2 Transmit FIFO Size Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dieptxf2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dieptxf2::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@dieptxf2`]
245module"]
246pub type DIEPTXF2 = crate::Reg<dieptxf2::DIEPTXF2_SPEC>;
247#[doc = "Device IN Endpoint 2 Transmit FIFO Size Register"]
248pub mod dieptxf2;
249#[doc = "DIEPTXF3 (rw) register accessor: Device IN Endpoint 3 Transmit FIFO Size Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dieptxf3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dieptxf3::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@dieptxf3`]
250module"]
251pub type DIEPTXF3 = crate::Reg<dieptxf3::DIEPTXF3_SPEC>;
252#[doc = "Device IN Endpoint 3 Transmit FIFO Size Register"]
253pub mod dieptxf3;
254#[doc = "DIEPTXF4 (rw) register accessor: Device IN Endpoint 4 Transmit FIFO Size Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dieptxf4::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dieptxf4::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@dieptxf4`]
255module"]
256pub type DIEPTXF4 = crate::Reg<dieptxf4::DIEPTXF4_SPEC>;
257#[doc = "Device IN Endpoint 4 Transmit FIFO Size Register"]
258pub mod dieptxf4;
259#[doc = "DIEPTXF5 (rw) register accessor: Device IN Endpoint 5 Transmit FIFO Size Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dieptxf5::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dieptxf5::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@dieptxf5`]
260module"]
261pub type DIEPTXF5 = crate::Reg<dieptxf5::DIEPTXF5_SPEC>;
262#[doc = "Device IN Endpoint 5 Transmit FIFO Size Register"]
263pub mod dieptxf5;
264#[doc = "DIEPTXF6 (rw) register accessor: Device IN Endpoint 6 Transmit FIFO Size Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dieptxf6::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dieptxf6::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@dieptxf6`]
265module"]
266pub type DIEPTXF6 = crate::Reg<dieptxf6::DIEPTXF6_SPEC>;
267#[doc = "Device IN Endpoint 6 Transmit FIFO Size Register"]
268pub mod dieptxf6;
269#[doc = "DCFG (rw) register accessor: Device Configuration Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dcfg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dcfg::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@dcfg`]
270module"]
271pub type DCFG = crate::Reg<dcfg::DCFG_SPEC>;
272#[doc = "Device Configuration Register"]
273pub mod dcfg;
274#[doc = "DCTL (rw) register accessor: Device Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dctl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dctl::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@dctl`]
275module"]
276pub type DCTL = crate::Reg<dctl::DCTL_SPEC>;
277#[doc = "Device Control Register"]
278pub mod dctl;
279#[doc = "DSTS (r) register accessor: Device Status Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dsts::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dsts`]
280module"]
281pub type DSTS = crate::Reg<dsts::DSTS_SPEC>;
282#[doc = "Device Status Register"]
283pub mod dsts;
284#[doc = "DIEPMSK (rw) register accessor: Device IN Endpoint Common Interrupt Mask Register\n\nYou can [`read`](crate::Reg::read) this register and get [`diepmsk::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`diepmsk::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@diepmsk`]
285module"]
286pub type DIEPMSK = crate::Reg<diepmsk::DIEPMSK_SPEC>;
287#[doc = "Device IN Endpoint Common Interrupt Mask Register"]
288pub mod diepmsk;
289#[doc = "DOEPMSK (rw) register accessor: Device OUT Endpoint Common Interrupt Mask Register\n\nYou can [`read`](crate::Reg::read) this register and get [`doepmsk::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`doepmsk::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@doepmsk`]
290module"]
291pub type DOEPMSK = crate::Reg<doepmsk::DOEPMSK_SPEC>;
292#[doc = "Device OUT Endpoint Common Interrupt Mask Register"]
293pub mod doepmsk;
294#[doc = "DAINT (r) register accessor: Device All Endpoints Interrupt Register\n\nYou can [`read`](crate::Reg::read) this register and get [`daint::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@daint`]
295module"]
296pub type DAINT = crate::Reg<daint::DAINT_SPEC>;
297#[doc = "Device All Endpoints Interrupt Register"]
298pub mod daint;
299#[doc = "DAINTMSK (rw) register accessor: Device All Endpoints Interrupt Mask Register\n\nYou can [`read`](crate::Reg::read) this register and get [`daintmsk::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`daintmsk::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@daintmsk`]
300module"]
301pub type DAINTMSK = crate::Reg<daintmsk::DAINTMSK_SPEC>;
302#[doc = "Device All Endpoints Interrupt Mask Register"]
303pub mod daintmsk;
304#[doc = "DVBUSDIS (rw) register accessor: Device VBUS Discharge Time Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dvbusdis::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dvbusdis::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@dvbusdis`]
305module"]
306pub type DVBUSDIS = crate::Reg<dvbusdis::DVBUSDIS_SPEC>;
307#[doc = "Device VBUS Discharge Time Register"]
308pub mod dvbusdis;
309#[doc = "DVBUSPULSE (rw) register accessor: Device VBUS Pulsing Time Register\n\nYou can [`read`](crate::Reg::read) this register and get [`dvbuspulse::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`dvbuspulse::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@dvbuspulse`]
310module"]
311pub type DVBUSPULSE = crate::Reg<dvbuspulse::DVBUSPULSE_SPEC>;
312#[doc = "Device VBUS Pulsing Time Register"]
313pub mod dvbuspulse;
314#[doc = "DIEPEMPMSK (rw) register accessor: Device IN Endpoint FIFO Empty Interrupt Mask Register\n\nYou can [`read`](crate::Reg::read) this register and get [`diepempmsk::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`diepempmsk::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@diepempmsk`]
315module"]
316pub type DIEPEMPMSK = crate::Reg<diepempmsk::DIEPEMPMSK_SPEC>;
317#[doc = "Device IN Endpoint FIFO Empty Interrupt Mask Register"]
318pub mod diepempmsk;
319#[doc = "PCGCCTL (rw) register accessor: Power and Clock Gating Control Register\n\nYou can [`read`](crate::Reg::read) this register and get [`pcgcctl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`pcgcctl::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@pcgcctl`]
320module"]
321pub type PCGCCTL = crate::Reg<pcgcctl::PCGCCTL_SPEC>;
322#[doc = "Power and Clock Gating Control Register"]
323pub mod pcgcctl;