esp32c2/
ecc.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    _reserved0: [u8; 0x0c],
6    mult_int_raw: MULT_INT_RAW,
7    mult_int_st: MULT_INT_ST,
8    mult_int_ena: MULT_INT_ENA,
9    mult_int_clr: MULT_INT_CLR,
10    mult_conf: MULT_CONF,
11    _reserved5: [u8; 0xdc],
12    mult_date: MULT_DATE,
13    k_mem: [K_MEM; 8],
14    px_mem: [PX_MEM; 8],
15    py_mem: [PY_MEM; 8],
16}
17impl RegisterBlock {
18    #[doc = "0x0c - I2S interrupt raw register, valid in level."]
19    #[inline(always)]
20    pub const fn mult_int_raw(&self) -> &MULT_INT_RAW {
21        &self.mult_int_raw
22    }
23    #[doc = "0x10 - I2S interrupt status register."]
24    #[inline(always)]
25    pub const fn mult_int_st(&self) -> &MULT_INT_ST {
26        &self.mult_int_st
27    }
28    #[doc = "0x14 - I2S interrupt enable register."]
29    #[inline(always)]
30    pub const fn mult_int_ena(&self) -> &MULT_INT_ENA {
31        &self.mult_int_ena
32    }
33    #[doc = "0x18 - I2S interrupt clear register."]
34    #[inline(always)]
35    pub const fn mult_int_clr(&self) -> &MULT_INT_CLR {
36        &self.mult_int_clr
37    }
38    #[doc = "0x1c - I2S RX configure register"]
39    #[inline(always)]
40    pub const fn mult_conf(&self) -> &MULT_CONF {
41        &self.mult_conf
42    }
43    #[doc = "0xfc - Version control register"]
44    #[inline(always)]
45    pub const fn mult_date(&self) -> &MULT_DATE {
46        &self.mult_date
47    }
48    #[doc = "0x100..0x120 - The memory that stores k."]
49    #[inline(always)]
50    pub const fn k_mem(&self, n: usize) -> &K_MEM {
51        &self.k_mem[n]
52    }
53    #[doc = "Iterator for array of:"]
54    #[doc = "0x100..0x120 - The memory that stores k."]
55    #[inline(always)]
56    pub fn k_mem_iter(&self) -> impl Iterator<Item = &K_MEM> {
57        self.k_mem.iter()
58    }
59    #[doc = "0x120..0x140 - The memory that stores Px."]
60    #[inline(always)]
61    pub const fn px_mem(&self, n: usize) -> &PX_MEM {
62        &self.px_mem[n]
63    }
64    #[doc = "Iterator for array of:"]
65    #[doc = "0x120..0x140 - The memory that stores Px."]
66    #[inline(always)]
67    pub fn px_mem_iter(&self) -> impl Iterator<Item = &PX_MEM> {
68        self.px_mem.iter()
69    }
70    #[doc = "0x140..0x160 - The memory that stores Py."]
71    #[inline(always)]
72    pub const fn py_mem(&self, n: usize) -> &PY_MEM {
73        &self.py_mem[n]
74    }
75    #[doc = "Iterator for array of:"]
76    #[doc = "0x140..0x160 - The memory that stores Py."]
77    #[inline(always)]
78    pub fn py_mem_iter(&self) -> impl Iterator<Item = &PY_MEM> {
79        self.py_mem.iter()
80    }
81}
82#[doc = "MULT_INT_RAW (r) register accessor: I2S interrupt raw register, valid in level.\n\nYou can [`read`](crate::Reg::read) this register and get [`mult_int_raw::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mult_int_raw`] module"]
83pub type MULT_INT_RAW = crate::Reg<mult_int_raw::MULT_INT_RAW_SPEC>;
84#[doc = "I2S interrupt raw register, valid in level."]
85pub mod mult_int_raw;
86#[doc = "MULT_INT_ST (r) register accessor: I2S interrupt status register.\n\nYou can [`read`](crate::Reg::read) this register and get [`mult_int_st::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mult_int_st`] module"]
87pub type MULT_INT_ST = crate::Reg<mult_int_st::MULT_INT_ST_SPEC>;
88#[doc = "I2S interrupt status register."]
89pub mod mult_int_st;
90#[doc = "MULT_INT_ENA (rw) register accessor: I2S interrupt enable register.\n\nYou can [`read`](crate::Reg::read) this register and get [`mult_int_ena::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mult_int_ena::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_int_ena`] module"]
91pub type MULT_INT_ENA = crate::Reg<mult_int_ena::MULT_INT_ENA_SPEC>;
92#[doc = "I2S interrupt enable register."]
93pub mod mult_int_ena;
94#[doc = "MULT_INT_CLR (w) register accessor: I2S interrupt clear register.\n\nYou can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mult_int_clr::W`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@mult_int_clr`] module"]
95pub type MULT_INT_CLR = crate::Reg<mult_int_clr::MULT_INT_CLR_SPEC>;
96#[doc = "I2S interrupt clear register."]
97pub mod mult_int_clr;
98#[doc = "MULT_CONF (rw) register accessor: I2S RX configure register\n\nYou can [`read`](crate::Reg::read) this register and get [`mult_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mult_conf::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_conf`] module"]
99pub type MULT_CONF = crate::Reg<mult_conf::MULT_CONF_SPEC>;
100#[doc = "I2S RX configure register"]
101pub mod mult_conf;
102#[doc = "MULT_DATE (rw) register accessor: Version control register\n\nYou can [`read`](crate::Reg::read) this register and get [`mult_date::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mult_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@mult_date`] module"]
103pub type MULT_DATE = crate::Reg<mult_date::MULT_DATE_SPEC>;
104#[doc = "Version control register"]
105pub mod mult_date;
106#[doc = "K_MEM (rw) register accessor: The memory that stores k.\n\nYou can [`read`](crate::Reg::read) this register and get [`k_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`k_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@k_mem`] module"]
107pub type K_MEM = crate::Reg<k_mem::K_MEM_SPEC>;
108#[doc = "The memory that stores k."]
109pub mod k_mem;
110#[doc = "PX_MEM (rw) register accessor: The memory that stores Px.\n\nYou can [`read`](crate::Reg::read) this register and get [`px_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`px_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@px_mem`] module"]
111pub type PX_MEM = crate::Reg<px_mem::PX_MEM_SPEC>;
112#[doc = "The memory that stores Px."]
113pub mod px_mem;
114#[doc = "PY_MEM (rw) register accessor: The memory that stores Py.\n\nYou can [`read`](crate::Reg::read) this register and get [`py_mem::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`py_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@py_mem`] module"]
115pub type PY_MEM = crate::Reg<py_mem::PY_MEM_SPEC>;
116#[doc = "The memory that stores Py."]
117pub mod py_mem;