esp32c6/
intpri.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    cpu_int_enable: CPU_INT_ENABLE,
6    cpu_int_type: CPU_INT_TYPE,
7    cpu_int_eip_status: CPU_INT_EIP_STATUS,
8    cpu_int_pri: [CPU_INT_PRI; 32],
9    cpu_int_thresh: CPU_INT_THRESH,
10    cpu_intr_from_cpu_0: CPU_INTR_FROM_CPU_0,
11    cpu_intr_from_cpu_1: CPU_INTR_FROM_CPU_1,
12    cpu_intr_from_cpu_2: CPU_INTR_FROM_CPU_2,
13    cpu_intr_from_cpu_3: CPU_INTR_FROM_CPU_3,
14    date: DATE,
15    clock_gate: CLOCK_GATE,
16    cpu_int_clear: CPU_INT_CLEAR,
17    rnd_eco: RND_ECO,
18    rnd_eco_low: RND_ECO_LOW,
19    _reserved14: [u8; 0x0348],
20    rnd_eco_high: RND_ECO_HIGH,
21}
22impl RegisterBlock {
23    #[doc = "0x00 - register description"]
24    #[inline(always)]
25    pub const fn cpu_int_enable(&self) -> &CPU_INT_ENABLE {
26        &self.cpu_int_enable
27    }
28    #[doc = "0x04 - register description"]
29    #[inline(always)]
30    pub const fn cpu_int_type(&self) -> &CPU_INT_TYPE {
31        &self.cpu_int_type
32    }
33    #[doc = "0x08 - register description"]
34    #[inline(always)]
35    pub const fn cpu_int_eip_status(&self) -> &CPU_INT_EIP_STATUS {
36        &self.cpu_int_eip_status
37    }
38    #[doc = "0x0c..0x8c - register description"]
39    #[inline(always)]
40    pub const fn cpu_int_pri(&self, n: usize) -> &CPU_INT_PRI {
41        &self.cpu_int_pri[n]
42    }
43    #[doc = "Iterator for array of:"]
44    #[doc = "0x0c..0x8c - register description"]
45    #[inline(always)]
46    pub fn cpu_int_pri_iter(&self) -> impl Iterator<Item = &CPU_INT_PRI> {
47        self.cpu_int_pri.iter()
48    }
49    #[doc = "0x8c - register description"]
50    #[inline(always)]
51    pub const fn cpu_int_thresh(&self) -> &CPU_INT_THRESH {
52        &self.cpu_int_thresh
53    }
54    #[doc = "0x90 - register description"]
55    #[inline(always)]
56    pub const fn cpu_intr_from_cpu_0(&self) -> &CPU_INTR_FROM_CPU_0 {
57        &self.cpu_intr_from_cpu_0
58    }
59    #[doc = "0x94 - register description"]
60    #[inline(always)]
61    pub const fn cpu_intr_from_cpu_1(&self) -> &CPU_INTR_FROM_CPU_1 {
62        &self.cpu_intr_from_cpu_1
63    }
64    #[doc = "0x98 - register description"]
65    #[inline(always)]
66    pub const fn cpu_intr_from_cpu_2(&self) -> &CPU_INTR_FROM_CPU_2 {
67        &self.cpu_intr_from_cpu_2
68    }
69    #[doc = "0x9c - register description"]
70    #[inline(always)]
71    pub const fn cpu_intr_from_cpu_3(&self) -> &CPU_INTR_FROM_CPU_3 {
72        &self.cpu_intr_from_cpu_3
73    }
74    #[doc = "0xa0 - register description"]
75    #[inline(always)]
76    pub const fn date(&self) -> &DATE {
77        &self.date
78    }
79    #[doc = "0xa4 - register description"]
80    #[inline(always)]
81    pub const fn clock_gate(&self) -> &CLOCK_GATE {
82        &self.clock_gate
83    }
84    #[doc = "0xa8 - register description"]
85    #[inline(always)]
86    pub const fn cpu_int_clear(&self) -> &CPU_INT_CLEAR {
87        &self.cpu_int_clear
88    }
89    #[doc = "0xac - redcy eco register."]
90    #[inline(always)]
91    pub const fn rnd_eco(&self) -> &RND_ECO {
92        &self.rnd_eco
93    }
94    #[doc = "0xb0 - redcy eco low register."]
95    #[inline(always)]
96    pub const fn rnd_eco_low(&self) -> &RND_ECO_LOW {
97        &self.rnd_eco_low
98    }
99    #[doc = "0x3fc - redcy eco high register."]
100    #[inline(always)]
101    pub const fn rnd_eco_high(&self) -> &RND_ECO_HIGH {
102        &self.rnd_eco_high
103    }
104}
105#[doc = "CPU_INT_ENABLE (rw) register accessor: register description\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_int_enable::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_int_enable::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_int_enable`] module"]
106pub type CPU_INT_ENABLE = crate::Reg<cpu_int_enable::CPU_INT_ENABLE_SPEC>;
107#[doc = "register description"]
108pub mod cpu_int_enable;
109#[doc = "CPU_INT_TYPE (rw) register accessor: register description\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_int_type::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_int_type::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_int_type`] module"]
110pub type CPU_INT_TYPE = crate::Reg<cpu_int_type::CPU_INT_TYPE_SPEC>;
111#[doc = "register description"]
112pub mod cpu_int_type;
113#[doc = "CPU_INT_EIP_STATUS (r) register accessor: register description\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_int_eip_status::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cpu_int_eip_status`] module"]
114pub type CPU_INT_EIP_STATUS = crate::Reg<cpu_int_eip_status::CPU_INT_EIP_STATUS_SPEC>;
115#[doc = "register description"]
116pub mod cpu_int_eip_status;
117#[doc = "CPU_INT_PRI (rw) register accessor: register description\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_int_pri::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_int_pri::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_int_pri`] module"]
118pub type CPU_INT_PRI = crate::Reg<cpu_int_pri::CPU_INT_PRI_SPEC>;
119#[doc = "register description"]
120pub mod cpu_int_pri;
121#[doc = "CPU_INT_THRESH (rw) register accessor: register description\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_int_thresh::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_int_thresh::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_int_thresh`] module"]
122pub type CPU_INT_THRESH = crate::Reg<cpu_int_thresh::CPU_INT_THRESH_SPEC>;
123#[doc = "register description"]
124pub mod cpu_int_thresh;
125#[doc = "CPU_INTR_FROM_CPU_0 (rw) register accessor: register description\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"]
126pub type CPU_INTR_FROM_CPU_0 = crate::Reg<cpu_intr_from_cpu_0::CPU_INTR_FROM_CPU_0_SPEC>;
127#[doc = "register description"]
128pub mod cpu_intr_from_cpu_0;
129#[doc = "CPU_INTR_FROM_CPU_1 (rw) register accessor: register description\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"]
130pub type CPU_INTR_FROM_CPU_1 = crate::Reg<cpu_intr_from_cpu_1::CPU_INTR_FROM_CPU_1_SPEC>;
131#[doc = "register description"]
132pub mod cpu_intr_from_cpu_1;
133#[doc = "CPU_INTR_FROM_CPU_2 (rw) register accessor: register description\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"]
134pub type CPU_INTR_FROM_CPU_2 = crate::Reg<cpu_intr_from_cpu_2::CPU_INTR_FROM_CPU_2_SPEC>;
135#[doc = "register description"]
136pub mod cpu_intr_from_cpu_2;
137#[doc = "CPU_INTR_FROM_CPU_3 (rw) register accessor: register description\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"]
138pub type CPU_INTR_FROM_CPU_3 = crate::Reg<cpu_intr_from_cpu_3::CPU_INTR_FROM_CPU_3_SPEC>;
139#[doc = "register description"]
140pub mod cpu_intr_from_cpu_3;
141#[doc = "DATE (rw) register accessor: register description\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 = "register description"]
144pub mod date;
145#[doc = "CLOCK_GATE (rw) register accessor: register 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"]
146pub type CLOCK_GATE = crate::Reg<clock_gate::CLOCK_GATE_SPEC>;
147#[doc = "register description"]
148pub mod clock_gate;
149#[doc = "CPU_INT_CLEAR (rw) register accessor: register description\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_int_clear::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_int_clear::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_int_clear`] module"]
150pub type CPU_INT_CLEAR = crate::Reg<cpu_int_clear::CPU_INT_CLEAR_SPEC>;
151#[doc = "register description"]
152pub mod cpu_int_clear;
153#[doc = "RND_ECO (rw) register accessor: redcy eco register.\n\nYou can [`read`](crate::Reg::read) this register and get [`rnd_eco::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rnd_eco::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@rnd_eco`] module"]
154pub type RND_ECO = crate::Reg<rnd_eco::RND_ECO_SPEC>;
155#[doc = "redcy eco register."]
156pub mod rnd_eco;
157#[doc = "RND_ECO_LOW (rw) register accessor: redcy eco low register.\n\nYou can [`read`](crate::Reg::read) this register and get [`rnd_eco_low::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rnd_eco_low::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@rnd_eco_low`] module"]
158pub type RND_ECO_LOW = crate::Reg<rnd_eco_low::RND_ECO_LOW_SPEC>;
159#[doc = "redcy eco low register."]
160pub mod rnd_eco_low;
161#[doc = "RND_ECO_HIGH (rw) register accessor: redcy eco high register.\n\nYou can [`read`](crate::Reg::read) this register and get [`rnd_eco_high::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rnd_eco_high::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@rnd_eco_high`] module"]
162pub type RND_ECO_HIGH = crate::Reg<rnd_eco_high::RND_ECO_HIGH_SPEC>;
163#[doc = "redcy eco high register."]
164pub mod rnd_eco_high;