Hashcrypt

Struct Hashcrypt 

Source
pub struct Hashcrypt { /* private fields */ }
Expand description

LPC-Next0 Hash-Crypt peripheral

Implementations§

Source§

impl Hashcrypt

Source

pub const PTR: *const RegisterBlock = {0x40158000 as *const hashcrypt::RegisterBlock}

Pointer to the register block

Source

pub const fn ptr() -> *const RegisterBlock

Return the pointer to the register block

Source

pub unsafe fn steal() -> Self

Steal an instance of this peripheral

§Safety

Ensure that the new instance of the peripheral cannot be used in a way that may race with any existing instances, for example by only accessing read-only or write-only registers, or by consuming the original peripheral and using critical sections to coordinate access between multiple new instances.

Additionally, other software such as HALs may rely on only one peripheral instance existing to ensure memory safety; ensure no stolen instances are passed to such software.

Methods from Deref<Target = RegisterBlock>§

Source

pub fn ctrl(&self) -> &Ctrl

0x00 - Control register to enable and operate Hash and Crypto

Source

pub fn status(&self) -> &Status

0x04 - Indicates status of Hash peripheral.

Source

pub fn intenset(&self) -> &Intenset

0x08 - Write 1 to enable interrupts; reads back with which are set.

Source

pub fn intenclr(&self) -> &Intenclr

0x0c - Write 1 to clear interrupts.

Source

pub fn memctrl(&self) -> &Memctrl

0x10 - Setup Master to access memory (if available)

Source

pub fn memaddr(&self) -> &Memaddr

0x14 - Address to start memory access from (if available).

Source

pub fn indata(&self) -> &Indata

0x20 - Input of 16 words at a time to load up buffer.

Source

pub fn alias(&self, n: usize) -> &Alias

0x24..0x40 - no description available

Source

pub fn alias_iter(&self) -> impl Iterator<Item = &Alias>

Iterator for array of: 0x24..0x40 - no description available

Source

pub fn digest0(&self, n: usize) -> &Digest0

0x40..0x60 - no description available

Source

pub fn digest0_iter(&self) -> impl Iterator<Item = &Digest0>

Iterator for array of: 0x40..0x60 - no description available

Source

pub fn cryptcfg(&self) -> &Cryptcfg

0x80 - Crypto settings for AES and Salsa and ChaCha

Source

pub fn config(&self) -> &Config

0x84 - Returns the configuration of this block in this chip - indicates what services are available.

Source

pub fn lock(&self) -> &Lock

0x8c - Lock register allows locking to the current security level or unlocking by the lock holding level.

Source

pub fn mask(&self, n: usize) -> &Mask

0x90..0xa0 - no description available

Source

pub fn mask_iter(&self) -> impl Iterator<Item = &Mask>

Iterator for array of: 0x90..0xa0 - no description available

Source

pub fn reload(&self, n: usize) -> &Reload

0xa0..0xc0 - no description available

Source

pub fn reload_iter(&self) -> impl Iterator<Item = &Reload>

Iterator for array of: 0xa0..0xc0 - no description available

Source

pub fn prng_seed(&self) -> &PrngSeed

0xd0 - PRNG random seed input value used as an entropy source

Source

pub fn prng_out(&self) -> &PrngOut

0xd8 - PRNG software-accessable random output value

Trait Implementations§

Source§

impl Debug for Hashcrypt

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for Hashcrypt

Source§

type Target = RegisterBlock

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Send for Hashcrypt

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.