aboutsummaryrefslogtreecommitdiff
path: root/drivers/rng/tpm_rng.c
blob: 1a5e9e2e4b4d5e44fbce175c3052ef96da0742e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Copyright (c) 2022, Linaro Limited
 */

#include <dm.h>
#include <rng.h>
#include <tpm_api.h>

static int rng_tpm_random_read(struct udevice *dev, void *data, size_t count)
{
	return tpm_get_random(dev_get_parent(dev), data, count);
}

static const struct dm_rng_ops tpm_rng_ops = {
	.read = rng_tpm_random_read,
};

U_BOOT_DRIVER(tpm_rng) = {
	.name	= "tpm-rng",
	.id	= UCLASS_RNG,
	.ops	= &tpm_rng_ops,
};