1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5 plain_mem: [PLAIN_MEM; 4],
6 _reserved1: [u8; 0x30],
7 linesize: LINESIZE,
8 destination: DESTINATION,
9 physical_address: PHYSICAL_ADDRESS,
10 trigger: TRIGGER,
11 release: RELEASE,
12 destroy: DESTROY,
13 state: STATE,
14 date: DATE,
15}
16impl RegisterBlock {
17 #[doc = "0x00..0x10 - The memory that stores plaintext"]
18 #[inline(always)]
19 pub const fn plain_mem(&self, n: usize) -> &PLAIN_MEM {
20 &self.plain_mem[n]
21 }
22 #[doc = "Iterator for array of:"]
23 #[doc = "0x00..0x10 - The memory that stores plaintext"]
24 #[inline(always)]
25 pub fn plain_mem_iter(&self) -> impl Iterator<Item = &PLAIN_MEM> {
26 self.plain_mem.iter()
27 }
28 #[doc = "0x40 - XTS-AES line-size register"]
29 #[inline(always)]
30 pub const fn linesize(&self) -> &LINESIZE {
31 &self.linesize
32 }
33 #[doc = "0x44 - XTS-AES destination register"]
34 #[inline(always)]
35 pub const fn destination(&self) -> &DESTINATION {
36 &self.destination
37 }
38 #[doc = "0x48 - XTS-AES physical address register"]
39 #[inline(always)]
40 pub const fn physical_address(&self) -> &PHYSICAL_ADDRESS {
41 &self.physical_address
42 }
43 #[doc = "0x4c - XTS-AES trigger register"]
44 #[inline(always)]
45 pub const fn trigger(&self) -> &TRIGGER {
46 &self.trigger
47 }
48 #[doc = "0x50 - XTS-AES release register"]
49 #[inline(always)]
50 pub const fn release(&self) -> &RELEASE {
51 &self.release
52 }
53 #[doc = "0x54 - XTS-AES destroy register"]
54 #[inline(always)]
55 pub const fn destroy(&self) -> &DESTROY {
56 &self.destroy
57 }
58 #[doc = "0x58 - XTS-AES status register"]
59 #[inline(always)]
60 pub const fn state(&self) -> &STATE {
61 &self.state
62 }
63 #[doc = "0x5c - XTS-AES version control register"]
64 #[inline(always)]
65 pub const fn date(&self) -> &DATE {
66 &self.date
67 }
68}
69#[doc = "PLAIN_MEM (rw) register accessor: The memory that stores plaintext\n\nYou can [`read`](crate::Reg::read) this register and get [`plain_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`plain_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@plain_mem`] module"]
70pub type PLAIN_MEM = crate::Reg<plain_mem::PLAIN_MEM_SPEC>;
71#[doc = "The memory that stores plaintext"]
72pub mod plain_mem;
73#[doc = "LINESIZE (rw) register accessor: XTS-AES line-size register\n\nYou can [`read`](crate::Reg::read) this register and get [`linesize::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`linesize::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@linesize`] module"]
74pub type LINESIZE = crate::Reg<linesize::LINESIZE_SPEC>;
75#[doc = "XTS-AES line-size register"]
76pub mod linesize;
77#[doc = "DESTINATION (rw) register accessor: XTS-AES destination register\n\nYou can [`read`](crate::Reg::read) this register and get [`destination::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`destination::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@destination`] module"]
78pub type DESTINATION = crate::Reg<destination::DESTINATION_SPEC>;
79#[doc = "XTS-AES destination register"]
80pub mod destination;
81#[doc = "PHYSICAL_ADDRESS (rw) register accessor: XTS-AES physical address register\n\nYou can [`read`](crate::Reg::read) this register and get [`physical_address::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`physical_address::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@physical_address`] module"]
82pub type PHYSICAL_ADDRESS = crate::Reg<physical_address::PHYSICAL_ADDRESS_SPEC>;
83#[doc = "XTS-AES physical address register"]
84pub mod physical_address;
85#[doc = "TRIGGER (w) register accessor: XTS-AES trigger register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::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"]
86pub type TRIGGER = crate::Reg<trigger::TRIGGER_SPEC>;
87#[doc = "XTS-AES trigger register"]
88pub mod trigger;
89#[doc = "RELEASE (w) register accessor: XTS-AES release register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`release::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@release`] module"]
90pub type RELEASE = crate::Reg<release::RELEASE_SPEC>;
91#[doc = "XTS-AES release register"]
92pub mod release;
93#[doc = "DESTROY (w) register accessor: XTS-AES destroy register\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`destroy::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@destroy`] module"]
94pub type DESTROY = crate::Reg<destroy::DESTROY_SPEC>;
95#[doc = "XTS-AES destroy register"]
96pub mod destroy;
97#[doc = "STATE (r) register accessor: XTS-AES status register\n\nYou can [`read`](crate::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"]
98pub type STATE = crate::Reg<state::STATE_SPEC>;
99#[doc = "XTS-AES status register"]
100pub mod state;
101#[doc = "DATE (rw) register accessor: XTS-AES version control register\n\nYou can [`read`](crate::Reg::read) this register and get [`date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`date::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@date`] module"]
102pub type DATE = crate::Reg<date::DATE_SPEC>;
103#[doc = "XTS-AES version control register"]
104pub mod date;