mimxrt685s_pac/
usbhsd.rs

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;