pub struct CcRng { /* private fields */ }
Expand description
CRYPTOCELL RNG engine
Implementations§
Source§impl CcRng
impl CcRng
pub const unsafe fn from_ptr(ptr: *mut ()) -> Self
pub const fn as_ptr(&self) -> *mut ()
Sourcepub const fn rng_imr(self) -> Reg<RngImr, RW>
pub const fn rng_imr(self) -> Reg<RngImr, RW>
Interrupt mask register. Each bit of this register holds the mask of a single interrupt source.
Sourcepub const fn rng_isr(self) -> Reg<RngIsr, R>
pub const fn rng_isr(self) -> Reg<RngIsr, R>
Interrupt status register. Each bit of this register holds the interrupt status of a single interrupt source. If corresponding RNG_IMR bit is unmasked, an interrupt is generated.
Sourcepub const fn rng_icr(self) -> Reg<RngIcr, W>
pub const fn rng_icr(self) -> Reg<RngIcr, W>
Interrupt clear register. Writing a 1 bit into a field in this register will clear the corresponding bit in RNG_ISR.
Sourcepub const fn trng_config(self) -> Reg<TrngConfig, RW>
pub const fn trng_config(self) -> Reg<TrngConfig, RW>
TRNG ring oscillator length configuration
Sourcepub const fn trng_valid(self) -> Reg<TrngValid, R>
pub const fn trng_valid(self) -> Reg<TrngValid, R>
This register indicates if TRNG entropy collection is valid.
Sourcepub const fn ehr_data(self, n: usize) -> Reg<u32, R>
pub const fn ehr_data(self, n: usize) -> Reg<u32, R>
Description collection: The entropy holding registers (EHR) hold 192-bits random data collected by the TRNG. The initial EHR_DATA[0] register holds the least significant bits [31:0] of the random data value.
Sourcepub const fn noise_source(self) -> Reg<NoiseSource, RW>
pub const fn noise_source(self) -> Reg<NoiseSource, RW>
This register controls the ring oscillator circuit used as a noise source.
Sourcepub const fn sample_cnt(self) -> Reg<u32, RW>
pub const fn sample_cnt(self) -> Reg<u32, RW>
Sample count defining the number of CPU clock cycles between two consecutive noise source samples.
Sourcepub const fn autocorr_statistic(self) -> Reg<AutocorrStatistic, RW>
pub const fn autocorr_statistic(self) -> Reg<AutocorrStatistic, RW>
Statistics counter for autocorrelation test activations. Statistics collection is stopped if one of the counters reach its limit of all ones.
Sourcepub const fn trng_debug(self) -> Reg<TrngDebug, RW>
pub const fn trng_debug(self) -> Reg<TrngDebug, RW>
Debug register for the TRNG. This register is used to bypass TRNG tests in hardware.
Sourcepub const fn rng_sw_reset(self) -> Reg<RngSwReset, W>
pub const fn rng_sw_reset(self) -> Reg<RngSwReset, W>
Reset the RNG engine.
Sourcepub const fn trng_reset(self) -> Reg<TrngReset, W>
pub const fn trng_reset(self) -> Reg<TrngReset, W>
Reset the TRNG, including internal counter of collected bits and registers EHR_DATA and TRNG_VALID.
Sourcepub const fn rng_hw_flags(self) -> Reg<RngHwFlags, R>
pub const fn rng_hw_flags(self) -> Reg<RngHwFlags, R>
Hardware configuration of RNG engine. Reset value holds the supported features.
Sourcepub const fn rng_dma(self) -> Reg<RngDma, RW>
pub const fn rng_dma(self) -> Reg<RngDma, RW>
Writing to this register enables the RNG DMA engine.
Sourcepub const fn rng_dma_rosc_len(self) -> Reg<RngDmaRoscLen, RW>
pub const fn rng_dma_rosc_len(self) -> Reg<RngDmaRoscLen, RW>
This register defines which ring oscillator length configuration should be used when using the RNG DMA engine.
Sourcepub const fn rng_dma_sram_addr(self) -> Reg<RngDmaSramAddr, RW>
pub const fn rng_dma_sram_addr(self) -> Reg<RngDmaSramAddr, RW>
This register defines the start address in TRNG SRAM for the TRNG data to be collected by the RNG DMA engine.
Sourcepub const fn rng_dma_samples_num(self) -> Reg<RngDmaSamplesNum, RW>
pub const fn rng_dma_samples_num(self) -> Reg<RngDmaSamplesNum, RW>
This register defines the number of 192-bits samples that the RNG DMA engine collects per run.
Sourcepub const fn rng_watchdog_val(self) -> Reg<u32, RW>
pub const fn rng_watchdog_val(self) -> Reg<u32, RW>
This register defines the maximum number of CPU clock cycles per TRNG collection of 192-bits samples. If the number of cycles for a collection exceeds this threshold the WATCHDOG interrupt is triggered.
Sourcepub const fn rng_dma_busy(self) -> Reg<RngDmaBusy, R>
pub const fn rng_dma_busy(self) -> Reg<RngDmaBusy, R>
Status register for RNG DMA engine activity.
Trait Implementations§
impl Copy for CcRng
impl Eq for CcRng
impl Send for CcRng
impl StructuralPartialEq for CcRng
impl Sync for CcRng
Auto Trait Implementations§
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)