diff options
author | Tom Rini <trini@konsulko.com> | 2022-08-05 08:01:32 -0400 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-08-05 08:01:32 -0400 |
commit | 46b5c8ed017958fc387ab86c71ae6c90abb6793c (patch) | |
tree | 4162612e16af05f7ed57a461207af988fd8e5815 /drivers/rng/tpm_rng.c | |
parent | ea2997ed2d1d2a24f598f368de441530c8dba7a2 (diff) | |
parent | de70619dd3db08e4a1ac881801d3fab979408fd3 (diff) |
Merge tag 'tpm-030822' of https://source.denx.de/u-boot/custodians/u-boot-tpm
EFI_RNG_PROTOCOL with a TPM
Diffstat (limited to 'drivers/rng/tpm_rng.c')
-rw-r--r-- | drivers/rng/tpm_rng.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/rng/tpm_rng.c b/drivers/rng/tpm_rng.c new file mode 100644 index 0000000000..1a5e9e2e4b --- /dev/null +++ b/drivers/rng/tpm_rng.c @@ -0,0 +1,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, +}; |