When build U-Boot SPL, meet an issue of undefined reference to
'crc7' for drivers/mmc/mmc_spi.c, so let's compile crc7.c when
CONFIG_MMC_SPI selected.

Signed-off-by: Pragnesh Patel <pragnesh.pa...@sifive.com>
Reviewed-by: Jagan Teki <ja...@amarulasolutions.com>
Reviewed-by: Bin Meng <bmeng...@gmail.com>
---
 common/spl/Kconfig  | 6 ++++++
 drivers/mmc/Kconfig | 1 +
 lib/Makefile        | 1 +
 3 files changed, 8 insertions(+)

diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index ef5bf66696..d1f0e6bc4c 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -401,6 +401,12 @@ config SPL_CRC32_SUPPORT
          for detected accidental image corruption. For secure applications you
          should consider SHA1 or SHA256.
 
+config SPL_CRC7_SUPPORT
+       bool "Support CRC7"
+       help
+         Enable CRC7 hashing for drivers which are using in SPL.
+         This is a 32-bit checksum value that can be used to verify images.
+
 config SPL_MD5_SUPPORT
        bool "Support MD5"
        depends on SPL_FIT
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
index 8f0df568b9..139599072a 100644
--- a/drivers/mmc/Kconfig
+++ b/drivers/mmc/Kconfig
@@ -49,6 +49,7 @@ if MMC
 config MMC_SPI
        bool "Support for SPI-based MMC controller"
        depends on DM_MMC && DM_SPI
+       select SPL_CRC7_SUPPORT if SPL
        help
          This selects SPI-based MMC controllers.
          If you have an MMC controller on a SPI bus, say Y here.
diff --git a/lib/Makefile b/lib/Makefile
index c6f862b0c2..fcd934857f 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -80,6 +80,7 @@ endif
 
 ifdef CONFIG_SPL_BUILD
 obj-$(CONFIG_SPL_YMODEM_SUPPORT) += crc16.o
+obj-$(CONFIG_SPL_CRC7_SUPPORT) += crc7.o
 obj-$(CONFIG_$(SPL_TPL_)HASH_SUPPORT) += crc16.o
 obj-y += net_utils.o
 endif
-- 
2.17.1

Reply via email to