blob: b35d8c66b9c6a955c10aad2fbe56b1622af8715e [file] [log] [blame]
Sughosh Ganu90592ed2019-12-28 23:58:27 +05301config DM_RNG
2 bool "Driver support for Random Number Generator devices"
3 depends on DM
4 help
5 Enable driver model for random number generator(rng) devices.
6 This interface is used to initialise the rng device and to
7 read the random seed from the device.
Sughosh Ganucd9a2f92019-12-28 23:58:29 +05308
Marek Vasut0d871e72024-04-26 01:02:07 +02009config SPL_DM_RNG
10 bool "Driver support for Random Number Generator devices in SPL"
11 depends on SPL_DM
12 help
13 This option is an SPL-variant of the DM_RNG option.
14 See the help of DM_RNG for details.
15
Heinrich Schuchardtcb028662020-02-02 19:45:35 +010016if DM_RNG
17
Heinrich Schuchardt009d4a72020-02-02 19:52:04 +010018config RNG_MESON
19 bool "Amlogic Meson Random Number Generator support"
20 depends on ARCH_MESON
21 default y
22 help
23 Enable support for hardware random number generator
24 of Amlogic Meson SoCs.
25
Sughosh Ganu23e37512019-12-28 23:58:31 +053026config RNG_SANDBOX
27 bool "Sandbox random number generator"
Heinrich Schuchardtcb028662020-02-02 19:45:35 +010028 depends on SANDBOX
29 default y
Sughosh Ganu23e37512019-12-28 23:58:31 +053030 help
31 Enable random number generator for sandbox. This is an
32 emulation of a rng device.
33
Robert Markofa5d33f2020-10-08 22:05:13 +020034config RNG_MSM
35 bool "Qualcomm SoCs Random Number Generator support"
36 depends on DM_RNG
37 help
38 This driver provides support for the Random Number
39 Generator hardware found on Qualcomm SoCs.
40
Jim Liufe505c72022-05-24 16:56:57 +080041config RNG_NPCM
42 bool "Nuvoton NPCM SoCs Random Number Generator support"
43 depends on DM_RNG
44 help
45 Enable random number generator on NPCM SoCs.
46 This unit can provide 750 to 1000 random bits per second
47
Patrick Delaunay922c7d32022-03-29 14:21:23 +020048config RNG_OPTEE
49 bool "OP-TEE based Random Number Generator support"
50 depends on DM_RNG && OPTEE
Etienne Carriere320c8502022-07-26 16:21:43 +020051 default y if OPTEE_SERVICE_DISCOVERY
Patrick Delaunay922c7d32022-03-29 14:21:23 +020052 help
53 This driver provides support for the OP-TEE based Random Number
54 Generator on ARM SoCs where hardware entropy sources are not
55 accessible to normal world but reserved and used by the OP-TEE
56 to avoid the weakness of a software PRNG.
57
Heinrich Schuchardt80863542023-10-31 14:55:52 +020058config RNG_RISCV_ZKR
59 bool "RISC-V Zkr random number generator"
60 depends on RISCV_SMODE
61 help
62 This driver provides a Random Number Generator based on the
63 Zkr RISC-V ISA extension which provides an interface to an
64 NIST SP 800-90B or BSI AIS-31 compliant physical entropy source.
65
Gatien Chevallier2af20a52023-09-19 17:27:53 +020066config RNG_STM32
67 bool "Enable random number generator for STM32"
68 depends on ARCH_STM32 || ARCH_STM32MP
Sughosh Ganucd9a2f92019-12-28 23:58:29 +053069 help
Gatien Chevallier2af20a52023-09-19 17:27:53 +020070 Enable STM32 rng driver.
Heinrich Schuchardtcb028662020-02-02 19:45:35 +010071
Lin Jinhan20b78502020-03-31 17:39:59 +080072config RNG_ROCKCHIP
73 bool "Enable random number generator for rockchip crypto rng"
74 depends on ARCH_ROCKCHIP && DM_RNG
Lin Jinhan20b78502020-03-31 17:39:59 +080075 help
Chris Morganeb1ca2e2023-04-13 09:13:02 -050076 Enable random number generator for rockchip. This driver
77 supports the rng module of crypto v1, crypto v2, and the
78 trng module of the rk3588 series.
Lin Jinhan20b78502020-03-31 17:39:59 +080079
Matthias Brugger18988ec2020-12-15 10:49:23 +010080config RNG_IPROC200
81 bool "Broadcom iProc RNG200 random number generator"
82 depends on DM_RNG
Matthias Brugger18988ec2020-12-15 10:49:23 +010083 help
84 Enable random number generator for RPI4.
Etienne Carriere741ca702022-06-01 10:27:34 +020085
86config RNG_SMCCC_TRNG
87 bool "Arm SMCCC TRNG interface"
88 depends on DM_RNG && ARM_PSCI_FW
89 default y if ARM_SMCCC_FEATURES
90 help
91 Enable random number generator for platforms that support Arm
92 SMCCC TRNG interface.
93
Andre Przywara8a457ad2023-08-30 12:32:30 +010094config RNG_ARM_RNDR
95 bool "Generic ARMv8.5 RNDR register"
96 depends on DM_RNG && ARM64
97 help
98 Use the ARMv8.5 RNDR register to provide random numbers.
99
Sughosh Ganu9737fab2022-07-22 21:32:04 +0530100config TPM_RNG
101 bool "Enable random number generator on TPM device"
102 depends on TPM
103 default y
104 help
105 The TPM device has an inbuilt random number generator
106 functionality. Enable random number generator on TPM
107 devices.
108
Chanho Parkb125d522023-11-01 21:16:50 +0900109config RNG_JH7110
110 bool "StarFive JH7110 Random Number Generator support"
111 depends on DM_RNG && STARFIVE_JH7110
112 help
113 Enable True Random Number Generator in StarFive JH7110 SoCs.
114
Max Resch18ef74a2024-02-15 17:57:57 +0100115config RNG_TURRIS_RWTM
116 bool "Turris Mox TRNG in Secure Processor"
117 depends on DM_RNG && ARMADA_3700
118 help
119 Use TRNG in Turris Mox Secure Processor Firmware. Can be used
120 on other Armada-3700 devices (like EspressoBin) if Secure
121 Firmware from CZ.NIC is used.
122
Sam Protsenko110f8102024-07-23 13:14:38 -0500123config RNG_EXYNOS
124 bool "Samsung Exynos True Random Number Generator support"
125 depends on DM_RNG
126 help
127 Enable support for True Random Number Generator (TRNG) available on
128 Exynos SoCs.
129
130 On some chips (like Exynos850) TRNG registers are protected with TZPC
131 (TrustZone Protection Control). For such chips the driver provides an
132 implementation based on SMC calls to EL3 monitor program. In that
133 case the LDFW (Loadable Firmware) has to be loaded first, as it
134 actually implements TRNG SMC calls.
135
Heinrich Schuchardtcb028662020-02-02 19:45:35 +0100136endif