u-boot/drivers
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
..
adc common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
ata blk: Use a macro for the typical block size 2023-10-10 16:19:29 -04:00
axi axi: fix definition of axi_sandbox_get_emul() 2023-06-01 12:32:03 -04:00
bios_emulator common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
block dm: blk: Drop blk_{read,write}_devnum() 2023-10-10 16:25:48 -04:00
bootcount common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
bus bus: Optionally include TI sysc driver in SPL/TPL 2022-12-02 08:39:00 -05:00
button dm: button: add support for linux_code in button-gpio.c driver 2023-02-10 12:50:01 -05:00
cache drivers: use dev_read_addr_ptr when cast to pointer 2023-05-06 17:28:18 +08:00
clk STM32 MCU: 2023-10-04 10:49:30 -04:00
core pci: serial: Support reading PCI-register size with base 2023-10-06 14:38:13 -04:00
cpu cpu: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
crypto crypto: rsa: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
ddr treewide: unify the linker symbol reference format 2023-08-09 09:21:42 -04:00
demo demo: migrate uclass to livetree 2021-10-05 08:50:15 -04:00
dfu common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
dma common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
extcon extcon: add MAX14526 MUIC support 2023-05-02 14:23:58 -04:00
fastboot common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
firmware drivers: firmware: ti_sci: Get SCI revision only if TIFS/SYSFW is up 2023-10-04 14:16:01 -04:00
fpga event: Add fpga load event 2023-07-21 09:00:39 +02:00
fuzz sandbox: Implement fuzzing engine driver 2022-06-23 12:58:19 -04:00
fwu-mdata FWU: Add FWU metadata access driver for MTD storage regions 2023-06-09 13:52:40 -04:00
gpio gpio: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
hwspinlock hwspinlock: Remove unused NEEDS_MANUAL_RELOC code bits 2023-09-14 10:42:24 -04:00
i2c Merge branch 'next' 2023-10-02 10:55:44 -04:00
input input: avoid NULL dereference 2023-10-11 10:35:24 -04:00
iommu iommu: Implement mapping IOMMUs for PCI devices 2023-01-27 14:47:58 -05:00
led drivers: led: bcm6858: do not use null label to find the top 2023-07-25 12:44:46 -04:00
mailbox mailbox: k3-sec-proxy: fix error handling for missing scfg in FDT 2023-10-09 15:24:31 -04:00
memory memory: atmel-ebi: add Atmel EBI (External Bus Interface) driver 2022-12-08 18:06:27 +02:00
mfd mfd: syscon: atmel-smc: Add new helpers to ease SMC regs manipulation 2022-12-08 18:06:27 +02:00
misc Merge tag 'u-boot-rockchip-20231007' of https://source.denx.de/u-boot/custodians/u-boot-rockchip 2023-10-08 09:58:55 -04:00
mmc blk: Use a macro for the typical block size 2023-10-10 16:19:29 -04:00
mtd Merge branch 'next' 2023-10-02 10:55:44 -04:00
mux Correct SPL uses of MULTIPLEXER 2023-03-02 17:45:58 -05:00
net drivers: net: fsl-mc: add support for MC reserved memory 2023-10-10 10:13:33 +08:00
nvme blk: Use a macro for the typical block size 2023-10-10 16:19:29 -04:00
pch x86: Convert some debug statements to use logging 2023-07-17 17:23:14 +08:00
pci Merge tag 'u-boot-rockchip-20231007' of https://source.denx.de/u-boot/custodians/u-boot-rockchip 2023-10-08 09:58:55 -04:00
pci_endpoint dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
phy phy: rockchip: naneng-combphy: Use signal from comb PHY on RK3588 2023-10-07 10:23:12 +08:00
pinctrl pinctrl: renesas: Synchronize R8A779G0 V4H PFC tables with Linux 6.5.3 2023-10-01 00:08:28 +02:00
power power: pmic: rk8xx: Fix power-on source check in SPL 2023-10-07 16:52:48 +08:00
pwm pwm: mtk: add support for MediaTek MT7988 SoC 2023-08-03 09:40:49 -04:00
qe global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
ram STM32 MCU: 2023-10-04 10:49:30 -04:00
reboot-mode reboot-mode: Add NVMEM reboot mode 2023-01-11 11:54:50 -05:00
remoteproc common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
reset common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
rng driver: rng: Add DM_RNG interface for ARMv8.5 RNDR registers 2023-10-11 13:22:32 -04:00
rtc drivers: rtc: max313xx: provide read8/write8 2023-07-25 12:44:46 -04:00
scsi scsi: Add buffer_aligned check pass-through 2023-08-22 15:17:53 -04:00
serial dm: serial: fix serial_post_probe() 2023-10-09 15:24:31 -04:00
smem smem: msm: add missing <linux/sizes.h> 2022-10-12 08:56:24 -04:00
soc common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
sound test: test sandbox sound driver more rigorously 2022-12-05 17:43:21 +01:00
spi spi: mtk_spim: prevent global pll clock override 2023-10-11 13:21:33 -04:00
spmi spmi: msm: add arbiter version 5 support 2021-10-31 08:46:44 -04:00
sysinfo sysinfo: gpio: fix loop over DT "revisions" array 2023-03-30 15:09:59 -04:00
sysreset common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
tee drivers: tee: sandbox: Fix SCP03 control emulator 2023-04-28 11:30:17 -06:00
thermal thermal: imx_tmu: Increase the polling interval 2023-09-04 17:26:44 +02:00
timer riscv: andesv5: Prefer using the generic RISC-V timer driver in S-mode 2023-10-04 18:23:54 +08:00
tpm common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
ufs ufs: ufs-renesas: Drop include common.h 2023-09-09 10:13:24 -04:00
usb Merge branch 'next' 2023-10-02 10:55:44 -04:00
video common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
virtio bootstd: Rename bootdev_setup_sibling_blk() 2023-08-09 23:31:11 +08:00
w1 dm: treewide: Do not use the return value of simple uclass iterator 2022-10-29 07:36:33 -06:00
w1-eeprom dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
watchdog common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
xen xen: Limit execution to EL1 only 2023-04-25 15:31:28 -04:00
Kconfig bios_emulator: Add Kconfig and adjust Makefile for SPL 2023-07-17 17:08:44 +08:00
Makefile video: Tidy up Makefile rule for video 2023-08-09 23:31:11 +08:00