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.