Registers

nRF5340 Product Specification

Instances
Instance Domain Base address TrustZone Split access Description
Map Att DMA
CC_RNG APPLICATION 0x50845000 HF S NSA No

CRYPTOCELL RNG engine

Register overview
Register Offset TZ Description
RNG_IMR 0x100

Interrupt mask register. Each bit of this register holds the mask of a single interrupt source.

RNG_ISR 0x104

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.

RNG_ICR 0x108

Interrupt clear register. Writing a 1 bit into a field in this register will clear the corresponding bit in RNG_ISR.

TRNG_CONFIG 0x10C

TRNG ring oscillator length configuration

TRNG_VALID 0x110

This register indicates if TRNG entropy collection is valid.

EHR_DATA[n] 0x114

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.

NOISE_SOURCE 0x12C

This register controls the ring oscillator circuit used as a noise source.

SAMPLE_CNT 0x130

Sample count defining the number of CPU clock cycles between two consecutive noise source samples.

AUTOCORR_STATISTIC 0x134

Statistics counter for autocorrelation test activations. Statistics collection is stopped if one of the counters reach its limit of all ones.

TRNG_DEBUG 0x138

Debug register for the TRNG. This register is used to bypass TRNG tests in hardware.

RNG_SW_RESET 0x140

Reset the RNG engine.

RNG_BUSY 0x1B8

Status register for RNG engine activity.

TRNG_RESET 0x1BC

Reset the TRNG, including internal counter of collected bits and registers EHR_DATA and TRNG_VALID.

RNG_HW_FLAGS 0x1C0

Hardware configuration of RNG engine. Reset value holds the supported features.

RNG_CLK 0x1C4

Control clock for the RNG engine.

RNG_DMA 0x1C8

Writing to this register enables the RNG DMA engine.

RNG_DMA_ROSC_LEN 0x1CC

This register defines which ring oscillator length configuration should be used when using the RNG DMA engine.

RNG_DMA_SRAM_ADDR 0x1D0

This register defines the start address in TRNG SRAM for the TRNG data to be collected by the RNG DMA engine.

RNG_DMA_SAMPLES_NUM 0x1D4

This register defines the number of 192-bits samples that the RNG DMA engine collects per run.

RNG_WATCHDOG_VAL 0x1D8

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.

RNG_DMA_BUSY 0x1DC

Status register for RNG DMA engine activity.