1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 y_mem: [Y_MEM; 128],
6 m_mem: [M_MEM; 128],
7 rb_mem: [RB_MEM; 128],
8 box_mem: [BOX_MEM; 12],
9 iv_mem: [IV_MEM; 4],
10 _reserved5: [u8; 0x01c0],
11 x_mem: [X_MEM; 128],
12 z_mem: [Z_MEM; 128],
13 _reserved7: [u8; 0x0200],
14 set_start: SET_START,
15 set_continue: SET_CONTINUE,
16 set_finish: SET_FINISH,
17 query_busy: QUERY_BUSY,
18 query_key_wrong: QUERY_KEY_WRONG,
19 query_check: QUERY_CHECK,
20 _reserved13: [u8; 0x08],
21 date: DATE,
22}
23impl RegisterBlock {
24 #[doc = "0x00..0x200 - memory that stores Y"]
25 #[inline(always)]
26 pub const fn y_mem(&self, n: usize) -> &Y_MEM {
27 &self.y_mem[n]
28 }
29 #[doc = "Iterator for array of:"]
30 #[doc = "0x00..0x200 - memory that stores Y"]
31 #[inline(always)]
32 pub fn y_mem_iter(&self) -> impl Iterator<Item = &Y_MEM> {
33 self.y_mem.iter()
34 }
35 #[doc = "0x200..0x400 - memory that stores M"]
36 #[inline(always)]
37 pub const fn m_mem(&self, n: usize) -> &M_MEM {
38 &self.m_mem[n]
39 }
40 #[doc = "Iterator for array of:"]
41 #[doc = "0x200..0x400 - memory that stores M"]
42 #[inline(always)]
43 pub fn m_mem_iter(&self) -> impl Iterator<Item = &M_MEM> {
44 self.m_mem.iter()
45 }
46 #[doc = "0x400..0x600 - memory that stores Rb"]
47 #[inline(always)]
48 pub const fn rb_mem(&self, n: usize) -> &RB_MEM {
49 &self.rb_mem[n]
50 }
51 #[doc = "Iterator for array of:"]
52 #[doc = "0x400..0x600 - memory that stores Rb"]
53 #[inline(always)]
54 pub fn rb_mem_iter(&self) -> impl Iterator<Item = &RB_MEM> {
55 self.rb_mem.iter()
56 }
57 #[doc = "0x600..0x630 - memory that stores BOX"]
58 #[inline(always)]
59 pub const fn box_mem(&self, n: usize) -> &BOX_MEM {
60 &self.box_mem[n]
61 }
62 #[doc = "Iterator for array of:"]
63 #[doc = "0x600..0x630 - memory that stores BOX"]
64 #[inline(always)]
65 pub fn box_mem_iter(&self) -> impl Iterator<Item = &BOX_MEM> {
66 self.box_mem.iter()
67 }
68 #[doc = "0x630..0x640 - memory that stores IV"]
69 #[inline(always)]
70 pub const fn iv_mem(&self, n: usize) -> &IV_MEM {
71 &self.iv_mem[n]
72 }
73 #[doc = "Iterator for array of:"]
74 #[doc = "0x630..0x640 - memory that stores IV"]
75 #[inline(always)]
76 pub fn iv_mem_iter(&self) -> impl Iterator<Item = &IV_MEM> {
77 self.iv_mem.iter()
78 }
79 #[doc = "0x800..0xa00 - memory that stores X"]
80 #[inline(always)]
81 pub const fn x_mem(&self, n: usize) -> &X_MEM {
82 &self.x_mem[n]
83 }
84 #[doc = "Iterator for array of:"]
85 #[doc = "0x800..0xa00 - memory that stores X"]
86 #[inline(always)]
87 pub fn x_mem_iter(&self) -> impl Iterator<Item = &X_MEM> {
88 self.x_mem.iter()
89 }
90 #[doc = "0xa00..0xc00 - memory that stores Z"]
91 #[inline(always)]
92 pub const fn z_mem(&self, n: usize) -> &Z_MEM {
93 &self.z_mem[n]
94 }
95 #[doc = "Iterator for array of:"]
96 #[doc = "0xa00..0xc00 - memory that stores Z"]
97 #[inline(always)]
98 pub fn z_mem_iter(&self) -> impl Iterator<Item = &Z_MEM> {
99 self.z_mem.iter()
100 }
101 #[doc = "0xe00 - DS start control register"]
102 #[inline(always)]
103 pub const fn set_start(&self) -> &SET_START {
104 &self.set_start
105 }
106 #[doc = "0xe04 - DS continue control register"]
107 #[inline(always)]
108 pub const fn set_continue(&self) -> &SET_CONTINUE {
109 &self.set_continue
110 }
111 #[doc = "0xe08 - DS finish control register"]
112 #[inline(always)]
113 pub const fn set_finish(&self) -> &SET_FINISH {
114 &self.set_finish
115 }
116 #[doc = "0xe0c - DS query busy register"]
117 #[inline(always)]
118 pub const fn query_busy(&self) -> &QUERY_BUSY {
119 &self.query_busy
120 }
121 #[doc = "0xe10 - DS query key-wrong counter register"]
122 #[inline(always)]
123 pub const fn query_key_wrong(&self) -> &QUERY_KEY_WRONG {
124 &self.query_key_wrong
125 }
126 #[doc = "0xe14 - DS query check result register"]
127 #[inline(always)]
128 pub const fn query_check(&self) -> &QUERY_CHECK {
129 &self.query_check
130 }
131 #[doc = "0xe20 - DS version control register"]
132 #[inline(always)]
133 pub const fn date(&self) -> &DATE {
134 &self.date
135 }
136}
137#[doc = "Y_MEM (rw) register accessor: memory that stores Y\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`y_mem::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`y_mem::W`]. You can also [`modify`](crate::generic::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"]
138pub type Y_MEM = crate::Reg<y_mem::Y_MEM_SPEC>;
139#[doc = "memory that stores Y"]
140pub mod y_mem;
141#[doc = "M_MEM (rw) register accessor: memory that stores M\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`m_mem::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`m_mem::W`]. You can also [`modify`](crate::generic::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"]
142pub type M_MEM = crate::Reg<m_mem::M_MEM_SPEC>;
143#[doc = "memory that stores M"]
144pub mod m_mem;
145#[doc = "RB_MEM (rw) register accessor: memory that stores Rb\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`rb_mem::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`rb_mem::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rb_mem`] module"]
146pub type RB_MEM = crate::Reg<rb_mem::RB_MEM_SPEC>;
147#[doc = "memory that stores Rb"]
148pub mod rb_mem;
149#[doc = "BOX_MEM (rw) register accessor: memory that stores BOX\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`box_mem::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`box_mem::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@box_mem`] module"]
150pub type BOX_MEM = crate::Reg<box_mem::BOX_MEM_SPEC>;
151#[doc = "memory that stores BOX"]
152pub mod box_mem;
153#[doc = "IV_MEM (rw) register accessor: memory that stores IV\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`iv_mem::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`iv_mem::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@iv_mem`] module"]
154pub type IV_MEM = crate::Reg<iv_mem::IV_MEM_SPEC>;
155#[doc = "memory that stores IV"]
156pub mod iv_mem;
157#[doc = "X_MEM (rw) register accessor: memory that stores X\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`x_mem::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`x_mem::W`]. You can also [`modify`](crate::generic::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"]
158pub type X_MEM = crate::Reg<x_mem::X_MEM_SPEC>;
159#[doc = "memory that stores X"]
160pub mod x_mem;
161#[doc = "Z_MEM (rw) register accessor: memory that stores Z\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`z_mem::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`z_mem::W`]. You can also [`modify`](crate::generic::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"]
162pub type Z_MEM = crate::Reg<z_mem::Z_MEM_SPEC>;
163#[doc = "memory that stores Z"]
164pub mod z_mem;
165#[doc = "SET_START (w) register accessor: DS start control register\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`set_start::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@set_start`] module"]
166pub type SET_START = crate::Reg<set_start::SET_START_SPEC>;
167#[doc = "DS start control register"]
168pub mod set_start;
169#[doc = "SET_CONTINUE (w) register accessor: DS continue control register\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`set_continue::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@set_continue`] module"]
170pub type SET_CONTINUE = crate::Reg<set_continue::SET_CONTINUE_SPEC>;
171#[doc = "DS continue control register"]
172pub mod set_continue;
173#[doc = "SET_FINISH (w) register accessor: DS finish control register\n\nYou can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`set_finish::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@set_finish`] module"]
174pub type SET_FINISH = crate::Reg<set_finish::SET_FINISH_SPEC>;
175#[doc = "DS finish control register"]
176pub mod set_finish;
177#[doc = "QUERY_BUSY (r) register accessor: DS query busy register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`query_busy::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@query_busy`] module"]
178pub type QUERY_BUSY = crate::Reg<query_busy::QUERY_BUSY_SPEC>;
179#[doc = "DS query busy register"]
180pub mod query_busy;
181#[doc = "QUERY_KEY_WRONG (r) register accessor: DS query key-wrong counter register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`query_key_wrong::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@query_key_wrong`] module"]
182pub type QUERY_KEY_WRONG = crate::Reg<query_key_wrong::QUERY_KEY_WRONG_SPEC>;
183#[doc = "DS query key-wrong counter register"]
184pub mod query_key_wrong;
185#[doc = "QUERY_CHECK (r) register accessor: DS query check result register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`query_check::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@query_check`] module"]
186pub type QUERY_CHECK = crate::Reg<query_check::QUERY_CHECK_SPEC>;
187#[doc = "DS query check result register"]
188pub mod query_check;
189#[doc = "DATE (rw) register accessor: DS version control register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`date::R`]. You can [`reset`](crate::generic::Reg::reset), [`write`](crate::generic::Reg::write), [`write_with_zero`](crate::generic::Reg::write_with_zero) this register using [`date::W`]. You can also [`modify`](crate::generic::Reg::modify) this register. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@date`] module"]
190pub type DATE = crate::Reg<date::DATE_SPEC>;
191#[doc = "DS version control register"]
192pub mod date;