/** @file * * Copyright (c) 2019, Pete Batard * * SPDX-License-Identifier: BSD-2-Clause-Patent * **/ #ifndef BCM2838_RNG_H__ #define BCM2838_RNG_H__ #define BCM2838_RNG_OFFSET 0x00104000 #define RNG_BASE_ADDRESS ((FixedPcdGet64 (PcdBcm283xRegistersAddress)) \ + BCM2838_RNG_OFFSET) #define RNG_CTRL (RNG_BASE_ADDRESS + 0x0) #define RNG_STATUS (RNG_BASE_ADDRESS + 0x4) #define RNG_DATA (RNG_BASE_ADDRESS + 0x8) #define RNG_BIT_COUNT (RNG_BASE_ADDRESS + 0xc) #define RNG_BIT_COUNT_THRESHOLD (RNG_BASE_ADDRESS + 0x10) #define RNG_INT_STATUS (RNG_BASE_ADDRESS + 0x18) #define RNG_INT_ENABLE (RNG_BASE_ADDRESS + 0x1c) #define RNG_FIFO_DATA (RNG_BASE_ADDRESS + 0x20) #define RNG_FIFO_COUNT (RNG_BASE_ADDRESS + 0x24) #define RNG_CTRL_ENABLE_MASK 0x1fff #define RNG_CTRL_SAMPLE_RATE_DIVISOR_SHIFT 13 // Unmasked bits from above #define RNG_FIFO_DATA_AVAIL_MASK 0xff #endif /* BCM2838_RNG_H__ */