]> git.ipfire.org Git - thirdparty/u-boot.git/blame - include/rng.h
imx: imxrt1050-evk: Add support for SPI flash booting
[thirdparty/u-boot.git] / include / rng.h
CommitLineData
a2487684
SG
1// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (c) 2019, Linaro Limited
4 */
5
6#if !defined _RNG_H_
7#define _RNG_H_
8
9struct udevice;
10
11/**
12 * dm_rng_read() - read a random number seed from the rng device
a2487684 13 *
c7ff87e0
HS
14 * The function blocks until the requested number of bytes is read.
15 *
16 * @dev: random number generator device
17 * @buffer: input buffer to put the read random seed into
18 * @size: number of random bytes to read
19 * Return: 0 if OK, -ve on error
a2487684
SG
20 */
21int dm_rng_read(struct udevice *dev, void *buffer, size_t size);
22
c7ff87e0
HS
23/**
24 * struct dm_rng_ops - operations for the hwrng uclass
25 *
26 * This structures contains the function implemented by a hardware random
27 * number generation device.
28 */
a2487684
SG
29struct dm_rng_ops {
30 /**
c7ff87e0 31 * @read: read a random bytes
a2487684 32 *
c7ff87e0 33 * The function blocks until the requested number of bytes is read.
a2487684 34 *
c7ff87e0
HS
35 * @read.dev: random number generator device
36 * @read.data: input buffer to read the random seed into
37 * @read.max: number of random bytes to read
38 * @read.Return: 0 if OK, -ve on error
a2487684
SG
39 */
40 int (*read)(struct udevice *dev, void *data, size_t max);
41};
42
43#endif /* _RNG_H_ */