dm: rng: Add random number generator(rng) uclass

Add a uclass for reading a random number seed from a random number
generator device.

Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
Reviewed-by: Patrice Chotard <patrice.chotard@st.com>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Sughosh Ganu 2019-12-28 23:58:27 +05:30 committed by Heinrich Schuchardt
parent 8391f95549
commit a248768400
7 changed files with 73 additions and 0 deletions

33
include/rng.h Normal file
View file

@ -0,0 +1,33 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright (c) 2019, Linaro Limited
*/
#if !defined _RNG_H_
#define _RNG_H_
struct udevice;
/**
* dm_rng_read() - read a random number seed from the rng device
* @buffer: input buffer to put the read random seed into
* @size: number of bytes of random seed read
*
* Return: 0 if OK, -ve on error
*/
int dm_rng_read(struct udevice *dev, void *buffer, size_t size);
/* struct dm_rng_ops - Operations for the hwrng uclass */
struct dm_rng_ops {
/**
* @read() - read a random number seed
*
* @data: input buffer to read the random seed
* @max: total number of bytes to read
*
* Return: 0 if OK, -ve on error
*/
int (*read)(struct udevice *dev, void *data, size_t max);
};
#endif /* _RNG_H_ */