blob: b35d8c66b9c6a955c10aad2fbe56b1622af8715e [file] [log] [blame]
Sughosh Ganua2487682019-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 Ganu231ec902019-12-28 23:58:29 +05308
Marek Vasut591257b2024-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 Schuchardtc312c4b2020-02-02 19:45:35 +010016if DM_RNG
17
Heinrich Schuchardtbc40eb22020-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 Ganuff0dada2019-12-28 23:58:31 +053026config RNG_SANDBOX
27 bool "Sandbox random number generator"
Heinrich Schuchardtc312c4b2020-02-02 19:45:35 +010028 depends on SANDBOX
29 default y
Sughosh Ganuff0dada2019-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 Marko033ec632020-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 Liu866eab12022-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 Delaunayfd52e7f2022-03-29 14:21:23 +020048config RNG_OPTEE
49 bool "OP-TEE based Random Number Generator support"
50 depends on DM_RNG && OPTEE
Etienne Carriere57fb86a2022-07-26 16:21:43 +020051 default y if OPTEE_SERVICE_DISCOVERY
Patrick Delaunayfd52e7f2022-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 Schuchardtceec9772023-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 Chevallier77e0c602023-09-19 17:27:53 +020066config RNG_STM32
67 bool "Enable random number generator for STM32"
68 depends on ARCH_STM32 || ARCH_STM32MP
Sughosh Ganu231ec902019-12-28 23:58:29 +053069 help
Gatien Chevallier77e0c602023-09-19 17:27:53 +020070 Enable STM32 rng driver.
Heinrich Schuchardtc312c4b2020-02-02 19:45:35 +010071
Lin Jinhan6e7353e2020-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 Jinhan6e7353e2020-03-31 17:39:59 +080075 help
Chris Morgan58912822023-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 Jinhan6e7353e2020-03-31 17:39:59 +080079
Matthias Brugger537f0012020-12-15 10:49:23 +010080config RNG_IPROC200
81 bool "Broadcom iProc RNG200 random number generator"
82 depends on DM_RNG
Matthias Brugger537f0012020-12-15 10:49:23 +010083 help
84 Enable random number generator for RPI4.
Etienne Carriere53355bb2022-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 Przywara31565bb2023-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 Ganue67ffb52022-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 Parkebaee702023-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 Reschd61b4852024-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 Protsenko9344efc2024-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 Schuchardtc312c4b2020-02-02 19:45:35 +0100136endif