u-boot/drivers/rng
Andre Przywara 31565bb0aa driver: rng: Add DM_RNG interface for ARMv8.5 RNDR registers
The ARMv8.5 architecture extension defines architectural RNDR/RNDRRS
system registers, that provide 64 bits worth of randomness on every
read. Since it's an extension, and implementing it is optional, there is
a field in the ID_AA64ISAR0_EL1 ID register to query the availability
of those registers.

Add a UCLASS_RNG driver that returns entropy via repeated reads from
those system registers, if the extension is implemented.
The driver always binds, but checks the availability in the probe()
routine.

This helps systems which suffer from low boot entropy, since U-Boot can
provide entropy via the generic UEFI entropy gathering protocol to the OS,
at an early stage.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
2023-10-11 13:22:32 -04:00
..
arm_rndr.c driver: rng: Add DM_RNG interface for ARMv8.5 RNDR registers 2023-10-11 13:22:32 -04:00
iproc_rng200.c rng: iproc_rng200: Enable support for RPi4 armv7 2021-03-02 13:53:48 +01:00
Kconfig driver: rng: Add DM_RNG interface for ARMv8.5 RNDR registers 2023-10-11 13:22:32 -04:00
Makefile driver: rng: Add DM_RNG interface for ARMv8.5 RNDR registers 2023-10-11 13:22:32 -04:00
meson-rng.c clk: Add clk_get_by_name_optional 2022-02-25 01:41:04 -05:00
msm_rng.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
npcm_rng.c rng: nuvoton: Add NPCM7xx rng driver 2022-06-10 13:37:32 -04:00
optee_rng.c drivers: rng: optee_rng: register to CONFIG_OPTEE_SERVICE_DISCOVERY 2022-09-14 15:23:03 -04:00
rng-uclass.c dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
rockchip_rng.c rockchip: rng: add trngv1 for rk3588 2023-04-21 15:16:01 +08:00
sandbox_rng.c common: Drop net.h from common header 2020-05-18 17:33:31 -04:00
smccc_trng.c drivers: rng: add smccc trng driver 2022-06-23 13:12:56 -04:00
stm32_rng.c rng: stm32: Implement custom RNG configuration support 2023-10-04 13:26:03 +02:00
tpm_rng.c tpm: rng: Add driver model interface for TPM RNG device 2022-08-02 23:50:02 +03:00