1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 m_mem: [M_MEM; 32],
6 _reserved1: [u8; 0x0180],
7 z_mem: [Z_MEM; 32],
8 _reserved2: [u8; 0x0180],
9 y_mem: [Y_MEM; 32],
10 _reserved3: [u8; 0x0180],
11 x_mem: [X_MEM; 32],
12 _reserved4: [u8; 0x0180],
13 m_prime: M_PRIME,
14 modexp_mode: MODEXP_MODE,
15 modexp_start: MODEXP_START,
16 mult_mode: MULT_MODE,
17 mult_start: MULT_START,
18 interrupt: INTERRUPT,
19 clean: CLEAN,
20}
21impl RegisterBlock {
22 #[doc = "0x00..0x80 - Represents M"]
23 #[inline(always)]
24 pub const fn m_mem(&self, n: usize) -> &M_MEM {
25 &self.m_mem[n]
26 }
27 #[doc = "Iterator for array of:"]
28 #[doc = "0x00..0x80 - Represents M"]
29 #[inline(always)]
30 pub fn m_mem_iter(&self) -> impl Iterator<Item = &M_MEM> {
31 self.m_mem.iter()
32 }
33 #[doc = "0x200..0x280 - Represents Z"]
34 #[inline(always)]
35 pub const fn z_mem(&self, n: usize) -> &Z_MEM {
36 &self.z_mem[n]
37 }
38 #[doc = "Iterator for array of:"]
39 #[doc = "0x200..0x280 - Represents Z"]
40 #[inline(always)]
41 pub fn z_mem_iter(&self) -> impl Iterator<Item = &Z_MEM> {
42 self.z_mem.iter()
43 }
44 #[doc = "0x400..0x480 - Represents Y"]
45 #[inline(always)]
46 pub const fn y_mem(&self, n: usize) -> &Y_MEM {
47 &self.y_mem[n]
48 }
49 #[doc = "Iterator for array of:"]
50 #[doc = "0x400..0x480 - Represents Y"]
51 #[inline(always)]
52 pub fn y_mem_iter(&self) -> impl Iterator<Item = &Y_MEM> {
53 self.y_mem.iter()
54 }
55 #[doc = "0x600..0x680 - Represents X"]
56 #[inline(always)]
57 pub const fn x_mem(&self, n: usize) -> &X_MEM {
58 &self.x_mem[n]
59 }
60 #[doc = "Iterator for array of:"]
61 #[doc = "0x600..0x680 - Represents X"]
62 #[inline(always)]
63 pub fn x_mem_iter(&self) -> impl Iterator<Item = &X_MEM> {
64 self.x_mem.iter()
65 }
66 #[doc = "0x800 - "]
67 #[inline(always)]
68 pub const fn m_prime(&self) -> &M_PRIME {
69 &self.m_prime
70 }
71 #[doc = "0x804 - "]
72 #[inline(always)]
73 pub const fn modexp_mode(&self) -> &MODEXP_MODE {
74 &self.modexp_mode
75 }
76 #[doc = "0x808 - "]
77 #[inline(always)]
78 pub const fn modexp_start(&self) -> &MODEXP_START {
79 &self.modexp_start
80 }
81 #[doc = "0x80c - "]
82 #[inline(always)]
83 pub const fn mult_mode(&self) -> &MULT_MODE {
84 &self.mult_mode
85 }
86 #[doc = "0x810 - "]
87 #[inline(always)]
88 pub const fn mult_start(&self) -> &MULT_START {
89 &self.mult_start
90 }
91 #[doc = "0x814 - "]
92 #[inline(always)]
93 pub const fn interrupt(&self) -> &INTERRUPT {
94 &self.interrupt
95 }
96 #[doc = "0x818 - "]
97 #[inline(always)]
98 pub const fn clean(&self) -> &CLEAN {
99 &self.clean
100 }
101}
102#[doc = "M_PRIME (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`m_prime::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`m_prime::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@m_prime`] module"]
103pub type M_PRIME = crate::Reg<m_prime::M_PRIME_SPEC>;
104#[doc = ""]
105pub mod m_prime;
106#[doc = "MODEXP_MODE (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`modexp_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`modexp_mode::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@modexp_mode`] module"]
107pub type MODEXP_MODE = crate::Reg<modexp_mode::MODEXP_MODE_SPEC>;
108#[doc = ""]
109pub mod modexp_mode;
110#[doc = "MODEXP_START (w) register accessor: \n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`modexp_start::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@modexp_start`] module"]
111pub type MODEXP_START = crate::Reg<modexp_start::MODEXP_START_SPEC>;
112#[doc = ""]
113pub mod modexp_start;
114#[doc = "MULT_MODE (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`mult_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mult_mode::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@mult_mode`] module"]
115pub type MULT_MODE = crate::Reg<mult_mode::MULT_MODE_SPEC>;
116#[doc = ""]
117pub mod mult_mode;
118#[doc = "MULT_START (w) register accessor: \n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mult_start::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mult_start`] module"]
119pub type MULT_START = crate::Reg<mult_start::MULT_START_SPEC>;
120#[doc = ""]
121pub mod mult_start;
122#[doc = "INTERRUPT (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`interrupt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`interrupt::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@interrupt`] module"]
123pub type INTERRUPT = crate::Reg<interrupt::INTERRUPT_SPEC>;
124#[doc = ""]
125pub mod interrupt;
126#[doc = "CLEAN (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`clean::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clean`] module"]
127pub type CLEAN = crate::Reg<clean::CLEAN_SPEC>;
128#[doc = ""]
129pub mod clean;
130#[doc = "M_MEM (rw) register accessor: Represents M\n\nYou can [`read`](crate::Reg::read) this register and get [`m_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`m_mem::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@m_mem`] module"]
131pub type M_MEM = crate::Reg<m_mem::M_MEM_SPEC>;
132#[doc = "Represents M"]
133pub mod m_mem;
134#[doc = "Z_MEM (rw) register accessor: Represents Z\n\nYou can [`read`](crate::Reg::read) this register and get [`z_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`z_mem::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@z_mem`] module"]
135pub type Z_MEM = crate::Reg<z_mem::Z_MEM_SPEC>;
136#[doc = "Represents Z"]
137pub mod z_mem;
138#[doc = "Y_MEM (rw) register accessor: Represents Y\n\nYou can [`read`](crate::Reg::read) this register and get [`y_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`y_mem::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@y_mem`] module"]
139pub type Y_MEM = crate::Reg<y_mem::Y_MEM_SPEC>;
140#[doc = "Represents Y"]
141pub mod y_mem;
142#[doc = "X_MEM (rw) register accessor: Represents X\n\nYou can [`read`](crate::Reg::read) this register and get [`x_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`x_mem::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@x_mem`] module"]
143pub type X_MEM = crate::Reg<x_mem::X_MEM_SPEC>;
144#[doc = "Represents X"]
145pub mod x_mem;