Hash error when booting FIT image

How does the issue manifest

Starting from U-boot 2021.04 released in Linux4SAM 2021.04, you could notice the following error when trying to boot the FIT image:

U-Boot 2021.04-linux4sam-2021.04-rc3-00005-gf6976dd95f (Jun 25 2021 - 07:37:44 +0530)

CPU: SAMA5D29-CN   
Crystal frequency:       12 MHz
CPU clock        :      498 MHz
Master clock     :      166 MHz
DRAM:  512 MiB
MMC:   sdio-host@a0000000: 0, sdio-host@b0000000: 1
Loading Environment from FAT... OK
In:    serial@f8020000
Out:   serial@f8020000
Err:   serial@f8020000
Net:   eth0: ethernet@f8008000
Hit any key to stop autoboot:  0
4723628 bytes read in 284 ms (15.9 MiB/s)
## Loading kernel from FIT Image at 24000000 ...
    Using 'kernel_dtb' configuration
    Trying 'kernel@1' kernel subimage
      Description:  Linux4SAM Linux kernel
      Type:         Kernel Image
      Compression:  uncompressed
      Data Start:   0x240000e0
      Data Size:    4654984 Bytes = 4.4 MiB
      Architecture: ARM
      OS:           Linux
      Load Address: 0x22000000
      Entry Point:  0x22000000
      Hash algo:    crc32
      Hash value:   ef9dca8e
      Hash algo:    sha1
      Hash value:   87974e6f3452fde4628039cdaf6dbe1ea7585f4f
    Verifying Hash Integrity ... error!
Node name contains @ in 'kernel@1' image node
Bad Data Hash
ERROR: can't get kernel image!

Cause of the issue

U-boot has changed the way the configuration and image names inside the ITB file are treated.

Upstream commit 79af75f777 ("fit: Don't allow verification of images with @ nodes") has stopped the possibility of having the '@' character inside image names.

Solution

You must update your dt-overlay-at91 tree to at least linux4sam-2021.04 version.

The commit that fixes this problem is : this one