mimxrt685s_pac/
powerquad.rs

1#[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;