Kevin O'Connor c0014efc4a rp2040: Resynchronize with upstream Klipper code and support rp2350 chips
Synchronize with the latest Klipper code.  This pulls in the latest
lib/ files (needed to use the pico-sdk v2.0.0 version).  It updates to
latest can2040 code (needed for pico-sdk v2.0.0 support).  It
implements USB double buffering (as is now done in Klipper).  It adds
in support for additional UART pins (as is now done in Klipper).  It
adds support for rp2350 chips.

This replaces the execute in ram code previously implemented in
Katapult with the execute in ram code that is now standard in Klipper.

The CONFIG_RP2040_ADD_BOOT_SIGNATURE kconfig symbol was removed and
the build now always produces a katapult.withclear.uf2 file.

Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2024-12-17 19:27:43 -05:00

626 lines
33 KiB
C

// THIS HEADER FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT
/**
* Copyright (c) 2024 Raspberry Pi Ltd.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
// =============================================================================
// Register block : TRNG
// Version : 1
// Bus type : apb
// Description : ARM TrustZone RNG register block
// =============================================================================
#ifndef _HARDWARE_REGS_TRNG_H
#define _HARDWARE_REGS_TRNG_H
// =============================================================================
// Register : TRNG_RNG_IMR
// Description : Interrupt masking.
#define TRNG_RNG_IMR_OFFSET _u(0x00000100)
#define TRNG_RNG_IMR_BITS _u(0xffffffff)
#define TRNG_RNG_IMR_RESET _u(0x0000000f)
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_IMR_RESERVED
// Description : RESERVED
#define TRNG_RNG_IMR_RESERVED_RESET _u(0x0000000)
#define TRNG_RNG_IMR_RESERVED_BITS _u(0xfffffff0)
#define TRNG_RNG_IMR_RESERVED_MSB _u(31)
#define TRNG_RNG_IMR_RESERVED_LSB _u(4)
#define TRNG_RNG_IMR_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_IMR_VN_ERR_INT_MASK
// Description : 1'b1-mask interrupt, no interrupt will be generated. See
// RNG_ISR for an explanation on this interrupt.
#define TRNG_RNG_IMR_VN_ERR_INT_MASK_RESET _u(0x1)
#define TRNG_RNG_IMR_VN_ERR_INT_MASK_BITS _u(0x00000008)
#define TRNG_RNG_IMR_VN_ERR_INT_MASK_MSB _u(3)
#define TRNG_RNG_IMR_VN_ERR_INT_MASK_LSB _u(3)
#define TRNG_RNG_IMR_VN_ERR_INT_MASK_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_IMR_CRNGT_ERR_INT_MASK
// Description : 1'b1-mask interrupt, no interrupt will be generated. See
// RNG_ISR for an explanation on this interrupt.
#define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_RESET _u(0x1)
#define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_BITS _u(0x00000004)
#define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_MSB _u(2)
#define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_LSB _u(2)
#define TRNG_RNG_IMR_CRNGT_ERR_INT_MASK_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK
// Description : 1'b1-mask interrupt, no interrupt will be generated. See
// RNG_ISR for an explanation on this interrupt.
#define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_RESET _u(0x1)
#define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_BITS _u(0x00000002)
#define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_MSB _u(1)
#define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_LSB _u(1)
#define TRNG_RNG_IMR_AUTOCORR_ERR_INT_MASK_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_IMR_EHR_VALID_INT_MASK
// Description : 1'b1-mask interrupt, no interrupt will be generated. See
// RNG_ISR for an explanation on this interrupt.
#define TRNG_RNG_IMR_EHR_VALID_INT_MASK_RESET _u(0x1)
#define TRNG_RNG_IMR_EHR_VALID_INT_MASK_BITS _u(0x00000001)
#define TRNG_RNG_IMR_EHR_VALID_INT_MASK_MSB _u(0)
#define TRNG_RNG_IMR_EHR_VALID_INT_MASK_LSB _u(0)
#define TRNG_RNG_IMR_EHR_VALID_INT_MASK_ACCESS "RW"
// =============================================================================
// Register : TRNG_RNG_ISR
// Description : RNG status register. If corresponding RNG_IMR bit is unmasked,
// an interrupt will be generated.
#define TRNG_RNG_ISR_OFFSET _u(0x00000104)
#define TRNG_RNG_ISR_BITS _u(0xffffffff)
#define TRNG_RNG_ISR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ISR_RESERVED
// Description : RESERVED
#define TRNG_RNG_ISR_RESERVED_RESET _u(0x0000000)
#define TRNG_RNG_ISR_RESERVED_BITS _u(0xfffffff0)
#define TRNG_RNG_ISR_RESERVED_MSB _u(31)
#define TRNG_RNG_ISR_RESERVED_LSB _u(4)
#define TRNG_RNG_ISR_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ISR_VN_ERR
// Description : 1'b1 indicates Von Neuman error. Error in von Neuman occurs if
// 32 consecutive collected bits are identical, ZERO or ONE.
#define TRNG_RNG_ISR_VN_ERR_RESET _u(0x0)
#define TRNG_RNG_ISR_VN_ERR_BITS _u(0x00000008)
#define TRNG_RNG_ISR_VN_ERR_MSB _u(3)
#define TRNG_RNG_ISR_VN_ERR_LSB _u(3)
#define TRNG_RNG_ISR_VN_ERR_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ISR_CRNGT_ERR
// Description : 1'b1 indicates CRNGT in the RNG test failed. Failure occurs
// when two consecutive blocks of 16 collected bits are equal.
#define TRNG_RNG_ISR_CRNGT_ERR_RESET _u(0x0)
#define TRNG_RNG_ISR_CRNGT_ERR_BITS _u(0x00000004)
#define TRNG_RNG_ISR_CRNGT_ERR_MSB _u(2)
#define TRNG_RNG_ISR_CRNGT_ERR_LSB _u(2)
#define TRNG_RNG_ISR_CRNGT_ERR_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ISR_AUTOCORR_ERR
// Description : 1'b1 indicates Autocorrelation test failed four times in a row.
// When set, RNG cease from functioning until next reset.
#define TRNG_RNG_ISR_AUTOCORR_ERR_RESET _u(0x0)
#define TRNG_RNG_ISR_AUTOCORR_ERR_BITS _u(0x00000002)
#define TRNG_RNG_ISR_AUTOCORR_ERR_MSB _u(1)
#define TRNG_RNG_ISR_AUTOCORR_ERR_LSB _u(1)
#define TRNG_RNG_ISR_AUTOCORR_ERR_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ISR_EHR_VALID
// Description : 1'b1 indicates that 192 bits have been collected in the RNG,
// and are ready to be read.
#define TRNG_RNG_ISR_EHR_VALID_RESET _u(0x0)
#define TRNG_RNG_ISR_EHR_VALID_BITS _u(0x00000001)
#define TRNG_RNG_ISR_EHR_VALID_MSB _u(0)
#define TRNG_RNG_ISR_EHR_VALID_LSB _u(0)
#define TRNG_RNG_ISR_EHR_VALID_ACCESS "RO"
// =============================================================================
// Register : TRNG_RNG_ICR
// Description : Interrupt/status bit clear Register.
#define TRNG_RNG_ICR_OFFSET _u(0x00000108)
#define TRNG_RNG_ICR_BITS _u(0xffffffff)
#define TRNG_RNG_ICR_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ICR_RESERVED
// Description : RESERVED
#define TRNG_RNG_ICR_RESERVED_RESET _u(0x0000000)
#define TRNG_RNG_ICR_RESERVED_BITS _u(0xfffffff0)
#define TRNG_RNG_ICR_RESERVED_MSB _u(31)
#define TRNG_RNG_ICR_RESERVED_LSB _u(4)
#define TRNG_RNG_ICR_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ICR_VN_ERR
// Description : Write 1'b1 - clear corresponding bit in RNG_ISR.
#define TRNG_RNG_ICR_VN_ERR_RESET _u(0x0)
#define TRNG_RNG_ICR_VN_ERR_BITS _u(0x00000008)
#define TRNG_RNG_ICR_VN_ERR_MSB _u(3)
#define TRNG_RNG_ICR_VN_ERR_LSB _u(3)
#define TRNG_RNG_ICR_VN_ERR_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ICR_CRNGT_ERR
// Description : Write 1'b1 - clear corresponding bit in RNG_ISR.
#define TRNG_RNG_ICR_CRNGT_ERR_RESET _u(0x0)
#define TRNG_RNG_ICR_CRNGT_ERR_BITS _u(0x00000004)
#define TRNG_RNG_ICR_CRNGT_ERR_MSB _u(2)
#define TRNG_RNG_ICR_CRNGT_ERR_LSB _u(2)
#define TRNG_RNG_ICR_CRNGT_ERR_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ICR_AUTOCORR_ERR
// Description : Cannot be cleared by SW! Only RNG reset clears this bit.
#define TRNG_RNG_ICR_AUTOCORR_ERR_RESET _u(0x0)
#define TRNG_RNG_ICR_AUTOCORR_ERR_BITS _u(0x00000002)
#define TRNG_RNG_ICR_AUTOCORR_ERR_MSB _u(1)
#define TRNG_RNG_ICR_AUTOCORR_ERR_LSB _u(1)
#define TRNG_RNG_ICR_AUTOCORR_ERR_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_ICR_EHR_VALID
// Description : Write 1'b1 - clear corresponding bit in RNG_ISR.
#define TRNG_RNG_ICR_EHR_VALID_RESET _u(0x0)
#define TRNG_RNG_ICR_EHR_VALID_BITS _u(0x00000001)
#define TRNG_RNG_ICR_EHR_VALID_MSB _u(0)
#define TRNG_RNG_ICR_EHR_VALID_LSB _u(0)
#define TRNG_RNG_ICR_EHR_VALID_ACCESS "RW"
// =============================================================================
// Register : TRNG_TRNG_CONFIG
// Description : Selecting the inverter-chain length.
#define TRNG_TRNG_CONFIG_OFFSET _u(0x0000010c)
#define TRNG_TRNG_CONFIG_BITS _u(0xffffffff)
#define TRNG_TRNG_CONFIG_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_CONFIG_RESERVED
// Description : RESERVED
#define TRNG_TRNG_CONFIG_RESERVED_RESET _u(0x00000000)
#define TRNG_TRNG_CONFIG_RESERVED_BITS _u(0xfffffffc)
#define TRNG_TRNG_CONFIG_RESERVED_MSB _u(31)
#define TRNG_TRNG_CONFIG_RESERVED_LSB _u(2)
#define TRNG_TRNG_CONFIG_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_CONFIG_RND_SRC_SEL
// Description : Selects the number of inverters (out of four possible
// selections) in the ring oscillator (the entropy source).
#define TRNG_TRNG_CONFIG_RND_SRC_SEL_RESET _u(0x0)
#define TRNG_TRNG_CONFIG_RND_SRC_SEL_BITS _u(0x00000003)
#define TRNG_TRNG_CONFIG_RND_SRC_SEL_MSB _u(1)
#define TRNG_TRNG_CONFIG_RND_SRC_SEL_LSB _u(0)
#define TRNG_TRNG_CONFIG_RND_SRC_SEL_ACCESS "RW"
// =============================================================================
// Register : TRNG_TRNG_VALID
// Description : 192 bit collection indication.
#define TRNG_TRNG_VALID_OFFSET _u(0x00000110)
#define TRNG_TRNG_VALID_BITS _u(0xffffffff)
#define TRNG_TRNG_VALID_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_VALID_RESERVED
// Description : RESERVED
#define TRNG_TRNG_VALID_RESERVED_RESET _u(0x00000000)
#define TRNG_TRNG_VALID_RESERVED_BITS _u(0xfffffffe)
#define TRNG_TRNG_VALID_RESERVED_MSB _u(31)
#define TRNG_TRNG_VALID_RESERVED_LSB _u(1)
#define TRNG_TRNG_VALID_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_VALID_EHR_VALID
// Description : 1'b1 indicates that collection of bits in the RNG is completed,
// and data can be read from EHR_DATA register.
#define TRNG_TRNG_VALID_EHR_VALID_RESET _u(0x0)
#define TRNG_TRNG_VALID_EHR_VALID_BITS _u(0x00000001)
#define TRNG_TRNG_VALID_EHR_VALID_MSB _u(0)
#define TRNG_TRNG_VALID_EHR_VALID_LSB _u(0)
#define TRNG_TRNG_VALID_EHR_VALID_ACCESS "RO"
// =============================================================================
// Register : TRNG_EHR_DATA0
// Description : RNG collected bits.
// Bits [31:0] of Entropy Holding Register (EHR) - RNG output
// register
#define TRNG_EHR_DATA0_OFFSET _u(0x00000114)
#define TRNG_EHR_DATA0_BITS _u(0xffffffff)
#define TRNG_EHR_DATA0_RESET _u(0x00000000)
#define TRNG_EHR_DATA0_MSB _u(31)
#define TRNG_EHR_DATA0_LSB _u(0)
#define TRNG_EHR_DATA0_ACCESS "RO"
// =============================================================================
// Register : TRNG_EHR_DATA1
// Description : RNG collected bits.
// Bits [63:32] of Entropy Holding Register (EHR) - RNG output
// register
#define TRNG_EHR_DATA1_OFFSET _u(0x00000118)
#define TRNG_EHR_DATA1_BITS _u(0xffffffff)
#define TRNG_EHR_DATA1_RESET _u(0x00000000)
#define TRNG_EHR_DATA1_MSB _u(31)
#define TRNG_EHR_DATA1_LSB _u(0)
#define TRNG_EHR_DATA1_ACCESS "RO"
// =============================================================================
// Register : TRNG_EHR_DATA2
// Description : RNG collected bits.
// Bits [95:64] of Entropy Holding Register (EHR) - RNG output
// register
#define TRNG_EHR_DATA2_OFFSET _u(0x0000011c)
#define TRNG_EHR_DATA2_BITS _u(0xffffffff)
#define TRNG_EHR_DATA2_RESET _u(0x00000000)
#define TRNG_EHR_DATA2_MSB _u(31)
#define TRNG_EHR_DATA2_LSB _u(0)
#define TRNG_EHR_DATA2_ACCESS "RO"
// =============================================================================
// Register : TRNG_EHR_DATA3
// Description : RNG collected bits.
// Bits [127:96] of Entropy Holding Register (EHR) - RNG output
// register
#define TRNG_EHR_DATA3_OFFSET _u(0x00000120)
#define TRNG_EHR_DATA3_BITS _u(0xffffffff)
#define TRNG_EHR_DATA3_RESET _u(0x00000000)
#define TRNG_EHR_DATA3_MSB _u(31)
#define TRNG_EHR_DATA3_LSB _u(0)
#define TRNG_EHR_DATA3_ACCESS "RO"
// =============================================================================
// Register : TRNG_EHR_DATA4
// Description : RNG collected bits.
// Bits [159:128] of Entropy Holding Register (EHR) - RNG output
// register
#define TRNG_EHR_DATA4_OFFSET _u(0x00000124)
#define TRNG_EHR_DATA4_BITS _u(0xffffffff)
#define TRNG_EHR_DATA4_RESET _u(0x00000000)
#define TRNG_EHR_DATA4_MSB _u(31)
#define TRNG_EHR_DATA4_LSB _u(0)
#define TRNG_EHR_DATA4_ACCESS "RO"
// =============================================================================
// Register : TRNG_EHR_DATA5
// Description : RNG collected bits.
// Bits [191:160] of Entropy Holding Register (EHR) - RNG output
// register
#define TRNG_EHR_DATA5_OFFSET _u(0x00000128)
#define TRNG_EHR_DATA5_BITS _u(0xffffffff)
#define TRNG_EHR_DATA5_RESET _u(0x00000000)
#define TRNG_EHR_DATA5_MSB _u(31)
#define TRNG_EHR_DATA5_LSB _u(0)
#define TRNG_EHR_DATA5_ACCESS "RO"
// =============================================================================
// Register : TRNG_RND_SOURCE_ENABLE
// Description : Enable signal for the random source.
#define TRNG_RND_SOURCE_ENABLE_OFFSET _u(0x0000012c)
#define TRNG_RND_SOURCE_ENABLE_BITS _u(0xffffffff)
#define TRNG_RND_SOURCE_ENABLE_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RND_SOURCE_ENABLE_RESERVED
// Description : RESERVED
#define TRNG_RND_SOURCE_ENABLE_RESERVED_RESET _u(0x00000000)
#define TRNG_RND_SOURCE_ENABLE_RESERVED_BITS _u(0xfffffffe)
#define TRNG_RND_SOURCE_ENABLE_RESERVED_MSB _u(31)
#define TRNG_RND_SOURCE_ENABLE_RESERVED_LSB _u(1)
#define TRNG_RND_SOURCE_ENABLE_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RND_SOURCE_ENABLE_RND_SRC_EN
// Description : * 1'b1 - entropy source is enabled. *1'b0 - entropy source is
// disabled
#define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_RESET _u(0x0)
#define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_BITS _u(0x00000001)
#define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_MSB _u(0)
#define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_LSB _u(0)
#define TRNG_RND_SOURCE_ENABLE_RND_SRC_EN_ACCESS "RW"
// =============================================================================
// Register : TRNG_SAMPLE_CNT1
// Description : Counts clocks between sampling of random bit.
#define TRNG_SAMPLE_CNT1_OFFSET _u(0x00000130)
#define TRNG_SAMPLE_CNT1_BITS _u(0xffffffff)
#define TRNG_SAMPLE_CNT1_RESET _u(0x0000ffff)
// -----------------------------------------------------------------------------
// Field : TRNG_SAMPLE_CNT1_SAMPLE_CNTR1
// Description : Sets the number of rng_clk cycles between two consecutive ring
// oscillator samples. Note! If the Von-Neuman is bypassed, the
// minimum value for sample counter must not be less then decimal
// seventeen
#define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_RESET _u(0x0000ffff)
#define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_BITS _u(0xffffffff)
#define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_MSB _u(31)
#define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_LSB _u(0)
#define TRNG_SAMPLE_CNT1_SAMPLE_CNTR1_ACCESS "RW"
// =============================================================================
// Register : TRNG_AUTOCORR_STATISTIC
// Description : Statistic about Autocorrelation test activations.
#define TRNG_AUTOCORR_STATISTIC_OFFSET _u(0x00000134)
#define TRNG_AUTOCORR_STATISTIC_BITS _u(0xffffffff)
#define TRNG_AUTOCORR_STATISTIC_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_AUTOCORR_STATISTIC_RESERVED
// Description : RESERVED
#define TRNG_AUTOCORR_STATISTIC_RESERVED_RESET _u(0x000)
#define TRNG_AUTOCORR_STATISTIC_RESERVED_BITS _u(0xffc00000)
#define TRNG_AUTOCORR_STATISTIC_RESERVED_MSB _u(31)
#define TRNG_AUTOCORR_STATISTIC_RESERVED_LSB _u(22)
#define TRNG_AUTOCORR_STATISTIC_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS
// Description : Count each time an autocorrelation test fails. Any write to the
// register reset the counter. Stop collecting statistic if one of
// the counters reached the limit.
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_RESET _u(0x00)
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_BITS _u(0x003fc000)
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_MSB _u(21)
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_LSB _u(14)
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_FAILS_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS
// Description : Count each time an autocorrelation test starts. Any write to
// the register reset the counter. Stop collecting statistic if
// one of the counters reached the limit.
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_RESET _u(0x0000)
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_BITS _u(0x00003fff)
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_MSB _u(13)
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_LSB _u(0)
#define TRNG_AUTOCORR_STATISTIC_AUTOCORR_TRYS_ACCESS "RW"
// =============================================================================
// Register : TRNG_TRNG_DEBUG_CONTROL
// Description : Debug register.
#define TRNG_TRNG_DEBUG_CONTROL_OFFSET _u(0x00000138)
#define TRNG_TRNG_DEBUG_CONTROL_BITS _u(0x0000000f)
#define TRNG_TRNG_DEBUG_CONTROL_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS
// Description : When set, the autocorrelation test in the TRNG module is
// bypassed.
#define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_RESET _u(0x0)
#define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_BITS _u(0x00000008)
#define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_MSB _u(3)
#define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_LSB _u(3)
#define TRNG_TRNG_DEBUG_CONTROL_AUTO_CORRELATE_BYPASS_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS
// Description : When set, the CRNGT test in the RNG is bypassed.
#define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_RESET _u(0x0)
#define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_BITS _u(0x00000004)
#define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_MSB _u(2)
#define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_LSB _u(2)
#define TRNG_TRNG_DEBUG_CONTROL_TRNG_CRNGT_BYPASS_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS
// Description : When set, the Von-Neuman balancer is bypassed (including the 32
// consecutive bits test).
#define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_RESET _u(0x0)
#define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_BITS _u(0x00000002)
#define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_MSB _u(1)
#define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_LSB _u(1)
#define TRNG_TRNG_DEBUG_CONTROL_VNC_BYPASS_ACCESS "RW"
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_DEBUG_CONTROL_RESERVED
// Description : N/A
#define TRNG_TRNG_DEBUG_CONTROL_RESERVED_RESET _u(0x0)
#define TRNG_TRNG_DEBUG_CONTROL_RESERVED_BITS _u(0x00000001)
#define TRNG_TRNG_DEBUG_CONTROL_RESERVED_MSB _u(0)
#define TRNG_TRNG_DEBUG_CONTROL_RESERVED_LSB _u(0)
#define TRNG_TRNG_DEBUG_CONTROL_RESERVED_ACCESS "RO"
// =============================================================================
// Register : TRNG_TRNG_SW_RESET
// Description : Generate internal SW reset within the RNG block.
#define TRNG_TRNG_SW_RESET_OFFSET _u(0x00000140)
#define TRNG_TRNG_SW_RESET_BITS _u(0xffffffff)
#define TRNG_TRNG_SW_RESET_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_SW_RESET_RESERVED
// Description : RESERVED
#define TRNG_TRNG_SW_RESET_RESERVED_RESET _u(0x00000000)
#define TRNG_TRNG_SW_RESET_RESERVED_BITS _u(0xfffffffe)
#define TRNG_TRNG_SW_RESET_RESERVED_MSB _u(31)
#define TRNG_TRNG_SW_RESET_RESERVED_LSB _u(1)
#define TRNG_TRNG_SW_RESET_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_SW_RESET_TRNG_SW_RESET
// Description : Writing 1'b1 to this register causes an internal RNG reset.
#define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_RESET _u(0x0)
#define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_BITS _u(0x00000001)
#define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_MSB _u(0)
#define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_LSB _u(0)
#define TRNG_TRNG_SW_RESET_TRNG_SW_RESET_ACCESS "RW"
// =============================================================================
// Register : TRNG_RNG_DEBUG_EN_INPUT
// Description : Enable the RNG debug mode
#define TRNG_RNG_DEBUG_EN_INPUT_OFFSET _u(0x000001b4)
#define TRNG_RNG_DEBUG_EN_INPUT_BITS _u(0xffffffff)
#define TRNG_RNG_DEBUG_EN_INPUT_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_DEBUG_EN_INPUT_RESERVED
// Description : RESERVED
#define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_RESET _u(0x00000000)
#define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_BITS _u(0xfffffffe)
#define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_MSB _u(31)
#define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_LSB _u(1)
#define TRNG_RNG_DEBUG_EN_INPUT_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN
// Description : * 1'b1 - debug mode is enabled. *1'b0 - debug mode is disabled
#define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_RESET _u(0x0)
#define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_BITS _u(0x00000001)
#define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_MSB _u(0)
#define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_LSB _u(0)
#define TRNG_RNG_DEBUG_EN_INPUT_RNG_DEBUG_EN_ACCESS "RW"
// =============================================================================
// Register : TRNG_TRNG_BUSY
// Description : RNG Busy indication.
#define TRNG_TRNG_BUSY_OFFSET _u(0x000001b8)
#define TRNG_TRNG_BUSY_BITS _u(0xffffffff)
#define TRNG_TRNG_BUSY_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_BUSY_RESERVED
// Description : RESERVED
#define TRNG_TRNG_BUSY_RESERVED_RESET _u(0x00000000)
#define TRNG_TRNG_BUSY_RESERVED_BITS _u(0xfffffffe)
#define TRNG_TRNG_BUSY_RESERVED_MSB _u(31)
#define TRNG_TRNG_BUSY_RESERVED_LSB _u(1)
#define TRNG_TRNG_BUSY_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_TRNG_BUSY_TRNG_BUSY
// Description : Reflects rng_busy status.
#define TRNG_TRNG_BUSY_TRNG_BUSY_RESET _u(0x0)
#define TRNG_TRNG_BUSY_TRNG_BUSY_BITS _u(0x00000001)
#define TRNG_TRNG_BUSY_TRNG_BUSY_MSB _u(0)
#define TRNG_TRNG_BUSY_TRNG_BUSY_LSB _u(0)
#define TRNG_TRNG_BUSY_TRNG_BUSY_ACCESS "RO"
// =============================================================================
// Register : TRNG_RST_BITS_COUNTER
// Description : Reset the counter of collected bits in the RNG.
#define TRNG_RST_BITS_COUNTER_OFFSET _u(0x000001bc)
#define TRNG_RST_BITS_COUNTER_BITS _u(0xffffffff)
#define TRNG_RST_BITS_COUNTER_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RST_BITS_COUNTER_RESERVED
// Description : RESERVED
#define TRNG_RST_BITS_COUNTER_RESERVED_RESET _u(0x00000000)
#define TRNG_RST_BITS_COUNTER_RESERVED_BITS _u(0xfffffffe)
#define TRNG_RST_BITS_COUNTER_RESERVED_MSB _u(31)
#define TRNG_RST_BITS_COUNTER_RESERVED_LSB _u(1)
#define TRNG_RST_BITS_COUNTER_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER
// Description : Writing any value to this address will reset the bits counter
// and RNG valid registers. RND_SORCE_ENABLE register must be
// unset in order for the reset to take place.
#define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_RESET _u(0x0)
#define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_BITS _u(0x00000001)
#define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_MSB _u(0)
#define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_LSB _u(0)
#define TRNG_RST_BITS_COUNTER_RST_BITS_COUNTER_ACCESS "RW"
// =============================================================================
// Register : TRNG_RNG_VERSION
// Description : Displays the version settings of the TRNG.
#define TRNG_RNG_VERSION_OFFSET _u(0x000001c0)
#define TRNG_RNG_VERSION_BITS _u(0xffffffff)
#define TRNG_RNG_VERSION_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_RESERVED
// Description : RESERVED
#define TRNG_RNG_VERSION_RESERVED_RESET _u(0x000000)
#define TRNG_RNG_VERSION_RESERVED_BITS _u(0xffffff00)
#define TRNG_RNG_VERSION_RESERVED_MSB _u(31)
#define TRNG_RNG_VERSION_RESERVED_LSB _u(8)
#define TRNG_RNG_VERSION_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_RNG_USE_5_SBOXES
// Description : * 1'b1 - 5 SBOX AES. *1'b0 - 20 SBOX AES
#define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_RESET _u(0x0)
#define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_BITS _u(0x00000080)
#define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_MSB _u(7)
#define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_LSB _u(7)
#define TRNG_RNG_VERSION_RNG_USE_5_SBOXES_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_RESEEDING_EXISTS
// Description : * 1'b1 - Exists. *1'b0 - Does not exist
#define TRNG_RNG_VERSION_RESEEDING_EXISTS_RESET _u(0x0)
#define TRNG_RNG_VERSION_RESEEDING_EXISTS_BITS _u(0x00000040)
#define TRNG_RNG_VERSION_RESEEDING_EXISTS_MSB _u(6)
#define TRNG_RNG_VERSION_RESEEDING_EXISTS_LSB _u(6)
#define TRNG_RNG_VERSION_RESEEDING_EXISTS_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_KAT_EXISTS
// Description : * 1'b1 - Exists. *1'b0 - Does not exist
#define TRNG_RNG_VERSION_KAT_EXISTS_RESET _u(0x0)
#define TRNG_RNG_VERSION_KAT_EXISTS_BITS _u(0x00000020)
#define TRNG_RNG_VERSION_KAT_EXISTS_MSB _u(5)
#define TRNG_RNG_VERSION_KAT_EXISTS_LSB _u(5)
#define TRNG_RNG_VERSION_KAT_EXISTS_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_PRNG_EXISTS
// Description : * 1'b1 - Exists. *1'b0 - Does not exist
#define TRNG_RNG_VERSION_PRNG_EXISTS_RESET _u(0x0)
#define TRNG_RNG_VERSION_PRNG_EXISTS_BITS _u(0x00000010)
#define TRNG_RNG_VERSION_PRNG_EXISTS_MSB _u(4)
#define TRNG_RNG_VERSION_PRNG_EXISTS_LSB _u(4)
#define TRNG_RNG_VERSION_PRNG_EXISTS_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN
// Description : * 1'b1 - Exists. *1'b0 - Does not exist
#define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_RESET _u(0x0)
#define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_BITS _u(0x00000008)
#define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_MSB _u(3)
#define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_LSB _u(3)
#define TRNG_RNG_VERSION_TRNG_TESTS_BYPASS_EN_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_AUTOCORR_EXISTS
// Description : * 1'b1 - Exists. *1'b0 - Does not exist
#define TRNG_RNG_VERSION_AUTOCORR_EXISTS_RESET _u(0x0)
#define TRNG_RNG_VERSION_AUTOCORR_EXISTS_BITS _u(0x00000004)
#define TRNG_RNG_VERSION_AUTOCORR_EXISTS_MSB _u(2)
#define TRNG_RNG_VERSION_AUTOCORR_EXISTS_LSB _u(2)
#define TRNG_RNG_VERSION_AUTOCORR_EXISTS_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_CRNGT_EXISTS
// Description : * 1'b1 - Exists. *1'b0 - Does not exist
#define TRNG_RNG_VERSION_CRNGT_EXISTS_RESET _u(0x0)
#define TRNG_RNG_VERSION_CRNGT_EXISTS_BITS _u(0x00000002)
#define TRNG_RNG_VERSION_CRNGT_EXISTS_MSB _u(1)
#define TRNG_RNG_VERSION_CRNGT_EXISTS_LSB _u(1)
#define TRNG_RNG_VERSION_CRNGT_EXISTS_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_VERSION_EHR_WIDTH_192
// Description : * 1'b1 - 192-bit EHR. *1'b0 - 128-bit EHR
#define TRNG_RNG_VERSION_EHR_WIDTH_192_RESET _u(0x0)
#define TRNG_RNG_VERSION_EHR_WIDTH_192_BITS _u(0x00000001)
#define TRNG_RNG_VERSION_EHR_WIDTH_192_MSB _u(0)
#define TRNG_RNG_VERSION_EHR_WIDTH_192_LSB _u(0)
#define TRNG_RNG_VERSION_EHR_WIDTH_192_ACCESS "RO"
// =============================================================================
// Register : TRNG_RNG_BIST_CNTR_0
// Description : Collected BIST results.
#define TRNG_RNG_BIST_CNTR_0_OFFSET _u(0x000001e0)
#define TRNG_RNG_BIST_CNTR_0_BITS _u(0xffffffff)
#define TRNG_RNG_BIST_CNTR_0_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_BIST_CNTR_0_RESERVED
// Description : RESERVED
#define TRNG_RNG_BIST_CNTR_0_RESERVED_RESET _u(0x000)
#define TRNG_RNG_BIST_CNTR_0_RESERVED_BITS _u(0xffc00000)
#define TRNG_RNG_BIST_CNTR_0_RESERVED_MSB _u(31)
#define TRNG_RNG_BIST_CNTR_0_RESERVED_LSB _u(22)
#define TRNG_RNG_BIST_CNTR_0_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL
// Description : Reflects the results of RNG BIST counter.
#define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_RESET _u(0x000000)
#define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_BITS _u(0x003fffff)
#define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_MSB _u(21)
#define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_LSB _u(0)
#define TRNG_RNG_BIST_CNTR_0_ROSC_CNTR_VAL_ACCESS "RO"
// =============================================================================
// Register : TRNG_RNG_BIST_CNTR_1
// Description : Collected BIST results.
#define TRNG_RNG_BIST_CNTR_1_OFFSET _u(0x000001e4)
#define TRNG_RNG_BIST_CNTR_1_BITS _u(0xffffffff)
#define TRNG_RNG_BIST_CNTR_1_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_BIST_CNTR_1_RESERVED
// Description : RESERVED
#define TRNG_RNG_BIST_CNTR_1_RESERVED_RESET _u(0x000)
#define TRNG_RNG_BIST_CNTR_1_RESERVED_BITS _u(0xffc00000)
#define TRNG_RNG_BIST_CNTR_1_RESERVED_MSB _u(31)
#define TRNG_RNG_BIST_CNTR_1_RESERVED_LSB _u(22)
#define TRNG_RNG_BIST_CNTR_1_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL
// Description : Reflects the results of RNG BIST counter.
#define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_RESET _u(0x000000)
#define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_BITS _u(0x003fffff)
#define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_MSB _u(21)
#define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_LSB _u(0)
#define TRNG_RNG_BIST_CNTR_1_ROSC_CNTR_VAL_ACCESS "RO"
// =============================================================================
// Register : TRNG_RNG_BIST_CNTR_2
// Description : Collected BIST results.
#define TRNG_RNG_BIST_CNTR_2_OFFSET _u(0x000001e8)
#define TRNG_RNG_BIST_CNTR_2_BITS _u(0xffffffff)
#define TRNG_RNG_BIST_CNTR_2_RESET _u(0x00000000)
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_BIST_CNTR_2_RESERVED
// Description : RESERVED
#define TRNG_RNG_BIST_CNTR_2_RESERVED_RESET _u(0x000)
#define TRNG_RNG_BIST_CNTR_2_RESERVED_BITS _u(0xffc00000)
#define TRNG_RNG_BIST_CNTR_2_RESERVED_MSB _u(31)
#define TRNG_RNG_BIST_CNTR_2_RESERVED_LSB _u(22)
#define TRNG_RNG_BIST_CNTR_2_RESERVED_ACCESS "RO"
// -----------------------------------------------------------------------------
// Field : TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL
// Description : Reflects the results of RNG BIST counter.
#define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_RESET _u(0x000000)
#define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_BITS _u(0x003fffff)
#define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_MSB _u(21)
#define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_LSB _u(0)
#define TRNG_RNG_BIST_CNTR_2_ROSC_CNTR_VAL_ACCESS "RO"
// =============================================================================
#endif // _HARDWARE_REGS_TRNG_H