esp32/wifi/
crypto_control.rs

1#[repr(C)]
2#[cfg_attr(feature = "impl-register-debug", derive(Debug))]
3#[doc = "Control registers for hardware crypto"]
4pub struct CRYPTO_CONTROL {
5    interface_crypto_control: [INTERFACE_CRYPTO_CONTROL; 4],
6    general_crypto_control: GENERAL_CRYPTO_CONTROL,
7    crypto_key_slot_state: CRYPTO_KEY_SLOT_STATE,
8}
9impl CRYPTO_CONTROL {
10    #[doc = "0x00..0x10 - Control over cryptographic parameters for a specific interface"]
11    #[inline(always)]
12    pub const fn interface_crypto_control(&self, n: usize) -> &INTERFACE_CRYPTO_CONTROL {
13        &self.interface_crypto_control[n]
14    }
15    #[doc = "Iterator for array of:"]
16    #[doc = "0x00..0x10 - Control over cryptographic parameters for a specific interface"]
17    #[inline(always)]
18    pub fn interface_crypto_control_iter(&self) -> impl Iterator<Item = &INTERFACE_CRYPTO_CONTROL> {
19        self.interface_crypto_control.iter()
20    }
21    #[doc = "0x10 - Control over the whole crypto unit"]
22    #[inline(always)]
23    pub const fn general_crypto_control(&self) -> &GENERAL_CRYPTO_CONTROL {
24        &self.general_crypto_control
25    }
26    #[doc = "0x14 - State of cryptographic key slots"]
27    #[inline(always)]
28    pub const fn crypto_key_slot_state(&self) -> &CRYPTO_KEY_SLOT_STATE {
29        &self.crypto_key_slot_state
30    }
31}
32#[doc = "INTERFACE_CRYPTO_CONTROL (rw) register accessor: Control over cryptographic parameters for a specific interface\n\nYou can [`read`](crate::Reg::read) this register and get [`interface_crypto_control::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`interface_crypto_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@interface_crypto_control`] module"]
33pub type INTERFACE_CRYPTO_CONTROL =
34    crate::Reg<interface_crypto_control::INTERFACE_CRYPTO_CONTROL_SPEC>;
35#[doc = "Control over cryptographic parameters for a specific interface"]
36pub mod interface_crypto_control;
37#[doc = "GENERAL_CRYPTO_CONTROL (rw) register accessor: Control over the whole crypto unit\n\nYou can [`read`](crate::Reg::read) this register and get [`general_crypto_control::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`general_crypto_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@general_crypto_control`] module"]
38pub type GENERAL_CRYPTO_CONTROL = crate::Reg<general_crypto_control::GENERAL_CRYPTO_CONTROL_SPEC>;
39#[doc = "Control over the whole crypto unit"]
40pub mod general_crypto_control;
41#[doc = "CRYPTO_KEY_SLOT_STATE (rw) register accessor: State of cryptographic key slots\n\nYou can [`read`](crate::Reg::read) this register and get [`crypto_key_slot_state::R`]. You can [`reset`](crate::Reg::reset), [`write`](crate::Reg::write), [`write_with_zero`](crate::Reg::write_with_zero) this register using [`crypto_key_slot_state::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@crypto_key_slot_state`] module"]
42pub type CRYPTO_KEY_SLOT_STATE = crate::Reg<crypto_key_slot_state::CRYPTO_KEY_SLOT_STATE_SPEC>;
43#[doc = "State of cryptographic key slots"]
44pub mod crypto_key_slot_state;