hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/drivers/char/hw_random/Kconfig
....@@ -1,3 +1,4 @@
1
+# SPDX-License-Identifier: GPL-2.0-only
12 #
23 # Hardware Random Number Generator (RNG) configuration
34 #
....@@ -5,7 +6,7 @@
56 menuconfig HW_RANDOM
67 tristate "Hardware Random Number Generator Core support"
78 default m
8
- ---help---
9
+ help
910 Hardware Random Number Generator Core infrastructure.
1011
1112 To compile this driver as a module, choose M here: the
....@@ -23,7 +24,7 @@
2324 config HW_RANDOM_TIMERIOMEM
2425 tristate "Timer IOMEM HW Random Number Generator support"
2526 depends on HAS_IOMEM
26
- ---help---
27
+ help
2728 This driver provides kernel-side support for a generic Random
2829 Number Generator used by reading a 'dumb' iomem address that
2930 is to be read no faster than, for example, once a second;
....@@ -38,7 +39,7 @@
3839 tristate "Intel HW Random Number Generator support"
3940 depends on (X86 || IA64) && PCI
4041 default HW_RANDOM
41
- ---help---
42
+ help
4243 This driver provides kernel-side support for the Random Number
4344 Generator hardware found on Intel i8xx-based motherboards.
4445
....@@ -51,7 +52,7 @@
5152 tristate "AMD HW Random Number Generator support"
5253 depends on (X86 || PPC_MAPLE) && PCI
5354 default HW_RANDOM
54
- ---help---
55
+ help
5556 This driver provides kernel-side support for the Random Number
5657 Generator hardware found on AMD 76x-based motherboards.
5758
....@@ -64,7 +65,7 @@
6465 tristate "Atmel Random Number Generator support"
6566 depends on ARCH_AT91 && HAVE_CLK && OF
6667 default HW_RANDOM
67
- ---help---
68
+ help
6869 This driver provides kernel-side support for the Random Number
6970 Generator hardware found on Atmel AT91 devices.
7071
....@@ -73,12 +74,22 @@
7374
7475 If unsure, say Y.
7576
77
+config HW_RANDOM_BA431
78
+ tristate "Silex Insight BA431 Random Number Generator support"
79
+ depends on HAS_IOMEM
80
+ help
81
+ This driver provides kernel-side support for the Random Number
82
+ Generator hardware based on Silex Insight BA431 IP.
83
+
84
+ To compile this driver as a module, choose M here: the
85
+ module will be called ba431-rng.
86
+
7687 config HW_RANDOM_BCM2835
7788 tristate "Broadcom BCM2835/BCM63xx Random Number Generator support"
7889 depends on ARCH_BCM2835 || ARCH_BCM_NSP || ARCH_BCM_5301X || \
7990 ARCH_BCM_63XX || BCM63XX || BMIPS_GENERIC
8091 default HW_RANDOM
81
- ---help---
92
+ help
8293 This driver provides kernel-side support for the Random Number
8394 Generator hardware found on the Broadcom BCM2835 and BCM63xx SoCs.
8495
....@@ -89,9 +100,9 @@
89100
90101 config HW_RANDOM_IPROC_RNG200
91102 tristate "Broadcom iProc/STB RNG200 support"
92
- depends on ARCH_BCM_IPROC || ARCH_BRCMSTB
103
+ depends on ARCH_BCM_IPROC || ARCH_BCM2835 || ARCH_BRCMSTB
93104 default HW_RANDOM
94
- ---help---
105
+ help
95106 This driver provides kernel-side support for the RNG200
96107 hardware found on the Broadcom iProc and STB SoCs.
97108
....@@ -104,7 +115,7 @@
104115 tristate "AMD Geode HW Random Number Generator support"
105116 depends on X86_32 && PCI
106117 default HW_RANDOM
107
- ---help---
118
+ help
108119 This driver provides kernel-side support for the Random Number
109120 Generator hardware found on the AMD Geode LX.
110121
....@@ -117,7 +128,7 @@
117128 tristate "Niagara2 Random Number Generator support"
118129 depends on SPARC64
119130 default HW_RANDOM
120
- ---help---
131
+ help
121132 This driver provides kernel-side support for the Random Number
122133 Generator hardware found on Niagara2 cpus.
123134
....@@ -130,7 +141,7 @@
130141 tristate "VIA HW Random Number Generator support"
131142 depends on X86
132143 default HW_RANDOM
133
- ---help---
144
+ help
134145 This driver provides kernel-side support for the Random Number
135146 Generator hardware found on VIA based motherboards.
136147
....@@ -143,7 +154,7 @@
143154 tristate "Intel IXP4xx NPU HW Pseudo-Random Number Generator support"
144155 depends on ARCH_IXP4XX
145156 default HW_RANDOM
146
- ---help---
157
+ help
147158 This driver provides kernel-side support for the Pseudo-Random
148159 Number Generator hardware found on the Intel IXP45x/46x NPU.
149160
....@@ -156,7 +167,7 @@
156167 tristate "OMAP Random Number Generator support"
157168 depends on ARCH_OMAP16XX || ARCH_OMAP2PLUS || ARCH_MVEBU
158169 default HW_RANDOM
159
- ---help---
170
+ help
160171 This driver provides kernel-side support for the Random Number
161172 Generator hardware found on OMAP16xx, OMAP2/3/4/5, AM33xx/AM43xx
162173 multimedia processors, and Marvell Armada 7k/8k SoCs.
....@@ -170,7 +181,7 @@
170181 tristate "OMAP3 ROM Random Number Generator support"
171182 depends on ARCH_OMAP3
172183 default HW_RANDOM
173
- ---help---
184
+ help
174185 This driver provides kernel-side support for the Random Number
175186 Generator hardware found on OMAP34xx processors.
176187
....@@ -183,7 +194,7 @@
183194 tristate "Octeon Random Number Generator support"
184195 depends on CAVIUM_OCTEON_SOC
185196 default HW_RANDOM
186
- ---help---
197
+ help
187198 This driver provides kernel-side support for the Random Number
188199 Generator hardware found on Octeon processors.
189200
....@@ -196,7 +207,7 @@
196207 tristate "PA Semi HW Random Number Generator support"
197208 depends on PPC_PASEMI
198209 default HW_RANDOM
199
- ---help---
210
+ help
200211 This driver provides kernel-side support for the Random Number
201212 Generator hardware found on PA Semi PWRficient SoCs.
202213
....@@ -208,7 +219,7 @@
208219 config HW_RANDOM_VIRTIO
209220 tristate "VirtIO Random Number Generator support"
210221 depends on VIRTIO
211
- ---help---
222
+ help
212223 This driver provides kernel-side support for the virtual Random Number
213224 Generator hardware.
214225
....@@ -219,7 +230,7 @@
219230 tristate "TX4939 Random Number Generator support"
220231 depends on SOC_TX4939
221232 default HW_RANDOM
222
- ---help---
233
+ help
223234 This driver provides kernel-side support for the Random Number
224235 Generator hardware found on TX4939 SoC.
225236
....@@ -232,7 +243,7 @@
232243 tristate "Freescale i.MX RNGA Random Number Generator"
233244 depends on SOC_IMX31
234245 default HW_RANDOM
235
- ---help---
246
+ help
236247 This driver provides kernel-side support for the Random Number
237248 Generator hardware found on Freescale i.MX processors.
238249
....@@ -243,9 +254,10 @@
243254
244255 config HW_RANDOM_IMX_RNGC
245256 tristate "Freescale i.MX RNGC Random Number Generator"
246
- depends on ARCH_MXC
257
+ depends on HAS_IOMEM && HAVE_CLK
258
+ depends on SOC_IMX25 || SOC_IMX6SL || SOC_IMX6SLL || SOC_IMX6UL || COMPILE_TEST
247259 default HW_RANDOM
248
- ---help---
260
+ help
249261 This driver provides kernel-side support for the Random Number
250262 Generator Version C hardware found on some Freescale i.MX
251263 processors. Version B is also supported by this driver.
....@@ -255,11 +267,40 @@
255267
256268 If unsure, say Y.
257269
270
+config HW_RANDOM_INGENIC_RNG
271
+ tristate "Ingenic Random Number Generator support"
272
+ depends on HW_RANDOM
273
+ depends on MACH_JZ4780 || MACH_X1000
274
+ default HW_RANDOM
275
+ help
276
+ This driver provides kernel-side support for the Random Number Generator
277
+ hardware found in ingenic JZ4780 and X1000 SoC. MIPS Creator CI20 uses
278
+ JZ4780 SoC, YSH & ATIL CU1000-Neo uses X1000 SoC.
279
+
280
+ To compile this driver as a module, choose M here: the
281
+ module will be called ingenic-rng.
282
+
283
+ If unsure, say Y.
284
+
285
+config HW_RANDOM_INGENIC_TRNG
286
+ tristate "Ingenic True Random Number Generator support"
287
+ depends on HW_RANDOM
288
+ depends on MACH_X1830
289
+ default HW_RANDOM
290
+ help
291
+ This driver provides kernel-side support for the True Random Number Generator
292
+ hardware found in ingenic X1830 SoC. YSH & ATIL CU1830-Neo uses X1830 SoC.
293
+
294
+ To compile this driver as a module, choose M here: the
295
+ module will be called ingenic-trng.
296
+
297
+ If unsure, say Y.
298
+
258299 config HW_RANDOM_NOMADIK
259300 tristate "ST-Ericsson Nomadik Random Number Generator support"
260301 depends on ARCH_NOMADIK
261302 default HW_RANDOM
262
- ---help---
303
+ help
263304 This driver provides kernel-side support for the Random Number
264305 Generator hardware found on ST-Ericsson SoCs (8815 and 8500).
265306
....@@ -272,7 +313,7 @@
272313 tristate "pSeries HW Random Number Generator support"
273314 depends on PPC64 && IBMVIO
274315 default HW_RANDOM
275
- ---help---
316
+ help
276317 This driver provides kernel-side support for the Random Number
277318 Generator hardware found on POWER7+ machines and above
278319
....@@ -285,7 +326,7 @@
285326 tristate "PowerNV Random Number Generator support"
286327 depends on PPC_POWERNV
287328 default HW_RANDOM
288
- ---help---
329
+ help
289330 This is the driver for Random Number Generator hardware found
290331 in POWER7+ and above machines for PowerNV platform.
291332
....@@ -298,7 +339,7 @@
298339 tristate "Hisilicon Random Number Generator support"
299340 depends on HW_RANDOM && ARCH_HISI
300341 default HW_RANDOM
301
- ---help---
342
+ help
302343 This driver provides kernel-side support for the Random Number
303344 Generator hardware found on Hisilicon Hip04 and Hip05 SoC.
304345
....@@ -307,10 +348,23 @@
307348
308349 If unsure, say Y.
309350
351
+config HW_RANDOM_HISI_V2
352
+ tristate "HiSilicon True Random Number Generator V2 support"
353
+ depends on HW_RANDOM && ARM64 && ACPI
354
+ default HW_RANDOM
355
+ help
356
+ This driver provides kernel-side support for the True Random Number
357
+ Generator V2 hardware found on HiSilicon Hi1620 SoC.
358
+
359
+ To compile this driver as a module, choose M here: the
360
+ module will be called hisi-trng-v2.
361
+
362
+ If unsure, say Y.
363
+
310364 config HW_RANDOM_ST
311365 tristate "ST Microelectronics HW Random Number Generator support"
312366 depends on HW_RANDOM && ARCH_STI
313
- ---help---
367
+ help
314368 This driver provides kernel-side support for the Random Number
315369 Generator hardware found on STi series of SoCs.
316370
....@@ -321,7 +375,7 @@
321375 tristate "APM X-Gene True Random Number Generator (TRNG) support"
322376 depends on HW_RANDOM && ARCH_XGENE
323377 default HW_RANDOM
324
- ---help---
378
+ help
325379 This driver provides kernel-side support for the Random Number
326380 Generator hardware found on APM X-Gene SoC.
327381
....@@ -348,7 +402,7 @@
348402 tristate "Microchip PIC32 Random Number Generator support"
349403 depends on HW_RANDOM && MACH_PIC32
350404 default y
351
- ---help---
405
+ help
352406 This driver provides kernel-side support for the Random Number
353407 Generator hardware found on a PIC32.
354408
....@@ -362,7 +416,7 @@
362416 depends on HW_RANDOM
363417 depends on ARCH_MESON || COMPILE_TEST
364418 default y
365
- ---help---
419
+ help
366420 This driver provides kernel-side support for the Random Number
367421 Generator hardware found on Amlogic Meson SoCs.
368422
....@@ -372,24 +426,24 @@
372426 If unsure, say Y.
373427
374428 config HW_RANDOM_CAVIUM
375
- tristate "Cavium ThunderX Random Number Generator support"
376
- depends on HW_RANDOM && PCI && (ARM64 || (COMPILE_TEST && 64BIT))
377
- default HW_RANDOM
378
- ---help---
379
- This driver provides kernel-side support for the Random Number
380
- Generator hardware found on Cavium SoCs.
429
+ tristate "Cavium ThunderX Random Number Generator support"
430
+ depends on HW_RANDOM && PCI && ARCH_THUNDER
431
+ default HW_RANDOM
432
+ help
433
+ This driver provides kernel-side support for the Random Number
434
+ Generator hardware found on Cavium SoCs.
381435
382
- To compile this driver as a module, choose M here: the
383
- module will be called cavium_rng.
436
+ To compile this driver as a module, choose M here: the
437
+ module will be called cavium_rng.
384438
385
- If unsure, say Y.
439
+ If unsure, say Y.
386440
387441 config HW_RANDOM_MTK
388442 tristate "Mediatek Random Number Generator support"
389443 depends on HW_RANDOM
390444 depends on ARCH_MEDIATEK || COMPILE_TEST
391445 default y
392
- ---help---
446
+ help
393447 This driver provides kernel-side support for the Random Number
394448 Generator hardware found on Mediatek SoCs.
395449
....@@ -402,7 +456,7 @@
402456 tristate "S390 True Random Number Generator support"
403457 depends on S390
404458 default HW_RANDOM
405
- ---help---
459
+ help
406460 This driver provides kernel-side support for the True
407461 Random Number Generator available as CPACF extension
408462 on modern s390 hardware platforms.
....@@ -416,7 +470,7 @@
416470 tristate "Samsung Exynos True Random Number Generator support"
417471 depends on ARCH_EXYNOS || COMPILE_TEST
418472 default HW_RANDOM
419
- ---help---
473
+ help
420474 This driver provides support for the True Random Number
421475 Generator available in Exynos SoCs.
422476
....@@ -424,6 +478,63 @@
424478 will be called exynos-trng.
425479
426480 If unsure, say Y.
481
+
482
+config HW_RANDOM_OPTEE
483
+ tristate "OP-TEE based Random Number Generator support"
484
+ depends on OPTEE
485
+ default HW_RANDOM
486
+ help
487
+ This driver provides support for OP-TEE based Random Number
488
+ Generator on ARM SoCs where hardware entropy sources are not
489
+ accessible to normal world (Linux).
490
+
491
+ To compile this driver as a module, choose M here: the module
492
+ will be called optee-rng.
493
+
494
+ If unsure, say Y.
495
+
496
+config HW_RANDOM_NPCM
497
+ tristate "NPCM Random Number Generator support"
498
+ depends on ARCH_NPCM || COMPILE_TEST
499
+ default HW_RANDOM
500
+ help
501
+ This driver provides support for the Random Number
502
+ Generator hardware available in Nuvoton NPCM SoCs.
503
+
504
+ To compile this driver as a module, choose M here: the
505
+ module will be called npcm-rng.
506
+
507
+ If unsure, say Y.
508
+
509
+config HW_RANDOM_KEYSTONE
510
+ depends on ARCH_KEYSTONE || COMPILE_TEST
511
+ default HW_RANDOM
512
+ tristate "TI Keystone NETCP SA Hardware random number generator"
513
+ help
514
+ This option enables Keystone's hardware random generator.
515
+
516
+config HW_RANDOM_CCTRNG
517
+ tristate "Arm CryptoCell True Random Number Generator support"
518
+ depends on HAS_IOMEM && OF
519
+ help
520
+ Say 'Y' to enable the True Random Number Generator driver for the
521
+ Arm TrustZone CryptoCell family of processors.
522
+ Currently the CryptoCell 713 and 703 are supported.
523
+ The driver is supported only in SoC where Trusted Execution
524
+ Environment is not used.
525
+ Choose 'M' to compile this driver as a module. The module
526
+ will be called cctrng.
527
+ If unsure, say 'N'.
528
+
529
+config HW_RANDOM_XIPHERA
530
+ tristate "Xiphera FPGA based True Random Number Generator support"
531
+ depends on HAS_IOMEM
532
+ help
533
+ This driver provides kernel-side support for Xiphera True Random
534
+ Number Generator Intellectual Property Core.
535
+
536
+ To compile this driver as a module, choose M here: the
537
+ module will be called xiphera-trng.
427538
428539 config HW_RANDOM_ROCKCHIP
429540 tristate "Rockchip Random Number Generator support"
....@@ -441,22 +552,15 @@
441552
442553 config UML_RANDOM
443554 depends on UML
444
- tristate "Hardware random number generator"
555
+ select HW_RANDOM
556
+ tristate "UML Random Number Generator support"
445557 help
446558 This option enables UML's "hardware" random number generator. It
447559 attaches itself to the host's /dev/random, supplying as much entropy
448560 as the host has, rather than the small amount the UML gets from its
449
- own drivers. It registers itself as a standard hardware random number
450
- generator, major 10, minor 183, and the canonical device name is
451
- /dev/hwrng.
452
- The way to make use of this is to install the rng-tools package
453
- (check your distro, or download from
454
- http://sourceforge.net/projects/gkernel/). rngd periodically reads
455
- /dev/hwrng and injects the entropy into /dev/random.
561
+ own drivers. It registers itself as a rng-core driver thus providing
562
+ a device which is usually called /dev/hwrng. This hardware random
563
+ number generator does feed into the kernel's random number generator
564
+ entropy pool.
456565
457
-config HW_RANDOM_KEYSTONE
458
- depends on ARCH_KEYSTONE
459
- default HW_RANDOM
460
- tristate "TI Keystone NETCP SA Hardware random number generator"
461
- help
462
- This option enables Keystone's hardware random generator.
566
+ If unsure, say Y.