esp32s3/
system.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    core_1_control_0: CORE_1_CONTROL_0,
6    core_1_control_1: CORE_1_CONTROL_1,
7    cpu_peri_clk_en: CPU_PERI_CLK_EN,
8    cpu_peri_rst_en: CPU_PERI_RST_EN,
9    cpu_per_conf: CPU_PER_CONF,
10    mem_pd_mask: MEM_PD_MASK,
11    perip_clk_en0: PERIP_CLK_EN0,
12    perip_clk_en1: PERIP_CLK_EN1,
13    perip_rst_en0: PERIP_RST_EN0,
14    perip_rst_en1: PERIP_RST_EN1,
15    bt_lpck_div_int: BT_LPCK_DIV_INT,
16    bt_lpck_div_frac: BT_LPCK_DIV_FRAC,
17    cpu_intr_from_cpu_0: CPU_INTR_FROM_CPU_0,
18    cpu_intr_from_cpu_1: CPU_INTR_FROM_CPU_1,
19    cpu_intr_from_cpu_2: CPU_INTR_FROM_CPU_2,
20    cpu_intr_from_cpu_3: CPU_INTR_FROM_CPU_3,
21    rsa_pd_ctrl: RSA_PD_CTRL,
22    edma_ctrl: EDMA_CTRL,
23    cache_control: CACHE_CONTROL,
24    external_device_encrypt_decrypt_control: EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL,
25    rtc_fastmem_config: RTC_FASTMEM_CONFIG,
26    rtc_fastmem_crc: RTC_FASTMEM_CRC,
27    redundant_eco_ctrl: REDUNDANT_ECO_CTRL,
28    clock_gate: CLOCK_GATE,
29    sysclk_conf: SYSCLK_CONF,
30    mem_pvt: MEM_PVT,
31    comb_pvt_lvt_conf: COMB_PVT_LVT_CONF,
32    comb_pvt_nvt_conf: COMB_PVT_NVT_CONF,
33    comb_pvt_hvt_conf: COMB_PVT_HVT_CONF,
34    comb_pvt_err_lvt_site0: COMB_PVT_ERR_LVT_SITE0,
35    comb_pvt_err_nvt_site0: COMB_PVT_ERR_NVT_SITE0,
36    comb_pvt_err_hvt_site0: COMB_PVT_ERR_HVT_SITE0,
37    comb_pvt_err_lvt_site1: COMB_PVT_ERR_LVT_SITE1,
38    comb_pvt_err_nvt_site1: COMB_PVT_ERR_NVT_SITE1,
39    comb_pvt_err_hvt_site1: COMB_PVT_ERR_HVT_SITE1,
40    comb_pvt_err_lvt_site2: COMB_PVT_ERR_LVT_SITE2,
41    comb_pvt_err_nvt_site2: COMB_PVT_ERR_NVT_SITE2,
42    comb_pvt_err_hvt_site2: COMB_PVT_ERR_HVT_SITE2,
43    comb_pvt_err_lvt_site3: COMB_PVT_ERR_LVT_SITE3,
44    comb_pvt_err_nvt_site3: COMB_PVT_ERR_NVT_SITE3,
45    comb_pvt_err_hvt_site3: COMB_PVT_ERR_HVT_SITE3,
46    _reserved41: [u8; 0x0f58],
47    date: DATE,
48}
49impl RegisterBlock {
50    #[doc = "0x00 - Core0 control regiter 0"]
51    #[inline(always)]
52    pub const fn core_1_control_0(&self) -> &CORE_1_CONTROL_0 {
53        &self.core_1_control_0
54    }
55    #[doc = "0x04 - Core0 control regiter 1"]
56    #[inline(always)]
57    pub const fn core_1_control_1(&self) -> &CORE_1_CONTROL_1 {
58        &self.core_1_control_1
59    }
60    #[doc = "0x08 - cpu_peripheral clock configuration register"]
61    #[inline(always)]
62    pub const fn cpu_peri_clk_en(&self) -> &CPU_PERI_CLK_EN {
63        &self.cpu_peri_clk_en
64    }
65    #[doc = "0x0c - cpu_peripheral reset configuration regsiter"]
66    #[inline(always)]
67    pub const fn cpu_peri_rst_en(&self) -> &CPU_PERI_RST_EN {
68        &self.cpu_peri_rst_en
69    }
70    #[doc = "0x10 - cpu peripheral clock configuration register"]
71    #[inline(always)]
72    pub const fn cpu_per_conf(&self) -> &CPU_PER_CONF {
73        &self.cpu_per_conf
74    }
75    #[doc = "0x14 - memory power down mask configuration register"]
76    #[inline(always)]
77    pub const fn mem_pd_mask(&self) -> &MEM_PD_MASK {
78        &self.mem_pd_mask
79    }
80    #[doc = "0x18 - peripheral clock configuration regsiter 0"]
81    #[inline(always)]
82    pub const fn perip_clk_en0(&self) -> &PERIP_CLK_EN0 {
83        &self.perip_clk_en0
84    }
85    #[doc = "0x1c - peripheral clock configuration regsiter 1"]
86    #[inline(always)]
87    pub const fn perip_clk_en1(&self) -> &PERIP_CLK_EN1 {
88        &self.perip_clk_en1
89    }
90    #[doc = "0x20 - peripheral reset configuration register0"]
91    #[inline(always)]
92    pub const fn perip_rst_en0(&self) -> &PERIP_RST_EN0 {
93        &self.perip_rst_en0
94    }
95    #[doc = "0x24 - peripheral reset configuration regsiter 1"]
96    #[inline(always)]
97    pub const fn perip_rst_en1(&self) -> &PERIP_RST_EN1 {
98        &self.perip_rst_en1
99    }
100    #[doc = "0x28 - low power clock frequent division factor configuration regsiter"]
101    #[inline(always)]
102    pub const fn bt_lpck_div_int(&self) -> &BT_LPCK_DIV_INT {
103        &self.bt_lpck_div_int
104    }
105    #[doc = "0x2c - low power clock configuration register"]
106    #[inline(always)]
107    pub const fn bt_lpck_div_frac(&self) -> &BT_LPCK_DIV_FRAC {
108        &self.bt_lpck_div_frac
109    }
110    #[doc = "0x30 - interrupt source register 0"]
111    #[inline(always)]
112    pub const fn cpu_intr_from_cpu_0(&self) -> &CPU_INTR_FROM_CPU_0 {
113        &self.cpu_intr_from_cpu_0
114    }
115    #[doc = "0x34 - interrupt source register 1"]
116    #[inline(always)]
117    pub const fn cpu_intr_from_cpu_1(&self) -> &CPU_INTR_FROM_CPU_1 {
118        &self.cpu_intr_from_cpu_1
119    }
120    #[doc = "0x38 - interrupt source register 2"]
121    #[inline(always)]
122    pub const fn cpu_intr_from_cpu_2(&self) -> &CPU_INTR_FROM_CPU_2 {
123        &self.cpu_intr_from_cpu_2
124    }
125    #[doc = "0x3c - interrupt source register 3"]
126    #[inline(always)]
127    pub const fn cpu_intr_from_cpu_3(&self) -> &CPU_INTR_FROM_CPU_3 {
128        &self.cpu_intr_from_cpu_3
129    }
130    #[doc = "0x40 - rsa memory power control register"]
131    #[inline(always)]
132    pub const fn rsa_pd_ctrl(&self) -> &RSA_PD_CTRL {
133        &self.rsa_pd_ctrl
134    }
135    #[doc = "0x44 - EDMA control register"]
136    #[inline(always)]
137    pub const fn edma_ctrl(&self) -> &EDMA_CTRL {
138        &self.edma_ctrl
139    }
140    #[doc = "0x48 - Cache control register"]
141    #[inline(always)]
142    pub const fn cache_control(&self) -> &CACHE_CONTROL {
143        &self.cache_control
144    }
145    #[doc = "0x4c - External memory encrypt and decrypt control register"]
146    #[inline(always)]
147    pub const fn external_device_encrypt_decrypt_control(
148        &self,
149    ) -> &EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL {
150        &self.external_device_encrypt_decrypt_control
151    }
152    #[doc = "0x50 - RTC fast memory configuration register"]
153    #[inline(always)]
154    pub const fn rtc_fastmem_config(&self) -> &RTC_FASTMEM_CONFIG {
155        &self.rtc_fastmem_config
156    }
157    #[doc = "0x54 - RTC fast memory CRC control register"]
158    #[inline(always)]
159    pub const fn rtc_fastmem_crc(&self) -> &RTC_FASTMEM_CRC {
160        &self.rtc_fastmem_crc
161    }
162    #[doc = "0x58 - ******* Description ***********"]
163    #[inline(always)]
164    pub const fn redundant_eco_ctrl(&self) -> &REDUNDANT_ECO_CTRL {
165        &self.redundant_eco_ctrl
166    }
167    #[doc = "0x5c - ******* Description ***********"]
168    #[inline(always)]
169    pub const fn clock_gate(&self) -> &CLOCK_GATE {
170        &self.clock_gate
171    }
172    #[doc = "0x60 - System clock configuration register."]
173    #[inline(always)]
174    pub const fn sysclk_conf(&self) -> &SYSCLK_CONF {
175        &self.sysclk_conf
176    }
177    #[doc = "0x64 - ******* Description ***********"]
178    #[inline(always)]
179    pub const fn mem_pvt(&self) -> &MEM_PVT {
180        &self.mem_pvt
181    }
182    #[doc = "0x68 - ******* Description ***********"]
183    #[inline(always)]
184    pub const fn comb_pvt_lvt_conf(&self) -> &COMB_PVT_LVT_CONF {
185        &self.comb_pvt_lvt_conf
186    }
187    #[doc = "0x6c - ******* Description ***********"]
188    #[inline(always)]
189    pub const fn comb_pvt_nvt_conf(&self) -> &COMB_PVT_NVT_CONF {
190        &self.comb_pvt_nvt_conf
191    }
192    #[doc = "0x70 - ******* Description ***********"]
193    #[inline(always)]
194    pub const fn comb_pvt_hvt_conf(&self) -> &COMB_PVT_HVT_CONF {
195        &self.comb_pvt_hvt_conf
196    }
197    #[doc = "0x74 - ******* Description ***********"]
198    #[inline(always)]
199    pub const fn comb_pvt_err_lvt_site0(&self) -> &COMB_PVT_ERR_LVT_SITE0 {
200        &self.comb_pvt_err_lvt_site0
201    }
202    #[doc = "0x78 - ******* Description ***********"]
203    #[inline(always)]
204    pub const fn comb_pvt_err_nvt_site0(&self) -> &COMB_PVT_ERR_NVT_SITE0 {
205        &self.comb_pvt_err_nvt_site0
206    }
207    #[doc = "0x7c - ******* Description ***********"]
208    #[inline(always)]
209    pub const fn comb_pvt_err_hvt_site0(&self) -> &COMB_PVT_ERR_HVT_SITE0 {
210        &self.comb_pvt_err_hvt_site0
211    }
212    #[doc = "0x80 - ******* Description ***********"]
213    #[inline(always)]
214    pub const fn comb_pvt_err_lvt_site1(&self) -> &COMB_PVT_ERR_LVT_SITE1 {
215        &self.comb_pvt_err_lvt_site1
216    }
217    #[doc = "0x84 - ******* Description ***********"]
218    #[inline(always)]
219    pub const fn comb_pvt_err_nvt_site1(&self) -> &COMB_PVT_ERR_NVT_SITE1 {
220        &self.comb_pvt_err_nvt_site1
221    }
222    #[doc = "0x88 - ******* Description ***********"]
223    #[inline(always)]
224    pub const fn comb_pvt_err_hvt_site1(&self) -> &COMB_PVT_ERR_HVT_SITE1 {
225        &self.comb_pvt_err_hvt_site1
226    }
227    #[doc = "0x8c - ******* Description ***********"]
228    #[inline(always)]
229    pub const fn comb_pvt_err_lvt_site2(&self) -> &COMB_PVT_ERR_LVT_SITE2 {
230        &self.comb_pvt_err_lvt_site2
231    }
232    #[doc = "0x90 - ******* Description ***********"]
233    #[inline(always)]
234    pub const fn comb_pvt_err_nvt_site2(&self) -> &COMB_PVT_ERR_NVT_SITE2 {
235        &self.comb_pvt_err_nvt_site2
236    }
237    #[doc = "0x94 - ******* Description ***********"]
238    #[inline(always)]
239    pub const fn comb_pvt_err_hvt_site2(&self) -> &COMB_PVT_ERR_HVT_SITE2 {
240        &self.comb_pvt_err_hvt_site2
241    }
242    #[doc = "0x98 - ******* Description ***********"]
243    #[inline(always)]
244    pub const fn comb_pvt_err_lvt_site3(&self) -> &COMB_PVT_ERR_LVT_SITE3 {
245        &self.comb_pvt_err_lvt_site3
246    }
247    #[doc = "0x9c - ******* Description ***********"]
248    #[inline(always)]
249    pub const fn comb_pvt_err_nvt_site3(&self) -> &COMB_PVT_ERR_NVT_SITE3 {
250        &self.comb_pvt_err_nvt_site3
251    }
252    #[doc = "0xa0 - ******* Description ***********"]
253    #[inline(always)]
254    pub const fn comb_pvt_err_hvt_site3(&self) -> &COMB_PVT_ERR_HVT_SITE3 {
255        &self.comb_pvt_err_hvt_site3
256    }
257    #[doc = "0xffc - version register"]
258    #[inline(always)]
259    pub const fn date(&self) -> &DATE {
260        &self.date
261    }
262}
263#[doc = "CORE_1_CONTROL_0 (rw) register accessor: Core0 control regiter 0\n\nYou can [`read`](crate::Reg::read) this register and get [`core_1_control_0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`core_1_control_0::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@core_1_control_0`] module"]
264pub type CORE_1_CONTROL_0 = crate::Reg<core_1_control_0::CORE_1_CONTROL_0_SPEC>;
265#[doc = "Core0 control regiter 0"]
266pub mod core_1_control_0;
267#[doc = "CORE_1_CONTROL_1 (rw) register accessor: Core0 control regiter 1\n\nYou can [`read`](crate::Reg::read) this register and get [`core_1_control_1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`core_1_control_1::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@core_1_control_1`] module"]
268pub type CORE_1_CONTROL_1 = crate::Reg<core_1_control_1::CORE_1_CONTROL_1_SPEC>;
269#[doc = "Core0 control regiter 1"]
270pub mod core_1_control_1;
271#[doc = "CPU_PERI_CLK_EN (rw) register accessor: cpu_peripheral clock configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_peri_clk_en::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_peri_clk_en::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@cpu_peri_clk_en`] module"]
272pub type CPU_PERI_CLK_EN = crate::Reg<cpu_peri_clk_en::CPU_PERI_CLK_EN_SPEC>;
273#[doc = "cpu_peripheral clock configuration register"]
274pub mod cpu_peri_clk_en;
275#[doc = "CPU_PERI_RST_EN (rw) register accessor: cpu_peripheral reset configuration regsiter\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_peri_rst_en::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_peri_rst_en::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@cpu_peri_rst_en`] module"]
276pub type CPU_PERI_RST_EN = crate::Reg<cpu_peri_rst_en::CPU_PERI_RST_EN_SPEC>;
277#[doc = "cpu_peripheral reset configuration regsiter"]
278pub mod cpu_peri_rst_en;
279#[doc = "CPU_PER_CONF (rw) register accessor: cpu peripheral clock configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_per_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_per_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@cpu_per_conf`] module"]
280pub type CPU_PER_CONF = crate::Reg<cpu_per_conf::CPU_PER_CONF_SPEC>;
281#[doc = "cpu peripheral clock configuration register"]
282pub mod cpu_per_conf;
283#[doc = "MEM_PD_MASK (rw) register accessor: memory power down mask configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`mem_pd_mask::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mem_pd_mask::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@mem_pd_mask`] module"]
284pub type MEM_PD_MASK = crate::Reg<mem_pd_mask::MEM_PD_MASK_SPEC>;
285#[doc = "memory power down mask configuration register"]
286pub mod mem_pd_mask;
287#[doc = "PERIP_CLK_EN0 (rw) register accessor: peripheral clock configuration regsiter 0\n\nYou can [`read`](crate::Reg::read) this register and get [`perip_clk_en0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perip_clk_en0::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@perip_clk_en0`] module"]
288pub type PERIP_CLK_EN0 = crate::Reg<perip_clk_en0::PERIP_CLK_EN0_SPEC>;
289#[doc = "peripheral clock configuration regsiter 0"]
290pub mod perip_clk_en0;
291#[doc = "PERIP_CLK_EN1 (rw) register accessor: peripheral clock configuration regsiter 1\n\nYou can [`read`](crate::Reg::read) this register and get [`perip_clk_en1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perip_clk_en1::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@perip_clk_en1`] module"]
292pub type PERIP_CLK_EN1 = crate::Reg<perip_clk_en1::PERIP_CLK_EN1_SPEC>;
293#[doc = "peripheral clock configuration regsiter 1"]
294pub mod perip_clk_en1;
295#[doc = "PERIP_RST_EN0 (rw) register accessor: peripheral reset configuration register0\n\nYou can [`read`](crate::Reg::read) this register and get [`perip_rst_en0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perip_rst_en0::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@perip_rst_en0`] module"]
296pub type PERIP_RST_EN0 = crate::Reg<perip_rst_en0::PERIP_RST_EN0_SPEC>;
297#[doc = "peripheral reset configuration register0"]
298pub mod perip_rst_en0;
299#[doc = "PERIP_RST_EN1 (rw) register accessor: peripheral reset configuration regsiter 1\n\nYou can [`read`](crate::Reg::read) this register and get [`perip_rst_en1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`perip_rst_en1::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@perip_rst_en1`] module"]
300pub type PERIP_RST_EN1 = crate::Reg<perip_rst_en1::PERIP_RST_EN1_SPEC>;
301#[doc = "peripheral reset configuration regsiter 1"]
302pub mod perip_rst_en1;
303#[doc = "BT_LPCK_DIV_INT (rw) register accessor: low power clock frequent division factor configuration regsiter\n\nYou can [`read`](crate::Reg::read) this register and get [`bt_lpck_div_int::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bt_lpck_div_int::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@bt_lpck_div_int`] module"]
304pub type BT_LPCK_DIV_INT = crate::Reg<bt_lpck_div_int::BT_LPCK_DIV_INT_SPEC>;
305#[doc = "low power clock frequent division factor configuration regsiter"]
306pub mod bt_lpck_div_int;
307#[doc = "BT_LPCK_DIV_FRAC (rw) register accessor: low power clock configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`bt_lpck_div_frac::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`bt_lpck_div_frac::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@bt_lpck_div_frac`] module"]
308pub type BT_LPCK_DIV_FRAC = crate::Reg<bt_lpck_div_frac::BT_LPCK_DIV_FRAC_SPEC>;
309#[doc = "low power clock configuration register"]
310pub mod bt_lpck_div_frac;
311#[doc = "CPU_INTR_FROM_CPU_0 (rw) register accessor: interrupt source register 0\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_intr_from_cpu_0::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_intr_from_cpu_0::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@cpu_intr_from_cpu_0`] module"]
312pub type CPU_INTR_FROM_CPU_0 = crate::Reg<cpu_intr_from_cpu_0::CPU_INTR_FROM_CPU_0_SPEC>;
313#[doc = "interrupt source register 0"]
314pub mod cpu_intr_from_cpu_0;
315#[doc = "CPU_INTR_FROM_CPU_1 (rw) register accessor: interrupt source register 1\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_intr_from_cpu_1::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_intr_from_cpu_1::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@cpu_intr_from_cpu_1`] module"]
316pub type CPU_INTR_FROM_CPU_1 = crate::Reg<cpu_intr_from_cpu_1::CPU_INTR_FROM_CPU_1_SPEC>;
317#[doc = "interrupt source register 1"]
318pub mod cpu_intr_from_cpu_1;
319#[doc = "CPU_INTR_FROM_CPU_2 (rw) register accessor: interrupt source register 2\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_intr_from_cpu_2::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_intr_from_cpu_2::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@cpu_intr_from_cpu_2`] module"]
320pub type CPU_INTR_FROM_CPU_2 = crate::Reg<cpu_intr_from_cpu_2::CPU_INTR_FROM_CPU_2_SPEC>;
321#[doc = "interrupt source register 2"]
322pub mod cpu_intr_from_cpu_2;
323#[doc = "CPU_INTR_FROM_CPU_3 (rw) register accessor: interrupt source register 3\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_intr_from_cpu_3::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_intr_from_cpu_3::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@cpu_intr_from_cpu_3`] module"]
324pub type CPU_INTR_FROM_CPU_3 = crate::Reg<cpu_intr_from_cpu_3::CPU_INTR_FROM_CPU_3_SPEC>;
325#[doc = "interrupt source register 3"]
326pub mod cpu_intr_from_cpu_3;
327#[doc = "RSA_PD_CTRL (rw) register accessor: rsa memory power control register\n\nYou can [`read`](crate::Reg::read) this register and get [`rsa_pd_ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rsa_pd_ctrl::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@rsa_pd_ctrl`] module"]
328pub type RSA_PD_CTRL = crate::Reg<rsa_pd_ctrl::RSA_PD_CTRL_SPEC>;
329#[doc = "rsa memory power control register"]
330pub mod rsa_pd_ctrl;
331#[doc = "EDMA_CTRL (rw) register accessor: EDMA control register\n\nYou can [`read`](crate::Reg::read) this register and get [`edma_ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`edma_ctrl::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@edma_ctrl`] module"]
332pub type EDMA_CTRL = crate::Reg<edma_ctrl::EDMA_CTRL_SPEC>;
333#[doc = "EDMA control register"]
334pub mod edma_ctrl;
335#[doc = "CACHE_CONTROL (rw) register accessor: Cache control register\n\nYou can [`read`](crate::Reg::read) this register and get [`cache_control::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cache_control::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@cache_control`] module"]
336pub type CACHE_CONTROL = crate::Reg<cache_control::CACHE_CONTROL_SPEC>;
337#[doc = "Cache control register"]
338pub mod cache_control;
339#[doc = "EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL (rw) register accessor: External memory encrypt and decrypt control register\n\nYou can [`read`](crate::Reg::read) this register and get [`external_device_encrypt_decrypt_control::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`external_device_encrypt_decrypt_control::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@external_device_encrypt_decrypt_control`] module"]
340pub type EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL = crate::Reg<
341    external_device_encrypt_decrypt_control::EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_SPEC,
342>;
343#[doc = "External memory encrypt and decrypt control register"]
344pub mod external_device_encrypt_decrypt_control;
345#[doc = "RTC_FASTMEM_CONFIG (rw) register accessor: RTC fast memory configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_fastmem_config::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rtc_fastmem_config::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@rtc_fastmem_config`] module"]
346pub type RTC_FASTMEM_CONFIG = crate::Reg<rtc_fastmem_config::RTC_FASTMEM_CONFIG_SPEC>;
347#[doc = "RTC fast memory configuration register"]
348pub mod rtc_fastmem_config;
349#[doc = "RTC_FASTMEM_CRC (r) register accessor: RTC fast memory CRC control register\n\nYou can [`read`](crate::Reg::read) this register and get [`rtc_fastmem_crc::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@rtc_fastmem_crc`] module"]
350pub type RTC_FASTMEM_CRC = crate::Reg<rtc_fastmem_crc::RTC_FASTMEM_CRC_SPEC>;
351#[doc = "RTC fast memory CRC control register"]
352pub mod rtc_fastmem_crc;
353#[doc = "REDUNDANT_ECO_CTRL (rw) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`redundant_eco_ctrl::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`redundant_eco_ctrl::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@redundant_eco_ctrl`] module"]
354pub type REDUNDANT_ECO_CTRL = crate::Reg<redundant_eco_ctrl::REDUNDANT_ECO_CTRL_SPEC>;
355#[doc = "******* Description ***********"]
356pub mod redundant_eco_ctrl;
357#[doc = "CLOCK_GATE (rw) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`clock_gate::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`clock_gate::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@clock_gate`] module"]
358pub type CLOCK_GATE = crate::Reg<clock_gate::CLOCK_GATE_SPEC>;
359#[doc = "******* Description ***********"]
360pub mod clock_gate;
361#[doc = "SYSCLK_CONF (rw) register accessor: System clock configuration register.\n\nYou can [`read`](crate::Reg::read) this register and get [`sysclk_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sysclk_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@sysclk_conf`] module"]
362pub type SYSCLK_CONF = crate::Reg<sysclk_conf::SYSCLK_CONF_SPEC>;
363#[doc = "System clock configuration register."]
364pub mod sysclk_conf;
365#[doc = "MEM_PVT (rw) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`mem_pvt::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mem_pvt::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@mem_pvt`] module"]
366pub type MEM_PVT = crate::Reg<mem_pvt::MEM_PVT_SPEC>;
367#[doc = "******* Description ***********"]
368pub mod mem_pvt;
369#[doc = "COMB_PVT_LVT_CONF (rw) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_lvt_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`comb_pvt_lvt_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@comb_pvt_lvt_conf`] module"]
370pub type COMB_PVT_LVT_CONF = crate::Reg<comb_pvt_lvt_conf::COMB_PVT_LVT_CONF_SPEC>;
371#[doc = "******* Description ***********"]
372pub mod comb_pvt_lvt_conf;
373#[doc = "COMB_PVT_NVT_CONF (rw) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_nvt_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`comb_pvt_nvt_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@comb_pvt_nvt_conf`] module"]
374pub type COMB_PVT_NVT_CONF = crate::Reg<comb_pvt_nvt_conf::COMB_PVT_NVT_CONF_SPEC>;
375#[doc = "******* Description ***********"]
376pub mod comb_pvt_nvt_conf;
377#[doc = "COMB_PVT_HVT_CONF (rw) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_hvt_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`comb_pvt_hvt_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@comb_pvt_hvt_conf`] module"]
378pub type COMB_PVT_HVT_CONF = crate::Reg<comb_pvt_hvt_conf::COMB_PVT_HVT_CONF_SPEC>;
379#[doc = "******* Description ***********"]
380pub mod comb_pvt_hvt_conf;
381#[doc = "COMB_PVT_ERR_LVT_SITE0 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_lvt_site0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_lvt_site0`] module"]
382pub type COMB_PVT_ERR_LVT_SITE0 = crate::Reg<comb_pvt_err_lvt_site0::COMB_PVT_ERR_LVT_SITE0_SPEC>;
383#[doc = "******* Description ***********"]
384pub mod comb_pvt_err_lvt_site0;
385#[doc = "COMB_PVT_ERR_NVT_SITE0 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_nvt_site0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_nvt_site0`] module"]
386pub type COMB_PVT_ERR_NVT_SITE0 = crate::Reg<comb_pvt_err_nvt_site0::COMB_PVT_ERR_NVT_SITE0_SPEC>;
387#[doc = "******* Description ***********"]
388pub mod comb_pvt_err_nvt_site0;
389#[doc = "COMB_PVT_ERR_HVT_SITE0 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_hvt_site0::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_hvt_site0`] module"]
390pub type COMB_PVT_ERR_HVT_SITE0 = crate::Reg<comb_pvt_err_hvt_site0::COMB_PVT_ERR_HVT_SITE0_SPEC>;
391#[doc = "******* Description ***********"]
392pub mod comb_pvt_err_hvt_site0;
393#[doc = "COMB_PVT_ERR_LVT_SITE1 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_lvt_site1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_lvt_site1`] module"]
394pub type COMB_PVT_ERR_LVT_SITE1 = crate::Reg<comb_pvt_err_lvt_site1::COMB_PVT_ERR_LVT_SITE1_SPEC>;
395#[doc = "******* Description ***********"]
396pub mod comb_pvt_err_lvt_site1;
397#[doc = "COMB_PVT_ERR_NVT_SITE1 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_nvt_site1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_nvt_site1`] module"]
398pub type COMB_PVT_ERR_NVT_SITE1 = crate::Reg<comb_pvt_err_nvt_site1::COMB_PVT_ERR_NVT_SITE1_SPEC>;
399#[doc = "******* Description ***********"]
400pub mod comb_pvt_err_nvt_site1;
401#[doc = "COMB_PVT_ERR_HVT_SITE1 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_hvt_site1::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_hvt_site1`] module"]
402pub type COMB_PVT_ERR_HVT_SITE1 = crate::Reg<comb_pvt_err_hvt_site1::COMB_PVT_ERR_HVT_SITE1_SPEC>;
403#[doc = "******* Description ***********"]
404pub mod comb_pvt_err_hvt_site1;
405#[doc = "COMB_PVT_ERR_LVT_SITE2 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_lvt_site2::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_lvt_site2`] module"]
406pub type COMB_PVT_ERR_LVT_SITE2 = crate::Reg<comb_pvt_err_lvt_site2::COMB_PVT_ERR_LVT_SITE2_SPEC>;
407#[doc = "******* Description ***********"]
408pub mod comb_pvt_err_lvt_site2;
409#[doc = "COMB_PVT_ERR_NVT_SITE2 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_nvt_site2::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_nvt_site2`] module"]
410pub type COMB_PVT_ERR_NVT_SITE2 = crate::Reg<comb_pvt_err_nvt_site2::COMB_PVT_ERR_NVT_SITE2_SPEC>;
411#[doc = "******* Description ***********"]
412pub mod comb_pvt_err_nvt_site2;
413#[doc = "COMB_PVT_ERR_HVT_SITE2 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_hvt_site2::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_hvt_site2`] module"]
414pub type COMB_PVT_ERR_HVT_SITE2 = crate::Reg<comb_pvt_err_hvt_site2::COMB_PVT_ERR_HVT_SITE2_SPEC>;
415#[doc = "******* Description ***********"]
416pub mod comb_pvt_err_hvt_site2;
417#[doc = "COMB_PVT_ERR_LVT_SITE3 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_lvt_site3::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_lvt_site3`] module"]
418pub type COMB_PVT_ERR_LVT_SITE3 = crate::Reg<comb_pvt_err_lvt_site3::COMB_PVT_ERR_LVT_SITE3_SPEC>;
419#[doc = "******* Description ***********"]
420pub mod comb_pvt_err_lvt_site3;
421#[doc = "COMB_PVT_ERR_NVT_SITE3 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_nvt_site3::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_nvt_site3`] module"]
422pub type COMB_PVT_ERR_NVT_SITE3 = crate::Reg<comb_pvt_err_nvt_site3::COMB_PVT_ERR_NVT_SITE3_SPEC>;
423#[doc = "******* Description ***********"]
424pub mod comb_pvt_err_nvt_site3;
425#[doc = "COMB_PVT_ERR_HVT_SITE3 (r) register accessor: ******* Description ***********\n\nYou can [`read`](crate::Reg::read) this register and get [`comb_pvt_err_hvt_site3::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@comb_pvt_err_hvt_site3`] module"]
426pub type COMB_PVT_ERR_HVT_SITE3 = crate::Reg<comb_pvt_err_hvt_site3::COMB_PVT_ERR_HVT_SITE3_SPEC>;
427#[doc = "******* Description ***********"]
428pub mod comb_pvt_err_hvt_site3;
429#[doc = "DATE (rw) register accessor: version 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"]
430pub type DATE = crate::Reg<date::DATE_SPEC>;
431#[doc = "version register"]
432pub mod date;