esp32h2/
hp_sys.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Register block"]
4pub struct RegisterBlock {
5    external_device_encrypt_decrypt_control: EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL,
6    sram_usage_conf: SRAM_USAGE_CONF,
7    sec_dpa_conf: SEC_DPA_CONF,
8    cpu_peri_timeout_conf: CPU_PERI_TIMEOUT_CONF,
9    cpu_peri_timeout_addr: CPU_PERI_TIMEOUT_ADDR,
10    cpu_peri_timeout_uid: CPU_PERI_TIMEOUT_UID,
11    hp_peri_timeout_conf: HP_PERI_TIMEOUT_CONF,
12    hp_peri_timeout_addr: HP_PERI_TIMEOUT_ADDR,
13    hp_peri_timeout_uid: HP_PERI_TIMEOUT_UID,
14    rom_table_lock: ROM_TABLE_LOCK,
15    rom_table: ROM_TABLE,
16    mem_test_conf: MEM_TEST_CONF,
17    _reserved12: [u8; 0x03b0],
18    rnd_eco: RND_ECO,
19    rnd_eco_low: RND_ECO_LOW,
20    rnd_eco_high: RND_ECO_HIGH,
21    _reserved15: [u8; 0x0c],
22    clock_gate: CLOCK_GATE,
23    date: DATE,
24}
25impl RegisterBlock {
26    #[doc = "0x00 - EXTERNAL DEVICE ENCRYPTION/DECRYPTION configuration register"]
27    #[inline(always)]
28    pub const fn external_device_encrypt_decrypt_control(
29        &self,
30    ) -> &EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL {
31        &self.external_device_encrypt_decrypt_control
32    }
33    #[doc = "0x04 - HP memory usage configuration register"]
34    #[inline(always)]
35    pub const fn sram_usage_conf(&self) -> &SRAM_USAGE_CONF {
36        &self.sram_usage_conf
37    }
38    #[doc = "0x08 - HP anti-DPA security configuration register"]
39    #[inline(always)]
40    pub const fn sec_dpa_conf(&self) -> &SEC_DPA_CONF {
41        &self.sec_dpa_conf
42    }
43    #[doc = "0x0c - CPU_PERI_TIMEOUT configuration register"]
44    #[inline(always)]
45    pub const fn cpu_peri_timeout_conf(&self) -> &CPU_PERI_TIMEOUT_CONF {
46        &self.cpu_peri_timeout_conf
47    }
48    #[doc = "0x10 - CPU_PERI_TIMEOUT_ADDR register"]
49    #[inline(always)]
50    pub const fn cpu_peri_timeout_addr(&self) -> &CPU_PERI_TIMEOUT_ADDR {
51        &self.cpu_peri_timeout_addr
52    }
53    #[doc = "0x14 - CPU_PERI_TIMEOUT_UID register"]
54    #[inline(always)]
55    pub const fn cpu_peri_timeout_uid(&self) -> &CPU_PERI_TIMEOUT_UID {
56        &self.cpu_peri_timeout_uid
57    }
58    #[doc = "0x18 - HP_PERI_TIMEOUT configuration register"]
59    #[inline(always)]
60    pub const fn hp_peri_timeout_conf(&self) -> &HP_PERI_TIMEOUT_CONF {
61        &self.hp_peri_timeout_conf
62    }
63    #[doc = "0x1c - HP_PERI_TIMEOUT_ADDR register"]
64    #[inline(always)]
65    pub const fn hp_peri_timeout_addr(&self) -> &HP_PERI_TIMEOUT_ADDR {
66        &self.hp_peri_timeout_addr
67    }
68    #[doc = "0x20 - HP_PERI_TIMEOUT_UID register"]
69    #[inline(always)]
70    pub const fn hp_peri_timeout_uid(&self) -> &HP_PERI_TIMEOUT_UID {
71        &self.hp_peri_timeout_uid
72    }
73    #[doc = "0x24 - Rom-Table lock register"]
74    #[inline(always)]
75    pub const fn rom_table_lock(&self) -> &ROM_TABLE_LOCK {
76        &self.rom_table_lock
77    }
78    #[doc = "0x28 - Rom-Table register"]
79    #[inline(always)]
80    pub const fn rom_table(&self) -> &ROM_TABLE {
81        &self.rom_table
82    }
83    #[doc = "0x2c - MEM_TEST configuration register"]
84    #[inline(always)]
85    pub const fn mem_test_conf(&self) -> &MEM_TEST_CONF {
86        &self.mem_test_conf
87    }
88    #[doc = "0x3e0 - redcy eco register."]
89    #[inline(always)]
90    pub const fn rnd_eco(&self) -> &RND_ECO {
91        &self.rnd_eco
92    }
93    #[doc = "0x3e4 - redcy eco low register."]
94    #[inline(always)]
95    pub const fn rnd_eco_low(&self) -> &RND_ECO_LOW {
96        &self.rnd_eco_low
97    }
98    #[doc = "0x3e8 - redcy eco high register."]
99    #[inline(always)]
100    pub const fn rnd_eco_high(&self) -> &RND_ECO_HIGH {
101        &self.rnd_eco_high
102    }
103    #[doc = "0x3f8 - HP-SYSTEM clock gating configure register"]
104    #[inline(always)]
105    pub const fn clock_gate(&self) -> &CLOCK_GATE {
106        &self.clock_gate
107    }
108    #[doc = "0x3fc - Date register."]
109    #[inline(always)]
110    pub const fn date(&self) -> &DATE {
111        &self.date
112    }
113}
114#[doc = "EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL (rw) register accessor: EXTERNAL DEVICE ENCRYPTION/DECRYPTION configuration 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"]
115pub type EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL = crate::Reg<
116    external_device_encrypt_decrypt_control::EXTERNAL_DEVICE_ENCRYPT_DECRYPT_CONTROL_SPEC,
117>;
118#[doc = "EXTERNAL DEVICE ENCRYPTION/DECRYPTION configuration register"]
119pub mod external_device_encrypt_decrypt_control;
120#[doc = "SRAM_USAGE_CONF (rw) register accessor: HP memory usage configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`sram_usage_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sram_usage_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@sram_usage_conf`] module"]
121pub type SRAM_USAGE_CONF = crate::Reg<sram_usage_conf::SRAM_USAGE_CONF_SPEC>;
122#[doc = "HP memory usage configuration register"]
123pub mod sram_usage_conf;
124#[doc = "SEC_DPA_CONF (rw) register accessor: HP anti-DPA security configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`sec_dpa_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`sec_dpa_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@sec_dpa_conf`] module"]
125pub type SEC_DPA_CONF = crate::Reg<sec_dpa_conf::SEC_DPA_CONF_SPEC>;
126#[doc = "HP anti-DPA security configuration register"]
127pub mod sec_dpa_conf;
128#[doc = "CPU_PERI_TIMEOUT_CONF (rw) register accessor: CPU_PERI_TIMEOUT configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_peri_timeout_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`cpu_peri_timeout_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_peri_timeout_conf`] module"]
129pub type CPU_PERI_TIMEOUT_CONF = crate::Reg<cpu_peri_timeout_conf::CPU_PERI_TIMEOUT_CONF_SPEC>;
130#[doc = "CPU_PERI_TIMEOUT configuration register"]
131pub mod cpu_peri_timeout_conf;
132#[doc = "CPU_PERI_TIMEOUT_ADDR (r) register accessor: CPU_PERI_TIMEOUT_ADDR register\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_peri_timeout_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cpu_peri_timeout_addr`] module"]
133pub type CPU_PERI_TIMEOUT_ADDR = crate::Reg<cpu_peri_timeout_addr::CPU_PERI_TIMEOUT_ADDR_SPEC>;
134#[doc = "CPU_PERI_TIMEOUT_ADDR register"]
135pub mod cpu_peri_timeout_addr;
136#[doc = "CPU_PERI_TIMEOUT_UID (r) register accessor: CPU_PERI_TIMEOUT_UID register\n\nYou can [`read`](crate::Reg::read) this register and get [`cpu_peri_timeout_uid::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@cpu_peri_timeout_uid`] module"]
137pub type CPU_PERI_TIMEOUT_UID = crate::Reg<cpu_peri_timeout_uid::CPU_PERI_TIMEOUT_UID_SPEC>;
138#[doc = "CPU_PERI_TIMEOUT_UID register"]
139pub mod cpu_peri_timeout_uid;
140#[doc = "HP_PERI_TIMEOUT_CONF (rw) register accessor: HP_PERI_TIMEOUT configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`hp_peri_timeout_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`hp_peri_timeout_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@hp_peri_timeout_conf`] module"]
141pub type HP_PERI_TIMEOUT_CONF = crate::Reg<hp_peri_timeout_conf::HP_PERI_TIMEOUT_CONF_SPEC>;
142#[doc = "HP_PERI_TIMEOUT configuration register"]
143pub mod hp_peri_timeout_conf;
144#[doc = "HP_PERI_TIMEOUT_ADDR (r) register accessor: HP_PERI_TIMEOUT_ADDR register\n\nYou can [`read`](crate::Reg::read) this register and get [`hp_peri_timeout_addr::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hp_peri_timeout_addr`] module"]
145pub type HP_PERI_TIMEOUT_ADDR = crate::Reg<hp_peri_timeout_addr::HP_PERI_TIMEOUT_ADDR_SPEC>;
146#[doc = "HP_PERI_TIMEOUT_ADDR register"]
147pub mod hp_peri_timeout_addr;
148#[doc = "HP_PERI_TIMEOUT_UID (r) register accessor: HP_PERI_TIMEOUT_UID register\n\nYou can [`read`](crate::Reg::read) this register and get [`hp_peri_timeout_uid::R`]. See [API](https://docs.rs/svd2rust/#read--modify--write-api).\n\nFor information about available fields see [`mod@hp_peri_timeout_uid`] module"]
149pub type HP_PERI_TIMEOUT_UID = crate::Reg<hp_peri_timeout_uid::HP_PERI_TIMEOUT_UID_SPEC>;
150#[doc = "HP_PERI_TIMEOUT_UID register"]
151pub mod hp_peri_timeout_uid;
152#[doc = "ROM_TABLE_LOCK (rw) register accessor: Rom-Table lock register\n\nYou can [`read`](crate::Reg::read) this register and get [`rom_table_lock::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rom_table_lock::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@rom_table_lock`] module"]
153pub type ROM_TABLE_LOCK = crate::Reg<rom_table_lock::ROM_TABLE_LOCK_SPEC>;
154#[doc = "Rom-Table lock register"]
155pub mod rom_table_lock;
156#[doc = "ROM_TABLE (rw) register accessor: Rom-Table register\n\nYou can [`read`](crate::Reg::read) this register and get [`rom_table::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`rom_table::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@rom_table`] module"]
157pub type ROM_TABLE = crate::Reg<rom_table::ROM_TABLE_SPEC>;
158#[doc = "Rom-Table register"]
159pub mod rom_table;
160#[doc = "MEM_TEST_CONF (rw) register accessor: MEM_TEST configuration register\n\nYou can [`read`](crate::Reg::read) this register and get [`mem_test_conf::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`mem_test_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@mem_test_conf`] module"]
161pub type MEM_TEST_CONF = crate::Reg<mem_test_conf::MEM_TEST_CONF_SPEC>;
162#[doc = "MEM_TEST configuration register"]
163pub mod mem_test_conf;
164#[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"]
165pub type RND_ECO = crate::Reg<rnd_eco::RND_ECO_SPEC>;
166#[doc = "redcy eco register."]
167pub mod rnd_eco;
168#[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"]
169pub type RND_ECO_LOW = crate::Reg<rnd_eco_low::RND_ECO_LOW_SPEC>;
170#[doc = "redcy eco low register."]
171pub mod rnd_eco_low;
172#[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"]
173pub type RND_ECO_HIGH = crate::Reg<rnd_eco_high::RND_ECO_HIGH_SPEC>;
174#[doc = "redcy eco high register."]
175pub mod rnd_eco_high;
176#[doc = "CLOCK_GATE (rw) register accessor: HP-SYSTEM clock gating configure register\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"]
177pub type CLOCK_GATE = crate::Reg<clock_gate::CLOCK_GATE_SPEC>;
178#[doc = "HP-SYSTEM clock gating configure register"]
179pub mod clock_gate;
180#[doc = "DATE (rw) register accessor: Date 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"]
181pub type DATE = crate::Reg<date::DATE_SPEC>;
182#[doc = "Date register."]
183pub mod date;