The 10 registers of TRNG (True Random Number Generator), from 0x4400C000, with their reset value and every field. The PIC32CX2051MTG128 has 2875 registers in 60 peripherals, one page each.
TRNG True Random Number Generator
TRNG_CRControl Register
Address
0x4400C000
Reset
0x00000000
Access
write only
Size
32-bit
2 fields
Field
Bits
What it does
ENABLE
0
Enable TRNG to Provide Random Values
WAKEY
31:8
Register Write Access Key
5393991 Writing any other value in this field aborts the write operation.
TRNG_MRMode Register
Address
0x4400C004
Reset
0x00000000
Access
read/write
Size
32-bit
1 field
Field
Bits
What it does
HALFR
0
Half Rate Enable
0 Maximum stream rate provided (1 sample every 84 MCK clock cycles).
1 Half maximum stream rate provided if the peripheral clock frequency is above 100 MHz (1 sample every 168 MCK clock cycles).
TRNG_PKBCRPrivate Key Bus Control Register
Address
0x4400C008
Reset
0x00000000
Access
write only
Size
32-bit
4 fields
Field
Bits
What it does
KLENGTH
15:8
Key Length
KSLAVE
5:4
Key Bus Client
0 AES
1 AESB
KID
0
Key ID (Must be Always Written to 0)
WAKEY
31:16
Register Write Access Key
21067 Writing any other value in this field aborts the write operation.
TRNG_IERInterrupt Enable Register
Address
0x4400C010
Reset
0x00000000
Access
write only
Size
32-bit
3 fields
Field
Bits
What it does
EOTPKB
2
End Of Transfer on Private Key Bus Interrupt Enable
SECE
1
Security and/or Safety Event Interrupt Enable
DATRDY
0
Data Ready Interrupt Enable
TRNG_IDRInterrupt Disable Register
Address
0x4400C014
Reset
0x00000000
Access
write only
Size
32-bit
3 fields
Field
Bits
What it does
EOTPKB
2
End Of Transfer on Private Key Bus Interrupt Disable
SECE
1
Security and/or Safety Event Interrupt Disable
DATRDY
0
Data Ready Interrupt Disable
TRNG_IMRInterrupt Mask Register
Address
0x4400C018
Reset
0x00000000
Access
read only
Size
32-bit
3 fields
Field
Bits
What it does
EOTPKB
2
End Of Transfer on Private Key Bus Interrupt Mask
SECE
1
Security and/or Safety Event Interrupt Mask
DATRDY
0
Data Ready Interrupt Mask
TRNG_ISRInterrupt Status Register
Address
0x4400C01C
Reset
0x00000000
Access
read only
Size
32-bit
3 fields
Field
Bits
What it does
EOTPKB
2
End Of Transfer on Private Key Bus (cleared on read)
SECE
1
Security and/or Safety Event (cleared on read)
DATRDY
0
Data Ready (cleared on read)
TRNG_ODATAOutput Data Register
Address
0x4400C050
Reset
0x00000000
Access
read only
Size
32-bit
1 field
Field
Bits
What it does
ODATA
31:0
Output Data
TRNG_WPMRWrite Protection Mode Register
Address
0x4400C0E4
Reset
0x00000000
Access
read/write
Size
32-bit
5 fields
Field
Bits
What it does
FIRSTE
4
First Error Report Enable
WPCREN
2
Write Protection Control Enable
WPITEN
1
Write Protection Interrupt Enable
WPEN
0
Write Protection Enable
WPKEY
31:8
Write Protection Key
5393991 Writing any other value in this field aborts the write operation of bits WPEN, WPITEN and WPCREN. Always reads as 0.
TRNG_WPSRWrite Protection Status Register
Address
0x4400C0E8
Reset
0x00000000
Access
read only
Size
32-bit
7 fields
Field
Bits
What it does
SWETYP
27:24
Software Error Type (cleared on read)
0 TRNG is enabled and a write-only register has been read (Warning).
1 TRNG is enabled and a write access has been performed on a read-only register (Warning).
2 Access to an undefined address.
3 The TRNG_ODATA register was read when TRNG was disabled or TRNG used for private key bus transfer (Error).
4 A write access to TRNG_PKBCR has been attempted during a private key bus transfer (Error).
WPVSRC
23:8
Write Protection Violation Source (cleared on read)
SWE
3
Software Control Error (cleared on read)
SEQE
2
Internal Sequencer Error (cleared on read)
CGD
1
Clock Glitch Detected (cleared on read)
WPVS
0
Write Protection Violation Status (cleared on read)
ECLASS
31
Software Error Class (cleared on read)
0 An abnormal access that does not affect system functionality.
1 Reading TRNG_ODATA when TRNG was disabled or TRNG used for private key bus transfer. TRNG does not provide a random value. Writing to TRNG_PKBCR while a private key bus transfer is ongoing does not launch a new private key bus transfer.