Simon and I recently worked on killing a bunch extra definitions. One of the side-effects is that certain hash algorithms won't work in SPL when used in the context of FIT verification.
For example, in FIT verification, CONFIG_IS_ENABLED(SHA256) is used (good), but there is no corresponding CONFIG_SPL_SHA256 (bad). This will always be false for SPL, hence certain "hash" algos are broken. This series resolves the selection by replacing the broken selection with hash_lookup_algo(), which does not have the aforementioned problem. This at the very least allows 'algo = "sha256"' FIT nodes to work in SPL. This series does not attempt to add individual SHA/CRC/MD5 configs for SPL. Hash algo selection for SPL has been problematic even before. This series is meant as an emergency fix, so it does not attempt to tackle general refactoring issues. Changes since v1: - Taken in all of Tom's fixes from WIP/30Aug2021 branch - CMD_MVEBU_BUBT: select SHA256 if ARMADA_3700 (sha256_update() reference) - fsl: FSL_CAAM: imply SPL_CRYPTO (Fixes undefined reference to hw_sha1) - Add MD5 to hash_algos[] (Fixes "Can't add hashes to FIT: -93") Alexandru Gagniuc (6): common: Remove unused CONFIG_FIT_SHAxxx selectors lib: Drop SHA512_ALGO in lieu of SHA512 common/spl: Drop [ST]PL_HASH_SUPPORT in favor of [ST]PL_HASH common: Move MD5 hash to hash_algo[] array. image: Drop if/elseif hash selection in calculate_hash() image: Drop IMAGE_ENABLE_{MD5, CRC32} #defines arch/arm/mach-socfpga/Kconfig | 2 +- board/freescale/common/Kconfig | 1 + cmd/mvebu/Kconfig | 1 + common/Kconfig.boot | 32 +-------- common/Makefile | 4 +- common/hash.c | 13 ++++ common/image-fit.c | 45 ++++++------- common/spl/Kconfig | 65 +------------------ ...s1021atwr_sdcard_ifc_SECURE_BOOT_defconfig | 1 - configs/ls1043ardb_nand_SECURE_BOOT_defconfig | 1 - .../ls1043ardb_sdcard_SECURE_BOOT_defconfig | 1 - .../ls1046ardb_sdcard_SECURE_BOOT_defconfig | 1 - ...1088ardb_sdcard_qspi_SECURE_BOOT_defconfig | 1 - configs/mt8516_pumpkin_defconfig | 2 +- drivers/crypto/fsl/Kconfig | 2 + include/configs/xilinx_zynqmp.h | 2 +- include/image.h | 24 +------ include/u-boot/md5.h | 6 +- lib/Kconfig | 12 ++-- lib/Makefile | 4 +- lib/crypt/Kconfig | 2 +- lib/efi_loader/Kconfig | 2 +- lib/md5.c | 4 +- lib/sha512.c | 2 - 24 files changed, 59 insertions(+), 171 deletions(-) -- 2.31.1