esp32p4/
aes.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    key_0: KEY_0,
6    key_1: KEY_1,
7    key_2: KEY_2,
8    key_3: KEY_3,
9    key_4: KEY_4,
10    key_5: KEY_5,
11    key_6: KEY_6,
12    key_7: KEY_7,
13    text_in_0: TEXT_IN_0,
14    text_in_1: TEXT_IN_1,
15    text_in_2: TEXT_IN_2,
16    text_in_3: TEXT_IN_3,
17    text_out_0: TEXT_OUT_0,
18    text_out_1: TEXT_OUT_1,
19    text_out_2: TEXT_OUT_2,
20    text_out_3: TEXT_OUT_3,
21    mode: MODE,
22    endian: ENDIAN,
23    trigger: TRIGGER,
24    state: STATE,
25    iv_mem: [IV_MEM; 4],
26    h_mem: [H_MEM; 4],
27    j0_mem: [J0_MEM; 4],
28    t0_mem: [T0_MEM; 4],
29    dma_enable: DMA_ENABLE,
30    block_mode: BLOCK_MODE,
31    block_num: BLOCK_NUM,
32    inc_sel: INC_SEL,
33    aad_block_num: AAD_BLOCK_NUM,
34    remainder_bit_num: REMAINDER_BIT_NUM,
35    continue_: CONTINUE,
36    int_clear: INT_CLEAR,
37    int_ena: INT_ENA,
38    date: DATE,
39    dma_exit: DMA_EXIT,
40}
41impl RegisterBlock {
42    #[doc = "0x00 - Key material key_0 configure register"]
43    #[inline(always)]
44    pub const fn key_0(&self) -> &KEY_0 {
45        &self.key_0
46    }
47    #[doc = "0x04 - Key material key_1 configure register"]
48    #[inline(always)]
49    pub const fn key_1(&self) -> &KEY_1 {
50        &self.key_1
51    }
52    #[doc = "0x08 - Key material key_2 configure register"]
53    #[inline(always)]
54    pub const fn key_2(&self) -> &KEY_2 {
55        &self.key_2
56    }
57    #[doc = "0x0c - Key material key_3 configure register"]
58    #[inline(always)]
59    pub const fn key_3(&self) -> &KEY_3 {
60        &self.key_3
61    }
62    #[doc = "0x10 - Key material key_4 configure register"]
63    #[inline(always)]
64    pub const fn key_4(&self) -> &KEY_4 {
65        &self.key_4
66    }
67    #[doc = "0x14 - Key material key_5 configure register"]
68    #[inline(always)]
69    pub const fn key_5(&self) -> &KEY_5 {
70        &self.key_5
71    }
72    #[doc = "0x18 - Key material key_6 configure register"]
73    #[inline(always)]
74    pub const fn key_6(&self) -> &KEY_6 {
75        &self.key_6
76    }
77    #[doc = "0x1c - Key material key_7 configure register"]
78    #[inline(always)]
79    pub const fn key_7(&self) -> &KEY_7 {
80        &self.key_7
81    }
82    #[doc = "0x20 - source text material text_in_0 configure register"]
83    #[inline(always)]
84    pub const fn text_in_0(&self) -> &TEXT_IN_0 {
85        &self.text_in_0
86    }
87    #[doc = "0x24 - source text material text_in_1 configure register"]
88    #[inline(always)]
89    pub const fn text_in_1(&self) -> &TEXT_IN_1 {
90        &self.text_in_1
91    }
92    #[doc = "0x28 - source text material text_in_2 configure register"]
93    #[inline(always)]
94    pub const fn text_in_2(&self) -> &TEXT_IN_2 {
95        &self.text_in_2
96    }
97    #[doc = "0x2c - source text material text_in_3 configure register"]
98    #[inline(always)]
99    pub const fn text_in_3(&self) -> &TEXT_IN_3 {
100        &self.text_in_3
101    }
102    #[doc = "0x30 - result text material text_out_0 configure register"]
103    #[inline(always)]
104    pub const fn text_out_0(&self) -> &TEXT_OUT_0 {
105        &self.text_out_0
106    }
107    #[doc = "0x34 - result text material text_out_1 configure register"]
108    #[inline(always)]
109    pub const fn text_out_1(&self) -> &TEXT_OUT_1 {
110        &self.text_out_1
111    }
112    #[doc = "0x38 - result text material text_out_2 configure register"]
113    #[inline(always)]
114    pub const fn text_out_2(&self) -> &TEXT_OUT_2 {
115        &self.text_out_2
116    }
117    #[doc = "0x3c - result text material text_out_3 configure register"]
118    #[inline(always)]
119    pub const fn text_out_3(&self) -> &TEXT_OUT_3 {
120        &self.text_out_3
121    }
122    #[doc = "0x40 - AES Mode register"]
123    #[inline(always)]
124    pub const fn mode(&self) -> &MODE {
125        &self.mode
126    }
127    #[doc = "0x44 - AES Endian configure register"]
128    #[inline(always)]
129    pub const fn endian(&self) -> &ENDIAN {
130        &self.endian
131    }
132    #[doc = "0x48 - AES trigger register"]
133    #[inline(always)]
134    pub const fn trigger(&self) -> &TRIGGER {
135        &self.trigger
136    }
137    #[doc = "0x4c - AES state register"]
138    #[inline(always)]
139    pub const fn state(&self) -> &STATE {
140        &self.state
141    }
142    #[doc = "0x50..0x60 - The memory that stores initialization vector"]
143    #[inline(always)]
144    pub const fn iv_mem(&self, n: usize) -> &IV_MEM {
145        &self.iv_mem[n]
146    }
147    #[doc = "Iterator for array of:"]
148    #[doc = "0x50..0x60 - The memory that stores initialization vector"]
149    #[inline(always)]
150    pub fn iv_mem_iter(&self) -> impl Iterator<Item = &IV_MEM> {
151        self.iv_mem.iter()
152    }
153    #[doc = "0x60..0x70 - The memory that stores GCM hash subkey"]
154    #[inline(always)]
155    pub const fn h_mem(&self, n: usize) -> &H_MEM {
156        &self.h_mem[n]
157    }
158    #[doc = "Iterator for array of:"]
159    #[doc = "0x60..0x70 - The memory that stores GCM hash subkey"]
160    #[inline(always)]
161    pub fn h_mem_iter(&self) -> impl Iterator<Item = &H_MEM> {
162        self.h_mem.iter()
163    }
164    #[doc = "0x70..0x80 - The memory that stores J0"]
165    #[inline(always)]
166    pub const fn j0_mem(&self, n: usize) -> &J0_MEM {
167        &self.j0_mem[n]
168    }
169    #[doc = "Iterator for array of:"]
170    #[doc = "0x70..0x80 - The memory that stores J0"]
171    #[inline(always)]
172    pub fn j0_mem_iter(&self) -> impl Iterator<Item = &J0_MEM> {
173        self.j0_mem.iter()
174    }
175    #[doc = "0x80..0x90 - The memory that stores T0"]
176    #[inline(always)]
177    pub const fn t0_mem(&self, n: usize) -> &T0_MEM {
178        &self.t0_mem[n]
179    }
180    #[doc = "Iterator for array of:"]
181    #[doc = "0x80..0x90 - The memory that stores T0"]
182    #[inline(always)]
183    pub fn t0_mem_iter(&self) -> impl Iterator<Item = &T0_MEM> {
184        self.t0_mem.iter()
185    }
186    #[doc = "0x90 - DMA-AES working mode register"]
187    #[inline(always)]
188    pub const fn dma_enable(&self) -> &DMA_ENABLE {
189        &self.dma_enable
190    }
191    #[doc = "0x94 - AES cipher block mode register"]
192    #[inline(always)]
193    pub const fn block_mode(&self) -> &BLOCK_MODE {
194        &self.block_mode
195    }
196    #[doc = "0x98 - AES block number register"]
197    #[inline(always)]
198    pub const fn block_num(&self) -> &BLOCK_NUM {
199        &self.block_num
200    }
201    #[doc = "0x9c - Standard incrementing function configure register"]
202    #[inline(always)]
203    pub const fn inc_sel(&self) -> &INC_SEL {
204        &self.inc_sel
205    }
206    #[doc = "0xa0 - Additional Authential Data block number register"]
207    #[inline(always)]
208    pub const fn aad_block_num(&self) -> &AAD_BLOCK_NUM {
209        &self.aad_block_num
210    }
211    #[doc = "0xa4 - AES remainder bit number register"]
212    #[inline(always)]
213    pub const fn remainder_bit_num(&self) -> &REMAINDER_BIT_NUM {
214        &self.remainder_bit_num
215    }
216    #[doc = "0xa8 - AES continue register"]
217    #[inline(always)]
218    pub const fn continue_(&self) -> &CONTINUE {
219        &self.continue_
220    }
221    #[doc = "0xac - AES Interrupt clear register"]
222    #[inline(always)]
223    pub const fn int_clear(&self) -> &INT_CLEAR {
224        &self.int_clear
225    }
226    #[doc = "0xb0 - AES Interrupt enable register"]
227    #[inline(always)]
228    pub const fn int_ena(&self) -> &INT_ENA {
229        &self.int_ena
230    }
231    #[doc = "0xb4 - AES version control register"]
232    #[inline(always)]
233    pub const fn date(&self) -> &DATE {
234        &self.date
235    }
236    #[doc = "0xb8 - AES-DMA exit config"]
237    #[inline(always)]
238    pub const fn dma_exit(&self) -> &DMA_EXIT {
239        &self.dma_exit
240    }
241}
242#[doc = "KEY_0 (rw) register accessor: Key material key_0 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`key_0::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 [`key_0::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@key_0`] module"]
243pub type KEY_0 = crate::Reg<key_0::KEY_0_SPEC>;
244#[doc = "Key material key_0 configure register"]
245pub mod key_0;
246#[doc = "KEY_1 (rw) register accessor: Key material key_1 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`key_1::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 [`key_1::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@key_1`] module"]
247pub type KEY_1 = crate::Reg<key_1::KEY_1_SPEC>;
248#[doc = "Key material key_1 configure register"]
249pub mod key_1;
250#[doc = "KEY_2 (rw) register accessor: Key material key_2 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`key_2::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 [`key_2::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@key_2`] module"]
251pub type KEY_2 = crate::Reg<key_2::KEY_2_SPEC>;
252#[doc = "Key material key_2 configure register"]
253pub mod key_2;
254#[doc = "KEY_3 (rw) register accessor: Key material key_3 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`key_3::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 [`key_3::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@key_3`] module"]
255pub type KEY_3 = crate::Reg<key_3::KEY_3_SPEC>;
256#[doc = "Key material key_3 configure register"]
257pub mod key_3;
258#[doc = "KEY_4 (rw) register accessor: Key material key_4 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`key_4::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 [`key_4::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@key_4`] module"]
259pub type KEY_4 = crate::Reg<key_4::KEY_4_SPEC>;
260#[doc = "Key material key_4 configure register"]
261pub mod key_4;
262#[doc = "KEY_5 (rw) register accessor: Key material key_5 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`key_5::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 [`key_5::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@key_5`] module"]
263pub type KEY_5 = crate::Reg<key_5::KEY_5_SPEC>;
264#[doc = "Key material key_5 configure register"]
265pub mod key_5;
266#[doc = "KEY_6 (rw) register accessor: Key material key_6 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`key_6::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 [`key_6::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@key_6`] module"]
267pub type KEY_6 = crate::Reg<key_6::KEY_6_SPEC>;
268#[doc = "Key material key_6 configure register"]
269pub mod key_6;
270#[doc = "KEY_7 (rw) register accessor: Key material key_7 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`key_7::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 [`key_7::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@key_7`] module"]
271pub type KEY_7 = crate::Reg<key_7::KEY_7_SPEC>;
272#[doc = "Key material key_7 configure register"]
273pub mod key_7;
274#[doc = "TEXT_IN_0 (rw) register accessor: source text material text_in_0 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`text_in_0::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 [`text_in_0::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@text_in_0`] module"]
275pub type TEXT_IN_0 = crate::Reg<text_in_0::TEXT_IN_0_SPEC>;
276#[doc = "source text material text_in_0 configure register"]
277pub mod text_in_0;
278#[doc = "TEXT_IN_1 (rw) register accessor: source text material text_in_1 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`text_in_1::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 [`text_in_1::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@text_in_1`] module"]
279pub type TEXT_IN_1 = crate::Reg<text_in_1::TEXT_IN_1_SPEC>;
280#[doc = "source text material text_in_1 configure register"]
281pub mod text_in_1;
282#[doc = "TEXT_IN_2 (rw) register accessor: source text material text_in_2 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`text_in_2::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 [`text_in_2::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@text_in_2`] module"]
283pub type TEXT_IN_2 = crate::Reg<text_in_2::TEXT_IN_2_SPEC>;
284#[doc = "source text material text_in_2 configure register"]
285pub mod text_in_2;
286#[doc = "TEXT_IN_3 (rw) register accessor: source text material text_in_3 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`text_in_3::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 [`text_in_3::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@text_in_3`] module"]
287pub type TEXT_IN_3 = crate::Reg<text_in_3::TEXT_IN_3_SPEC>;
288#[doc = "source text material text_in_3 configure register"]
289pub mod text_in_3;
290#[doc = "TEXT_OUT_0 (rw) register accessor: result text material text_out_0 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`text_out_0::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 [`text_out_0::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@text_out_0`] module"]
291pub type TEXT_OUT_0 = crate::Reg<text_out_0::TEXT_OUT_0_SPEC>;
292#[doc = "result text material text_out_0 configure register"]
293pub mod text_out_0;
294#[doc = "TEXT_OUT_1 (rw) register accessor: result text material text_out_1 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`text_out_1::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 [`text_out_1::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@text_out_1`] module"]
295pub type TEXT_OUT_1 = crate::Reg<text_out_1::TEXT_OUT_1_SPEC>;
296#[doc = "result text material text_out_1 configure register"]
297pub mod text_out_1;
298#[doc = "TEXT_OUT_2 (rw) register accessor: result text material text_out_2 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`text_out_2::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 [`text_out_2::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@text_out_2`] module"]
299pub type TEXT_OUT_2 = crate::Reg<text_out_2::TEXT_OUT_2_SPEC>;
300#[doc = "result text material text_out_2 configure register"]
301pub mod text_out_2;
302#[doc = "TEXT_OUT_3 (rw) register accessor: result text material text_out_3 configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`text_out_3::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 [`text_out_3::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@text_out_3`] module"]
303pub type TEXT_OUT_3 = crate::Reg<text_out_3::TEXT_OUT_3_SPEC>;
304#[doc = "result text material text_out_3 configure register"]
305pub mod text_out_3;
306#[doc = "MODE (rw) register accessor: AES Mode register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`mode::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 [`mode::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@mode`] module"]
307pub type MODE = crate::Reg<mode::MODE_SPEC>;
308#[doc = "AES Mode register"]
309pub mod mode;
310#[doc = "ENDIAN (rw) register accessor: AES Endian configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`endian::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 [`endian::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@endian`] module"]
311pub type ENDIAN = crate::Reg<endian::ENDIAN_SPEC>;
312#[doc = "AES Endian configure register"]
313pub mod endian;
314#[doc = "TRIGGER (w) register accessor: AES trigger 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 [`trigger::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@trigger`] module"]
315pub type TRIGGER = crate::Reg<trigger::TRIGGER_SPEC>;
316#[doc = "AES trigger register"]
317pub mod trigger;
318#[doc = "STATE (r) register accessor: AES state register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`state::R`].  See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@state`] module"]
319pub type STATE = crate::Reg<state::STATE_SPEC>;
320#[doc = "AES state register"]
321pub mod state;
322#[doc = "IV_MEM (rw) register accessor: The memory that stores initialization vector\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"]
323pub type IV_MEM = crate::Reg<iv_mem::IV_MEM_SPEC>;
324#[doc = "The memory that stores initialization vector"]
325pub mod iv_mem;
326#[doc = "H_MEM (rw) register accessor: The memory that stores GCM hash subkey\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`h_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 [`h_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@h_mem`] module"]
327pub type H_MEM = crate::Reg<h_mem::H_MEM_SPEC>;
328#[doc = "The memory that stores GCM hash subkey"]
329pub mod h_mem;
330#[doc = "J0_MEM (rw) register accessor: The memory that stores J0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`j0_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 [`j0_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@j0_mem`] module"]
331pub type J0_MEM = crate::Reg<j0_mem::J0_MEM_SPEC>;
332#[doc = "The memory that stores J0"]
333pub mod j0_mem;
334#[doc = "T0_MEM (rw) register accessor: The memory that stores T0\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`t0_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 [`t0_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@t0_mem`] module"]
335pub type T0_MEM = crate::Reg<t0_mem::T0_MEM_SPEC>;
336#[doc = "The memory that stores T0"]
337pub mod t0_mem;
338#[doc = "DMA_ENABLE (rw) register accessor: DMA-AES working mode register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`dma_enable::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 [`dma_enable::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@dma_enable`] module"]
339pub type DMA_ENABLE = crate::Reg<dma_enable::DMA_ENABLE_SPEC>;
340#[doc = "DMA-AES working mode register"]
341pub mod dma_enable;
342#[doc = "BLOCK_MODE (rw) register accessor: AES cipher block mode register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`block_mode::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 [`block_mode::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@block_mode`] module"]
343pub type BLOCK_MODE = crate::Reg<block_mode::BLOCK_MODE_SPEC>;
344#[doc = "AES cipher block mode register"]
345pub mod block_mode;
346#[doc = "BLOCK_NUM (rw) register accessor: AES block number register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`block_num::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 [`block_num::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@block_num`] module"]
347pub type BLOCK_NUM = crate::Reg<block_num::BLOCK_NUM_SPEC>;
348#[doc = "AES block number register"]
349pub mod block_num;
350#[doc = "INC_SEL (rw) register accessor: Standard incrementing function configure register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`inc_sel::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 [`inc_sel::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@inc_sel`] module"]
351pub type INC_SEL = crate::Reg<inc_sel::INC_SEL_SPEC>;
352#[doc = "Standard incrementing function configure register"]
353pub mod inc_sel;
354#[doc = "AAD_BLOCK_NUM (rw) register accessor: Additional Authential Data block number register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`aad_block_num::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 [`aad_block_num::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@aad_block_num`] module"]
355pub type AAD_BLOCK_NUM = crate::Reg<aad_block_num::AAD_BLOCK_NUM_SPEC>;
356#[doc = "Additional Authential Data block number register"]
357pub mod aad_block_num;
358#[doc = "REMAINDER_BIT_NUM (rw) register accessor: AES remainder bit number register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`remainder_bit_num::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 [`remainder_bit_num::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@remainder_bit_num`] module"]
359pub type REMAINDER_BIT_NUM = crate::Reg<remainder_bit_num::REMAINDER_BIT_NUM_SPEC>;
360#[doc = "AES remainder bit number register"]
361pub mod remainder_bit_num;
362#[doc = "CONTINUE (w) register accessor: AES continue 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 [`continue_::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@continue_`] module"]
363pub type CONTINUE = crate::Reg<continue_::CONTINUE_SPEC>;
364#[doc = "AES continue register"]
365pub mod continue_;
366#[doc = "INT_CLEAR (w) register accessor: AES Interrupt clear 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 [`int_clear::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@int_clear`] module"]
367pub type INT_CLEAR = crate::Reg<int_clear::INT_CLEAR_SPEC>;
368#[doc = "AES Interrupt clear register"]
369pub mod int_clear;
370#[doc = "INT_ENA (rw) register accessor: AES Interrupt enable register\n\nYou can [`read`](crate::generic::Reg::read) this register and get [`int_ena::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 [`int_ena::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@int_ena`] module"]
371pub type INT_ENA = crate::Reg<int_ena::INT_ENA_SPEC>;
372#[doc = "AES Interrupt enable register"]
373pub mod int_ena;
374#[doc = "DATE (rw) register accessor: AES 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"]
375pub type DATE = crate::Reg<date::DATE_SPEC>;
376#[doc = "AES version control register"]
377pub mod date;
378#[doc = "DMA_EXIT (w) register accessor: AES-DMA exit config\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 [`dma_exit::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@dma_exit`] module"]
379pub type DMA_EXIT = crate::Reg<dma_exit::DMA_EXIT_SPEC>;
380#[doc = "AES-DMA exit config"]
381pub mod dma_exit;