[PATCH 03/14] tpm: Add a proper Kconfig option for crc8 in SPL
Pali Rohár
pali at kernel.org
Thu Dec 22 00:10:46 CET 2022
On Wednesday 21 December 2022 16:08:17 Simon Glass wrote:
> The current approach is a bit of a hack and only works for the tpm
> subsystem. Add a Kconfig so that crc8 can be enabled in SPL for other
> purposes.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> lib/Kconfig | 17 +++++++++++++++++
> lib/Makefile | 3 ++-
> 2 files changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/lib/Kconfig b/lib/Kconfig
> index def36f275ce..b51455a5f77 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -422,6 +422,7 @@ config TPM
> config SPL_TPM
> bool "Trusted Platform Module (TPM) Support in SPL"
> depends on SPL_DM
> + imply SPL_CRC8
> help
> This enables support for TPMs which can be used to provide security
> features for your board. The TPM can be connected via LPC or I2C
> @@ -617,6 +618,22 @@ config SPL_MD5
> security applications, but it can be useful for providing a quick
> checksum of a block of data.
>
> +config CRC8
> + def_bool y
> + help
> + Enables CRC8 support in U-Boot. This is normally required. CRC8 is
> + a simple and fast checksumming algorithm which does a bytewise
> + checksum with feedback to produce an 8-bit result. The code is small
> + and it does not require a lookup table (unlike CRC32).
> +
> +config SPL_CRC8
> + bool "Support CRC8 in SPL"
Should be there some symbol dependency on SPL?
> + help
> + Enables CRC8 support in SPL. This is not normally required. CRC8 is
> + a simple and fast checksumming algorithm which does a bytewise
> + checksum with feedback to produce an 8-bit result. The code is small
> + and it does not require a lookup table (unlike CRC32).
> +
> config CRC32
> def_bool y
> help
> diff --git a/lib/Makefile b/lib/Makefile
> index d77b33e7f48..a282e40258c 100644
> --- a/lib/Makefile
> +++ b/lib/Makefile
> @@ -57,12 +57,13 @@ endif
>
> obj-$(CONFIG_$(SPL_TPL_)TPM) += tpm-common.o
> ifeq ($(CONFIG_$(SPL_TPL_)TPM),y)
> -obj-y += crc8.o
> obj-$(CONFIG_TPM) += tpm_api.o
> obj-$(CONFIG_TPM_V1) += tpm-v1.o
> obj-$(CONFIG_TPM_V2) += tpm-v2.o
> endif
>
> +obj-$(CONFIG_$(SPL_TPL_)CRC8) += crc8.o
> +
> obj-y += crypto/
>
> obj-$(CONFIG_$(SPL_TPL_)GENERATE_ACPI_TABLE) += acpi/
> --
> 2.39.0.314.g84b9a713c41-goog
>
More information about the U-Boot
mailing list