esp32c3/
xts_aes.rs

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;