mimxrt685s_pac/
powerquad.rs1#[repr(C)]
2#[cfg_attr(feature = "debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 outbase: Outbase,
6 outformat: Outformat,
7 tmpbase: Tmpbase,
8 tmpformat: Tmpformat,
9 inabase: Inabase,
10 inaformat: Inaformat,
11 inbbase: Inbbase,
12 inbformat: Inbformat,
13 _reserved8: [u8; 0xe0],
14 control: Control,
15 length: Length,
16 cppre: Cppre,
17 misc: Misc,
18 cursory: Cursory,
19 _reserved13: [u8; 0x6c],
20 cordic_x: CordicX,
21 cordic_y: CordicY,
22 cordic_z: CordicZ,
23 errstat: Errstat,
24 intren: Intren,
25 eventen: Eventen,
26 intrstat: Intrstat,
27 _reserved20: [u8; 0x64],
28 gpreg: [Gpreg; 16],
29 compreg: [Compreg; 8],
30}
31impl RegisterBlock {
32 #[doc = "0x00 - Base address register for output region"]
33 #[inline(always)]
34 pub const fn outbase(&self) -> &Outbase {
35 &self.outbase
36 }
37 #[doc = "0x04 - Output format"]
38 #[inline(always)]
39 pub const fn outformat(&self) -> &Outformat {
40 &self.outformat
41 }
42 #[doc = "0x08 - Base address register for temp region"]
43 #[inline(always)]
44 pub const fn tmpbase(&self) -> &Tmpbase {
45 &self.tmpbase
46 }
47 #[doc = "0x0c - Temp format"]
48 #[inline(always)]
49 pub const fn tmpformat(&self) -> &Tmpformat {
50 &self.tmpformat
51 }
52 #[doc = "0x10 - Base address register for input A region"]
53 #[inline(always)]
54 pub const fn inabase(&self) -> &Inabase {
55 &self.inabase
56 }
57 #[doc = "0x14 - Input A format"]
58 #[inline(always)]
59 pub const fn inaformat(&self) -> &Inaformat {
60 &self.inaformat
61 }
62 #[doc = "0x18 - Base address register for input B region"]
63 #[inline(always)]
64 pub const fn inbbase(&self) -> &Inbbase {
65 &self.inbbase
66 }
67 #[doc = "0x1c - Input B format"]
68 #[inline(always)]
69 pub const fn inbformat(&self) -> &Inbformat {
70 &self.inbformat
71 }
72 #[doc = "0x100 - PowerQuad Control register"]
73 #[inline(always)]
74 pub const fn control(&self) -> &Control {
75 &self.control
76 }
77 #[doc = "0x104 - Length register"]
78 #[inline(always)]
79 pub const fn length(&self) -> &Length {
80 &self.length
81 }
82 #[doc = "0x108 - Pre-scale register"]
83 #[inline(always)]
84 pub const fn cppre(&self) -> &Cppre {
85 &self.cppre
86 }
87 #[doc = "0x10c - Misc register"]
88 #[inline(always)]
89 pub const fn misc(&self) -> &Misc {
90 &self.misc
91 }
92 #[doc = "0x110 - Cursory register"]
93 #[inline(always)]
94 pub const fn cursory(&self) -> &Cursory {
95 &self.cursory
96 }
97 #[doc = "0x180 - Cordic input X register"]
98 #[inline(always)]
99 pub const fn cordic_x(&self) -> &CordicX {
100 &self.cordic_x
101 }
102 #[doc = "0x184 - Cordic input Y register"]
103 #[inline(always)]
104 pub const fn cordic_y(&self) -> &CordicY {
105 &self.cordic_y
106 }
107 #[doc = "0x188 - Cordic input Z register"]
108 #[inline(always)]
109 pub const fn cordic_z(&self) -> &CordicZ {
110 &self.cordic_z
111 }
112 #[doc = "0x18c - Read/Write register where error statuses are captured (sticky)"]
113 #[inline(always)]
114 pub const fn errstat(&self) -> &Errstat {
115 &self.errstat
116 }
117 #[doc = "0x190 - INTERRUPT enable register"]
118 #[inline(always)]
119 pub const fn intren(&self) -> &Intren {
120 &self.intren
121 }
122 #[doc = "0x194 - Event Enable register"]
123 #[inline(always)]
124 pub const fn eventen(&self) -> &Eventen {
125 &self.eventen
126 }
127 #[doc = "0x198 - INTERRUPT STATUS register"]
128 #[inline(always)]
129 pub const fn intrstat(&self) -> &Intrstat {
130 &self.intrstat
131 }
132 #[doc = "0x200..0x240 - General purpose register bank N."]
133 #[inline(always)]
134 pub const fn gpreg(&self, n: usize) -> &Gpreg {
135 &self.gpreg[n]
136 }
137 #[doc = "Iterator for array of:"]
138 #[doc = "0x200..0x240 - General purpose register bank N."]
139 #[inline(always)]
140 pub fn gpreg_iter(&self) -> impl Iterator<Item = &Gpreg> {
141 self.gpreg.iter()
142 }
143 #[doc = "0x240..0x260 - Compute register bank"]
144 #[inline(always)]
145 pub const fn compreg(&self, n: usize) -> &Compreg {
146 &self.compreg[n]
147 }
148 #[doc = "Iterator for array of:"]
149 #[doc = "0x240..0x260 - Compute register bank"]
150 #[inline(always)]
151 pub fn compreg_iter(&self) -> impl Iterator<Item = &Compreg> {
152 self.compreg.iter()
153 }
154}
155#[doc = "OUTBASE (rw) register accessor: Base address register for output region\n\nYou can [`read`](crate::Reg::read) this register and get [`outbase::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`outbase::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@outbase`]
156module"]
157#[doc(alias = "OUTBASE")]
158pub type Outbase = crate::Reg<outbase::OutbaseSpec>;
159#[doc = "Base address register for output region"]
160pub mod outbase;
161#[doc = "OUTFORMAT (rw) register accessor: Output format\n\nYou can [`read`](crate::Reg::read) this register and get [`outformat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`outformat::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@outformat`]
162module"]
163#[doc(alias = "OUTFORMAT")]
164pub type Outformat = crate::Reg<outformat::OutformatSpec>;
165#[doc = "Output format"]
166pub mod outformat;
167#[doc = "TMPBASE (rw) register accessor: Base address register for temp region\n\nYou can [`read`](crate::Reg::read) this register and get [`tmpbase::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tmpbase::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@tmpbase`]
168module"]
169#[doc(alias = "TMPBASE")]
170pub type Tmpbase = crate::Reg<tmpbase::TmpbaseSpec>;
171#[doc = "Base address register for temp region"]
172pub mod tmpbase;
173#[doc = "TMPFORMAT (rw) register accessor: Temp format\n\nYou can [`read`](crate::Reg::read) this register and get [`tmpformat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`tmpformat::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@tmpformat`]
174module"]
175#[doc(alias = "TMPFORMAT")]
176pub type Tmpformat = crate::Reg<tmpformat::TmpformatSpec>;
177#[doc = "Temp format"]
178pub mod tmpformat;
179#[doc = "INABASE (rw) register accessor: Base address register for input A region\n\nYou can [`read`](crate::Reg::read) this register and get [`inabase::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`inabase::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@inabase`]
180module"]
181#[doc(alias = "INABASE")]
182pub type Inabase = crate::Reg<inabase::InabaseSpec>;
183#[doc = "Base address register for input A region"]
184pub mod inabase;
185#[doc = "INAFORMAT (rw) register accessor: Input A format\n\nYou can [`read`](crate::Reg::read) this register and get [`inaformat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`inaformat::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@inaformat`]
186module"]
187#[doc(alias = "INAFORMAT")]
188pub type Inaformat = crate::Reg<inaformat::InaformatSpec>;
189#[doc = "Input A format"]
190pub mod inaformat;
191#[doc = "INBBASE (rw) register accessor: Base address register for input B region\n\nYou can [`read`](crate::Reg::read) this register and get [`inbbase::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`inbbase::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@inbbase`]
192module"]
193#[doc(alias = "INBBASE")]
194pub type Inbbase = crate::Reg<inbbase::InbbaseSpec>;
195#[doc = "Base address register for input B region"]
196pub mod inbbase;
197#[doc = "INBFORMAT (rw) register accessor: Input B format\n\nYou can [`read`](crate::Reg::read) this register and get [`inbformat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`inbformat::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@inbformat`]
198module"]
199#[doc(alias = "INBFORMAT")]
200pub type Inbformat = crate::Reg<inbformat::InbformatSpec>;
201#[doc = "Input B format"]
202pub mod inbformat;
203#[doc = "CONTROL (rw) register accessor: PowerQuad Control register\n\nYou can [`read`](crate::Reg::read) this register and get [`control::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`control::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@control`]
204module"]
205#[doc(alias = "CONTROL")]
206pub type Control = crate::Reg<control::ControlSpec>;
207#[doc = "PowerQuad Control register"]
208pub mod control;
209#[doc = "LENGTH (rw) register accessor: Length register\n\nYou can [`read`](crate::Reg::read) this register and get [`length::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`length::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@length`]
210module"]
211#[doc(alias = "LENGTH")]
212pub type Length = crate::Reg<length::LengthSpec>;
213#[doc = "Length register"]
214pub mod length;
215#[doc = "CPPRE (rw) register accessor: Pre-scale register\n\nYou can [`read`](crate::Reg::read) this register and get [`cppre::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cppre::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@cppre`]
216module"]
217#[doc(alias = "CPPRE")]
218pub type Cppre = crate::Reg<cppre::CppreSpec>;
219#[doc = "Pre-scale register"]
220pub mod cppre;
221#[doc = "MISC (rw) register accessor: Misc register\n\nYou can [`read`](crate::Reg::read) this register and get [`misc::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`misc::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@misc`]
222module"]
223#[doc(alias = "MISC")]
224pub type Misc = crate::Reg<misc::MiscSpec>;
225#[doc = "Misc register"]
226pub mod misc;
227#[doc = "CURSORY (rw) register accessor: Cursory register\n\nYou can [`read`](crate::Reg::read) this register and get [`cursory::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cursory::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@cursory`]
228module"]
229#[doc(alias = "CURSORY")]
230pub type Cursory = crate::Reg<cursory::CursorySpec>;
231#[doc = "Cursory register"]
232pub mod cursory;
233#[doc = "CORDIC_X (rw) register accessor: Cordic input X register\n\nYou can [`read`](crate::Reg::read) this register and get [`cordic_x::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cordic_x::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@cordic_x`]
234module"]
235#[doc(alias = "CORDIC_X")]
236pub type CordicX = crate::Reg<cordic_x::CordicXSpec>;
237#[doc = "Cordic input X register"]
238pub mod cordic_x;
239#[doc = "CORDIC_Y (rw) register accessor: Cordic input Y register\n\nYou can [`read`](crate::Reg::read) this register and get [`cordic_y::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cordic_y::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@cordic_y`]
240module"]
241#[doc(alias = "CORDIC_Y")]
242pub type CordicY = crate::Reg<cordic_y::CordicYSpec>;
243#[doc = "Cordic input Y register"]
244pub mod cordic_y;
245#[doc = "CORDIC_Z (rw) register accessor: Cordic input Z register\n\nYou can [`read`](crate::Reg::read) this register and get [`cordic_z::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cordic_z::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@cordic_z`]
246module"]
247#[doc(alias = "CORDIC_Z")]
248pub type CordicZ = crate::Reg<cordic_z::CordicZSpec>;
249#[doc = "Cordic input Z register"]
250pub mod cordic_z;
251#[doc = "ERRSTAT (rw) register accessor: Read/Write register where error statuses are captured (sticky)\n\nYou can [`read`](crate::Reg::read) this register and get [`errstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`errstat::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@errstat`]
252module"]
253#[doc(alias = "ERRSTAT")]
254pub type Errstat = crate::Reg<errstat::ErrstatSpec>;
255#[doc = "Read/Write register where error statuses are captured (sticky)"]
256pub mod errstat;
257#[doc = "INTREN (rw) register accessor: INTERRUPT enable register\n\nYou can [`read`](crate::Reg::read) this register and get [`intren::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intren::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@intren`]
258module"]
259#[doc(alias = "INTREN")]
260pub type Intren = crate::Reg<intren::IntrenSpec>;
261#[doc = "INTERRUPT enable register"]
262pub mod intren;
263#[doc = "EVENTEN (rw) register accessor: Event Enable register\n\nYou can [`read`](crate::Reg::read) this register and get [`eventen::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`eventen::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@eventen`]
264module"]
265#[doc(alias = "EVENTEN")]
266pub type Eventen = crate::Reg<eventen::EventenSpec>;
267#[doc = "Event Enable register"]
268pub mod eventen;
269#[doc = "INTRSTAT (rw) register accessor: INTERRUPT STATUS register\n\nYou can [`read`](crate::Reg::read) this register and get [`intrstat::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`intrstat::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@intrstat`]
270module"]
271#[doc(alias = "INTRSTAT")]
272pub type Intrstat = crate::Reg<intrstat::IntrstatSpec>;
273#[doc = "INTERRUPT STATUS register"]
274pub mod intrstat;
275#[doc = "gpreg (rw) register accessor: General purpose register bank N.\n\nYou can [`read`](crate::Reg::read) this register and get [`gpreg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`gpreg::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@gpreg`]
276module"]
277#[doc(alias = "gpreg")]
278pub type Gpreg = crate::Reg<gpreg::GpregSpec>;
279#[doc = "General purpose register bank N."]
280pub mod gpreg;
281#[doc = "compreg (rw) register accessor: Compute register bank\n\nYou can [`read`](crate::Reg::read) this register and get [`compreg::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`compreg::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@compreg`]
282module"]
283#[doc(alias = "compreg")]
284pub type Compreg = crate::Reg<compreg::CompregSpec>;
285#[doc = "Compute register bank"]
286pub mod compreg;