esp32s3/
ds.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    c_mem: [C_MEM; 396],
6    iv_: [IV_; 4],
7    _reserved2: [u8; 0x01c0],
8    x_mem: [X_MEM; 128],
9    z_mem: [Z_MEM; 128],
10    _reserved4: [u8; 0x0200],
11    set_start: SET_START,
12    set_me: SET_ME,
13    set_finish: SET_FINISH,
14    query_busy: QUERY_BUSY,
15    query_key_wrong: QUERY_KEY_WRONG,
16    query_check: QUERY_CHECK,
17    _reserved10: [u8; 0x08],
18    date: DATE,
19}
20impl RegisterBlock {
21    #[doc = "0x00..0x630 - Memory C"]
22    #[inline(always)]
23    pub const fn c_mem(&self, n: usize) -> &C_MEM {
24        &self.c_mem[n]
25    }
26    #[doc = "Iterator for array of:"]
27    #[doc = "0x00..0x630 - Memory C"]
28    #[inline(always)]
29    pub fn c_mem_iter(&self) -> impl Iterator<Item = &C_MEM> {
30        self.c_mem.iter()
31    }
32    #[doc = "0x630..0x640 - IV block data"]
33    #[inline(always)]
34    pub const fn iv_(&self, n: usize) -> &IV_ {
35        &self.iv_[n]
36    }
37    #[doc = "Iterator for array of:"]
38    #[doc = "0x630..0x640 - IV block data"]
39    #[inline(always)]
40    pub fn iv__iter(&self) -> impl Iterator<Item = &IV_> {
41        self.iv_.iter()
42    }
43    #[doc = "0x800..0xa00 - Memory X"]
44    #[inline(always)]
45    pub const fn x_mem(&self, n: usize) -> &X_MEM {
46        &self.x_mem[n]
47    }
48    #[doc = "Iterator for array of:"]
49    #[doc = "0x800..0xa00 - Memory X"]
50    #[inline(always)]
51    pub fn x_mem_iter(&self) -> impl Iterator<Item = &X_MEM> {
52        self.x_mem.iter()
53    }
54    #[doc = "0xa00..0xc00 - Memory Z"]
55    #[inline(always)]
56    pub const fn z_mem(&self, n: usize) -> &Z_MEM {
57        &self.z_mem[n]
58    }
59    #[doc = "Iterator for array of:"]
60    #[doc = "0xa00..0xc00 - Memory Z"]
61    #[inline(always)]
62    pub fn z_mem_iter(&self) -> impl Iterator<Item = &Z_MEM> {
63        self.z_mem.iter()
64    }
65    #[doc = "0xe00 - Activates the DS peripheral"]
66    #[inline(always)]
67    pub const fn set_start(&self) -> &SET_START {
68        &self.set_start
69    }
70    #[doc = "0xe04 - Starts DS operation"]
71    #[inline(always)]
72    pub const fn set_me(&self) -> &SET_ME {
73        &self.set_me
74    }
75    #[doc = "0xe08 - Ends DS operation"]
76    #[inline(always)]
77    pub const fn set_finish(&self) -> &SET_FINISH {
78        &self.set_finish
79    }
80    #[doc = "0xe0c - Status of the DS perihperal"]
81    #[inline(always)]
82    pub const fn query_busy(&self) -> &QUERY_BUSY {
83        &self.query_busy
84    }
85    #[doc = "0xe10 - Checks the reason why DS_KEY is not ready"]
86    #[inline(always)]
87    pub const fn query_key_wrong(&self) -> &QUERY_KEY_WRONG {
88        &self.query_key_wrong
89    }
90    #[doc = "0xe14 - Queries DS check result"]
91    #[inline(always)]
92    pub const fn query_check(&self) -> &QUERY_CHECK {
93        &self.query_check
94    }
95    #[doc = "0xe20 - DS version control register"]
96    #[inline(always)]
97    pub const fn date(&self) -> &DATE {
98        &self.date
99    }
100}
101#[doc = "C_MEM (rw) register accessor: Memory C\n\nYou can [`read`](crate::Reg::read) this register and get [`c_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`c_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@c_mem`] module"]
102pub type C_MEM = crate::Reg<c_mem::C_MEM_SPEC>;
103#[doc = "Memory C"]
104pub mod c_mem;
105#[doc = "IV_ (rw) register accessor: IV block data\n\nYou can [`read`](crate::Reg::read) this register and get [`iv_::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`iv_::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@iv_`] module"]
106pub type IV_ = crate::Reg<iv_::IV__SPEC>;
107#[doc = "IV block data"]
108pub mod iv_;
109#[doc = "X_MEM (rw) register accessor: Memory 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"]
110pub type X_MEM = crate::Reg<x_mem::X_MEM_SPEC>;
111#[doc = "Memory X"]
112pub mod x_mem;
113#[doc = "Z_MEM (rw) register accessor: Memory 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"]
114pub type Z_MEM = crate::Reg<z_mem::Z_MEM_SPEC>;
115#[doc = "Memory Z"]
116pub mod z_mem;
117#[doc = "SET_START (w) register accessor: Activates the DS peripheral\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::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"]
118pub type SET_START = crate::Reg<set_start::SET_START_SPEC>;
119#[doc = "Activates the DS peripheral"]
120pub mod set_start;
121#[doc = "SET_ME (w) register accessor: Starts DS operation\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`set_me::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@set_me`] module"]
122pub type SET_ME = crate::Reg<set_me::SET_ME_SPEC>;
123#[doc = "Starts DS operation"]
124pub mod set_me;
125#[doc = "SET_FINISH (w) register accessor: Ends DS operation\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::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"]
126pub type SET_FINISH = crate::Reg<set_finish::SET_FINISH_SPEC>;
127#[doc = "Ends DS operation"]
128pub mod set_finish;
129#[doc = "QUERY_BUSY (r) register accessor: Status of the DS perihperal\n\nYou can [`read`](crate::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"]
130pub type QUERY_BUSY = crate::Reg<query_busy::QUERY_BUSY_SPEC>;
131#[doc = "Status of the DS perihperal"]
132pub mod query_busy;
133#[doc = "QUERY_KEY_WRONG (r) register accessor: Checks the reason why DS_KEY is not ready\n\nYou can [`read`](crate::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"]
134pub type QUERY_KEY_WRONG = crate::Reg<query_key_wrong::QUERY_KEY_WRONG_SPEC>;
135#[doc = "Checks the reason why DS_KEY is not ready"]
136pub mod query_key_wrong;
137#[doc = "QUERY_CHECK (r) register accessor: Queries DS check result\n\nYou can [`read`](crate::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"]
138pub type QUERY_CHECK = crate::Reg<query_check::QUERY_CHECK_SPEC>;
139#[doc = "Queries DS check result"]
140pub mod query_check;
141#[doc = "DATE (rw) register accessor: DS 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"]
142pub type DATE = crate::Reg<date::DATE_SPEC>;
143#[doc = "DS version control register"]
144pub mod date;