1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3 * Copyright (c) 2022, Linaro Limited
4 */
5
6 #include <dm.h>
7 #include <rng.h>
8 #include <tpm_api.h>
9
rng_tpm_random_read(struct udevice * dev,void * data,size_t count)10 static int rng_tpm_random_read(struct udevice *dev, void *data, size_t count)
11 {
12 return tpm_get_random(dev_get_parent(dev), data, count);
13 }
14
15 static const struct dm_rng_ops tpm_rng_ops = {
16 .read = rng_tpm_random_read,
17 };
18
19 U_BOOT_DRIVER(tpm_rng) = {
20 .name = "tpm-rng",
21 .id = UCLASS_RNG,
22 .ops = &tpm_rng_ops,
23 };
24