tpm: Add a proper Kconfig option for crc8 in SPL
authorSimon Glass <sjg@chromium.org>
Sat, 7 Jan 2023 21:57:20 +0000 (14:57 -0700)
committerSimon Glass <sjg@chromium.org>
Wed, 18 Jan 2023 18:49:13 +0000 (11:49 -0700)
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
lib/Makefile

index def36f2..36d3cf9 100644 (file)
@@ -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,23 @@ 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"
+       depends 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
index d77b33e..a282e40 100644 (file)
@@ -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/