
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@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