1 /* 2 * Copyright (c) 2021-2023, Arm Limited. All rights reserved. 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #include "trng.h" 9 #include "cc3xx_rng.h" 10 #include "device_definition.h" 11 bl1_trng_generate_random(uint8_t * output,size_t output_size)12int32_t bl1_trng_generate_random(uint8_t *output, size_t output_size) 13 { 14 if (output_size == 0) { 15 return 0; 16 } 17 18 if (output == NULL) { 19 return -1; 20 } 21 22 return cc3xx_lowlevel_rng_get_random(output, output_size); 23 } 24 fih_delay_random_uchar(void)25unsigned char fih_delay_random_uchar(void) { 26 /* Perform a hardware delay here, then return 0 so no software delay is 27 * used. 28 */ 29 kmu_random_delay(&KMU_DEV_S, KMU_DELAY_LIMIT_32_CYCLES); 30 return 0; 31 } 32