On Sunday, 14 July 2024 17:15:35 CEST Daniel Golle wrote: > Rockchip SoCs used to have a random number generator as part of their > crypto device. > > However newer Rockchip SoCs like the RK3568 have an independent True > Random Number Generator device. This patchset adds a driver for it and > enables it in the device tree. > > Tested on FriendlyARM NanoPi R5C. > > ... > > Aurelien Jarno (3): > dt-bindings: rng: Add Rockchip RK3568 TRNG > hwrng: add hwrng driver for Rockchip RK3568 SoC > arm64: dts: rockchip: add DT entry for RNG to RK356x > > .../bindings/rng/rockchip,rk3568-rng.yaml | 61 +++++ > MAINTAINERS | 7 + > arch/arm64/boot/dts/rockchip/rk356x.dtsi | 9 + > drivers/char/hw_random/Kconfig | 14 ++ > drivers/char/hw_random/Makefile | 1 + > drivers/char/hw_random/rockchip-rng.c | 227 ++++++++++++++++++ > 6 files changed, 319 insertions(+) > create mode 100644 > Documentation/devicetree/bindings/rng/rockchip,rk3568-rng.yaml create mode > 100644 drivers/char/hw_random/rockchip-rng.c I just did the following test on my Quartz64 Model A running kernel 6.10 + a number of patches, including this one: =============================================================== root@quartz64a:~# dd if=/dev/hwrng bs=100000 count=1 > /dev/null 1+0 records in 1+0 records out 100000 bytes (100 kB, 98 KiB) copied, 5.64507 s, 17.7 kB/s root@quartz64a:~# cat /dev/hwrng | rngtest -c 1000 rngtest 5 Copyright (c) 2004 by Henrique de Moraes Holschuh This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. rngtest: starting FIPS tests... rngtest: bits received from input: 20000032 rngtest: FIPS 140-2 successes: 362 rngtest: FIPS 140-2 failures: 638 rngtest: FIPS 140-2(2001-10-10) Monobit: 634 rngtest: FIPS 140-2(2001-10-10) Poker: 106 rngtest: FIPS 140-2(2001-10-10) Runs: 43 rngtest: FIPS 140-2(2001-10-10) Long run: 0 rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 rngtest: input channel speed: (min=2.638; avg=139.351; max=9765625.000)Kibits/s rngtest: FIPS tests speed: (min=21.169; avg=36.158; max=68.610)Mibits/s rngtest: Program run time: 148109761 microseconds =============================================================== That's almost twice as many failures as successes ...
Attachment:
signature.asc
Description: This is a digitally signed message part.