summaryrefslogtreecommitdiff
path: root/drivers/rng
AgeCommit message (Collapse)Author
2022-09-14drivers: rng: optee_rng: register to CONFIG_OPTEE_SERVICE_DISCOVERYEtienne Carriere
Changes optee_rng driver to register itself has a OP-TEE service so that a device is bound for the driver when OP-TEE enumerates the PTA RNG service. Cc: Sughosh Ganu <[email protected]> Cc: Patrick Delaunay <[email protected]> Signed-off-by: Etienne Carriere <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2022-08-02tpm: rng: Add driver model interface for TPM RNG deviceSughosh Ganu
The TPM device has a builtin random number generator(RNG) functionality. Expose the RNG functions of the TPM device to the driver model so that they can be used by the EFI_RNG_PROTOCOL if the protocol is installed. Also change the function arguments and return type of the random number functions to comply with the driver model api. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Ilias Apalodimas <[email protected]>
2022-07-12rng: stm32mp1_rng: add conditional reset feature for STM32MP13xLionel Debieve
New IP adds a conditional reset that impact the clock error management. It is now linked to a new compatible. Signed-off-by: Lionel Debieve <[email protected]> Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-06-23drivers: rng: add smccc trng driverEtienne Carriere
Adds random number generator driver using Arm SMCCC TRNG interface to get entropy bytes from secure monitor. The driver registers as an Arm SMCCC feature driver to allow PSCI driver to bind a device for when secure monitor exposes RNG support from Arm SMCCC TRNG interface. Cc: Sughosh Ganu <[email protected]> Cc: Heinrich Schuchardt <[email protected]> Signed-off-by: Etienne Carriere <[email protected]>
2022-06-10rng: nuvoton: Add NPCM7xx rng driverJim Liu
Add Nuvoton BMC NPCM750 rng driver. Signed-off-by: Jim Liu <[email protected]>
2022-04-11rng: add OP-TEE based Random Number GeneratorPatrick Delaunay
Add driver for OP-TEE based Random Number Generator on ARM SoCs where hardware entropy sources are not accessible to normal world and the RNG service is provided by a HWRNG Trusted Application (TA). This driver is based on the linux driver: char/hw_random/optee-rng.c Signed-off-by: Patrick Delaunay <[email protected]>
2022-02-25clk: Add clk_get_by_name_optionalSean Anderson
This adds a helper function for clk_get_by_name in cases where the clock is optional. Hopefully this helps point driver writers in the right direction. Also convert some existing users. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Simon Glass <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2021-08-31Kconfig: Remove all default n/no optionsMichal Simek
default n/no doesn't need to be specified. It is default option anyway. Signed-off-by: Michal Simek <[email protected]> [trini: Rework FSP_USE_UPD portion] Signed-off-by: Tom Rini <[email protected]>
2021-07-06dm: define LOG_CATEGORY for all uclassPatrick Delaunay
Define LOG_CATEGORY for all uclass to allow filtering with log command. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-03-02rng: iproc_rng200: Enable support for RPi4 armv7Matthias Brugger
On the RPi4 armv7 build we have the situationt that we use physical addresses of 64 bit, while the virtual addresses are 32 bit. Remap the base address in this scenario via map_physmem(). Signed-off-by: Matthias Brugger <[email protected]>
2021-02-24rng: iProc rng200: Rename ..._platdata variables to just ..._platPeter Robinson
In 8a8d24bd Simon dropped data from all the various _platdata calls but it seems this wasn't caught for the RNG200 driver from when it was posted to merged. This fixes that issue. Fixes: 537f0018 (rng: Add iProc RNG200 driver) Signed-off-by: Peter Robinson <[email protected]>
2021-02-18config: Enable iProc RNG200 driver in RPi4 configsMatthias Brugger
We find the iProc RNG200 in the Raspberry Pi 4. Add it to all it's config so that it can be used. Signed-off-by: Matthias Brugger <[email protected]> Tested-by: Peter Robinson <[email protected]> [mb: drop rpi_4_32b_defconfig] Signed-off-by: Matthias Brugger <[email protected]>
2021-02-16rng: Add iProc RNG200 driverMatthias Brugger
Add support for random number generator RNG200. This is for example found on RPi4. Signed-off-by: Matthias Brugger <[email protected]> Tested-by: Heinrich Schuchardt <[email protected]> Tested-by: Peter Robinson <[email protected]> [mb: adapt to new struct driver memebers] Signed-off-by: Matthias Brugger <[email protected]>
2020-12-13dm: treewide: Rename ..._platdata variables to just ..._platSimon Glass
Try to maintain some consistency between these variables by using _plat as a suffix for them. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename ofdata_to_platdata() to of_to_plat()Simon Glass
This name is far too long. Rename it to remove the 'data' bits. This makes it consistent with the platdata->plat rename. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename dev_get_platdata() to dev_get_plat()Simon Glass
Rename this to be consistent with the change from 'platdata'. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename 'platdata' variables to just 'plat'Simon Glass
We use 'priv' for private data but often use 'platdata' for platform data. We can't really use 'pdata' since that is ambiguous (it could mean private or platform data). Rename some of the latter variables to end with 'plat' for consistency. Signed-off-by: Simon Glass <[email protected]>
2020-12-13dm: treewide: Rename auto_alloc_size members to be shorterSimon Glass
This construct is quite long-winded. In earlier days it made some sense since auto-allocation was a strange concept. But with driver model now used pretty universally, we can shorten this to 'auto'. This reduces verbosity and makes it easier to read. Coincidentally it also ensures that every declaration is on one line, thus making dtoc's job easier. Signed-off-by: Simon Glass <[email protected]>
2020-10-22rng: Add Qualcomm MSM PRNG driverRobert Marko
Add support for the hardware pseudo random number generator found in Qualcomm SoC-s. Signed-off-by: Robert Marko <[email protected]> Cc: Luka Perkov <[email protected]>
2020-09-28rng: meson: make core clock optionalNeil Armstrong
This fixes HWRNG support on Amlogic GXL, GXM, G12A, G12B & SM1 based boards dues to the lack of the core clock in the device tree. It was reported breaking EFI boot in the Linux EFI stub, because the EFI_RNG_PROTOCOL didn't check for the RNG device presence before installing itself. The Linux amlogic,meson-rng.yaml doesn't mandate the core clock, this the clock should be ignores if not present. Nevertheless, the clock should be present and this should be fixed on the Linux meson-gxl.dtsi & meson-g12-common.dtsi then synced with U-Boot. The change has been tested on a Khadas VIM3, which uses the common meson-g12-common.dtsi like the Odroid-C4 & Odroid-N2 in Scott's report, along with the RNG cmd. Cc: Heinrich Schuchardt <[email protected]> Reported-by: Scott K Logan <[email protected]> Fixes: bc40eb278b ("drivers/rng: add Amlogic hardware RNG driver") Signed-off-by: Neil Armstrong <[email protected]> Tested-by: Scott K Logan <[email protected]> Signed-off-by: Neil Armstrong <[email protected]>
2020-09-18rng: stm32mp1: use log() instead of printf()Heinrich Schuchardt
The logging system provides flexible filtering and enhanced output. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Sughosh Ganu <[email protected]>
2020-05-18common: Drop linux/bitops.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop linux/delay.h from common headerSimon Glass
Move this uncommon header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop log.h from common headerSimon Glass
Move this header out of the common header. Signed-off-by: Simon Glass <[email protected]>
2020-05-18common: Drop net.h from common headerSimon Glass
Move this header out of the common header. Network support is used in quite a few places but it still does not warrant blanket inclusion. Note that this net.h header itself has quite a lot in it. It could be split into the driver-mode support, functions, structures, checksumming, etc. Signed-off-by: Simon Glass <[email protected]>
2020-04-29rockchip: rng: Add a driver for random number generator(rng) deviceLin Jinhan
Add a driver for the rng device found on rockchip platforms. Support rng module of crypto v1 and crypto v2. Signed-off-by: Lin Jinhan <[email protected]> Tested-by: Peter Robinson <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2020-03-11drivers/rng: add Amlogic hardware RNG driverHeinrich Schuchardt
Add support for the hardware random number generator of Amlogic SOCs. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Reviewed-by: Sughosh Ganu <[email protected]>
2020-03-11drivers/rng: simplify KconfigHeinrich Schuchardt
For all sandbox systems with DM_RNG we enable RNG_SANDBOX. So we can simply set the default to yes. All rng drivers depend on DM_RNG. Use a single 'if' instead of individual dependencies. Now 'make menuconfig' shows the individual drivers neatly indented under the DM_RNG entry. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Sughosh Ganu <[email protected]>
2020-03-02stm32mp1: rng: remove superfluous assignmentHeinrich Schuchardt
We should not assign a value that is overwritten before use. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Sughosh Ganu <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2020-01-25lib: Kconfig dependencies for pseudo-random libraryHeinrich Schuchardt
drivers/rng/sandbox_rng.c requires rand() to be defined but configuration option CONFIG_CONFIG_LIB_RAND selected in drivers/rng/Kconfig does not exist. test/lib/test_aes.c requires rand() to be defined. Fix the selection criteria for choice "Pseudo-random library support type". Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-01-07sandbox: rng: Add a random number generator(rng) driverSughosh Ganu
Add a sandbox driver for random number generation. Mostly aimed at providing a unit test for rng uclass. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-01-07stm32mp1: rng: Add a driver for random number generator(rng) deviceSughosh Ganu
Add a driver for the rng device found on stm32mp1 platforms. The driver provides a routine for reading the random number seed from the hardware device. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Acked-by: Patrick Delaunay <[email protected]> Remove a superfluous blank line Signed-off-by: Heinrich Schuchardt <[email protected]>
2020-01-07dm: rng: Add random number generator(rng) uclassSughosh Ganu
Add a uclass for reading a random number seed from a random number generator device. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>