esp32/
rsa.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    m_mem: [M_MEM; 32],
6    _reserved1: [u8; 0x0180],
7    z_mem: [Z_MEM; 32],
8    _reserved2: [u8; 0x0180],
9    y_mem: [Y_MEM; 32],
10    _reserved3: [u8; 0x0180],
11    x_mem: [X_MEM; 32],
12    _reserved4: [u8; 0x0180],
13    m_prime: M_PRIME,
14    modexp_mode: MODEXP_MODE,
15    modexp_start: MODEXP_START,
16    mult_mode: MULT_MODE,
17    mult_start: MULT_START,
18    interrupt: INTERRUPT,
19    clean: CLEAN,
20}
21impl RegisterBlock {
22    #[doc = "0x00..0x80 - Represents M"]
23    #[inline(always)]
24    pub const fn m_mem(&self, n: usize) -> &M_MEM {
25        &self.m_mem[n]
26    }
27    #[doc = "Iterator for array of:"]
28    #[doc = "0x00..0x80 - Represents M"]
29    #[inline(always)]
30    pub fn m_mem_iter(&self) -> impl Iterator<Item = &M_MEM> {
31        self.m_mem.iter()
32    }
33    #[doc = "0x200..0x280 - Represents Z"]
34    #[inline(always)]
35    pub const fn z_mem(&self, n: usize) -> &Z_MEM {
36        &self.z_mem[n]
37    }
38    #[doc = "Iterator for array of:"]
39    #[doc = "0x200..0x280 - Represents Z"]
40    #[inline(always)]
41    pub fn z_mem_iter(&self) -> impl Iterator<Item = &Z_MEM> {
42        self.z_mem.iter()
43    }
44    #[doc = "0x400..0x480 - Represents Y"]
45    #[inline(always)]
46    pub const fn y_mem(&self, n: usize) -> &Y_MEM {
47        &self.y_mem[n]
48    }
49    #[doc = "Iterator for array of:"]
50    #[doc = "0x400..0x480 - Represents Y"]
51    #[inline(always)]
52    pub fn y_mem_iter(&self) -> impl Iterator<Item = &Y_MEM> {
53        self.y_mem.iter()
54    }
55    #[doc = "0x600..0x680 - Represents X"]
56    #[inline(always)]
57    pub const fn x_mem(&self, n: usize) -> &X_MEM {
58        &self.x_mem[n]
59    }
60    #[doc = "Iterator for array of:"]
61    #[doc = "0x600..0x680 - Represents X"]
62    #[inline(always)]
63    pub fn x_mem_iter(&self) -> impl Iterator<Item = &X_MEM> {
64        self.x_mem.iter()
65    }
66    #[doc = "0x800 - "]
67    #[inline(always)]
68    pub const fn m_prime(&self) -> &M_PRIME {
69        &self.m_prime
70    }
71    #[doc = "0x804 - "]
72    #[inline(always)]
73    pub const fn modexp_mode(&self) -> &MODEXP_MODE {
74        &self.modexp_mode
75    }
76    #[doc = "0x808 - "]
77    #[inline(always)]
78    pub const fn modexp_start(&self) -> &MODEXP_START {
79        &self.modexp_start
80    }
81    #[doc = "0x80c - "]
82    #[inline(always)]
83    pub const fn mult_mode(&self) -> &MULT_MODE {
84        &self.mult_mode
85    }
86    #[doc = "0x810 - "]
87    #[inline(always)]
88    pub const fn mult_start(&self) -> &MULT_START {
89        &self.mult_start
90    }
91    #[doc = "0x814 - "]
92    #[inline(always)]
93    pub const fn interrupt(&self) -> &INTERRUPT {
94        &self.interrupt
95    }
96    #[doc = "0x818 - "]
97    #[inline(always)]
98    pub const fn clean(&self) -> &CLEAN {
99        &self.clean
100    }
101}
102#[doc = "M_PRIME (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`m_prime::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`m_prime::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@m_prime`] module"]
103pub type M_PRIME = crate::Reg<m_prime::M_PRIME_SPEC>;
104#[doc = ""]
105pub mod m_prime;
106#[doc = "MODEXP_MODE (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`modexp_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`modexp_mode::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@modexp_mode`] module"]
107pub type MODEXP_MODE = crate::Reg<modexp_mode::MODEXP_MODE_SPEC>;
108#[doc = ""]
109pub mod modexp_mode;
110#[doc = "MODEXP_START (w) register accessor: \n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`modexp_start::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@modexp_start`] module"]
111pub type MODEXP_START = crate::Reg<modexp_start::MODEXP_START_SPEC>;
112#[doc = ""]
113pub mod modexp_start;
114#[doc = "MULT_MODE (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`mult_mode::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mult_mode::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@mult_mode`] module"]
115pub type MULT_MODE = crate::Reg<mult_mode::MULT_MODE_SPEC>;
116#[doc = ""]
117pub mod mult_mode;
118#[doc = "MULT_START (w) register accessor: \n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mult_start::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mult_start`] module"]
119pub type MULT_START = crate::Reg<mult_start::MULT_START_SPEC>;
120#[doc = ""]
121pub mod mult_start;
122#[doc = "INTERRUPT (rw) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`interrupt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`interrupt::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@interrupt`] module"]
123pub type INTERRUPT = crate::Reg<interrupt::INTERRUPT_SPEC>;
124#[doc = ""]
125pub mod interrupt;
126#[doc = "CLEAN (r) register accessor: \n\nYou can [`read`](crate::Reg::read) this register and get [`clean::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@clean`] module"]
127pub type CLEAN = crate::Reg<clean::CLEAN_SPEC>;
128#[doc = ""]
129pub mod clean;
130#[doc = "M_MEM (rw) register accessor: Represents M\n\nYou can [`read`](crate::Reg::read) this register and get [`m_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`m_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@m_mem`] module"]
131pub type M_MEM = crate::Reg<m_mem::M_MEM_SPEC>;
132#[doc = "Represents M"]
133pub mod m_mem;
134#[doc = "Z_MEM (rw) register accessor: Represents 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"]
135pub type Z_MEM = crate::Reg<z_mem::Z_MEM_SPEC>;
136#[doc = "Represents Z"]
137pub mod z_mem;
138#[doc = "Y_MEM (rw) register accessor: Represents Y\n\nYou can [`read`](crate::Reg::read) this register and get [`y_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`y_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@y_mem`] module"]
139pub type Y_MEM = crate::Reg<y_mem::Y_MEM_SPEC>;
140#[doc = "Represents Y"]
141pub mod y_mem;
142#[doc = "X_MEM (rw) register accessor: Represents 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"]
143pub type X_MEM = crate::Reg<x_mem::X_MEM_SPEC>;
144#[doc = "Represents X"]
145pub mod x_mem;