[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